diff -Nru appstream-0.12.10/CODE_OF_CONDUCT.md appstream-0.14.5/CODE_OF_CONDUCT.md --- appstream-0.12.10/CODE_OF_CONDUCT.md 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/CODE_OF_CONDUCT.md 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,77 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to make participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, sex characteristics, gender identity and expression, +level of experience, education, socio-economic status, nationality, personal +appearance, race, religion, or sexual identity and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or + advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies within all project spaces, and it also applies when +an individual is representing the project or its community in public spaces. +Examples of representing a project or community include using an official +project e-mail address, posting via an official social media account, or acting +as an appointed representative at an online or offline event. Representation of +a project may be further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at appstream@lists.freedesktop.org (public list) +or the team lead in private at matthias@tenstral.net. All complaints will be reviewed +and investigated and will result in a response that is deemed necessary and +appropriate to the circumstances. The project team is obligated to maintain +confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see +https://www.contributor-covenant.org/faq diff -Nru appstream-0.12.10/compose/appstream-compose.gresource.xml appstream-0.14.5/compose/appstream-compose.gresource.xml --- appstream-0.12.10/compose/appstream-compose.gresource.xml 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/compose/appstream-compose.gresource.xml 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,6 @@ + + + + pangrams/en.txt + + diff -Nru appstream-0.12.10/compose/appstream-compose.h appstream-0.14.5/compose/appstream-compose.h --- appstream-0.12.10/compose/appstream-compose.h 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/compose/appstream-compose.h 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,46 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2012-2021 Matthias Klumpp + * + * Licensed under the GNU Lesser General Public License Version 2.1 + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 2.1 of the license, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +#ifndef __APPSTREAM_COMPOSE_H +#define __APPSTREAM_COMPOSE_H + +#ifndef I_KNOW_THE_APPSTREAM_COMPOSE_API_IS_SUBJECT_TO_CHANGE +#error You have to define I_KNOW_THE_APPSTREAM_COMPOSE_API_IS_SUBJECT_TO_CHANGE +#endif + +#define __APPSTREAM_COMPOSE_H_INSIDE__ + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#undef __APPSTREAM_COMPOSE_H_INSIDE__ + +#endif /* __APPSTREAM_COMPOSE_H */ diff -Nru appstream-0.12.10/compose/asc-canvas.c appstream-0.14.5/compose/asc-canvas.c --- appstream-0.12.10/compose/asc-canvas.c 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/compose/asc-canvas.c 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,397 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2016-2021 Matthias Klumpp + * + * Licensed under the GNU Lesser General Public License Version 2.1 + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 2.1 of the license, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +/** + * SECTION:asc-canvas + * @short_description: Draw text and render SVG canvass. + * @include: appstream-compose.h + */ + +#include "config.h" +#include "asc-canvas.h" + +#include +#include +#include + +#include "asc-font-private.h" +#include "asc-image.h" + +struct _AscCanvas +{ + GObject parent_instance; +}; + +typedef struct +{ + cairo_t *cr; + cairo_surface_t *srf; + + gint width; + gint height; +} AscCanvasPrivate; + +G_DEFINE_TYPE_WITH_PRIVATE (AscCanvas, asc_canvas, G_TYPE_OBJECT) +#define GET_PRIVATE(o) (asc_canvas_get_instance_private (o)) + +/** + * asc_canvas_error_quark: + * + * Return value: An error quark. + **/ +GQuark +asc_canvas_error_quark (void) +{ + static GQuark quark = 0; + if (!quark) + quark = g_quark_from_static_string ("AscCanvasError"); + return quark; +} + +static void +asc_canvas_finalize (GObject *object) +{ + AscCanvas *canvas = ASC_CANVAS (object); + AscCanvasPrivate *priv = GET_PRIVATE (canvas); + + if (priv->cr != NULL) + cairo_destroy (priv->cr); + if (priv->srf != NULL) + cairo_surface_destroy (priv->srf); + + G_OBJECT_CLASS (asc_canvas_parent_class)->finalize (object); +} + +static void +asc_canvas_init (AscCanvas *canvas) +{ +} + +static void +asc_canvas_class_init (AscCanvasClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + object_class->finalize = asc_canvas_finalize; +} + +/** + * asc_canvas_new: + * + * Creates a new #AscFont. + * + * Returns: (transfer full): an #AscCanvas + **/ +AscCanvas* +asc_canvas_new (gint width, gint height) +{ + AscCanvasPrivate *priv; + AscCanvas *canvas = ASC_CANVAS (g_object_new (ASC_TYPE_CANVAS, NULL)); + priv = GET_PRIVATE (canvas); + + priv->srf = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, width, height); + priv->cr = cairo_create (priv->srf); + + priv->width = width; + priv->height = height; + + return canvas; +} + +/** + * asc_canvas_get_width: + * @canvas: an #AscCanvas instance. + * + * Gets the canvas width. + **/ +guint +asc_canvas_get_width (AscCanvas *canvas) +{ + AscCanvasPrivate *priv = GET_PRIVATE (canvas); + return priv->width; +} + +/** + * asc_canvas_get_height: + * @canvas: an #AscCanvas instance. + * + * Gets the canvas height. + **/ +guint +asc_canvas_get_height (AscCanvas *canvas) +{ + AscCanvasPrivate *priv = GET_PRIVATE (canvas); + return priv->height; +} + +/** + * asc_canvas_render_svg: + * @canvas: an #AscCanvas instance. + * @stream: SVG data input stream. + * @error: A #GError or %NULL + * + * Render an SVG graphic from the SVG data provided. + **/ +gboolean +asc_canvas_render_svg (AscCanvas *canvas, GInputStream *stream, GError **error) +{ + AscCanvasPrivate *priv = GET_PRIVATE (canvas); + RsvgHandle *handle = NULL; + RsvgDimensionData dims; + gboolean ret = FALSE; + double w, h; + + /* NOTE: unfortunately, Cairo/RSvg may use Fontconfig internally, so + * we need to lock this down since a parallel-processed font + * might need to access this too. */ + g_autoptr(GMutexLocker) locker = g_mutex_locker_new (&fontconfig_mutex); + + handle = rsvg_handle_new_from_stream_sync (stream, + NULL, + RSVG_HANDLE_FLAGS_NONE, + NULL, + error); + if (handle == NULL) + goto out; + + rsvg_handle_get_dimensions (handle, &dims); + w = (double) cairo_image_surface_get_width (priv->srf); + h = (double) cairo_image_surface_get_height (priv->srf); + + /* cairo_translate (cr, (w - dims.width) / 2, (h - dims.height) / 2); */ + cairo_scale (priv->cr, w / dims.width, h / dims.height); + + cairo_save (priv->cr); + if (!rsvg_handle_render_cairo (handle, priv->cr)) { + cairo_restore (priv->cr); + g_set_error_literal (error, + ASC_CANVAS_ERROR, + ASC_CANVAS_ERROR_DRAWING, + "SVG graphic rendering failed."); + goto out; + } + ret = TRUE; + +out: + if (handle != NULL) + g_object_unref (handle); + return ret; +} + +/** + * asc_canvas_draw_text_line: + * @canvas: an #AscCanvas instance. + * @font: an #AscFont to use for drawing the text. + * @border_width: Border with around the text, set to -1 to use defaults. + * @error: A #GError or %NULL + * + * Draw a simple line of text without linebreaks to fill the canvas. + **/ +gboolean +asc_canvas_draw_text_line (AscCanvas *canvas, AscFont *font, const gchar *text, gint border_width, GError **error) +{ + AscCanvasPrivate *priv = GET_PRIVATE (canvas); + cairo_font_face_t *cff = NULL; + cairo_status_t status; + cairo_text_extents_t te; + gint text_size; + gboolean ret = FALSE; + g_autoptr(GMutexLocker) locker = g_mutex_locker_new (&fontconfig_mutex); + + /* set default value */ + if (border_width < 0) + border_width = 4; + + if (text == NULL) { + g_set_error_literal (error, + ASC_CANVAS_ERROR, + ASC_CANVAS_ERROR_FAILED, + "Can not draw NULL string."); + return FALSE; + } + + cff = cairo_ft_font_face_create_for_ft_face (asc_font_get_ftface (font), FT_LOAD_DEFAULT); + + /* set font face for Cairo surface */ + status = cairo_font_face_status (cff); + if (status != CAIRO_STATUS_SUCCESS) { + g_set_error (error, + ASC_CANVAS_ERROR, + ASC_CANVAS_ERROR_FONT, + "Could not set font face for Cairo: %i", status); + goto out; + } + cairo_set_font_face (priv->cr, cff); + + text_size = 128; + while (text_size-- > 0) { + cairo_set_font_size (priv->cr, text_size); + cairo_text_extents (priv->cr, text, &te); + if (te.width <= 0.01f || te.height <= 0.01f) + continue; + if (te.width < priv->width - (border_width * 2) && + te.height < priv->height - (border_width * 2)) + break; + } + + /* draw text */ + cairo_move_to (priv->cr, + (priv->width / 2) - te.width / 2 - te.x_bearing, + (priv->height / 2) - te.height / 2 - te.y_bearing); + cairo_set_source_rgb (priv->cr, 0.0, 0.0, 0.0); + cairo_show_text (priv->cr, text); + + cairo_save (priv->cr); + ret = TRUE; + +out: + if (cff != NULL) + cairo_font_face_destroy (cff); + return ret; +} + +/** + * asc_canvas_draw_text: + * @canvas: an #AscCanvas instance. + * @font: an #AscFont to use for drawing the text. + * @border_width: Border with around the text (set to -1 to use defaults). + * @line_pad: Padding between lines (set to -1 to use defaults). + * @error: A #GError or %NULL + * + * Draw a longer text with linebreaks. + **/ +gboolean +asc_canvas_draw_text (AscCanvas *canvas, AscFont *font, const gchar *text, gint border_width, gint line_pad, GError **error) +{ + AscCanvasPrivate *priv = GET_PRIVATE (canvas); + gboolean ret = FALSE; + cairo_font_face_t *cff = NULL; + cairo_status_t status; + g_auto(GStrv) lines = NULL; + guint lines_len; + guint line_padding; + const gchar *longest_line; + gint text_size; + double x_pos, y_pos, te_height; + g_autoptr(GMutexLocker) locker = g_mutex_locker_new (&fontconfig_mutex); + + /* set default values */ + if (border_width < 0) + border_width = 4; + if (line_pad < 0) + line_pad = 2; + + if (text == NULL) { + g_set_error_literal (error, + ASC_CANVAS_ERROR, + ASC_CANVAS_ERROR_FAILED, + "Can not draw NULL string."); + return FALSE; + } + + cff = cairo_ft_font_face_create_for_ft_face (asc_font_get_ftface (font), FT_LOAD_DEFAULT); + /* set font face for Cairo surface */ + status = cairo_font_face_status (cff); + if (status != CAIRO_STATUS_SUCCESS) { + g_set_error (error, + ASC_CANVAS_ERROR, + ASC_CANVAS_ERROR_FONT, + "Could not set font face for Cairo: %i", status); + goto out; + } + cairo_set_font_face (priv->cr, cff); + + /* calculate best font size */ + line_padding = line_pad; + lines = g_strsplit (text, "\n", -1); + lines_len = g_strv_length (lines); + if (lines_len <= 1) { + line_padding = 0; + longest_line = text; + } else { + guint ll = 0; + longest_line = lines[0]; + for (guint i = 0; lines[i] != NULL; i++) { + guint l_len = strlen (lines[i]); + if (l_len > ll) { + longest_line = lines[i]; + ll = l_len; + } + } + } + + cairo_text_extents_t te; + text_size = 128; + while (text_size-- > 0) { + cairo_set_font_size (priv->cr, text_size); + cairo_text_extents (priv->cr, longest_line, &te); + if (te.width <= 0.01f || te.height <= 0.01f) + continue; + if (te.width < priv->width - (border_width * 2) && + (te.height * lines_len + line_padding) < priv->height - (border_width * 2)) + break; + } + + /* center text and draw it */ + x_pos = (priv->width / 2.0) - te.width / 2 - te.x_bearing; + te_height = (double) te.height * lines_len + line_padding * ((double) lines_len - 1); + y_pos = (te_height / 2) - te_height / 2 - te.y_bearing + border_width; + cairo_move_to (priv->cr, x_pos, y_pos); + cairo_set_source_rgb (priv->cr, 0.0, 0.0, 0.0); + + for (guint i = 0; lines[i] != NULL; i++) { + cairo_show_text (priv->cr, lines[i]); + y_pos += te.height + line_padding; + cairo_move_to (priv->cr, x_pos, y_pos); + } + + cairo_save (priv->cr); + ret = TRUE; + +out: + if (cff != NULL) + cairo_font_face_destroy (cff); + return ret; +} + +/** + * asc_canvas_save_png: + * @canvas: an #AscCanvas instance. + * @fname: Filename to save to. + * @error: A #GError or %NULL + * + * Save canvas to PNG file. + **/ +gboolean +asc_canvas_save_png (AscCanvas *canvas, const gchar *fname, GError **error) +{ + AscCanvasPrivate *priv = GET_PRIVATE (canvas); + cairo_status_t status; + + status = cairo_surface_write_to_png (priv->srf, fname); + if (status != CAIRO_STATUS_SUCCESS) { + g_set_error (error, + ASC_CANVAS_ERROR, + ASC_CANVAS_ERROR_FONT, + "Could not save canvas to PNG: %i", status); + return FALSE; + } + + return asc_optimize_png (fname, error); +} diff -Nru appstream-0.12.10/compose/asc-canvas.h appstream-0.14.5/compose/asc-canvas.h --- appstream-0.12.10/compose/asc-canvas.h 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/compose/asc-canvas.h 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,81 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2016-2021 Matthias Klumpp + * + * Licensed under the GNU Lesser General Public License Version 2.1 + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 2.1 of the license, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +#if !defined (__APPSTREAM_COMPOSE_H) && !defined (ASC_COMPILATION) +#error "Only can be included directly." +#endif +#pragma once + +#include +#include + +#include "asc-font.h" + +G_BEGIN_DECLS + +#define ASC_TYPE_CANVAS (asc_canvas_get_type ()) +G_DECLARE_FINAL_TYPE (AscCanvas, asc_canvas, ASC, CANVAS, GObject) + +/** + * AscCanvasError: + * @ASC_CANVAS_ERROR_FAILED: Generic failure. + * @ASC_CANVAS_ERROR_DRAWING: Drawing operation failed. + * @ASC_CANVAS_ERROR_FONT: Issue with font or font selection. + * + * A drawing error. + **/ +typedef enum { + ASC_CANVAS_ERROR_FAILED, + ASC_CANVAS_ERROR_DRAWING, + ASC_CANVAS_ERROR_FONT, + /*< private >*/ + ASC_CANVAS_ERROR_LAST +} AscCanvasError; + +#define ASC_CANVAS_ERROR asc_canvas_error_quark () +GQuark asc_canvas_error_quark (void); + +AscCanvas *asc_canvas_new (gint width, + gint height); + +guint asc_canvas_get_width (AscCanvas *canvas); +guint asc_canvas_get_height (AscCanvas *canvas); + +gboolean asc_canvas_render_svg (AscCanvas* canvas, + GInputStream *stream, + GError** error); + +gboolean asc_canvas_draw_text_line (AscCanvas *canvas, + AscFont *font, + const gchar *text, + gint border_width, + GError **error); +gboolean asc_canvas_draw_text (AscCanvas *canvas, + AscFont *font, + const gchar *text, + gint border_width, + gint line_pad, + GError **error); + +gboolean asc_canvas_save_png (AscCanvas *canvas, + const gchar *fname, + GError **error); + +G_END_DECLS diff -Nru appstream-0.12.10/compose/asc-compose.c appstream-0.14.5/compose/asc-compose.c --- appstream-0.12.10/compose/asc-compose.c 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/compose/asc-compose.c 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,1578 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2016-2021 Matthias Klumpp + * + * Licensed under the GNU Lesser General Public License Version 2.1 + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 2.1 of the license, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +/** + * SECTION:asc-compose + * @short_description: Compose collection metadata easily. + * @include: appstream-compose.h + */ + +#include "config.h" +#include "asc-compose.h" + +#include +#include + +#include "as-utils-private.h" +#include "as-yaml.h" + +#include "asc-globals-private.h" +#include "asc-utils.h" +#include "asc-hint.h" +#include "asc-result.h" + +#include "asc-utils-metainfo.h" +#include "asc-utils-l10n.h" +#include "asc-image.h" + +typedef struct +{ + GPtrArray *units; + GPtrArray *results; + + GHashTable *allowed_cids; + GRefString *prefix; + GRefString *origin; + gchar *media_baseurl; + AsFormatKind format; + guint min_l10n_percentage; + AscComposeFlags flags; + + gchar *data_result_dir; + gchar *icons_result_dir; + gchar *media_result_dir; + gchar *hints_result_dir; + + GHashTable *known_cids; + GMutex mutex; +} AscComposePrivate; + +G_DEFINE_TYPE_WITH_PRIVATE (AscCompose, asc_compose, G_TYPE_OBJECT) +#define GET_PRIVATE(o) (asc_compose_get_instance_private (o)) + +static void +asc_compose_init (AscCompose *compose) +{ + AscComposePrivate *priv = GET_PRIVATE (compose); + + priv->units = g_ptr_array_new_with_free_func (g_object_unref); + priv->results = g_ptr_array_new_with_free_func (g_object_unref); + priv->allowed_cids = g_hash_table_new_full (g_str_hash, + g_str_equal, + g_free, + NULL); + priv->known_cids = g_hash_table_new_full (g_str_hash, + g_str_equal, + g_free, + NULL); + g_mutex_init (&priv->mutex); + + /* defaults */ + priv->format = AS_FORMAT_KIND_XML; + as_ref_string_assign_safe (&priv->prefix, "/usr"); + priv->min_l10n_percentage = 25; + priv->flags = ASC_COMPOSE_FLAG_VALIDATE; +} + +static void +asc_compose_finalize (GObject *object) +{ + AscCompose *compose = ASC_COMPOSE (object); + AscComposePrivate *priv = GET_PRIVATE (compose); + + g_ptr_array_unref (priv->units); + g_ptr_array_unref (priv->results); + + g_hash_table_unref (priv->allowed_cids); + g_hash_table_unref (priv->known_cids); + as_ref_string_release (priv->prefix); + as_ref_string_release (priv->origin); + g_free (priv->media_baseurl); + + g_free (priv->data_result_dir); + g_free (priv->icons_result_dir); + g_free (priv->media_result_dir); + g_free (priv->hints_result_dir); + + g_mutex_clear (&priv->mutex); + + G_OBJECT_CLASS (asc_compose_parent_class)->finalize (object); +} + +static void +asc_compose_class_init (AscComposeClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + object_class->finalize = asc_compose_finalize; +} + +/** + * asc_compose_reset: + * @compose: an #AscCompose instance. + * + * Reset the results, units and run-specific settings so the + * instance can be reused for another metadata generation run. + **/ +void +asc_compose_reset (AscCompose *compose) +{ + AscComposePrivate *priv = GET_PRIVATE (compose); + g_autoptr(GMutexLocker) locker = g_mutex_locker_new (&priv->mutex); + + g_hash_table_remove_all (priv->allowed_cids); + g_ptr_array_set_size (priv->units, 0); + g_ptr_array_set_size (priv->results, 0); + g_hash_table_remove_all (priv->known_cids); +} + +/** + * asc_compose_add_unit: + * @compose: an #AscCompose instance. + * @unit: The #AscUnit to add + * + * Add an #AscUnit as data source for metadata processing. + **/ +void +asc_compose_add_unit (AscCompose *compose, AscUnit *unit) +{ + AscComposePrivate *priv = GET_PRIVATE (compose); + /* sanity check */ + for (guint i = 0; i < priv->units->len; i++) { + if (unit == g_ptr_array_index (priv->units, i)) { + g_critical ("Not adding unit duplicate for processing!"); + return; + } + } + g_ptr_array_add (priv->units, + g_object_ref (unit)); +} + +/** + * asc_compose_add_allowed_cid: + * @compose: an #AscCompose instance. + * @component_id: The component-id to whitelist + * + * Adds a component ID to the allowlist. If the list is not empty, only + * components in the list will be added to the metadata output. + **/ +void +asc_compose_add_allowed_cid (AscCompose *compose, const gchar *component_id) +{ + AscComposePrivate *priv = GET_PRIVATE (compose); + g_hash_table_add (priv->allowed_cids, + g_strdup (component_id)); +} + +/** + * asc_compose_get_prefix: + * @compose: an #AscCompose instance. + * + * Get the directory prefix used for processing. + */ +const gchar* +asc_compose_get_prefix (AscCompose *compose) +{ + AscComposePrivate *priv = GET_PRIVATE (compose); + return priv->prefix; +} + +/** + * asc_compose_set_prefix: + * @compose: an #AscCompose instance. + * @prefix: a directory prefix, e.g. "/usr" + * + * Set the directory prefix the to-be-processed units are using. + */ +void +asc_compose_set_prefix (AscCompose *compose, const gchar *prefix) +{ + AscComposePrivate *priv = GET_PRIVATE (compose); + as_ref_string_assign_safe (&priv->prefix, prefix); +} + +/** + * asc_compose_get_origin: + * @compose: an #AscCompose instance. + * + * Get the metadata origin field. + */ +const gchar* +asc_compose_get_origin (AscCompose *compose) +{ + AscComposePrivate *priv = GET_PRIVATE (compose); + return priv->origin; +} + +/** + * asc_compose_set_origin: + * @compose: an #AscCompose instance. + * @origin: the origin. + * + * Set the metadata origin field (e.g. "debian" or "flathub") + */ +void +asc_compose_set_origin (AscCompose *compose, const gchar *origin) +{ + AscComposePrivate *priv = GET_PRIVATE (compose); + g_autofree gchar *tmp = NULL; + tmp = g_markup_escape_text (origin, -1); + as_ref_string_assign_safe (&priv->origin, tmp); +} + +/** + * asc_compose_get_format: + * @compose: an #AscCompose instance. + * + * get the format type we are generating. + */ +AsFormatKind +asc_compose_get_format (AscCompose *compose) +{ + AscComposePrivate *priv = GET_PRIVATE (compose); + return priv->format; +} + +/** + * asc_compose_set_format: + * @compose: an #AscCompose instance. + * @kind: The format, e.g. %AS_FORMAT_KIND_XML + * + * Set the format kind of the collection metadata that we should generate. + */ +void +asc_compose_set_format (AscCompose *compose, AsFormatKind kind) +{ + AscComposePrivate *priv = GET_PRIVATE (compose); + priv->format = kind; +} + +/** + * asc_compose_get_media_baseurl: + * @compose: an #AscCompose instance. + * + * Get the media base URL to be used for the generated data, + * or %NULL if this feature is not used. + */ +const gchar* +asc_compose_get_media_baseurl (AscCompose *compose) +{ + AscComposePrivate *priv = GET_PRIVATE (compose); + return priv->media_baseurl; +} + +/** + * asc_compose_set_media_baseurl: + * @compose: an #AscCompose instance. + * @url: (nullable): the media base URL. + * + * Set the media base URL for the generated metadata. Can be %NULL. + */ +void +asc_compose_set_media_baseurl (AscCompose *compose, const gchar *url) +{ + AscComposePrivate *priv = GET_PRIVATE (compose); + as_assign_string_safe (priv->media_baseurl, url); +} + +/** + * asc_compose_get_flags: + * @compose: an #AscCompose instance. + * + * Get the flags controlling compose behavior. + */ +AscComposeFlags +asc_compose_get_flags (AscCompose *compose) +{ + AscComposePrivate *priv = GET_PRIVATE (compose); + return priv->flags; +} + +/** + * asc_compose_set_flags: + * @compose: an #AscCompose instance. + * @flags: The compose flags bitfield. + * + * Set compose flags bitfield that controls the enabled features + * for this #AscCompose. + */ +void +asc_compose_set_flags (AscCompose *compose, AscComposeFlags flags) +{ + AscComposePrivate *priv = GET_PRIVATE (compose); + priv->flags = flags; +} + +/** + * asc_compose_get_data_result_dir: + * @compose: an #AscCompose instance. + * + * Get the data result directory. + */ +const gchar* +asc_compose_get_data_result_dir (AscCompose *compose) +{ + AscComposePrivate *priv = GET_PRIVATE (compose); + return priv->data_result_dir; +} + +/** + * asc_compose_set_data_result_dir: + * @compose: an #AscCompose instance. + * @dir: the metadata save location. + * + * Set an output location where generated metadata should be saved. + * If this is set to %NULL, no metadata will be saved. + */ +void +asc_compose_set_data_result_dir (AscCompose *compose, const gchar *dir) +{ + AscComposePrivate *priv = GET_PRIVATE (compose); + as_assign_string_safe (priv->data_result_dir, dir); +} + +/** + * asc_compose_get_icons_result_dir: + * @compose: an #AscCompose instance. + * + * Get the icon result directory. + */ +const gchar* +asc_compose_get_icons_result_dir (AscCompose *compose) +{ + AscComposePrivate *priv = GET_PRIVATE (compose); + return priv->icons_result_dir; +} + +/** + * asc_compose_set_icons_result_dir: + * @compose: an #AscCompose instance. + * @dir: the icon storage location. + * + * Set an output location where plain icons for the processed metadata + * are stored. + */ +void +asc_compose_set_icons_result_dir (AscCompose *compose, const gchar *dir) +{ + AscComposePrivate *priv = GET_PRIVATE (compose); + as_assign_string_safe (priv->icons_result_dir, dir); +} + +/** + * asc_compose_get_media_result_dir: + * @compose: an #AscCompose instance. + * + * Get the media result directory, that can be served on a webserver. + */ +const gchar* +asc_compose_get_media_result_dir (AscCompose *compose) +{ + AscComposePrivate *priv = GET_PRIVATE (compose); + return priv->media_result_dir; +} + +/** + * asc_compose_set_media_result_dir: + * @compose: an #AscCompose instance. + * @dir: the media storage location. + * + * Set an output location to store media (screenshots, icons, ...) that + * will be served on a webserver via the URL set as media baseurl. + */ +void +asc_compose_set_media_result_dir (AscCompose *compose, const gchar *dir) +{ + AscComposePrivate *priv = GET_PRIVATE (compose); + as_assign_string_safe (priv->media_result_dir, dir); +} + +/** + * asc_compose_get_hints_result_dir: + * @compose: an #AscCompose instance. + * + * Get hints report output directory. + */ +const gchar* +asc_compose_get_hints_result_dir (AscCompose *compose) +{ + AscComposePrivate *priv = GET_PRIVATE (compose); + return priv->hints_result_dir; +} + +/** + * asc_compose_set_hints_result_dir: + * @compose: an #AscCompose instance. + * @dir: the hints data directory. + * + * Set an output location for HTML reports of issues generated + * during a compose run. + */ +void +asc_compose_set_hints_result_dir (AscCompose *compose, const gchar *dir) +{ + AscComposePrivate *priv = GET_PRIVATE (compose); + as_assign_string_safe (priv->hints_result_dir, dir); +} + +/** + * asc_compose_get_results: + * @compose: an #AscCompose instance. + * + * Get the results of the last processing run. + * + * Returns: (transfer none) (element-type AscResult): The results + */ +GPtrArray* +asc_compose_get_results (AscCompose *compose) +{ + AscComposePrivate *priv = GET_PRIVATE (compose); + return priv->results; +} + +/** + * asc_compose_fetch_components: + * @compose: an #AscCompose instance. + * + * Get the results components extracted in the last data processing run. + * + * Returns: (transfer container) (element-type AsComponent): The components + */ +GPtrArray* +asc_compose_fetch_components (AscCompose *compose) +{ + AscComposePrivate *priv = GET_PRIVATE (compose); + GPtrArray *cpts_result = g_ptr_array_new_with_free_func (g_object_unref); + + for (guint i = 0; i < priv->results->len; i++) { + g_autoptr(GPtrArray) cpts = NULL; + AscResult *res = ASC_RESULT (g_ptr_array_index (priv->results, i)); + cpts = asc_result_fetch_components (res); + for (guint j = 0; j < cpts->len; j++) + g_ptr_array_add (cpts_result, + g_object_ref (AS_COMPONENT (g_ptr_array_index (cpts, j)))); + } + + return cpts_result; +} + +/** + * asc_compose_has_errors: + * @compose: an #AscCompose instance. + * + * Check if the last run generated any errors (which will cause metadata to be ignored). + * + * Returns: %TRUE if we had errors. + */ +gboolean +asc_compose_has_errors (AscCompose *compose) +{ + AscComposePrivate *priv = GET_PRIVATE (compose); + + for (guint i = 0; i < priv->results->len; i++) { + g_autoptr(GPtrArray) hints = NULL; + AscResult *res = ASC_RESULT (g_ptr_array_index (priv->results, i)); + hints = asc_result_fetch_hints_all (res); + for (guint j = 0; j < hints->len; j++) { + AscHint *hint = ASC_HINT (g_ptr_array_index (hints, j)); + if (asc_hint_is_error (hint)) + return TRUE; + } + } + + return FALSE; +} + +typedef struct { + AscUnit *unit; + AscResult *result; + GHashTable *files_units_map; /* no ref */ +} AscComposeTask; + +static AscComposeTask* +asc_compose_task_new (AscUnit *unit) +{ + AscComposeTask *ctask; + ctask = g_new0 (AscComposeTask, 1); + ctask->unit = g_object_ref (unit); + ctask->result = asc_result_new (); + return ctask; +} + +static void +asc_compose_task_free (AscComposeTask *ctask) +{ + g_object_unref (ctask->unit); + g_object_unref (ctask->result); + g_free (ctask); +} + +/** + * asc_compose_find_icon_filename: + */ +static gchar* +asc_compose_find_icon_filename (AscCompose *compose, + AscUnit *unit, + const gchar *icon_name, + guint icon_size, + guint icon_scale) +{ + AscComposePrivate *priv = GET_PRIVATE (compose); + guint min_size_idx = 0; + guint min_ext_idx = 0; + gboolean vector_relaxed = FALSE; + const gchar *supported_ext[] = { ".png", + ".svg", + ".svgz", + "", + NULL }; + const struct { + guint size; + const gchar *size_str; + } sizes[] = { + { 48, "48x48" }, + { 32, "32x32" }, + { 64, "64x64" }, + { 96, "96x96" }, + { 128, "128x128" }, + { 256, "256x256" }, + { 512, "512x512" }, + { 0, "scalable" }, + { 0, NULL } + }; + const gchar *types[] = { "actions", + "apps", + "applets", + "categories", + "devices", + "emblems", + "emotes", + "filesystems", + "mimetypes", + "places", + "preferences", + "status", + "stock", + NULL }; + + g_return_val_if_fail (icon_name != NULL, NULL); + + /* fallbacks & sanitizations */ + if (icon_scale <= 0) + icon_scale = 1; + if (icon_size > 512) + icon_size = 512; + + /* is this an absolute path */ + if (icon_name[0] == '/') { + g_autofree gchar *tmp = NULL; + tmp = g_build_filename (priv->prefix, icon_name, NULL); + if (!asc_unit_file_exists (unit, tmp)) + return NULL; + return g_strdup (tmp); + } + + /* select minimum size */ + for (guint i = 0; sizes[i].size_str != NULL; i++) { + if (sizes[i].size >= icon_size) { + min_size_idx = i; + break; + } + } + + while (TRUE) { + /* hicolor icon theme search */ + for (guint i = min_size_idx; sizes[i].size_str != NULL; i++) { + g_autofree gchar *size = NULL; + if (icon_scale == 1) + size = g_strdup (sizes[i].size_str); + else + size = g_strdup_printf ("%s@%i", sizes[i].size_str, icon_scale); + for (guint m = 0; types[m] != NULL; m++) { + for (guint j = min_ext_idx; supported_ext[j] != NULL; j++) { + g_autofree gchar *tmp = NULL; + tmp = g_strdup_printf ("%s/share/icons/" + "hicolor/%s/%s/%s%s", + priv->prefix, + size, + types[m], + icon_name, + supported_ext[j]); + if (asc_unit_file_exists (unit, tmp)) + return g_strdup (tmp); + } + } + } + + /* breeze icon theme search, for KDE Plasma compatibility */ + for (guint i = min_size_idx; sizes[i].size_str != NULL; i++) { + g_autofree gchar *size = NULL; + if (icon_scale == 1) + size = g_strdup_printf ("%i", sizes[i].size); + else + size = g_strdup_printf ("%i@%i", sizes[i].size, icon_scale); + for (guint m = 0; types[m] != NULL; m++) { + for (guint j = min_ext_idx; supported_ext[j] != NULL; j++) { + g_autofree gchar *tmp = NULL; + tmp = g_strdup_printf ("%s/share/icons/" + "breeze/%s/%s/%s%s", + priv->prefix, + types[m], + size, + icon_name, + supported_ext[j]); + if (asc_unit_file_exists (unit, tmp)) + return g_strdup (tmp); + } + } + } + + if (vector_relaxed) { + break; + } else { + if (g_str_has_suffix (icon_name, ".png")) + break; + /* try again, searching for vector graphics that we can scale up */ + vector_relaxed = TRUE; + min_size_idx = 0; + /* start at index 1, where the SVG icons are */ + min_ext_idx = 1; + } + } + + /* failed to find any icon */ + return NULL; +} + +static void +asc_compose_process_icons (AscCompose *compose, + AscResult *cres, + AsComponent *cpt, + AscUnit *unit) +{ + AscComposePrivate *priv = GET_PRIVATE (compose); + const gint sizes[] = { 48, + 64, + 128, + -1 }; + const gint scale_factors[] = { 1, + 2, + -1 }; + GPtrArray *icons = NULL; + g_autoptr(AsIcon) stock_icon = NULL; + gboolean stock_icon_found = FALSE; + const gchar *icon_name = NULL; + + /* do nothing if we have no icons to process */ + icons = as_component_get_icons (cpt); + if (icons == NULL || icons->len == 0) + return; + + /* find a suitable stock icon as template */ + for (guint i = 0; i < icons->len; i++) { + AsIcon *icon = AS_ICON (g_ptr_array_index (icons, i)); + if (as_icon_get_kind (icon) == AS_ICON_KIND_STOCK) { + stock_icon = icon; + stock_icon_found = TRUE; + break; + } + if (as_icon_get_kind (icon) == AS_ICON_KIND_LOCAL) { + stock_icon = icon; + stock_icon_found = TRUE; + } + } + /* drop all preexisting icons */ + if (stock_icon != NULL) + stock_icon = g_object_ref (stock_icon); + g_ptr_array_set_size (as_component_get_icons (cpt), 0); + + if (!stock_icon_found) { + asc_result_add_hint_simple (cres, cpt, "no-stock-icon"); + return; + } + + icon_name = as_icon_get_name (stock_icon); + for (guint k = 0; scale_factors[k] > 0; k++) { + for (guint i = 0; sizes[i] > 0; i++) { + g_autofree gchar *icon_fname = NULL; + g_autofree gchar *res_icon_fname = NULL; + g_autofree gchar *res_icon_size_str = NULL; + g_autofree gchar *res_icon_sizedir = NULL; + g_autofree gchar *res_icon_basename = NULL; + g_autoptr(AscImage) img = NULL; + g_autoptr(AsIcon) icon = NULL; + g_autoptr(GBytes) img_bytes = NULL; + gboolean is_vector_icon = FALSE; + const void *img_data; + gsize img_len; + g_autoptr(GError) error = NULL; + icon_fname = asc_compose_find_icon_filename (compose, + unit, + icon_name, + sizes[i], + scale_factors[k]); + + if (icon_fname == NULL) { + /* only a 64x64px icon is mandatory, everything else is optional */ + if (sizes[i] == 64 && scale_factors[k] == 1) { + asc_result_add_hint (cres, cpt, + "icon-not-found", + "icon_fname", icon_name, + NULL); + return; + } + continue; + } + + is_vector_icon = g_str_has_suffix (icon_fname, ".svgz") || g_str_has_suffix (icon_fname, ".svg"); + img_bytes = asc_unit_read_data (unit, icon_fname, &error); + if (img_bytes == NULL) { + asc_result_add_hint (cres, cpt, + "file-read-error", + "fname", icon_fname, + "msg", error->message, + NULL); + return; + } + img_data = g_bytes_get_data (img_bytes, &img_len); + img = asc_image_new_from_data (img_data, img_len, + is_vector_icon? sizes[i] * scale_factors[k] : 0, + g_str_has_suffix (icon_fname, ".svgz"), + ASC_IMAGE_LOAD_FLAG_ALWAYS_RESIZE, + &error); + if (img == NULL) { + asc_result_add_hint (cres, cpt, + "file-read-error", + "fname", icon_fname, + "msg", error->message, + NULL); + return; + } + + /* we only take exact-ish size matches for 48x48px */ + if (sizes[i] == 48 && asc_image_get_width (img) > 48) + continue; + + res_icon_size_str = (scale_factors[k] == 1)? + g_strdup_printf ("%ix%i", + sizes[i], sizes[i]) + : g_strdup_printf ("%ix%i@%i", + sizes[i], sizes[i], + scale_factors[k]); + res_icon_sizedir = g_build_filename (priv->icons_result_dir, res_icon_size_str, NULL); + + g_mkdir_with_parents (res_icon_sizedir, 0755); + res_icon_basename = g_strdup_printf ("%s.png", as_component_get_id (cpt)); + res_icon_fname = g_build_filename (res_icon_sizedir, + res_icon_basename, + NULL); + + /* scale & save the image */ + g_debug ("Saving icon: %s", res_icon_fname); + if (!asc_image_save_filename (img, + res_icon_fname, + sizes[i] * scale_factors[k], sizes[i] * scale_factors[k], + ASC_IMAGE_SAVE_FLAG_OPTIMIZE, + &error)) { + asc_result_add_hint (cres, cpt, + "icon-write-error", + "fname", icon_fname, + "msg", error->message, + NULL); + return; + } + + /* create a remote reference if we have data for it */ + if (priv->media_result_dir != NULL) { + g_autofree gchar *icons_media_urlpart_dir = NULL; + g_autofree gchar *icons_media_urlpart_fname = NULL; + g_autofree gchar *icons_media_path = NULL; + g_autofree gchar *icon_media_fname = NULL; + g_autoptr(AsIcon) remote_icon = NULL; + icons_media_urlpart_dir = g_strdup_printf ("%s/%s/%s", + asc_result_gcid_for_component (cres, cpt), + "icons", + res_icon_size_str); + icons_media_urlpart_fname = g_strdup_printf ("%s/%s", + icons_media_urlpart_dir, + res_icon_basename); + icons_media_path = g_build_filename (priv->media_result_dir, + icons_media_urlpart_dir, + NULL); + icon_media_fname = g_build_filename (icons_media_path, + res_icon_basename, + NULL); + g_mkdir_with_parents (icons_media_path, 0755); + + g_debug ("Adding media pool icon: %s", icon_media_fname); + if (!as_copy_file (res_icon_fname, icon_media_fname, &error)) { + g_warning ("Unable to write media pool icon: %s", icon_media_fname); + asc_result_add_hint (cres, cpt, + "icon-write-error", + "fname", icon_fname, + "msg", error->message, + NULL); + return; + } + + /* add remote icon to metadata */ + remote_icon = as_icon_new (); + as_icon_set_kind (remote_icon, AS_ICON_KIND_REMOTE); + as_icon_set_width (remote_icon, sizes[i]); + as_icon_set_height (remote_icon, sizes[i]); + as_icon_set_scale (remote_icon, scale_factors[k]); + as_icon_set_url (remote_icon, icons_media_urlpart_fname); + as_component_add_icon (cpt, remote_icon); + } + + /* add icon to metadata */ + icon = as_icon_new (); + as_icon_set_kind (icon, AS_ICON_KIND_CACHED); + as_icon_set_width (icon, sizes[i]); + as_icon_set_height (icon, sizes[i]); + as_icon_set_scale (icon, scale_factors[k]); + as_icon_set_name (icon, res_icon_basename); + as_component_add_icon (cpt, icon); + } + } + + /* fix some stock icon mistakes and add the stock icon back */ + if (as_icon_get_kind (stock_icon) == AS_ICON_KIND_STOCK) { + g_autofree gchar *tmp = NULL; + gsize icon_name_len = strlen (icon_name); + tmp = g_strdup (icon_name); + + if (g_str_has_suffix (icon_name, ".png") || g_str_has_suffix (icon_name, ".svg")) + tmp[icon_name_len - 4] = '\0'; + else if (g_str_has_suffix (icon_name, ".svgz")) + tmp[icon_name_len - 5] = '\0'; + + as_icon_set_width (stock_icon, 0); + as_icon_set_height (stock_icon, 0); + as_icon_set_scale (stock_icon, 0); + as_icon_set_name (stock_icon, tmp); + as_component_add_icon (cpt, stock_icon); + } + +} + +/** + * as_compose_yaml_write_handler_cb: + * + * Helper function to store the emitted YAML document. + */ +static int +as_compose_yaml_write_handler_cb (void *ptr, unsigned char *buffer, size_t size) +{ + GString *str; + str = (GString*) ptr; + g_string_append_len (str, (const gchar*) buffer, size); + + return 1; +} + +static gboolean +asc_compose_component_known (AscCompose *compose, AsComponent *cpt) +{ + AscComposePrivate *priv = GET_PRIVATE (compose); + g_autoptr(GMutexLocker) locker = g_mutex_locker_new (&priv->mutex); + return g_hash_table_contains (priv->known_cids, as_component_get_id (cpt)); +} + +static void +asc_compose_process_task_cb (AscComposeTask *ctask, AscCompose *compose) +{ + AscComposePrivate *priv = GET_PRIVATE (compose); + g_autofree gchar *metainfo_dir = NULL; + g_autofree gchar *app_dir = NULL; + g_autofree gchar *share_dir = NULL; + g_autoptr(AsMetadata) mdata = NULL; + g_autoptr(AsValidator) validator = NULL; + g_autoptr(GPtrArray) mi_fnames = NULL; + g_autoptr(GHashTable) de_fname_map = NULL; + g_autoptr(GPtrArray) found_cpts = NULL; + g_autoptr(GError) error = NULL; + gboolean filter_cpts = FALSE; + GPtrArray *contents = NULL; + + /* propagate unit bundle ID */ + asc_result_set_bundle_id (ctask->result, + asc_unit_get_bundle_id (ctask->unit)); + asc_result_set_bundle_kind (ctask->result, + asc_unit_get_bundle_kind (ctask->unit)); + + /* configure metadata loader */ + mdata = as_metadata_new (); + as_metadata_set_locale (mdata, "ALL"); + as_metadata_set_format_style (mdata, AS_FORMAT_STYLE_METAINFO); + + /* create validator */ + validator = as_validator_new (); + + /* give unit a hint as to which paths we want to read */ + share_dir = g_build_filename (priv->prefix, "share", NULL); + asc_unit_add_relevant_path (ctask->unit, share_dir); + + /* open our unit for reading */ + if (!asc_unit_open (ctask->unit, &error)) { + g_warning ("Failed to open unit: %s", error->message); + return; + } + contents = asc_unit_get_contents (ctask->unit); + + /* collect interesting data for this unit */ + metainfo_dir = g_build_filename (share_dir, "metainfo", NULL); + app_dir = g_build_filename (share_dir, "applications", NULL); + mi_fnames = g_ptr_array_new_with_free_func (g_free); + de_fname_map = g_hash_table_new_full (g_str_hash, g_str_equal, + g_free, g_free); + for (guint i = 0; i < contents->len; i++) { + const gchar *fname = g_ptr_array_index (contents, i); + + if (g_str_has_prefix (fname, metainfo_dir) && + (g_str_has_suffix (fname, ".metainfo.xml") || g_str_has_suffix (fname, ".appdata.xml"))) { + g_ptr_array_add (mi_fnames, g_strdup (fname)); + continue; + } + if (g_str_has_prefix (fname, app_dir) && g_str_has_suffix (fname, ".desktop")) { + g_hash_table_insert (de_fname_map, + g_path_get_basename (fname), + g_strdup (fname)); + continue; + } + } + + /* check if we need to filter components */ + filter_cpts = g_hash_table_size (priv->allowed_cids) > 0; + + /* process metadata */ + for (guint i = 0; i < mi_fnames->len; i++) { + g_autoptr(GBytes) mi_bytes = NULL; + g_autoptr(GError) error = NULL; + g_autoptr(AsComponent) cpt = NULL; + g_autofree gchar *mi_basename = NULL; + const gchar *mi_fname = g_ptr_array_index (mi_fnames, i); + mi_basename = g_path_get_basename (mi_fname); + + g_debug ("Processing: %s", mi_fname); + mi_bytes = asc_unit_read_data (ctask->unit, mi_fname, &error); + if (mi_bytes == NULL) { + asc_result_add_hint_by_cid (ctask->result, + mi_basename, + "file-read-error", + "fname", mi_fname, + "msg", error->message, + NULL); + g_debug ("Failed '%s': %s", mi_basename, error->message); + continue; + } + as_metadata_clear_components (mdata); + cpt = asc_parse_metainfo_data (ctask->result, + mdata, + mi_bytes, + mi_basename); + if (cpt == NULL) { + g_debug ("Rejected: %s", mi_basename); + continue; + } + + /* filter out this component if it isn't on the allowlist */ + if (filter_cpts) { + if (!g_hash_table_contains (priv->allowed_cids, as_component_get_id (cpt))) { + asc_result_remove_component (ctask->result, cpt); + continue; + } + } + + /* check if we have a duplicate */ + if (asc_compose_component_known (compose, cpt)) { + asc_result_add_hint_simple (ctask->result, cpt, "duplicate-component"); + continue; + } else { + g_autoptr(GMutexLocker) locker = g_mutex_locker_new (&priv->mutex); + g_hash_table_add (priv->known_cids, + g_strdup (as_component_get_id (cpt))); + } + + /* validate the data */ + if (as_flags_contains (priv->flags, ASC_COMPOSE_FLAG_VALIDATE)) { + asc_validate_metainfo_data_for_component (ctask->result, + validator, + cpt, + mi_bytes, + mi_basename); + } + + /* find an accompanying desktop-entry file, if one exists */ + if (as_component_get_kind (cpt) == AS_COMPONENT_KIND_DESKTOP_APP) { + const gchar *cid = NULL; + AsLaunchable *launchable = as_component_get_launchable (cpt, AS_LAUNCHABLE_KIND_DESKTOP_ID); + gboolean de_ref_found = FALSE; + if (launchable != NULL) { + GPtrArray *launch_entries = as_launchable_get_entries (launchable); + for (guint j = 0; j < launch_entries->len; j++) { + const gchar *de_basename = g_ptr_array_index (launch_entries, j); + const gchar *de_fname = g_hash_table_lookup (de_fname_map, de_basename); + if (de_fname == NULL) { + asc_result_add_hint (ctask->result, + cpt, + "missing-launchable-desktop-file", + "desktop_id", de_basename, + NULL); + continue; + } + + if (j == 0) { + /* add data from the first desktop-entry file to this app */ + g_autoptr(AsComponent) de_cpt = NULL; + g_autoptr(GBytes) de_bytes = NULL; + + de_ref_found = TRUE; + g_debug ("Reading: %s", de_fname); + de_bytes = asc_unit_read_data (ctask->unit, de_fname, &error); + if (de_bytes == NULL) { + asc_result_add_hint (ctask->result, + cpt, + "file-read-error", + "fname", de_fname, + "msg", error->message, + NULL); + g_error_free (g_steal_pointer (&error)); + continue; + } + + de_cpt = asc_parse_desktop_entry_data (ctask->result, + cpt, + de_bytes, + de_basename, + TRUE, /* ignore NoDisplay & Co. */ + AS_FORMAT_VERSION_CURRENT, + NULL, NULL); + if (de_cpt != NULL) { + /* update component hash based on new source data */ + asc_result_update_component_gcid (ctask->result, + cpt, + de_bytes); + } + } + } + } + + /* legacy support */ + cid = as_component_get_id (cpt); + if (!de_ref_found && g_str_has_suffix (cid, ".desktop")) { + if (!g_hash_table_contains (de_fname_map, cid)) { + asc_result_add_hint (ctask->result, + cpt, + "missing-launchable-desktop-file", + "desktop_id", cid, + NULL); + } else { + g_autoptr(GBytes) de_bytes = NULL; + g_autofree gchar *de_fname = g_build_filename (app_dir, cid, NULL); + + g_debug ("Reading: %s", de_fname); + de_bytes = asc_unit_read_data (ctask->unit, de_fname, &error); + if (de_bytes == NULL) { + asc_result_add_hint (ctask->result, + cpt, + "file-read-error", + "fname", de_fname, + "msg", error->message, + NULL); + g_error_free (g_steal_pointer (&error)); + } else { + g_autoptr(AsComponent) de_cpt = NULL; + de_cpt = asc_parse_desktop_entry_data (ctask->result, + cpt, + de_bytes, + cid, + TRUE, /* ignore NoDisplay & Co. */ + AS_FORMAT_VERSION_CURRENT, + NULL, NULL); + if (de_cpt != NULL) { + /* update component hash based on new source data */ + asc_result_update_component_gcid (ctask->result, + cpt, + de_bytes); + } + } + } + } /* end of desktop-entry legacy support */ + } /* end of desktop-entry support */ + + /* add bundle data */ + if (asc_unit_get_bundle_kind (ctask->unit) != AS_BUNDLE_KIND_UNKNOWN) { + AsBundleKind bundle_kind = asc_unit_get_bundle_kind (ctask->unit); + g_ptr_array_set_size (as_component_get_bundles (cpt), 0); + as_component_set_pkgname (cpt, NULL); + + if (bundle_kind == AS_BUNDLE_KIND_PACKAGE) { + as_component_set_pkgname (cpt, asc_unit_get_bundle_id (ctask->unit)); + } else { + g_autoptr(AsBundle) bundle = as_bundle_new (); + as_bundle_set_kind (bundle, bundle_kind); + as_bundle_set_id (bundle, asc_unit_get_bundle_id (ctask->unit)); + } + } + } /* end of metadata parsing loop */ + + /* process translation status */ + asc_read_translation_status (ctask->result, + ctask->unit, + priv->prefix, + 25 /* minimum translation percentage */); + + /* process icons */ + found_cpts = asc_result_fetch_components (ctask->result); + for (guint i = 0; i < found_cpts->len; i++) { + AsComponent *cpt = AS_COMPONENT (g_ptr_array_index (found_cpts, i)); + asc_compose_process_icons (compose, + ctask->result, + cpt, + ctask->unit); + } + + /* clean up superfluous hints in case we were filtering the results, as some rejected + * components may have generated errors while we were inspecting them */ + if (filter_cpts) { + const gchar **cids = asc_result_get_component_ids_with_hints (ctask->result); + for (guint i = 0; cids[i] != NULL; i++) { + if (!g_hash_table_contains (priv->allowed_cids, cids[i])) + asc_result_remove_hints_for_cid (ctask->result, cids[i]); + } + } + + asc_unit_close (ctask->unit); +} + +static gboolean +asc_compose_export_hints_data_yaml (AscCompose *compose, GError **error) +{ + AscComposePrivate *priv = GET_PRIVATE (compose); + yaml_emitter_t emitter; + yaml_event_t event; + gboolean res = FALSE; + g_auto(GStrv) all_hint_tags = NULL; + g_autofree gchar *yaml_fname = NULL; + g_autoptr(GString) yaml_result = g_string_new (""); + + /* don't export anything if export dir isn't set */ + if (priv->hints_result_dir == NULL) + return TRUE; + + yaml_emitter_initialize (&emitter); + yaml_emitter_set_indent (&emitter, 2); + yaml_emitter_set_unicode (&emitter, TRUE); + yaml_emitter_set_width (&emitter, 100); + yaml_emitter_set_output (&emitter, as_compose_yaml_write_handler_cb, yaml_result); + + /* emit start event */ + yaml_stream_start_event_initialize (&event, YAML_UTF8_ENCODING); + if (!yaml_emitter_emit (&emitter, &event)) { + g_set_error_literal (error, + ASC_COMPOSE_ERROR, + ASC_COMPOSE_ERROR_FAILED, + "Failed to initialize YAML emitter."); + yaml_emitter_delete (&emitter); + return FALSE; + } + + /* new document for the tag list */ + yaml_document_start_event_initialize (&event, NULL, NULL, NULL, FALSE); + res = yaml_emitter_emit (&emitter, &event); + g_assert (res); + all_hint_tags = asc_globals_get_hint_tags (); + + as_yaml_sequence_start (&emitter); + for (guint i = 0; all_hint_tags[i] != NULL; i++) { + const gchar *tag = all_hint_tags[i]; + /* main dict start */ + as_yaml_mapping_start (&emitter); + + as_yaml_emit_entry (&emitter, + "Tag", + tag); + as_yaml_emit_entry (&emitter, + "Severity", + as_issue_severity_to_string (asc_globals_hint_tag_severity (tag))); + as_yaml_emit_entry (&emitter, + "Explanation", + asc_globals_hint_tag_explanation (tag)); + /* main dict end */ + as_yaml_mapping_end (&emitter); + } + as_yaml_sequence_end (&emitter); + + /* finalize the tag list document */ + yaml_document_end_event_initialize (&event, 1); + res = yaml_emitter_emit (&emitter, &event); + g_assert (res); + + /* new document for the actual issue hints */ + yaml_document_start_event_initialize (&event, NULL, NULL, NULL, FALSE); + res = yaml_emitter_emit (&emitter, &event); + g_assert (res); + + as_yaml_sequence_start (&emitter); + for (guint i = 0; i < priv->results->len; i++) { + g_autofree const gchar **hints_cids = NULL; + AscResult *result = ASC_RESULT (g_ptr_array_index (priv->results, i)); + + hints_cids = asc_result_get_component_ids_with_hints (result); + if (hints_cids == NULL) + continue; + + as_yaml_mapping_start (&emitter); + as_yaml_emit_entry (&emitter, "Unit", asc_result_get_bundle_id (result)); + as_yaml_emit_scalar (&emitter, "Hints"); + as_yaml_sequence_start (&emitter); + for (guint j = 0; hints_cids[j] != NULL; j++) { + GPtrArray *hints = asc_result_get_hints (result, hints_cids[j]); + + as_yaml_mapping_start (&emitter); + as_yaml_emit_scalar (&emitter, hints_cids[j]); + as_yaml_sequence_start (&emitter); + for (guint k = 0; k < hints->len; k++) { + GPtrArray *vars; + AscHint *hint = ASC_HINT (g_ptr_array_index (hints, k)); + as_yaml_mapping_start (&emitter); + as_yaml_emit_entry (&emitter, "tag", asc_hint_get_tag (hint)); + + vars = asc_hint_get_explanation_vars_list (hint); + as_yaml_emit_scalar (&emitter, "variables"); + as_yaml_mapping_start (&emitter); + for (guint l = 0; l < vars->len; l += 2) { + as_yaml_emit_entry (&emitter, + g_ptr_array_index (vars, l), + g_ptr_array_index (vars, l + 1)); + } + as_yaml_mapping_end (&emitter); + + /* end hint mapping */ + as_yaml_mapping_end (&emitter); + } + as_yaml_sequence_end (&emitter); + as_yaml_mapping_end (&emitter); + } + as_yaml_sequence_end (&emitter); + as_yaml_mapping_end (&emitter); + } + as_yaml_sequence_end (&emitter); + + /* finalize the hints document */ + yaml_document_end_event_initialize (&event, 1); + res = yaml_emitter_emit (&emitter, &event); + g_assert (res); + + /* end stream */ + yaml_stream_end_event_initialize (&event); + res = yaml_emitter_emit (&emitter, &event); + g_assert (res); + + yaml_emitter_flush (&emitter); + yaml_emitter_delete (&emitter); + + g_mkdir_with_parents (priv->hints_result_dir, 0755); + yaml_fname = g_strdup_printf ("%s/%s.hints.yaml", priv->hints_result_dir, priv->origin); + return g_file_set_contents (yaml_fname, yaml_result->str, yaml_result->len, error); +} + + +static gboolean +asc_compose_export_hints_data_html (AscCompose *compose, GError **error) +{ + AscComposePrivate *priv = GET_PRIVATE (compose); + g_autoptr(GString) html = NULL; + g_autofree gchar *html_fname = NULL; + + /* create header */ + html = g_string_new (""); + g_string_append (html, "\n" + "\n"); + g_string_append (html, "\n"); + g_string_append (html, "\n"); + g_string_append (html, "\n"); + g_string_append_printf (html, "Compose issue hints for \"%s\"\n", priv->origin); + + g_string_append (html, + "\n\n\n"); + + g_string_append (html, "\n"); + g_string_append (html, "\n"); + + for (guint i = 0; i < priv->results->len; i++) { + g_autofree const gchar **hints_cids = NULL; + g_autofree gchar *bundle_hstr = NULL; + AscResult *result = ASC_RESULT (g_ptr_array_index (priv->results, i)); + + hints_cids = asc_result_get_component_ids_with_hints (result); + if (hints_cids == NULL) + continue; + + g_string_append_printf (html, "

Compose issue hints for \"%s\"

\n", priv->origin); + g_string_append (html, "
"); + bundle_hstr = g_markup_escape_text (asc_result_get_bundle_id (result), -1); + g_string_append_printf (html, "

Unit: %s

\n
\n", bundle_hstr); + + for (guint j = 0; hints_cids[j] != NULL; j++) { + g_autofree gchar *cid_hstr = NULL; + GPtrArray *hints = asc_result_get_hints (result, hints_cids[j]); + + cid_hstr = g_markup_escape_text (hints_cids[j], -1); + g_string_append_printf (html, "

%s #

\n", + cid_hstr, cid_hstr, cid_hstr); + g_string_append (html, "
    \n"); + for (guint k = 0; k < hints->len; k++) { + g_autofree gchar *explanation = NULL; + const gchar *label_style; + AsIssueSeverity severity; + AscHint *hint = ASC_HINT (g_ptr_array_index (hints, k)); + + severity = asc_hint_get_severity (hint); + switch (severity) { + case AS_ISSUE_SEVERITY_ERROR: + label_style = "label-error"; + break; + case AS_ISSUE_SEVERITY_WARNING: + label_style = "label-warning"; + break; + case AS_ISSUE_SEVERITY_INFO: + label_style = "label-info"; + break; + case AS_ISSUE_SEVERITY_PEDANTIC: + label_style = "label-neutral"; + break; + default: + label_style = "label-neutral"; + } + + explanation = asc_hint_format_explanation (hint); + g_string_append_printf (html, "
  • \n %s %s\n", + asc_hint_get_tag (hint), label_style, as_issue_severity_to_string (severity)); + g_string_append_printf (html, "

    %s

    \n
  • \n", + explanation); + } + g_string_append (html, "
\n"); + } + } + + g_string_append (html, "
\n"); + g_string_append (html, "\n"); + g_string_append (html, "\n"); + + g_mkdir_with_parents (priv->hints_result_dir, 0755); + html_fname = g_strdup_printf ("%s/%s.hints.html", priv->hints_result_dir, priv->origin); + return g_file_set_contents (html_fname, html->str, html->len, error); +} + +static gboolean +asc_compose_save_metadata_result (AscCompose *compose, GError **error) +{ + AscComposePrivate *priv = GET_PRIVATE (compose); + g_autoptr(AsMetadata) mdata = NULL; + g_autofree gchar *data_basename = NULL; + g_autofree gchar *data_fname = NULL; + + mdata = as_metadata_new (); + as_metadata_set_format_style (mdata, AS_FORMAT_STYLE_COLLECTION); + as_metadata_set_format_version (mdata, AS_FORMAT_VERSION_CURRENT); + if (priv->media_baseurl != NULL) + as_metadata_set_media_baseurl (mdata, priv->media_baseurl); + + if (priv->format == AS_FORMAT_KIND_YAML) + data_basename = g_strdup_printf ("%s.yml.gz", priv->origin); + else + data_basename = g_strdup_printf ("%s.xml.gz", priv->origin); + + if (g_mkdir_with_parents (priv->data_result_dir, 0755)) { + g_set_error (error, + ASC_COMPOSE_ERROR, + ASC_COMPOSE_ERROR_FAILED, + "failed to create %s: %s", + priv->data_result_dir, + strerror (errno)); + return FALSE; + } + + for (guint i = 0; i < priv->results->len; i++) { + g_autoptr(GPtrArray) cpts = NULL; + AscResult *result = ASC_RESULT (g_ptr_array_index (priv->results, i)); + cpts = asc_result_fetch_components (result); + for (guint j = 0; j < cpts->len; j++) { + as_metadata_add_component (mdata, + AS_COMPONENT(g_ptr_array_index (cpts, j))); + } + } + + data_fname = g_build_filename (priv->data_result_dir, data_basename, NULL); + return as_metadata_save_collection (mdata, data_fname, priv->format, error); +} + +/** + * asc_compose_run: + * @compose: an #AscCompose instance. + * @cancellable: a #GCancellable. + * @error: A #GError or %NULL. + * + * Process the registered units and generate collection metadata from + * found components. + * + * Returns: (transfer none) (element-type AscResult): The results, or %NULL on error + */ +GPtrArray* +asc_compose_run (AscCompose *compose, GCancellable *cancellable, GError **error) +{ + AscComposePrivate *priv = GET_PRIVATE (compose); + GThreadPool *tpool = NULL; + g_autoptr(GPtrArray) tasks = NULL; + + /* test if output directories are set */ + if (priv->data_result_dir == NULL) { + g_set_error_literal (error, + ASC_COMPOSE_ERROR, + ASC_COMPOSE_ERROR_FAILED, + _("Metadata output directory is not set.")); + return NULL; + } + if (priv->icons_result_dir == NULL) { + g_set_error_literal (error, + ASC_COMPOSE_ERROR, + ASC_COMPOSE_ERROR_FAILED, + _("Icon output directory is not set.")); + return NULL; + } + /* hint output directory is optional */ + + if (priv->media_baseurl == NULL && priv->media_result_dir != NULL) { + g_set_error_literal (error, + ASC_COMPOSE_ERROR, + ASC_COMPOSE_ERROR_FAILED, + _("Media result directory is set, but media base URL is not. A media base URL is needed " + "to export media that is served via the media URL.")); + return NULL; + } + + tasks = g_ptr_array_new_with_free_func ((GDestroyNotify) asc_compose_task_free); + + for (guint i = 0; i < priv->units->len; i++) { + AscUnit *unit; + AscComposeTask *ctask; + unit = g_ptr_array_index (priv->units, i); + ctask = asc_compose_task_new (unit); + g_ptr_array_add (tasks, ctask); + } + + tpool = g_thread_pool_new ((GFunc) asc_compose_process_task_cb, + compose, + -1, /* max threads */ + FALSE, /* exclusive */ + error); + if (tpool == NULL) + return NULL; + + /* launch all processing tasks in parallel */ + for (guint i = 0; i < tasks->len; i++) + g_thread_pool_push (tpool, g_ptr_array_index (tasks, i), NULL); + + /* shutdown thread pool, wait for all tasks to complete */ + g_thread_pool_free (tpool, FALSE, TRUE); + + /* collect results */ + for (guint i = 0; i < tasks->len; i++) { + AscComposeTask *ctask = g_ptr_array_index (tasks, i); + g_ptr_array_add (priv->results, g_object_ref (ctask->result)); + } + + /* write result */ + if (priv->data_result_dir != NULL) { + if (!asc_compose_save_metadata_result (compose, error)) + return NULL; + } + + /* write hints */ + if (priv->hints_result_dir != NULL) { + if (!asc_compose_export_hints_data_yaml (compose, error)) + return NULL; + if (!asc_compose_export_hints_data_html (compose, error)) + return NULL; + } + + return priv->results; +} + +/** + * asc_compose_new: + * + * Creates a new #AscCompose. + **/ +AscCompose* +asc_compose_new (void) +{ + AscCompose *compose; + compose = g_object_new (ASC_TYPE_COMPOSE, NULL); + return ASC_COMPOSE (compose); +} diff -Nru appstream-0.12.10/compose/asc-compose.h appstream-0.14.5/compose/asc-compose.h --- appstream-0.12.10/compose/asc-compose.h 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/compose/asc-compose.h 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,111 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2016-2021 Matthias Klumpp + * + * Licensed under the GNU Lesser General Public License Version 2.1 + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 2.1 of the license, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +#if !defined (__APPSTREAM_COMPOSE_H) && !defined (ASC_COMPILATION) +#error "Only can be included directly." +#endif +#pragma once + +#include +#include + +#include "asc-unit.h" + +G_BEGIN_DECLS + +#define ASC_TYPE_COMPOSE (asc_compose_get_type ()) +G_DECLARE_DERIVABLE_TYPE (AscCompose, asc_compose, ASC, COMPOSE, GObject) + +struct _AscComposeClass +{ + GObjectClass parent_class; + /*< private >*/ + void (*_as_reserved1) (void); + void (*_as_reserved2) (void); + void (*_as_reserved3) (void); + void (*_as_reserved4) (void); +}; + +/** + * AsCacheFlags: + * @ASC_COMPOSE_FLAG_NONE: No flags. + * @ASC_COMPOSE_FLAG_VALIDATE: Validate metadata while processing. + * + * Flags on how caching should be used. + **/ +typedef enum { + ASC_COMPOSE_FLAG_NONE = 0, + ASC_COMPOSE_FLAG_VALIDATE = 1 << 0 +} AscComposeFlags; + +AscCompose *asc_compose_new (void); + +void asc_compose_reset (AscCompose *compose); +void asc_compose_add_unit (AscCompose *compose, + AscUnit *unit); + +void asc_compose_add_allowed_cid (AscCompose *compose, + const gchar *component_id); + +const gchar *asc_compose_get_prefix (AscCompose *compose); +void asc_compose_set_prefix (AscCompose *compose, + const gchar *prefix); + +const gchar *asc_compose_get_origin (AscCompose *compose); +void asc_compose_set_origin (AscCompose *compose, + const gchar *origin); + +AsFormatKind asc_compose_get_format (AscCompose *compose); +void asc_compose_set_format (AscCompose *compose, + AsFormatKind kind); + +const gchar *asc_compose_get_media_baseurl (AscCompose *compose); +void asc_compose_set_media_baseurl (AscCompose *compose, + const gchar *url); + +AscComposeFlags asc_compose_get_flags (AscCompose *compose); +void asc_compose_set_flags (AscCompose *compose, + AscComposeFlags flags); + +const gchar *asc_compose_get_data_result_dir (AscCompose *compose); +void asc_compose_set_data_result_dir (AscCompose *compose, + const gchar *dir); + +const gchar *asc_compose_get_icons_result_dir (AscCompose *compose); +void asc_compose_set_icons_result_dir (AscCompose *compose, + const gchar *dir); + +const gchar *asc_compose_get_media_result_dir (AscCompose *compose); +void asc_compose_set_media_result_dir (AscCompose *compose, + const gchar *dir); + +const gchar *asc_compose_get_hints_result_dir (AscCompose *compose); +void asc_compose_set_hints_result_dir (AscCompose *compose, + const gchar *dir); + +GPtrArray *asc_compose_get_results (AscCompose *compose); +GPtrArray *asc_compose_fetch_components (AscCompose *compose); +gboolean asc_compose_has_errors (AscCompose *compose); + +GPtrArray *asc_compose_run (AscCompose *compose, + GCancellable *cancellable, + GError **error); + +G_END_DECLS diff -Nru appstream-0.12.10/compose/asc-directory-unit.c appstream-0.14.5/compose/asc-directory-unit.c --- appstream-0.12.10/compose/asc-directory-unit.c 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/compose/asc-directory-unit.c 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,242 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2016-2021 Matthias Klumpp + * + * Licensed under the GNU Lesser General Public License Version 2.1 + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 2.1 of the license, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +/** + * SECTION:asc-directory-unit + * @short_description: A data source unit representing a simple directory tree + * @include: appstream-compose.h + */ + +#include "config.h" +#include "asc-directory-unit.h" + +#include "as-utils-private.h" + +typedef struct +{ + gchar *root_dir; + GHashTable *files_map; +} AscDirectoryUnitPrivate; + +G_DEFINE_TYPE_WITH_PRIVATE (AscDirectoryUnit, asc_directory_unit, ASC_TYPE_UNIT) +#define GET_PRIVATE(o) (asc_directory_unit_get_instance_private (o)) + +static gboolean asc_directory_unit_open (AscUnit *unit, + GError **error); +static void asc_directory_unit_close (AscUnit *unit); + +static gboolean asc_directory_unit_file_exists (AscUnit *unit, + const gchar *filename); +static GBytes *asc_directory_unit_read_data (AscUnit *unit, + const gchar *filename, + GError **error); + +static void +asc_directory_unit_init (AscDirectoryUnit *dirunit) +{ + AscDirectoryUnitPrivate *priv = GET_PRIVATE (dirunit); + + priv->files_map = g_hash_table_new_full (g_str_hash, + g_str_equal, + g_free, + g_free); +} + +static void +asc_directory_unit_finalize (GObject *object) +{ + AscDirectoryUnit *dirunit = ASC_DIRECTORY_UNIT (object); + AscDirectoryUnitPrivate *priv = GET_PRIVATE (dirunit); + + g_free (priv->root_dir); + g_hash_table_unref (priv->files_map); + + G_OBJECT_CLASS (asc_directory_unit_parent_class)->finalize (object); +} + +static void +asc_directory_unit_class_init (AscDirectoryUnitClass *klass) +{ + AscUnitClass *unit_class; + GObjectClass *object_class; + + object_class = G_OBJECT_CLASS (klass); + object_class->finalize = asc_directory_unit_finalize; + + unit_class = ASC_UNIT_CLASS (klass); + unit_class->open = asc_directory_unit_open; + unit_class->close = asc_directory_unit_close; + unit_class->file_exists = asc_directory_unit_file_exists; + unit_class->dir_exists = asc_directory_unit_file_exists; + unit_class->read_data = asc_directory_unit_read_data; +} + +static gboolean +asc_directory_unit_find_files_recursive (GPtrArray *files, + const gchar *path_orig, + guint path_orig_len, + const gchar *path, + GError **error) +{ + const gchar *tmp; + g_autoptr(GDir) dir = NULL; + g_autoptr(GError) tmp_error = NULL; + + dir = g_dir_open (path, 0, &tmp_error); + if (dir == NULL) { + /* just ignore locations we do not have access to */ + if (g_error_matches (tmp_error, G_FILE_ERROR, G_FILE_ERROR_ACCES)) + return TRUE; + g_propagate_error (error, g_steal_pointer (&tmp_error)); + return FALSE; + } + + while ((tmp = g_dir_read_name (dir)) != NULL) { + g_autofree gchar *path_new = NULL; + path_new = g_build_filename (path, tmp, NULL); + if (g_file_test (path_new, G_FILE_TEST_IS_DIR)) { + if (!asc_directory_unit_find_files_recursive (files, + path_orig, + path_orig_len, + path_new, + error)) + return FALSE; + } else { + g_ptr_array_add (files, g_strdup (path_new + path_orig_len)); + } + } + + return TRUE; +} + +static gboolean +asc_directory_unit_open (AscUnit *unit, GError **error) +{ + AscDirectoryUnitPrivate *priv = GET_PRIVATE (ASC_DIRECTORY_UNIT (unit)); + g_autoptr(GPtrArray) contents; + GPtrArray *relevant_paths; + guint root_dir_len = (guint) strlen (priv->root_dir); + + if (g_str_has_suffix (priv->root_dir, G_DIR_SEPARATOR_S)) + root_dir_len = root_dir_len > 0? root_dir_len - 1 : root_dir_len; + + contents = g_ptr_array_new_with_free_func (g_free); + relevant_paths = asc_unit_get_relevant_paths (unit); + + g_debug ("Creating contents index for directory: %s", priv->root_dir); + if (relevant_paths->len == 0) { + /* create an index of all the data + * TODO: All of this is super wasteful, and may need a completely different approach */ + if (!asc_directory_unit_find_files_recursive (contents, + priv->root_dir, root_dir_len, + priv->root_dir, + error)) + return FALSE; + } else { + /* only index data from paths that we care about */ + for (guint i = 0; i < relevant_paths->len; i++) { + g_autofree gchar *check_path = NULL; + const gchar *rel_path = g_ptr_array_index (relevant_paths, i); + check_path = g_build_filename (priv->root_dir, rel_path, NULL); + + if (!asc_directory_unit_find_files_recursive (contents, + priv->root_dir, root_dir_len, + check_path, + error)) + return FALSE; + } + } + g_debug ("Index done for directory: %s", priv->root_dir); + + asc_unit_set_contents (unit, contents); + return TRUE; +} + +static void +asc_directory_unit_close (AscUnit *unit) +{ + /* we don't actually need to do anything here */ + return; +} + +static gboolean +asc_directory_unit_file_exists (AscUnit *unit, const gchar *filename) +{ + AscDirectoryUnitPrivate *priv = GET_PRIVATE (ASC_DIRECTORY_UNIT (unit)); + g_autofree gchar *fname_full = g_build_filename (priv->root_dir, filename, NULL); + + return g_file_test (fname_full, G_FILE_TEST_EXISTS); +} + +static GBytes* +asc_directory_unit_read_data (AscUnit *unit, const gchar *filename, GError **error) +{ + AscDirectoryUnitPrivate *priv = GET_PRIVATE (ASC_DIRECTORY_UNIT (unit)); + g_autoptr(GMappedFile) mfile = NULL; + g_autofree gchar *fname_full = g_build_filename (priv->root_dir, filename, NULL); + + mfile = g_mapped_file_new (fname_full, FALSE, error); + if (!mfile) + return NULL; + return g_mapped_file_get_bytes (mfile); +} + +/** + * asc_directory_unit_get_root: + * @dirunit: an #AscDirectoryUnit instance. + * + * Get the root directory path for this unit. + **/ +const gchar* +asc_directory_unit_get_root (AscDirectoryUnit *dirunit) +{ + AscDirectoryUnitPrivate *priv = GET_PRIVATE (dirunit); + return priv->root_dir; +} + +/** + * asc_directory_unit_set_root: + * @dirunit: an #AscDirectoryUnit instance. + * @root_dir: Absolute directory path + * + * Sets the root directory path for this unit. + **/ +void +asc_directory_unit_set_root (AscDirectoryUnit *dirunit, const gchar *root_dir) +{ + AscDirectoryUnitPrivate *priv = GET_PRIVATE (dirunit); + as_assign_string_safe (priv->root_dir, root_dir); + if (asc_unit_get_bundle_id (ASC_UNIT (dirunit)) == NULL) + asc_unit_set_bundle_id (ASC_UNIT (dirunit), priv->root_dir); +} + +/** + * asc_directory_unit_new: + * + * Creates a new #AscDirectoryUnit. + **/ +AscDirectoryUnit* +asc_directory_unit_new (const gchar *root_dir) +{ + AscDirectoryUnit *dirunit; + dirunit = g_object_new (ASC_TYPE_DIRECTORY_UNIT, NULL); + asc_directory_unit_set_root (ASC_DIRECTORY_UNIT (dirunit), root_dir); + return ASC_DIRECTORY_UNIT (dirunit); +} diff -Nru appstream-0.12.10/compose/asc-directory-unit.h appstream-0.14.5/compose/asc-directory-unit.h --- appstream-0.12.10/compose/asc-directory-unit.h 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/compose/asc-directory-unit.h 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,51 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2016-2021 Matthias Klumpp + * + * Licensed under the GNU Lesser General Public License Version 2.1 + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 2.1 of the license, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +#if !defined (__APPSTREAM_COMPOSE_H) && !defined (ASC_COMPILATION) +#error "Only can be included directly." +#endif +#pragma once + +#include +#include "asc-unit.h" + +G_BEGIN_DECLS + +#define ASC_TYPE_DIRECTORY_UNIT (asc_directory_unit_get_type ()) +G_DECLARE_DERIVABLE_TYPE (AscDirectoryUnit, asc_directory_unit, ASC, DIRECTORY_UNIT, AscUnit) + +struct _AscDirectoryUnitClass +{ + AscUnitClass parent_class; + + /*< private >*/ + void (*_as_reserved1) (void); + void (*_as_reserved2) (void); + void (*_as_reserved3) (void); + void (*_as_reserved4) (void); +}; + +AscDirectoryUnit *asc_directory_unit_new (const gchar *root_dir); + +const gchar *asc_directory_unit_get_root (AscDirectoryUnit *dirunit); +void asc_directory_unit_set_root (AscDirectoryUnit *dirunit, + const gchar *root_dir); + +G_END_DECLS diff -Nru appstream-0.12.10/compose/asc-font.c appstream-0.14.5/compose/asc-font.c --- appstream-0.12.10/compose/asc-font.c 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/compose/asc-font.c 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,833 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2016-2021 Matthias Klumpp + * + * Licensed under the GNU Lesser General Public License Version 2.1 + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 2.1 of the license, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +/** + * SECTION:asc-font + * @short_description: Font handling functions. + * @include: appstream-compose.h + */ + +#include "config.h" +#include "asc-font-private.h" + +#include +#include +#include FT_SFNT_NAMES_H +#include FT_TRUETYPE_IDS_H +#include + +#include "as-utils-private.h" + +#include "asc-globals-private.h" + +/* Fontconfig is not threadsafe, so we use this mutex to guard any section + * using it either directly or indirectly. This variable is exported to + * other units as well. */ +GMutex fontconfig_mutex; + +struct _AscFont +{ + GObject parent_instance; +}; + +typedef struct +{ + FT_Library library; + FT_Face fface; + + GHashTable *languages; + + gchar *preferred_lang; + gchar *sample_text; + gchar *sample_icon_text; + + gchar *style; + gchar *fullname; + gchar *id; + + gchar *description; + gchar *designer_name; + gchar *homepage; + + gchar *file_basename; +} AscFontPrivate; + +G_DEFINE_TYPE_WITH_PRIVATE (AscFont, asc_font, G_TYPE_OBJECT) +#define GET_PRIVATE(o) (asc_font_get_instance_private (o)) + +/** + * asc_font_error_quark: + * + * Return value: An error quark. + **/ +GQuark +asc_font_error_quark (void) +{ + static GQuark quark = 0; + if (!quark) + quark = g_quark_from_static_string ("AscFontError"); + return quark; +} + +static void +asc_font_finalize (GObject *object) +{ + AscFont *font = ASC_FONT (object); + AscFontPrivate *priv = GET_PRIVATE (font); + g_autoptr(GMutexLocker) locker = g_mutex_locker_new (&fontconfig_mutex); + + if (priv->fface != NULL) + FT_Done_Face (priv->fface); + if (priv->library != NULL) + FT_Done_FreeType (priv->library); + + g_hash_table_unref (priv->languages); + + g_free (priv->preferred_lang); + g_free (priv->sample_text); + g_free (priv->sample_icon_text); + + g_free (priv->style); + g_free (priv->fullname); + g_free (priv->id); + + g_free (priv->description); + g_free (priv->designer_name); + g_free (priv->homepage); + + g_free (priv->file_basename); + + G_OBJECT_CLASS (asc_font_parent_class)->finalize (object); +} + +static void +asc_font_init (AscFont *font) +{ + AscFontPrivate *priv = GET_PRIVATE (font); + + priv->languages = g_hash_table_new_full (g_str_hash, + g_str_equal, + g_free, + NULL); +} + +static void +asc_font_class_init (AscFontClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + object_class->finalize = asc_font_finalize; +} + +static void +asc_font_read_sfnt_data (AscFont *font) +{ + AscFontPrivate *priv = GET_PRIVATE (font); + guint namecount; + + namecount = FT_Get_Sfnt_Name_Count (priv->fface); + for (guint index = 0; index < namecount; index++) { + FT_SfntName sname; + g_autofree gchar *val = NULL; + + if (FT_Get_Sfnt_Name (priv->fface, index, &sname) != 0) + continue; + + /* only handle unicode names for en_US */ + if (!(sname.platform_id == TT_PLATFORM_MICROSOFT + && sname.encoding_id == TT_MS_ID_UNICODE_CS + && sname.language_id == TT_MS_LANGID_ENGLISH_UNITED_STATES)) + continue; + + val = g_convert((gchar*) sname.string, + sname.string_len, + "UTF-8", + "UTF-16BE", + NULL, + NULL, + NULL); + + switch (sname.name_id) { + case TT_NAME_ID_SAMPLE_TEXT: + g_free (priv->sample_icon_text); + priv->sample_icon_text = g_steal_pointer (&val); + break; + case TT_NAME_ID_DESCRIPTION: + g_free (priv->description); + priv->description = g_steal_pointer (&val); + break; + case TT_NAME_ID_DESIGNER_URL: + g_free (priv->homepage); + priv->homepage = g_steal_pointer (&val); + break; + case TT_NAME_ID_VENDOR_URL: + if ((priv->homepage == NULL) || (priv->homepage[0] == '\0')) { + g_free (priv->homepage); + priv->homepage = g_steal_pointer (&val); + } + break; + default: + break; + } + } +} + +static void +asc_font_load_fontconfig_data_from_file (AscFont *font, const gchar *fname) +{ + /* open FC font pattern + * the count pointer has to be valid, otherwise FcFreeTypeQuery() crashes. */ + int c; + FcPattern *fpattern; + gboolean any_lang_added = FALSE; + gboolean match = FALSE; + guchar *tmp_val; + AscFontPrivate *priv = GET_PRIVATE (font); + + fpattern = FcFreeTypeQuery ((const guchar*) fname, 0, NULL, &c); + + /* load information about the font */ + g_hash_table_remove_all (priv->languages); + match = TRUE; + for (guint i = 0; match == TRUE; i++) { + FcLangSet *ls; + + match = FALSE; + if (FcPatternGetLangSet (fpattern, FC_LANG, i, &ls) == FcResultMatch) { + FcStrSet *langs; + FcStrList *list; + match = TRUE; + + langs = FcLangSetGetLangs (ls); + list = FcStrListCreate (langs); + + FcStrListFirst (list); + while ((tmp_val = FcStrListNext (list)) != NULL) { + g_hash_table_add (priv->languages, g_strdup ((gchar*) tmp_val)); + any_lang_added = TRUE; + } + + FcStrListDone (list); + FcStrSetDestroy (langs); + } + } + + if (FcPatternGetString (fpattern, FC_FULLNAME, 0, &tmp_val) == FcResultMatch) { + g_free (priv->fullname); + priv->fullname = g_strdup ((gchar*) tmp_val); + } + + if (FcPatternGetString (fpattern, FC_STYLE, 0, &tmp_val) == FcResultMatch) { + g_free (priv->style); + priv->style = g_strdup ((gchar*) tmp_val); + } + + /* assume 'en' is available */ + if (!any_lang_added) + g_hash_table_add (priv->languages, g_strdup ("en")); + + /* prefer the English language if possible + * this is a hack since some people don't set their + * tag properly. */ + if (any_lang_added && g_hash_table_contains (priv->languages, "en")) { + g_free (priv->preferred_lang); + priv->preferred_lang = g_strdup ("en"); + } + + /* read font metadata, if any is there */ + asc_font_read_sfnt_data (font); + + /* cleanup */ + FcPatternDestroy (fpattern); +} + +static AscFont* +asc_font_new (GError **error) +{ + AscFontPrivate *priv; + FT_Error err; + g_autoptr(GMutexLocker) locker = g_mutex_locker_new (&fontconfig_mutex); + g_autoptr(AscFont) font = ASC_FONT (g_object_new (ASC_TYPE_FONT, NULL)); + priv = GET_PRIVATE (font); + + err = FT_Init_FreeType (&priv->library); + if (err != 0) { + g_set_error (error, + ASC_FONT_ERROR, + ASC_FONT_ERROR_FAILED, + "Unable to load FreeType. Error code: %i", err); + return NULL; + } + + return g_steal_pointer (&font); +} + +/** + * asc_font_new_from_file: + * @fname: Name of the file to load. + * @error: A #GError or %NULL + * + * Creates a new #AscFont from a file on the filesystem. + **/ +AscFont* +asc_font_new_from_file (const gchar* fname, GError **error) +{ + AscFont *font; + AscFontPrivate *priv; + FT_Error err; + + font = asc_font_new (error); + if (font == NULL) + return NULL; + priv = GET_PRIVATE (font); + + err = FT_New_Face (priv->library, fname, 0, &priv->fface); + if (err != 0) { + g_set_error (error, + ASC_FONT_ERROR, + ASC_FONT_ERROR_FAILED, + "Unable to load font face from file. Error code: %i", err); + return NULL; + } + + asc_font_load_fontconfig_data_from_file (font, fname); + g_free (priv->file_basename); + priv->file_basename = g_path_get_basename (fname); + + return font; +} + +/** + * asc_font_new_from_data: + * @data: Data to load. + * @len: Length of the data to load. + * @file_basename: Font file basename. + * @error: A #GError or %NULL + * + * Creates a new #AscFont from data in memory. + * The font file basename needs to be supplied as fallback + * and for heuristics. + **/ +AscFont* +asc_font_new_from_data (const void *data, gssize len, const gchar *file_basename, GError **error) +{ + const gchar *tmp_root; + gboolean ret; + g_autofree gchar *fname = NULL; + + /* we unfortunately need to create a stupid temporary file here, otherwise Fontconfig + * does not work and we can not determine the right demo strings for this font. + * (FreeType itself could load from memory) */ + tmp_root = asc_globals_get_tmp_dir_create (); + + fname = g_build_filename (tmp_root, file_basename, NULL); +#if GLIB_CHECK_VERSION(2,66,0) + ret = g_file_set_contents_full (fname, + data, + len, + G_FILE_SET_CONTENTS_NONE, + 0666, + error); +#else + ret = g_file_set_contents (fname, + data, + len, + error); + if (ret) + g_chmod (fname, 0666); +#endif + if (!ret) + return NULL; + + return asc_font_new_from_file (fname, error); +} + +/** + * asc_font_get_family: + * @font: an #AscFont instance. + * + * Gets the font family. + **/ +const gchar* +asc_font_get_family (AscFont *font) +{ + AscFontPrivate *priv = GET_PRIVATE (font); + return priv->fface->family_name; +} + +/** + * asc_font_get_style: + * @font: an #AscFont instance. + * + * Gets the font style. + **/ +const gchar* +asc_font_get_style (AscFont *font) +{ + AscFontPrivate *priv = GET_PRIVATE (font); + return priv->style; +} + +/** + * asc_font_get_fullname: + * @font: an #AscFont instance. + * + * Gets the fonts full name. + **/ +const gchar* +asc_font_get_fullname (AscFont *font) +{ + AscFontPrivate *priv = GET_PRIVATE (font); + if (as_is_empty (priv->fullname)) { + g_free (priv->fullname); + priv->fullname = g_strdup_printf ("%s %s", asc_font_get_family (font), asc_font_get_style (font)); + } + return priv->fullname; +} + +/** + * asc_font_get_id: + * @font: an #AscFont instance. + * + * Gets an identifier string for this font. + **/ +const gchar* +asc_font_get_id (AscFont *font) +{ + AscFontPrivate *priv = GET_PRIVATE (font); + g_autofree gchar *tmp_family = NULL; + g_autofree gchar *tmp_style = NULL; + gchar *tmp; + + if (asc_font_get_family (font) == NULL) + return priv->file_basename; + if (asc_font_get_style (font) == NULL) + return priv->file_basename; + if (priv->id != NULL) + return priv->id; + + tmp = g_utf8_strdown (asc_font_get_family (font), -1); + tmp_family = as_str_replace (tmp, " ", "", 0); + as_strstripnl (tmp_family); + g_free (tmp); + + tmp = g_utf8_strdown (asc_font_get_style (font), -1); + tmp_style = as_str_replace (tmp, " ", "", 0); + as_strstripnl (tmp_style); + g_free (tmp); + + g_free (priv->id); + priv->id = g_strdup_printf ("%s-%s", tmp_family, tmp_style); + + return priv->id; +} + +/** + * asc_font_get_charset: + * @font: an #AscFont instance. + * + * Gets the primary/first character set for this font. + **/ +FT_Encoding +asc_font_get_charset (AscFont *font) +{ + AscFontPrivate *priv = GET_PRIVATE (font); + if (priv->fface->num_charmaps == 0) + return FT_ENCODING_NONE; + return priv->fface->charmaps[0]->encoding; +} + +/** + * asc_font_get_ftface: + * @font: an #AscFont instance. + * + * Gets the FreeType font face for this font. + **/ +FT_Face +asc_font_get_ftface (AscFont *font) +{ + AscFontPrivate *priv = GET_PRIVATE (font); + return priv->fface; +} + +/** + * asc_font_get_language_list: + * @font: an #AscFont instance. + * + * Gets the list of languages supported by this font. + * + * Returns: (transfer container) (element-type utf8): Sorted list of languages + **/ +GList* +asc_font_get_language_list (AscFont *font) +{ + AscFontPrivate *priv = GET_PRIVATE (font); + GList *list = g_hash_table_get_keys (priv->languages); + list = g_list_sort (list, (GCompareFunc) g_strcmp0); + return list; +} + +/** + * asc_font_add_language: + * @font: an #AscFont instance. + * + * Add language to the language list of this font. + **/ +void +asc_font_add_language (AscFont *font, const gchar *lang) +{ + AscFontPrivate *priv = GET_PRIVATE (font); + g_hash_table_add (priv->languages, g_strdup (lang)); +} + +/** + * asc_font_get_preferred_language: + * @font: an #AscFont instance. + * + * Gets the fonts preferred language. + **/ +const gchar* +asc_font_get_preferred_language (AscFont *font) +{ + AscFontPrivate *priv = GET_PRIVATE (font); + return priv->preferred_lang; +} + +/** + * asc_font_set_preferred_language: + * @font: an #AscFont instance. + * + * Sets the fonts preferred language. + **/ +void +asc_font_set_preferred_language (AscFont *font, const gchar *lang) +{ + AscFontPrivate *priv = GET_PRIVATE (font); + g_free (priv->preferred_lang); + priv->preferred_lang = g_strdup (lang); +} + +/** + * asc_font_get_description: + * @font: an #AscFont instance. + * + * Gets the font description. + **/ +const gchar* +asc_font_get_description (AscFont *font) +{ + AscFontPrivate *priv = GET_PRIVATE (font); + return priv->description; +} + +/** + * asc_font_get_homepage: + * @font: an #AscFont instance. + * + * Gets the font homepage. + **/ +const gchar* +asc_font_get_homepage (AscFont *font) +{ + AscFontPrivate *priv = GET_PRIVATE (font); + return priv->homepage; +} + +/** + * asc_font_find_pangram: + * + * Find a pangram for the given language, making a random but + * predictable selection. + * + * Returns: A representative text for the language, or %NULL if no specific one was found. + */ +const gchar* +asc_font_find_pangram (AscFont *font, const gchar *lang, const gchar *rand_id) +{ + AscFontPrivate *priv = GET_PRIVATE (font); + GPtrArray *pangrams; + PangoLanguage *plang; + const gchar *text; + + if (g_strcmp0 (lang, "en") == 0) { + guint idx; + + /* we ideally want to have fonts of the same family to share the same pangram */ + if (rand_id == NULL) { + rand_id = asc_font_get_family (font); + if (as_is_empty (rand_id)) + rand_id = priv->file_basename; + if (as_is_empty (rand_id)) + rand_id = asc_font_get_id (font); + } + + pangrams = asc_globals_get_pangrams_for ("en"); + if (pangrams == NULL) { + g_warning ("No pangrams found for the english language, even though we should have some available."); + } else { + /* select an English pangram */ + idx = g_str_hash (rand_id) % pangrams->len; + return (const gchar*) g_ptr_array_index (pangrams, idx); + } + } + + /* The returned pointer will be valid forever after, and should not be freed. */ + plang = pango_language_from_string (lang); + text = pango_language_get_sample_string (plang); + if (g_strcmp0 (text, pango_language_get_sample_string (pango_language_from_string ("xx"))) == 0) + return NULL; + return text; +} + +/** + * asc_font_get_icon_text_for_lang: + * + * Obtain a font "icon" text for the given language, or + * return %NULL in case we do not have one explicitly set. + */ +static const gchar* +asc_font_get_icon_text_for_lang (const gchar *lang) +{ + struct { + const gchar *lang; + const gchar *value; + } text_icon[] = { + { "en", "Aa" }, + { "ar", "أب" }, + { "as", "অআই" }, + { "bn", "অআই" }, + { "be", "Аа" }, + { "bg", "Аа" }, + { "cs", "Aa" }, + { "da", "Aa" }, + { "de", "Aa" }, + { "es", "Aa" }, + { "fr", "Aa" }, + { "gu", "અબક" }, + { "hi", "अआइ" }, + { "he", "אב" }, + { "it", "Aa" }, + { "kn", "ಅಆಇ" }, + { "ml", "ആഇ" }, + { "ne", "अआइ" }, + { "nl", "Aa" }, + { "or", "ଅଆଇ" }, + { "pa", "ਅਆਇ" }, + { "pl", "ĄĘ" }, + { "pt", "Aa" }, + { "ru", "Аа" }, + { "sv", "Åäö" }, + { "ta", "அஆஇ" }, + { "te", "అఆఇ" }, + { "ua", "Аа" }, + { "und-zsye", "😀" }, + { "zh-tw", "漢" }, + { NULL, NULL } }; + + for (guint i = 0; text_icon[i].lang != NULL; i++) { + if (g_strcmp0 (text_icon[i].value, lang) == 0) + return text_icon[i].value; + } + + return NULL; +} + +/** + * asc_font_set_fallback_sample_texts_if_needed: + */ +static void +asc_font_set_fallback_sample_texts_if_needed (AscFont *font) +{ + AscFontPrivate *priv = GET_PRIVATE (font); + + if (as_is_empty (priv->sample_text)) { + g_free (priv->sample_text); + priv->sample_text = g_strdup ("Lorem ipsum dolor sit amet, consetetur sadipscing elitr."); + } + + if (as_is_empty (priv->sample_icon_text)) { + g_free (priv->sample_icon_text); + if (g_utf8_strlen (priv->sample_text, 8) > 3) + priv->sample_icon_text = g_utf8_substring (priv->sample_text, 0, 3); + else + priv->sample_icon_text = g_strdup ("Aa"); + } +} + +/** + * asc_font_determine_sample_texts: + * + * Set example texts to display this font. + */ +static void +asc_font_determine_sample_texts (AscFont *font) +{ + AscFontPrivate *priv = GET_PRIVATE (font); + g_autoptr(GList) tmp_lang_list = NULL; + + /* If we only have to set the icon text, try to do it! + * Otherwise keep cached values and do nothing */ + if (!as_is_empty (priv->sample_text)) { + asc_font_set_fallback_sample_texts_if_needed (font); + if (!as_is_empty (priv->sample_icon_text)) + return; + } + + /* always prefer English (even if not alphabetically first) */ + if (g_hash_table_contains (priv->languages, "en")) { + g_free (priv->preferred_lang); + priv->preferred_lang = g_strdup ("en"); + } + + /* ensure we try the preferred language first */ + tmp_lang_list = asc_font_get_language_list (font); + if (!as_is_empty (priv->preferred_lang)) + tmp_lang_list = g_list_prepend (tmp_lang_list, priv->preferred_lang); + + /* determine our sample texts */ + for (GList *l = tmp_lang_list; l != NULL; l = l->next) { + const gchar *text = asc_font_find_pangram (font, l->data, NULL); + if (text == NULL) + continue; + + g_free (priv->sample_text); + priv->sample_text = g_strdup (text); + + g_free (priv->sample_icon_text); + priv->sample_icon_text = g_strdup (asc_font_get_icon_text_for_lang (l->data)); + break; + } + + /* set some default values if we have been unable to find any texts */ + asc_font_set_fallback_sample_texts_if_needed (font); + + /* check if we have a font that can actually display the characters we picked - in case + * it doesn't, we just select random chars. */ + if (FT_Get_Char_Index (priv->fface, g_utf8_get_char_validated (priv->sample_icon_text, -1)) != 0) + return; + + if (FT_Get_Char_Index (priv->fface, g_utf8_get_char_validated ("☃", -1)) != 0) { + /* maybe we have a symbols-only font? */ + g_free (priv->sample_text); + g_free (priv->sample_icon_text); + priv->sample_text = g_strdup ("☃❤✓☀★☂♞☯☢∞❄♫↺"); + priv->sample_icon_text = g_strdup ("☃❤"); + } else { + GString *sample_text; + guint count; + + sample_text = g_string_new (""); + count = 0; + for (gint map = 0; map < priv->fface->num_charmaps; map++) { + FT_ULong charcode; + FT_UInt gindex; + FT_CharMap charmap = priv->fface->charmaps[map]; + FT_Set_Charmap (priv->fface, charmap); + + charcode = FT_Get_First_Char (priv->fface, &gindex); + while (gindex != 0) { + if (g_unichar_isgraph (charcode) && !g_unichar_ispunct (charcode)) { + count++; + g_string_append_unichar (sample_text, charcode); + } + + if (count >= 24) + break; + charcode = FT_Get_Next_Char (priv->fface, charcode, &gindex); + } + + if (count >= 24) + break; + } + + g_free (priv->sample_text); + priv->sample_text = g_string_free (sample_text, FALSE); + g_strstrip (priv->sample_text); + + g_free (priv->sample_icon_text); + priv->sample_icon_text = NULL; + + /* if we were unsuccessful at adding chars, set fallback again + * (and in this case, also set the icon text to something useful again) */ + asc_font_set_fallback_sample_texts_if_needed (font); + } +} + +/** + * asc_font_get_sample_text: + * @font: an #AscFont instance. + * + * Gets the sample text for this font. + **/ +const gchar* +asc_font_get_sample_text (AscFont *font) +{ + AscFontPrivate *priv = GET_PRIVATE (font); + if (as_is_empty (priv->sample_text)) + asc_font_determine_sample_texts (font); + return priv->sample_text; +} + +/** + * asc_font_set_sample_text: + * @font: an #AscFont instance. + * + * Sets the sample text for this font. + **/ +void +asc_font_set_sample_text (AscFont *font, const gchar *text) +{ + AscFontPrivate *priv = GET_PRIVATE (font); + g_free (priv->sample_text); + priv->sample_text = g_strdup (text); +} + +/** + * asc_font_get_sample_icon_text: + * @font: an #AscFont instance. + * + * Gets the sample icon text fragment for this font. + **/ +const gchar* +asc_font_get_sample_icon_text (AscFont *font) +{ + AscFontPrivate *priv = GET_PRIVATE (font); + if (as_is_empty (priv->sample_icon_text)) + asc_font_determine_sample_texts (font); + return priv->sample_icon_text; +} + +/** + * asc_font_set_sample_icon_text: + * @font: an #AscFont instance. + * + * Sets the sample icon text fragment for this font - must not + * contain more than 3 characters to be valid. + **/ +void +asc_font_set_sample_icon_text (AscFont *font, const gchar *text) +{ + AscFontPrivate *priv = GET_PRIVATE (font); + glong len = g_utf8_strlen (text, -1); + if (len > 3) + return; + g_free (priv->sample_icon_text); + priv->sample_icon_text = g_strdup (text); +} + diff -Nru appstream-0.12.10/compose/asc-font.h appstream-0.14.5/compose/asc-font.h --- appstream-0.12.10/compose/asc-font.h 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/compose/asc-font.h 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,79 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2016-2021 Matthias Klumpp + * + * Licensed under the GNU Lesser General Public License Version 2.1 + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 2.1 of the license, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +#if !defined (__APPSTREAM_COMPOSE_H) && !defined (ASC_COMPILATION) +#error "Only can be included directly." +#endif +#pragma once + +#include + +G_BEGIN_DECLS + +#define ASC_TYPE_FONT (asc_font_get_type ()) +G_DECLARE_FINAL_TYPE (AscFont, asc_font, ASC, FONT, GObject) + +/** + * AscFontError: + * @ASC_FONT_ERROR_FAILED: Generic failure. + * + * A metadata processing error. + **/ +typedef enum { + ASC_FONT_ERROR_FAILED, + /*< private >*/ + ASC_FONT_ERROR_LAST +} AscFontError; + +#define ASC_FONT_ERROR asc_font_error_quark () +GQuark asc_font_error_quark (void); + +AscFont *asc_font_new_from_file (const gchar* fname, + GError **error); +AscFont *asc_font_new_from_data (const void *data, + gssize len, + const gchar *file_basename, + GError **error); + +const gchar *asc_font_get_family (AscFont *font); +const gchar *asc_font_get_style (AscFont *font); +const gchar *asc_font_get_fullname (AscFont *font); +const gchar *asc_font_get_id (AscFont *font); + +GList *asc_font_get_language_list (AscFont *font); +void asc_font_add_language (AscFont *font, + const gchar *lang); + +const gchar* asc_font_get_preferred_language (AscFont *font); +void asc_font_set_preferred_language (AscFont *font, + const gchar *lang); + +const gchar *asc_font_get_description (AscFont *font); +const gchar *asc_font_get_homepage (AscFont *font); + +const gchar *asc_font_get_sample_text (AscFont *font); +void asc_font_set_sample_text (AscFont *font, + const gchar *text); + +const gchar *asc_font_get_sample_icon_text (AscFont *font); +void asc_font_set_sample_icon_text (AscFont *font, + const gchar *text); + +G_END_DECLS diff -Nru appstream-0.12.10/compose/asc-font-private.h appstream-0.14.5/compose/asc-font-private.h --- appstream-0.12.10/compose/asc-font-private.h 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/compose/asc-font-private.h 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,45 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2016-2021 Matthias Klumpp + * + * Licensed under the GNU Lesser General Public License Version 2.1 + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 2.1 of the license, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +#pragma once + +#include "asc-font.h" +#include "as-settings-private.h" + +#include +#include FT_FREETYPE_H + +G_BEGIN_DECLS +#pragma GCC visibility push(hidden) + +extern GMutex fontconfig_mutex; + +AS_INTERNAL_VISIBLE +FT_Encoding asc_font_get_charset (AscFont *font); +AS_INTERNAL_VISIBLE +FT_Face asc_font_get_ftface (AscFont *font); + +AS_INTERNAL_VISIBLE +const gchar *asc_font_find_pangram (AscFont *font, + const gchar *lang, + const gchar *rand_id); + +#pragma GCC visibility pop +G_END_DECLS diff -Nru appstream-0.12.10/compose/asc-globals.c appstream-0.14.5/compose/asc-globals.c --- appstream-0.12.10/compose/asc-globals.c 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/compose/asc-globals.c 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,459 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2016-2021 Matthias Klumpp + * + * Licensed under the GNU Lesser General Public License Version 2.1 + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 2.1 of the license, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +/** + * SECTION:asc-globals + * @short_description: Set and read a bunch of global settings used across appstream-compose + * @include: appstream-compose.h + */ + +#include "config.h" +#include "asc-globals-private.h" + +#include "as-utils-private.h" +#include "as-validator-issue-tag.h" +#include "asc-resources.h" + +#define ASC_TYPE_GLOBALS (asc_globals_get_type ()) +G_DECLARE_DERIVABLE_TYPE (AscGlobals, asc_globals, ASC, GLOBALS, GObject) + +struct _AscGlobalsClass +{ + GObjectClass parent_class; +}; + +typedef struct +{ + gboolean use_optipng; + gchar *optipng_bin; + gchar *tmp_dir; + + GMutex pangrams_mutex; + GPtrArray *pangrams_en; + + GMutex hint_tags_mutex; + GHashTable *hint_tags; +} AscGlobalsPrivate; + +G_DEFINE_TYPE_WITH_PRIVATE (AscGlobals, asc_globals, G_TYPE_OBJECT) +#define GET_PRIVATE(o) (asc_globals_get_instance_private (o)) + +static AscGlobals *g_globals = NULL; +static GMutex g_globals_mutex; + +/** + * asc_compose_error_quark: + * + * Return value: An error quark. + **/ +GQuark +asc_compose_error_quark (void) +{ + static GQuark quark = 0; + if (!quark) + quark = g_quark_from_static_string ("AscComposeError"); + return quark; +} + +static GObject* +asc_globals_constructor (GType type, guint n_construct_properties, GObjectConstructParam *construct_properties) +{ + g_autoptr(GMutexLocker) locker = g_mutex_locker_new (&g_globals_mutex); + if (g_globals) + return g_object_ref (G_OBJECT (g_globals)); + else + return G_OBJECT_CLASS (asc_globals_parent_class)->constructor (type, n_construct_properties, construct_properties); +} + +static void +asc_globals_finalize (GObject *object) +{ + AscGlobals *globals = ASC_GLOBALS (object); + AscGlobalsPrivate *priv = GET_PRIVATE (globals); + + g_free (priv->tmp_dir); + g_free (priv->optipng_bin); + + g_mutex_clear (&priv->pangrams_mutex); + if (priv->pangrams_en != NULL) + g_ptr_array_unref (priv->pangrams_en); + + g_mutex_clear (&priv->hint_tags_mutex); + if (priv->hint_tags != NULL) + g_hash_table_unref (priv->hint_tags); + + G_OBJECT_CLASS (asc_globals_parent_class)->finalize (object); +} + +static void +asc_globals_init (AscGlobals *globals) +{ + AscGlobalsPrivate *priv = GET_PRIVATE (globals); + g_assert (g_globals == NULL); + g_globals = globals; + + priv->tmp_dir = g_build_filename (g_get_tmp_dir (), "as-compose", NULL); + + priv->optipng_bin = g_find_program_in_path ("optipng"); + if (priv->optipng_bin != NULL) + priv->use_optipng = TRUE; + + g_mutex_init (&priv->pangrams_mutex); +} + +static void +asc_globals_class_init (AscGlobalsClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + object_class->constructor = asc_globals_constructor; + object_class->finalize = asc_globals_finalize; +} + +static AscGlobalsPrivate* +asc_globals_get_priv (void) +{ + return GET_PRIVATE (g_object_new (ASC_TYPE_GLOBALS, NULL)); +} + +/** + * asc_globals_get_tmp_dir: + * + * Get temporary directory used by appstream-compose. + **/ +const gchar* +asc_globals_get_tmp_dir (void) +{ + AscGlobalsPrivate *priv = asc_globals_get_priv (); + return priv->tmp_dir; +} + +/** + * asc_globals_get_tmp_dir_create: + * + * Get temporary directory used by appstream-compose + * and try to create it if it does not exist. + **/ +const gchar* +asc_globals_get_tmp_dir_create (void) +{ + AscGlobalsPrivate *priv = asc_globals_get_priv (); + g_mkdir_with_parents (priv->tmp_dir, 0700); + return priv->tmp_dir; +} + +/** + * asc_globals_set_tmp_dir: + * + * Set temporary directory used by appstream-compose. + **/ +void +asc_globals_set_tmp_dir (const gchar *path) +{ + AscGlobalsPrivate *priv = asc_globals_get_priv (); + g_free (priv->tmp_dir); + priv->tmp_dir = g_strdup (path); +} + +/** + * asc_globals_get_use_optipng: + * + * Get whether images should be optimized using optipng. + **/ +gboolean +asc_globals_get_use_optipng (void) +{ + AscGlobalsPrivate *priv = asc_globals_get_priv (); + return priv->use_optipng; +} + +/** + * asc_globals_set_use_optipng: + * + * Set whether images should be optimized using optipng. + **/ +void +asc_globals_set_use_optipng (gboolean enabled) +{ + AscGlobalsPrivate *priv = asc_globals_get_priv (); + if (enabled && priv->optipng_bin == NULL) { + g_critical ("Refusing to enable optipng: not found in $PATH"); + priv->use_optipng = FALSE; + return; + } + priv->use_optipng = enabled; +} + +/** + * asc_globals_get_optipng_binary: + * + * Get path to the "optipng" binary we should use. + **/ +const gchar* +asc_globals_get_optipng_binary (void) +{ + AscGlobalsPrivate *priv = asc_globals_get_priv (); + return priv->optipng_bin; +} + +/** + * asc_globals_set_optipng_binary: + * + * Set path to the "optipng" binary we should use. + **/ +void +asc_globals_set_optipng_binary (const gchar *path) +{ + AscGlobalsPrivate *priv = asc_globals_get_priv (); + g_free (priv->optipng_bin); + priv->optipng_bin = g_strdup (path); + if (priv->optipng_bin == NULL) + priv->use_optipng = FALSE; +} + +/** + * asc_globals_get_pangrams_for: + * + * Obtain a list of pangrams for the given language, currently + * only "en" is supported. + * + * Returns: (transfer none) (element-type utf8): List of pangrams. + */ +GPtrArray* +asc_globals_get_pangrams_for (const gchar *lang) +{ + AscGlobalsPrivate *priv = asc_globals_get_priv (); + if ((lang != NULL) && (g_strcmp0 (lang, "en") != 0)) + return NULL; + + /* return cached value if possible */ + if (priv->pangrams_en != NULL) + return priv->pangrams_en; + + { + g_autoptr(GBytes) data = NULL; + g_auto(GStrv) strv = NULL; + g_autoptr(GMutexLocker) locker = g_mutex_locker_new (&priv->pangrams_mutex); + /* race protection, just to be sure */ + if (priv->pangrams_en != NULL) + return priv->pangrams_en; + + /* load array from resources */ + data = g_resource_lookup_data (asc_get_resource (), + "/org/freedesktop/appstream-compose/pangrams/en.txt", + G_RESOURCE_LOOKUP_FLAGS_NONE, + NULL); + if (data == NULL) + return NULL; + + strv = g_strsplit (g_bytes_get_data (data, NULL), "\n", -1); + if (strv == NULL) + return NULL; + priv->pangrams_en = g_ptr_array_new_full(g_strv_length (strv), g_free); + for (guint i = 0; strv[i] != NULL; i++) + g_ptr_array_add (priv->pangrams_en, g_strdup (strv[i])); + } + + return priv->pangrams_en; +} + +/** + * asc_globals_create_hint_tag_table: + * + * Create hint tag cache. + * IMPORTANT: This function may only be called while a lock is held + * on the hint tag table mutex. + */ +static void +asc_globals_create_hint_tag_table () +{ + AscGlobalsPrivate *priv = asc_globals_get_priv (); + g_return_if_fail (priv->hint_tags == NULL); + + priv->hint_tags = g_hash_table_new_full (g_str_hash, + g_str_equal, + (GDestroyNotify) as_ref_string_release, + (GDestroyNotify) asc_hint_tag_free); + + /* add compose issue hint tags */ + for (guint i = 0; asc_hint_tag_list[i].tag != NULL; i++) { + AscHintTag *htag; + const AscHintTagStatic s = asc_hint_tag_list[i]; + htag = asc_hint_tag_new (s.tag, s.severity, s.explanation); + gboolean r = g_hash_table_insert (priv->hint_tags, + g_ref_string_new_intern (asc_hint_tag_list[i].tag), + htag); + if (G_UNLIKELY (!r)) + g_critical ("Duplicate compose-hint tag '%s' found in tag list. This is a bug in appstream-compose.", asc_hint_tag_list[i].tag); + } + + /* add validator issue hint tags */ + for (guint i = 0; as_validator_issue_tag_list[i].tag != NULL; i++) { + AscHintTag *htag; + gboolean r; + AsIssueSeverity severity; + g_autofree gchar *compose_tag = g_strconcat ("asv-", as_validator_issue_tag_list[i].tag, NULL); + g_autofree gchar *explanation = g_markup_printf_escaped ("{{location}} - {{hint}}
%s", + as_validator_issue_tag_list[i].explanation); + + /* any validator issue can not be of type error in as-compose - if the validation issue + * is so severe that it renders the compose process impossible, we will throw another issue + * of type "error" which will immediately terminate the data genertaion. */ + severity = as_validator_issue_tag_list[i].severity; + if (severity == AS_ISSUE_SEVERITY_ERROR) + severity = AS_ISSUE_SEVERITY_WARNING; + + htag = asc_hint_tag_new (compose_tag, severity, explanation); + r = g_hash_table_insert (priv->hint_tags, + g_ref_string_new_intern (compose_tag), + htag); + if (G_UNLIKELY (!r)) + g_critical ("Duplicate issue-tag '%s' found in tag list. This is a bug in appstream-compose.", as_validator_issue_tag_list[i].tag); + } +} + +/** + * asc_globals_add_hint_tag: + * @tag: the tag-ID to add + * @severity: the tag severity as #AsIssueSeverity + * @explanation: the tag explanatory message + * @overrideExisting: whether an existing tag should be replaced + * + * Register a new hint tag. If a previous tag with the given name + * already existed, the existing tag will not be replaced unless + * @overrideExisting is set to %TRUE. + * Please be careful when overriding tags! Tag severities can not + * be lowered by overriding a tag. + * + * Returns: %TRUE if the tag was registered and did not exist previously. + */ +gboolean +asc_globals_add_hint_tag (const gchar *tag, + AsIssueSeverity severity, + const gchar *explanation, + gboolean overrideExisting) +{ + AscGlobalsPrivate *priv = asc_globals_get_priv (); + AscHintTag *htag; + AscHintTag *e_htag; + g_autoptr(GMutexLocker) locker = g_mutex_locker_new (&priv->hint_tags_mutex); + g_return_val_if_fail (tag != NULL, FALSE); + + if (priv->hint_tags == NULL) + asc_globals_create_hint_tag_table (); + + e_htag = g_hash_table_lookup (priv->hint_tags, tag); + if (e_htag != NULL) { + if (overrideExisting) { + /* make sure we don't permit lowering severities */ + if (severity > e_htag->severity) + severity = e_htag->severity; + } else { + /* don't allow the override */ + return FALSE; + } + } + + htag = asc_hint_tag_new (tag, severity, explanation); + g_hash_table_insert (priv->hint_tags, + g_ref_string_new_intern (tag), + htag); + return TRUE; +} + +/** + * asc_globals_get_hint_info: + * + * Return details for a given hint tag. + * + * Returns: (transfer none): Hint tag details. + */ +AscHintTag* +asc_globals_get_hint_tag_details (const gchar *tag) +{ + AscGlobalsPrivate *priv = asc_globals_get_priv (); + g_autoptr(GMutexLocker) locker = g_mutex_locker_new (&priv->hint_tags_mutex); + g_return_val_if_fail (tag != NULL, NULL); + + if (priv->hint_tags == NULL) + asc_globals_create_hint_tag_table (); + return g_hash_table_lookup (priv->hint_tags, tag); +} + +/** + * asc_globals_get_hint_tags: + * + * Retrieve all hint tags that we know. + * + * Returns: (transfer full): A list of valid hint tags. Free with %g_strfreev + */ +gchar** +asc_globals_get_hint_tags () +{ + AscGlobalsPrivate *priv = asc_globals_get_priv (); + GHashTableIter iter; + gpointer key; + gchar **strv; + guint i = 0; + g_autoptr(GMutexLocker) locker = g_mutex_locker_new (&priv->hint_tags_mutex); + + if (priv->hint_tags == NULL) + asc_globals_create_hint_tag_table (); + + /* deep-copy the table keys to a strv */ + strv = g_new0 (gchar*, g_hash_table_size (priv->hint_tags) + 1); + g_hash_table_iter_init (&iter, priv->hint_tags); + while (g_hash_table_iter_next (&iter, &key, NULL)) + strv[i++] = g_strdup ((const gchar*) key); + + return strv; +} + +/** + * asc_globals_hint_tag_severity: + * + * Retrieve the severity of the given hint tag. + * + * Returns: An #AsIssueSeverity or %AS_ISSUE_SEVERITY_UNKNOWN if the tag did not exist + * or has an unknown severity. + */ +AsIssueSeverity +asc_globals_hint_tag_severity (const gchar *tag) +{ + AscHintTag *htag = asc_globals_get_hint_tag_details (tag); + if (htag == NULL) + return AS_ISSUE_SEVERITY_UNKNOWN; + return htag->severity; +} + +/** + * asc_globals_hint_tag_explanation: + * + * Retrieve the explanation template of the given hint tag. + * + * Returns: An explanation template, or %NULL if the tag was not found. + */ +const gchar* +asc_globals_hint_tag_explanation (const gchar *tag) +{ + AscHintTag *htag = asc_globals_get_hint_tag_details (tag); + if (htag == NULL) + return NULL; + return htag->explanation; +} diff -Nru appstream-0.12.10/compose/asc-globals.h appstream-0.14.5/compose/asc-globals.h --- appstream-0.12.10/compose/asc-globals.h 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/compose/asc-globals.h 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,64 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2016-2021 Matthias Klumpp + * + * Licensed under the GNU Lesser General Public License Version 2.1 + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 2.1 of the license, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +#if !defined (__APPSTREAM_COMPOSE_H) && !defined (ASC_COMPILATION) +#error "Only can be included directly." +#endif +#pragma once + +#include +#include + +G_BEGIN_DECLS + +/** + * AscComposeError: + * @ASC_COMPOSE_ERROR_FAILED: Generic failure. + * + * A metadata composition error. + **/ +typedef enum { + ASC_COMPOSE_ERROR_FAILED, + /*< private >*/ + ASC_COMPOSE_ERROR_LAST +} AscComposeError; + +#define ASC_COMPOSE_ERROR asc_compose_error_quark () +GQuark asc_compose_error_quark (void); + +const gchar *asc_globals_get_tmp_dir (void); +const gchar *asc_globals_get_tmp_dir_create (void); +void asc_globals_set_tmp_dir (const gchar *path); + +gboolean asc_globals_get_use_optipng (void); +void asc_globals_set_use_optipng (gboolean enabled); + +const gchar *asc_globals_get_optipng_binary (void); +void asc_globals_set_optipng_binary (const gchar *path); + +gboolean asc_globals_add_hint_tag (const gchar *tag, + AsIssueSeverity severity, + const gchar *explanation, + gboolean overrideExisting); +gchar **asc_globals_get_hint_tags (); +AsIssueSeverity asc_globals_hint_tag_severity (const gchar *tag); +const gchar *asc_globals_hint_tag_explanation (const gchar *tag); + +G_END_DECLS diff -Nru appstream-0.12.10/compose/asc-globals-private.h appstream-0.14.5/compose/asc-globals-private.h --- appstream-0.12.10/compose/asc-globals-private.h 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/compose/asc-globals-private.h 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,33 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2016-2021 Matthias Klumpp + * + * Licensed under the GNU Lesser General Public License Version 2.1 + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 2.1 of the license, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +#pragma once + +#include "asc-globals.h" +#include "asc-hint-tags.h" + +G_BEGIN_DECLS +#pragma GCC visibility push(hidden) + +GPtrArray *asc_globals_get_pangrams_for (const gchar *lang); +AscHintTag *asc_globals_get_hint_tag_details (const gchar *tag); + +#pragma GCC visibility pop +G_END_DECLS diff -Nru appstream-0.12.10/compose/asc-hint.c appstream-0.14.5/compose/asc-hint.c --- appstream-0.12.10/compose/asc-hint.c 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/compose/asc-hint.c 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,316 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2016-2021 Matthias Klumpp + * + * Licensed under the GNU Lesser General Public License Version 2.1 + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 2.1 of the license, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +/** + * SECTION:asc-hint + * @short_description: A data processing hint. + * @include: appstream-compose.h + */ + +#include "config.h" +#include "asc-hint.h" + +#include "as-utils-private.h" +#include "asc-globals-private.h" + +typedef struct +{ + GPtrArray *vars; + gchar *tag; + AsIssueSeverity severity; + GRefString *explanation_tmpl; +} AscHintPrivate; + +G_DEFINE_TYPE_WITH_PRIVATE (AscHint, asc_hint, G_TYPE_OBJECT) +#define GET_PRIVATE(o) (asc_hint_get_instance_private (o)) + +static void +asc_hint_init (AscHint *hint) +{ + AscHintPrivate *priv = GET_PRIVATE (hint); + + priv->vars = g_ptr_array_new_with_free_func (g_free); +} + +static void +asc_hint_finalize (GObject *object) +{ + AscHint *hint = ASC_HINT (object); + AscHintPrivate *priv = GET_PRIVATE (hint); + + g_free (priv->tag); + as_ref_string_release (priv->explanation_tmpl); + priv->severity = AS_ISSUE_SEVERITY_UNKNOWN; + if (priv->vars != NULL) + g_ptr_array_unref (priv->vars); + + G_OBJECT_CLASS (asc_hint_parent_class)->finalize (object); +} + +static void +asc_hint_class_init (AscHintClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + object_class->finalize = asc_hint_finalize; +} + +/** + * asc_hint_get_tag: + * @hint: an #AscHint instance. + * + * Gets the unique tag for the type of this hint. + **/ +const gchar* +asc_hint_get_tag (AscHint *hint) +{ + AscHintPrivate *priv = GET_PRIVATE (hint); + return priv->tag; +} + +/** + * asc_hint_set_tag: + * @hint: an #AscHint instance. + * + * Sets the unique tag for the type of this hint. + **/ +void +asc_hint_set_tag (AscHint *hint, const gchar *tag) +{ + AscHintPrivate *priv = GET_PRIVATE (hint); + g_free (priv->tag); + priv->tag = g_strdup (tag); +} + +/** + * asc_hint_get_severity: + * @hint: an #AscHint instance. + * + * Gets the issue severity of this hint. + **/ +AsIssueSeverity +asc_hint_get_severity (AscHint *hint) +{ + AscHintPrivate *priv = GET_PRIVATE (hint); + return priv->severity; +} + +/** + * asc_hint_set_severity: + * @hint: an #AscHint instance. + * + * Sets the issue severity of this hint. + **/ +void +asc_hint_set_severity (AscHint *hint, AsIssueSeverity severity) +{ + AscHintPrivate *priv = GET_PRIVATE (hint); + priv->severity = severity; +} + +/** + * asc_hint_get_explanation_template: + * @hint: an #AscHint instance. + * + * Gets the explanation template for this hint. + **/ +const gchar* +asc_hint_get_explanation_template (AscHint *hint) +{ + AscHintPrivate *priv = GET_PRIVATE (hint); + return priv->explanation_tmpl; +} + +/** + * asc_hint_set_explanation_template: + * @hint: an #AscHint instance. + * + * Sets the explanation template for this hint. + **/ +void +asc_hint_set_explanation_template (AscHint *hint, const gchar *explanation_tmpl) +{ + AscHintPrivate *priv = GET_PRIVATE (hint); + as_ref_string_assign_safe (&priv->explanation_tmpl, explanation_tmpl); +} + +/** + * asc_hint_is_error: + * @hint: an #AscHint instance. + * + * Returns: %TRUE if this hint describes an error. + **/ +gboolean +asc_hint_is_error (AscHint *hint) +{ + AscHintPrivate *priv = GET_PRIVATE (hint); + return priv->severity == AS_ISSUE_SEVERITY_ERROR; +} + +/** + * asc_hint_is_valid: + * @hint: an #AscHint instance. + * + * Check if this hint is valid (it requires at least a tag and a severity + * in order to be considered valid). + * + * Returns: %TRUE if this hint is valid. + **/ +gboolean +asc_hint_is_valid (AscHint *hint) +{ + AscHintPrivate *priv = GET_PRIVATE (hint); + return (priv->severity != AS_ISSUE_SEVERITY_UNKNOWN) && !as_is_empty (priv->tag); +} + +/** + * asc_hint_add_explanation_var: + * @hint: an #AscHint instance. + * @var_name: Name of the variable to be replaced. + * @text: Replacement for the variable name. + * + * Add a replacement variable for the explanation text. + **/ +void +asc_hint_add_explanation_var (AscHint *hint, const gchar *var_name, const gchar *text) +{ + AscHintPrivate *priv = GET_PRIVATE (hint); + g_assert_cmpint (priv->vars->len % 2, ==, 0); + + /* check if we can replace an existing value */ + for (guint i = 0; i < priv->vars->len; i += 2) { + if (g_strcmp0 (g_ptr_array_index (priv->vars, i), var_name) == 0) { + g_free (g_ptr_array_index (priv->vars, i + 1)); + g_ptr_array_index (priv->vars, i + 1) = g_strdup (text); + return; + } + } + + /* add new key-value pair */ + g_ptr_array_add (priv->vars, g_strdup (var_name)); + g_ptr_array_add (priv->vars, g_strdup (text)); +} + +/** + * asc_hint_get_explanation_vars_list: + * @hint: an #AscHint instance. + * + * Returns a list with the flattened key/value pairs for this hint. + * Values are located in uneven list entries, following their keys in even list entries. + * + * Returns: (transfer none) (element-type utf8): A flattened #GPtrArray with the key/value pairs. + **/ +GPtrArray* +asc_hint_get_explanation_vars_list (AscHint *hint) +{ + AscHintPrivate *priv = GET_PRIVATE (hint); + g_assert_cmpint (priv->vars->len % 2, ==, 0); + return priv->vars; +} + +/** + * asc_hint_format_explanation: + * @hint: an #AscHint instance. + * + * Formats the explanation template to return a human-redable issue hint + * explanation, with all placeholder variables replaced. + * + * Returns: (transfer full): Explanation text for this hint, with variables replaced. + **/ +gchar* +asc_hint_format_explanation (AscHint *hint) +{ + AscHintPrivate *priv = GET_PRIVATE (hint); + g_auto(GStrv) parts = NULL; + + g_assert_cmpint (priv->vars->len % 2, ==, 0); + if (priv->explanation_tmpl == NULL) + return NULL; + + parts = g_strsplit (priv->explanation_tmpl, "{{", -1); + for (guint i = 0; parts[i] != NULL; i++) { + gboolean replaced = FALSE; + + for (guint j = 0; j < priv->vars->len; j += 2) { + g_autofree gchar *tmp = g_strconcat (g_ptr_array_index (priv->vars, j), "}}", NULL); + g_autofree gchar *tmp2 = NULL; + if (!g_str_has_prefix (parts[i], tmp)) + continue; + + /* replace string */ + tmp2 = parts[i]; + parts[i] = parts[i] + strlen (tmp); + parts[i] = g_strconcat (g_ptr_array_index (priv->vars, j + 1), parts[i], NULL); + replaced = TRUE; + break; + } + + if (!replaced && (i != 0)) { + g_autofree gchar *tmp = NULL; + + /* keep the placeholder in place */ + tmp = parts[i]; + parts[i] = g_strconcat ("{{", parts[i], NULL); + } + } + + return g_strjoinv ("", parts); +} + +/** + * asc_hint_new: + * + * Creates a new #AscHint. + **/ +AscHint* +asc_hint_new (void) +{ + AscHint *hint; + hint = g_object_new (ASC_TYPE_HINT, NULL); + return ASC_HINT (hint); +} + +/** + * asc_hint_new_for_tag: + * @tag: The tag ID to construct this hint for. + * @error: A #GError or %NULL + * + * Creates a new #AscHint with the given tag. If the selected tag was not registered+ + * with the global tag registry, %NULL is returned and an error is set. + **/ +AscHint* +asc_hint_new_for_tag (const gchar *tag, GError **error) +{ + AscHintTag *htag; + g_autoptr(AscHint) hint = asc_hint_new (); + + htag = asc_globals_get_hint_tag_details (tag); + if (htag == NULL || htag->severity == AS_ISSUE_SEVERITY_UNKNOWN) { + g_set_error (error, + ASC_COMPOSE_ERROR, + ASC_COMPOSE_ERROR_FAILED, + "The selected hint tag '%s' could not be found. Unable to create hint object.", tag); + return NULL; + } + + asc_hint_set_tag (hint, htag->tag); + asc_hint_set_severity (hint, htag->severity); + asc_hint_set_explanation_template (hint, htag->explanation); + return g_steal_pointer (&hint); +} diff -Nru appstream-0.12.10/compose/asc-hint.h appstream-0.14.5/compose/asc-hint.h --- appstream-0.12.10/compose/asc-hint.h 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/compose/asc-hint.h 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,70 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2016-2021 Matthias Klumpp + * + * Licensed under the GNU Lesser General Public License Version 2.1 + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 2.1 of the license, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +#if !defined (__APPSTREAM_COMPOSE_H) && !defined (ASC_COMPILATION) +#error "Only can be included directly." +#endif +#pragma once + +#include +#include + +G_BEGIN_DECLS + +#define ASC_TYPE_HINT (asc_hint_get_type ()) +G_DECLARE_DERIVABLE_TYPE (AscHint, asc_hint, ASC, HINT, GObject) + +struct _AscHintClass +{ + GObjectClass parent_class; + /*< private >*/ + void (*_as_reserved1) (void); + void (*_as_reserved2) (void); + void (*_as_reserved3) (void); + void (*_as_reserved4) (void); +}; + +AscHint *asc_hint_new (void); +AscHint *asc_hint_new_for_tag (const gchar *tag, + GError **error); + +const gchar *asc_hint_get_tag (AscHint *hint); +void asc_hint_set_tag (AscHint *hint, + const gchar *tag); + +AsIssueSeverity asc_hint_get_severity (AscHint *hint); +void asc_hint_set_severity (AscHint *hint, + AsIssueSeverity severity); + +const gchar *asc_hint_get_explanation_template (AscHint *hint); +void asc_hint_set_explanation_template (AscHint *hint, + const gchar *explanation_tmpl); + +gboolean asc_hint_is_error (AscHint *hint); +gboolean asc_hint_is_valid (AscHint *hint); + +void asc_hint_add_explanation_var (AscHint *hint, + const gchar *var_name, + const gchar *text); +GPtrArray *asc_hint_get_explanation_vars_list (AscHint *hint); + +gchar *asc_hint_format_explanation (AscHint *hint); + +G_END_DECLS diff -Nru appstream-0.12.10/compose/asc-hint-tags.c appstream-0.14.5/compose/asc-hint-tags.c --- appstream-0.12.10/compose/asc-hint-tags.c 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/compose/asc-hint-tags.c 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,200 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2016-2021 Matthias Klumpp + * + * Licensed under the GNU Lesser General Public License Version 2.1 + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 2.1 of the license, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +/** + * SECTION:asc-hint-tags + * @short_description: Issue hint tags definitions for appstream-compose. + * @include: appstream-compose.h + */ + +#include "config.h" +#include "asc-hint-tags.h" + +#include "as-utils-private.h" + +AscHintTagStatic asc_hint_tag_list[] = { + { "internal-unknown-tag", + AS_ISSUE_SEVERITY_ERROR, + "The given tag was unknown. This is a bug." + }, + + { "x-dev-testsuite-error", + AS_ISSUE_SEVERITY_ERROR, + "Dummy error hint for the testsuite. Var1: {{var1}}." + }, + + { "x-dev-testsuite-info", + AS_ISSUE_SEVERITY_INFO, + "Dummy info hint for the testsuite. Var1: {{var1}}." + }, + + { "ancient-metadata", + AS_ISSUE_SEVERITY_WARNING, + "The AppStream metadata should be updated to follow a more recent version of the specification.
" + "Please consult the XML quickstart guide for " + "more information." + }, + + { "metainfo-parsing-error", + AS_ISSUE_SEVERITY_ERROR, + "Unable to parse AppStream MetaInfo file {{fname}}, the data is likely malformed.
Error: {{error}}" + }, + + { "metainfo-no-id", + AS_ISSUE_SEVERITY_ERROR, + "Could not determine an ID for the component in {{fname}}. The AppStream MetaInfo file likely lacks an <id/> tag.
" + "The identifier tag is essential for AppStream metadata, and must not be missing." + }, + + { "metainfo-license-invalid", + AS_ISSUE_SEVERITY_ERROR, + "The MetaInfo file does not seem to be licensed under a permissive license that is in the allowed set for AppStream metadata. " + "Valid permissive licenses include FSFAP, CC0-1.0 or MIT. " + "Using one of the vetted permissive licenses is required to allow distributors to include the metadata in mixed data collections " + "without the risk of license violations due to mixing incompatible licenses." + "We only support a limited set of licenses that went through legal review. Refer to " + "the specification documentation " + "for information on how to make '{{license}}' a valid expression, or consider replacing the license with one of the recognized licenses directly." + }, + + { "metainfo-unknown-type", + AS_ISSUE_SEVERITY_ERROR, + "The component has an unknown type. Please make sure this component type is mentioned in the specification, and that the" + "type= property of the component root-node in the MetaInfo XML file does not contain a spelling mistake." + }, + + { "file-read-error", + AS_ISSUE_SEVERITY_ERROR, + "Unable to read data from file {{fname}}: {{msg}}", + }, + + { "desktop-file-error", + AS_ISSUE_SEVERITY_ERROR, + "Unable to read data from .desktop file: {{msg}}", + }, + + { "desktop-entry-bad-data", + AS_ISSUE_SEVERITY_WARNING, + "Error while reading some data from the desktop-entry file: {{hint}}", + }, + + { "desktop-entry-category-invalid", + AS_ISSUE_SEVERITY_WARNING, + "The category name {{hint}} is invalid. The software can not be shown in this category.", + }, + + { "desktop-entry-value-invalid-chars", + AS_ISSUE_SEVERITY_WARNING, + "The desktop-entry field value for {{hint}} contains invalid or non-printable UTF-8 characters, which can not be properly displayed.", + }, + + { "desktop-file-hidden-set", + AS_ISSUE_SEVERITY_WARNING, + "This .desktop file has the 'Hidden' property set. This is wrong for vendor-installed .desktop files, and " + "nullifies all effects this .desktop file has (including MIME associations), which most certainly is not intentional. " + "See the specification for details." + }, + + { "desktop-entry-value-quoted", + AS_ISSUE_SEVERITY_WARNING, + "The desktop entry field value {{hint}} is quoted, which is likely unintentional." + }, + + { "desktop-entry-empty-onlyshowin", + AS_ISSUE_SEVERITY_WARNING, + "This .desktop file has the 'OnlyShowIn' property set with an empty value. This might not be intended, as this will hide " + "the application from all desktops. If you do want to hide the application from all desktops, using 'NoDisplay=true' is more explicit. " + "See the specification for details." + }, + + { "missing-launchable-desktop-file", + AS_ISSUE_SEVERITY_WARNING, + "The MetaInfo file references a .desktop file with ID '{{desktop_id}}' in its launchable tag, but the file " + "was not found in the same source tree. In order to be able to launch the software once it was installed, please place the " + "MetaInfo file and its .desktop files in the same package." + }, + + { "translation-status-error", + AS_ISSUE_SEVERITY_WARNING, + "Unable to read translation status data: {{msg}}", + }, + + { "translations-not-found", + AS_ISSUE_SEVERITY_WARNING, + "Unable to add languages information, even though a translation tag was present in the MetaInfo file. " + "Please check that its value is set correctly, and all locale files are placed in the right directories " + "(e.g. /usr/share/locale/*/LC_MESSAGES/ for Gettext .mo files)." + }, + + { "icon-not-found", + AS_ISSUE_SEVERITY_ERROR, + "The icon {{icon_fname}} was not found in the archive. This issue can have multiple reasons, " + "like the icon being in a wrong directory or not being available in a suitable size (at least 64x64px). " + "To make the icon easier to find, place it in /usr/share/icons/hicolor/<size>/apps and ensure the Icon= value" + "of the desktop-entry file is set correctly." + }, + + { "no-stock-icon", + AS_ISSUE_SEVERITY_ERROR, + "The component has no stock icon set, even though it requires one (or a `local` icon) to be valid." + }, + + { "icon-write-error", + AS_ISSUE_SEVERITY_ERROR, + "Unable to store icon {{fname}}: {{msg}}" + }, + + { "duplicate-component", + AS_ISSUE_SEVERITY_ERROR, + "A component with this ID already exists. AppStream IDs must be unique, any subsequent components " + "have been ignored. Please resolve the ID conflict!" + }, + + { NULL, AS_ISSUE_SEVERITY_UNKNOWN, NULL } +}; + +/** + * asc_hint_tag_new: + * + * Create a new #AscHintTag struct with the given values. + */ +AscHintTag* +asc_hint_tag_new (const gchar *tag, AsIssueSeverity severity, const gchar *explanation) +{ + AscHintTag *htag = g_new0 (AscHintTag, 1); + htag->severity = severity; + htag->tag = g_ref_string_new_intern (tag); + htag->explanation = g_ref_string_new_intern (explanation); + + return htag; +} + +/** + * asc_hint_tag_free: + * + * Free a dynamically allocated hint tag struct. + */ +void +asc_hint_tag_free (AscHintTag *htag) +{ + as_ref_string_release (htag->tag); + as_ref_string_release (htag->explanation); + g_free (htag); +} diff -Nru appstream-0.12.10/compose/asc-hint-tags.h appstream-0.14.5/compose/asc-hint-tags.h --- appstream-0.12.10/compose/asc-hint-tags.h 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/compose/asc-hint-tags.h 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,52 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2018-2021 Matthias Klumpp + * + * Licensed under the GNU Lesser General Public License Version 2.1 + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 2.1 of the license, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +#if !defined (__APPSTREAM_COMPOSE_H) && !defined (ASC_COMPILATION) +#error "Only can be included directly." +#endif +#pragma once + +#include +#include "as-validator-issue.h" + +G_BEGIN_DECLS +#pragma GCC visibility push(hidden) + +typedef struct { + GRefString *tag; + AsIssueSeverity severity; + GRefString *explanation; +} AscHintTag; + +AscHintTag *asc_hint_tag_new (const gchar *tag, + AsIssueSeverity severity, + const gchar *explanation); +void asc_hint_tag_free (AscHintTag *htag); + +typedef struct { + const gchar *tag; + AsIssueSeverity severity; + const gchar *explanation; +} AscHintTagStatic; + +extern AscHintTagStatic asc_hint_tag_list[]; + +#pragma GCC visibility pop +G_END_DECLS diff -Nru appstream-0.12.10/compose/asc-image.c appstream-0.14.5/compose/asc-image.c --- appstream-0.12.10/compose/asc-image.c 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/compose/asc-image.c 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,1080 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2016-2021 Matthias Klumpp + * Copyright (C) 2014-2016 Richard Hughes + * + * Licensed under the GNU Lesser General Public License Version 2.1 + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 2.1 of the license, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +/** + * SECTION:asc-image + * @short_description: Basic image rendering functions. + * @include: appstream-compose.h + */ + +#include "config.h" +#include "asc-image.h" + +#include +#include + +#include "asc-globals.h" + +struct _AscImage +{ + GObject parent_instance; +}; + +typedef struct +{ + GdkPixbuf *pix; + guint width; + guint height; +} AscImagePrivate; + +G_DEFINE_TYPE_WITH_PRIVATE (AscImage, asc_image, G_TYPE_OBJECT) +#define GET_PRIVATE(o) (asc_image_get_instance_private (o)) + +/** + * asc_image_error_quark: + * + * Return value: An error quark. + **/ +GQuark +asc_image_error_quark (void) +{ + static GQuark quark = 0; + if (!quark) + quark = g_quark_from_static_string ("AscImageError"); + return quark; +} + +/** + * asc_image_format_to_string: + * @format: the %AscImageFormat. + * + * Converts the enumerated value to an text representation. + * + * Returns: string version of @format + **/ +const gchar* +asc_image_format_to_string (AscImageFormat format) +{ + if (format == ASC_IMAGE_FORMAT_PNG) + return "png"; + if (format == ASC_IMAGE_FORMAT_JPEG) + return "jpeg"; + if (format == ASC_IMAGE_FORMAT_GIF) + return "gif"; + if (format == ASC_IMAGE_FORMAT_SVG) + return "svg"; + if (format == ASC_IMAGE_FORMAT_SVGZ) + return "svgz"; + if (format == ASC_IMAGE_FORMAT_WEBP) + return "webp"; + if (format == ASC_IMAGE_FORMAT_AVIF) + return "avif"; + if (format == ASC_IMAGE_FORMAT_XPM) + return "xpm"; + return NULL; +} + +/** + * asc_image_format_from_string: + * @str: the string. + * + * Converts the text representation to an enumerated value. + * + * Returns: a #AscImageFormat or %ASC_IMAGE_FORMAT_UNKNOWN for unknown + **/ +AscImageFormat +asc_image_format_from_string (const gchar *str) +{ + if (g_strcmp0 (str, "png") == 0) + return ASC_IMAGE_FORMAT_PNG; + if (g_strcmp0 (str, "jpeg") == 0) + return ASC_IMAGE_FORMAT_JPEG; + if (g_strcmp0 (str, "gif") == 0) + return ASC_IMAGE_FORMAT_GIF; + if (g_strcmp0 (str, "svg") == 0) + return ASC_IMAGE_FORMAT_SVG; + if (g_strcmp0 (str, "svgz") == 0) + return ASC_IMAGE_FORMAT_SVGZ; + if (g_strcmp0 (str, "webp") == 0) + return ASC_IMAGE_FORMAT_WEBP; + if (g_strcmp0 (str, "avif") == 0) + return ASC_IMAGE_FORMAT_AVIF; + if (g_strcmp0 (str, "xpm") == 0) + return ASC_IMAGE_FORMAT_XPM; + return ASC_IMAGE_FORMAT_UNKNOWN; +} + +/** + * asc_image_format_from_filename: + * @fname: the filename. + * + * Returns the image format type based on the given file's filename. + * + * Returns: a #AscImageFormat or %ASC_IMAGE_FORMAT_UNKNOWN for unknown + **/ +AscImageFormat +asc_image_format_from_filename (const gchar *fname) +{ + g_autofree gchar *fname_low = g_ascii_strdown (fname, -1); + + if (g_str_has_suffix (fname_low, ".png")) + return ASC_IMAGE_FORMAT_PNG; + if (g_str_has_suffix (fname_low, ".jpeg") || g_str_has_suffix (fname_low, ".jpg")) + return ASC_IMAGE_FORMAT_JPEG; + if (g_str_has_suffix (fname_low, ".gif")) + return ASC_IMAGE_FORMAT_GIF; + if (g_str_has_suffix (fname_low, ".svg") ) + return ASC_IMAGE_FORMAT_SVG; + if (g_str_has_suffix (fname_low, ".svgz")) + return ASC_IMAGE_FORMAT_SVGZ; + if (g_str_has_suffix (fname_low, ".webp")) + return ASC_IMAGE_FORMAT_WEBP; + if (g_str_has_suffix (fname_low, ".avif")) + return ASC_IMAGE_FORMAT_AVIF; + if (g_str_has_suffix (fname_low, ".xpm")) + return ASC_IMAGE_FORMAT_XPM; + return ASC_IMAGE_FORMAT_UNKNOWN; +} + +static void +asc_image_finalize (GObject *object) +{ + AscImage *image = ASC_IMAGE (object); + AscImagePrivate *priv = GET_PRIVATE (image); + + if (priv->pix != NULL) + g_object_unref (priv->pix); + + G_OBJECT_CLASS (asc_image_parent_class)->finalize (object); +} + +static void +asc_image_init (AscImage *image) +{ +} + +static void +asc_image_class_init (AscImageClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + object_class->finalize = asc_image_finalize; +} + +/** + * asc_image_new: + * + * Creates a new #AscImage. + **/ +AscImage* +asc_image_new (void) +{ + AscImage *image; + image = g_object_new (ASC_TYPE_IMAGE, NULL); + return ASC_IMAGE (image); +} + +/** + * asc_optimize_png: + * @fname: Filename of the PNG image to optimize. + * @error: A #GError or %NULL + * + * Optimizes a PNG graphic for size with optipng, if its binary + * is available and this feature is enabled. + **/ +gboolean +asc_optimize_png (const gchar *fname, GError **error) +{ + gint exit_status; + gboolean r; + const gchar *optipng_path; + g_autofree gchar *opng_stdout = NULL; + g_autofree gchar *opng_stderr = NULL; + g_autofree const gchar **argv = NULL; + GError *tmp_error = NULL; + + if (!asc_globals_get_use_optipng ()) + return TRUE; + + optipng_path = asc_globals_get_optipng_binary (); + if (optipng_path == NULL) { + g_set_error (error, + ASC_IMAGE_ERROR, + ASC_IMAGE_ERROR_FAILED, + "optipng not found in $PATH"); + return FALSE; + } + + argv = g_new0 (const gchar*, 2 + 1); + argv[0] = optipng_path; + argv[1] = fname; + + /* NOTE: Maybe add an option to run optipng with stronger optimization? (>= -o4) */ + r = g_spawn_sync (NULL, /* working directory */ + (gchar**) argv, + NULL, /* envp */ + G_SPAWN_LEAVE_DESCRIPTORS_OPEN, + NULL, /* child setup */ + NULL, /* user data */ + &opng_stdout, + &opng_stderr, + &exit_status, + &tmp_error); + if (!r) { + g_propagate_prefixed_error (error, tmp_error, "Failed to spawn optipng."); + return FALSE; + } + + if (exit_status != 0) { + /* FIXME: Maybe emit this as proper error, instead of just logging it? */ + g_warning ("Optipng on '%s' failed with error code %i: %s%s", + fname, exit_status, opng_stderr? opng_stderr : "", opng_stdout? opng_stdout : ""); + } + + return TRUE; +} + +/** + * asc_image_supported_format_names: + * + * Get a set of image format names we can currently read + * (via GdkPixbuf). + * + * Returns: (transfer full): A hash set of format names. + **/ +GHashTable* +asc_image_supported_format_names (void) +{ + g_autoptr(GSList) fm_list = NULL; + GHashTable *res; + + res = g_hash_table_new_full (g_str_hash, + g_str_equal, + g_free, + NULL); + fm_list = gdk_pixbuf_get_formats (); + + if (fm_list == NULL) + return res; + + for (GSList *l = fm_list; l != NULL; l = l->next) + g_hash_table_add (res, + gdk_pixbuf_format_get_name (l->data)); + + return res; +} + +/** + * asc_image_load_pixbuf: + **/ +static gboolean +asc_image_load_pixbuf (AscImage *image, + GdkPixbuf *pixbuf, + guint dest_size, + guint src_size_min, + AscImageLoadFlags flags, + GError **error) +{ + guint pixbuf_height; + guint pixbuf_width; + guint tmp_height; + guint tmp_width; + g_autoptr(GdkPixbuf) pixbuf_tmp = NULL; + g_autoptr(GdkPixbuf) pixbuf_new = NULL; + + /* check size */ + if (gdk_pixbuf_get_width (pixbuf) < (gint) src_size_min && + gdk_pixbuf_get_height (pixbuf) < (gint) src_size_min) { + g_set_error (error, + ASC_IMAGE_ERROR, + ASC_IMAGE_ERROR_FAILED, + "Image was too small %ix%i", + gdk_pixbuf_get_width (pixbuf), + gdk_pixbuf_get_height (pixbuf)); + return FALSE; + } + + /* don't do anything to an icon with the perfect size */ + pixbuf_width = (guint) gdk_pixbuf_get_width (pixbuf); + pixbuf_height = (guint) gdk_pixbuf_get_height (pixbuf); + if (pixbuf_width == dest_size && pixbuf_height == dest_size) { + asc_image_set_pixbuf (image, pixbuf); + return TRUE; + } + + /* this makes icons look blurry, but allows the software center to look + * good as icons are properly aligned in the UI layout */ + if (as_flags_contains (flags, ASC_IMAGE_LOAD_FLAG_ALWAYS_RESIZE)) { + pixbuf_new = gdk_pixbuf_scale_simple (pixbuf, + (gint) dest_size, + (gint) dest_size, + GDK_INTERP_HYPER); + asc_image_set_pixbuf (image, pixbuf_new); + return TRUE; + } + + /* never scale up, just pad */ + if (pixbuf_width < dest_size && pixbuf_height < dest_size) { + g_debug ("icon padded to %ux%u as size %ux%u", + dest_size, dest_size, + pixbuf_width, pixbuf_height); + pixbuf_new = gdk_pixbuf_new (GDK_COLORSPACE_RGB, TRUE, 8, + (gint) dest_size, (gint) dest_size); + gdk_pixbuf_fill (pixbuf_new, 0x00000000); + gdk_pixbuf_copy_area (pixbuf, + 0, 0, /* of src */ + (gint) pixbuf_width, + (gint) pixbuf_height, + pixbuf_new, + (gint) (dest_size - pixbuf_width) / 2, + (gint) (dest_size - pixbuf_height) / 2); + asc_image_set_pixbuf (image, pixbuf_new); + return TRUE; + } + + /* is the aspect ratio perfectly square */ + if (pixbuf_width == pixbuf_height) { + pixbuf_new = gdk_pixbuf_scale_simple (pixbuf, + (gint) dest_size, + (gint) dest_size, + GDK_INTERP_HYPER); + asc_image_set_pixbuf (image, pixbuf_new); + return TRUE; + } + + /* create new square pixbuf with alpha padding */ + pixbuf_new = gdk_pixbuf_new (GDK_COLORSPACE_RGB, TRUE, 8, + (gint) dest_size, (gint) dest_size); + gdk_pixbuf_fill (pixbuf_new, 0x00000000); + if (pixbuf_width > pixbuf_height) { + tmp_width = dest_size; + tmp_height = dest_size * pixbuf_height / pixbuf_width; + } else { + tmp_width = dest_size * pixbuf_width / pixbuf_height; + tmp_height = dest_size; + } + pixbuf_tmp = gdk_pixbuf_scale_simple (pixbuf, + (gint) tmp_width, + (gint) tmp_height, + GDK_INTERP_HYPER); + if (as_flags_contains (flags, ASC_IMAGE_LOAD_FLAG_SHARPEN)) + asc_pixbuf_sharpen (pixbuf_tmp, 1, -0.5); + gdk_pixbuf_copy_area (pixbuf_tmp, + 0, 0, /* of src */ + (gint) tmp_width, (gint) tmp_height, + pixbuf_new, + (gint) (dest_size - tmp_width) / 2, + (gint) (dest_size - tmp_height) / 2); + asc_image_set_pixbuf (image, pixbuf_new); + return TRUE; +} + +/** + * asc_image_new_from_file: + * @fname: Name of the file to load. + * @dest_size: The size of the constructed pixbuf, or 0 for the native size + * @flags: a #AscImageLoadFlags, e.g. %ASC_IMAGE_LOAD_FLAG_NONE + * @error: A #GError or %NULL + * + * Creates a new #AscImage from a file on the filesystem. + **/ +AscImage* +asc_image_new_from_file (const gchar* fname, + guint dest_size, + AscImageLoadFlags flags, + GError **error) +{ + gboolean ret; + g_autoptr(AscImage) image = asc_image_new(); + + ret = asc_image_load_filename (image, + fname, + dest_size, + 0, + flags, + error); + if (!ret) + return NULL; + return g_steal_pointer (&image); +} + +/** + * asc_image_new_from_data: + * @data: Data to load. + * @len: Length of the data to load. + * @dest_size: The size of the constructed pixbuf, or 0 for the native size + * @flags: a #AscImageLoadFlags, e.g. %ASC_IMAGE_LOAD_FLAG_NONE + * @compressed: %TRUE if passed data is gzip-compressed + * @error: A #GError or %NULL + * + * Creates a new #AscImage from data in memory. + **/ +AscImage* +asc_image_new_from_data (const void *data, gssize len, + guint dest_size, + gboolean compressed, + AscImageLoadFlags flags, + GError **error) +{ + gboolean ret; + g_autoptr(GInputStream) istream = NULL; + g_autoptr(GInputStream) dstream = NULL; + g_autoptr(GConverter) conv = NULL; + g_autoptr(GdkPixbuf) pix = NULL; + g_autoptr(AscImage) image = asc_image_new(); + + istream = g_memory_input_stream_new_from_data (data, len, NULL); + if (compressed) { + conv = G_CONVERTER (g_zlib_decompressor_new (G_ZLIB_COMPRESSOR_FORMAT_GZIP)); + dstream = g_converter_input_stream_new (istream, conv); + } else { + dstream = g_object_ref (istream); + } + + if (dest_size == 0) { + /* use the native size and don't perform any scaling */ + pix = gdk_pixbuf_new_from_stream (dstream, NULL, error); + if (pix == NULL) + return NULL; + + asc_image_set_pixbuf (image, pix); + return g_steal_pointer (&image); + } + + /* load & scale */ + if (as_flags_contains (flags, ASC_IMAGE_LOAD_FLAG_ALWAYS_RESIZE)) { + pix = gdk_pixbuf_new_from_stream_at_scale (dstream, + dest_size, dest_size, + TRUE, + NULL, + error); + if (pix == NULL) + return NULL; + } else { + /* just load, we will do resizing later */ + pix = gdk_pixbuf_new_from_stream (dstream, NULL, error); + if (pix == NULL) + return NULL; + } + ret = asc_image_load_pixbuf (image, + pix, + dest_size, + 0, + flags, + error); + if (!ret) + return NULL; + + return g_steal_pointer (&image); +} + +/** + * asc_image_pixbuf_new_from_gz: + * + * Wrapper to allow GdkPixbuf to load SVG images from SVGZ files as well. + */ +static GdkPixbuf* +asc_image_pixbuf_new_from_gz (const gchar *filename, gint width, gint height, GError **error) +{ + g_autoptr(GFile) file = NULL; + g_autoptr(GInputStream) file_stream = NULL; + g_autoptr(GInputStream) stream_data = NULL; + g_autoptr(GConverter) conv = NULL; + g_autoptr(GFileInfo) info = NULL; + const gchar *content_type = NULL; + + file = g_file_new_for_path (filename); + if (!g_file_query_exists (file, NULL)) { + g_set_error_literal (error, + ASC_IMAGE_ERROR, + ASC_IMAGE_ERROR_FAILED, + "Image file does not exist"); + return NULL; + } + info = g_file_query_info (file, + G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE, + G_FILE_QUERY_INFO_NONE, + NULL, NULL); + if (info != NULL) + content_type = g_file_info_get_attribute_string (info, G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE); + + file_stream = G_INPUT_STREAM (g_file_read (file, NULL, error)); + if (file_stream == NULL) + return NULL; + + if ((g_strcmp0 (content_type, "application/gzip") == 0) || (g_strcmp0 (content_type, "application/x-gzip") == 0)) { + /* decompress the GZip stream */ + conv = G_CONVERTER (g_zlib_decompressor_new (G_ZLIB_COMPRESSOR_FORMAT_GZIP)); + stream_data = g_converter_input_stream_new (file_stream, conv); + } else { + stream_data = g_object_ref (file_stream); + } + + if (width != 0 || height != 0) + return gdk_pixbuf_new_from_stream_at_scale (stream_data, + width, height, + TRUE, + NULL, + error); + else + return gdk_pixbuf_new_from_stream (stream_data, NULL, error); +} + +/** + * asc_image_load_filename: + * @image: a #AscImage instance. + * @filename: filename to read from + * @dest_size: The size of the constructed pixbuf, or 0 for the native size + * @src_size_min: The smallest source size allowed, or 0 for none + * @flags: a #AscImageLoadFlags, e.g. %ASC_IMAGE_LOAD_FLAG_NONE + * @error: A #GError or %NULL. + * + * Reads an image from a file. + * + * Returns: %TRUE for success + **/ +gboolean +asc_image_load_filename (AscImage *image, + const gchar *filename, + guint dest_size, + guint src_size_min, + AscImageLoadFlags flags, + GError **error) +{ + g_autoptr(GdkPixbuf) pixbuf_src = NULL; + + g_return_val_if_fail (ASC_IS_IMAGE (image), FALSE); + + /* only support allowed types, unless support for any image is explicitly requested */ + if (!as_flags_contains(flags, ASC_IMAGE_LOAD_FLAG_ALLOW_UNSUPPORTED)) { + GdkPixbufFormat *fmt; + g_autofree gchar *name = NULL; + fmt = gdk_pixbuf_get_file_info (filename, NULL, NULL); + if (fmt == NULL) { + g_set_error_literal (error, + ASC_IMAGE_ERROR, + ASC_IMAGE_ERROR_FAILED, + "Image format was not recognized"); + return FALSE; + } + name = gdk_pixbuf_format_get_name (fmt); + if (asc_image_format_from_string (name) == ASC_IMAGE_FORMAT_UNKNOWN) { + g_set_error (error, + ASC_IMAGE_ERROR, + ASC_IMAGE_ERROR_FAILED, + "Image format %s is not supported", + name); + return FALSE; + } + } + + /* load the image of the native size */ + if (dest_size == 0) { + g_autoptr(GdkPixbuf) pixbuf = NULL; + pixbuf = asc_image_pixbuf_new_from_gz (filename, 0, 0, error); + if (pixbuf == NULL) + return FALSE; + asc_image_set_pixbuf (image, pixbuf); + return TRUE; + } + + /* open file in native size */ + if (g_str_has_suffix (filename, ".svg") || g_str_has_suffix (filename, ".svgz")) { + pixbuf_src = asc_image_pixbuf_new_from_gz (filename, + (gint) dest_size, + (gint) dest_size, + error); + } else { + pixbuf_src = asc_image_pixbuf_new_from_gz (filename, 0, 0, error); + } + if (pixbuf_src == NULL) + return FALSE; + + /* create from pixbuf & resize */ + return asc_image_load_pixbuf (image, + pixbuf_src, + dest_size, + src_size_min, + flags, + error); +} + +/** + * asc_image_get_pixbuf: + * @image: a #AscImage instance. + * + * Gets the image pixbuf if set. + * + * Returns: (transfer none): the #GdkPixbuf, or %NULL + **/ +GdkPixbuf * +asc_image_get_pixbuf (AscImage *image) +{ + AscImagePrivate *priv = GET_PRIVATE (image); + g_return_val_if_fail (ASC_IS_IMAGE (image), NULL); + return priv->pix; +} + +/** + * asc_image_set_pixbuf: + * @image: a #AscImage instance. + * @pixbuf: the #GdkPixbuf, or %NULL + * + * Sets the image pixbuf. + **/ +void +asc_image_set_pixbuf (AscImage *image, GdkPixbuf *pixbuf) +{ + AscImagePrivate *priv = GET_PRIVATE (image); + g_return_if_fail (ASC_IS_IMAGE (image)); + + g_set_object (&priv->pix, pixbuf); + if (pixbuf == NULL) + return; + priv->width = (guint) gdk_pixbuf_get_width (pixbuf); + priv->height = (guint) gdk_pixbuf_get_height (pixbuf); +} + +/** + * asc_image_get_width: + * @image: an #AscImage instance. + * + * Gets the image width. + **/ +guint +asc_image_get_width (AscImage *image) +{ + AscImagePrivate *priv = GET_PRIVATE (image); + return priv->width; +} + +/** + * asc_image_get_height: + * @image: an #AscImage instance. + * + * Gets the image height. + **/ +guint +asc_image_get_height (AscImage *image) +{ + AscImagePrivate *priv = GET_PRIVATE (image); + return priv->height; +} + +/** + * asc_image_scale: + * @image: an #AscImage instance. + * @new_width: The new width. + * @new_height: the new height. + * + * Scale the image to the given size. + **/ +void +asc_image_scale (AscImage *image, guint new_width, guint new_height) +{ + AscImagePrivate *priv = GET_PRIVATE (image); + g_autoptr(GdkPixbuf) res_pix = NULL; + if (priv->pix == NULL) + return; + + res_pix = gdk_pixbuf_scale_simple (priv->pix, + new_width, + new_height, + GDK_INTERP_BILINEAR); + if (res_pix == NULL) + g_error("Unable to allocate enough memory for image scaling."); + + /* set our current image to the scaled version */ + asc_image_set_pixbuf (image, res_pix); +} + +/** + * asc_image_scale_to_width: + * @image: an #AscImage instance. + * @new_width: The new width. + * + * Scale the image to the given width, preserving + * its aspect ratio. + **/ +void +asc_image_scale_to_width (AscImage *image, guint new_width) +{ + double scale; + guint new_height; + scale = (double) new_width / (double) asc_image_get_width (image); + new_height = floor (asc_image_get_height (image) * scale); + + asc_image_scale (image, new_width, new_height); +} + +/** + * asc_image_scale_to_height: + * @image: an #AscImage instance. + * @new_height: the new height. + * + * Scale the image to the given height, preserving + * its aspect ratio. + **/ +void +asc_image_scale_to_height (AscImage *image, guint new_height) +{ + double scale; + guint new_width; + scale = (double) new_height / (double) asc_image_get_height (image); + new_width = floor (asc_image_get_width (image) * scale); + + asc_image_scale (image, new_width, new_height); +} + +/** + * asc_image_scale_to_fit: + * @image: an #AscImage instance. + * @size: the maximum edge length. + * + * Scale the image to fir in a square with the given edge length, + * and keep its aspect ratio. + **/ +void +asc_image_scale_to_fit (AscImage *image, guint size) +{ + if (asc_image_get_height (image) > asc_image_get_width (image)) + asc_image_scale_to_height (image, size); + else + asc_image_scale_to_width (image, size); +} + +/** + * asc_image_save_pixbuf: + * @image: a #AscImage instance. + * @width: target width, or 0 for default + * @height: target height, or 0 for default + * @flags: some #AscImageSaveFlags values, e.g. %ASC_IMAGE_SAVE_FLAG_PAD_16_9 + * + * Resamples a pixbuf to a specific size. + * + * Returns: (transfer full): A #GdkPixbuf of the specified size + **/ +GdkPixbuf * +asc_image_save_pixbuf (AscImage *image, + guint width, + guint height, + AscImageSaveFlags flags) +{ + AscImagePrivate *priv = GET_PRIVATE (image); + GdkPixbuf *pixbuf = NULL; + guint tmp_height; + guint tmp_width; + guint pixbuf_height; + guint pixbuf_width; + g_autoptr(GdkPixbuf) pixbuf_tmp = NULL; + + g_return_val_if_fail (ASC_IS_IMAGE (image), NULL); + + /* never set */ + if (priv->pix == NULL) + return NULL; + + /* 0 means 'default' */ + if (width == 0) + width = (guint) gdk_pixbuf_get_width (priv->pix); + if (height == 0) + height = (guint) gdk_pixbuf_get_height (priv->pix); + + /* don't do anything to an image with the correct size */ + pixbuf_width = (guint) gdk_pixbuf_get_width (priv->pix); + pixbuf_height = (guint) gdk_pixbuf_get_height (priv->pix); + if (width == pixbuf_width && height == pixbuf_height) + return g_object_ref (priv->pix); + + /* is the aspect ratio of the source perfectly 16:9 */ + if (flags == ASC_IMAGE_SAVE_FLAG_NONE || + (pixbuf_width / 16) * 9 == pixbuf_height) { + pixbuf = gdk_pixbuf_scale_simple (priv->pix, + (gint) width, (gint) height, + GDK_INTERP_HYPER); + if (as_flags_contains (flags, ASC_IMAGE_SAVE_FLAG_SHARPEN)) + asc_pixbuf_sharpen (pixbuf, 1, -0.5); + if (as_flags_contains (flags, ASC_IMAGE_SAVE_FLAG_BLUR)) + asc_pixbuf_blur (pixbuf, 5, 3); + return pixbuf; + } + + /* create new 16:9 pixbuf with alpha padding */ + pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, + TRUE, 8, + (gint) width, + (gint) height); + gdk_pixbuf_fill (pixbuf, 0x00000000); + /* check the ratio to see which property needs to be fitted and which needs + * to be reduced */ + if (pixbuf_width * 9 > pixbuf_height * 16) { + tmp_width = width; + tmp_height = width * pixbuf_height / pixbuf_width; + } else { + tmp_width = height * pixbuf_width / pixbuf_height; + tmp_height = height; + } + pixbuf_tmp = gdk_pixbuf_scale_simple (priv->pix, + (gint) tmp_width, + (gint) tmp_height, + GDK_INTERP_HYPER); + if (as_flags_contains (flags, ASC_IMAGE_SAVE_FLAG_SHARPEN)) + asc_pixbuf_sharpen (pixbuf_tmp, 1, -0.5); + if (as_flags_contains (flags, ASC_IMAGE_SAVE_FLAG_BLUR)) + asc_pixbuf_blur (pixbuf_tmp, 5, 3); + gdk_pixbuf_copy_area (pixbuf_tmp, + 0, 0, /* of src */ + (gint) tmp_width, + (gint) tmp_height, + pixbuf, + (gint) (width - tmp_width) / 2, + (gint) (height - tmp_height) / 2); + return pixbuf; +} + +/** + * asc_image_save_filename: + * @image: a #AscImage instance. + * @filename: filename to write to + * @width: target width, or 0 for default + * @height: target height, or 0 for default + * @flags: some #AscImageSaveFlags values, e.g. %ASC_IMAGE_SAVE_FLAG_PAD_16_9 + * @error: A #GError or %NULL. + * + * Saves the image to a file. + * + * Returns: %TRUE for success + **/ +gboolean +asc_image_save_filename (AscImage *image, + const gchar *filename, + guint width, + guint height, + AscImageSaveFlags flags, + GError **error) +{ + g_autoptr(GdkPixbuf) pixbuf = NULL; + + /* save source file */ + pixbuf = asc_image_save_pixbuf (image, width, height, flags); + if (!gdk_pixbuf_save (pixbuf, filename, "png", error, NULL)) + return FALSE; + + if (!as_flags_contains (flags, ASC_IMAGE_SAVE_FLAG_OPTIMIZE)) + return TRUE; + return asc_optimize_png (filename, error); +} + +static void +asc_pixbuf_blur_private (GdkPixbuf *src, GdkPixbuf *dest, gint radius, guchar *div_kernel_size) +{ + gint width, height, src_rowstride, dest_rowstride, n_channels; + guchar *p_src, *p_dest, *c1, *c2; + gint x, y, i, i1, i2, width_minus_1, height_minus_1, radius_plus_1; + gint r, g, b, a; + guchar *p_dest_row, *p_dest_col; + + width = gdk_pixbuf_get_width (src); + height = gdk_pixbuf_get_height (src); + n_channels = gdk_pixbuf_get_n_channels (src); + radius_plus_1 = radius + 1; + + /* horizontal blur */ + p_src = gdk_pixbuf_get_pixels (src); + p_dest = gdk_pixbuf_get_pixels (dest); + src_rowstride = gdk_pixbuf_get_rowstride (src); + dest_rowstride = gdk_pixbuf_get_rowstride (dest); + width_minus_1 = width - 1; + for (y = 0; y < height; y++) { + + /* calc the initial sums of the kernel */ + r = g = b = a = 0; + for (i = -radius; i <= radius; i++) { + c1 = p_src + (CLAMP (i, 0, width_minus_1) * n_channels); + r += c1[0]; + g += c1[1]; + b += c1[2]; + } + + p_dest_row = p_dest; + for (x = 0; x < width; x++) { + /* set as the mean of the kernel */ + p_dest_row[0] = div_kernel_size[r]; + p_dest_row[1] = div_kernel_size[g]; + p_dest_row[2] = div_kernel_size[b]; + p_dest_row += n_channels; + + /* the pixel to add to the kernel */ + i1 = x + radius_plus_1; + if (i1 > width_minus_1) + i1 = width_minus_1; + c1 = p_src + (i1 * n_channels); + + /* the pixel to remove from the kernel */ + i2 = x - radius; + if (i2 < 0) + i2 = 0; + c2 = p_src + (i2 * n_channels); + + /* calc the new sums of the kernel */ + r += c1[0] - c2[0]; + g += c1[1] - c2[1]; + b += c1[2] - c2[2]; + } + + p_src += src_rowstride; + p_dest += dest_rowstride; + } + + /* vertical blur */ + p_src = gdk_pixbuf_get_pixels (dest); + p_dest = gdk_pixbuf_get_pixels (src); + src_rowstride = gdk_pixbuf_get_rowstride (dest); + dest_rowstride = gdk_pixbuf_get_rowstride (src); + height_minus_1 = height - 1; + for (x = 0; x < width; x++) { + + /* calc the initial sums of the kernel */ + r = g = b = a = 0; + for (i = -radius; i <= radius; i++) { + c1 = p_src + (CLAMP (i, 0, height_minus_1) * src_rowstride); + r += c1[0]; + g += c1[1]; + b += c1[2]; + } + + p_dest_col = p_dest; + for (y = 0; y < height; y++) { + /* set as the mean of the kernel */ + + p_dest_col[0] = div_kernel_size[r]; + p_dest_col[1] = div_kernel_size[g]; + p_dest_col[2] = div_kernel_size[b]; + p_dest_col += dest_rowstride; + + /* the pixel to add to the kernel */ + i1 = y + radius_plus_1; + if (i1 > height_minus_1) + i1 = height_minus_1; + c1 = p_src + (i1 * src_rowstride); + + /* the pixel to remove from the kernel */ + i2 = y - radius; + if (i2 < 0) + i2 = 0; + c2 = p_src + (i2 * src_rowstride); + + /* calc the new sums of the kernel */ + r += c1[0] - c2[0]; + g += c1[1] - c2[1]; + b += c1[2] - c2[2]; + } + + p_src += n_channels; + p_dest += n_channels; + } +} + +/** + * as_pixbuf_blur: + * @src: the GdkPixbuf. + * @radius: the pixel radius for the gaussian blur, typical values are 1..3 + * @iterations: Amount to blur the image, typical values are 1..5 + * + * Blurs an image. Warning, this method is s..l..o..w... for large images. + * + * Since: 0.14.0 + **/ +void +asc_pixbuf_blur (GdkPixbuf *src, gint radius, gint iterations) +{ + gint kernel_size; + gint i; + g_autofree guchar *div_kernel_size = NULL; + g_autoptr(GdkPixbuf) tmp = NULL; + + tmp = gdk_pixbuf_new (gdk_pixbuf_get_colorspace (src), + gdk_pixbuf_get_has_alpha (src), + gdk_pixbuf_get_bits_per_sample (src), + gdk_pixbuf_get_width (src), + gdk_pixbuf_get_height (src)); + kernel_size = 2 * radius + 1; + div_kernel_size = g_new (guchar, 256 * kernel_size); + for (i = 0; i < 256 * kernel_size; i++) + div_kernel_size[i] = (guchar) (i / kernel_size); + + while (iterations-- > 0) + asc_pixbuf_blur_private (src, tmp, radius, div_kernel_size); +} + +#define interpolate_value(original, reference, distance) \ + (CLAMP (((distance) * (reference)) + \ + ((1.0 - (distance)) * (original)), 0, 255)) + +/** + * as_pixbuf_sharpen: + * @src: the GdkPixbuf. + * @radius: the pixel radius for the unsharp mask, typical values are 1..3 + * @amount: Amount to sharpen the image, typical values are -0.1 to -0.9 + * + * Sharpens an image. Warning, this method is s..l..o..w... for large images. + **/ +void +asc_pixbuf_sharpen (GdkPixbuf *src, gint radius, gdouble amount) +{ + gint width, height, rowstride, n_channels; + gint x, y; + guchar *p_blurred; + guchar *p_blurred_row; + guchar *p_src; + guchar *p_src_row; + g_autoptr(GdkPixbuf) blurred = NULL; + + blurred = gdk_pixbuf_copy (src); + asc_pixbuf_blur (blurred, radius, 3); + + width = gdk_pixbuf_get_width (src); + height = gdk_pixbuf_get_height (src); + rowstride = gdk_pixbuf_get_rowstride (src); + n_channels = gdk_pixbuf_get_n_channels (src); + + p_src = gdk_pixbuf_get_pixels (src); + p_blurred = gdk_pixbuf_get_pixels (blurred); + + for (y = 0; y < height; y++) { + p_src_row = p_src; + p_blurred_row = p_blurred; + for (x = 0; x < width; x++) { + p_src_row[0] = (guchar) interpolate_value (p_src_row[0], + p_blurred_row[0], + amount); + p_src_row[1] = (guchar) interpolate_value (p_src_row[1], + p_blurred_row[1], + amount); + p_src_row[2] = (guchar) interpolate_value (p_src_row[2], + p_blurred_row[2], + amount); + p_src_row += n_channels; + p_blurred_row += n_channels; + } + p_src += rowstride; + p_blurred += rowstride; + } +} diff -Nru appstream-0.12.10/compose/asc-image.h appstream-0.14.5/compose/asc-image.h --- appstream-0.12.10/compose/asc-image.h 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/compose/asc-image.h 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,179 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2016-2021 Matthias Klumpp + * + * Licensed under the GNU Lesser General Public License Version 2.1 + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 2.1 of the license, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +#if !defined (__APPSTREAM_COMPOSE_H) && !defined (ASC_COMPILATION) +#error "Only can be included directly." +#endif +#pragma once + +#include +#include +#include + +G_BEGIN_DECLS + +#define ASC_TYPE_IMAGE (asc_image_get_type ()) +G_DECLARE_FINAL_TYPE (AscImage, asc_image, ASC, IMAGE, GObject) + +/** + * AscImageSaveFlags: + * @ASC_IMAGE_SAVE_FLAG_NONE: No special flags set + * @ASC_IMAGE_SAVE_FLAG_OPTIMIZE: Optimize generated PNG for size + * @ASC_IMAGE_SAVE_FLAG_PAD_16_9: Pad with alpha to 16:9 aspect + * @ASC_IMAGE_SAVE_FLAG_SHARPEN: Sharpen the image to clarify detail + * @ASC_IMAGE_SAVE_FLAG_BLUR: Blur the image to clear detail + * + * The flags used for saving images. + **/ +typedef enum { + ASC_IMAGE_SAVE_FLAG_NONE = 0, + ASC_IMAGE_SAVE_FLAG_OPTIMIZE = 1 << 0, + ASC_IMAGE_SAVE_FLAG_PAD_16_9 = 1 << 1, + ASC_IMAGE_SAVE_FLAG_SHARPEN = 1 << 2, + ASC_IMAGE_SAVE_FLAG_BLUR = 1 << 3, + /*< private >*/ + ASC_IMAGE_SAVE_FLAG_LAST +} AscImageSaveFlags; + +/** + * AscImageLoadFlags: + * @ASC_IMAGE_LOAD_FLAG_NONE: No special flags set + * @ASC_IMAGE_LOAD_FLAG_SHARPEN: Sharpen the resulting image + * @ASC_IMAGE_LOAD_FLAG_ALLOW_UNSUPPORTED: Allow loading of unsupported image types. + * @ASC_IMAGE_LOAD_FLAG_ALWAYS_RESIZE: Always resize the source image to the perfect size + * + * The flags used for loading images. + **/ +typedef enum { + ASC_IMAGE_LOAD_FLAG_NONE = 0, + ASC_IMAGE_LOAD_FLAG_SHARPEN = 1 << 0, + ASC_IMAGE_LOAD_FLAG_ALLOW_UNSUPPORTED = 1 << 1, + ASC_IMAGE_LOAD_FLAG_ALWAYS_RESIZE = 1 << 2, + /*< private >*/ + ASC_IMAGE_LOAD_FLAG_LAST +} AscImageLoadFlags; + +/** + * AscImageFormat: + * @ASC_IMAGE_FORMAT_UNKNOWN: Unknown image format. + * @ASC_IMAGE_FORMAT_PNG: PNG format + * @ASC_IMAGE_FORMAT_JPEG: JPEG format + * @ASC_IMAGE_FORMAT_GIF: GIF format + * @ASC_IMAGE_FORMAT_SVG: SVG format + * @ASC_IMAGE_FORMAT_SVGZ: Compressed SVG format + * @ASC_IMAGE_FORMAT_WEBP: WebP format + * @ASC_IMAGE_FORMAT_AVIF: AVIF format + * @ASC_IMAGE_FORMAT_XPM: XPM format + * + * File format of an image. + **/ +typedef enum { + ASC_IMAGE_FORMAT_UNKNOWN, + ASC_IMAGE_FORMAT_PNG, + ASC_IMAGE_FORMAT_JPEG, + ASC_IMAGE_FORMAT_GIF, + ASC_IMAGE_FORMAT_SVG, + ASC_IMAGE_FORMAT_SVGZ, + ASC_IMAGE_FORMAT_WEBP, + ASC_IMAGE_FORMAT_AVIF, + ASC_IMAGE_FORMAT_XPM, + /*< private >*/ + ASC_IMAGE_FORMAT_LAST +} AscImageFormat; + +/** + * AscImageError: + * @ASC_IMAGE_ERROR_FAILED: Generic failure. + * + * An image processing error. + **/ +typedef enum { + ASC_IMAGE_ERROR_FAILED, + /*< private >*/ + ASC_IMAGE_ERROR_LAST +} AscImageError; + +#define ASC_IMAGE_ERROR asc_image_error_quark () +GQuark asc_image_error_quark (void); + +const gchar* asc_image_format_to_string (AscImageFormat format); +AscImageFormat asc_image_format_from_string (const gchar *str); +AscImageFormat asc_image_format_from_filename (const gchar *fname); + +gboolean asc_optimize_png (const gchar *fname, + GError **error); +GHashTable *asc_image_supported_format_names (void); + +AscImage *asc_image_new (void); +AscImage *asc_image_new_from_file (const gchar* fname, + guint dest_size, + AscImageLoadFlags flags, + GError **error); +AscImage *asc_image_new_from_data (const void *data, + gssize len, + guint dest_size, + gboolean compressed, + AscImageLoadFlags flags, + GError **error); + +gboolean asc_image_load_filename (AscImage *image, + const gchar *filename, + guint dest_size, + guint src_size_min, + AscImageLoadFlags flags, + GError **error); + +GdkPixbuf *asc_image_save_pixbuf (AscImage *image, + guint width, + guint height, + AscImageSaveFlags flags); +gboolean asc_image_save_filename (AscImage *image, + const gchar *filename, + guint width, + guint height, + AscImageSaveFlags flags, + GError **error); + +GdkPixbuf *asc_image_get_pixbuf (AscImage *image); +void asc_image_set_pixbuf (AscImage *image, + GdkPixbuf *pixbuf); + +guint asc_image_get_width (AscImage *image); +guint asc_image_get_height (AscImage *image); + +void asc_image_scale (AscImage *image, + guint new_width, + guint new_height); + +void asc_image_scale_to_width (AscImage *image, + guint new_width); +void asc_image_scale_to_height (AscImage *image, + guint new_height); +void asc_image_scale_to_fit (AscImage *image, + guint size); + +void asc_pixbuf_blur (GdkPixbuf *src, + gint radius, + gint iterations); +void asc_pixbuf_sharpen (GdkPixbuf *src, + gint radius, + gdouble amount); + +G_END_DECLS diff -Nru appstream-0.12.10/compose/asc-result.c appstream-0.14.5/compose/asc-result.c --- appstream-0.12.10/compose/asc-result.c 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/compose/asc-result.c 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,809 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2016-2021 Matthias Klumpp + * + * Licensed under the GNU Lesser General Public License Version 2.1 + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 2.1 of the license, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +/** + * SECTION:asc-result + * @short_description: A composer result for a single unit. + * @include: appstream-compose.h + */ + +#include "config.h" +#include "asc-result.h" + +#include "as-utils-private.h" +#include "asc-globals-private.h" +#include "asc-utils.h" +#include "asc-hint.h" + +typedef struct +{ + AsBundleKind bundle_kind; + gchar *bundle_id; + + GHashTable *cpts; /* GRefString->AsComponent */ + GHashTable *mdata_hashes; /* AsComponent->utf8 */ + GHashTable *hints; /* GRefString->GPtrArray */ + GHashTable *gcids; /* GRefString->utf8 (component-id -> global component-id) */ +} AscResultPrivate; + +G_DEFINE_TYPE_WITH_PRIVATE (AscResult, asc_result, G_TYPE_OBJECT) +#define GET_PRIVATE(o) (asc_result_get_instance_private (o)) + +static void +asc_result_init (AscResult *result) +{ + AscResultPrivate *priv = GET_PRIVATE (result); + + priv->bundle_kind = AS_BUNDLE_KIND_UNKNOWN; + + priv->cpts = g_hash_table_new_full (g_str_hash, + g_str_equal, + (GDestroyNotify) as_ref_string_release, + g_object_unref); + priv->mdata_hashes = g_hash_table_new_full (g_direct_hash, + g_direct_equal, + NULL, + g_free); + priv->hints = g_hash_table_new_full (g_str_hash, + g_str_equal, + (GDestroyNotify) as_ref_string_release, + (GDestroyNotify) g_ptr_array_unref); + priv->gcids = g_hash_table_new_full (g_str_hash, + g_str_equal, + (GDestroyNotify) as_ref_string_release, + g_free); +} + +static void +asc_result_finalize (GObject *object) +{ + AscResult *result = ASC_RESULT (object); + AscResultPrivate *priv = GET_PRIVATE (result); + + g_free (priv->bundle_id); + + g_hash_table_unref (priv->cpts); + g_hash_table_unref (priv->mdata_hashes); + g_hash_table_unref (priv->hints); + g_hash_table_unref (priv->gcids); + + G_OBJECT_CLASS (asc_result_parent_class)->finalize (object); +} + +static void +asc_result_class_init (AscResultClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + object_class->finalize = asc_result_finalize; +} + +/** + * asc_result_unit_ignored: + * @result: an #AscResult instance. + * + * Returns: %TRUE if this result means the analyzed unit was ignored entirely.. + **/ +gboolean +asc_result_unit_ignored (AscResult *result) +{ + AscResultPrivate *priv = GET_PRIVATE (result); + return (g_hash_table_size (priv->cpts) == 0) && (g_hash_table_size (priv->hints) == 0); +} + +/** + * asc_result_components_count: + * @result: an #AscResult instance. + * + * Returns: The amount of components found for this unit. + **/ +guint +asc_result_components_count (AscResult *result) +{ + AscResultPrivate *priv = GET_PRIVATE (result); + return g_hash_table_size (priv->cpts); +} + +/** + * asc_result_hints_count: + * @result: an #AscResult instance. + * + * Returns: The amount of hints emitted for this unit. + **/ +guint +asc_result_hints_count (AscResult *result) +{ + AscResultPrivate *priv = GET_PRIVATE (result); + GHashTableIter iter; + gpointer value; + guint count = 0; + + g_hash_table_iter_init (&iter, priv->hints); + while (g_hash_table_iter_next (&iter, NULL, &value)) + count += ((GPtrArray*) value)->len; + return count; +} + +/** + * asc_result_get_bundle_kind: + * @result: an #AscResult instance. + * + * Gets the bundle kind these results are for. + **/ +AsBundleKind +asc_result_get_bundle_kind (AscResult *result) +{ + AscResultPrivate *priv = GET_PRIVATE (result); + return priv->bundle_kind; +} + +/** + * asc_result_set_bundle_kind: + * @result: an #AscResult instance. + * + * Sets the kind of the bundle these results are for. + **/ +void +asc_result_set_bundle_kind (AscResult *result, AsBundleKind kind) +{ + AscResultPrivate *priv = GET_PRIVATE (result); + priv->bundle_kind = kind; +} + +/** + * asc_result_get_bundle_id: + * @result: an #AscResult instance. + * + * Gets the ID name of the bundle (a package / Flatpak / any entity containing metadata) + * that these these results are generated for. + **/ +const gchar* +asc_result_get_bundle_id (AscResult *result) +{ + AscResultPrivate *priv = GET_PRIVATE (result); + return priv->bundle_id; +} + +/** + * asc_result_set_bundle_id: + * @result: an #AscResult instance. + * @id: The new ID. + * + * Sets the name of the bundle these results are for. + **/ +void +asc_result_set_bundle_id (AscResult *result, const gchar *id) +{ + AscResultPrivate *priv = GET_PRIVATE (result); + g_free (priv->bundle_id); + priv->bundle_id = g_strdup (id); +} + +/** + * asc_result_get_component: + * @result: an #AscResult instance. + * @cid: Component ID to look for. + * + * Gets the component by its component-id- + * + * returns: (transfer none): An #AsComponent + **/ +AsComponent* +asc_result_get_component (AscResult *result, const gchar *cid) +{ + AscResultPrivate *priv = GET_PRIVATE (result); + return g_hash_table_lookup (priv->cpts, cid); +} + +/** + * asc_result_fetch_components: + * @result: an #AscResult instance. + * + * Gets all components this #AsResult instance contains. + * + * Returns: (transfer container) (element-type AsComponent) : An array of #AsComponent + **/ +GPtrArray* +asc_result_fetch_components (AscResult *result) +{ + AscResultPrivate *priv = GET_PRIVATE (result); + GPtrArray *res; + GHashTableIter iter; + gpointer value; + + res = g_ptr_array_new_full (g_hash_table_size (priv->cpts), + g_object_unref); + + g_hash_table_iter_init (&iter, priv->cpts); + while (g_hash_table_iter_next (&iter, NULL, &value)) + g_ptr_array_add (res, g_object_ref (AS_COMPONENT (value))); + return res; +} + +/** + * asc_result_get_hints: + * @result: an #AscResult instance. + * @cid: Component ID to look for. + * + * Gets hints for a component with the given component-id. + * + * Returns: (transfer none) (element-type AscHint): An array of #AscHint or %NULL + **/ +GPtrArray* +asc_result_get_hints (AscResult *result, const gchar *cid) +{ + AscResultPrivate *priv = GET_PRIVATE (result); + return g_hash_table_lookup (priv->hints, cid); +} + +/** + * asc_result_fetch_hints_all: + * @result: an #AscResult instance. + * + * Get a list of all hints for all components that are registered with this result. + * + * Returns: (transfer container) (element-type AscHint) : An array of #AscHint + **/ +GPtrArray* +asc_result_fetch_hints_all (AscResult *result) +{ + AscResultPrivate *priv = GET_PRIVATE (result); + GPtrArray *res; + GHashTableIter iter; + gpointer value; + + res = g_ptr_array_new_full (g_hash_table_size (priv->hints), + g_object_unref); + + g_hash_table_iter_init (&iter, priv->hints); + while (g_hash_table_iter_next (&iter, NULL, &value)) { + GPtrArray *hints = value; + for (guint i = 0; i < hints->len; i++) + g_ptr_array_add (res, + g_object_ref (ASC_HINT (g_ptr_array_index (hints, i)))); + } + return res; +} + +/** + * asc_result_get_component_ids_with_hints: + * @result: an #AscResult instance. + * + * Gets list of component-IDs which do have issue hints associated with them. + * + * Returns: (transfer container): An array of component-IDs. Free container with %g_free + **/ +const gchar** +asc_result_get_component_ids_with_hints (AscResult *result) +{ + AscResultPrivate *priv = GET_PRIVATE (result); + return (const gchar**) g_hash_table_get_keys_as_array (priv->hints, NULL); +} + +/** + * asc_result_update_component_gcid: + * @result: an #AscResult instance. + * @cpt: The #AsComponent to edit. + * @bytes: (nullable): The data to include in the global component ID, or %NULL + * + * Update the global component ID for the given component. + * + * Returns: %TRUE if the component existed and was updated. + **/ +gboolean +asc_result_update_component_gcid (AscResult *result, AsComponent *cpt, GBytes *bytes) +{ + AscResultPrivate *priv = GET_PRIVATE (result); + g_autofree gchar *gcid = NULL; + gchar *hash = NULL; + const gchar *data; + gsize data_len; + const gchar *old_hash; + const gchar *cid = as_component_get_id (cpt); + + if (bytes == NULL) { + data = ""; + data_len = strlen (data); + } else { + data = g_bytes_get_data (bytes, &data_len); + } + + if (as_is_empty (cid)) { + gcid = asc_build_component_global_id (cid, NULL); + g_hash_table_insert (priv->gcids, + g_ref_string_new_intern (cid), + g_steal_pointer (&gcid)); + return TRUE; + } + if (!g_hash_table_contains (priv->cpts, cid)) + return FALSE; + + old_hash = g_hash_table_lookup (priv->mdata_hashes, cpt); + if (old_hash == NULL) { + hash = g_compute_checksum_for_string (G_CHECKSUM_MD5, data, data_len); + } else { + gsize old_hash_len; + g_autofree gchar *tmp = NULL; + + old_hash_len = strlen (old_hash); + tmp = malloc(old_hash_len + data_len); + memcpy (tmp, old_hash, old_hash_len); + memcpy (tmp + old_hash_len, data, data_len); + + hash = g_compute_checksum_for_string (G_CHECKSUM_MD5, tmp, old_hash_len + data_len); + } + + g_hash_table_insert (priv->mdata_hashes, cpt, hash); + gcid = asc_build_component_global_id (cid, hash); + g_hash_table_insert (priv->gcids, + g_ref_string_new_intern (cid), + g_steal_pointer (&gcid)); + + return TRUE; +} + +/** + * asc_result_update_component_gcid_with_string: + * @result: an #AscResult instance. + * @cpt: The #AsComponent to edit. + * @data: (nullable): The data as string to include in the global component ID, or %NULL + * + * Update the global component ID for the given component. + * This is a convenience method for %asc_result_update_component_gcid + * + * Returns: %TRUE if the component existed and was updated. + **/ +gboolean +asc_result_update_component_gcid_with_string (AscResult *result, AsComponent *cpt, const gchar *data) +{ + g_autoptr(GBytes) bytes = g_bytes_new_static (data? data : "", strlen (data? data : "")); + return asc_result_update_component_gcid (result, cpt, bytes); +} + +/** + * asc_result_gcid_for_cid: + * @result: an #AscResult instance. + * @cid: Component ID to look for. + * + * Retrieve the global component-ID string for the given component-ID, + * as long as component with the given ID is registered with this #AscResult. + * Otherwise, %NULL is returned. + */ +const gchar* +asc_result_gcid_for_cid (AscResult *result, const gchar *cid) +{ + AscResultPrivate *priv = GET_PRIVATE (result); + return (const gchar*) g_hash_table_lookup (priv->gcids, cid); +} + +/** + * asc_result_component_gcid_for_cid: + * @result: an #AscResult instance. + * @cpt: Component to look for. + * + * Retrieve the global component-ID string for the given #AsComponent, + * as long as component with the given ID is registered with this #AscResult. + * Otherwise, %NULL is returned. + */ +const gchar* +asc_result_gcid_for_component (AscResult *result, AsComponent *cpt) +{ + return asc_result_gcid_for_cid (result, as_component_get_id (cpt)); +} + +/** + * asc_result_get_component_gcids: + * @result: an #AscResult instance. + * + * Retrieve a list of all global component-IDs that this result knows of. + * + * Returns: (transfer container): An array of global component IDs. Free with %g_free + */ +const gchar** +asc_result_get_component_gcids (AscResult *result) +{ + AscResultPrivate *priv = GET_PRIVATE (result); + const gchar **strv; + GHashTableIter iter; + gpointer value; + guint i = 0; + + strv = g_new0 (const gchar *, g_hash_table_size (priv->gcids) + 1); + g_hash_table_iter_init (&iter, priv->gcids); + while (g_hash_table_iter_next (&iter, NULL, &value)) + strv[i++] = (const gchar *) value; + return strv; +} + +/** + * asc_result_add_component: + * @result: an #AscResult instance. + * @cpt: The #AsComponent to add. + * @bytes: Source data used to generate the GCID hash, or %NULL if nonexistent. + * @error: A #GError or %NULL + * + * Add component to the results set. + * + * Returns: %TRUE on success. + **/ +gboolean +asc_result_add_component (AscResult *result, AsComponent *cpt, GBytes *bytes, GError **error) +{ + AscResultPrivate *priv = GET_PRIVATE (result); + AsComponentKind ckind; + const gchar *cid = as_component_get_id (cpt); + + if (as_is_empty (cid)) { + g_set_error_literal (error, + ASC_COMPOSE_ERROR, + ASC_COMPOSE_ERROR_FAILED, + "Can not add component with empty ID to results set."); + return FALSE; + } + + + /* web applications, operating systems, repositories + * and component-removal merges don't (need to) have a package/bundle name set */ + ckind = as_component_get_kind (cpt); + if ((ckind != AS_COMPONENT_KIND_WEB_APP) && + (ckind != AS_COMPONENT_KIND_OPERATING_SYSTEM) && + (as_component_get_merge_kind (cpt) != AS_MERGE_KIND_REMOVE_COMPONENT)) { + if (priv->bundle_kind == AS_BUNDLE_KIND_PACKAGE) { + gchar *pkgnames[2] = {priv->bundle_id, NULL}; + as_component_set_pkgnames (cpt, pkgnames); + } else if ((priv->bundle_kind != AS_BUNDLE_KIND_UNKNOWN) && (priv->bundle_kind >= AS_BUNDLE_KIND_LAST)) { + g_autoptr(AsBundle) bundle = as_bundle_new (); + as_bundle_set_kind (bundle, priv->bundle_kind); + as_bundle_set_id (bundle, priv->bundle_id); + as_component_add_bundle (cpt, bundle); + } + } + + g_hash_table_insert (priv->cpts, + g_ref_string_new_intern (cid), + g_object_ref (cpt)); + asc_result_update_component_gcid (result, cpt, bytes); + return TRUE; +} + +/** + * asc_result_add_component_with_string: + * @result: an #AscResult instance. + * @cpt: The #AsComponent to add. + * @data: Source data used to generate the GCID hash, or %NULL if nonexistent. + * @error: A #GError or %NULL + * + * Add component to the results set, using string data. + * + * Returns: %TRUE on success. + **/ +gboolean +asc_result_add_component_with_string (AscResult *result, AsComponent *cpt, const gchar *data, GError **error) +{ + g_autoptr(GBytes) bytes = g_bytes_new_static (data? data : "", strlen (data? data : "")); + return asc_result_add_component (result, cpt, bytes, error); +} + +/** + * asc_result_remove_component: + * @result: an #AscResult instance. + * @cpt: The #AsComponent to remove. + * + * Remove a component from the results set. + * + * Returns: %TRUE if the component was found and removed. + **/ +gboolean +asc_result_remove_component (AscResult *result, AsComponent *cpt) +{ + AscResultPrivate *priv = GET_PRIVATE (result); + gboolean ret; + + ret = g_hash_table_remove (priv->cpts, + as_component_get_id (cpt)); + g_hash_table_remove (priv->gcids, as_component_get_id (cpt)); + g_hash_table_remove (priv->mdata_hashes, cpt); + + return ret; +} + +/** + * asc_result_remove_hints_for_cid: + * @result: an #AscResult instance. + * @cid: The component ID + * + * Remove all hints that we have associated with the selected component-ID. + */ +void +asc_result_remove_hints_for_cid (AscResult *result, const gchar *cid) +{ + AscResultPrivate *priv = GET_PRIVATE (result); + g_hash_table_remove (priv->hints, cid); +} + +/** + * asc_result_remove_component_by_id: + * @result: an #AscResult instance. + * @cid: a component-ID + * + * Remove a component from the results set. + * + * Returns: %TRUE if the component was found and removed. + **/ +gboolean +asc_result_remove_component_by_id (AscResult *result, const gchar *cid) +{ + AscResultPrivate *priv = GET_PRIVATE (result); + AsComponent *cpt; + + cpt = g_hash_table_lookup (priv->cpts, cid); + if (cpt == NULL) + return FALSE; + return asc_result_remove_component (result, cpt); +} + +static gboolean +asc_result_add_hint_va (AscResult *result, AsComponent *cpt, const gchar *component_id, const gchar *tag, const gchar *key1, va_list *args, gchar **args_v) +{ + AscResultPrivate *priv = GET_PRIVATE (result); + const gchar *cur_key; + const gchar *cur_val; + g_autoptr(AscHint) hint = NULL; + GPtrArray *hints = NULL; + guint i; + gboolean ret = TRUE; + + g_assert ((cpt == NULL) != (component_id == NULL)); + if (component_id == NULL) { + g_assert (cpt != NULL); + component_id = as_component_get_id (cpt); + } + + hint = asc_hint_new_for_tag (tag, NULL); + if (hint == NULL) { + g_error ("Unable to find description of issue hint '%s' - this is a bug!", tag); + return ret; + } + + i = 1; + cur_key = key1; + while (cur_key != NULL) { + if (args_v == NULL) + cur_val = va_arg (*args, gchar*); + else + cur_val = args_v[i++]; + if (cur_val == NULL) + cur_val = ""; + asc_hint_add_explanation_var (hint, cur_key, cur_val); + + if (args_v == NULL) + cur_key = va_arg (*args, gchar*); + else + cur_key = args_v[i++]; + } + + hints = g_hash_table_lookup (priv->hints, component_id); + if (hints == NULL) { + hints = g_ptr_array_new_with_free_func (g_object_unref); + g_hash_table_insert (priv->hints, + g_ref_string_new_intern (component_id), + hints); + } + + /* we stop dealing with this component as soon as we encounter a fatal error. */ + if (asc_hint_is_error (hint)) { + if (cpt == NULL) + asc_result_remove_component_by_id (result, component_id); + else + asc_result_remove_component (result, cpt); + ret = FALSE; + } + + g_ptr_array_add (hints, g_steal_pointer (&hint)); + return ret; +} + +/** + * asc_result_add_hint_by_cid: (skip) + * @result: an #AscResult instance. + * @component_id: The component-ID of the affected #AsComponent + * @tag: AppStream Compose Issue hint tag + * @key1: First key to add a value for, or %NULL + * @...: replacement keys and values for the issue explanation, terminated by %NULL + * + * Add an issue hint for a component. + * + * Returns: %TRUE if the added hint did not cause the component to be invalidated. + **/ +gboolean +asc_result_add_hint_by_cid (AscResult *result, const gchar *component_id, const gchar *tag, const gchar *key1, ...) +{ + va_list args; + gboolean ret; + + va_start (args, key1); + ret = asc_result_add_hint_va (result, + NULL, + component_id, + tag, + key1, + &args, + NULL); + va_end (args); + return ret; +} + +/** + * asc_result_add_hint_by_cid_v: (rename-to asc_result_add_hint_by_cid) + * @result: an #AscResult instance. + * @component_id: The component-ID of the affected #AsComponent + * @tag: AppStream Compose Issue hint tag + * @kv: List of key-value pairs for replacement variables. + * + * Add an issue hint for a component. + * + * Returns: %TRUE if the added hint did not cause the component to be invalidated. + **/ +gboolean +asc_result_add_hint_by_cid_v (AscResult *result, const gchar *component_id, const gchar *tag, gchar **kv) +{ + gboolean ret; + const gchar *first_key = NULL; + + if (kv != NULL) + first_key = kv[0]; + ret = asc_result_add_hint_va (result, + NULL, + component_id, + tag, + first_key, + NULL, + kv); + return ret; +} + +/** + * asc_result_add_hint: (skip) + * @result: an #AscResult instance. + * @cpt: The affected #AsComponent + * @tag: AppStream Compose Issue hint tag + * @key1: First key to add a value for, or %NULL + * @...: replacement keys and values for the issue explanation, terminated by %NULL + * + * Add an issue hint for a component. + * + * Returns: %TRUE if the added hint did not cause the component to be invalidated. + **/ +gboolean +asc_result_add_hint (AscResult *result, AsComponent *cpt, const gchar *tag, const gchar *key1, ...) +{ + va_list args; + gboolean ret; + + if (cpt != NULL) { + va_start (args, key1); + ret = asc_result_add_hint_va (result, + cpt, + NULL, + tag, + key1, + &args, + NULL); + va_end (args); + } else { + va_start (args, key1); + ret = asc_result_add_hint_va (result, + NULL, + "general", + tag, + key1, + &args, + NULL); + va_end (args); + } + + return ret; +} + +/** + * asc_result_add_hint_simple: (skip) + * @result: an #AscResult instance. + * @cpt: The affected #AsComponent + * @tag: AppStream Compose Issue hint tag + * + * Add an issue hint which does not have any variables to replace in its + * explanation text for a component. + * + * Returns: %TRUE if the added hint did not cause the component to be invalidated. + **/ +gboolean +asc_result_add_hint_simple (AscResult *result, AsComponent *cpt, const gchar *tag) +{ + if (cpt != NULL) { + return asc_result_add_hint_va (result, + cpt, + NULL, + tag, + NULL, + NULL, + NULL); + } else { + return asc_result_add_hint_va (result, + NULL, + "general", + tag, + NULL, + NULL, + NULL); + } +} + +/** + * asc_result_add_hint_v: (rename-to asc_result_add_hint) + * @result: an #AscResult instance. + * @cpt: The affected #AsComponent + * @tag: AppStream Compose Issue hint tag + * @kv: List of key-value pairs for replacement variables. + * + * Add an issue hint for a component. + * + * Returns: %TRUE if the added hint did not cause the component to be invalidated. + **/ +gboolean +asc_result_add_hint_v (AscResult *result, AsComponent *cpt, const gchar *tag, gchar **kv) +{ + gboolean ret; + const gchar *first_key = NULL; + + if (kv != NULL) + first_key = kv[0]; + + if (cpt != NULL) { + ret = asc_result_add_hint_va (result, + cpt, + NULL, + tag, + first_key, + NULL, + kv); + } else { + ret = asc_result_add_hint_va (result, + NULL, + "general", + tag, + first_key, + NULL, + kv); + } + + return ret; +} + +/** + * asc_result_new: + * + * Creates a new #AscResult. + **/ +AscResult* +asc_result_new (void) +{ + AscResult *result; + result = g_object_new (ASC_TYPE_RESULT, NULL); + return ASC_RESULT (result); +} diff -Nru appstream-0.12.10/compose/asc-result.h appstream-0.14.5/compose/asc-result.h --- appstream-0.12.10/compose/asc-result.h 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/compose/asc-result.h 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,117 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2016-2021 Matthias Klumpp + * + * Licensed under the GNU Lesser General Public License Version 2.1 + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 2.1 of the license, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +#if !defined (__APPSTREAM_COMPOSE_H) && !defined (ASC_COMPILATION) +#error "Only can be included directly." +#endif +#pragma once + +#include +#include + +G_BEGIN_DECLS + +#define ASC_TYPE_RESULT (asc_result_get_type ()) +G_DECLARE_DERIVABLE_TYPE (AscResult, asc_result, ASC, RESULT, GObject) + +struct _AscResultClass +{ + GObjectClass parent_class; + /*< private >*/ + void (*_as_reserved1) (void); + void (*_as_reserved2) (void); + void (*_as_reserved3) (void); + void (*_as_reserved4) (void); +}; + +AscResult *asc_result_new (void); + +gboolean asc_result_unit_ignored (AscResult *result); +guint asc_result_components_count (AscResult *result); +guint asc_result_hints_count (AscResult *result); + +AsBundleKind asc_result_get_bundle_kind (AscResult *result); +void asc_result_set_bundle_kind (AscResult *result, + AsBundleKind kind); + +const gchar *asc_result_get_bundle_id (AscResult *result); +void asc_result_set_bundle_id (AscResult *result, + const gchar *id); + +AsComponent *asc_result_get_component (AscResult *result, + const gchar *cid); +GPtrArray *asc_result_fetch_components (AscResult *result); +GPtrArray *asc_result_get_hints (AscResult *result, + const gchar *cid); +GPtrArray *asc_result_fetch_hints_all (AscResult *result); +const gchar **asc_result_get_component_ids_with_hints (AscResult *result); + + +gboolean asc_result_update_component_gcid (AscResult *result, + AsComponent *cpt, + GBytes *bytes); +gboolean asc_result_update_component_gcid_with_string (AscResult *result, + AsComponent *cpt, + const gchar *data); +const gchar *asc_result_gcid_for_cid (AscResult *result, + const gchar *cid); +const gchar *asc_result_gcid_for_component (AscResult *result, + AsComponent *cpt); +const gchar **asc_result_get_component_gcids (AscResult *result); + +gboolean asc_result_add_component (AscResult *result, + AsComponent *cpt, + GBytes *bytes, + GError **error); +gboolean asc_result_add_component_with_string (AscResult *result, + AsComponent *cpt, + const gchar *data, + GError **error); +gboolean asc_result_remove_component (AscResult *result, + AsComponent *cpt); +gboolean asc_result_remove_component_by_id (AscResult *result, + const gchar *cid); +void asc_result_remove_hints_for_cid (AscResult *result, + const gchar *cid); + +gboolean asc_result_add_hint_by_cid (AscResult *result, + const gchar *component_id, + const gchar *tag, + const gchar *key1, + ...) G_GNUC_NULL_TERMINATED; +gboolean asc_result_add_hint_by_cid_v (AscResult *result, + const gchar *component_id, + const gchar *tag, + gchar **kv); + +gboolean asc_result_add_hint (AscResult *result, + AsComponent *cpt, + const gchar *tag, + const gchar *key1, + ...) G_GNUC_NULL_TERMINATED; +gboolean asc_result_add_hint_simple (AscResult *result, + AsComponent *cpt, + const gchar *tag); +gboolean asc_result_add_hint_v (AscResult *result, + AsComponent *cpt, + const gchar *tag, + gchar **kv); + +G_END_DECLS diff -Nru appstream-0.12.10/compose/asc-unit.c appstream-0.14.5/compose/asc-unit.c --- appstream-0.12.10/compose/asc-unit.c 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/compose/asc-unit.c 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,331 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2016-2021 Matthias Klumpp + * + * Licensed under the GNU Lesser General Public License Version 2.1 + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 2.1 of the license, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +/** + * SECTION:asc-unit + * @short_description: A data source unit (package, bundle, database, ...) for #AscCompose to process + * @include: appstream-compose.h + */ + +#include "config.h" +#include "asc-unit.h" + +#include "as-utils-private.h" + +typedef struct +{ + AsBundleKind bundle_kind; + gchar *bundle_id; + GPtrArray *contents; + GPtrArray *relevant_paths; + + gpointer user_data; +} AscUnitPrivate; + +G_DEFINE_TYPE_WITH_PRIVATE (AscUnit, asc_unit, G_TYPE_OBJECT) +#define GET_PRIVATE(o) (asc_unit_get_instance_private (o)) + +static void +asc_unit_init (AscUnit *unit) +{ + AscUnitPrivate *priv = GET_PRIVATE (unit); + + priv->bundle_kind = AS_BUNDLE_KIND_UNKNOWN; + priv->contents = g_ptr_array_new_with_free_func (g_free); + priv->relevant_paths = g_ptr_array_new_with_free_func (g_free); +} + +static void +asc_unit_finalize (GObject *object) +{ + AscUnit *unit = ASC_UNIT (object); + AscUnitPrivate *priv = GET_PRIVATE (unit); + + g_free (priv->bundle_id); + g_ptr_array_unref (priv->contents); + g_ptr_array_unref (priv->relevant_paths); + + G_OBJECT_CLASS (asc_unit_parent_class)->finalize (object); +} + +static void +asc_unit_class_init (AscUnitClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + object_class->finalize = asc_unit_finalize; +} + +/** + * asc_unit_get_bundle_kind: + * @unit: an #AscUnit instance. + * + * Gets the bundle kind of this unit. + **/ +AsBundleKind +asc_unit_get_bundle_kind (AscUnit *unit) +{ + AscUnitPrivate *priv = GET_PRIVATE (unit); + return priv->bundle_kind; +} + +/** + * asc_unit_set_bundle_kind: + * @unit: an #AscUnit instance. + * + * Sets the kind of the bundle this unit represents. + **/ +void +asc_unit_set_bundle_kind (AscUnit *unit, AsBundleKind kind) +{ + AscUnitPrivate *priv = GET_PRIVATE (unit); + priv->bundle_kind = kind; +} + +/** + * asc_unit_get_bundle_id: + * @unit: an #AscUnit instance. + * + * Gets the ID name of the bundle (a package / Flatpak / any entity containing metadata) + * that this unit represents. + **/ +const gchar* +asc_unit_get_bundle_id (AscUnit *unit) +{ + AscUnitPrivate *priv = GET_PRIVATE (unit); + return priv->bundle_id; +} + +/** + * asc_unit_set_bundle_id: + * @unit: an #AscUnit instance. + * @id: The new ID. + * + * Sets the ID of the bundle represented by this unit. + **/ +void +asc_unit_set_bundle_id (AscUnit *unit, const gchar *id) +{ + AscUnitPrivate *priv = GET_PRIVATE (unit); + as_assign_string_safe (priv->bundle_id, id); +} + +/** + * asc_unit_get_contents: + * @unit: an #AscUnit instance. + * + * Get a list of all files contained by this unit. + * + * Returns: (transfer none) (element-type utf8) : A file listing + **/ +GPtrArray* +asc_unit_get_contents (AscUnit *unit) +{ + AscUnitPrivate *priv = GET_PRIVATE (unit); + return priv->contents; +} + +/** + * asc_unit_set_contents: + * @unit: an #AscUnit instance. + * @contents: (element-type utf8): A list of files contained by this unit. + * + * Set list of files this unit contains. + **/ +void +asc_unit_set_contents (AscUnit *unit, GPtrArray *contents) +{ + AscUnitPrivate *priv = GET_PRIVATE (unit); + if (priv->contents == contents) + return; + g_ptr_array_unref (priv->contents); + priv->contents = g_ptr_array_ref (contents); +} + +/** + * asc_unit_get_relevant_paths: + * @unit: an #AscUnit instance. + * + * Get a list of paths that are relevant for data processing. + * + * Returns: (transfer none) (element-type utf8) : A list of paths + **/ +GPtrArray* +asc_unit_get_relevant_paths (AscUnit *unit) +{ + AscUnitPrivate *priv = GET_PRIVATE (unit); + return priv->relevant_paths; +} + +/** + * asc_unit_add_relevant_path: + * @unit: an #AscUnit instance. + * @path: path to be considered relevant + * + * Add a path to the list of relevant directories. + * A unit may only read data in paths that were previously + * registered as relevant. + **/ +void +asc_unit_add_relevant_path (AscUnit *unit, const gchar *path) +{ + AscUnitPrivate *priv = GET_PRIVATE (unit); + + /* duplicate check */ + for (guint i = 0; i < priv->relevant_paths->len; i++) { + if (g_strcmp0 (g_ptr_array_index (priv->relevant_paths, i), path) == 0) + return; + } + g_ptr_array_add (priv->relevant_paths, g_strdup (path)); +} + +/** + * asc_unit_open: + * @unit: an #AscUnit instance. + * @error: A #GError + * + * Open this unit, populating its content listing. + **/ +gboolean +asc_unit_open (AscUnit *unit, GError **error) +{ + AscUnitClass *klass; + g_return_val_if_fail (ASC_IS_UNIT (unit), FALSE); + g_return_val_if_fail (error == NULL || *error == NULL, FALSE); + + klass = ASC_UNIT_GET_CLASS (unit); + g_return_val_if_fail (klass->open != NULL, FALSE); + return klass->open (unit, error); +} + +/** + * asc_unit_close: + * @unit: an #AscUnit instance. + * + * Close this unit, possibly freeing its resources. Calls to read_data() or + * get_contents() may not produce results until open() is called again. + **/ +void +asc_unit_close (AscUnit *unit) +{ + AscUnitClass *klass; + g_return_if_fail (ASC_IS_UNIT (unit)); + + klass = ASC_UNIT_GET_CLASS (unit); + g_return_if_fail (klass->close != NULL); + klass->close (unit); +} + +/** + * asc_unit_file_exists: + * @unit: an #AscUnit instance. + * @filename: The filename to check. + * + * Returns %TRUE if the filename exists and is readable using %asc_unit_read_data. + **/ +gboolean +asc_unit_file_exists (AscUnit *unit, const gchar *filename) +{ + AscUnitClass *klass; + g_return_val_if_fail (ASC_IS_UNIT (unit), FALSE); + + klass = ASC_UNIT_GET_CLASS (unit); + g_return_val_if_fail (klass->file_exists != NULL, FALSE); + return klass->file_exists (unit, filename); +} + +/** + * asc_unit_dir_exists: + * @unit: an #AscUnit instance. + * @dirname: The directory name to check. + * + * Returns %TRUE if the directory exists and files in it are readable. + **/ +gboolean +asc_unit_dir_exists (AscUnit *unit, const gchar *dirname) +{ + AscUnitClass *klass; + g_return_val_if_fail (ASC_IS_UNIT (unit), FALSE); + + klass = ASC_UNIT_GET_CLASS (unit); + g_return_val_if_fail (klass->dir_exists != NULL, FALSE); + return klass->dir_exists (unit, dirname); +} + +/** + * asc_unit_read_data: + * @unit: an #AscUnit instance. + * @filename: The file to read data for. + * @error: A #GError + * + * Read the contents of the selected file into memory and return them. + **/ +GBytes* +asc_unit_read_data (AscUnit *unit, const gchar *filename, GError **error) +{ + AscUnitClass *klass; + g_return_val_if_fail (ASC_IS_UNIT (unit), FALSE); + g_return_val_if_fail (error == NULL || *error == NULL, FALSE); + + klass = ASC_UNIT_GET_CLASS (unit); + g_return_val_if_fail (klass->read_data != NULL, FALSE); + return klass->read_data (unit, filename, error); +} + +/** + * asc_unit_get_user_data: + * @unit: an #AscUnit instance. + * + * Get user-defined data. This is a helper + * function for bindings. + **/ +gpointer +asc_unit_get_user_data (AscUnit *unit) +{ + AscUnitPrivate *priv = GET_PRIVATE (unit); + return priv->user_data; +} + +/** + * asc_unit_get_user_data: + * @unit: an #AscUnit instance. + * @user_data: the user data + * + * Assign user-defined data to this object. This is a helper + * function for bindings. + **/ +void +asc_unit_set_user_data (AscUnit *unit, gpointer user_data) +{ + AscUnitPrivate *priv = GET_PRIVATE (unit); + priv->user_data = user_data; +} + +/** + * asc_unit_new: + * + * Creates a new #AscUnit. + **/ +AscUnit* +asc_unit_new (void) +{ + AscUnit *unit; + unit = g_object_new (ASC_TYPE_UNIT, NULL); + return ASC_UNIT (unit); +} diff -Nru appstream-0.12.10/compose/asc-unit.h appstream-0.14.5/compose/asc-unit.h --- appstream-0.12.10/compose/asc-unit.h 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/compose/asc-unit.h 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,91 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2016-2021 Matthias Klumpp + * + * Licensed under the GNU Lesser General Public License Version 2.1 + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 2.1 of the license, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +#if !defined (__APPSTREAM_COMPOSE_H) && !defined (ASC_COMPILATION) +#error "Only can be included directly." +#endif +#pragma once + +#include +#include + +G_BEGIN_DECLS + +#define ASC_TYPE_UNIT (asc_unit_get_type ()) +G_DECLARE_DERIVABLE_TYPE (AscUnit, asc_unit, ASC, UNIT, GObject) + +struct _AscUnitClass +{ + GObjectClass parent_class; + + gboolean (*open) (AscUnit *unit, + GError **error); + void (*close) (AscUnit *unit); + + gboolean (*file_exists) (AscUnit *unit, + const gchar *filename); + gboolean (*dir_exists) (AscUnit *unit, + const gchar *dirname); + GBytes *(*read_data) (AscUnit *unit, + const gchar *filename, + GError **error); + + /*< private >*/ + void (*_as_reserved1) (void); + void (*_as_reserved2) (void); + void (*_as_reserved3) (void); + void (*_as_reserved4) (void); +}; + +AscUnit *asc_unit_new (void); + +AsBundleKind asc_unit_get_bundle_kind (AscUnit *unit); +void asc_unit_set_bundle_kind (AscUnit *unit, + AsBundleKind kind); + +const gchar *asc_unit_get_bundle_id (AscUnit *unit); +void asc_unit_set_bundle_id (AscUnit *unit, + const gchar *id); + +GPtrArray *asc_unit_get_contents (AscUnit *unit); +void asc_unit_set_contents (AscUnit *unit, + GPtrArray *contents); + +GPtrArray *asc_unit_get_relevant_paths (AscUnit *unit); +void asc_unit_add_relevant_path (AscUnit *unit, + const gchar *path); + +gboolean asc_unit_open (AscUnit *unit, + GError **error); +void asc_unit_close (AscUnit *unit); + +gboolean asc_unit_file_exists (AscUnit *unit, + const gchar *filename); +gboolean asc_unit_dir_exists (AscUnit *unit, + const gchar *dirname); +GBytes *asc_unit_read_data (AscUnit *unit, + const gchar *filename, + GError **error); + +gpointer asc_unit_get_user_data (AscUnit *unit); +void asc_unit_set_user_data (AscUnit *unit, + gpointer user_data); + +G_END_DECLS diff -Nru appstream-0.12.10/compose/asc-utils.c appstream-0.14.5/compose/asc-utils.c --- appstream-0.12.10/compose/asc-utils.c 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/compose/asc-utils.c 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,86 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2016-2021 Matthias Klumpp + * + * Licensed under the GNU Lesser General Public License Version 2.1 + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 2.1 of the license, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +/** + * SECTION:asc-utils + * @short_description: Common utility functions for AppStream-Compose. + * @include: appstream-compose.h + */ + +#include "config.h" +#include "asc-result.h" + +#include "as-utils-private.h" + +/** + * asc_build_component_global_id: + * @component_id: an AppStream component ID. + * @checksum: a MD5 hashsum as string generated from the component's combined metadata. + * + * Builds a global component ID from a component-id + * and a (usually MD5) checksum generated from the component data. + * + * The global-id is used as a global, unique identifier for a component. + * (while the component-ID is local, e.g. for one source). + * Its primary usecase is to identify a media directory on the filesystem which is + * associated with this component. + **/ +gchar* +asc_build_component_global_id (const gchar *component_id, const gchar *checksum) +{ + gboolean rdns_split; + g_auto(GStrv) parts = NULL; + + if (as_is_empty (component_id)) + return NULL; + if (as_is_empty (checksum)) + checksum = "last"; + + g_return_val_if_fail (strlen (component_id) > 2, NULL); + + /* check whether we can build the gcid by using the reverse domain name, + * or whether we should use the simple standard splitter. */ + rdns_split = FALSE; + parts = g_strsplit (component_id, ".", 3); + + if (g_strv_length (parts) == 3) { + /* check if we have a valid TLD. If so, use the reverse-domain-name splitting. */ + if (as_utils_is_tld (parts[0])) + rdns_split = TRUE; + } + + if (rdns_split) { + g_autofree gchar *tld_part = NULL; + g_autofree gchar *domain_part = NULL; + tld_part = g_utf8_strdown (parts[0], -1); + domain_part = g_utf8_strdown (parts[1], -1); + + return g_strdup_printf ("%s/%s/%s/%s", tld_part, domain_part, parts[2], checksum); + } else { + g_autofree gchar *cid_low = NULL; + g_autofree gchar *pdiv_part = NULL; + g_autofree gchar *sdiv_part = NULL; + cid_low = g_utf8_strdown (component_id, -1); + pdiv_part = g_utf8_substring (cid_low, 0, 1); + sdiv_part = g_utf8_substring (cid_low, 0, 2); + + return g_strdup_printf ("%s/%s/%s/%s", pdiv_part, sdiv_part, cid_low, checksum); + } +} diff -Nru appstream-0.12.10/compose/asc-utils.h appstream-0.14.5/compose/asc-utils.h --- appstream-0.12.10/compose/asc-utils.h 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/compose/asc-utils.h 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,34 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2016-2021 Matthias Klumpp + * + * Licensed under the GNU Lesser General Public License Version 2.1 + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 2.1 of the license, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +#if !defined (__APPSTREAM_COMPOSE_H) && !defined (ASC_COMPILATION) +#error "Only can be included directly." +#endif +#pragma once + +#include +#include + +G_BEGIN_DECLS + +gchar *asc_build_component_global_id (const gchar *component_id, + const gchar *checksum); + +G_END_DECLS diff -Nru appstream-0.12.10/compose/asc-utils-l10n.c appstream-0.14.5/compose/asc-utils-l10n.c --- appstream-0.12.10/compose/asc-utils-l10n.c 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/compose/asc-utils-l10n.c 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,495 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2016-2021 Matthias Klumpp + * Copyright (C) 2015 Richard Hughes + * Copyright (C) 2019 Kalev Lember + * + * Licensed under the GNU Lesser General Public License Version 2.1 + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 2.1 of the license, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +/** + * SECTION:asc-utils-l10n + * @short_description: Helper functions for extracting localization status information + * @include: appstream-compose.h + */ + +#include "config.h" +#include "asc-utils-l10n.h" + +#include + +#include "as-utils-private.h" +#include "asc-globals.h" + +typedef struct { + gchar *locale; + guint nstrings; + guint percentage; +} AscLocaleEntry; + +typedef struct { + guint max_nstrings; + GList *data; + GPtrArray *translations; /* no ref */ +} AscLocaleContext; + +static AscLocaleEntry* +asc_locale_entry_new (void) +{ + AscLocaleEntry *entry; + entry = g_slice_new0 (AscLocaleEntry); + return entry; +} + +static void +asc_locale_entry_free (AscLocaleEntry *entry) +{ + g_free (entry->locale); + g_slice_free (AscLocaleEntry, entry); +} + +static AscLocaleContext* +asc_locale_ctx_new (void) +{ + AscLocaleContext *ctx; + ctx = g_new0 (AscLocaleContext, 1); + return ctx; +} + +static void +asc_locale_ctx_free (AscLocaleContext *ctx) +{ + g_list_free_full (ctx->data, (GDestroyNotify) asc_locale_entry_free); + g_free (ctx); +} + +static void +asc_locale_ctx_add_entry (AscLocaleContext *ctx, AscLocaleEntry *entry) +{ + if (entry->nstrings > ctx->max_nstrings) + ctx->max_nstrings = entry->nstrings; + ctx->data = g_list_prepend (ctx->data, entry); +} + +static gint +asc_locale_entry_sort_cb (gconstpointer a, gconstpointer b) +{ + return g_strcmp0 (((AscLocaleEntry *) a)->locale, + ((AscLocaleEntry *) b)->locale); +} + +G_DEFINE_AUTOPTR_CLEANUP_FUNC(AscLocaleContext, asc_locale_ctx_free) + +typedef struct { + guint32 magic; + guint32 revision; + guint32 nstrings; + guint32 orig_tab_offset; + guint32 trans_tab_offset; + guint32 hash_tab_size; + guint32 hash_tab_offset; + guint32 n_sysdep_segments; + guint32 sysdep_segments_offset; + guint32 n_sysdep_strings; + guint32 orig_sysdep_tab_offset; + guint32 trans_sysdep_tab_offset; +} AscLocaleGettextHeader; + +static gboolean +asc_l10n_parse_file_gettext (AscLocaleContext *ctx, + AscUnit *unit, + const gchar *locale, + const gchar *filename, + GError **error) +{ + AscLocaleEntry *entry; + AscLocaleGettextHeader h; + g_autoptr(GBytes) bytes = NULL; + const gchar *data = NULL; + gboolean swapped; + + /* read data */ + bytes = asc_unit_read_data (unit, filename, error); + if (bytes == NULL) + return FALSE; + data = g_bytes_get_data (bytes, NULL); + + /* we only strictly need the header */ + memcpy (&h, data, sizeof (AscLocaleGettextHeader)); + if (h.magic == 0x950412de) + swapped = FALSE; + else if (h.magic == 0xde120495) + swapped = TRUE; + else { + g_set_error_literal (error, + ASC_COMPOSE_ERROR, + ASC_COMPOSE_ERROR_FAILED, + "Gettext file is invalid"); + return FALSE; + } + entry = asc_locale_entry_new (); + entry->locale = g_strdup (locale); + if (swapped) + entry->nstrings = GUINT32_SWAP_LE_BE (h.nstrings); + else + entry->nstrings = h.nstrings; + asc_locale_ctx_add_entry (ctx, entry); + return TRUE; +} + +static gboolean +asc_l10n_search_translations_gettext (AscLocaleContext *ctx, + AscUnit *unit, + const gchar *prefix, + GError **error) +{ + GPtrArray *contents = NULL; + const gsize prefix_len = strlen (prefix) + 1; + + contents = asc_unit_get_contents (unit); + for (guint i = 0; i < ctx->translations->len; i++) { + AsTranslation *t = g_ptr_array_index (ctx->translations, i); + g_autofree gchar *fn = NULL; + g_autofree gchar *match_path = NULL; + if (as_translation_get_kind (t) != AS_TRANSLATION_KIND_GETTEXT && + as_translation_get_kind (t) != AS_TRANSLATION_KIND_UNKNOWN) + continue; + + /* construct expected translation file name pattern */ + fn = g_strdup_printf ("%s.mo", as_translation_get_id (t)); + match_path = g_build_filename (prefix, "share", "locale*", "LC_MESSAGES", fn, NULL); + + /* try to find locale data */ + for (guint j = 0; j < contents->len; j++) { + const gchar *fname = g_ptr_array_index (contents, j); + g_auto(GStrv) segments = NULL; + if (fnmatch (match_path, fname, FNM_NOESCAPE) != 0) + continue; + + /* fetch locale name from path */ + segments = g_strsplit (fname + prefix_len, G_DIR_SEPARATOR_S, 4); + if (!asc_l10n_parse_file_gettext (ctx, + unit, + segments[2], + fname, + error)) + return FALSE; + } + } + + return TRUE; +} + +typedef enum { + ASC_LOCALE_QM_TAG_END = 0x1, + /* SourceText16 */ + ASC_LOCALE_QM_TAG_TRANSLATION = 0x3, + /* Context16 */ + ASC_LOCALE_QM_TAG_OBSOLETE1 = 0x5, + ASC_LOCALE_QM_TAG_SOURCE_TEXT = 0x6, + ASC_LOCALE_QM_TAG_CONTEXT = 0x7, + ASC_LOCALE_QM_TAG_COMMENT = 0x8 +} AscLocaleQmTag; + +typedef enum { + ASC_LOCALE_QM_SECTION_CONTEXTS = 0x2f, + ASC_LOCALE_QM_SECTION_HASHES = 0x42, + ASC_LOCALE_QM_SECTION_MESSAGES = 0x69, + ASC_LOCALE_QM_SECTION_NUMERUS = 0x88, + ASC_LOCALE_QM_SECTION_DEPS = 0x96 +} AscLocaleQmSection; + +static guint8 +_read_uint8 (const guint8 *data, guint32 *offset) +{ + guint8 tmp; + tmp = data[*offset]; + (*offset) += 1; + return tmp; +} + +static guint32 +_read_uint32 (const guint8 *data, guint32 *offset) +{ + guint32 tmp = 0; + memcpy (&tmp, data + *offset, 4); + (*offset) += 4; + return GUINT32_FROM_BE (tmp); +} + +static void +asc_l10n_parse_data_qt (AscLocaleContext *ctx, + const gchar *locale, + const guint8 *data, + guint32 len) +{ + AscLocaleEntry *entry; + guint32 m = 0; + guint nstrings = 0; + + /* read data */ + while (m < len) { + guint32 tag_len; + AscLocaleQmTag tag = _read_uint8(data, &m); + switch (tag) { + case ASC_LOCALE_QM_TAG_END: + break; + case ASC_LOCALE_QM_TAG_OBSOLETE1: + m += 4; + break; + case ASC_LOCALE_QM_TAG_TRANSLATION: + case ASC_LOCALE_QM_TAG_SOURCE_TEXT: + case ASC_LOCALE_QM_TAG_CONTEXT: + case ASC_LOCALE_QM_TAG_COMMENT: + tag_len = _read_uint32 (data, &m); + if (tag_len < 0xffffffff) + m += tag_len; + if (tag == ASC_LOCALE_QM_TAG_TRANSLATION) + nstrings++; + break; + default: + m = G_MAXUINT32; + break; + } + } + + /* add new entry */ + entry = asc_locale_entry_new (); + entry->locale = g_strdup (locale); + entry->nstrings = nstrings; + asc_locale_ctx_add_entry (ctx, entry); +} + +static gboolean +asc_l10n_parse_file_qt (AscLocaleContext *ctx, + AscUnit *unit, + const gchar *locale, + const gchar *filename, + GError **error) +{ + gsize len; + guint32 m = 0; + g_autoptr(GBytes) bytes = NULL; + const guint8 *data = NULL; + const guint8 qm_magic[] = { + 0x3c, 0xb8, 0x64, 0x18, 0xca, 0xef, 0x9c, 0x95, + 0xcd, 0x21, 0x1c, 0xbf, 0x60, 0xa1, 0xbd, 0xdd + }; + + /* read data */ + bytes = asc_unit_read_data (unit, filename, error); + if (bytes == NULL) + return FALSE; + data = g_bytes_get_data (bytes, &len); + + /* check header */ + if (len < sizeof(qm_magic) || + memcmp (data, qm_magic, sizeof(qm_magic)) != 0) { + g_set_error_literal (error, + ASC_COMPOSE_ERROR, + ASC_COMPOSE_ERROR_FAILED, + "QM translation file is invalid"); + return FALSE; + } + m += (guint32) sizeof(qm_magic); + + /* parse each section */ + while (m < len) { + AscLocaleQmSection section = _read_uint8(data, &m); + guint32 section_len = _read_uint32 (data, &m); + if (section_len > len - m) { + g_set_error_literal (error, + ASC_COMPOSE_ERROR, + ASC_COMPOSE_ERROR_FAILED, + "QM file is invalid, section too large"); + return FALSE; + } + if (section == ASC_LOCALE_QM_SECTION_MESSAGES) { + asc_l10n_parse_data_qt (ctx, + locale, + data + m, + section_len); + } + m += section_len; + } + + return TRUE; +} + +static gboolean +asc_l10n_search_translations_qt (AscLocaleContext *ctx, + AscUnit *unit, + const gchar *prefix, + GError **error) +{ + GPtrArray *contents = asc_unit_get_contents (unit); + const gsize prefix_len = strlen (prefix) + 1; + + /* search for each translation ID */ + for (guint i = 0; i < ctx->translations->len; i++) { + const gchar *location_hint; + AsTranslation *t = g_ptr_array_index (ctx->translations, i); + + if (as_translation_get_kind (t) != AS_TRANSLATION_KIND_QT && + as_translation_get_kind (t) != AS_TRANSLATION_KIND_UNKNOWN) + continue; + if (as_translation_get_id (t) == NULL) + continue; + + location_hint = as_translation_get_id (t); + if (g_strstr_len (location_hint, -1, "/") == NULL) { + /* look in ${prefix}/share/locale/${locale}/LC_MESSAGES/${hint}.mo */ + g_autofree gchar *fn = NULL; + g_autofree gchar *match_path = NULL; + + fn = g_strdup_printf ("%s.qm", location_hint); + match_path = g_build_filename (prefix, "share", "locale*", "LC_MESSAGES", fn, NULL); + for (guint j = 0; j < contents->len; j++) { + g_auto(GStrv) segments = NULL; + const gchar *fname = g_ptr_array_index (contents, j); + if (!g_str_has_suffix (fname, ".qm")) + continue; + if (fnmatch (match_path, fname, FNM_NOESCAPE) != 0) + continue; + + segments = g_strsplit (fname + prefix_len, G_DIR_SEPARATOR_S, 4); + if (!asc_l10n_parse_file_qt (ctx, unit, segments[2], fname, error)) + return FALSE; + } + } else { + /* look in ${prefix}/share/${hint}_${locale}.qm + * and ${prefix}/share/${hint}/${locale}.qm */ + + g_autofree gchar *qm_root = NULL; + qm_root = g_build_filename (prefix, + "share", + location_hint, + NULL); + for (guint j = 0; j < contents->len; j++) { + g_autofree gchar *locale = NULL; + gchar *tmp; + const gchar *fname = g_ptr_array_index (contents, j); + if (!g_str_has_prefix (fname, qm_root)) + continue; + if (!g_str_has_suffix (fname, ".qm")) + continue; + locale = g_strdup (fname + strlen (qm_root) + 1); + g_strdelimit (locale, ".", '\0'); + tmp = g_strstr_len (locale, -1, "/"); + if (tmp != NULL) { + /* we have the ${hint}/${locale}.qm form */ + locale = tmp + 1; + } + if (!asc_l10n_parse_file_qt (ctx, unit, locale, fname, error)) + return FALSE; + } + } + + } + + return TRUE; +} + +/** + * asc_read_translation_status: + * @cres: an #AscResult + * @unit: an #AscUnit that the result belongs to + * @prefix: a prefix to search, e.g. "/usr" + * @min_percentage: minimum percentage to add language + * + * Searches a prefix for languages, and adds + * tags to the specified component, if it has one or more tags + * defined to point to the right translation domains and types. + * + * @min_percentage sets the minimum percentage to add a language tag. + * The usual value would be 25% and any language less complete than + * this will not be added. + * + * The purpose of this functionality is to avoid blowing up the size + * of the AppStream metadata with a lot of extra data detailing + * languages with very few translated strings. + **/ +void +asc_read_translation_status (AscResult *cres, + AscUnit *unit, + const gchar *prefix, + guint min_percentage) +{ + g_autoptr(GPtrArray) cpts = NULL; + + cpts = asc_result_fetch_components (cres); + for (guint i = 0; i < cpts->len; i++) { + AscLocaleEntry *e; + g_autoptr(AscLocaleContext) ctx = NULL; + g_autoptr(GError) error = NULL; + gboolean have_results = FALSE; + AsComponent *cpt = AS_COMPONENT (g_ptr_array_index (cpts, i)); + + ctx = asc_locale_ctx_new (); + ctx->translations = as_component_get_translations (cpt); + + /* skip if we have no translation hints */ + if (ctx->translations->len == 0) + continue; + + /* search for Qt .qm files */ + if (!asc_l10n_search_translations_qt (ctx, unit, prefix, &error)) { + asc_result_add_hint (cres, + cpt, + "translation-status-error", + "msg", + error->message, + NULL); + continue; + } + + /* search for gettext .mo files */ + if (!asc_l10n_search_translations_gettext (ctx, unit, prefix, &error)) { + asc_result_add_hint (cres, + cpt, + "translation-status-error", + "msg", + error->message, + NULL); + continue; + } + + /* calculate percentages */ + for (GList *l = ctx->data; l != NULL; l = l->next) { + e = l->data; + e->percentage = MIN (e->nstrings * 100 / ctx->max_nstrings, 100); + } + + /* sort */ + ctx->data = g_list_sort (ctx->data, asc_locale_entry_sort_cb); + + /* add results */ + for (GList *l = ctx->data; l != NULL; l = l->next) { + e = l->data; + have_results = TRUE; + if (e->percentage < min_percentage) + continue; + as_component_add_language (cpt, e->locale, (gint) e->percentage); + } + + if (!have_results) + asc_result_add_hint_simple (cres, cpt, "translations-not-found"); + + /* remove translation elements, they should no longer be in the resulting component */ + g_ptr_array_set_size (ctx->translations, 0); + } +} + diff -Nru appstream-0.12.10/compose/asc-utils-l10n.h appstream-0.14.5/compose/asc-utils-l10n.h --- appstream-0.12.10/compose/asc-utils-l10n.h 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/compose/asc-utils-l10n.h 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,39 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2016-2021 Matthias Klumpp + * + * Licensed under the GNU Lesser General Public License Version 2.1 + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 2.1 of the license, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +#if !defined (__APPSTREAM_COMPOSE_H) && !defined (ASC_COMPILATION) +#error "Only can be included directly." +#endif +#pragma once + +#include +#include + +#include "asc-result.h" +#include "asc-unit.h" + +G_BEGIN_DECLS + +void asc_read_translation_status (AscResult *cres, + AscUnit *unit, + const gchar *prefix, + guint min_percentage); + +G_END_DECLS diff -Nru appstream-0.12.10/compose/asc-utils-metainfo.c appstream-0.14.5/compose/asc-utils-metainfo.c --- appstream-0.12.10/compose/asc-utils-metainfo.c 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/compose/asc-utils-metainfo.c 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,308 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2016-2021 Matthias Klumpp + * + * Licensed under the GNU Lesser General Public License Version 2.1 + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 2.1 of the license, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +/** + * SECTION:asc-utils-metainfo + * @short_description: Helper functions for working with MetaInfo data in appstream-compose. + * @include: appstream-compose.h + */ + +#include "config.h" +#include "asc-utils-metainfo.h" + +#include "as-utils-private.h" +#include "as-spdx.h" +#include "as-desktop-entry.h" + +/* Maximum amount of releases present in output data */ +#define MAX_RELEASE_INFO_COUNT 4 + +/** + * asc_parse_metainfo_data: + * @cres: an #AscResult instance. + * @mdata: an #AsMetadata instance used for parsing. + * @bytes: the data to parse. + * @mi_basename: the basename of the MetaInfo file we are loading. + * + * Parses metaInfo XML into a new #AsComponent and records any issues in + * an #AscResult. + * + * Returns: (transfer full): A new #AsComponent or %NULL if we refused to accept this data. + **/ +AsComponent* +asc_parse_metainfo_data (AscResult *cres, AsMetadata *mdata, GBytes *bytes, const gchar *mi_basename) +{ + g_autoptr(GError) error = NULL; + AsComponent *cpt; + GPtrArray *releases; + + g_return_val_if_fail (mi_basename != NULL, NULL); + + if (!as_metadata_parse_bytes (mdata, bytes, AS_FORMAT_KIND_XML, &error)) { + asc_result_add_hint (cres, NULL, + "ancient-metadata", + "fname", mi_basename, + "error", error->message, + NULL); + return NULL; + } + + cpt = as_metadata_get_component (mdata); + if (cpt == NULL) + return NULL; + + /* check if we have a component-id, a component without ID is invalid */ + if (as_is_empty (as_component_get_id (cpt))) { + asc_result_add_hint (cres, NULL, + "metainfo-no-id", + "fname", mi_basename, + NULL); + return NULL; + } + + /* we at least read enough data to consider this component */ + if (!asc_result_add_component (cres, cpt, bytes, NULL)) + return NULL; + + /* check if we can actually legally use this metadata */ + if (!as_license_is_metadata_license (as_component_get_metadata_license (cpt))) { + asc_result_add_hint (cres, cpt, + "metainfo-license-invalid", + "license", as_component_get_metadata_license (cpt), + NULL); + return NULL; + } + + /* quit immediately if we have an unknown component type */ + if (as_component_get_kind (cpt) == AS_COMPONENT_KIND_UNKNOWN) { + asc_result_add_hint_simple (cres, cpt, "metainfo-unknown-type"); + return NULL; + } + + /* limit the amount of releases that we add to the output metadata. + * since releases are sorted with the newest one at the top, we will only + * remove the older ones. */ + releases = as_component_get_releases (cpt); + if (releases->len > MAX_RELEASE_INFO_COUNT) + g_ptr_array_set_size (releases, MAX_RELEASE_INFO_COUNT); + + return g_object_ref (cpt); +} + +/** + * asc_parse_metainfo_data_simple: + * @cres: an #AscResult instance. + * @bytes: the data to parse. + * @mi_basename: the basename of the MetaInfo file we are loading. + * + * Parses metaInfo XML into a new #AsComponent and records any issues in + * an #AscResult. + * + * Returns: (transfer full): A new #AsComponent or %NULL if we refused to accept this data. + **/ +AsComponent* +asc_parse_metainfo_data_simple (AscResult *cres, GBytes *bytes, const gchar *mi_basename) +{ + g_autoptr(AsMetadata) mdata = as_metadata_new (); + + as_metadata_set_locale (mdata, "ALL"); + as_metadata_set_format_style (mdata, AS_FORMAT_STYLE_METAINFO); + + return asc_parse_metainfo_data (cres, + mdata, + bytes, + mi_basename); +} + +/** + * asc_validate_metainfo_data_for_component: + * @cres: an #AscResult instance. + * @validator: an #AsValidator to validate with. + * @cpt: the loaded #AsComponent which we are validating + * @bytes: the data @cpt was constructed from. + * @mi_basename: the basename of the MetaInfo file we are analyzing. + * + * Validates MetaInfo data for the given component and stores the validation result as issue hints + * in the given #AscResult. + * Both the result as well as the validator's state may be modified by this function. + **/ +void +asc_validate_metainfo_data_for_component (AscResult *cres, AsValidator *validator, + AsComponent *cpt, GBytes *bytes, const gchar *mi_basename) +{ + g_autoptr(GList) issues = NULL; + + /* don't check web URLs for validity, we catch those issues differently */ + as_validator_set_check_urls (validator, FALSE); + + /* remove issues from a potential previous use of this validator */ + as_validator_clear_issues (validator); + + /* validate */ + as_validator_validate_bytes (validator, bytes); + + /* convert & register found issues */ + issues = as_validator_get_issues (validator); + for (GList *l = issues; l != NULL; l = l->next) { + g_autofree gchar *asv_tag = NULL; + g_autofree gchar *location = NULL; + glong line; + const gchar *issue_hint; + AsValidatorIssue *issue = AS_VALIDATOR_ISSUE (l->data); + + /* we have a special hint tag for legacy metadata, + * with its proper "error" priority */ + if (g_strcmp0 (as_validator_issue_get_tag (issue), "metainfo-ancient") == 0) { + asc_result_add_hint_simple (cres, cpt, "ancient-metadata"); + continue; + } + + /* create a tag for asgen out of the AppStream validator tag by prefixing it */ + asv_tag = g_strconcat ("asv-", + as_validator_issue_get_tag (issue), + NULL); + + line = as_validator_issue_get_line (issue); + if (line >= 0) + location = g_strdup_printf ("%s:%ld", mi_basename, line); + else + location = g_strdup (mi_basename); + + /* we don't need to do much here, with the tag generated here, + * the hint registry will automatically assign the right explanation + * text and severity to the issue. */ + issue_hint = as_validator_issue_get_hint (issue); + if (issue_hint == NULL) + issue_hint = ""; + asc_result_add_hint (cres, cpt, + asv_tag, + "location", location, + "hint", issue_hint, + NULL); + } +} + +/** + * asc_parse_desktop_entry_data: + * @cres: an #AscResult instance. + * @cpt: (nullable): an existing #AsComponent which we are adding data from this desktop file to, or NULL to create a new one + * @bytes: the data @cpt was constructed from. + * @de_basename: the basename of the desktop-entry file we are parsing. + * @ignore_nodisplay: set %TRUE if fields which cause the desktop-entry file to be purposefully hidden should be ignored (useful when passing an existing #AsComponent). + * @fversion: AppStream format version + * @de_l10n_fn: (scope call): callback for custom desktop-entry field localization functions. + * @user_data: user data for @de_l10n_fn + * + * Parse a XDG desktop-entry file into either a new component or for extending an existing component. + * + * Returns: (nullable) (transfer full): A new #AsComponent or reference to the existing #AsComponent passed as parameter in case + * we parsed anything. %NULL if we refused to accept this data. + */ +AsComponent* +asc_parse_desktop_entry_data (AscResult *cres, + AsComponent *cpt, + GBytes *bytes, const gchar *de_basename, + gboolean ignore_nodisplay, + AsFormatVersion fversion, + AscTranslateDesktopTextFn de_l10n_fn, gpointer user_data) +{ + g_autoptr(AsComponent) ncpt = NULL; + g_autoptr(GPtrArray) issues = NULL; + g_autoptr(GError) error = NULL; + g_autofree gchar *prev_cid = NULL; + gboolean cpt_is_new = FALSE; + const gchar *data; + gsize data_len; + gboolean ret; + + + if (cpt != NULL) { + ncpt = g_object_ref (cpt); + prev_cid = g_strdup (as_component_get_id (cpt)); + as_component_set_id (ncpt, de_basename); + cpt_is_new = FALSE; + } else { + ncpt = as_component_new (); + as_component_set_id (ncpt, de_basename); + cpt_is_new = TRUE; + } + /* we shouldn't even try to use cpt from this point forward */ + cpt = NULL; + + /* prepare */ + issues = g_ptr_array_new_with_free_func (g_object_unref); + data = g_bytes_get_data (bytes, &data_len); + + /* sanity check */ + if (data_len == 0) { + asc_result_add_hint_by_cid (cres, de_basename, + "desktop-file-error", + "msg", "Desktop file was empty or nonexistent. " + "Please ensure that it isn't a symbolic link to contents of a different package.", + NULL); + return NULL; + } + + /* actually parse the desktop-entry data now */ + ret = as_desktop_entry_parse_data (ncpt, + data, + data_len, + fversion, + ignore_nodisplay, + issues, + de_l10n_fn, + user_data, + &error); + if (error != NULL) { + asc_result_add_hint_by_cid (cres, de_basename, + "desktop-file-error", + "msg", error->message, + NULL); + return NULL; + } + if (!ret) + return NULL; + + /* the desktop-entry parsing function may have overridden this, so we reset the original value if we had one */ + if (prev_cid != NULL) + as_component_set_id (ncpt, prev_cid); + + /* reset component priority to neutral (may be lowest) */ + as_component_set_priority (ncpt, 0); + + /* add new component to the results set */ + if (cpt_is_new && !asc_result_add_component (cres, ncpt, bytes, NULL)) + return NULL; + + /* register all the hints we may have found */ + for (guint i = 0; i < issues->len; i++) { + AsValidatorIssue *issue = AS_VALIDATOR_ISSUE (g_ptr_array_index (issues, i)); + + if (as_validator_issue_get_hint (issue) == NULL) + asc_result_add_hint_simple (cres, ncpt, as_validator_issue_get_tag (issue)); + else + asc_result_add_hint (cres, ncpt, + as_validator_issue_get_tag (issue), + "hint", as_validator_issue_get_hint (issue), + NULL); + } + + return g_steal_pointer (&ncpt); +} diff -Nru appstream-0.12.10/compose/asc-utils-metainfo.h appstream-0.14.5/compose/asc-utils-metainfo.h --- appstream-0.12.10/compose/asc-utils-metainfo.h 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/compose/asc-utils-metainfo.h 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,74 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2016-2021 Matthias Klumpp + * + * Licensed under the GNU Lesser General Public License Version 2.1 + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 2.1 of the license, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +#if !defined (__APPSTREAM_COMPOSE_H) && !defined (ASC_COMPILATION) +#error "Only can be included directly." +#endif +#pragma once + +#include +#include + +#include "asc-result.h" + +G_BEGIN_DECLS + +/** + * AscTranslateDesktopTextFn: + * @de: (not nullable): A pointer to the desktop-entry data we are reading. + * @text: The string to translate. + * @user_data: Additional data. + * + * Function which is called while parsing a desktop-entry file to allow external + * translations of string values. This is used in e.g. the Ubuntu distribution. + * + * The return value must contain a list of strings with the locale name in even indices, + * and the text translated to the preceding locale in the following odd indices. + * + * Returns: (not nullable) (transfer full): A new #GPtrArray containing the translation mapping. + */ +typedef GPtrArray* (*AscTranslateDesktopTextFn)(const GKeyFile *de, + const gchar *text, + gpointer user_data); + +AsComponent *asc_parse_metainfo_data (AscResult *cres, + AsMetadata *mdata, + GBytes *bytes, + const gchar *mi_basename); +AsComponent *asc_parse_metainfo_data_simple (AscResult *cres, + GBytes *bytes, + const gchar *mi_basename); + +void asc_validate_metainfo_data_for_component (AscResult *cres, + AsValidator *validator, + AsComponent *cpt, + GBytes *bytes, + const gchar *mi_basename); + +AsComponent *asc_parse_desktop_entry_data (AscResult *cres, + AsComponent *cpt, + GBytes *bytes, + const gchar *de_basename, + gboolean ignore_nodisplay, + AsFormatVersion fversion, + AscTranslateDesktopTextFn de_l10n_fn, + gpointer user_data); + +G_END_DECLS diff -Nru appstream-0.12.10/compose/meson.build appstream-0.14.5/compose/meson.build --- appstream-0.12.10/compose/meson.build 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/compose/meson.build 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,154 @@ +# Meson build configuration for the AppStream Compose library + +appstream_compose_lib_inc = include_directories ('.') + +ascompose_src = [ + 'asc-canvas.c', + 'asc-compose.c', + 'asc-directory-unit.c', + 'asc-font.c', + 'asc-globals.c', + 'asc-hint.c', + 'asc-hint-tags.c', + 'asc-image.c', + 'asc-result.c', + 'asc-unit.c', + 'asc-utils-l10n.c', + 'asc-utils-metainfo.c', + 'asc-utils.c' +] + +ascompose_pub_headers = [ + 'appstream-compose.h', + 'asc-canvas.h', + 'asc-compose.h', + 'asc-directory-unit.h', + 'asc-font.h', + 'asc-globals.h', + 'asc-hint.h', + 'asc-image.h', + 'asc-result.h', + 'asc-unit.h', + 'asc-utils-l10n.h', + 'asc-utils-metainfo.h', + 'asc-utils.h' +] + +ascompose_pub_enums = glib.mkenums_simple('asc-enums-types', + sources: ascompose_pub_headers, + install_header: true, + install_dir: join_paths(get_option('includedir'), 'appstream-compose') +) + +ascompose_priv_headers = [ + 'asc-font-private.h', + 'asc-globals-private.h', + 'asc-hint-tags.h' +] + +asclib_res = glib.compile_resources ( + 'asc-resources', 'appstream-compose.gresource.xml', + c_name: 'asc', + source_dir: ['../data/compose'] +) + +# extra dependencies we need just for AppStream Compose +cairo_dep = dependency('cairo', version : '>= 1.12') +gdkpixbuf_dep = dependency('gdk-pixbuf-2.0') +rsvg_dep = dependency('librsvg-2.0') +freetype_dep = dependency('freetype2') +pango_dep = dependency('pango') +fontconfig_dep = dependency('fontconfig') + +appstream_compose_lib = library ('appstream-compose', + [ascompose_src, + asclib_res, + ascompose_pub_headers, + ascompose_priv_headers, + ascompose_pub_enums], + soversion: '0', + version: as_version, + dependencies: [appstream_dep, + gio_dep, + cairo_dep, + gdkpixbuf_dep, + rsvg_dep, + freetype_dep, + pango_dep, + fontconfig_dep, + yaml_dep], + include_directories: [root_inc_dir], + c_args: ['-DASC_COMPILATION', + '-DI_KNOW_THE_APPSTREAM_COMPOSE_API_IS_SUBJECT_TO_CHANGE'], + install: true +) + +pkgc.generate( + appstream_compose_lib, + version: as_version, + name: 'appstream-compose', + description: 'Helper functions to generate AppStream metadata and auxiliary data.', + filebase: 'appstream-compose', + subdirs: 'appstream-compose', + requires: ['glib-2.0', + 'gio-2.0', + 'gobject-2.0', + 'gdk-pixbuf-2.0', + 'appstream'] +) + +appstream_compose_dep = declare_dependency( + link_with: appstream_compose_lib, + sources: [ + ascompose_pub_headers, + ascompose_pub_enums + ], + dependencies: [appstream_dep, + glib_dep, + gobject_dep, + gio_dep, + gdkpixbuf_dep], + include_directories: [appstream_compose_lib_inc] +) + +# Meson adds (in our case) bogus Requires.private lines which break +# builds using libappstream. Fix this issue by post-processing the file. +sed_prog = find_program('sed') +pc_fixup = run_command(sed_prog, + '-i', + '/^Requires.private\|^Libs.private/ d', + join_paths(meson.build_root(), 'meson-private', 'appstream-compose.pc')) +if pc_fixup.returncode() != 0 + error('Unable to fix up the .pc file:\n' + pc_fixup.stderr()) +endif + +install_headers(ascompose_pub_headers, subdir: 'appstream-compose') + +if get_option ('gir') + asc_gir_typelib = glib.generate_gir( + appstream_compose_lib, + sources: ascompose_src + ascompose_pub_headers + ascompose_pub_enums, + nsversion: '1.0', + namespace: 'AppStreamCompose', + symbol_prefix: 'asc', + identifier_prefix: 'Asc', + export_packages: 'appstream-compose', + includes: [ + as_gir, + 'GObject-2.0', + 'Gio-2.0', + 'GdkPixbuf-2.0' + ], + header: 'appstream-compose.h', + include_directories: [appstream_lib_inc], + dependencies: [appstream_dep], + extra_args: [ + '-DASC_COMPILATION', + '-DI_KNOW_THE_APPSTREAM_COMPOSE_API_IS_SUBJECT_TO_CHANGE' + ], + install: true + ) + + asc_gir = asc_gir_typelib[0] + asc_typelib = asc_gir_typelib[1] +endif diff -Nru appstream-0.12.10/config.h.in appstream-0.14.5/config.h.in --- appstream-0.12.10/config.h.in 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/config.h.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,42 +0,0 @@ -#ifndef CONFIG_H -#define CONFIG_H - -/* always defined to indicate that i18n is enabled */ -#define ENABLE_NLS 1 - -/* Gettext Package */ -#define GETTEXT_PACKAGE "@GETTEXT_PACKAGE@" - -/* Paths */ -#define LOCALEDIR "@CMAKE_INSTALL_FULL_LOCALEDIR@" -#define PKGLIBDIR "@CMAKE_INSTALL_FULL_LIBEXECDIR@/appstream" -#define PREFIXDIR "@CMAKE_INSTALL_PREFIX@" -#define DATADIR "@CMAKE_INSTALL_FULL_DATADIR@" -#define LIBDIR "@CMAKE_INSTALL_FULL_LIBDIR@" -#define BUILDDIR "@CMAKE_BINARY_DIR@" - -/* Define if the GNU gettext() function is already present or preinstalled. */ -#define HAVE_GETTEXT 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_INTTYPES_H 1 - -/* Define if your file defines LC_MESSAGES. */ -#define HAVE_LC_MESSAGES 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_LOCALE_H 1 - -/* Define to the version of this package. */ -#define PACKAGE_VERSION "@VERSION@" - -/* Version number of package */ -#define VERSION "@VERSION@" - -/* Set if we have APT support */ -#cmakedefine HAVE_APT_SUPPORT - -/* Set if we have stemming support */ -#cmakedefine HAVE_STEMMING - -#endif /* CONFIG_H */ diff -Nru appstream-0.12.10/contrib/apt-conf/meson.build appstream-0.14.5/contrib/apt-conf/meson.build --- appstream-0.12.10/contrib/apt-conf/meson.build 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/contrib/apt-conf/meson.build 2021-08-28 20:15:28.000000000 +0000 @@ -1,3 +1,4 @@ # Meson definition for apt-conf -install_data ('50appstream', install_dir: '/etc/apt/apt.conf.d/') +install_data ('50appstream', + install_dir: join_paths(get_option('sysconfdir'), 'apt', 'apt.conf.d')) diff -Nru appstream-0.12.10/contrib/vapi/AppStream-1.0-custom.vala appstream-0.14.5/contrib/vapi/AppStream-1.0-custom.vala --- appstream-0.12.10/contrib/vapi/AppStream-1.0-custom.vala 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/contrib/vapi/AppStream-1.0-custom.vala 2021-08-28 20:15:28.000000000 +0000 @@ -4,4 +4,10 @@ [Version (deprecated = true, replacement = "MEDIATYPE")] MIMETYPE } + + [CCode (cheader_filename = "appstream.h", cprefix = "AS_COMPONENT_KIND_", has_type_id = false)] + public enum ComponentKind { + [Version (deprecated = true, replacement = "INPUT_METHOD")] + INPUTMETHOD + } } diff -Nru appstream-0.12.10/contrib/vapi/AppStream-1.0.metadata appstream-0.14.5/contrib/vapi/AppStream-1.0.metadata --- appstream-0.12.10/contrib/vapi/AppStream-1.0.metadata 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/contrib/vapi/AppStream-1.0.metadata 2021-08-28 20:15:28.000000000 +0000 @@ -1,3 +1,8 @@ // Metadata for AppStream GIR AppStream name="AppStream" + +// element-type of PtrArray must reflect the actual ownership +get_default_categories type="GLib.GenericArray" +Pool.get_components* type="GLib.GenericArray" +Pool.search type="GLib.GenericArray" diff -Nru appstream-0.12.10/data/compose/pangrams/en.txt appstream-0.14.5/data/compose/pangrams/en.txt --- appstream-0.12.10/data/compose/pangrams/en.txt 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/data/compose/pangrams/en.txt 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,24 @@ +A quick brown fox jumps over the lazy dog. +Whenever the black fox jumped the squirrel gazed suspiciously. +The five boxing wizards jump quickly. +A large fawn jumped quickly over white zebras in a box. +We quietly gave Bert a handsome prize for his six juicy pink plums. +Crazy Fredrick bought many very exquisite opal jewels. +Five or six big jet planes zoomed quickly past the tower. +My grandfather picks up quartz and valuable onyx jewels. +Sphinx of black quartz, judge my vow. +Two driven jocks help fax my big quiz. +Five quacking zephyrs jolt my wax bed. +Pack my box with five dozen liquor jugs. +Jinxed wizards pluck ivy from the big quilt. +We promptly judged antique ivory buckles for the next prize. +A mad boxer shot a quick, gloved jab to the jaw of his dizzy opponent. +Jaded zombies acted quaintly but kept driving their oxen forward. +The job requires extra pluck and zeal from every young wage earner. +Jived fox nymph grabs quick waltz. +How vexingly quick daft zebras jump! +Amazingly few discotheques provide jukeboxes. +The quick onyx goblin jumps over the lazy dwarf. +Six big devils from Japan quickly forgot how to waltz. +Jack amazed a few girls by dropping the antique onyx vase. +A quick movement of the enemy will jeopardize six gunboats. diff -Nru appstream-0.12.10/data/iana-filtered-tld-list.txt appstream-0.14.5/data/iana-filtered-tld-list.txt --- appstream-0.12.10/data/iana-filtered-tld-list.txt 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/data/iana-filtered-tld-list.txt 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ # IANA TLDs we recognize for AppStream IDs. # Derived from the full list at https://data.iana.org/TLD/tlds-alpha-by-domain.txt -# Last updated on 2020-01-14 +# Last updated on 2021-08-28 aaa aarp abb @@ -19,7 +19,6 @@ ag ai aig -aigo akdn al ally @@ -118,7 +117,6 @@ cbs cc cd -ceb ceo cern cf @@ -310,7 +308,6 @@ itv java jcb -jcp je jeep jio @@ -544,7 +541,6 @@ sc sca scb -scor scot sd se @@ -579,6 +575,7 @@ song sony soy +spa spot sr srl diff -Nru appstream-0.12.10/data/its/metainfo.its appstream-0.14.5/data/its/metainfo.its --- appstream-0.12.10/data/its/metainfo.its 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/data/its/metainfo.its 2021-08-28 20:15:28.000000000 +0000 @@ -1,4 +1,10 @@ + @@ -23,4 +29,6 @@ translate="no"/> + diff -Nru appstream-0.12.10/data/its/metainfo.loc appstream-0.14.5/data/its/metainfo.loc --- appstream-0.12.10/data/its/metainfo.loc 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/data/its/metainfo.loc 2021-08-28 20:15:28.000000000 +0000 @@ -1,4 +1,9 @@ + diff -Nru appstream-0.12.10/data/meson.build appstream-0.14.5/data/meson.build --- appstream-0.12.10/data/meson.build 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/data/meson.build 2021-08-28 20:15:28.000000000 +0000 @@ -1,7 +1,11 @@ # Meson definition for AppStream data -install_data ('its/metainfo.its', install_dir: 'share/gettext/its') -install_data ('its/metainfo.loc', install_dir: 'share/gettext/its') +metainfo_dir = join_paths (get_option ('datadir'), 'metainfo') + +install_data ('its/metainfo.its', + install_dir: join_paths(get_option('datadir'), 'gettext', 'its')) +install_data ('its/metainfo.loc', + install_dir: join_paths(get_option('datadir'), 'gettext', 'its')) # NOTE: We do not translate the release notes on purpose here. # If you do want to give translators a chance to translate them, @@ -13,14 +17,35 @@ command : [ascli_exe, 'news-to-metainfo', '--limit=6', '@INPUT0@', '@INPUT1@', '@OUTPUT@'] ) -i18n.merge_file ( +metainfo_i18n = i18n.merge_file ( input: metainfo_with_relinfo, output: 'org.freedesktop.appstream.cli.metainfo.xml', type: 'xml', data_dirs: [meson.current_source_dir()], po_dir: join_paths (source_root, 'po'), install: true, - install_dir: join_paths (get_option ('datadir'), 'metainfo') + install_dir: metainfo_dir +) + +test ('as-validate_metainfo.cli', + ascli_exe, + args: ['validate', + '--pedantic', + '--no-net', + metainfo_i18n] ) -install_data ('appstream.conf', install_dir: '/etc') +install_data ('appstream.conf', + install_dir: get_option('sysconfdir')) + +if get_option('compose') + ascompose_metainfo = 'org.freedesktop.appstream.compose.metainfo.xml' + test ('as-validate_metainfo.compose', + ascli_exe, + args: ['validate', + '--pedantic', + '--no-net', + join_paths(meson.current_source_dir(), ascompose_metainfo)] + ) + install_data (ascompose_metainfo, install_dir: metainfo_dir) +endif diff -Nru appstream-0.12.10/data/org.freedesktop.appstream.cli.metainfo.xml appstream-0.14.5/data/org.freedesktop.appstream.cli.metainfo.xml --- appstream-0.12.10/data/org.freedesktop.appstream.cli.metainfo.xml 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/data/org.freedesktop.appstream.cli.metainfo.xml 2021-08-28 20:15:28.000000000 +0000 @@ -1,5 +1,5 @@ - + org.freedesktop.appstream.cli FSFAP @@ -10,17 +10,22 @@

- AppStream is a cross-distribution specification to provide metadata about software components. + AppStream is a metadata specification which permits software components to provide information about themselves + to automated systems and end-users before the software is actually installed. + The AppStream project provides facilities to easily access and transform this metadata, as well as a few additional + services for building feature-rich software centers and similar applications that make use of software metadata.

- This tool allows for reading, writing, validating and transformation of AppStream XML or YAML metadata. - It also gives access to the system metadata pool, for example to query for software that provides a - specific MIME-type, and installing it by its software component identifier. + The appstreamcli command-line tool allows to read, write, and transform AppStream XML or YAML metadata + as well as to validate it for compliance with the specification. + It also provides easy access to the system metadata pool, for example to query for software that provides a + specific Mediatype handler or for installing software by its component identifier.

https://www.freedesktop.org/wiki/Distributions/AppStream/ https://www.freedesktop.org/software/appstream/docs/chap-AppStream-ManualPages.html + https://github.com/ximion/appstream/issues Freedesktop @@ -28,4 +33,6 @@ appstreamcli + +
diff -Nru appstream-0.12.10/data/org.freedesktop.appstream.compose.metainfo.xml appstream-0.14.5/data/org.freedesktop.appstream.compose.metainfo.xml --- appstream-0.12.10/data/org.freedesktop.appstream.compose.metainfo.xml 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/data/org.freedesktop.appstream.compose.metainfo.xml 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,40 @@ + + + + org.freedesktop.appstream.compose + org.freedesktop.appstream.cli + + FSFAP + GPL-2.0+ + + AppStream Compose + Utility to compose AppStream collection metadata from directory trees + + +

+ AppStream Compose expands the appstreamcli utility by a subcommand which + allows it to construct AppStream collection metadata from directory trees. +

+

+ The tool will also perform many related metadata generation actions, like resizing icons and + screenshots and merging in data from referenced desktop-entry files as well as translation status + information. + It provides a fast way to test how the final processed metadata for an application that is shipped to users + may look like. +

+

+ In addition to that, it allows to easily generate AppStream data for projects which do not need a more complex data + generator like appstream-generator. +

+
+ + https://www.freedesktop.org/wiki/Distributions/AppStream/ + https://www.freedesktop.org/software/appstream/docs/chap-AppStream-ManualPages.html + https://github.com/ximion/appstream/issues + + Freedesktop + + appstream + + +
diff -Nru appstream-0.12.10/data/platform_arch.txt appstream-0.14.5/data/platform_arch.txt --- appstream-0.12.10/data/platform_arch.txt 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/data/platform_arch.txt 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,25 @@ +# This file is derived from platforms.yml - DO NOT EDIT IT MANUALLY! +arm +armeb +aarch64 +aarch64_be +aarch64_32 +alpha +hppa +m68k +mips +mipsel +mips64 +mips64el +msp430 +powerpc +powerpc64 +powerpc64le +riscv32 +riscv64 +sparc +sparc64 +i386 +x86_64 +wasm32 +wasm64 diff -Nru appstream-0.12.10/data/platform_env.txt appstream-0.14.5/data/platform_env.txt --- appstream-0.12.10/data/platform_env.txt 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/data/platform_env.txt 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,11 @@ +# This file is derived from platforms.yml - DO NOT EDIT IT MANUALLY! +gnu +gnu_ilp32 +gnueabi +gnueabihf +gnuabin32 +gnuabi64 +android +musl +msvc +cygwin diff -Nru appstream-0.12.10/data/platform_os.txt appstream-0.14.5/data/platform_os.txt --- appstream-0.12.10/data/platform_os.txt 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/data/platform_os.txt 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,11 @@ +# This file is derived from platforms.yml - DO NOT EDIT IT MANUALLY! +linux +darwin +macos +dragonfly +freebsd +kfreebsd +netbsd +openbsd +windows +haiku diff -Nru appstream-0.12.10/data/platforms.yml appstream-0.14.5/data/platforms.yml --- appstream-0.12.10/data/platforms.yml 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/data/platforms.yml 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,69 @@ +# +# SPDX-License-Identifier: FSFAP +# +# This document is used to generate the platform triplets supported by AppStream. +# AppStream platform triplets are based on normalized GNU triplets, +# as used for Debian's multiarch support[1]. They consist of strictly three parts: +# -- +# Parts which do not matter for a binary can be substituted with "any". +# +# Valid triplets are for example `x86_64-linux-gnu`, `x86_64-windows-msvc`, +# `aarch64-linux-gnu_ilp32`, `wasm64-any-any` or `any-linux-gnu` +# +# This document is used for validation of triplets in AppStream's validator, and is +# not an exhaustive list. Please file an issue if you are missing an entry. +# +# [1]: https://wiki.debian.org/Multiarch/Tuples#Used_solution + +# Known architectures +architectures: +- arm # ARM (little endian): arm, armv.*, xscale +- armeb # ARM (big endian): armeb +- aarch64 # AArch64 (little endian): aarch64 +- aarch64_be # AArch64 (big endian): aarch64_be +- aarch64_32 # AArch64 (little endian) ILP32: aarch64_32 +- alpha # Alpha, Tru64 Calling Standard +- hppa # PA-RISC +- m68k # MC68000 +- mips # MIPS: mips, mipsallegrex, mipsr6 +- mipsel # MIPSEL: mipsel, mipsallegrexe, mipsr6el +- mips64 # MIPS64: mips64, mips64r6, mipsn32, mipsn32r6 +- mips64el # MIPS64EL: mips64el, mips64r6el, mipsn32el, mipsn32r6el +- msp430 # MSP430: msp430 +- powerpc # Powerpc (PPC) +- powerpc64 # PPC64: powerpc64, ppu +- powerpc64le # PPC64LE: powerpc64le +- riscv32 # RISC-V (32-bit): riscv32 +- riscv64 # RISC-V (64-bit): riscv64 +- sparc # Sparc: sparc +- sparc64 # SPARCv9 psABI +- i386 # X86: i[3-9]86 +- x86_64 # X86-64: amd64, x86_64 +- wasm32 # WebAssembly with 32-bit pointers +- wasm64 # WebAssembly with 64-bit pointers + +# OS / Kernels +os_kernels: +- linux # Linux +- darwin # Darwin (macOS kernel) +- macos # macOS / MacOSX +- dragonfly # DragonFly (BSD variant) +- freebsd # FreeBSD (OS) +- kfreebsd # FreeBSD (kernel) +- netbsd # NetBSD +- openbsd # OpenBSD +- windows # Windows +- haiku # Haiku + +# OS / Environments +os_environments: +- gnu # The GNU Operating System +- gnu_ilp32 # GNU, x32 ABI +- gnueabi # GNU, ARM EABI, soft-float +- gnueabihf # GNU, ARM EABI, hard-float +- gnuabin32 # GNU, MIPS n32 ABI +- gnuabi64 # GNU, MIPS 64-bit ABI +- android # The Android OS +- musl # Musl libc +- msvc # MS ABI, MSVCRT environment as defined by Microsoft +- cygwin # Cygwin environment by Cygnus diff -Nru appstream-0.12.10/data/spdx-free-license-ids.txt appstream-0.14.5/data/spdx-free-license-ids.txt --- appstream-0.12.10/data/spdx-free-license-ids.txt 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/data/spdx-free-license-ids.txt 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,189 @@ +# The list of free (OSI or FSF approved) licenses recognized by SPDX, v7bcf79d +0BSD +AAL +AFL-1.1 +AFL-1.2 +AFL-2.0 +AFL-2.1 +AFL-3.0 +AGPL-1.0 +AGPL-3.0 +AGPL-3.0-only +AGPL-3.0-or-later +APL-1.0 +APSL-1.0 +APSL-1.1 +APSL-1.2 +APSL-2.0 +Apache-1.0 +Apache-1.1 +Apache-2.0 +Artistic-1.0 +Artistic-1.0-Perl +Artistic-1.0-cl8 +Artistic-2.0 +BSD-1-Clause +BSD-2-Clause +BSD-2-Clause-FreeBSD +BSD-2-Clause-Patent +BSD-3-Clause +BSD-3-Clause-Clear +BSD-3-Clause-LBNL +BSD-4-Clause +BSL-1.0 +BitTorrent-1.1 +CAL-1.0 +CAL-1.0-Combined-Work-Exception +CATOSL-1.1 +CC-BY-4.0 +CC-BY-SA-4.0 +CC0-1.0 +CDDL-1.0 +CECILL-2.0 +CECILL-2.1 +CECILL-B +CECILL-C +CERN-OHL-P-2.0 +CERN-OHL-S-2.0 +CERN-OHL-W-2.0 +CNRI-Python +CPAL-1.0 +CPL-1.0 +CUA-OPL-1.0 +ClArtistic +Condor-1.1 +ECL-1.0 +ECL-2.0 +EFL-1.0 +EFL-2.0 +EPL-1.0 +EPL-2.0 +EUDatagrid +EUPL-1.1 +EUPL-1.2 +Entessa +FSFAP +FTL +Fair +Frameworx-1.0 +GFDL-1.1 +GFDL-1.1-only +GFDL-1.1-or-later +GFDL-1.2 +GFDL-1.2-only +GFDL-1.2-or-later +GFDL-1.3 +GFDL-1.3-only +GFDL-1.3-or-later +GPL-2.0 +GPL-2.0+ +GPL-2.0-only +GPL-2.0-or-later +GPL-3.0 +GPL-3.0+ +GPL-3.0-only +GPL-3.0-or-later +GPL-3.0-with-GCC-exception +HPND +IJG +IPA +IPL-1.0 +ISC +Imlib2 +Intel +LGPL-2.0 +LGPL-2.0+ +LGPL-2.0-only +LGPL-2.0-or-later +LGPL-2.1 +LGPL-2.1+ +LGPL-2.1-only +LGPL-2.1-or-later +LGPL-3.0 +LGPL-3.0+ +LGPL-3.0-only +LGPL-3.0-or-later +LPL-1.0 +LPL-1.02 +LPPL-1.2 +LPPL-1.3a +LPPL-1.3c +LiLiQ-P-1.1 +LiLiQ-R-1.1 +LiLiQ-Rplus-1.1 +MIT +MIT-0 +MIT-Modern-Variant +MPL-1.0 +MPL-1.1 +MPL-2.0 +MPL-2.0-no-copyleft-exception +MS-PL +MS-RL +MirOS +Motosoto +MulanPSL-2.0 +Multics +NASA-1.3 +NCSA +NGPL +NOSL +NPL-1.0 +NPL-1.1 +NPOSL-3.0 +NTP +Naumen +Nokia +OCLC-2.0 +ODbL-1.0 +OFL-1.1 +OFL-1.1-RFN +OFL-1.1-no-RFN +OGTSL +OLDAP-2.3 +OLDAP-2.7 +OLDAP-2.8 +OSET-PL-2.1 +OSL-1.0 +OSL-1.1 +OSL-2.0 +OSL-2.1 +OSL-3.0 +OpenSSL +PHP-3.0 +PHP-3.01 +PostgreSQL +Python-2.0 +QPL-1.0 +RPL-1.1 +RPL-1.5 +RPSL-1.0 +RSCPL +Ruby +SGI-B-2.0 +SISSL +SMLNJ +SPL-1.0 +SimPL-2.0 +Sleepycat +UCL-1.0 +UPL-1.0 +Unicode-DFS-2016 +Unlicense +VSL-1.0 +Vim +W3C +WTFPL +Watcom-1.0 +X11 +XFree86-1.1 +Xnet +YPL-1.1 +ZPL-2.0 +ZPL-2.1 +Zend-2.0 +Zimbra-1.3 +Zlib +gnuplot +iMatix +xinetd diff -Nru appstream-0.12.10/data/spdx-license-exception-ids.txt appstream-0.14.5/data/spdx-license-exception-ids.txt --- appstream-0.12.10/data/spdx-license-exception-ids.txt 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/data/spdx-license-exception-ids.txt 2021-08-28 20:15:28.000000000 +0000 @@ -1,4 +1,4 @@ -# The list of license exceptions recognized by SPDX, v3.7-5-gebad7c9 +# The list of license exceptions recognized by SPDX, v7bcf79d 389-exception Autoconf-exception-2.0 Autoconf-exception-3.0 @@ -12,7 +12,10 @@ Font-exception-2.0 GCC-exception-2.0 GCC-exception-3.1 +GPL-3.0-linking-exception +GPL-3.0-linking-source-exception GPL-CC-1.0 +LGPL-3.0-linking-exception LLVM-exception LZMA-exception Libtool-exception @@ -25,6 +28,8 @@ Qt-GPL-exception-1.0 Qt-LGPL-exception-1.1 Qwt-exception-1.0 +SHL-2.0 +SHL-2.1 Swift-exception Universal-FOSS-exception-1.0 WxWindows-exception-3.1 diff -Nru appstream-0.12.10/data/spdx-license-ids.txt appstream-0.14.5/data/spdx-license-ids.txt --- appstream-0.12.10/data/spdx-license-ids.txt 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/data/spdx-license-ids.txt 2021-08-28 20:15:28.000000000 +0000 @@ -1,4 +1,4 @@ -# The list of licenses recognized by SPDX, v3.7-5-gebad7c9 +# The list of all licenses recognized by SPDX, v7bcf79d 0BSD AAL ADSL @@ -17,6 +17,7 @@ AML AMPAS ANTLR-PD +ANTLR-PD-fallback APAFML APL-1.0 APSL-1.0 @@ -40,19 +41,24 @@ BSD-2-Clause-FreeBSD BSD-2-Clause-NetBSD BSD-2-Clause-Patent +BSD-2-Clause-Views BSD-3-Clause BSD-3-Clause-Attribution BSD-3-Clause-Clear BSD-3-Clause-LBNL +BSD-3-Clause-Modification +BSD-3-Clause-No-Military-License BSD-3-Clause-No-Nuclear-License BSD-3-Clause-No-Nuclear-License-2014 BSD-3-Clause-No-Nuclear-Warranty BSD-3-Clause-Open-MPI BSD-4-Clause +BSD-4-Clause-Shortened BSD-4-Clause-UC BSD-Protection BSD-Source-Code BSL-1.0 +BUSL-1.1 Bahyph Barr Beerware @@ -60,42 +66,64 @@ BitTorrent-1.1 BlueOak-1.0.0 Borceux +C-UDA-1.0 +CAL-1.0 +CAL-1.0-Combined-Work-Exception CATOSL-1.1 CC-BY-1.0 CC-BY-2.0 CC-BY-2.5 +CC-BY-2.5-AU CC-BY-3.0 +CC-BY-3.0-AT +CC-BY-3.0-DE +CC-BY-3.0-NL +CC-BY-3.0-US CC-BY-4.0 CC-BY-NC-1.0 CC-BY-NC-2.0 CC-BY-NC-2.5 CC-BY-NC-3.0 +CC-BY-NC-3.0-DE CC-BY-NC-4.0 CC-BY-NC-ND-1.0 CC-BY-NC-ND-2.0 CC-BY-NC-ND-2.5 CC-BY-NC-ND-3.0 +CC-BY-NC-ND-3.0-DE +CC-BY-NC-ND-3.0-IGO CC-BY-NC-ND-4.0 CC-BY-NC-SA-1.0 CC-BY-NC-SA-2.0 +CC-BY-NC-SA-2.0-FR +CC-BY-NC-SA-2.0-UK CC-BY-NC-SA-2.5 CC-BY-NC-SA-3.0 +CC-BY-NC-SA-3.0-DE +CC-BY-NC-SA-3.0-IGO CC-BY-NC-SA-4.0 CC-BY-ND-1.0 CC-BY-ND-2.0 CC-BY-ND-2.5 CC-BY-ND-3.0 +CC-BY-ND-3.0-DE CC-BY-ND-4.0 CC-BY-SA-1.0 CC-BY-SA-2.0 +CC-BY-SA-2.0-UK +CC-BY-SA-2.1-JP CC-BY-SA-2.5 CC-BY-SA-3.0 +CC-BY-SA-3.0-AT +CC-BY-SA-3.0-DE CC-BY-SA-4.0 CC-PDDC CC0-1.0 CDDL-1.0 CDDL-1.1 +CDL-1.0 CDLA-Permissive-1.0 +CDLA-Permissive-2.0 CDLA-Sharing-1.0 CECILL-1.0 CECILL-1.1 @@ -105,6 +133,9 @@ CECILL-C CERN-OHL-1.1 CERN-OHL-1.2 +CERN-OHL-P-2.0 +CERN-OHL-S-2.0 +CERN-OHL-W-2.0 CNRI-Jython CNRI-Python CNRI-Python-GPL-Compatible @@ -120,12 +151,14 @@ Cube D-FSL-1.0 DOC +DRL-1.0 DSDP Dotseqn ECL-1.0 ECL-2.0 EFL-1.0 EFL-2.0 +EPICS EPL-1.0 EPL-2.0 EUDatagrid @@ -141,17 +174,32 @@ FTL Fair Frameworx-1.0 +FreeBSD-DOC FreeImage +GD GFDL-1.1 +GFDL-1.1-invariants-only +GFDL-1.1-invariants-or-later +GFDL-1.1-no-invariants-only +GFDL-1.1-no-invariants-or-later GFDL-1.1-only GFDL-1.1-or-later GFDL-1.2 +GFDL-1.2-invariants-only +GFDL-1.2-invariants-or-later +GFDL-1.2-no-invariants-only +GFDL-1.2-no-invariants-or-later GFDL-1.2-only GFDL-1.2-or-later GFDL-1.3 +GFDL-1.3-invariants-only +GFDL-1.3-invariants-or-later +GFDL-1.3-no-invariants-only +GFDL-1.3-no-invariants-or-later GFDL-1.3-only GFDL-1.3-or-later GL2PS +GLWTPL GPL-1.0 GPL-1.0+ GPL-1.0-only @@ -176,7 +224,9 @@ Glulxe HPND HPND-sell-variant +HTMLTIDY HaskellReport +Hippocratic-2.1 IBM-pibs ICU IJG @@ -224,9 +274,11 @@ MIT MIT-0 MIT-CMU +MIT-Modern-Variant MIT-advertising MIT-enna MIT-feh +MIT-open-group MITNFA MPL-1.0 MPL-1.1 @@ -239,13 +291,19 @@ MirOS Motosoto MulanPSL-1.0 +MulanPSL-2.0 Multics Mup +NAIST-2003 NASA-1.3 NBPL-1.0 +NCGL-UK-2.0 NCSA NGPL +NIST-PD +NIST-PD-fallback NLOD-1.0 +NLOD-2.0 NLPL NOSL NPL-1.0 @@ -253,6 +311,7 @@ NPOSL-3.0 NRL NTP +NTP-0 Naumen Net-SNMP NetCDF @@ -260,12 +319,19 @@ Nokia Noweb Nunit +O-UDA-1.0 OCCT-PL OCLC-2.0 ODC-By-1.0 ODbL-1.0 OFL-1.0 +OFL-1.0-RFN +OFL-1.0-no-RFN OFL-1.1 +OFL-1.1-RFN +OFL-1.1-no-RFN +OGC-1.0 +OGDL-Taiwan-1.0 OGL-Canada-2.0 OGL-UK-1.0 OGL-UK-2.0 @@ -289,6 +355,7 @@ OLDAP-2.8 OML OPL-1.0 +OPUBL-1.0 OSET-PL-2.1 OSL-1.0 OSL-1.1 @@ -299,8 +366,12 @@ PDDL-1.0 PHP-3.0 PHP-3.01 +PSF-2.0 Parity-6.0.0 +Parity-7.0.0 Plexus +PolyForm-Noncommercial-1.0.0 +PolyForm-Small-Business-1.0.0 PostgreSQL Python-2.0 QPL-1.0 @@ -393,6 +464,7 @@ gnuplot iMatix libpng-2.0 +libselinux-1.0 libtiff mpich2 psfrag diff -Nru appstream-0.12.10/data/update-data.py appstream-0.14.5/data/update-data.py --- appstream-0.12.10/data/update-data.py 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/data/update-data.py 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ #!/usr/bin/env python3 # -# Copyright (C) 2015-2020 Matthias Klumpp +# Copyright (C) 2015-2021 Matthias Klumpp # # SPDX-License-Identifier: LGPL-2.1+ @@ -12,15 +12,17 @@ import json import requests import subprocess +import yaml from datetime import date from tempfile import TemporaryDirectory IANA_TLD_LIST_URL = 'https://data.iana.org/TLD/tlds-alpha-by-domain.txt' SPDX_REPO_URL = 'https://github.com/spdx/license-list-data.git' +MENU_SPEC_URL = 'https://gitlab.freedesktop.org/xdg/xdg-specs/raw/master/menu/menu-spec.xml' -def get_tld_list(fname, url): +def update_tld_list(url, fname): print('Getting TLD list from IANA...') data_result = list() @@ -55,19 +57,10 @@ f.write('\n') -def get_spdx_id_list(licenselist_fname, exceptionlist_fname, git_url, with_deprecated=True): - print('Updating list of SPDX license IDs...') - tdir = TemporaryDirectory(prefix='spdx_master-') - - subprocess.check_call(['git', 'clone', git_url, tdir.name]) - last_tag_ver = subprocess.check_output(['git', 'describe', '--abbrev=0', '--tags'], cwd=tdir.name) - last_tag_ver = str(last_tag_ver.strip(), 'utf-8') - if last_tag_ver.startswith('v'): - last_tag_ver = last_tag_ver[1:] - +def _read_spdx_licenses(data_dir, last_tag_ver, only_free=False): # load license and exception data - licenses_json_fname = os.path.join(tdir.name, 'json', 'licenses.json') - exceptions_json_fname = os.path.join(tdir.name, 'json', 'exceptions.json') + licenses_json_fname = os.path.join(data_dir, 'json', 'licenses.json') + exceptions_json_fname = os.path.join(data_dir, 'json', 'exceptions.json') with open(licenses_json_fname, 'r') as f: licenses_data = json.loads(f.read()) with open(exceptions_json_fname, 'r') as f: @@ -83,28 +76,182 @@ lid_list = [] for license in licenses_data['licenses']: + if only_free: + if not license.get('isFsfLibre') and not license.get('isOsiApproved'): + continue lid_list.append(license['licenseId']) eid_list = [] for exception in exceptions_data['exceptions']: eid_list.append(exception['licenseExceptionId']) + return {'licenses': lid_list, + 'exceptions': eid_list, + 'license_list_ver': license_ver_ref, + 'eceptions_list_ver': exceptions_ver_ref} + + +def update_spdx_id_list(git_url, licenselist_fname, licenselist_free_fname, exceptionlist_fname, with_deprecated=True): + print('Updating list of SPDX license IDs...') + tdir = TemporaryDirectory(prefix='spdx_master-') + + subprocess.check_call(['git', + 'clone', + git_url, tdir.name]) + last_tag_ver = subprocess.check_output(['git', 'describe', '--abbrev=0', '--tags'], cwd=tdir.name) + last_tag_ver = str(last_tag_ver.strip(), 'utf-8') + if last_tag_ver.startswith('v'): + last_tag_ver = last_tag_ver[1:] + + license_data = _read_spdx_licenses(tdir.name, last_tag_ver) + lid_list = license_data['licenses'] + eid_list = license_data['exceptions'] + license_list_ver = license_data['license_list_ver'] + lid_list.sort() with open(licenselist_fname, 'w') as f: - f.write('# The list of licenses recognized by SPDX, v{}\n'.format(license_ver_ref)) + f.write('# The list of all licenses recognized by SPDX, v{}\n'.format(license_list_ver)) f.write('\n'.join(lid_list)) f.write('\n') eid_list.sort() with open(exceptionlist_fname, 'w') as f: - f.write('# The list of license exceptions recognized by SPDX, v{}\n'.format(exceptions_ver_ref)) + f.write('# The list of license exceptions recognized by SPDX, v{}\n'.format(license_data['eceptions_list_ver'])) f.write('\n'.join(eid_list)) f.write('\n') + license_free_data = _read_spdx_licenses(tdir.name, last_tag_ver, only_free=True) + with open(licenselist_free_fname, 'w') as f: + f.write('# The list of free (OSI or FSF approved) licenses recognized by SPDX, v{}\n'.format(license_list_ver)) + f.write('\n'.join(sorted(license_free_data['licenses']))) + f.write('\n') + + +def update_platforms_data(): + print('Updating platform triplet part data...') + + with open('platforms.yml', 'r') as f: + data = yaml.safe_load(f) + + def write_platform_data(fname, values): + with open(fname, 'w') as f: + f.write('# This file is derived from platforms.yml - DO NOT EDIT IT MANUALLY!\n') + f.write('\n'.join(values)) + f.write('\n') + + write_platform_data('platform_arch.txt', data['architectures']) + write_platform_data('platform_os.txt', data['os_kernels']) + write_platform_data('platform_env.txt', data['os_environments']) + + +def update_categories_list(spec_url, cat_fname): + ''' The worst parser ever, extracting category information directoly from the spec Docbook file ''' + from enum import Enum, auto + + req = requests.get(spec_url) + + class SpecSection(Enum): + NONE = auto() + MAIN_CATS = auto() + MAIN_CATS_BODY = auto() + EXTRA_CATS = auto() + EXTRA_CATS_BODY = auto() + + def get_entry(line): + start = line.index('') + 7 + end = line.index('') + return line[start:end].strip() + + main_cats = [] + extra_cats = [] + + current_cat = {} + spec_sect = SpecSection.NONE + for line in str(req.content, 'utf-8').splitlines(): + if 'Main Category' in line: + spec_sect = SpecSection.MAIN_CATS + continue + + if 'Additional Category' in line: + spec_sect = SpecSection.EXTRA_CATS + continue + + if '' in line: + current_cat = {} + if spec_sect == SpecSection.MAIN_CATS: + spec_sect = SpecSection.MAIN_CATS_BODY + else: + spec_sect = SpecSection.EXTRA_CATS_BODY + continue + + if spec_sect == SpecSection.MAIN_CATS_BODY: + if '' in line: + if current_cat: + main_cats.append(current_cat) + current_cat = {} + continue + if '' in line: + if current_cat: + main_cats.append(current_cat) + current_cat = {} + spec_sect = SpecSection.NONE + continue + + if '' in line: + if current_cat.get('desc'): + continue + if current_cat: + current_cat['desc'] = get_entry(line) + else: + current_cat['name'] = get_entry(line) + continue + + if spec_sect == SpecSection.EXTRA_CATS_BODY: + if '' in line: + if current_cat: + extra_cats.append(current_cat) + current_cat = {} + continue + if '' in line: + if current_cat: + main_cats.append(current_cat) + current_cat = {} + spec_sect = SpecSection.NONE + # nothing interesting follows for us after the additional categories are done + break + + if '' in line: + if current_cat.get('rel'): + continue + if current_cat: + if not current_cat.get('desc'): + current_cat['desc'] = get_entry(line) + if not current_cat.get('rel'): + current_cat['rel'] = get_entry(line) + else: + current_cat['name'] = get_entry(line) + continue + + all_cat_names = [cat['name'] for cat in main_cats] + all_cat_names.extend([cat['name'] for cat in extra_cats]) + all_cat_names.sort() + + with open(cat_fname, 'w') as f: + f.write('# Freedesktop Menu Categories\n') + f.write('# See https://specifications.freedesktop.org/menu-spec/latest/apa.html\n') + f.write('\n'.join(all_cat_names)) + f.write('\n') + def main(): - get_tld_list('iana-filtered-tld-list.txt', IANA_TLD_LIST_URL) - get_spdx_id_list('spdx-license-ids.txt', 'spdx-license-exception-ids.txt', SPDX_REPO_URL) + data_dir = os.path.dirname(os.path.abspath(__file__)) + print('Data directory is: {}'.format(data_dir)) + os.chdir(data_dir) + + update_tld_list(IANA_TLD_LIST_URL, 'iana-filtered-tld-list.txt') + update_spdx_id_list(SPDX_REPO_URL, 'spdx-license-ids.txt', 'spdx-free-license-ids.txt', 'spdx-license-exception-ids.txt') + update_categories_list(MENU_SPEC_URL, 'xdg-category-names.txt') + update_platforms_data() print('All done.') diff -Nru appstream-0.12.10/data/xdg-category-names.txt appstream-0.14.5/data/xdg-category-names.txt --- appstream-0.12.10/data/xdg-category-names.txt 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/data/xdg-category-names.txt 2021-08-28 20:15:28.000000000 +0000 @@ -1,5 +1,5 @@ -# FreeDesktop Menu Categories -# See https://specifications.freedesktop.org/menu-spec/menu-spec-1.0.html#category-registry +# Freedesktop Menu Categories +# See https://specifications.freedesktop.org/menu-spec/latest/apa.html 2DGraphics 3DGraphics Accessibility @@ -32,8 +32,8 @@ Construction ContactManagement Core -Database DataVisualization +Database Debugger DesktopSettings Development @@ -50,27 +50,27 @@ Engineering Feed FileManager -Filesystem FileTools FileTransfer +Filesystem Finance FlowChart +GNOME +GTK +GUIDesigner Game Geography Geology Geoscience -GNOME Graphics -GTK -GUIDesigner HamRadio HardwareSettings History Humanities IDE +IRCClient ImageProcessing InstantMessaging -IRCClient Java KDE KidsGame @@ -91,9 +91,9 @@ OCR Office P2P +PDA PackageManager ParallelComputing -PDA Photography Physics Player @@ -122,6 +122,7 @@ Spreadsheet StrategyGame System +TV Telephony TelephonyTools TerminalEmulator @@ -129,7 +130,6 @@ TextTools Translation Tuner -TV Utility VectorGraphics Video diff -Nru appstream-0.12.10/debian/appstream-compose.install appstream-0.14.5/debian/appstream-compose.install --- appstream-0.12.10/debian/appstream-compose.install 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/debian/appstream-compose.install 2021-08-28 20:51:48.000000000 +0000 @@ -0,0 +1,2 @@ +usr/libexec/appstreamcli-compose +usr/share/man/man1/appstreamcli-compose.1 diff -Nru appstream-0.12.10/debian/appstream.install appstream-0.14.5/debian/appstream.install --- appstream-0.12.10/debian/appstream.install 2018-04-04 16:29:30.000000000 +0000 +++ appstream-0.14.5/debian/appstream.install 2021-08-28 20:52:06.000000000 +0000 @@ -2,6 +2,7 @@ etc/apt/apt.conf.d/* usr/bin/* usr/share/gettext/* +usr/share/installed-tests/appstream/metainfo-validate.test usr/share/locale/* usr/share/man/man1/appstreamcli.1 usr/share/metainfo/* diff -Nru appstream-0.12.10/debian/appstream.postrm appstream-0.14.5/debian/appstream.postrm --- appstream-0.12.10/debian/appstream.postrm 2017-08-30 18:08:12.000000000 +0000 +++ appstream-0.14.5/debian/appstream.postrm 2021-06-22 17:14:52.000000000 +0000 @@ -4,10 +4,10 @@ if [ "$1" = "purge" ]; then # remove the AppStream global cache - rm -rf /var/cache/app-info/gv + rm -rf /var/cache/app-info/cache rmdir /var/cache/app-info/ | true - # remove the AppStream data + # remove the AppStream data fetched via APT rm -rf /var/lib/app-info fi diff -Nru appstream-0.12.10/debian/changelog appstream-0.14.5/debian/changelog --- appstream-0.12.10/debian/changelog 2020-03-14 15:40:14.000000000 +0000 +++ appstream-0.14.5/debian/changelog 2022-07-19 14:17:52.000000000 +0000 @@ -1,3 +1,98 @@ +appstream (0.14.5-1+zorin1) focal; urgency=medium + + * Backport to Zorin OS 16 + + -- Artyom Zorin Tue, 19 Jul 2022 15:17:52 +0100 + +appstream (0.14.5-1) unstable; urgency=medium + + * New upstream version: 0.14.5 + * Update symbols file + * Add compose feature in separate appstream-compose package + * Update d/copyright + * Drop obsolete breaks/replaces on packages + + -- Matthias Klumpp Sat, 28 Aug 2021 22:58:54 +0200 + +appstream (0.14.4-1) unstable; urgency=medium + + * New upstream version: 0.14.4 + - Handle locale modifiers properly, preventing bad YAML generation + - Improve text line wrapping + - Parse slightly more complex expressions for metadata licenses + - Don't flag cache as updated if update failed + - Use system cache even if some invalid metadata was ignored + - Fix bad XML being generated for flashed firmware + * Delete the right cache directory on purge (Closes: #982433) + * Update d/watch file version + + -- Matthias Klumpp Sat, 10 Jul 2021 19:36:58 +0200 + +appstream (0.14.2-1) unstable; urgency=medium + + * New upstream version: 0.14.2 + * Update symbols file + + -- Matthias Klumpp Tue, 02 Mar 2021 10:08:00 +0100 + +appstream (0.14.1-1) unstable; urgency=medium + + * New upstream version: 0.14.1 + * Update .symbols file + * Drop all patches: Applied upstream + * Override Lintian warning about bad metainfo files in the testsuite + - Those are bad on purpose, for testing AppStream itself. + + -- Matthias Klumpp Tue, 16 Feb 2021 20:54:02 +0100 + +appstream (0.14.0-2) unstable; urgency=medium + + * Add missing dependency on libgdk-pixbuf2.0-dev to + appstream-compose dev package + * Add 01_qt-better-errors.patch, 02_no-propagated-error-autoclean.patch: + - Resolves a crash in Plasma Discover (and possibly other applications + trying to open a nonexistent metadata file) due to propagated error + objects being dereferenced by their creating function. + + -- Matthias Klumpp Fri, 05 Feb 2021 20:36:26 +0100 + +appstream (0.14.0-1) unstable; urgency=medium + + * New upstream version: 0.14.0 + * Update symbols file + + -- Matthias Klumpp Tue, 02 Feb 2021 17:22:17 +0100 + +appstream (0.13.1-2) unstable; urgency=medium + + * No-change source-only upload. + + -- Matthias Klumpp Tue, 22 Dec 2020 00:04:10 +0100 + +appstream (0.13.1-1) unstable; urgency=medium + + * New upstream version: 0.13.1 + - Includes workaround for a gobject-introspection ambiguity that + prevents declaring certain ownership relations. The workaround, + at least for now, makes both Python and Vala work again when + using GIR data (Closes: #974107) + * Drop extra highlight.js copy + * Add packages for the experimental appstream-compose library + * Update description texts slightly + * Update symbols file + + -- Matthias Klumpp Tue, 01 Dec 2020 10:10:16 +0100 + +appstream (0.12.11-1) unstable; urgency=medium + + * New upstream version 0.12.11 + * Drop all patches: Applied upstream + * Update .symbols file + * Use packaged copy of highlight.js for documentation + * Add full-source copy of highlight.js to debian/ dir + + -- Matthias Klumpp Tue, 12 May 2020 18:28:42 +0200 + appstream (0.12.10-2) unstable; urgency=medium * Add fix-free-license-check.patch: Non-free licenses were previously diff -Nru appstream-0.12.10/debian/control appstream-0.14.5/debian/control --- appstream-0.12.10/debian/control 2020-03-14 15:40:14.000000000 +0000 +++ appstream-0.14.5/debian/control 2022-07-19 14:17:52.000000000 +0000 @@ -2,15 +2,21 @@ Section: admin Priority: optional Maintainer: Matthias Klumpp -Build-Depends: debhelper-compat (= 12), +Build-Depends: debhelper-compat (= 13), gettext, gobject-introspection, gperf, gtk-doc-tools, + libcairo2-dev, + libcurl4-gnutls-dev (>= 7.62) | libcurl-dev (>= 7.62), + libfontconfig-dev, + libgdk-pixbuf2.0-dev, libgirepository1.0-dev (>= 1.58), libglib2.0-dev (>= 2.58), + libjs-highlight.js, liblmdb-dev, - libsoup2.4-dev (>= 2.56), + libpango1.0-dev, + librsvg2-dev, libstemmer-dev, libxml2-dev (>= 2.8.0), libyaml-dev (>= 0.1.6), @@ -18,7 +24,7 @@ qtbase5-dev (>= 5.6), valac Rules-Requires-Root: no -Standards-Version: 4.5.0 +Standards-Version: 4.5.1 Homepage: https://www.freedesktop.org/wiki/Distributions/AppStream/ Vcs-Git: https://salsa.debian.org/pkgutopia-team/appstream.git Vcs-Browser: https://salsa.debian.org/pkgutopia-team/appstream @@ -28,17 +34,14 @@ Depends: shared-mime-info, ${misc:Depends}, ${shlibs:Depends} -Breaks: appstream-index (<< ${source:Version}), - gnome-software (<< 3.22.5-1), - plasma-discover (<< 5.8.5-3) -Provides: appstream-index Suggests: apt-config-icons Description: Software component metadata management - AppStream is a metadata specification, allowing to write metadata for - software projects in a standardized format. - It provides facilities to easily access and transform the data, as well - as a few additional services to allow building feature-rich software center - applications. + AppStream is a metadata specification which permits software components to + provide information about themselves to automated systems and end-users + before the software is actually installed. + The AppStream project provides facilities to easily access and transform + this metadata, as well as a few additional services to allow building + feature-rich software centers and similar applications. . This package provides tools to generate, maintain and query the AppStream data pool of installed and available software, and enables integration @@ -48,6 +51,22 @@ pool as well as for working with AppStream metadata directly, including validating it for compliance with the specification. +Package: appstream-compose +Architecture: any +Depends: appstream, + ${misc:Depends}, + ${shlibs:Depends} +Description: Compose metadata collections from directory trees + AppStream is a metadata specification which permits software components to + provide information about themselves to automated systems and end-users + before the software is actually installed. + This permits informative displays of new applications to users in software + centers, as well as allowing a system to make decisions on which new software + a user might want to install (e.g. missing firmware or media handlers). + . + This package extends the `appstreamcli` utility with a `compose` subcommand + to generate AppStream metadata and media files from directory trees. + Package: libappstream4 Architecture: any Section: libs @@ -56,11 +75,12 @@ Depends: ${misc:Depends}, ${shlibs:Depends} Description: Library to access AppStream services - AppStream is a metadata specification, allowing to write metadata for - software projects in a standardized format. This allows software centers - to display useful information for not installed software, as well as - determining software the user might want to install (e.g. to open an - unknown file type or to make missing firmware available). + AppStream is a metadata specification which permits software components to + provide information about themselves to automated systems and end-users + before the software is actually installed. + This permits informative displays of new applications to users in software + centers, as well as allowing a system to make decisions on which new software + a user might want to install (e.g. missing firmware or media handlers). . This package contains a GObject-based library to access AppStream services, like the software component metadata pool. @@ -74,13 +94,13 @@ libappstream4 (= ${binary:Version}), libglib2.0-dev (>= 2.46), ${misc:Depends} -Suggests: appstream-generator Description: Library to access AppStream services (development files) - AppStream is a metadata specification, allowing to write metadata for - software projects in a standardized format. This allows software centers - to display useful information for not installed software, as well as - determining software the user might want to install (e.g. to open an - unknown file type or to make missing firmware available). + AppStream is a metadata specification which permits software components to + provide information about themselves to automated systems and end-users + before the software is actually installed. + This permits informative displays of new applications to users in software + centers, as well as allowing a system to make decisions on which new software + a user might want to install (e.g. missing firmware or media handlers). . This package contains development files necessary to develop software management tools which use the AppStream library. @@ -91,14 +111,13 @@ Depends: libappstream4 (= ${binary:Version}), ${gir:Depends}, ${misc:Depends} -Breaks: gir1.2-appstream (<< 0.10.1) -Replaces: gir1.2-appstream (<< 0.10.1) Description: Library to access AppStream services (introspection data) - AppStream is a metadata specification, allowing to write metadata for - software projects in a standardized format. This allows software centers - to display useful information for not installed software, as well as - determining software the user might want to install (e.g. to open an - unknown file type or to make missing firmware available). + AppStream is a metadata specification which permits software components to + provide information about themselves to automated systems and end-users + before the software is actually installed. + This permits informative displays of new applications to users in software + centers, as well as allowing a system to make decisions on which new software + a user might want to install (e.g. missing firmware or media handlers). . This package contains introspection data for the AppStream library. @@ -110,11 +129,12 @@ Depends: ${misc:Depends}, ${shlibs:Depends} Description: Qt5 library to access AppStream services - AppStream is a metadata specification, allowing to write metadata for - software projects in a standardized format. This allows software centers - to display useful information for not installed software, as well as - determining software the user might want to install (e.g. to open an - unknown file type or to make missing firmware available). + AppStream is a metadata specification which permits software components to + provide information about themselves to automated systems and end-users + before the software is actually installed. + This permits informative displays of new applications to users in software + centers, as well as allowing a system to make decisions on which new software + a user might want to install (e.g. missing firmware or media handlers). . This package contains a Qt-based library to access AppStream services, like the software component metadata pool. @@ -127,28 +147,85 @@ qtbase5-dev (>= 5.4), ${misc:Depends} Description: Qt5 library to access AppStream services (development files) - AppStream is a metadata specification, allowing to write metadata for - software projects in a standardized format. This allows software centers - to display useful information for not installed software, as well as - determining software the user might want to install (e.g. to open an - unknown file type or to make missing firmware available). + AppStream is a metadata specification which permits software components to + provide information about themselves to automated systems and end-users + before the software is actually installed. + This permits informative displays of new applications to users in software + centers, as well as allowing a system to make decisions on which new software + a user might want to install (e.g. missing firmware or media handlers). . This package contains development files necessary to develop software management tools which use the Qt-based AppStream library. +Package: libappstream-compose0 +Architecture: any +Section: libs +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: ${misc:Depends}, + ${shlibs:Depends} +Description: Building blocks to compose AppStream metadata + AppStream is a metadata specification which permits software components to + provide information about themselves to automated systems and end-users + before the software is actually installed. + This permits informative displays of new applications to users in software + centers, as well as allowing a system to make decisions on which new software + a user might want to install (e.g. missing firmware or media handlers). + . + This package contains a GObject-based library of high-level functions + to compose AppStream metadata and auxiliary data (like font renderings, + icons, etc.). + +Package: libappstream-compose-dev +Architecture: any +Section: libdevel +Depends: gir1.2-appstreamcompose-1.0 (= ${binary:Version}), + libappstream-compose0 (= ${binary:Version}), + libappstream-dev (= ${binary:Version}), + libgdk-pixbuf2.0-dev, + ${misc:Depends} +Suggests: appstream-generator +Description: Building blocks to compose AppStream metadata (development files) + AppStream is a metadata specification which permits software components to + provide information about themselves to automated systems and end-users + before the software is actually installed. + This permits informative displays of new applications to users in software + centers, as well as allowing a system to make decisions on which new software + a user might want to install (e.g. missing firmware or media handlers). + . + This package contains development files necessary to develop applications + using the AppStream compose library. + +Package: gir1.2-appstreamcompose-1.0 +Architecture: any +Section: introspection +Depends: libappstream-compose0 (= ${binary:Version}), + ${gir:Depends}, + ${misc:Depends} +Description: Building blocks to compose AppStream metadata (introspection data) + AppStream is a metadata specification which permits software components to + provide information about themselves to automated systems and end-users + before the software is actually installed. + This permits informative displays of new applications to users in software + centers, as well as allowing a system to make decisions on which new software + a user might want to install (e.g. missing firmware or media handlers). + . + This package contains introspection data for the AppStream compose library. + Package: appstream-doc Architecture: all Multi-Arch: foreign Section: doc -Depends: ${misc:Depends} +Depends: libjs-highlight.js, + ${misc:Depends} Suggests: appstream -Breaks: appstream (<< 0.11.8) Description: Developer documentation for AppStream - AppStream is a metadata specification, allowing to write metadata for - software projects in a standardized format. This allows software centers - to display useful information for not installed software, as well as - determining software the user might want to install (e.g. to open an - unknown file type or to make missing firmware available). + AppStream is a metadata specification which permits software components to + provide information about themselves to automated systems and end-users + before the software is actually installed. + This permits informative displays of new applications to users in software + centers, as well as allowing a system to make decisions on which new software + a user might want to install (e.g. missing firmware or media handlers). . This package provides developer documentation for AppStream. diff -Nru appstream-0.12.10/debian/copyright appstream-0.14.5/debian/copyright --- appstream-0.12.10/debian/copyright 2019-06-16 21:14:00.000000000 +0000 +++ appstream-0.14.5/debian/copyright 2021-08-28 20:57:29.000000000 +0000 @@ -4,21 +4,21 @@ Source: https://www.freedesktop.org/wiki/Distributions/AppStream/ Files: * -Copyright: 2012-2019, Matthias Klumpp +Copyright: 2012-2021, Matthias Klumpp Richard Hughes License: GPL-2+ and LGPL-2.1+ -Files: ./src/* +Files: src/* Copyright: 2012-2018, Matthias Klumpp License: LGPL-2.1+ -Files: ./qt/* +Files: qt/* Copyright: 2016-2018, Aleix Pol Gonzalez 2014-2018, Matthias Klumpp 2014, Sune Vuorela License: LGPL-2.1+ -Files: ./tools/* +Files: tools/* Copyright: 2012-2018, Matthias Klumpp License: GPL-2+ @@ -65,8 +65,9 @@ License: LGPL-2.1+ Files: data/org.freedesktop.appstream.cli.metainfo.xml + data/org.freedesktop.appstream.compose.metainfo.xml tests/samples/appdata-legacy.xml -Copyright: 2016-2018, Matthias Klumpp +Copyright: 2016-2021, Matthias Klumpp License: FSFAP License: GPL-2+ @@ -107,3 +108,93 @@ Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without any warranty. + +Files: tests/samples/compose/NotoSans-Regular.ttf +Copyright: 2010-2015, Google Corporation +License: SIL-1.1 + PREAMBLE + . + The goals of the Open Font License (OFL) are to stimulate worldwide + development of collaborative font projects, to support the font + creation efforts of academic and linguistic communities, and to provide + a free and open framework in which fonts may be shared and improved in + partnership with others. + . + The OFL allows the licensed fonts to be used, studied, modified and + redistributed freely as long as they are not sold by themselves. The + fonts, including any derivative works, can be bundled, embedded, + redistributed and/or sold with any software provided that any reserved + names are not used by derivative works. The fonts and derivatives, + however, cannot be released under any other type of license. The + requirement for fonts to remain under this license does not apply to + any document created using the fonts or their derivatives. + . + DEFINITIONS + . + "Font Software" refers to the set of files released by the Copyright + Holder(s) under this license and clearly marked as such. This may + include source files, build scripts and documentation. + . + "Reserved Font Name" refers to any names specified as such after the + copyright statement(s). + . + "Original Version" refers to the collection of Font Software components + as distributed by the Copyright Holder(s). + . + "Modified Version" refers to any derivative made by adding to,deleting, + or substituting -- in part or in whole -- any of the components of the + Original Version, by changing formats or by porting the Font Software + to a new environment. + . + "Author" refers to any designer, engineer, programmer, technical writer + or other person who contributed to the Font Software. + . + PERMISSION & CONDITIONS + . + Permission is hereby granted, free of charge, to any person obtaining a + copy of the Font Software, to use, study, copy, merge, embed, modify, + redistribute, and sell modified and unmodified copies of the Font + Software, subject to the following conditions: + . + 1) Neither the Font Software nor any of its individual components, in + Original or Modified Versions, may be sold by itself. + . + 2) Original or Modified Versions of the Font Software may be bundled, + redistributed and/or sold with any software, provided that each copy + contains the above copyright notice and this license. These can be + included either as stand-alone text files, human-readable headers or in + the appropriate machine-readable metadata fields within text or binary + files as long as those fields can be easily viewed by the user. + . + 3) No Modified Version of the Font Software may use the Reserved Font + Name(s) unless explicit written permission is granted by the + corresponding Copyright Holder. This restriction only applies to the + primary font name as presented to the users. + . + 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font + Software shall not be used to promote, endorse or advertise any + Modified Version, except to acknowledge the contribution(s) of the + Copyright Holder(s) and the Author(s) or with their explicit written + permission. + . + 5) The Font Software, modified or unmodified, in part or in whole, must + be distributed entirely under this license, and must not be distributed + under any other license. The requirement for fonts to remain under this + license does not apply to any document created using the Font Software. + . + TERMINATION + . + This license becomes null and void if any of the above conditions are + not met. + . + DISCLAIMER + . + THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT + OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE + COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL + DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM + OTHER DEALINGS IN THE FONT SOFTWARE. diff -Nru appstream-0.12.10/debian/gbp.conf appstream-0.14.5/debian/gbp.conf --- appstream-0.12.10/debian/gbp.conf 2017-08-30 18:08:12.000000000 +0000 +++ appstream-0.14.5/debian/gbp.conf 2021-02-02 15:56:33.000000000 +0000 @@ -1,5 +1,6 @@ [DEFAULT] pristine-tar = True +debian-branch = debian/master [buildpackage] sign-tags = True diff -Nru appstream-0.12.10/debian/gir1.2-appstreamcompose-1.0.install appstream-0.14.5/debian/gir1.2-appstreamcompose-1.0.install --- appstream-0.12.10/debian/gir1.2-appstreamcompose-1.0.install 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/debian/gir1.2-appstreamcompose-1.0.install 2020-11-30 23:11:27.000000000 +0000 @@ -0,0 +1 @@ +usr/lib/*/girepository-1.0/AppStreamCompose-*.typelib diff -Nru appstream-0.12.10/debian/libappstream4.symbols appstream-0.14.5/debian/libappstream4.symbols --- appstream-0.12.10/debian/libappstream4.symbols 2020-01-18 18:44:06.000000000 +0000 +++ appstream-0.14.5/debian/libappstream4.symbols 2021-08-28 20:55:39.000000000 +0000 @@ -7,6 +7,7 @@ as_agreement_get_type@Base 0.12.1 as_agreement_get_version_id@Base 0.12.1 as_agreement_kind_from_string@Base 0.12.1 + as_agreement_kind_get_type@Base 0.13.1 as_agreement_kind_to_string@Base 0.12.1 as_agreement_new@Base 0.12.1 as_agreement_section_get_active_locale@Base 0.12.1 @@ -23,20 +24,21 @@ as_agreement_set_version_id@Base 0.12.1 as_artifact_add_checksum@Base 0.12.6 as_artifact_add_location@Base 0.12.6 - as_artifact_emit_yaml@Base 0.12.6 as_artifact_get_bundle_kind@Base 0.12.6 as_artifact_get_checksum@Base 0.12.6 as_artifact_get_checksums@Base 0.12.6 + as_artifact_get_filename@Base 0.14.0 as_artifact_get_kind@Base 0.12.6 as_artifact_get_locations@Base 0.12.6 as_artifact_get_platform@Base 0.12.6 as_artifact_get_size@Base 0.12.6 as_artifact_get_type@Base 0.12.6 as_artifact_kind_from_string@Base 0.12.6 + as_artifact_kind_get_type@Base 0.13.1 as_artifact_kind_to_string@Base 0.12.6 - as_artifact_load_from_yaml@Base 0.12.6 as_artifact_new@Base 0.12.6 as_artifact_set_bundle_kind@Base 0.12.6 + as_artifact_set_filename@Base 0.14.0 as_artifact_set_kind@Base 0.12.6 as_artifact_set_platform@Base 0.12.6 as_artifact_set_size@Base 0.12.6 @@ -44,6 +46,7 @@ as_bundle_get_kind@Base 0.10.0 as_bundle_get_type@Base 0.10.0 as_bundle_kind_from_string@Base 0.10.0 + as_bundle_kind_get_type@Base 0.13.1 as_bundle_kind_to_string@Base 0.10.0 as_bundle_new@Base 0.10.0 as_bundle_set_id@Base 0.10.0 @@ -53,6 +56,7 @@ as_cache_close@Base 0.12.7 as_cache_count_components@Base 0.12.7 as_cache_error_quark@Base 0.12.7 + as_cache_flags_get_type@Base 0.13.1 as_cache_get_component_by_data_id@Base 0.12.7 as_cache_get_components_all@Base 0.12.7 as_cache_get_components_by_categories@Base 0.12.7 @@ -98,12 +102,15 @@ as_category_set_id@Base 0.10.0 as_category_set_name@Base 0.10.0 as_category_set_summary@Base 0.10.0 + as_check_desktop_string@Base 0.14.2 as_checksum_get_kind@Base 0.10.0 as_checksum_get_type@Base 0.10.0 as_checksum_get_value@Base 0.10.0 as_checksum_kind_from_string@Base 0.10.0 + as_checksum_kind_get_type@Base 0.13.1 as_checksum_kind_to_string@Base 0.10.0 as_checksum_new@Base 0.10.0 + as_checksum_new_for_kind_value@Base 0.12.11 as_checksum_set_kind@Base 0.10.0 as_checksum_set_value@Base 0.10.0 as_component_add_addon@Base 0.10.0 @@ -116,21 +123,26 @@ as_component_add_language@Base 0.10.0 as_component_add_launchable@Base 0.11.0 as_component_add_provided@Base 0.10.0 + as_component_add_provided_item@Base 0.14.0 as_component_add_relation@Base 0.12.0 as_component_add_release@Base 0.10.0 + as_component_add_review@Base 0.14.0 as_component_add_screenshot@Base 0.10.0 as_component_add_suggested@Base 0.10.0 as_component_add_translation@Base 0.10.0 as_component_add_url@Base 0.10.0 + as_component_clear_languages@Base 0.14.5 as_component_get_active_locale@Base 0.10.0 as_component_get_addons@Base 0.10.0 as_component_get_agreement_by_kind@Base 0.12.1 + as_component_get_branch@Base 0.14.0 as_component_get_bundle@Base 0.10.0 as_component_get_bundles@Base 0.10.0 as_component_get_categories@Base 0.10.0 as_component_get_compulsory_for_desktops@Base 0.10.0 as_component_get_content_rating@Base 0.11.0 as_component_get_content_ratings@Base 0.11.0 + as_component_get_context@Base 0.12.11 as_component_get_custom@Base 0.10.5 as_component_get_custom_value@Base 0.10.5 as_component_get_data_id@Base 0.10.0 @@ -165,9 +177,11 @@ as_component_get_recommends@Base 0.12.0 as_component_get_releases@Base 0.10.0 as_component_get_requires@Base 0.12.0 + as_component_get_reviews@Base 0.14.0 as_component_get_scope@Base 0.12.7 as_component_get_screenshots@Base 0.10.0 as_component_get_search_tokens@Base 0.10.0 + as_component_get_sort_score@Base 0.12.11 as_component_get_source_pkgname@Base 0.10.0 as_component_get_suggested@Base 0.10.0 as_component_get_summary@Base 0.10.0 @@ -186,13 +200,16 @@ as_component_kind_from_string@Base 0.10.0 as_component_kind_get_type@Base 0.10.0 as_component_kind_to_string@Base 0.10.0 + as_component_load_from_bytes@Base 0.14.0 as_component_load_from_xml_data@Base 0.12.10 as_component_new@Base 0.10.0 as_component_scope_from_string@Base 0.12.7 + as_component_scope_get_type@Base 0.13.1 as_component_scope_to_string@Base 0.12.7 as_component_search_matches@Base 0.10.0 as_component_search_matches_all@Base 0.10.0 as_component_set_active_locale@Base 0.10.0 + as_component_set_branch@Base 0.14.0 as_component_set_compulsory_for_desktop@Base 0.10.0 as_component_set_data_id@Base 0.10.0 as_component_set_description@Base 0.10.0 @@ -205,16 +222,21 @@ as_component_set_name@Base 0.10.0 as_component_set_name_variant_suffix@Base 0.12.10 as_component_set_origin@Base 0.10.0 + as_component_set_pkgname@Base 0.14.5 as_component_set_pkgnames@Base 0.10.0 as_component_set_priority@Base 0.10.2 as_component_set_project_group@Base 0.10.0 as_component_set_project_license@Base 0.10.0 as_component_set_scope@Base 0.12.7 + as_component_set_sort_score@Base 0.12.11 as_component_set_source_pkgname@Base 0.10.0 as_component_set_summary@Base 0.10.0 as_component_set_value_flags@Base 0.10.0 as_component_to_string@Base 0.10.0 as_component_to_xml_data@Base 0.12.10 + as_content_rating_add_attribute@Base 0.14.0 + as_content_rating_attribute_from_csm_age@Base 0.13.1 + as_content_rating_attribute_get_description@Base 0.13.1 as_content_rating_attribute_to_csm_age@Base 0.12.10 as_content_rating_get_all_rating_ids@Base 0.12.10 as_content_rating_get_kind@Base 0.11.0 @@ -225,7 +247,14 @@ as_content_rating_new@Base 0.11.0 as_content_rating_set_kind@Base 0.11.0 as_content_rating_set_value@Base 0.11.0 + as_content_rating_system_format_age@Base 0.13.1 + as_content_rating_system_from_locale@Base 0.13.1 + as_content_rating_system_get_csm_ages@Base 0.13.1 + as_content_rating_system_get_formatted_ages@Base 0.13.1 + as_content_rating_system_get_type@Base 0.13.1 + as_content_rating_system_to_string@Base 0.13.1 as_content_rating_value_from_string@Base 0.11.0 + as_content_rating_value_get_type@Base 0.13.1 as_content_rating_value_to_string@Base 0.11.0 as_context_get_filename@Base 0.11.2 as_context_get_format_version@Base 0.11.1 @@ -245,7 +274,24 @@ as_context_set_origin@Base 0.11.1 as_context_set_priority@Base 0.11.1 as_context_set_style@Base 0.11.1 + as_control_kind_from_string@Base 0.12.11 + as_control_kind_get_type@Base 0.13.1 + as_control_kind_to_string@Base 0.12.11 as_copy_file@Base 0.10.0 + as_curl_check_url_exists@Base 0.14.1 + as_curl_download_bytes@Base 0.14.1 + as_curl_error_quark@Base 0.14.1 + as_curl_get_type@Base 0.14.1 + as_curl_is_url@Base 0.14.1 + as_curl_new@Base 0.14.1 + as_data_id_match_flags_get_type@Base 0.14.0 + as_desktop_entry_parse_data@Base 0.14.2 + as_display_length_kind_from_string@Base 0.13.1 + as_display_length_kind_get_type@Base 0.13.1 + as_display_length_kind_to_string@Base 0.13.1 + as_display_side_kind_from_string@Base 0.13.1 + as_display_side_kind_get_type@Base 0.13.1 + as_display_side_kind_to_string@Base 0.13.1 as_distro_details_get_bool@Base 0.10.0 as_distro_details_get_cid@Base 0.12.5 as_distro_details_get_homepage@Base 0.12.5 @@ -258,13 +304,18 @@ as_distro_details_new@Base 0.10.0 as_filebasename_from_uri@Base 0.12.9 as_format_kind_from_string@Base 0.10.0 + as_format_kind_get_type@Base 0.13.1 as_format_kind_to_string@Base 0.10.0 + as_format_style_get_type@Base 0.13.1 as_format_version_from_string@Base 0.10.0 + as_format_version_get_type@Base 0.13.1 as_format_version_to_string@Base 0.10.0 as_get_appstream_version@Base 0.11.7 as_get_current_distro_component_id@Base 0.12.5 as_get_default_categories@Base 0.10.0 as_get_license_url@Base 0.12.7 + as_gstring_replace2@Base 0.14.4 + as_gstring_replace@Base 0.14.0 as_icon_get_filename@Base 0.10.0 as_icon_get_height@Base 0.10.0 as_icon_get_kind@Base 0.10.0 @@ -274,6 +325,7 @@ as_icon_get_url@Base 0.10.0 as_icon_get_width@Base 0.10.0 as_icon_kind_from_string@Base 0.10.0 + as_icon_kind_get_type@Base 0.13.1 as_icon_kind_to_string@Base 0.10.0 as_icon_new@Base 0.10.0 as_icon_set_filename@Base 0.10.0 @@ -290,6 +342,7 @@ as_image_get_url@Base 0.10.0 as_image_get_width@Base 0.10.0 as_image_kind_from_string@Base 0.10.0 + as_image_kind_get_type@Base 0.13.1 as_image_kind_to_string@Base 0.10.0 as_image_new@Base 0.10.0 as_image_set_height@Base 0.10.0 @@ -297,6 +350,7 @@ as_image_set_locale@Base 0.10.0 as_image_set_url@Base 0.10.0 as_image_set_width@Base 0.10.0 + as_is_empty@Base 0.13.1 as_is_spdx_license_exception_id@Base 0.12.10 as_is_spdx_license_expression@Base 0.10.0 as_is_spdx_license_id@Base 0.10.0 @@ -305,45 +359,57 @@ as_issue_get_type@Base 0.12.9 as_issue_get_url@Base 0.12.9 as_issue_kind_from_string@Base 0.12.9 + as_issue_kind_get_type@Base 0.13.1 as_issue_kind_to_string@Base 0.12.9 as_issue_new@Base 0.12.9 as_issue_set_id@Base 0.12.9 as_issue_set_kind@Base 0.12.9 as_issue_set_url@Base 0.12.9 as_issue_severity_from_string@Base 0.12.8 + as_issue_severity_get_type@Base 0.13.1 as_issue_severity_to_string@Base 0.12.8 as_launchable_add_entry@Base 0.11.0 as_launchable_get_entries@Base 0.11.0 as_launchable_get_kind@Base 0.11.0 as_launchable_get_type@Base 0.11.0 as_launchable_kind_from_string@Base 0.11.0 + as_launchable_kind_get_type@Base 0.13.1 as_launchable_kind_to_string@Base 0.11.0 as_launchable_new@Base 0.11.0 as_launchable_set_kind@Base 0.11.0 as_license_is_free_license@Base 0.12.10 as_license_is_metadata_license@Base 0.10.0 + as_license_is_metadata_license_id@Base 0.14.4 as_license_to_spdx_id@Base 0.10.0 + as_locale_strip_encoding@Base 0.14.4 as_markup_convert_simple@Base 0.10.0 + as_markup_strsplit_words@Base 0.14.0 as_merge_kind_from_string@Base 0.10.0 + as_merge_kind_get_type@Base 0.13.1 as_merge_kind_to_string@Base 0.10.0 as_metadata_add_component@Base 0.10.0 as_metadata_clear_components@Base 0.10.0 as_metadata_component_to_metainfo@Base 0.10.0 as_metadata_components_to_collection@Base 0.10.0 + as_metadata_error_get_type@Base 0.13.1 as_metadata_error_quark@Base 0.10.0 + as_metadata_file_guess_style@Base 0.14.0 as_metadata_get_architecture@Base 0.10.0 as_metadata_get_component@Base 0.10.0 as_metadata_get_components@Base 0.10.0 as_metadata_get_format_style@Base 0.10.0 as_metadata_get_format_version@Base 0.10.0 as_metadata_get_locale@Base 0.10.0 + as_metadata_get_media_baseurl@Base 0.14.0 as_metadata_get_origin@Base 0.10.0 as_metadata_get_parse_flags@Base 0.12.1 as_metadata_get_type@Base 0.10.0 as_metadata_get_update_existing@Base 0.10.0 as_metadata_get_write_header@Base 0.10.0 + as_metadata_location_get_type@Base 0.14.0 as_metadata_new@Base 0.10.0 as_metadata_parse@Base 0.10.0 + as_metadata_parse_bytes@Base 0.14.0 as_metadata_parse_desktop_data@Base 0.10.2 as_metadata_parse_file@Base 0.10.0 as_metadata_save_collection@Base 0.10.0 @@ -352,6 +418,7 @@ as_metadata_set_format_style@Base 0.10.0 as_metadata_set_format_version@Base 0.10.0 as_metadata_set_locale@Base 0.10.0 + as_metadata_set_media_baseurl@Base 0.14.0 as_metadata_set_origin@Base 0.10.0 as_metadata_set_parse_flags@Base 0.12.1 as_metadata_set_update_existing@Base 0.10.0 @@ -360,12 +427,16 @@ as_news_format_kind_to_string@Base 0.12.9 as_news_to_releases_from_data@Base 0.12.9 as_news_to_releases_from_file@Base 0.12.9 + as_parse_flags_get_type@Base 0.13.1 as_pool_add_component@Base 0.10.0 as_pool_add_metadata_location@Base 0.10.0 + as_pool_build_search_tokens@Base 0.14.0 as_pool_clear2@Base 0.12.7 as_pool_clear@Base 0.10.0 as_pool_clear_metadata_locations@Base 0.10.0 + as_pool_error_get_type@Base 0.13.1 as_pool_error_quark@Base 0.10.0 + as_pool_flags_get_type@Base 0.13.1 as_pool_get_cache_flags@Base 0.10.0 as_pool_get_cache_location@Base 0.12.7 as_pool_get_components@Base 0.10.0 @@ -390,36 +461,66 @@ as_pool_set_cache_location@Base 0.12.7 as_pool_set_flags@Base 0.10.2 as_pool_set_locale@Base 0.10.0 + as_profile_clear@Base 0.14.0 + as_profile_dump@Base 0.14.0 + as_profile_get_type@Base 0.14.0 + as_profile_new@Base 0.14.0 + as_profile_prune@Base 0.14.0 + as_profile_set_autodump@Base 0.14.0 + as_profile_set_autoprune@Base 0.14.0 + as_profile_set_duration_min@Base 0.14.0 + as_profile_start@Base 0.14.0 + as_profile_start_literal@Base 0.14.0 + as_profile_task_free@Base 0.14.0 + as_profile_task_set_threaded@Base 0.14.0 as_provided_add_item@Base 0.10.0 as_provided_get_items@Base 0.10.0 as_provided_get_kind@Base 0.10.0 as_provided_get_type@Base 0.10.0 as_provided_has_item@Base 0.10.0 as_provided_kind_from_string@Base 0.10.0 + as_provided_kind_get_type@Base 0.13.1 as_provided_kind_to_l10n_string@Base 0.10.0 as_provided_kind_to_string@Base 0.10.0 as_provided_new@Base 0.10.0 as_provided_set_kind@Base 0.10.0 as_ptr_array_to_str@Base 0.12.9 + as_random_alnum_string@Base 0.14.4 + as_ref_string_assign_safe@Base 0.14.0 + as_ref_string_release@Base 0.14.0 as_relation_compare_from_string@Base 0.12.0 + as_relation_compare_get_type@Base 0.13.1 as_relation_compare_to_string@Base 0.12.0 as_relation_compare_to_symbols_string@Base 0.12.0 as_relation_get_compare@Base 0.12.0 + as_relation_get_display_side_kind@Base 0.13.1 as_relation_get_item_kind@Base 0.12.0 as_relation_get_kind@Base 0.12.0 as_relation_get_type@Base 0.12.0 as_relation_get_value@Base 0.12.0 + as_relation_get_value_control_kind@Base 0.12.11 + as_relation_get_value_display_length_kind@Base 0.13.1 as_relation_get_value_int@Base 0.12.0 + as_relation_get_value_px@Base 0.13.1 + as_relation_get_value_str@Base 0.13.1 as_relation_get_version@Base 0.12.0 as_relation_item_kind_from_string@Base 0.12.0 + as_relation_item_kind_get_type@Base 0.13.1 as_relation_item_kind_to_string@Base 0.12.0 as_relation_kind_from_string@Base 0.12.0 + as_relation_kind_get_type@Base 0.13.1 as_relation_kind_to_string@Base 0.12.0 as_relation_new@Base 0.12.0 as_relation_set_compare@Base 0.12.0 + as_relation_set_display_side_kind@Base 0.13.1 as_relation_set_item_kind@Base 0.12.0 as_relation_set_kind@Base 0.12.0 as_relation_set_value@Base 0.12.0 + as_relation_set_value_control_kind@Base 0.13.1 + as_relation_set_value_display_length_kind@Base 0.13.1 + as_relation_set_value_int@Base 0.13.1 + as_relation_set_value_px@Base 0.13.1 + as_relation_set_value_str@Base 0.13.1 as_relation_set_version@Base 0.12.0 as_relation_version_compare@Base 0.12.0 as_release_add_artifact@Base 0.12.6 @@ -444,6 +545,7 @@ as_release_get_url@Base 0.12.5 as_release_get_version@Base 0.10.0 as_release_kind_from_string@Base 0.12.0 + as_release_kind_get_type@Base 0.13.1 as_release_kind_to_string@Base 0.12.0 as_release_new@Base 0.10.0 as_release_set_active_locale@Base 0.10.0 @@ -458,15 +560,46 @@ as_release_set_url@Base 0.12.5 as_release_set_version@Base 0.10.0 as_release_url_kind_from_string@Base 0.12.5 + as_release_url_kind_get_type@Base 0.13.1 as_release_url_kind_to_string@Base 0.12.5 as_release_vercmp@Base 0.10.0 as_releases_to_metainfo_xml_chunk@Base 0.12.9 as_releases_to_news_data@Base 0.12.9 as_releases_to_news_file@Base 0.12.9 + as_review_add_flags@Base 0.14.0 + as_review_add_metadata@Base 0.14.0 + as_review_equal@Base 0.14.0 + as_review_flags_get_type@Base 0.14.0 + as_review_get_date@Base 0.14.0 + as_review_get_description@Base 0.14.0 + as_review_get_flags@Base 0.14.0 + as_review_get_id@Base 0.14.0 + as_review_get_locale@Base 0.14.0 + as_review_get_metadata_item@Base 0.14.0 + as_review_get_priority@Base 0.14.0 + as_review_get_rating@Base 0.14.0 + as_review_get_reviewer_id@Base 0.14.0 + as_review_get_reviewer_name@Base 0.14.0 + as_review_get_summary@Base 0.14.0 + as_review_get_type@Base 0.14.0 + as_review_get_version@Base 0.14.0 + as_review_new@Base 0.14.0 + as_review_set_date@Base 0.14.0 + as_review_set_description@Base 0.14.0 + as_review_set_flags@Base 0.14.0 + as_review_set_id@Base 0.14.0 + as_review_set_locale@Base 0.14.0 + as_review_set_priority@Base 0.14.0 + as_review_set_rating@Base 0.14.0 + as_review_set_reviewer_id@Base 0.14.0 + as_review_set_reviewer_name@Base 0.14.0 + as_review_set_summary@Base 0.14.0 + as_review_set_version@Base 0.14.0 as_screenshot_add_image@Base 0.10.0 as_screenshot_add_video@Base 0.12.8 as_screenshot_get_active_locale@Base 0.10.0 as_screenshot_get_caption@Base 0.10.0 + as_screenshot_get_image@Base 0.14.0 as_screenshot_get_images@Base 0.10.0 as_screenshot_get_images_all@Base 0.10.0 as_screenshot_get_kind@Base 0.10.0 @@ -475,12 +608,15 @@ as_screenshot_get_videos@Base 0.12.8 as_screenshot_is_valid@Base 0.10.0 as_screenshot_kind_from_string@Base 0.10.0 + as_screenshot_kind_get_type@Base 0.13.1 as_screenshot_kind_to_string@Base 0.10.0 + as_screenshot_media_kind_get_type@Base 0.13.1 as_screenshot_new@Base 0.10.0 as_screenshot_set_active_locale@Base 0.10.0 as_screenshot_set_caption@Base 0.10.0 as_screenshot_set_kind@Base 0.10.0 as_size_kind_from_string@Base 0.10.0 + as_size_kind_get_type@Base 0.13.1 as_size_kind_to_string@Base 0.10.0 as_spdx_license_detokenize@Base 0.10.0 as_spdx_license_tokenize@Base 0.10.0 @@ -488,12 +624,15 @@ as_stemmer_get_type@Base 0.10.0 as_stemmer_reload@Base 0.10.0 as_stemmer_stem@Base 0.10.0 + as_str_replace@Base 0.13.1 + as_strstripnl@Base 0.12.11 as_suggested_add_id@Base 0.10.0 as_suggested_get_ids@Base 0.10.0 as_suggested_get_kind@Base 0.10.0 as_suggested_get_type@Base 0.10.0 as_suggested_is_valid@Base 0.10.0 as_suggested_kind_from_string@Base 0.10.0 + as_suggested_kind_get_type@Base 0.13.1 as_suggested_kind_to_string@Base 0.10.0 as_suggested_new@Base 0.10.0 as_suggested_set_kind@Base 0.10.0 @@ -501,20 +640,33 @@ as_translation_get_kind@Base 0.10.0 as_translation_get_type@Base 0.10.0 as_translation_kind_from_string@Base 0.10.0 + as_translation_kind_get_type@Base 0.13.1 as_translation_kind_to_string@Base 0.10.0 as_translation_new@Base 0.10.0 as_translation_set_id@Base 0.10.0 as_translation_set_kind@Base 0.10.0 as_urgency_kind_from_string@Base 0.10.0 + as_urgency_kind_get_type@Base 0.13.1 as_urgency_kind_to_string@Base 0.10.0 as_url_kind_from_string@Base 0.10.0 + as_url_kind_get_type@Base 0.13.1 as_url_kind_to_string@Base 0.10.0 + as_utils_build_data_id@Base 0.14.0 as_utils_compare_versions@Base 0.10.0 + as_utils_data_id_equal@Base 0.14.0 + as_utils_data_id_get_cid@Base 0.14.0 + as_utils_data_id_hash@Base 0.14.0 + as_utils_data_id_match@Base 0.14.0 + as_utils_data_id_valid@Base 0.14.0 as_utils_dns_to_rdns@Base 0.12.5 + as_utils_error_get_type@Base 0.14.0 + as_utils_error_quark@Base 0.14.0 as_utils_find_files@Base 0.10.0 as_utils_find_files_matching@Base 0.10.0 + as_utils_install_metadata_file@Base 0.14.0 as_utils_is_category_name@Base 0.10.0 as_utils_is_desktop_environment@Base 0.10.0 + as_utils_is_platform_triplet@Base 0.14.0 as_utils_is_tld@Base 0.10.0 as_utils_is_writable@Base 0.10.0 as_utils_locale_is_compatible@Base 0.10.0 @@ -551,12 +703,20 @@ as_validator_issue_set_tag@Base 0.12.8 as_validator_new@Base 0.10.0 as_validator_set_check_urls@Base 0.11.7 + as_validator_validate_bytes@Base 0.14.0 as_validator_validate_data@Base 0.10.0 as_validator_validate_file@Base 0.10.0 as_validator_validate_tree@Base 0.10.0 + as_value_flags_get_type@Base 0.13.1 + as_vercmp@Base 0.14.0 + as_vercmp_flags_get_type@Base 0.14.0 + as_vercmp_simple@Base 0.14.0 + as_version_string@Base 0.14.0 as_video_codec_kind_from_string@Base 0.12.8 + as_video_codec_kind_get_type@Base 0.13.1 as_video_codec_kind_to_string@Base 0.12.8 as_video_container_kind_from_string@Base 0.12.8 + as_video_container_kind_get_type@Base 0.13.1 as_video_container_kind_to_string@Base 0.12.8 as_video_get_codec_kind@Base 0.12.8 as_video_get_container_kind@Base 0.12.8 @@ -572,3 +732,17 @@ as_video_set_locale@Base 0.12.8 as_video_set_url@Base 0.12.8 as_video_set_width@Base 0.12.8 + as_yaml_emit_entry@Base 0.14.5 + as_yaml_emit_entry_timestamp@Base 0.14.5 + as_yaml_emit_entry_uint64@Base 0.14.5 + as_yaml_emit_long_entry@Base 0.14.5 + as_yaml_emit_long_entry_literal@Base 0.14.5 + as_yaml_emit_scalar@Base 0.14.5 + as_yaml_emit_scalar_key@Base 0.14.5 + as_yaml_emit_scalar_raw@Base 0.14.5 + as_yaml_emit_scalar_uint64@Base 0.14.5 + as_yaml_emit_sequence@Base 0.14.5 + as_yaml_mapping_end@Base 0.14.5 + as_yaml_mapping_start@Base 0.14.5 + as_yaml_sequence_end@Base 0.14.5 + as_yaml_sequence_start@Base 0.14.5 diff -Nru appstream-0.12.10/debian/libappstream-compose0.install appstream-0.14.5/debian/libappstream-compose0.install --- appstream-0.12.10/debian/libappstream-compose0.install 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/debian/libappstream-compose0.install 2020-11-30 21:17:08.000000000 +0000 @@ -0,0 +1 @@ +usr/lib/*/libappstream-compose.so.* diff -Nru appstream-0.12.10/debian/libappstream-compose-dev.install appstream-0.14.5/debian/libappstream-compose-dev.install --- appstream-0.12.10/debian/libappstream-compose-dev.install 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/debian/libappstream-compose-dev.install 2020-11-30 21:42:23.000000000 +0000 @@ -0,0 +1,4 @@ +usr/include/appstream-compose/* +usr/lib/*/libappstream-compose.so +usr/lib/*/pkgconfig/appstream-compose.pc +usr/share/gir-1.0/AppStreamCompose-1.0.gir diff -Nru appstream-0.12.10/debian/patches/01_less-long-token-noise.patch appstream-0.14.5/debian/patches/01_less-long-token-noise.patch --- appstream-0.12.10/debian/patches/01_less-long-token-noise.patch 2020-01-18 18:41:03.000000000 +0000 +++ appstream-0.14.5/debian/patches/01_less-long-token-noise.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,27 +0,0 @@ -From 3ef1e7d4957ee61c2d63c202f4324c1a62befb3c Mon Sep 17 00:00:00 2001 -From: Matthias Klumpp -Date: Sat, 18 Jan 2020 19:38:18 +0100 -Subject: [PATCH] Be less noisy about ignoring excessively long search tokens - -See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=942438 for an -example. Until the tokenizer can handle Japanese better or a stemming -algorithm is added that works for Japanese, it's better to not make too -much noise about these issues. -We do still log them though. ---- - src/as-cache.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/as-cache.c b/src/as-cache.c -index 68b30087..c6454ded 100644 ---- a/src/as-cache.c -+++ b/src/as-cache.c -@@ -1192,7 +1192,7 @@ as_cache_insert (AsCache *cache, AsComponent *cpt, GError **error) - continue; - } - if (token_len > priv->max_keysize) { -- g_warning ("Ignored search token '%s': Too long to be stored in the cache.", token_str); -+ g_debug ("Ignored search token '%s': Too long to be stored in the cache.", token_str); - continue; - } - diff -Nru appstream-0.12.10/debian/patches/02_fix-free-license-check.patch appstream-0.14.5/debian/patches/02_fix-free-license-check.patch --- appstream-0.12.10/debian/patches/02_fix-free-license-check.patch 2020-03-14 15:40:14.000000000 +0000 +++ appstream-0.14.5/debian/patches/02_fix-free-license-check.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,220 +0,0 @@ -From ccfa73b8b387452ee7230397cf9d823b3707ee39 Mon Sep 17 00:00:00 2001 -From: Matthias Klumpp -Date: Sun, 23 Feb 2020 19:53:17 +0100 -Subject: [PATCH] Tighten the "free license" check and prevent false positives - -Previously, all SPDX licenses were considered free, which is the wrong -approach. With this change, only truly free licenses are accepted. -Please refer to the API documentation for more information. ---- - data/update-data.py | 53 ++++++++++++++++++++++++++----------- - src/appstream.gresource.xml | 1 + - src/as-spdx.c | 43 +++++++++++++++++++++++++----- - tests/test-basics.c | 2 ++ - 4 files changed, 77 insertions(+), 22 deletions(-) - -diff --git a/data/update-data.py b/data/update-data.py -index a9eb63af..7a7fbc99 100755 ---- a/data/update-data.py -+++ b/data/update-data.py -@@ -55,19 +55,10 @@ def get_tld_list(fname, url): - f.write('\n') - - --def get_spdx_id_list(licenselist_fname, exceptionlist_fname, git_url, with_deprecated=True): -- print('Updating list of SPDX license IDs...') -- tdir = TemporaryDirectory(prefix='spdx_master-') -- -- subprocess.check_call(['git', 'clone', git_url, tdir.name]) -- last_tag_ver = subprocess.check_output(['git', 'describe', '--abbrev=0', '--tags'], cwd=tdir.name) -- last_tag_ver = str(last_tag_ver.strip(), 'utf-8') -- if last_tag_ver.startswith('v'): -- last_tag_ver = last_tag_ver[1:] -- -+def _read_spdx_licenses(data_dir, last_tag_ver, only_free=False): - # load license and exception data -- licenses_json_fname = os.path.join(tdir.name, 'json', 'licenses.json') -- exceptions_json_fname = os.path.join(tdir.name, 'json', 'exceptions.json') -+ licenses_json_fname = os.path.join(data_dir, 'json', 'licenses.json') -+ exceptions_json_fname = os.path.join(data_dir, 'json', 'exceptions.json') - with open(licenses_json_fname, 'r') as f: - licenses_data = json.loads(f.read()) - with open(exceptions_json_fname, 'r') as f: -@@ -83,28 +74,60 @@ def get_spdx_id_list(licenselist_fname, exceptionlist_fname, git_url, with_depre - - lid_list = [] - for license in licenses_data['licenses']: -+ if only_free: -+ if not license.get('isFsfLibre') and not license.get('isOsiApproved'): -+ continue - lid_list.append(license['licenseId']) - - eid_list = [] - for exception in exceptions_data['exceptions']: - eid_list.append(exception['licenseExceptionId']) - -+ return {'licenses': lid_list, -+ 'exceptions': eid_list, -+ 'license_list_ver': license_ver_ref, -+ 'eceptions_list_ver': exceptions_ver_ref} -+ -+ -+def get_spdx_id_list(licenselist_fname, licenselist_free_fname, exceptionlist_fname, git_url, with_deprecated=True): -+ print('Updating list of SPDX license IDs...') -+ tdir = TemporaryDirectory(prefix='spdx_master-') -+ -+ subprocess.check_call(['git', -+ 'clone', -+ git_url, tdir.name]) -+ last_tag_ver = subprocess.check_output(['git', 'describe', '--abbrev=0', '--tags'], cwd=tdir.name) -+ last_tag_ver = str(last_tag_ver.strip(), 'utf-8') -+ if last_tag_ver.startswith('v'): -+ last_tag_ver = last_tag_ver[1:] -+ -+ license_data = _read_spdx_licenses(tdir.name, last_tag_ver) -+ lid_list = license_data['licenses'] -+ eid_list = license_data['exceptions'] -+ license_list_ver = license_data['license_list_ver'] -+ - lid_list.sort() - with open(licenselist_fname, 'w') as f: -- f.write('# The list of licenses recognized by SPDX, v{}\n'.format(license_ver_ref)) -+ f.write('# The list of all licenses recognized by SPDX, v{}\n'.format(license_list_ver)) - f.write('\n'.join(lid_list)) - f.write('\n') - - eid_list.sort() - with open(exceptionlist_fname, 'w') as f: -- f.write('# The list of license exceptions recognized by SPDX, v{}\n'.format(exceptions_ver_ref)) -+ f.write('# The list of license exceptions recognized by SPDX, v{}\n'.format(license_data['eceptions_list_ver'])) - f.write('\n'.join(eid_list)) - f.write('\n') - -+ license_free_data = _read_spdx_licenses(tdir.name, last_tag_ver, only_free=True) -+ with open(licenselist_free_fname, 'w') as f: -+ f.write('# The list of free (OSI or FSF approved) licenses recognized by SPDX, v{}\n'.format(license_list_ver)) -+ f.write('\n'.join(license_free_data['licenses'])) -+ f.write('\n') -+ - - def main(): - get_tld_list('iana-filtered-tld-list.txt', IANA_TLD_LIST_URL) -- get_spdx_id_list('spdx-license-ids.txt', 'spdx-license-exception-ids.txt', SPDX_REPO_URL) -+ get_spdx_id_list('spdx-license-ids.txt', 'spdx-free-license-ids.txt', 'spdx-license-exception-ids.txt', SPDX_REPO_URL) - - print('All done.') - -diff --git a/src/appstream.gresource.xml b/src/appstream.gresource.xml -index 3a41d233..8b7ff2ef 100644 ---- a/src/appstream.gresource.xml -+++ b/src/appstream.gresource.xml -@@ -5,6 +5,7 @@ - iana-filtered-tld-list.txt - desktop-environments.txt - spdx-license-ids.txt -+ spdx-free-license-ids.txt - spdx-license-exception-ids.txt - - -diff --git a/src/as-spdx.c b/src/as-spdx.c -index a42608c8..c4f86da8 100644 ---- a/src/as-spdx.c -+++ b/src/as-spdx.c -@@ -167,7 +167,7 @@ as_is_spdx_license_id (const gchar *license_id) - if (g_str_has_prefix (license_id, "LicenseRef-")) - return TRUE; - -- /* load the readonly data section and look for the icon name */ -+ /* load the readonly data section and look for the license ID */ - data = g_resource_lookup_data (as_get_resource (), - "/org/freedesktop/appstream/spdx-license-ids.txt", - G_RESOURCE_LOOKUP_FLAGS_NONE, -@@ -199,7 +199,7 @@ as_is_spdx_license_exception_id (const gchar *exception_id) - if (exception_id == NULL || exception_id[0] == '\0') - return FALSE; - -- /* load the readonly data section and look for the icon name */ -+ /* load the readonly data section and look for the license exception ID */ - data = g_resource_lookup_data (as_get_resource (), - "/org/freedesktop/appstream/spdx-license-exception-ids.txt", - G_RESOURCE_LOOKUP_FLAGS_NONE, -@@ -651,12 +651,17 @@ as_get_license_url (const gchar *license) - * @license: The SPDX license string to test. - * - * Check if the given license is for free-as-in-freedom software. -- * Currently, all licenses listed on the SPDX website are considered to -- * be "free software" licenses. -+ * A free software license is either approved by the Free Software Foundation -+ * or the Open Source Initiative. - * -- * This definition may be tightened in future. In any case, this function does -- * not give any legal advice. Please read the license texts to know more about -- * the individual licenses. -+ * This function does *not* yet handle complex license expressions with AND and OR. -+ * If the expression contains any of these, it will still simply check if all mentioned -+ * licenses are Free licenses. -+ * Currently, any license exception recognized by SPDX is assumed to not impact the free-ness -+ * status of a software component. -+ * -+ * Please note that this function does not give any legal advice. Please read the license texts -+ * to learn more about the individual licenses and their conditions. - * - * Returns: %TRUE if the license string contains only free-as-in-freedom licenses. - * -@@ -666,12 +671,23 @@ gboolean - as_license_is_free_license (const gchar *license) - { - g_auto(GStrv) tokens = NULL; -+ g_autoptr(GBytes) rdata = NULL; - gboolean is_free; - -+ /* load the readonly data section of (free) license IDs */ -+ rdata = g_resource_lookup_data (as_get_resource (), -+ "/org/freedesktop/appstream/spdx-free-license-ids.txt", -+ G_RESOURCE_LOOKUP_FLAGS_NONE, -+ NULL); -+ if (rdata == NULL) -+ return FALSE; -+ - /* assume we have a free software license, unless proven otherwise */ - is_free = TRUE; - tokens = as_spdx_license_tokenize (license); - for (guint i = 0; tokens[i] != NULL; i++) { -+ g_autofree gchar *lkey = NULL; -+ - if (g_strcmp0 (tokens[i], "&") == 0 || - g_strcmp0 (tokens[i], "+") == 0 || - g_strcmp0 (tokens[i], "|") == 0 || -@@ -698,6 +714,19 @@ as_license_is_free_license (const gchar *license) - is_free = FALSE; - break; - } -+ -+ if (as_is_spdx_license_exception_id (tokens[i] + 1)) { -+ /* for now, we assume any SPDX license exception is still fine and doesn't change the -+ * "free-ness" status of a software component */ -+ continue; -+ } -+ -+ lkey = g_strdup_printf ("\n%s\n", tokens[i] + 1); -+ if (g_strstr_len (g_bytes_get_data (rdata, NULL), -1, lkey) == NULL) { -+ /* the license was not in our "free" list, so we consider it non-free */ -+ is_free = FALSE; -+ break; -+ } - } - - return is_free; -diff --git a/tests/test-basics.c b/tests/test-basics.c -index 29efcee1..18457cca 100644 ---- a/tests/test-basics.c -+++ b/tests/test-basics.c -@@ -352,6 +352,8 @@ test_spdx (void) - g_assert (!as_license_is_free_license ("NOASSERTION")); - g_assert (!as_license_is_free_license ("LicenseRef-proprietary=https://example.com/mylicense.txt")); - g_assert (!as_license_is_free_license ("MIT AND LicenseRef-proprietary=https://example.com/lic.txt")); -+ g_assert (!as_license_is_free_license ("ADSL")); -+ g_assert (!as_license_is_free_license ("JSON AND GPL-3.0-or-later")); - } - - /** diff -Nru appstream-0.12.10/debian/patches/03_ascli-explain-in-manpage.patch appstream-0.14.5/debian/patches/03_ascli-explain-in-manpage.patch --- appstream-0.12.10/debian/patches/03_ascli-explain-in-manpage.patch 2020-03-14 15:35:27.000000000 +0000 +++ appstream-0.14.5/debian/patches/03_ascli-explain-in-manpage.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -From d429208bb89005c7b0ccef1cdc9f0838880b5561 Mon Sep 17 00:00:00 2001 -From: Matthias Klumpp -Date: Sat, 14 Mar 2020 16:28:55 +0100 -Subject: [PATCH] docs: Document --explain flag in ascli manual page as well - -Resolves: #266 ---- - docs/sources/man/appstreamcli.1.xml | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/docs/sources/man/appstreamcli.1.xml b/docs/sources/man/appstreamcli.1.xml -index 6b2af677..8953dd12 100644 ---- a/docs/sources/man/appstreamcli.1.xml -+++ b/docs/sources/man/appstreamcli.1.xml -@@ -146,6 +146,10 @@ - The flag triggers a more pedantic - validation of the file, including minor and style issues in the report. - -+ -+ The flag can be used to show more information and -+ an explanation of the individual issue tag. -+ - - - diff -Nru appstream-0.12.10/debian/patches/04_ignore-control-relation-in-validator.patch appstream-0.14.5/debian/patches/04_ignore-control-relation-in-validator.patch --- appstream-0.12.10/debian/patches/04_ignore-control-relation-in-validator.patch 2020-03-14 15:40:14.000000000 +0000 +++ appstream-0.14.5/debian/patches/04_ignore-control-relation-in-validator.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,27 +0,0 @@ -From df4aaaacc0433f2d2ff487a1e34953c40a68b5b1 Mon Sep 17 00:00:00 2001 -From: Matthias Klumpp -Date: Sat, 14 Mar 2020 16:40:56 +0100 -Subject: [PATCH] Ignore control relation in validator - ---- - src/as-validator.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/as-validator.c b/src/as-validator.c -index 7d7037c..73ab001 100644 ---- a/src/as-validator.c -+++ b/src/as-validator.c -@@ -1067,6 +1067,10 @@ as_validator_check_requires_recommends (AsValidator *validator, xmlNode *node, A - - item_kind = as_relation_item_kind_from_string (node_name); - if (item_kind == AS_RELATION_ITEM_KIND_UNKNOWN) { -+ /* ignore control instructions in this version of AppStream - they will be -+ * properly implemented in the next release */ -+ if (g_strcmp0 (node_name, "control") == 0) -+ continue; - as_validator_add_issue (validator, iter, - "relation-invalid-tag", - node_name); --- -2.25.1 - diff -Nru appstream-0.12.10/debian/patches/05_update-static-data.patch appstream-0.14.5/debian/patches/05_update-static-data.patch --- appstream-0.12.10/debian/patches/05_update-static-data.patch 2020-03-14 15:40:14.000000000 +0000 +++ appstream-0.14.5/debian/patches/05_update-static-data.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,278 +0,0 @@ -From 12c488c96ca7949e89f08cef71ba0c1ea8d2c175 Mon Sep 17 00:00:00 2001 -From: Matthias Klumpp -Date: Sun, 23 Feb 2020 19:53:45 +0100 -Subject: [PATCH] Update static data - ---- - data/iana-filtered-tld-list.txt | 2 +- - data/spdx-free-license-ids.txt | 182 ++++++++++++++++++++++++++++ - data/spdx-license-exception-ids.txt | 4 +- - data/spdx-license-ids.txt | 9 +- - 4 files changed, 194 insertions(+), 3 deletions(-) - create mode 100644 data/spdx-free-license-ids.txt - -diff --git a/data/iana-filtered-tld-list.txt b/data/iana-filtered-tld-list.txt -index 90a4b4fe..f4b3400f 100644 ---- a/data/iana-filtered-tld-list.txt -+++ b/data/iana-filtered-tld-list.txt -@@ -1,6 +1,6 @@ - # IANA TLDs we recognize for AppStream IDs. - # Derived from the full list at https://data.iana.org/TLD/tlds-alpha-by-domain.txt --# Last updated on 2020-01-14 -+# Last updated on 2020-02-23 - aaa - aarp - abb -diff --git a/data/spdx-free-license-ids.txt b/data/spdx-free-license-ids.txt -new file mode 100644 -index 00000000..04a768c9 ---- /dev/null -+++ b/data/spdx-free-license-ids.txt -@@ -0,0 +1,182 @@ -+# The list of free (OSI or FSF approved) licenses recognized by SPDX, v3.8-4-gd79c632 -+0BSD -+AAL -+AFL-1.1 -+AFL-1.2 -+AFL-2.0 -+AFL-2.1 -+AFL-3.0 -+AGPL-1.0 -+AGPL-3.0 -+AGPL-3.0-only -+AGPL-3.0-or-later -+APL-1.0 -+APSL-1.0 -+APSL-1.1 -+APSL-1.2 -+APSL-2.0 -+Apache-1.0 -+Apache-1.1 -+Apache-2.0 -+Artistic-1.0 -+Artistic-1.0-Perl -+Artistic-1.0-cl8 -+Artistic-2.0 -+BSD-2-Clause -+BSD-2-Clause-FreeBSD -+BSD-2-Clause-Patent -+BSD-3-Clause -+BSD-3-Clause-Clear -+BSD-3-Clause-LBNL -+BSD-4-Clause -+BSL-1.0 -+BitTorrent-1.1 -+CATOSL-1.1 -+CC-BY-4.0 -+CC-BY-SA-4.0 -+CC0-1.0 -+CDDL-1.0 -+CECILL-2.0 -+CECILL-2.1 -+CECILL-B -+CECILL-C -+CNRI-Python -+CPAL-1.0 -+CPL-1.0 -+CUA-OPL-1.0 -+ClArtistic -+Condor-1.1 -+ECL-1.0 -+ECL-2.0 -+EFL-1.0 -+EFL-2.0 -+EPL-1.0 -+EPL-2.0 -+EUDatagrid -+EUPL-1.1 -+EUPL-1.2 -+Entessa -+FSFAP -+FTL -+Fair -+Frameworx-1.0 -+GFDL-1.1 -+GFDL-1.1-only -+GFDL-1.1-or-later -+GFDL-1.2 -+GFDL-1.2-only -+GFDL-1.2-or-later -+GFDL-1.3 -+GFDL-1.3-only -+GFDL-1.3-or-later -+GPL-2.0 -+GPL-2.0+ -+GPL-2.0-only -+GPL-2.0-or-later -+GPL-3.0 -+GPL-3.0+ -+GPL-3.0-only -+GPL-3.0-or-later -+GPL-3.0-with-GCC-exception -+HPND -+IJG -+IPA -+IPL-1.0 -+ISC -+Imlib2 -+Intel -+LGPL-2.0 -+LGPL-2.0+ -+LGPL-2.0-only -+LGPL-2.0-or-later -+LGPL-2.1 -+LGPL-2.1+ -+LGPL-2.1-only -+LGPL-2.1-or-later -+LGPL-3.0 -+LGPL-3.0+ -+LGPL-3.0-only -+LGPL-3.0-or-later -+LPL-1.0 -+LPL-1.02 -+LPPL-1.2 -+LPPL-1.3a -+LPPL-1.3c -+LiLiQ-P-1.1 -+LiLiQ-R-1.1 -+LiLiQ-Rplus-1.1 -+MIT -+MPL-1.0 -+MPL-1.1 -+MPL-2.0 -+MPL-2.0-no-copyleft-exception -+MS-PL -+MS-RL -+MirOS -+Motosoto -+Multics -+NASA-1.3 -+NCSA -+NGPL -+NOSL -+NPL-1.0 -+NPL-1.1 -+NPOSL-3.0 -+NTP -+Naumen -+Nokia -+Nunit -+OCLC-2.0 -+ODbL-1.0 -+OFL-1.0 -+OFL-1.1 -+OFL-1.1-RFN -+OFL-1.1-no-RFN -+OGTSL -+OLDAP-2.3 -+OLDAP-2.7 -+OSET-PL-2.1 -+OSL-1.0 -+OSL-1.1 -+OSL-2.0 -+OSL-2.1 -+OSL-3.0 -+OpenSSL -+PHP-3.0 -+PHP-3.01 -+PostgreSQL -+Python-2.0 -+QPL-1.0 -+RPL-1.1 -+RPL-1.5 -+RPSL-1.0 -+RSCPL -+Ruby -+SGI-B-2.0 -+SISSL -+SMLNJ -+SPL-1.0 -+SimPL-2.0 -+Sleepycat -+StandardML-NJ -+UCL-1.0 -+UPL-1.0 -+Unlicense -+VSL-1.0 -+Vim -+W3C -+WTFPL -+Watcom-1.0 -+X11 -+XFree86-1.1 -+Xnet -+YPL-1.1 -+ZPL-2.0 -+ZPL-2.1 -+Zend-2.0 -+Zimbra-1.3 -+Zlib -+eCos-2.0 -+gnuplot -+iMatix -+xinetd -diff --git a/data/spdx-license-exception-ids.txt b/data/spdx-license-exception-ids.txt -index ad351ea1..06a16a47 100644 ---- a/data/spdx-license-exception-ids.txt -+++ b/data/spdx-license-exception-ids.txt -@@ -1,4 +1,4 @@ --# The list of license exceptions recognized by SPDX, v3.7-5-gebad7c9 -+# The list of license exceptions recognized by SPDX, v3.8-4-gd79c632 - 389-exception - Autoconf-exception-2.0 - Autoconf-exception-3.0 -@@ -12,6 +12,8 @@ Fawkes-Runtime-exception - Font-exception-2.0 - GCC-exception-2.0 - GCC-exception-3.1 -+GPL-3.0-linking-exception -+GPL-3.0-linking-source-exception - GPL-CC-1.0 - LLVM-exception - LZMA-exception -diff --git a/data/spdx-license-ids.txt b/data/spdx-license-ids.txt -index 954c1007..28989a8c 100644 ---- a/data/spdx-license-ids.txt -+++ b/data/spdx-license-ids.txt -@@ -1,4 +1,4 @@ --# The list of licenses recognized by SPDX, v3.7-5-gebad7c9 -+# The list of all licenses recognized by SPDX, v3.8-4-gd79c632 - 0BSD - AAL - ADSL -@@ -253,6 +253,7 @@ NPL-1.1 - NPOSL-3.0 - NRL - NTP -+NTP-0 - Naumen - Net-SNMP - NetCDF -@@ -265,7 +266,11 @@ OCLC-2.0 - ODC-By-1.0 - ODbL-1.0 - OFL-1.0 -+OFL-1.0-RFN -+OFL-1.0-no-RFN - OFL-1.1 -+OFL-1.1-RFN -+OFL-1.1-no-RFN - OGL-Canada-2.0 - OGL-UK-1.0 - OGL-UK-2.0 -@@ -299,6 +304,7 @@ OpenSSL - PDDL-1.0 - PHP-3.0 - PHP-3.01 -+PSF-2.0 - Parity-6.0.0 - Plexus - PostgreSQL -@@ -393,6 +399,7 @@ gSOAP-1.3b - gnuplot - iMatix - libpng-2.0 -+libselinux-1.0 - libtiff - mpich2 - psfrag diff -Nru appstream-0.12.10/debian/patches/series appstream-0.14.5/debian/patches/series --- appstream-0.12.10/debian/patches/series 2020-03-14 15:40:14.000000000 +0000 +++ appstream-0.14.5/debian/patches/series 1970-01-01 00:00:00.000000000 +0000 @@ -1,5 +0,0 @@ -01_less-long-token-noise.patch -02_fix-free-license-check.patch -03_ascli-explain-in-manpage.patch -04_ignore-control-relation-in-validator.patch -05_update-static-data.patch diff -Nru appstream-0.12.10/debian/rules appstream-0.14.5/debian/rules --- appstream-0.12.10/debian/rules 2018-04-04 16:28:19.000000000 +0000 +++ appstream-0.14.5/debian/rules 2020-11-30 21:24:51.000000000 +0000 @@ -4,6 +4,7 @@ AS_CONFIGURE_ARGS = -Dqt=true \ -Dapt-support=true \ + -Dcompose=true \ -Dvapi=true %: diff -Nru appstream-0.12.10/debian/source/lintian-overrides appstream-0.14.5/debian/source/lintian-overrides --- appstream-0.12.10/debian/source/lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/debian/source/lintian-overrides 2021-02-16 19:54:33.000000000 +0000 @@ -0,0 +1,4 @@ +# AppStream has some sample and dummy metainfo files, some of them +# erroneous on purpose, for its own testsuite. +# Make Lintian not complain about these. +appstream source: inconsistent-appstream-metadata-license tests/* diff -Nru appstream-0.12.10/debian/tests/build appstream-0.14.5/debian/tests/build --- appstream-0.12.10/debian/tests/build 2018-04-04 22:32:26.000000000 +0000 +++ appstream-0.14.5/debian/tests/build 2021-02-02 16:17:53.000000000 +0000 @@ -51,7 +51,7 @@ " foobar\n" "
\n"); g_assert_cmpstr (xml_collection, ==, "\n" - "\n" + "\n" " \n" " org.example.Test.desktop\n" " Test\n" diff -Nru appstream-0.12.10/debian/watch appstream-0.14.5/debian/watch --- appstream-0.12.10/debian/watch 2017-10-22 17:59:12.000000000 +0000 +++ appstream-0.14.5/debian/watch 2021-07-10 17:45:56.000000000 +0000 @@ -1,3 +1,2 @@ -version=3 - -https://www.freedesktop.org/software/appstream/releases/AppStream-([\d\.]+)\.(?:tar\.xz|txz|tar\.bz2|tbz2|tar\.gz|tgz) +version=4 +https://www.freedesktop.org/software/appstream/releases/AppStream-([\d\.]+)\.(?:tar\.xz|tar\.zst|tar\.gz) diff -Nru appstream-0.12.10/docs/api/appstream-docs.xml appstream-0.14.5/docs/api/appstream-docs.xml --- appstream-0.12.10/docs/api/appstream-docs.xml 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/api/appstream-docs.xml 2021-08-28 20:15:28.000000000 +0000 @@ -39,6 +39,9 @@ + + + @@ -73,7 +76,7 @@ AppStream Manual Pages - + diff -Nru appstream-0.12.10/docs/api/meson.build appstream-0.14.5/docs/api/meson.build --- appstream-0.12.10/docs/api/meson.build 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/api/meson.build 2021-08-28 20:15:28.000000000 +0000 @@ -9,7 +9,7 @@ ignore_headers: aslib_priv_headers, install: true, install_dir: join_paths(get_option('prefix'), as_api_doc_target_dir), # requires an absolute path - content_files: ['../sources/man/appstreamcli.1.xml'] + content_files: ['../xml/man/appstreamcli.1.xml'] ) # create symlink, so tools using gtk-doc can find the API documentation, without us diff -Nru appstream-0.12.10/docs/API-TODO.md appstream-0.14.5/docs/API-TODO.md --- appstream-0.12.10/docs/API-TODO.md 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/API-TODO.md 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,25 @@ +v1.0 API Todo List +================== + +This document exists to list all items that have to be worked on for the +libappstream API break for the AppStream 1.0 release. + +## TODO + + * Remove all deprecated API + + * Drop all bytes+length uses in public API and use GBytes instead if a function takes byte arrays + + * Don't expose raw GPtrArray / GHashTable with automatic free functions in public API + that is consumed by language bindings. See https://gitlab.gnome.org/GNOME/gobject-introspection/-/issues/305#note_1010673 + for details. + + * Either drop AsDistroInfo or rename it to AsOSInfo (depending on whether it's still needed) + + * Drop use of `/etc/appstream.conf`, expose any of its remaining options (if there are any) as C API + for client tools to use. + + * Sort out the various markup-to-text conversion functions, make some of them public API and maybe rewrite some + (there are likely some performance improvements to be found there) + + * Make UNKNOWN the first entry in AsFormatVersion enum diff -Nru appstream-0.12.10/docs/DC-AppStream appstream-0.14.5/docs/DC-AppStream --- appstream-0.12.10/docs/DC-AppStream 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/DC-AppStream 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,37 @@ +## Doc config file for AppStream.xml + +## The following settings are only applied when building from this DC file. +## To customize DAPS's global configuration, use the configuration file +## ~/.config/daps/dapsrc (you may have to create that file initially). +## For documentation of the settings below, see /etc/daps/config . + +MAIN="AppStream.xml" + +BUILD_DIR="_docbuild" + +##-------------------- +## Root ID, optional +## If MAIN contains a set with several books and/or articles of which you only +## want to build specific ones only, use a separate DC file for each book/ +## article and set ROOTID to the id/xml:id of the respective /
+## element of the document. +## For more information about sets, see +## https://tdg.docbook.org/tdg/5.1/set (for DocBook 5.1). +ROOTID="" + +##------------------- +## Custom stylesheets, optional +## (if not defined, the DocBook stylesheets will be used) +STYLEROOT="./style/" +#HTML_CSS="" +#EPUB_CSS="" + +##--------------------- +## Profiling parameters, optional +## For elements with arch="...", condition="...", os="..." and vendor="..." +## For information about profiling, see +## http://www.sagehill.net/docbookxsl/Profiling.html . +#PROFARCH="" +#PROFCONDITION="" +#PROFOS="" +#PROFVENDOR="" diff -Nru appstream-0.12.10/docs/doc-build-helper.py appstream-0.14.5/docs/doc-build-helper.py --- appstream-0.12.10/docs/doc-build-helper.py 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/doc-build-helper.py 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ #!/usr/bin/env python3 # -# Copyright (C) 2016-2017 Matthias Klumpp +# Copyright (C) 2016-2021 Matthias Klumpp # # Licensed under the GNU General Public License Version 2 # @@ -29,77 +29,121 @@ from pathlib import Path -parser = argparse.ArgumentParser() -parser.add_argument('--ws') -parser.add_argument('--src') -parser.add_argument('--out') -parser.add_argument('--publican', default='publican') -parser.add_argument('project') -parser.add_argument('version') - - -def assemble_ws(src_dir, ws_dir): - print('Assembling workspace...') - if os.path.exists(ws_dir): - shutil.rmtree(ws_dir) - - shutil.copytree(os.path.join(src_dir, 'sources'), os.path.join(ws_dir, 'en-US'), symlinks=True) - shutil.copy2(os.path.join(src_dir, 'publican.cfg'), os.path.join(ws_dir, 'publican.cfg')) - - -def run_publican(ws_dir, publican_exe): - print('Running Publican...') - return subprocess.check_call([publican_exe, - 'build', - '--src_dir=' + ws_dir, - '--pub_dir=' + os.path.join(ws_dir, 'public'), - '--langs=en-US', - '--publish', - '--formats=html']) - - -def copy_result(project, version, ws_dir, out_dir): - print('Copying result...') - if os.path.exists(out_dir): - shutil.rmtree(out_dir) +# additional CSS from system locations, we use it if available +EXTRA_CSS = [['/usr/share/javascript/highlight.js/styles/routeros.css', + 'highlight.css']] - shutil.copytree(os.path.join(ws_dir, 'public', 'en-US', project, version, 'html', project), - out_dir, symlinks=True) +def daps_build(src_dir, project_name, daps_exe): + print('Creating HTML with DAPS...') + sys.stdout.flush() -def main(args): - options = parser.parse_args(args) + build_dir = os.path.join(src_dir, '_docbuild') + cmd = [daps_exe, + 'html', + '--clean'] + if project_name: + cmd.extend(['--name', project_name]) - # some control over where Publican puts its tmp dir - os.chdir(options.ws) + if os.path.exists(build_dir): + shutil.rmtree(build_dir) + os.makedirs(build_dir, exist_ok=True) - if not options.ws: - print('You need to define a temporary workspace directory!') - return 1 + ret = subprocess.call(cmd, cwd=src_dir) + if ret != 0: + print('Documentation HTML build failed!') + sys.exit(6) - if not options.src: - print('You need to define a source directory!') - return 1 + html_out_dir = os.path.join(build_dir, project_name, 'html', project_name) + + # copy the (usually missing) plain SVG project icon + shutil.copy(os.path.join(src_dir, 'images', 'src', 'svg', 'appstream-logo.svg'), + os.path.join(html_out_dir, 'images')) + + # copy extra CSS if it is available + for css_fname in EXTRA_CSS: + if os.path.exists(css_fname[0]): + shutil.copy(css_fname[0], os.path.join(html_out_dir, 'static', + 'css', css_fname[1])) + + return build_dir + + +def copy_result(build_dir, project_name, dest_dir): + print('Copying HTML documentation...') + if os.path.exists(dest_dir): + shutil.rmtree(dest_dir) + + shutil.copytree(os.path.join(build_dir, project_name, 'html', project_name), + dest_dir, symlinks=True) - if not options.out: - print('You need to define an output directory!') - return 1 - ws_dir = os.path.join(options.ws, 'publican_ws') +def cleanup_build_dir(build_dir): + print('Cleaning up.') + if os.path.exists(build_dir): + shutil.rmtree(build_dir) - # create temporary workspace for Publican, outside of the source tree - assemble_ws(options.src, ws_dir) - # make HTML - run_publican(ws_dir, options.publican) +def daps_validate(src_dir, daps_exe): + print('Validating documentation with DAPS...') + + build_dir = os.path.join(src_dir, '_docbuild') + if os.path.exists(build_dir): + shutil.rmtree(build_dir) + os.makedirs(build_dir, exist_ok=True) + + ret = subprocess.call([daps_exe, 'validate'], cwd=src_dir) + if ret != 0: + print('Validation failed!') + cleanup_build_dir(build_dir) + return ret == 0 + + +def main(args): + parser = argparse.ArgumentParser() + parser.add_argument('--build', action='store_true') + parser.add_argument('--validate', action='store_true') + + parser.add_argument('--src', action='store') + parser.add_argument('--builddir', action='store') + parser.add_argument('--daps', action='store', default='daps') + parser.add_argument('project', action='store', default='AppStream', nargs='?') + + options = parser.parse_args(args) + + if not options.validate and not options.build: + print('No action was specified.') + return 1 + + if not options.src: + print('Source root directory is not defined!') + return 1 - # copy to output folder, overrding its contents - copy_result(options.project, options.version, ws_dir, os.path.join(options.out, 'html')) + os.chdir(options.src) - # make a dummy file so Meson can rebuild documentation on demand - Path(os.path.join(options.ws, 'docs_built.stamp')).touch() + if options.build: + # build the HTML files + build_dir = daps_build(options.src, options.project, options.daps) + + # copy to output HTML folder, overriding all previous contents + copy_result(build_dir, options.project, + os.path.join(options.src, 'html')) + + # remove temporary directory + cleanup_build_dir(build_dir) + + # make a dummy file so Meson can rebuild documentation on demand + if options.builddir: + Path(os.path.join(options.builddir, 'docs_built.stamp')).touch() + + print('Documentation built.') + + elif options.validate: + # validate the XML + ret = daps_validate(options.src, options.daps) + if not ret: + sys.exit(6) - print('Documentation built.') return 0 diff -Nru appstream-0.12.10/docs/.gitignore appstream-0.14.5/docs/.gitignore --- appstream-0.12.10/docs/.gitignore 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/.gitignore 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,2 @@ +html/ +_docbuild/ diff -Nru appstream-0.12.10/docs/html/chap-AppStream-About.html appstream-0.14.5/docs/html/chap-AppStream-About.html --- appstream-0.12.10/docs/html/chap-AppStream-About.html 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/chap-AppStream-About.html 2021-08-28 20:15:17.000000000 +0000 @@ -1,14 +1,33 @@ -Chapter 1. About AppStream

Product SiteDocumentation Site

- ⁠Chapter 1. About AppStream

- ⁠1.1. What is AppStream?

- AppStream is a cross-distro effort for enhancing the metadata available about software components in the Linux and free-software ecosystem. One of the project's goals is to make building software-center applications possible, and make interaction with the package sources of a distribution smarter. AppStream provides specifications for meta-information which is shipped by upstream projects and can be consumed by other software. The meta-information includes data which is interesting to display in software centers and is mainly useful for end-users, as well as descriptions about the public interfaces a software component provides, which is mainly useful for developers, 3rd-party software installers and for automatically installing missing components on a distribution, for example missing firmware or mimetype-handlers. -
- Distributors provide metadata as well, which describes all components available in a software repository. That data is composed of the upstream-metainfo and some other sources. AppStream also provides specifications for things like a screenshot-service, application ratings & reviews etc. -
- All parts of AppStream are distribution-agnostic, and therefore it is easily possible to build software management tools with it that work on any distribution implementing the AppStream specification. -

- ⁠1.1.1. Architecture

-
+About AppStream | AppStream | AppStream 0.14 +
Applies to AppStream 0.14

1 About AppStream

1.1 What is AppStream?

+ AppStream is a cross-distro effort for enhancing the metadata available about software components in the Linux and free-software ecosystem. + One of the project's goals is to make building software-center applications possible, and make interaction with the package sources of a + distribution smarter. + AppStream provides specifications for meta-information which is shipped by upstream projects and can be consumed by other software. + The meta-information includes data which is interesting to display in software centers and is mainly useful for end-users, as well as descriptions + about the public interfaces a software component provides, which is mainly useful for developers, 3rd-party software installers and for automatically + installing missing components on a distribution, for example missing firmware or mimetype-handlers. +

+ Distributors provide metadata as well, which describes all components available in a software repository. That data is composed of the upstream-metainfo + and some other sources. + AppStream also provides specifications for things like a screenshot-service, application ratings & reviews etc. +

+ All parts of AppStream are distribution-agnostic, and therefore it is easily possible to build software management tools with it that work + on any distribution implementing the AppStream specification. +

1.1.1 Architecture

+

+

\ No newline at end of file diff -Nru appstream-0.12.10/docs/html/chap-AppStream-API.html appstream-0.14.5/docs/html/chap-AppStream-API.html --- appstream-0.12.10/docs/html/chap-AppStream-API.html 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/chap-AppStream-API.html 2021-08-28 20:15:19.000000000 +0000 @@ -1,7 +1,22 @@ -Chapter 7. AppStream API Reference

Product SiteDocumentation Site

- ⁠Chapter 7. AppStream API Reference

- A reference of AppStream's public API can be fount on the API reference pages. -
- If you want to use the PackageKit API, look at the PackageKit reference manual. -
\ No newline at end of file +AppStream API Reference | AppStream | AppStream 0.14 + \ No newline at end of file diff -Nru appstream-0.12.10/docs/html/chap-AppStream-ManualPages.html appstream-0.14.5/docs/html/chap-AppStream-ManualPages.html --- appstream-0.12.10/docs/html/chap-AppStream-ManualPages.html 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/chap-AppStream-ManualPages.html 2021-08-28 20:15:19.000000000 +0000 @@ -1,5 +1,18 @@ -Chapter 6. Manual pages

Product SiteDocumentation Site

- ⁠Chapter 6. Manual pages

- Manpages are available at the API documentation. -
\ No newline at end of file +Manual pages | AppStream | AppStream 0.14 + \ No newline at end of file diff -Nru appstream-0.12.10/docs/html/chap-AppStream-Misc.html appstream-0.14.5/docs/html/chap-AppStream-Misc.html --- appstream-0.12.10/docs/html/chap-AppStream-Misc.html 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/html/chap-AppStream-Misc.html 2021-08-28 20:15:19.000000000 +0000 @@ -0,0 +1,67 @@ + +Miscellaneous | AppStream | AppStream 0.14 +
Applies to AppStream 0.14

4 Miscellaneous

+ This chapter describes additional features AppStream provides that are related to the + metadata specification. +

4.1 Version Comparison Algorithm

4.1.1 Introduction

+ The AppStream specification requires the presence of version numbers in various locations, and AppStream-using + clients will occasionally need to compare version numbers in order to determine the latest version. + This document describes how version comparisons should be performed. +

4.1.2 Algorithm

+ AppStream's version comparison algorithm is identical to the one used by the Fedora and Debian Linux distributions + (after RPM's algorithm was extended to handle the tilde character like Debian). + The algorithm is described for Debian here (https://manpages.debian.org/unstable/dpkg-dev/deb-version.5.en.html#Sorting_algorithm), + the description is also reproduced below: +

+ The version strings are compared from left to right. +

+ First the initial part of each string consisting entirely of non-digit characters is determined. + These two parts (one of which may be empty) are compared lexically. If a difference is found it is returned. The lexical comparison is a comparison + of ASCII values modified so that all the letters sort earlier than all the non-letters and so that a tilde sorts before anything, even the end of a part. + For example, the following parts are in sorted order: ~~, ~~a, ~, the empty part, a. +

+ Then the initial part of the remainder of each string which consists entirely of digit characters is determined. The numerical values of these two parts + are compared, and any difference found is returned as the result of the comparison. For these purposes an empty string (which can only occur at the end + of one or both version strings being compared) counts as zero. +

+ These two steps (comparing and removing initial non-digit strings and initial digit strings) are repeated until a difference is found or both strings are exhausted. +

4.1.3 Recommendations

+ For meaningful version numbers, consider following semantic versioning (https://semver.org/). +

+ A version number should always start with a number. Do not start version numbers with a letter or make them + consist entirely of letters, e.g. BETA is not a version number. +

+ If you want to denote a prerelease, consider appending the prerelease identifier string after a tidle. For example + use 1.0~alpha1 for an alpha release of the upcoming 1.0 release. The alpha release + will then considered lower than the final release. +

+ Avoid using any epochs (colons) in your upstream version numbers. Versions like 1:2.4 will cause + problems with downstreams. +

4.1.4 Implementation

+ You can read AppStream's code for version comparisons here (https://github.com/ximion/appstream/blob/master/src/as-vercmp.c). +

+ If you want to quickly test version comparisons for your software and arbitrary versions, consider using the vercmp + subcommand of the appstreamcli utility. +

+ Examples: +

$ appstreamcli vercmp 1.0 2.0
+1.0 << 2.0
+$ appstreamcli vercmp 2.0 2.0~a1
+2.0 >> 2.0~a1
+$ appstreamcli vercmp 2.4 lt 2.1
+false: 2.4 >> 2.1
+$ appstreamcli vercmp 1.2.4 gt 1.2.3
+true: 1.2.4 >> 1.2.3
\ No newline at end of file diff -Nru appstream-0.12.10/docs/html/chap-AppStream-Services.html appstream-0.14.5/docs/html/chap-AppStream-Services.html --- appstream-0.12.10/docs/html/chap-AppStream-Services.html 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/chap-AppStream-Services.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,16 +0,0 @@ - -Chapter 5. Services

Product SiteDocumentation Site

- ⁠Chapter 5. Services

- AppStream provides some services to fetch additional data from. -

- ⁠5.1. Screenshot service

- ⁠5.1.1. Introduction

- To make give users an impression on how the application they are about to install will look like, screenshots are provided in the AppStream spec. But since not all upstream authors ship screenshots, there is a way for distributors to specify a server for screenshots provided by a 3rd-party. -

- ⁠5.1.2. Webservice

- Distributors provide a service like debshots. They can either use the original debshots web application, which does not only work for Debian but also any other distribution, or they can set up their own service which mimicks the debshots API (OpenSUSE does that). -
- In order to make a new screenshot service known to software-centers, distributors need to place information about their webservice in the config file of libappstream, whis is usually located at /etc/appstream.conf. -
- The screenshot data will be inserted transparently into AsScreenshot, if the distributor has set the configuration flag. Authors of software-centers don't need to take care of this implementation detail. -
\ No newline at end of file diff -Nru appstream-0.12.10/docs/html/chap-CollectionData.html appstream-0.14.5/docs/html/chap-CollectionData.html --- appstream-0.12.10/docs/html/chap-CollectionData.html 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/chap-CollectionData.html 2021-08-28 20:15:19.000000000 +0000 @@ -1,358 +1,409 @@ -Chapter 3. Collection Metadata

Product SiteDocumentation Site

- ⁠Chapter 3. Collection Metadata

- Additionally to the metainfo files shipped by upstream projects, AppStream also provides an XML and YAML format to make information about not installed software components known to the system. -
+Collection Metadata | AppStream | AppStream 0.14 +
Applies to AppStream 0.14

3 Collection Metadata

+ Additionally to the metainfo files shipped by upstream projects, AppStream also provides an XML and YAML format + to make information about not installed software components known to the system. +

This chapter documents this collection metadata format and icon cache used on the client side. -

- ⁠3.1. AppStream collection XML

- ⁠3.1.1. Introduction

- AppStream collection XML files are text files describing all available software components a software repository (usually from a Linux distributor) offers for installation. The XML files might be compressed with GZip. -

- ⁠3.1.2. File naming and location

- The XML files must have a unique name, which is usually the distribution's name and version, combined with the name of the repository/origin. For example in Debian 8 (Jessie), the filename for the main repository component would be debian-jessie-main.xml.gz. For Fedora 20 (Heisenbug) updates it would be fedora-20-updates.xml.gz. 3rd-party repositories use a vendor name and repository-name combination, for example Ubuntu PPAs might get ppa-ubuntu12.04-username-foobar.xml. -
- There are two valid locations to store AppStream XML data. /usr/share/app-info/xmls stores all AppStream data which has been installed via software packages, while /var/cache/app-info/xmls stores application data which was downloaded by the package manager or placed there by other tools (for example, Limba). The XML files can either be plain files or be compressed with gzip. It is always a good idea to compress the files, because they tend to become quite large. -

- ⁠3.1.3. General XML structure

- The XML starts with a <components> tag as the root element. It has all the <component> tags of different types as children. -
- Data to fill the different component elements is usually taken from their Desktop files and package data. However, if an upstream project ships metainfo files (see Chapter 2, Upstream Metadata), values defined there should override data from any other source. -
- All child elements of the <components> element, no matter of which type they are, must at least have an id, name, summary and pkgname tag. For applications, a icon tag is also required. -
+

3.1 AppStream collection XML

3.1.1 Introduction

+ AppStream collection XML files are text files describing all available software components a software repository (usually + from a Linux distributor) offers for installation. + The XML files might be compressed with GZip. +

3.1.2 File naming and location

+ The XML files must have a unique name, which is usually the distribution's name and version, combined with the name of the repository/origin. + For example in Debian 8 (Jessie), the filename for the main repository component would be debian-jessie-main.xml.gz. + For Fedora 20 (Heisenbug) updates it would be fedora-20-updates.xml.gz. + 3rd-party repositories use a vendor name and repository-name combination, for example Ubuntu PPAs might get ppa-ubuntu12.04-username-foobar.xml. +

+ There are two valid locations to store AppStream XML data. /usr/share/app-info/xmls stores all AppStream data which + has been installed via software packages, while /var/cache/app-info/xmls stores application data which was downloaded + by the package manager or placed there by other tools (for example, Limba). + The XML files can either be plain files or be compressed with gzip. It is always a good idea to compress the files, because they tend to become + quite large. +

3.1.3 General XML structure

+ The XML starts with a <components> tag as the root element. It has all the + <component> tags of different types as children. +

+ Data to fill the different component elements is usually taken from their Desktop files (https://standards.freedesktop.org/desktop-entry-spec/latest/) + and package data. However, if an upstream project ships metainfo files (see Chapter 2, Upstream Metadata), + values defined there should override data from any other source. +

+ All child elements of the <components> element, no matter of which type they are, must at least have + an id, name, summary and pkgname tag. + For applications, a icon tag is also required. +

The <components> root node has these properties, where the first two are required: -

version
- This property declares the AppStream spec version this file is based on (currently 0.9). The property is required. -
origin
- Defines the repository ID this AppStream XML file belongs to. This usually matches the filename without extension (see the explanation on how to pick a good filename above). It is also used to associate the right cached icons with AppStream metadata. This property is required. -
architecture
- Defines the architecture this data belongs to. This information is useful to resolve AppStream-ID conflicts on multiarch systems, which appear if the user has metadata for two architectures installed. This property is optional. -

- ⁠3.1.4. Valid tags for all component types

- These tags can be applied to every component type (application, component, font, inputmethod) which is described in the AppStream metadata. -
- Additionally to the type property, every <component/> tag in AppStream collection data may have a priority property, defining the priority of this specific metadata over other metadata from different AppStream XML files (for example, from a different repository) which have the same component-id. The value of this tag is an integer, if the property is missing, a value of "0" is assumed. -
- In order to merge metadata, each component in collection data may also have a merge property, assuming the values append, replace or remove-component. If the value is append, all data this component describes will be appended to data of the component with the same ID. If the value is replace the fields of the target component will be replaced with the ones present in the merge component. If the merge type is remove-component, the entore component matching the ID of the merge-component should be removed from the metadata pool. Merge-components with a higher priority take precedence. If a component has a merge property, the only tag that must be present for it is the <id/> tag, any other metadata is optional. -
- ⁠<id/>
- The <id/> tag is a short unique and usually lower-cases identifier for the component. Depending on the component's type, different naming conventions apply. -
- ⁠<pkgname/>
+

version

+ This property declares the AppStream spec version this file is based on (currently 0.14). The property is required. +

origin

+ Defines the repository ID this AppStream XML file belongs to. This usually matches the filename without extension (see the explanation on how to pick a good filename above). + It is also used to associate the right cached icons with AppStream metadata. This property is required. +

architecture

+ Defines the architecture this data belongs to. This information is useful to resolve AppStream-ID conflicts on multiarch systems, + which appear if the user has metadata for two architectures installed. This property is optional. +

3.1.4 Valid tags for all component types

+ These tags can be applied to every component type (application, component, font, inputmethod) which + is described in the AppStream metadata. +

+ Additionally to the type property, every <component/> tag in AppStream collection data + may have a priority property, defining the priority of this specific metadata over other metadata from different + AppStream XML files (for example, from a different repository) which have the same component-id. The value of this tag is an integer, if the + property is missing, a value of "0" is assumed. +

+ In order to merge metadata, each component in collection data may also have a merge property, assuming the + values append, replace or remove-component. If the value is append, all data this component describes will be appended + to data of the component with the same ID. If the value is replace the fields of the target component will be replaced with the + ones present in the merge component. If the merge type is remove-component, the entore component matching the ID of the merge-component should + be removed from the metadata pool. + Merge-components with a higher priority take precedence. If a component has a merge property, the only tag that must + be present for it is the <id/> tag, any other metadata is optional. +

<id/> 

+ The <id/> tag is a short unique and usually lower-cases identifier for the component. + Depending on the component's type, different naming conventions apply. +

<pkgname/> 

The name of the package which needs to be installed in order to make this component available on the system. -

+

This tag can be defined multiple times, if a component is split across multiple packages. -

Important

- The preferred way is to create metapackages containing the component metadata, and referencing them from the collection metadata, and not to use multiple pkgname tags. They should only be used multiple times as a workaround or if there is no sensible way of creating a matching metapackage. -
- ⁠<source_pkgname/>
+

Important
Important

+ The preferred way is to create metapackages containing the component metadata, and referencing them + from the collection metadata, and not to use multiple pkgname tags. + They should only be used multiple times as a workaround or if there is no sensible way of creating a + matching metapackage. +

<source_pkgname/> 

This optional tag is used to specify the source package the binary package this component belongs to was built from. -

- The tag can be used by software center applications to group components. It is otherwise useful for the distributor to assign components to a source package and to fetch additional information about a package from the web. -
- ⁠<name/>
+

+ The tag can be used by software center applications to group components. It is otherwise useful for the distributor + to assign components to a source package and to fetch additional information about a package from the web. +

<name/> 

A human-readable name for this software. -

- In case of a component of type desktop-application, the application name as defined in the application's desktop file is used. -
- ⁠<project_license/>
- The <project_license/> tag is indicating the license of the component. It should be a SPDX license expression. A full list of recognized licenses and their identifiers can be found at the SPDX OpenSource License Registry. -
+

+ In case of a component of type desktop-application, the application name as defined in the application's + desktop file (https://standards.freedesktop.org/desktop-entry-spec/latest/) is used. +

<project_license/> 

+ The <project_license/> tag is indicating the license of the component. + It should be a SPDX license expression (https://spdx.org/specifications). + A full list of recognized licenses and their identifiers can be found at the + SPDX OpenSource License Registry (https://spdx.org/licenses/). +

You can find more information about this tag at the metainfo description for <project_license/>. -

- ⁠<summary/>
- The tag contains a short summary of the purpose and function of this component. In case the component is of type desktop, it is usually taken from a Desktop file, if the application does not ship an upstream metadata file. -
+

<summary/> 

+ The tag contains a short summary of the purpose and function of this component. In case the component is of + type desktop, it is usually taken from a Desktop file, + if the application does not ship an upstream metadata file. +

For more information about this tag, take a look at the tag's definition at <summary/>. -

- ⁠<description/>
- A long description of the component. It is usually taken from the package descriptions or meta-info files, if they were provided. The description might use markup. Right now, only paragraph, ordered list and unordered list are supported. An example description element might look like this: -
<description>
-  <p>
-   Power Statistics is a program used to view historical and current battery
-   information and will show programs running on your computer using power.
-  </p>
-  <p>Example list:</p>
-  <ul>
-   <li>First item</li>
-   <li>Second item</li>
-  </ul>
-  <p>
-  You probably only need to install this application if you are having problems
-  with your laptop battery, or are trying to work out what programs are using
-  significant amounts of power.
-  </p>
- </description>
- -
- As opposed to the by-paragraph translation used in meta-info files, this tag is translated "as a whole", meaning that the <description/> tag itself has a language property and contain the translated paragraphs for the given language. This allows faster parsing of the Appstream XML file, and does not increase it's size much, as long as it is compressed. -
+

<description/> 

+ A long description of the component. It is usually taken from the package descriptions or meta-info files, if they were provided. + The description might use markup. Right now, only paragraph, ordered list and unordered list are supported. + An example description element might look like this: +

<description>
+  <p>
+   Power Statistics is a program used to view historical and current battery
+   information and will show programs running on your computer using power.
+  </p>
+  <p>Example list:</p>
+  <ul>
+   <li>First item</li>
+   <li>Second item</li>
+  </ul>
+  <p>
+  You probably only need to install this application if you are having problems
+  with your laptop battery, or are trying to work out what programs are using
+  significant amounts of power.
+  </p>
+</description>

+

+ As opposed to the by-paragraph translation used in meta-info files, this tag is translated "as a whole", meaning that the + <description/> tag itself has a language property and contain the translated paragraphs for the given language. + This allows faster parsing of the Appstream XML file, and does not increase it's size much, as long as it is compressed. +

For more information about this tag, take a look at the tag's definition at <description/>. -

- ⁠<url/>
+

<url/> 

Defines URLs for this component. This tag can be present multiple times. -

- For a list of possible url types and what they are expected to do, take a look at the tag's description at <url/>. -
- ⁠<project_group/>
- The <project_group> tag identifies a project with a specific upstream umbrella project. Known values include GNOME, KDE, XFCE, LXDE, Mozilla and MATE, although other umbrella projects like Yorba would make sense too. -

Note

- Components should only identify with an umbrella project if you use all their infrastructure and policies, for instance string freezes dates, bugtracker and source control instance. -
- ⁠<icon/>
- The <icon/> tag describes the component icon. It is mostly used for GUI applications (component-type desktop-application). It can be of the type stock, cached, local, or url. -
+

+ For a list of possible url types and what they are expected to do, + take a look at the tag's description at <url/>. +

<project_group/> 

+ The <project_group> tag identifies a project with a specific upstream umbrella project. + Known values include GNOME, KDE, XFCE, LXDE, Mozilla and MATE, although other umbrella projects + like Yorba would make sense too. +

Note
Note

+ Components should only identify with an umbrella project if you use all their infrastructure and policies, for instance + string freezes dates, bugtracker and source control instance. +

<icon/> 

+ The <icon/> tag describes the component icon. It is mostly used for GUI applications (component-type desktop-application). + It can be of the type stock, cached, local, + or url. +

stock icons are loaded from stock. The icon name should never include any file-extension or path. -

- cached icons are loaded from the AppStream icon cache. The icon tag should contain the icon file name, including it's extension. It must not contain a full or relative path to the icon file. -
- local icons are reserved for AppStream data installed by local applications or via 3rd-party application installers. They should specify a full file path. This icon type may have width and height properties. -
- remote icons loaded from a remote URL. Currently, only HTTP urls are supported. This icon type should have width and height properties. -
+

+ cached icons are loaded from the AppStream icon cache. The icon tag should contain the icon file name, including it's + extension. It must not contain a full or relative path to the icon file. +

+ local icons are reserved for AppStream data installed by local applications or via 3rd-party application installers. + They should specify a full file path. + This icon type may have width and height properties. +

+ remote icons loaded from a remote URL. Currently, only HTTP urls are supported. + This icon type should have width and height properties. +

Examples of the different methods to specify an icon: -

<icon type="stock">gimp</icon>
-<icon type="cached">firefox.png</icon>
-<icon type="remote" width="64" height="64">https://example.com/icons/foobar.png</icon>
-<icon type="local" width="64" height="64">/usr/share/pixmaps/foobar.png</icon>
- Multiple <icon/> tags might be combined for one application, for example to define a stock icon and a cached icon. Software-Centers should always prefer the stock icon, if it is available, and fall back to the other icon types if they can not find it. The libappstream library makes it easy to do that. -
- The AppStream library will prefer cached over local over remote icons when setting the non-stock icon for the application. -
- ⁠<mimetypes/>
- This tag can contain one or more <mimetype> tags, describing the mime types this component supports. The data can usually be fetched from the Desktop files. Example: -
<mimetypes>
-    <mimetype>text/html</mimetype>
-    <mimetype>image/jpeg</mimetype>
-    <mimetype>application/rss+xml</mimetype>
- </mimetypes>
- ⁠<categories/>
- This tag can contain one or more <category> tags, describing the categories this component is located in. This tag is usually applied to components of type desktop-application, although it might be used by others later. This data is usually taken from Desktop files, a list of categories can be found in the Freedesktop menu spec. Example: -
<categories>
-    <category>Science</category>
-    <category>Network</category>
-    <category>Telephony</category>
-</categories>

Deprecated Tags

- The tag <appcategories> with its <appcategory> child elements is deprecated API. AppStream parsers should handle these tags just like the category tags, there is no difference except for the name. -
- ⁠<keywords/>
- This tag can contain one or more <keyword> tags, describing keywords for the component, to make it easier to find in a software center. In case of type desktop-application components, this data is taken from .desktop files. For addon components, the upstream metadata file usually provides this tag. For translated keyword lists, the root node (<keywords/>) has the language property. Example: -
<keywords>
-  <keyword>IDE</keyword>
-  <keyword>development</keyword>
-  <keyword>programming</keyword>
-</keywords>
-<keywords xml:lang="de">
-  <keyword>IDE</keyword>
-  <keyword>entwicklung</keyword>
-  <keyword>programmierung</keyword>
-</keywords>
- ⁠<screenshots/>
- This tag can contain one or more <screenshot> tags, describing screenshots which are available for the software. A screenshot tag my have the attribute type="default", marking it as the software's default screenshot, which primarily represents it in a software center. -
- The screenshots tag is described for metainfo files in <screenshots/>. In collection metadata, the tag has the exact same format as in metainfo files. The metadata generator may add an arbitrary number of resized thumbnails for image type screenshots though. -
- Every static-image <screenshot> is defined by several images of different sizes. All images should have their width and hight set as arguments. Also, one of the images should be marked as type="source", indicating that it is the unscaled version of the screenshot. Images of type="thumbnail" define thumbnails of the screenshot. -
- The metadata generator should scale the source image down to several thumbnails useful for the client to load. The recommended sizes for thumbnail images are: -
  • - 752x423 (large) -
  • - 624x351 (normal) -
  • - 112x63 (small) -
  • - 1504x846 (large, HiDPI) -
  • - 1248x702 (normal, HiDPI) -
  • - 224x126 (small, HiDPI) -
- In order to support HiDPI screens, the thumbnails should also be available in their bigger sizes. A metadata generator should, however, never attempt to scale up a smaller image to a larger size, and just ship the smaller sizes instead. -
- Optionally, a screenshot can contain a <caption> tag, describing the screenshot's caption. This is usually what the user can see on the image shown. The tag is translatable. -
- For <screenshot> tags that contain video elements, a collection metadata generator may impose any restrictions to them, including completely removing them from the output, imposing filesize limits, etc. Upstream metainfo files should not rely on the videos being present and must always have a static screenhot for the software component as well. -
- Every image or video should have a full remote url set, usually pointing to a cache of images maintained by the repository vendor. Example: -
<screenshots>
-  <screenshot type="default">
-    <caption>FooBar showing kitchen-sink functionality.</caption>
-    <caption xml:lang="de">FooBar beim Ausführen der Spühlbecken-Funktion.</caption>
-    <image type="source" width="800" height="600">https://www.example.org/en_US/main.png</image>
-    <image type="thumbnail" width="752" height="423">https://www.example.org/en_US/main-large.png</image>
-    <image type="thumbnail" width="112" height="63">https://www.example.org/en_US/main-small.png</image>
-  </screenshot>
-  <screenshot>
-    <video container="matroska" codec="av1" width="800" height="600">https://www.example.org/en_US/screencast.mkv</video>
-  </screenshot>
-  <screenshot>
-     ....
-  </screenshot>
-</screenshots>
- ⁠<compulsory_for_desktop/>
- The <compulsory_for_desktop> tag indicates that the component which the metadata belongs to is essential for the functionality of the defined desktop environment. -
+

<icon type="stock">gimp</icon>
+<icon type="cached">firefox.png</icon>
+<icon type="remote" width="64" height="64">https://example.com/icons/foobar.png</icon>
+<icon type="local" width="64" height="64">/usr/share/pixmaps/foobar.png</icon>

+ Multiple <icon/> tags might be combined for one application, for example to define a stock icon + and a cached icon. + Software-Centers should always prefer the stock icon, if it is available, and fall back to the other icon types if they can not find it. + The libappstream library makes it easy to do that. +

+ The AppStream library will prefer cached over local over remote + icons when setting the non-stock icon for the application. +

<categories/> 

+ This tag can contain one or more <category> tags, describing the categories this component + is located in. This tag is usually applied to components of type desktop-application, although it might be used by others later. + This data is usually taken from Desktop files, a list of categories can be found in the + Freedesktop menu spec (https://standards.freedesktop.org/menu-spec/latest/apa.html). + Example: +

<categories>
+    <category>Science</category>
+    <category>Network</category>
+    <category>Telephony</category>
+</categories>
Note
Note: Deprecated Tags

+ The tag <appcategories> with its <appcategory> child elements is deprecated API. + AppStream parsers should handle these tags just like the category tags, there is no difference except for the name. +

<keywords/> 

+ This tag can contain one or more <keyword> tags, describing keywords for the component, + to make it easier to find in a software center. + In case of type desktop-application components, this data is taken from .desktop files. For addon + components, the upstream metadata file usually provides this tag. + For translated keyword lists, the root node (<keywords/>) has the language property. + Example: +

<keywords>
+  <keyword>IDE</keyword>
+  <keyword>development</keyword>
+  <keyword>programming</keyword>
+</keywords>
+<keywords xml:lang="de">
+  <keyword>IDE</keyword>
+  <keyword>entwicklung</keyword>
+  <keyword>programmierung</keyword>
+</keywords>
<screenshots/> 

+ This tag can contain one or more <screenshot> tags, describing screenshots which are available for + the software. A screenshot tag my have the attribute type="default", marking it as the software's default screenshot, + which primarily represents it in a software center. +

+ The screenshots tag is described for metainfo files in <screenshots/>. In collection metadata, the tag + has the exact same format as in metainfo files. + The metadata generator may add an arbitrary number of resized thumbnails for image type screenshots though. +

+ Every static-image <screenshot> is defined by several images of different sizes. + All images should have their width and hight set as arguments. Also, one of the images should be marked as type="source", + indicating that it is the unscaled version of the screenshot. + Images of type="thumbnail" define thumbnails of the screenshot. +

+ The metadata generator should scale the source image down to several thumbnails useful for the client to load. + The recommended sizes for thumbnail images are: +

  • 752x423 (large)

  • 624x351 (normal)

  • 112x63 (small)

  • 1504x846 (large, HiDPI)

  • 1248x702 (normal, HiDPI)

  • 224x126 (small, HiDPI)

+ In order to support HiDPI screens, the thumbnails should also be available in their bigger sizes. A metadata generator should, however, never attempt + to scale up a smaller image to a larger size, and just ship the smaller sizes instead. +

+ Optionally, a screenshot can contain a <caption> tag, describing the screenshot's caption. This is usually what the user can see + on the image shown. The tag is translatable. +

+ For <screenshot> tags that contain video elements, a collection metadata generator may impose any restrictions to them, + including completely removing them from the output, imposing filesize limits, etc. + Upstream metainfo files should not rely on the videos being present and must always have a static screenhot for the software component as well. +

+ Every image or video should have a full remote url set, usually pointing to a cache of images maintained by the repository vendor. + Example: +

<screenshots>
+  <screenshot type="default">
+    <caption>FooBar showing kitchen-sink functionality.</caption>
+    <caption xml:lang="de">FooBar beim Ausführen der Spühlbecken-Funktion.</caption>
+    <image type="source" width="800" height="600">https://www.example.org/en_US/main.png</image>
+    <image type="thumbnail" width="752" height="423">https://www.example.org/en_US/main-large.png</image>
+    <image type="thumbnail" width="112" height="63">https://www.example.org/en_US/main-small.png</image>
+  </screenshot>
+  <screenshot>
+    <video container="matroska" codec="av1" width="800" height="600">https://www.example.org/en_US/screencast.mkv</video>
+  </screenshot>
+  <screenshot>
+     ....
+  </screenshot>
+</screenshots>
<compulsory_for_desktop/> 

+ The <compulsory_for_desktop> tag indicates that the component which the metadata belongs to is essential for the + functionality of the defined desktop environment. +

This tag is described in detail at <compulsory_for_desktop/>. -

- ⁠<provides/>
- This tag is described in detail at Section 2.1, “Generic Component”. -
- Distributors and software repository vendors must ensure that all things described in this tag are present in the package referenced in the associated pkgname tag (or in dependencies of it). -
- ⁠<developer_name/>
- The <developer_name/> tag as described in the specification for a generic component. See <developer_name/> for more information. -
- ⁠<launchable/>
+

<provides/> 

+ This tag is described in detail at Section 2.1, “Generic Component”. +

+ Distributors and software repository vendors must ensure that all things described in this tag are present in the package referenced in + the associated pkgname tag (or in dependencies of it). +

<developer_name/> 

+ The <developer_name/> tag as described in the specification for a generic component. See <developer_name/> for more information. +

<launchable/> 

This optional tag follows the same schema as described for metainfo files in <launchable/>. -

- ⁠<releases/>
- The releases tag and its release children are structured as described in <releases/>, with the additional requirement that releases must be sorted in a latest-to-oldest order. -
- Each release tag may have a description tag as child, containing a brief description of what is new in the release. The description tag is structured as described in <description/>. This also applies to its translation rules. -
- The AppStream collection XML generator may shorten overlong lists of releases to a smaller list, for example of 4 release tags. It may also convert ISO 8601 date properties of the metainfo file into an UNIX timestamp timestamp property. It should avoid generating metadata containing both properties on a release tag. -
+

<releases/> 

+ The releases tag and its release children are structured as described in <releases/>, with the + additional requirement that releases must be sorted in a latest-to-oldest order. +

+ Each release tag may have a description tag as child, containing a brief description of what is new in the release. + The description tag is structured as described in <description/>. This also applies to its translation rules. +

+ The AppStream collection XML generator may shorten overlong lists of releases to a smaller list, for example of 4 release tags. + It may also convert ISO 8601 date properties of the metainfo file into an UNIX timestamp timestamp property. + It should avoid generating metadata containing both properties on a release tag. +

Example for a valid releases tag: -

<releases>
-  <release version="1.8" timestamp="1424116753">
-    <description>
-      <p>This stable release fixes the following bug:</p>
-      <ul>
-        <li>CPU no longer overheats when you hold down spacebar</li>
-      </ul>
-    </description>
-    <size type="download">12345678</size>
-    <size type="installed">42424242</size>
-  </release>
-  <release version="1.2" timestamp="1397253600" />
-  <release version="1.0" timestamp="1345932000" />
-</releases>
- In case a <release/> tag has a <description/> tag as parameter, describing the new release briefly, distributors are encouraged to provide 2-4 <release/> release tags for every component. If no description is provided, one tag is enough. -
- ⁠<languages/>
+

<releases>
+  <release version="1.8" timestamp="1424116753">
+    <description>
+      <p>This stable release fixes the following bug:</p>
+      <ul>
+        <li>CPU no longer overheats when you hold down spacebar</li>
+      </ul>
+    </description>
+    <size type="download">12345678</size>
+    <size type="installed">42424242</size>
+  </release>
+  <release version="1.2" timestamp="1397253600" />
+  <release version="1.0" timestamp="1345932000" />
+</releases>

+ In case a <release/> tag has a <description/> tag as parameter, describing the new release briefly, distributors are encouraged to provide 2-4 + <release/> release tags for every component. If no description is provided, one tag is enough. +

<languages/> 

This tag gives information about the translations a component provides, and to which extent the software is translated. -

- The tag is allowed to only occur once per component, and contains multiple <lang/> child nodes, which have a language code as value. Each <lang/> node may have a percentage property, which describes the percentage value to which a component has been translated. -
- The language data is expected to be extracted by the AppStream XML generator, and is not provided upstream. Generators may obtain the information from processing GNU Gettext files, which should cover most translation methods. -
+

+ The tag is allowed to only occur once per component, and contains multiple <lang/> child nodes, which have + a language code (https://www.gnu.org/software/gettext/manual/html_node/Language-Codes.html) as value. + Each <lang/> node may have a percentage property, which describes the percentage value to which + a component has been translated. +

+ The language data is expected to be extracted by the AppStream XML generator, and is not provided upstream. Generators may obtain the + information from processing GNU Gettext files, which should cover most translation methods. +

Tag example: -

<languages>
-  <lang percentage="96">gu</lang>
-  <lang percentage="94">ca@valencia</lang>
-  <lang percentage="91">de</lang>
-  <lang percentage="93">eo</lang>
-</languages>
-
- ⁠<bundle/>
- The optional bundle tag indicates that the described software is available as a software bundle via a 3rd-party application installer. The value of this tag is an identification string for the bundle. -
- Software centers may use the information of this tag to offer the user to install the software from 3rd-party sources, or just update an already installed software automatically via the normal update procedure. The bundle tag can coexist with the pkgname tag, in case a component is available from multiple sources. -
- The type property of this tag indicates which 3rd-party software installation solution the bundle belongs to. Currently supported solutions are: -
  • - The Limba Project, using the value limba. -
  • - Flatpak bundles, using the value flatpak. -
  • - AppImageKit bundles, using the value appimage. -
  • - Snappy snap bundles, using the value snap. -
  • - Plain and possibly compressed tarballs, using the value tarball. -
- -
+

<languages>
+  <lang percentage="96">gu</lang>
+  <lang percentage="94">ca@valencia</lang>
+  <lang percentage="91">de</lang>
+  <lang percentage="93">eo</lang>
+</languages>
<bundle/> 

+ The optional bundle tag indicates that the described software is available as a software bundle via a + 3rd-party application installer. The value of this tag is an identification string for the bundle. +

+ Software centers may use the information of this tag to offer the user to install the software + from 3rd-party sources, or just update an already installed software automatically via the normal update procedure. + The bundle tag can coexist with the pkgname tag, in case a component is available from + multiple sources. +

+ The type property of this tag indicates which 3rd-party software installation solution the bundle belongs to. + Currently supported solutions are: +

+

Example: -

<bundle type="limba">foobar-1.0.2</bundle>
- ⁠<suggests/>
- The optional suggests tag provides suggestions of other software made by this component. It follows the same schema as described for metainfo files in <suggests/>. -
- Additionally to the upstream type allowed for metainfo files, the catalog data also allows a heuristic type, which is added by automatic recommendation services, and might be based on the user's preferences. It is commonly injected into existing metadata via a merge pseudo-component. -
+

<bundle type="limba">foobar-1.0.2</bundle>
<suggests/> 

+ The optional suggests tag provides suggestions of other software made by this component. + It follows the same schema as described for metainfo files in <suggests/>. +

+ Additionally to the upstream type allowed for metainfo files, the catalog data also allows a + heuristic type, which is added by automatic recommendation services, and might be based on the user's + preferences. It is commonly injected into existing metadata via a merge pseudo-component. +

Example: -

<suggests type="upstream">
-  <id>org.kde.gwenview.desktop</id>
-  <id>org.inkscape.Inkscape</id>
-</suggests>
-<suggests type="heuristic">
-  <id>org.gimp.gimp.desktop</id>
-</suggests>
- ⁠<content_rating/>
+

<suggests type="upstream">
+  <id>org.kde.gwenview.desktop</id>
+  <id>org.inkscape.Inkscape</id>
+</suggests>
+<suggests type="heuristic">
+  <id>org.gimp.gimp.desktop</id>
+</suggests>
<content_rating/> 

This optional tag follows the same schema as described for metainfo files in <content_rating/>. -

- ⁠<agreement/>
- This optional tag follows the same schema as described for metainfo files in <agreement/>, with the exception of description tags in its agreement_section child tags now following the same translation rules as the toplevel <description/> tag in collection metadata. -

- ⁠3.1.5. Example file

+

<agreement/> 

+ This optional tag follows the same schema as described for metainfo files in <agreement/>, with the exception + of description tags in its agreement_section child tags now following the same translation + rules as the toplevel <description/> tag in collection metadata. +

3.1.5 Example file

This is an example AppStream metadata file: -


-<?xml version="1.0"?>
-<components version="0.10">
-  <component type="desktop-application">
-    <id>org.mozilla.Firefox</id>
-    <pkgname>firefox-bin</pkgname>
-    <name>Firefox</name>
-    <name lang="en_GB">Firefoux</name>
-    <summary>Web browser</summary>
-    <summary lang="fr_FR">Navigateur web</summary>
-    <project_license>MPL-2.0</project_license>
-    <keywords>
-      <keyword>internet</keyword>
-      <keyword>web</keyword>
-      <keyword>browser</keyword>
-      <keyword lang="fr_FR">navigateur</keyword>
-    </keywords>
-    <icon type="stock">web-browser</icon>
-    <icon type="cached">firefox.png</icon>
-    <categories>
-      <category>network</category>
-      <category>web</category>
-    </categories>
-    <mimetypes>
-      <mimetype>text/html</mimetype>
-      <mimetype>text/xml</mimetype>
-      <mimetype>application/xhtml+xml</mimetype>
-      <mimetype>application/vnd.mozilla.xul+xml</mimetype>
-      <mimetype>text/mml</mimetype>
-      <mimetype>application/x-xpinstall</mimetype>
-      <mimetype>x-scheme-handler/http</mimetype>
-      <mimetype>x-scheme-handler/https</mimetype>
-    </mimetypes>
-    <url type="homepage">https://www.mozilla.com</url>
-    <screenshots>
-      <screenshot type="default">
-        <image type="source" width="800" height="600">https://www.awesomedistro.example.org/en_US/firefox.desktop/main.png</image>
-        <image type="thumbnail" width="200" height="150">https://www.awesomedistro.example.org/en_US/firefox.desktop/main-small.png</image>
-      </screenshot>
-    </screenshots>
-    <provides>
-      <binary>firefox</binary>
-    </provides>
-  </component>
-  <component>
-    <id>org.freedesktop.PulseAudio</id>
-    <name>PulseAudio</name>
-    <summary>The PulseAudio sound server</summary>
-    <url type="homepage">https://www.freedesktop.org/wiki/Software/PulseAudio/</url>
-    <project_license>GPL-2.0+</project_license>
-    <provides>
-      <library>libpulse-simple.so.0</library>
-      <library>libpulse.so.0</library>
-      <binary>start-pulseaudio-kde</binary>
-      <binary>start-pulseaudio-x11</binary>
-    </provides>
-    <release version="2.0"/>
-  </component>
-  <component type="font">
-    <id>org.linuxlibertine.LinuxLibertine</id>
-    <name>Linux Libertine</name>
-    <summary>Linux Libertine Open fonts</summary>
-    <provides>
-      <font>LinLibertine_M.otf</font>
-    </provides>
-  </component>
-  <!-- more components here! -->
-</components>
\ No newline at end of file +

+<?xml version="1.0"?>
+<components version="0.10">
+  <component type="desktop-application">
+    <id>org.mozilla.Firefox</id>
+    <pkgname>firefox-bin</pkgname>
+    <name>Firefox</name>
+    <name lang="en_GB">Firefoux</name>
+    <summary>Web browser</summary>
+    <summary lang="fr_FR">Navigateur web</summary>
+    <project_license>MPL-2.0</project_license>
+    <keywords>
+      <keyword>internet</keyword>
+      <keyword>web</keyword>
+      <keyword>browser</keyword>
+      <keyword lang="fr_FR">navigateur</keyword>
+    </keywords>
+    <icon type="stock">web-browser</icon>
+    <icon type="cached">firefox.png</icon>
+    <categories>
+      <category>network</category>
+      <category>web</category>
+    </categories>
+    <url type="homepage">https://www.mozilla.com</url>
+    <screenshots>
+      <screenshot type="default">
+        <image type="source" width="800" height="600">https://www.awesomedistro.example.org/en_US/firefox.desktop/main.png</image>
+        <image type="thumbnail" width="200" height="150">https://www.awesomedistro.example.org/en_US/firefox.desktop/main-small.png</image>
+      </screenshot>
+    </screenshots>
+    <provides>
+      <binary>firefox</binary>
+
+      <mediatype>text/html</mediatype>
+      <mediatype>text/xml</mediatype>
+      <mediatype>application/xhtml+xml</mediatype>
+      <mediatype>application/vnd.mozilla.xul+xml</mediatype>
+      <mediatype>text/mml</mediatype>
+      <mediatype>application/x-xpinstall</mediatype>
+      <mediatype>x-scheme-handler/http</mediatype>
+      <mediatype>x-scheme-handler/https</mediatype>
+    </provides>
+  </component>
+  <component>
+    <id>org.freedesktop.PulseAudio</id>
+    <name>PulseAudio</name>
+    <summary>The PulseAudio sound server</summary>
+    <url type="homepage">https://www.freedesktop.org/wiki/Software/PulseAudio/</url>
+    <project_license>GPL-2.0+</project_license>
+    <provides>
+      <library>libpulse-simple.so.0</library>
+      <library>libpulse.so.0</library>
+      <binary>start-pulseaudio-kde</binary>
+      <binary>start-pulseaudio-x11</binary>
+    </provides>
+    <release version="2.0"/>
+  </component>
+  <component type="font">
+    <id>org.linuxlibertine.LinuxLibertine</id>
+    <name>Linux Libertine</name>
+    <summary>Linux Libertine Open fonts</summary>
+    <provides>
+      <font>LinLibertine_M.otf</font>
+    </provides>
+  </component>
+  <!-- more components here! -->
+</components>
\ No newline at end of file diff -Nru appstream-0.12.10/docs/html/chap-Metadata.html appstream-0.14.5/docs/html/chap-Metadata.html --- appstream-0.12.10/docs/html/chap-Metadata.html 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/chap-Metadata.html 2021-08-28 20:15:18.000000000 +0000 @@ -1,548 +1,778 @@ -Chapter 2. Upstream Metadata

Product SiteDocumentation Site

- ⁠Chapter 2. Upstream Metadata

- AppStream allows upstream projects to define metadata about the components they provide using small XML files, metainfo files, which get installed into locations on the client system and are used by distribuors to enhance their metadata. -
- A "component" is a piece of software, like an application, a library, a font or a codec. For several components, especially those which are shown in software-centers, we provide specialized metainfo files to define specific properties and data of these components. For example, applications and fonts support screenshots, while codecs don't. -
- All metainfo files need to contain a minimal amount of information, defined in the "Generic Component" section, which also describes some optional elements which can be used. Specialized components might require more information to be complete and valid. -
- The XML in metainfo files does not need any XML namespace, and adding one should generally be avoided. If you want to use a namespace though (maybe in case you want to embed the data in other contexts), the xmlns should be https://specifications.freedesktop.org/metainfo/1.0. -

- ⁠2.1. Generic Component

- ⁠2.1.1. Introduction

- For a distribution, it is good to know more about the content of a package. Which public interfaces (libraries? Python modules?) does it provide? Does it contain codecs? Does it contain firmware? Fonts? An application? All of this information can be used to automatically install missing software or to offer users a choice on what they want to install from a software center. -
- To provide this information, we created the metainfo files, which allow upstream projects to describe the content of their software package. If a metainfo file contains a <provides/> tag, distributors must also ensure that the package providing the file contains all items referenced by that statement, or is installed by a metapackage depending on packages which provide these items. This gives upstream projects a (very light) way to influence distributor packaging. More information about that can be found below. -
- Several specialized component-metainfo files exist, for example for applications or fonts. These are all based on this generic component XML specification, and are described in the following chapters. -

- ⁠2.1.2. Filesystem locations

- Upstream projects can ship one or more metainfo files in /usr/share/metainfo/%{id}.metainfo.xml, where id is a unique identifier of this specific component. -

Note

- Component metadata of type desktop-application as described in Section 2.2, “Desktop Applications” can be installed with an .appdata.xml extension as well for historical reasons. AppStream implementations will read the XML files as long as they end up in the right location on the filesystem. -

Legacy Path

- AppStream tools scan the /usr/share/appdata/ path for legacy compatibility as well. It should not be used anymore by new software though, even on older Linux distributions (like RHEL 7 and Ubuntu 16.04 LTS) the metainfo path is well supported. Support for the legacy path will likely be dropped completely with a future AppStream 1.0 release. -

- ⁠2.1.3. XML Specification

- The XML for a generic component definition starts with a <component> tag as the root element. The <component> element must at least have an id, name and summary tag; and a provides tag with appropriate children is highly recommended. All possible tags in the generic set are: -
- ⁠<id/>
- The <id> tag is a unique identifier for this component. It must contain only ASCII characters, dots, hyphens and numbers. Spaces are not allowed. While hyphens are allowed for legacy compatibility, their usage is strongly discouraged to ensure interoperability of the AppStream ID with other tools such as D-Bus (and thereby making the ID more generic and useful). It is also strongly discouraged to start any segment of the ID with a digit. -
- The ID must follow a reverse-DNS scheme, consisting of {tld}.{vendor}.{product}, for example org.kde.Gwenview or com.hugski.ColorHug2. Ownership of {vendor}.{tld} in the domain name system guarantees uniqueness of IDs. -
- To increase the uniqueness and to distinguish between different pieces of a software suite, it is suggested to append the type name to the component-id in these cases. For example, one can use com.hugski.ColorHug2 for the client tools to control hardware, and com.hugski.ColorHug2.firmware for the runtime firmware files. -
- Note that the value of this tag must be unique across all distributions and software deployment platforms. In case it is not unique, distributors are expected to reject the conflicting components from inclusion into their metadata and notify the upstream projects about this issue. -

Escaping characters in the component ID

- To ensures the greatest possible compatibility of an AppStream ID, it is recommended to replace any hyphens in the ID with underscores, and prefix every leading digit of a section with an underscore as well. Since the underscore is not a valid character in domain names, the uniqueness of the ID is kept. For example, the ID org.7-zip.7Zip could become org._7_zip._7Zip. -
- ⁠<metadata_license/>
- The <metadata_license/> tag indicates the content license that you are releasing the one metainfo XML file under. This is typically not the same as the project license. Omitting the license value can result in your data not being incorporated into the distribution metadata (so this is a required tag). -
- A permissive license ensures your data can be combined with arbitrary other data in one file (this means copyleft licenses like the GPL are not suitable as metadata license). Currently, only a restricted set of permissive licenses is supported by AppStream implementations. Valid permissive licenses include: -
  • - FSFAP -
  • - CC0-1.0 -
  • - CC-BY-3.0 -
  • - CC-BY-SA-3.0 -
  • - GFDL-1.3 -
  • - MIT -
- The license codes correspond to the identifiers found at the SPDX OpenSource License Registry. For instance, CC-BY-SA-3.0 corresponds to the license at creativecommons.org/licenses/by-sa/3.0. -
- ⁠<name/>
- A human-readable name for this software component. For example, if the component ID was "libc", its name might be "GNU Standard C Library". -
- ⁠<summary/>
- A short summary of what this component does. If the component is "PackageKit", the summary could be "Provides a package-management abstraction layer". -
- ⁠<icon/>
- The <icon/> tag describes the component icon. It is mostly used for GUI applications (component-type desktop-application). It can be of type stock, local or remote. -
- stock icons are loaded from the icon stock (the current or hicolor/locolor fallback themes). The icon name must not include any file-extension or path. -
- local icons are loaded from a file in the filesystem. They should specify a full file path. This icon type may have width and height properties. -
- remote icons loaded from a remote URL. Currently, only HTTP/HTTPS urls are supported. This icon type should have width and height properties. -
- ⁠<description/>
- A long description of this component. Some markup can be used. -
- Do not assume the format is HTML. This list contains all currently supported formatting options: -
  • - Paragraph (p) -
  • - Ordered list (ol), with list items (li) -
  • - Unordered list (ul), with list items (li) -
  • - Within paragraphs and list items, emphasis (em) and inline code (code) text styles are supported. The emphasis is commonly rendered in italic, while inline code is shown in a monospaced font. -
  • - Nested lists are not supported -
- In metainfo files, this tag should be translated by-paragraph, meaning that in a translated file, each translated <p/> child has a language property. -
- ⁠<categories/>
- This tag can contain one or more <category>> entries, describing the categories this software component is associated with. This tag is usually applied to components of type desktop-application, but can be used with any component. A list of valid category names can be found in the Freedesktop menu specification. Example: -
<categories>
-    <category>Game</category>
-    <category>ArcadeGame</category>
-</categories>
- ⁠<url/>
- Defines web URLs for this component.There are several different URL types allowed: -
homepage
- Should be a link to the upstream homepage for the component. -
bugtracker
- Should point to the software's bug tracking system, for users to report new bugs. -
faq
- Should link a FAQ page for this software, to answer some of the most-asked questions in detail, something which you cannot do in the component's description. -
help
- Should provide a web link to an online user's reference, a software manual or help page. -
donation
- URLs of this type should point to a webpage showing information on how to donate to the described software project. -
translate
- URLs of this type should point to a webpage where users can submit or modify translations of the upstream project. -
- Typically this should be a link to the project page in Weblate, Transifex or Zanata, but could also be a link to an upstream-hosted wiki page describing how to send translations upstream. -
contact
- URLs of this type should allow the user to contact the developer. -
- This could be an email address (mailto link), a webpage (e.g. an online form or a page describing how to contact the developer) or some other valid URL. -
- ⁠<launchable/>
- This optional tag indicates possible methods to launch the software described in this component. It is allowed to appear multiple times in the metainfo data. -
- The <launchable/> tag has a essential type property indicating the system that is used to launch the component. The following types are allowed: -
desktop-id
- The application can be launched via a desktop file. The value of the tag is a desktop-file id. -
- In case a software component has multiple launchable entries, the software center might display a dialog to choose which entry to launch. If possible though, it should be avoided to add multiple launchable tags of type desktop-id. -
service
- The software can be started, stopped, and monitored by the OS "init" facility, such as systemd. The value of the tag is a name that can be used with that facility, such as a systemd unit name. -
- Multiple launchable tags of type service are not alternatives to start the same service, but the component does contain multiple services that might all need to be started. -
- Only those services should be listed as launchables that the user is actually expected to start and stop manually. Services that are started/stopped indirectly via dependencies of other services should not be listed. -
- For systemd units, the services listed as launchables are expected to support enabling and disabling. -
cockpit-manifest
- The software can be launched from the menus of the Cockpit admin interface. The value of the tag is the name of a Cockpit package. -
url
- The application is a web site that is viewed through a browser. The value of the tag is a direct HTTP/HTTPS URL that the browser must navigate to. -
- Example: -
<launchable type="desktop-id">org.gnome.Sysprof2.desktop</launchable>
- ⁠<releases/>
- The <releases> tag contains <release/> child tags which describe some metainformation about the current release of the described software. Each release of the software component should have a <release/> tag describing it, but at least one release child must be present for the current release of the software. The release children should be sorted in a latest-to-oldest order to simplify reading the metadata file. -
- A release tag can have the properties version, date and timestamp. The date property can have any time in ISO 8601 format as its value and should be present for every release. At least day-level granularity is required, which means that the ISO 8601 string must contain at least a full date (e.g. 2020-08-12). The timestamp tag contains the release time in the form of a UNIX epoch. This tag should not be used in metainfo files in newly written metadata, but will still be parsed in case it is present. The timestamp property is mainly used in generated distro-metadata. In case both release-time tags are present, the timestamp tag will take precedence over date. -
- A release tag may also have a date_eol property that denotes the date when the release stops to receive support from the software developers (end-of-life). Its value can be any complete date or time in ISO 8601. -
- Optionally, the <release/> tag may also have an urgency property, having one of the following values: -
  • - low -
  • - medium -
  • - high -
  • - critical -
- The urgency defines how important it is to install the new release as an update. This is especially important for type=firmware components. If no urgency is defined, a medium urgency is implicitly assumed. The urgency defines how the update will be presented to the user, and sometimes if it will be installed automatically and immediately, or delayed. -
- A release tag may have a type property to classify releases with one of the following values: -
  • - stable -
  • - development -
- By default, if no release type is defined, stable is assumed. A software displaying a listing of releases should only show stable releases and discard any development release if the current version is itself stable. It can show all versions when development versions of the software are also distributed. -
- Each release tag may have a description tag as child, containing a brief description of what is new in the release. The description tag is structured as described in <description/>. -
- A release may also have an url tag as child. The release url should point to detailed release notes that explain the changes made in this particular release. The url tag may have a type property with details as the only currently allowed value. If the type is missing, an URL type of details is implicitly assumed. -
- In order to mention issues that were resolved in a release, and especially reference CVE IDs, issue tags can be used as children of one issues tag within a release. The value of an issue tag must be the bug number, ticket name, or CVE ID and is typically displayed to the user, but may also in case of CVE IDs be read by machines. If the value is a CVE ID, the type property of the issue tag must be set to cve. If the type property is missing, an issue type of generic is assumed. The url property can be used to provide a web URL to a details page on the respective issue. It is required for all issue types, except for the cve type, where it is optional. -
- To denote release artifacts, the artifacts child tag can be used. It itself contains the artifacts as artifact children. Each artifact tag must have a type property with the value of either binary or source to indicate whether the artifact is the releases' source-code or a binary distribution. In case of a binary type, an optional platform property may also be set, containing a target triplet (also known as normalized GNU triplet), such as x86_64-linux-gnu. Refer to Debian multiarch tuples for a list of possible triplets to use and more information on their purpose. For the Windows platform, a platform identifier string such as win32 is also permitted as platform identifier. Binary artifacts may also have a bundle property to indicate the bundling system the binary distribution is made for. Refer to the bundle types in <bundle/> for a list of possible values. Each artifact can have a number of children: -
location
- Each artifact must have a location child, denoting the web location (HTTP or HTTPS) where it can be downloaded from. Multiple location tags are allowed to make it possible to have mirror options to download the same artifact from. -
checksum
- At least one checksum child must be present to contain the checksum of the released artifact. The <checksum/> tag has a type attribute, describing the checksumming-algorithm that was used to create it. Currently, only SHA1 and SHA256 are supported as values. -
size
- One or multiple size tags may also be present, which define the installed and download size of this component release artifact. The size type is defined via a type property on the size tag, and may assume the value download or installed. The size itself is set as the value and must be given in bytes. -
- Examples for a valid releases tag with artifacts: -
<releases>
-  <release version="1.2" date="2014-04-12" urgency="high">
-    <description>
-      <p>This stable release fixes bugs.</p>
-    </description>
-
-    <url>https://example.org/releases/version-1.2.html</url>
-
-    <issues>
-      <issue url="https://example.com/bugzilla/12345">bz#12345</issue>
-      <issue type="cve">CVE-2019-123456</issue>
-    </issues>
-
-    <artifacts>
-      <artifact type="binary" platform="x86_64-linux-gnu">
-        <location>https://example.com/mytarball.bin.tar.xz</location>
-        <checksum type="sha256">....</checksum>
-        <checksum type="blake2">....</checksum>
-        <size type="download">12345678</size>
-        <size type="installed">42424242</size>
-      </artifact>
-      <artifact type="binary" platform="win32">
-        <location>https://example.com/mytarball.bin.exe</location>
-      </artifact>
-      <artifact type="source">
-        <location>https://example.com/mytarball.tar.xz</location>
-        <checksum type="sha256">....</checksum>
-      </artifact>
-    </artifacts>
-  </release>
-  <release version="1.1" type="development" date="2013-10-20" />
-  <release version="1.0" date="2012-08-26" />
-</releases>
- ⁠<provides/>
- The provides tag and its children describe the public interfaces this application provides. A public interface can be anything which other applications, which are not part of the upstream project, can access or reference. This includes binaries and libraries. Private interfaces should never be added to a provides tag. -
- A provides tag contain a number of children describing the type and name of the provided public interface items. It is suggested that the build system auto-generates this tag and its children. Currently allowed item types are listed below. If you miss something, file a bug against AppStream so we can add the new type. -
<library/>
- Contains the name of a shared library placed in a publicly accessible library path, such as /usr/lib, /usr/lib/<triplet> or /lib. For example, for the libappstream library, the value for library would be libappstream.so.1. -
<binary/>
- Name of a binary installed into a location in PATH. -
<font/>
- Full name of a font provided by this component. See Section 2.7, “Fonts” for more information. -
<modalias/>
- A modalias glob representing the hardware types (for example USB, PCI, ACPI, DMI) this component handles. Useful for installing printer drivers or other USB protocol drivers for smartphones, firmware, and out of tree kernel drivers. -
<firmware/>
- This provided element is described in details for the firmware component type, where it is mandatory. Please see <provides/> ↪ <firmware/> for more information. -
<python2/>
- Name of a Python 2 module this component provides. -
<python3/>
- Name of a Python 3 module this component provides. -
<dbus/>
- Contains the well-known name of a D-Bus service as its value. The type of the service must be specified using the type property of this tag. Allowed values are user and system. -
- Example: -
<provides>
-  <dbus type="system">org.freedesktop.PackageKit</dbus>
-</provides>
<id/>
- Contains the component-ID of another software component. The presence of this tag indicates that the software component containing it is able to provide all functionality of the one referenced in the <provides/> ↪ <id/> tag. -
- This is useful in case a component-id had to be renamed in the past, e.g. because its domain-name changed. -
- ⁠<requires/> & <recommends/>
- The requires tag denotes an absolute requirement on a different system component. A component can require a certain hardware to be present, or kernel, or other component to be installed first. If a requirement is not met, AppStream clients should prevent the installation of the particular software component. -
- If it is not essential that a certain requirement is met by the system, but just recommended to be available, a recommends tag should be used. In this case, AppStream clients should allow the installation of the software component, but may display a warning before allowing it. -
- A requires or recommends tag contains children describing the type, value and version relation of the required item. Each child can have a version and a compare property, to allow depending on a certain minimal version of the respective item. The version property contains the version to be compared against, while the compare property contains a two-letter code denoting how to compare the version of a present item with the version listed in the property. If no compare property is given, but a version property is found, AppStream implementations should implicitly assume a value of ge for comparison of the versions. The installed version is on the left side of the required version when comparing them. Possible two-letter codes for version comparisons are: -
  • - eq - Equal to -
  • - ne - Not equal to -
  • - lt - Lesser than -
  • - gt - Greater than -
  • - le - Lesser than or equal to -
  • - ge - Greater than or equal to -
- Possible item types to declare a requirement on or a recommendation for are: -
<id/>
- A relation to another software component. The value should be another component-ID. Example: -
<requires>
-  <id version="1.0" compare="ge">org.example.MySoftware</id>
-</requires>
<modalias/>
- Check for a specific hardware to be present via its modalias. The modalias may contain a wildcard expression. Example: -
<recommends>
-  <modalias>usb:v1130p0202d*</modalias>
-</recommends>
<kernel/>
- Check for a specific kernel to be running on the system. The kernel name is the output of uname -s. Example: -
<requires>
-  <kernel version="4.14" compare="ge">Linux</kernel>
-</requires>
<memory/>
- Set a relation to the amount of physical memory (RAM) the system should have to run the software component. The memory size is set in MiB. You usually only want to use this with the recommends tag, because users might want to install the software on systems even if they have a lesser amount of memory compared to what would be ideal. Example: -
<recommends>
-  <memory>2048</memory> <!-- recommend at least 2GiB of memory -->
-</recommends>
<firmware/>
- Depend on a specific device firmware. The value of this tag should either be a name like bootloader, be empty to reference the firmware itself described by the firmware-type component this tag is contained in, or contain a GUID. This tag is commonly used and interpreted by Fwupd. Example: -
<requires>
-  <firmware compare="ge" version="0.1.2">6de5d951-d755-576b-bd09-c5cf66b27234</firmware>
-  <firmware compare="ge" version="0.1.2"/>
-  <firmware compare="ge" version="0.3.4">bootloader</firmware>
-</requires>
- ⁠<mimetypes/>
- This tag can contain one or more <mimetype/> children, describing the MIME types this application supports. This tag is especially useful for generic components and addon-type components. For applications, the metadata will automatically be fetched from their .desktop files by the distribution's metadata generator. Example: -

-<mimetypes>
-    <mimetype>text/html</mimetype>
-    <mimetype>image/jpeg</mimetype>
-    <mimetype>application/rss+xml</mimetype>
- </mimetypes>
- ⁠<project_group/>
- If you include the <project_group/> tag then this identifies your project with a specific upstream umbrella project. Known values include GNOME, KDE, XFCE, MATE and LXDE, although other umbrella projects like Yorba or Mozilla make sense too. -

Note

- You should only identify with an umbrella project if you use all their infrastructure and policies, for instance string freezes dates, bugtracker and source control instance. -
- ⁠<compulsory_for_desktop/>
- The <compulsory_for_desktop> tag indicates that the component which the metadata belongs to is essential for the functionality of the defined desktop environment. Examples for compulsory components are the GNOME Shell by the GNOME Project, or the Plasma Desktop by KDE, as well as things like iBus or the desktop login manager. -
- Software centers are expected to detect the running desktop environment and disable uninstallation for compulsory components of that desktop, so users will not be able to damage their currently running, primary desktop environment. -
- Multiple occurrences of the <compulsory_for_desktop> tag are allowed, so a project can be essential for many desktops. The distributor decides which components should be made compulsory, however it is generally a good idea to follow upstream's recommendations on that matter. -
- A list of all allowed values for this tag is defined in the XDG Menu Specification. Software center applications will only recognize these values. -
- ⁠<project_license/>
- The <project_license/> tag is indicating the license of the component (application/library/addon/font/etc.) described in the metadata document. It should be a SPDX license expression. Possible values include: -
  • - GPL-2.0 -
  • - LGPL-3.0+ AND GPL-3.0+ -
  • - MIT -
  • - CC-BY-SA-2.0 -
  • - LicenseRef-Proprietary=https://example.com/mylicense.html -
- A full list of recognized licenses and their identifiers can be found at the SPDX OpenSource License Registry. -
- Custom licenses which are not in the SPDX registry, like proprietary licenses, can be denoted using the LicenseRef notation. LicenseRef-Proprietary can be used to denote a proprietary license, with an optional URL to the license text following after a = sign. -
- Although the project_license tag is not mandatory, it is highly recommended to include it. -
- Examples: -
<project_license>LGPL-3.0+ OR MPL-2.0</project_license>
-<project_license>LGPL-3.0+ OR MPL-2.0</project_license>
-<project_license>GPL-3.0-or-later</project_license>
-<ptoject_license>LicenseRef-proprietary=https://code.visualstudio.com/license</project_license>
- ⁠<developer_name/>
- The <developer_name/> tag is designed to represent the developers or project responsible for development of the project described in the metadata. -
- Values might be for example "The GNOME Foundation" or "The KDE Community". You must not include hyperlinks or emails in this field, if you want to link to the developer's homepage, use the <url/>-tag instead. -
- This tag is translatable. -
- ⁠<screenshots/>
- Visual components (like fonts or graphical applications) may choose to add one or multiple screenshots to their metadata. Screenshots can be either a video or a static image. -
- The <screenshots/> tag contains multiple <screenshot/> children, where at least one of them must have the property type="default" to indicate the primary screenshot of the software. Every <screenshot/> tag must have at least one <image/> or <video/> child, but never an image and video at the same time. Also, screenshots containing videos must not be the default screenshot. -
- The value of the <image/> tag is a direct HTTP/HTTPS URL to a screenshot uploaded to a public location on the web. Images should ideally be provided in the PNG format, however using JPEG or WebP is also fine for images in metainfo files. -
- The <image/> tag may have the following properties: -
  • - type -
    - The type of the image: source for the source image, and thumbnail for a thumbnail image. In case the type is thumbnail, the width and height properties must be present. -
  • - width -
    - The width of the image in pixels. -
  • - height -
    - The height of the image in pixels. -
  • - xml:lang -
    - The language this screenshot image is translated in. This property should only be present if there are multiple images with different locales present. -
+Upstream Metadata | AppStream | AppStream 0.14 +
Applies to AppStream 0.14

2 Upstream Metadata

+ AppStream allows upstream projects to define metadata about the components they provide using small XML files, + metainfo files, which get installed into locations on the client system and are used by distribuors to enhance their + metadata. +

+ A "component" is a piece of software, like an application, a library, a font or a codec. For several components, especially + those which are shown in software-centers, we provide specialized metainfo files to define specific properties and data of these components. + For example, applications and fonts support screenshots, while codecs don't. +

+ All metainfo files need to contain a minimal amount of information, defined in the "Generic Component" section, which also describes some optional + elements which can be used. + Specialized components might require more information to be complete and valid. +

+ The XML in metainfo files does not need any XML namespace, and adding one should generally be avoided. + If you want to use a namespace though (maybe in case you want to embed the data in other contexts), the xmlns + should be https://specifications.freedesktop.org/metainfo/1.0. +

2.1 Generic Component

2.1.1 Introduction

+ For a distribution, it is good to know more about the content of a package. Which public interfaces (libraries? Python modules?) does it provide? Does it contain codecs? Does it + contain firmware? Fonts? An application? + All of this information can be used to automatically install missing software or to offer users a choice on what they want to install from a software center. +

+ To provide this information, we created the metainfo files, which allow upstream projects to describe the content of their software package. + If a metainfo file contains a <provides/> tag, distributors must also ensure that the package providing the file contains all items referenced + by that statement, or is installed by a metapackage depending on packages which provide these items. This gives upstream projects a (very light) way to influence distributor packaging. + More information about that can be found below. +

+ Several specialized component-metainfo files exist, for example for applications or fonts. These are all based on this generic component XML specification, and are described in the + following chapters. +

2.1.2 Filesystem locations

+ Upstream projects can ship one or more metainfo files in /usr/share/metainfo/%{id}.metainfo.xml, where id is a unique + identifier of this specific component. +

Note
Note

+ Component metadata of type desktop-application as described in Section 2.2, “Desktop Applications” can be installed + with an .appdata.xml extension as well for historical reasons. + AppStream implementations will read the XML files as long as they end up in the right location on the filesystem. +

Important
Important: Legacy Path

+ AppStream tools scan the /usr/share/appdata/ path for legacy compatibility as well. It should not be used + anymore by new software though, even on older Linux distributions (like RHEL 7 and Ubuntu 16.04 LTS) the metainfo path is well + supported. + Support for the legacy path will likely be dropped completely with a future AppStream 1.0 release. +

2.1.3 XML Specification

+ The XML for a generic component definition starts with a <component> tag as the root element. + The <component> element must at least have an id, name and summary tag; and + a provides tag with appropriate children is highly recommended. + All possible tags in the generic set are: +

<id/> 

+ The <id> tag is a unique identifier for this component. It must contain only ASCII characters, dots, hyphens and numbers. Spaces are + not allowed. While hyphens are allowed for legacy compatibility, their usage is strongly discouraged to ensure interoperability of the AppStream ID with other tools such + as D-Bus (and thereby making the ID more generic and useful). For the same reason it is also strongly discouraged to start any segment of the ID with a digit. + Additionally, even though uppercase letters are permitted in a component-ID, it is strongly encouraged to only use lowercase letters for the ID. +

+ The ID must follow a reverse-DNS scheme, consisting of {tld}.{vendor}.{product}, for example org.kde.gwenview + or com.hugski.colorhug2. Ownership of {vendor}.{tld} in the domain name system guarantees uniqueness of IDs. +

+ To increase the uniqueness and to distinguish between different pieces of a software suite, it is suggested to append the type name to the component-id in these cases. + For example, one can use com.hugski.colorhug2 for the client tools to control hardware, and com.hugski.colorhug2.firmware for the runtime firmware files. +

+ Note that the value of this tag must be unique across all distributions and software deployment platforms. + In case it is not unique, distributors are expected to reject the conflicting components from inclusion into their metadata and notify the upstream projects about this issue. +

Important
Important: Escaping characters in the component ID

+ To ensures the greatest possible compatibility of an AppStream ID, it is recommended to replace any hyphens in the ID with underscores, and prefix every leading digit of + a section with an underscore as well. Since the underscore is not a valid character in domain names, the uniqueness of the ID is kept. + For example, the ID org.7-zip.7zip could become org._7_zip._7zip. +

<metadata_license/> 

+ The <metadata_license/> tag indicates the content license that you are releasing the one + metainfo XML file under. This is typically not the same as the project license. Omitting the license value will + result in the metainfo data not being incorporated into metadata collections as used by Linux distributions. + This tag is required for all metainfo files. +

+ The value of this tag has to be one of the recognized SPDX license IDs for <metadata_license/> tags, or a simple SPDX expression + (only AND and OR operators allowed) allowing the use of the metadata file under one of the recognized licenses. +

+ We do recognize a set of permissive (https://en.wikipedia.org/wiki/Permissive_software_licence) licenses that have been vetted + for mutual compatibility. This is important in order to allow the metainfo metadata to be combined with arbitrary other data in one file. + While copyleft licenses like the GPL are great for code, it is not feasible to test every copyleft license for mutual compatibility and compliance + when combining metainfo metadata with other data into one larger assembly fully automatically. +

+ Currently, the following licenses have been reviewed and can be used as metadata licenses: +

  • FSFAP

  • MIT

  • 0BSD

  • CC0-1.0

  • CC-BY-3.0

  • CC-BY-4.0

  • CC-BY-SA-3.0

  • CC-BY-SA-4.0

  • GFDL-1.1

  • GFDL-1.2

  • GFDL-1.3

  • BSL-1.0

  • FTL

  • FSFUL

+ The license codes correspond to the identifiers found at the SPDX OpenSource License Registry (https://spdx.org/licenses/). + For instance, CC-BY-SA-3.0 corresponds to the license at + creativecommons.org/licenses/by-sa/3.0 (https://creativecommons.org/licenses/by-sa/3.0/). + If you are looking for the simplest license to use for your metadata, using the FSFAP license is suggested. +

<name/> 

+ A human-readable name for this software component. For example, if the component ID was "libc", its name might be "GNU Standard C Library". +

<summary/> 

+ A short summary of what this component does. If the component is "PackageKit", the summary could be "Provides a package-management abstraction layer". +

<icon/> 

+ The <icon/> tag describes the component icon. It is mostly used for GUI applications (component-type desktop-application). + It can be of type stock, local or remote. +

+ stock icons are loaded from the icon stock (the current or hicolor/locolor fallback themes). + The icon name must not include any file-extension or path. +

+ local icons are loaded from a file in the filesystem. + They should specify a full file path. + This icon type may have width and height + properties. +

+ remote icons loaded from a remote URL. Currently, only HTTP/HTTPS urls are supported. + This icon type should have width and height properties. +

<description/> 

+ A long description of this component. Some markup can be used. +

+ Do not assume the format is HTML. This list contains all currently supported formatting options: +

  • Paragraph (p)

  • Ordered list (ol), with list items (li)

  • Unordered list (ul), with list items (li)

  • + Within paragraphs and list items, emphasis (em) and inline code (code) text styles are supported. + The emphasis is commonly rendered in italic, while inline code is shown in a monospaced font. +

  • Nested lists are not supported

+ In metainfo files, this tag should be translated by-paragraph, meaning that in a translated file, each translated <p/> child + has a language property. +

<categories/> 

+ This tag can contain one or more <category>> entries, describing the categories this software component + is associated with. + This tag is usually applied to components of type desktop-application, but can be used with any component. + A list of valid category names can be found in the + Freedesktop menu specification (https://specifications.freedesktop.org/menu-spec/latest/apa.html). Example: -

<custom>
-  <value key="MyCorp::app_color">#FF0000</value>
-  <value key="MyCorp::special_id">284fd262-6870-42a6-89a4-b189d3109e3e</value>
-</custom>
- An example for a very basic component file could look like this: -

-<?xml version="1.0" encoding="UTF-8"?>
-<component>
-  <id>com.example.foobar</id>
-  <name>Foo Bar</name>
-  <summary>A foo-ish bar</summary>
-  <url type="homepage">http://www.example.org</url>
-  <metadata_license>CC0-1.0</metadata_license>
-
-  <provides>
-    <library>libfoobar.so.2</library>
-    <font>foo.ttf</font>
-    <binary>foobar</binary>
-  </provides>
-  <releases>
-    <release version="1.2" date="2015-02-16" />
-  </releases>
-  <developer_name>FooBar Team</developer_name>
-</component>
-
- For a component of type generic, the minimal amount of required tags is: <id/>, <name/>, <summary/>, <metadata_license/>. -
\ No newline at end of file +

<categories>
+    <category>Game</category>
+    <category>ArcadeGame</category>
+</categories>
<url/> 

+ Defines web URLs for this component.There are several different URL types allowed: +

homepage

+ Should be a link to the upstream homepage for the component. +

bugtracker

+ Should point to the software's bug tracking system, for users to report new bugs. +

faq

+ Should link a FAQ page for this software, to answer some of the most-asked questions in + detail, something which you cannot do in the component's description. +

help

+ Should provide a web link to an online user's reference, a software manual or help page. +

donation

+ URLs of this type should point to a webpage showing information on how to donate to + the described software project. +

translate

+ URLs of this type should point to a webpage where users can submit or + modify translations of the upstream project. +

+ Typically this should be a link to the project page in Weblate, Transifex or Zanata, but could also be a + link to an upstream-hosted wiki page describing how to send translations upstream. +

contact

+ URLs of this type should allow the user to contact the developer. +

+ This could for example be a HTTPS URL to an online form or a page describing how to contact the developer. +

Note
Note: Deprecation

+ In the past, mailto: URL schemas to link to email addresses were also supported for this URL type. + It is recommended to not use them in new metadata, as they provide poor usability on most systems when users click + on such a link and no local email client is configured. +

<launchable/> 

+ This optional tag indicates possible methods to launch the software described in this component. + It is allowed to appear multiple times in the metainfo data. +

+ The <launchable/> tag has a essential type property indicating the system that is used to launch the component. The following types are allowed: +

desktop-id

+ The application can be launched via a desktop file. The value of the tag is a + desktop-file id (https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html#desktop-file-id). +

+ In case a software component has multiple launchable entries, + the software center might display a dialog to choose which entry to launch. + If possible though, it should be avoided to add multiple launchable tags of type desktop-id. +

service

+ The software can be started, stopped, and monitored by the OS "init" + facility, such as systemd. The value of the tag is a name that can be + used with that facility, such as a systemd unit name. +

+ Multiple launchable tags of type service are not + alternatives to start the same service, but the + component does contain multiple services that might all need to be + started. +

+ Only those services should be listed as launchables that the user is + actually expected to start and stop manually. Services that are + started/stopped indirectly via dependencies of other services should + not be listed. +

+ For systemd units, the services listed as launchables are expected to + support enabling and disabling. +

cockpit-manifest

+ The software can be launched from the menus of + the Cockpit (https://cockpit-project.org) admin interface. + The value of the tag is the name of a Cockpit + package (https://cockpit-project.org/guide/latest/packages.html). +

url

+ The application is a web site that is viewed through a browser. + The value of the tag is a direct HTTP/HTTPS URL that the browser must navigate to. +

+ Example: +

<launchable type="desktop-id">org.gnome.sysprof2.desktop</launchable>
<releases/> 

+ The <releases> tag contains <release/> child tags which + describe some metainformation about the current release of the described software. + Each release of the software component should have a <release/> tag describing it, + but at least one release child must be present for the current release of the software. + The release children should be sorted in a latest-to-oldest order to simplify reading + the metadata file. +

+ A release tag can have the properties version, date and timestamp. + The date property can have any time in ISO 8601 (https://en.wikipedia.org/wiki/ISO_8601) format as its value and + should be present for every release. At least day-level granularity is required, which means that the ISO 8601 string must contain at least a full date (e.g. 2020-08-12). + The timestamp tag contains the release time in the form of a UNIX epoch. This tag should not be used in metainfo files in newly + written metadata, but will still be parsed in case it is present. The timestamp property is mainly used in generated distro-metadata. + In case both release-time tags are present, the timestamp tag will take precedence over date. +

+ The algorithm used for comparing version numbers is described at Section 4.1, “Version Comparison Algorithm”. +

+ A release tag may also have a date_eol property that denotes the date when the release stops to receive + support from the software developers (end-of-life). Its value can be any complete date or time in ISO 8601 (https://en.wikipedia.org/wiki/ISO_8601). +

+ Optionally, the <release/> tag may also have an urgency property, having one of the following values: +

  • low

  • medium

  • high

  • critical

+ The urgency defines how important it is to install the new release as an update. This is especially important for type=firmware + components. + If no urgency is defined, a medium urgency is implicitly assumed. + The urgency defines how the update will be presented to the user, and sometimes if it will be installed automatically and immediately, or delayed. +

+ A release tag may have a type property + to classify releases with one of the following values: +

  • stable

  • development

+ By default, if no release type is defined, stable is assumed. + A software displaying a listing of releases should only show stable releases and + discard any development release if the current version is itself stable. It can + show all versions when development versions of the software are also distributed. +

+ Each release tag may have a description tag as child, containing a brief description of what is new in the release. + The description tag is structured as described in <description/>. +

+ A release may also have an url tag as child. + The release url should point to detailed release notes that explain the changes made in this particular release. + The url tag may have a type property with details as the only currently + allowed value. If the type is missing, an URL type of details is implicitly assumed. +

+ In order to mention issues that were resolved in a release, and especially reference CVE (https://en.wikipedia.org/wiki/Common_Vulnerabilities_and_Exposures) IDs, + issue tags can be used as children of one issues tag within a release. + The value of an issue tag must be the bug number, ticket name, or CVE ID and is typically displayed to the user, but may also in case of CVE IDs be read by + machines. If the value is a CVE ID, the type property of the issue tag must be set to cve. + If the type property is missing, an issue type of generic is assumed. The url property can be used to provide + a web URL to a details page on the respective issue. It is required for all issue types, except for the cve type, where it is optional. +

+ To denote release artifacts, the artifacts child tag can be used. It itself contains the artifacts as artifact children. + Each artifact tag must have a type property with the value of either binary or source to indicate whether the + artifact is the releases' source-code or a binary distribution. +

+ In case of a binary type, an optional platform property may + also be set, containing a platform triplet (also known as normalized GNU triplet), such as x86_64-linux-gnu. Refer to + Debian multiarch tuples (https://wiki.debian.org/Multiarch/Tuples#Used_solution) for more information on normalized GNU triplets, and + AppStream's platforms.yml (https://github.com/ximion/appstream/blob/master/data/platforms.yml) for the triplet parts AppStream currently recognizes. + Note that AppStream only supports strictly three-part triplets in the form of arch-oskernel-osenvironment. Parts of the triplets which do not apply can be + replaced with any. +

+ Binary artifacts may also have a bundle property to indicate the bundling system the binary distribution is made for. Refer to + the bundle types in <bundle/> for a list of possible values. + Each artifact can have a number of children: +

location

+ Each artifact must have a location child, denoting the web location (HTTP or HTTPS) where it can be downloaded from. + Multiple location tags are allowed to make it possible to have mirror options to download the same artifact from. +

checksum

+ At least one checksum child must be present to contain the checksum of the released artifact. + The <checksum/> tag has a type attribute, containing the name of the hash function that was used to create it. + Currently aupported values (and hash sums) are: sha1, sha256, blake2b and blake2s. + For most purposes (on 64-bit machines), using BLAKE2b (https://blake2.net) via the b2sum utility from GNU Coreutils is a good choice. +

size

+ One or multiple size tags may also be present, which define the installed and download size + of this component release artifact. + The size type is defined via a type property on the size tag, and may assume the value download or installed. + The size itself is set as the value and must be given in bytes. +

filename

+ An artifact may have a filename child, containing a non-absolute filename that the artifact may be stored under. The file name is only a naming hint and + applications are not required to follow it when downloading the file. If no filename tag is present, a file name may be generated from the artifact + location URL. + This tag must only appear once. +

+ Examples for a valid releases tag with artifacts: +

<releases>
+  <release version="1.2" date="2014-04-12" urgency="high">
+    <description>
+      <p>This stable release fixes bugs.</p>
+    </description>
+
+    <url>https://example.org/releases/version-1.2.html</url>
+
+    <issues>
+      <issue url="https://example.com/bugzilla/12345">bz#12345</issue>
+      <issue type="cve">CVE-2019-123456</issue>
+    </issues>
+
+    <artifacts>
+      <artifact type="binary" platform="x86_64-linux-gnu">
+        <location>https://example.com/mytarball.bin.tar.xz</location>
+        <checksum type="sha256">....</checksum>
+        <checksum type="blake2b">....</checksum>
+        <size type="download">12345678</size>
+        <size type="installed">42424242</size>
+      </artifact>
+      <artifact type="binary" platform="x86_64-windows-msvc">
+        <location>https://example.com/mytarball.bin.exe</location>
+      </artifact>
+      <artifact type="source">
+        <location>https://example.com/mytarball.tar.xz</location>
+        <checksum type="sha256">....</checksum>
+      </artifact>
+    </artifacts>
+  </release>
+  <release version="1.1" type="development" date="2013-10-20" />
+  <release version="1.0" date="2012-08-26" />
+</releases>
<provides/> 

+ The provides tag and its children describe the public interfaces this application provides. + A public interface can be anything which other applications, which are not part of the upstream project, can access or reference. + This includes binaries and libraries. Private interfaces should never be added to a provides tag. +

+ A provides tag contain a number of children describing the type and name of the provided public interface items. + It is suggested that the build system auto-generates this tag and its children. + Currently allowed item types are listed below. If you miss something, + file a bug against AppStream (https://github.com/ximion/appstream/issues/new) so we can add the new type. +

<mediatype/>

+ Describes the media types (also known as MIME types) this software supports, meaning it can open, edit or otherwise handle them. + This tag is especially useful for generic components and addon-type components. For applications, the metadata may automatically + be fetched from their .desktop files by the distribution's metadata generator if a desktop-entry file is set + as <launchable/>. + Example: +

+<provides>
+    <mediatype>text/html</mediatype>
+    <mediatype>image/jpeg</mediatype>
+    <mediatype>application/rss+xml</mediatype>
+ </provides>
<library/>

+ Contains the name of a shared library placed in a publicly accessible library path, such as /usr/lib, /usr/lib/<triplet> + or /lib. + For example, for the libappstream library, the value for library would be libappstream.so.1. +

<binary/>

+ Name of a binary installed into a location in PATH. +

<font/>

+ Full name of a font provided by this component. See Section 2.7, “Fonts” for more information. +

<modalias/>

+ A modalias glob representing the hardware types (for example USB, PCI, ACPI, DMI) this component handles. + Useful for installing printer drivers or other USB protocol drivers for smartphones, firmware, and + out of tree kernel drivers. +

<firmware/>

+ This provided element is described in details for the firmware component type, where it is mandatory. + Please see <provides/> ↪ <firmware/> for more information. +

<python2/>

+ Name of a Python 2 module this component provides. +

<python3/>

+ Name of a Python 3 module this component provides. +

<dbus/>

+ Contains the well-known name of a D-Bus service as its value. The type of the service must be specified using the type property + of this tag. Allowed values are user and system. +

+ Example: +

<provides>
+  <dbus type="system">org.freedesktop.packagekit</dbus>
+</provides>
<id/>

+ Contains the component-ID of another software component. The presence of this tag indicates that the software component containing it is able to + provide all functionality of the one referenced in the <provides/> ↪ <id/> tag. +

+ This is useful in case a component-id had to be renamed in the past, e.g. because its domain-name changed. +

<requires/> & <recommends/> 

+ The requires tag denotes an absolute requirement on a different system component. + A component can require a certain hardware to be present, or kernel, or other component to be installed first. If a requirement + is not met, AppStream clients should prevent the installation of the particular software component. +

+ If it is not essential that a certain requirement is met by the system, but just recommended to be available, a + recommends tag should be used. In this case, AppStream clients should allow the installation of the software + component, but may display a warning before allowing it. +

+ A requires or recommends tag contains children describing the type, value and version relation + of the required item. + Each child can have a version and a compare property, to allow depending on a certain minimal + version of the respective item. + The version property contains the version to be compared against, while the compare property contains + a two-letter code denoting how to compare the version of a present item with the version listed in the property. + If no compare property is given, but a version property is found, AppStream implementations should + implicitly assume a value of ge for comparison of the versions. The installed version is on the left side of the required version + when comparing them. See Section 4.1, “Version Comparison Algorithm” for a description of the version comparison algorithm. +

+ Possible two-letter codes for version comparisons are: +

  • eq - Equal to

  • ne - Not equal to

  • lt - Lesser than

  • gt - Greater than

  • le - Lesser than or equal to

  • ge - Greater than or equal to

+ Possible item types to declare a requirement on or a recommendation for are: +

<id/> 

+ A relation to another software component. The value should be another component-ID. Example: +

<requires>
+  <id version="1.0" compare="ge">org.example.my_software</id>
+</requires>
<modalias/> 

+ Check for a specific hardware to be present via its modalias. The modalias may contain a wildcard expression. + Example: +

<recommends>
+  <modalias>usb:v1130p0202d*</modalias>
+</recommends>
<kernel/> 

+ Check for a specific kernel to be running on the system. The kernel name is the output of uname -s. + Example: +

<requires>
+  <kernel version="4.14" compare="ge">Linux</kernel>
+</requires>
<memory/> 

+ Set a relation to the amount of physical memory (RAM) the system should have to run the software component. + The memory size is set in MiB. You usually only want to use this with the recommends tag, + because users might want to install the software on systems even if they have a lesser amount of memory + compared to what would be ideal. + Example: +

<recommends>
+  <memory>2048</memory> <!-- recommend at least 2GiB of memory -->
+</recommends>
<firmware/> 

+ Depend on a specific device firmware. The value of this tag should either be a name like bootloader, be + empty to reference the firmware itself described by the firmware-type component this tag is contained in, + or contain a GUID. + This tag is commonly used and interpreted by Fwupd (https://www.fwupd.org/). + Example: +

<requires>
+  <firmware compare="ge" version="0.1.2">6de5d951-d755-576b-bd09-c5cf66b27234</firmware>
+  <firmware compare="ge" version="0.1.2"/>
+  <firmware compare="ge" version="0.3.4">bootloader</firmware>
+</requires>
<control/> 

+ This item type can be used to recommend or require certain ways a user can control the software. This usually maps to certain methods + of input. If multiples of these tag are found within a requires/recommends block, only one of them needs to be satisfied on the system + to mark an application as compatible. This means if touch and pointing are both recommended as controls, + an system that only has a mouse and no touchscreen will still be considered able to run the application. + Valid values for this tag are: +

  • pointing - Input via mouse/cursors/other pointing devices is possible

  • keyboard - Keyboard input is possible

  • console - Control via a console / command-line interface

  • touch - Input by touching a surface with fingers is possible

  • gamepad - The component supports gamepads (any game controller with wheels/buttons/joysticks)

  • tv-remote - Input via a TV remote (with arrow keys, number pad, other basic inputs) is supported.

  • voice - The software can be controlled via voice recognition/activation

  • vision - The software can be controlled by computer vision / visual object and sign detection

+ If a control type is recommended, it means the software supports the given method of user input. As long as one of the input methods + is available on the system, the software can be used. Installation on systems without the given control is still permitted. + If a control type is required, the same applies, but the software installer should refuse to install the application on devices which + do not have at least one of the input methods. It is therefore advised to only use the control tag in recommends listings, + and avoid to use it in requires. +

+ For certain component types, some permitted controls are implicitly assumed: For desktop-application + and web-application components, pointing and keyboard controls + are assumed. + For console-application, control via console is assumed. +

+ Example control recommendation: +

<recommends>
+  <control>pointing</control>
+  <control>keyboard</control>
+  <control>touch</control>
+</recommends>
<display_length/> 

+ Set a relation to the display length defined as an integer value in logical pixels (device pixels divided by scaling factor, + roughly equivalent to 0.26mm (1/96in), also known as device-independent pixels). + Setting the side property to either shortest or longest will apply the selected size constraint to + either the shortest or longest side of the display rectangle, with shortest being implicitly assumed if no value is set. +

Note
Note: About Pixel Dimensions

+ One logical pixel (= device independent pixel) roughly corresponds to the visual angle of one pixel on a device with a pixel density of + 96dpi and a distance from the observer of about 52cm, making the physical pixel about 0.26mm in size. + When using logical pixels as unit, they might not always map to exact physical lengths as their exact size is defined by the device providing + the display. + They do however accurately depict the maximum amount of pixels that can be drawn in the depicted direction on the device's display space. +

+ Relations for the display length can be defined using a compare property as described in <requires/> & <recommends/>. + If this property is not present, a value of ge (greater-or-equal) is implicitly assumed. +

+ The display_length tag also accepts one of the following text values. While their exact meaning in terms of pixel-based size + is implementation-defined, the text term will roughly match the screen size of the device class listed next to it in the listing below: +

  • xsmall - Very small screens, as used in watches, wearables and other small-display devices (about <= 360px).

  • small - Small screens often used in handheld devices, such as phone screens, small phablets (about < 768px).

  • medium - Screens in laptops, tablets (about >= 768px)

  • large - Bigger computer monitors (about >= 1024px)

  • xlarge - Television screens, large projected images (about >= 3840px)

+ If a text value is used, the side property must not be present. For side, shortest + is assumed in this case. + A compare property is permitted and will compare the text placeholder values from smallest (xsmall) to largest (xlarge). + The text values are intended for adaptive applications which only need or want to give a very rough hint as to which display lengths they support, and do + not need fine control over their visibility (as these types of applications will adjust well to most screen sizes at runtime). + If finer control is needed, absolute sizes should be used instead. +

Note
Note: Determining Device Types

+ Please note that a display with a lot of vertical space may not be a television screen, but could also be a large gaming monitor. + Similar logic applies to the smaller screen sizes. Therefore, to indicate that an application runs well on a certain device + and not just on a certain display, additional metadata is needed, like the application's supported + input controls as defined via <control/>. +

+ This tag may appear up to four times to set a minimum and maximum dimension required. + If multiple displays are connected to a device, it is acceptable to test against either the largest screen attached to the device, or the combined + amount of display space (depending on what makes the most sense for the respective device / setup). + A software center application may test for the maximum possible resolution of an attached display, and not the currently set display resolution in case + it wants to check against hardware capability and not be influenced by user configuration. +

+ If used in a requires block, this relation can be used to restrict an application to only be installable on systems which have a minimum + usable display length available for it. If used in a recommends block, the application will still be + installable, but the user may be shown a warning. +

+ If no display_length relation is present, a minimum required display (ge) relation + of medium is implicitly assumed to preserve backwards compatibility (so applications capable of running on smaller screens + need to make their support for that configuration explicit). +

+ Examples: +

<!-- recommend at least 600 logical pixels of space -->
+<recommends>
+  <display_length compare="ge">600</display_length>
+</recommends>
+
+<!-- ensure this application is not run on a very large screen, or
+     very small screen (no tiny handhelds or television screens) -->
+<requires>
+  <display_length compare="lt">xlarge</display_length>
+  <display_length compare="gt">xsmall</display_length>
+</requires>
<mimetypes/> 

+ This tag can contain one or more <mimetype/> children, describing the MIME types this application supports. +

Important
Important: Deprecation

+ This tag is deprecated and should not be used for new metadata. Please use <provides/>mediatype tags + instead. +

<project_group/> 

+ If you include the <project_group/> tag then this identifies your project with a specific upstream umbrella project. + Known values include GNOME, KDE, XFCE, MATE and LXDE, although other umbrella projects like Yorba or Mozilla make sense too. +

Note
Note

+ You should only identify with an umbrella project if you use all their infrastructure and policies, for instance string freezes dates, bugtracker and source control instance. +

<compulsory_for_desktop/> 

+ The <compulsory_for_desktop> tag indicates that the component which the metadata belongs to is essential for the + functionality of the defined desktop environment. Examples for compulsory components are the GNOME Shell by the GNOME Project, + or the Plasma Desktop by KDE, as well as things like iBus or the desktop login manager. +

+ Software centers are expected to detect the running desktop environment and disable uninstallation for compulsory components of that desktop, + so users will not be able to damage their currently running, primary desktop environment. +

+ Multiple occurrences of the <compulsory_for_desktop> tag are allowed, so a project can be essential for many desktops. + The distributor decides which components should be made compulsory, however it is generally a good idea to follow upstream's recommendations on that matter. +

+ A list of all allowed values for this tag is defined in the XDG Menu Specification (https://specifications.freedesktop.org/menu-spec/latest/apb.html). + Software center applications will only recognize these values. +

<project_license/> 

+ The <project_license/> tag is indicating the license of the component (application/library/addon/font/etc.) described in the metadata document. + It should be a SPDX license expression (https://spdx.org/specifications). Please note the SPDX license IDs are case-sensitive in AppStream. + Possible values include: +

  • GPL-2.0

  • LGPL-3.0+ AND GPL-3.0+

  • MIT

  • CC-BY-SA-2.0

  • LicenseRef-proprietary=https://example.com/mylicense.html

+ A full list of recognized licenses and their identifiers can be found at the + SPDX OpenSource License Registry (https://spdx.org/licenses/). +

+ Custom licenses which are not in the SPDX registry, like proprietary licenses, can be denoted using the LicenseRef notation. + LicenseRef-proprietary can be used to denote a proprietary license, with an optional URL to the license text following after + a = sign. +

+ The license given in the project_license tag should be the ‘main’ license of the project. For a software project, this + is typically the license for the code. It is not recommended to include the license for accompanying documentation (for example) in + project_license, as that could confuse users. In particular, the CC-BY-SA-3.0 license which is commonly + used for documentation is not an (FSF or OSI) approved license for free software, so including it in project_license results in the + project as a whole being considered non-free. +

+ Although the project_license tag is not mandatory, it is highly recommended to include it. +

+ Examples: +

<project_license>LGPL-3.0+ OR MPL-2.0</project_license>
+<project_license>LGPL-3.0+ OR MPL-2.0</project_license>
+<project_license>GPL-3.0-or-later</project_license>
+<ptoject_license>LicenseRef-proprietary=https://code.visualstudio.com/license</project_license>
<developer_name/> 

+ The <developer_name/> tag is designed to represent the developers or project responsible for development of the project described in the metadata. +

+ Values might be for example "The GNOME Foundation" or "The KDE Community". + You must not include hyperlinks or emails in this field, if you want to link to the developer's homepage, use the <url/>-tag instead. +

+ This tag is translatable. +

<screenshots/> 

+ Visual components (like fonts or graphical applications) may choose to add one or multiple screenshots to their metadata. + Screenshots can be either a video or a static image. +

+ The <screenshots/> tag contains multiple <screenshot/> children, where at least one of them must have the property + type="default" to indicate the primary screenshot of the software. Every <screenshot/> tag must have at least + one <image/> or <video/> child, but never an image and video at the same time. + Also, screenshots containing videos must not be the default screenshot. +

+ The value of the <image/> tag is a direct HTTP/HTTPS URL to a screenshot uploaded to a public location on the web. + Images should ideally be provided in the PNG format, however using JPEG or WebP is also fine for images in metainfo files. +

+ The <image/> tag may have the following properties: +

  • type

    + The type of the image: source for the source image, and thumbnail for a thumbnail image. + In case the type is thumbnail, the width and height properties must be present. +

  • width

    + The width of the image in pixels. +

  • height

    + The height of the image in pixels. +

  • xml:lang

    + The language this screenshot image is translated in. This property should only be present if there are multiple images with + different locales present. +

+

+ The value of the <video/> tag is a direct HTTP/HTTPS URL to a video uploaded to a public location on the web. The video must be in a + Matroska (.mkv) (https://www.matroska.org/) or WebM (https://www.webmproject.org/) container and use either the + VP9 (https://www.webmproject.org/vp9/) or AV1 (https://aomedia.org/av1-features/) codec. + The video should ideally work without any audio, but if audio is needed, the Opus (https://opus-codec.org/) codec should be used. + Software centers may still play the video without any sound though. Additionally, AppStream metadata repositories (like in distributions such as Fedora and Debian) + may impose size limitations to video files delivered by their CDN, so it is recommended to keep the video file size below 10MiB. + There is also a chance that software centers do not display any video at all, so a video must never be in a default screenshot. +

+ The <video/> tag may have the following properties: +

  • container

    + The video container that is used, can be webm or matroska. +

  • codec

    + The video codec used, can be av1 or vp9. +

  • width

    + The width of the video in pixels. +

  • height

    + The height of the video in pixels. +

  • xml:lang

    + The language this video is translated in. This property should only be present if there are multiple videos with + different locales present. +

+

+ Optionally, a <screenshot/> tag may have a translatable <caption/> child, defining a short (ideally not more than 256 characters) + description of what the user can see on the referenced screenshot. +

+ Ideally, all image screenshots as well as videos should have a 16:9 aspect ratio, and should have a width that is no smaller than 620 pixels. +

+ Example: +

<screenshots>
+  <screenshot type="default">
+    <caption>The FooBar main window.</caption>
+    <image type="source" width="1600" height="900">https://example.com/foobar/screenshot-1.png</image>
+  </screenshot>
+  <screenshot>
+    <caption>Foobar showing the frobnicate functionality.</caption>
+    <image type="source" width="1600" height="900">https://example.com/foobar/screenshot-2.png</image>
+  </screenshot>
+  <screenshot>
+    <video codec="av1" width="1600" height="900">https://example.com/foobar/screencast.mkv</video>
+  </screenshot>
+ </screenshots>
<translation/> 

+ The <translation/> tag is an optional tag which can be added to specify the translation domain used for this software component. + It may be used by the AppStream distro metadata generator to determine the translation status of the respective software (e.g. which languages the + software is translated into and how complete the translations are). +

+ The tag must have a type property, assuming the value of the translation system which is used. Right now, allowed translation systems and + values for type are: +

  • gettext

  • qt

+ In case a software components gets its translation from multiple translation domains, the <translation/> tag may be defined more + than once. +

+ For Gettext translations, localization data will be looked for in ${prefix}/share/locale/${locale}/LC_MESSAGES/${id}.mo, where + ${id} is replaced with the translation domain specified in the <translation/> tag. + For Qt translations, if the ID string contains slashes, we will look for translations following either the ${prefix}/share/${id}_${locale}.qm + or the ${prefix}/share/${id}/${locale}.qm pattern. If no slashes are contained, we will look for translation data in + ${prefix}/share/locale/${locale}/LC_MESSAGES/${id}.qm. +

+ Example: +

<translation type="gettext">foobar</translation>
+<translation type="qt">FooBar/translations/foobar</translation>
<suggests/> 

+ The <suggests/> tag is an optional tag which can be added to specify the component-ids of other software this components suggests. + Software centers might present the suggested software on the installation page of the described component. +

+ The tag may have a type property, with the value upstream, indicating that this suggestion originates from the upstream project. + If no type property is given, upstream is implicitly assumed as value. Metainfo files must not define other suggests + types, those are reserved for AppStream catalog XML (see <suggests/> in catalog XML). +

+ The suggests tag must have one or more <id/> tags as children, specifying the IDs of the suggested other software components. +

+ Example: +

<suggests>
+  <id>org.kde.gwenview.desktop</id>
+  <id>org.inkscape.inkscape</id>
+</suggests>
<content_rating/> 

+ The <content_rating/> tag is an optional tag which can be added to specify age ratings for the respective software components. + These maybe be used for parental control or to display their information in software centers. +

+ The tag must have a type property, indicating the type of the rating system that is used. At the moment, the + Open Age Ratings Service (https://hughsie.github.io/oars/) (value oars-1.0) is supported natively, but more services might be + added in future. +

+ The <content_rating/> tag may have <content_attribute/> children which each must have an id property indicating + the specific section that is rated. Their value indicates the intensity of the rated section and can be one of: +

  • none - no rating given

  • mild

  • moderate

  • intense

+ In case the <content_rating/> tag is empty (no <content_attribute/> is present), it is assumed that the component was checked + for age ratings and no age restrictions apply. +

+ The website of the Open Age Ratings Service provides an online form (https://hughsie.github.io/oars/generate.html) which will automatically generate AppStream + compatible metadata based on a set of questions answered about the content. +

+ Example: +

<content_rating type="oars-1.0">
+  <content_attribute id="drugs-alcohol">moderate</content_attribute>
+  <content_attribute id="language-humor">mild</content_attribute>
+</content_rating>
<agreement/> 

+ The <agreement/> tag is an optional tag which can be added to specify agreements the user has to accept or acknowledge before using the software. + This tag can appear multiple times, if multiple agreements are required for a software component. +

+ The tag should have a type property, indicating the type of the agreement. If the type property is missing, + an agreement of type generic is assumed. + Currently recognized agreement types are: +

  • eula - an end-user license agreement the user has to accept before installing the software.

  • privacy - a privacy statement for the software, usually a GDPR (https://www.eugdpr.org/) compliant statement

+ The <agreement/> tag must have a version_id property, containing a version identifier for the license. It may be used by client applications to + determine whether an agreement needs to be shown again after it has been accepted already by the user. +

+ Every <agreement/> must have <agreement_section/> children which each have an id property indicating + the specific section that they describe (e.g. introduction). These values may be used to automatically jump to a specific section. + Each <agreement_section/> has a translatable name child denoting the name or title of the respective section, and a description + child that is translated according to the same translation rules that apply to the <description/> tag. + The description contains the content of the respective agreement section. +

+ Example: +

<agreement type="privacy" version_id="1.0">
+    <agreement_section type="introduction">
+      <name>Introduction</name>
+      <description>
+        <p>
+          We hold personal data about vendors, administrators, clients and other
+          individuals for a variety of purposes.
+          [...]
+        </p>
+      </description>
+    </agreement_section>
+
+    <agreement_section type="scope">
+      <name>Scope</name>
+      <description>
+        <p>
+          This policy applies to all users who have access to any of the personally
+          identifiable data.
+        </p>
+      </description>
+    </agreement_section>
+
+    [...]
+</agreement>
<update_contact/> 

+ The <update_contact/> tag is an optional tag which can be added to provide an email address distributors can use to contact the project + about invalid or incomplete metadata or – in case the specification has changed – about old metadata. It can also be used to ask general questions in case of + an update of the component described in the metadata file. +

+ The <update_contact/> tag must only be used by distributors. It is not included in the distribution-provided + AppStream XML file, and therefore not exposed to the end user via any kind of UI. +

+ Upstream authors might decide to add an email address in cleartext, but spam protection using _AT_ is also valid. + The value of this tag is generally treated a case-insensitive way. +

+ Example: +

<update_contact>developer_AT_example.com</update_contact>
<name_variant_suffix/> 

+ Variant suffix that software centers may append to the component name on lists in case multiple components have the same name. + This is currently primarily used for firmware, where components only need to be distinguished if multiple variants are displayed. + A name variant suffix could e.g. be 'Prerelease' or 'China'. +

<custom/> 

+ The <custom/> tag is an optional tag which can be used as a key-value store for custom values that are not covered by the AppStream specification. + The tag is usually stripped out or filtered by collection metadata generators, such as appstream-generator. + When present, the data contained in a custom can be read by all tools making use of AppStream metadata, making it an ideal extension point when using + an existing AppStream library is desired and some custom additions to the metadata are still required. + The custom tag is also often used for prototyping new features in AppStream. +

+ The tag must have value children which must have a key property. The value of the value + tag denotes a user-defined value, while the key string set for the key property denotes a user-specified key string. + The key must be unique, multiple keys with the same name are not allowed. +

+ To avoid name conflicts, it is recommended to prefix keys with a vendor prefix, like GNOME:: or KDE::. +

Note
Note

+ Before using a custom tag, please consider if there is a better way to achieve your goal than adding the data to the AppStream metainfo file, + or whether AppStream maybe already contains a way to achieve what you want. + Additionally, if you think that the purpose you use the custom tag for is generally useful, please file a feature request against AppStream, + so we can discuss adding the new feature to the specification and make it more usable for a bigger audience. +

+ Example: +

<custom>
+  <value key="MyCorp::app_color">#FF0000</value>
+  <value key="MyCorp::special_id">284fd262-6870-42a6-89a4-b189d3109e3e</value>
+</custom>

+ An example for a very basic component file could look like this: +

+<?xml version="1.0" encoding="UTF-8"?>
+<component>
+  <id>com.example.foobar</id>
+  <name>Foo Bar</name>
+  <summary>A foo-ish bar</summary>
+  <url type="homepage">https://www.example.org</url>
+  <metadata_license>CC0-1.0</metadata_license>
+
+  <provides>
+    <library>libfoobar.so.2</library>
+    <font>foo.ttf</font>
+    <binary>foobar</binary>
+  </provides>
+  <releases>
+    <release version="1.2" date="2015-02-16" />
+  </releases>
+  <developer_name>FooBar Team</developer_name>
+</component>

+ For a component of type generic, the minimal amount of required tags is: <id/>, <name/>, + <summary/>, <metadata_license/>. +

\ No newline at end of file diff -Nru appstream-0.12.10/docs/html/chap-Quickstart.html appstream-0.14.5/docs/html/chap-Quickstart.html --- appstream-0.12.10/docs/html/chap-Quickstart.html 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/chap-Quickstart.html 2021-08-28 20:15:19.000000000 +0000 @@ -1,254 +1,271 @@ -Chapter 4. Metadata Quickstart

Product SiteDocumentation Site

- ⁠Chapter 4. Metadata Quickstart

- These pages are designed to give upstream authors compressed information on how to write metadata for their applications. The documents describe just the basic information, and don't resemble the whole specification, to give upstreams an easy way to get started with AppStream. -

- ⁠4.1. For GUI application upstream maintainers

- ⁠4.1.1. Introduction

- Every software center that exists allows the user to look at screenshots and a long description of the application before it is installed. For most users it allows them to answer the question Do I want to install this application?. Traditionally in Linux distributions, we have none of this data for the vast majority of our desktop user-installable applications. The packages-descriptions are describing all contents of a package, and not just a single application. They are also often written in a technical language and refer to other packages, which makes it hard for beginners to understand what the application they want to install really does. Additionally, if you are not using Debian or Ubuntu, the package descriptions are often untranslated. Also, packages do not provide some metadata users might be interested in before installing an application. -
- To solve this, we have defined a new data file, which the upstream project can optionally translate using the same technique as Desktop Entry files or GSetting schemas. The application metainfo specification is a subset of the AppStream metadata (see Section 3.1, “AppStream collection XML”) and extends the generic component metadata with fields specific for applications (see Section 2.1, “Generic Component”). -
- The application-metainfo files override any values which are automatically fetched by the AppStream data generator. Applications can ship one or more files in /usr/share/metainfo/%{id}.metainfo.xml. -
+Metadata Quickstart | AppStream | AppStream 0.14 +
Applies to AppStream 0.14

5 Metadata Quickstart

+ These pages are designed to give upstream authors compressed information on how to write metadata + for their applications. + The documents describe just the basic information, and don't resemble the whole specification, to + give upstreams an easy way to get started with AppStream. +

5.1 For GUI application upstream maintainers

5.1.1 Introduction

+ Every software center that exists allows the user to look at screenshots and a long description of the application before it is installed. + For most users it allows them to answer the question Do I want to install this application?. + Traditionally in Linux distributions, we have none of this data for the vast majority of our desktop user-installable applications. + The packages-descriptions are describing all contents of a package, and not just a single application. They are also often written in a technical + language and refer to other packages, which makes it hard for beginners to understand what the application they want to install really does. + Additionally, if you are not using Debian or Ubuntu, the package descriptions are often untranslated. + Also, packages do not provide some metadata users might be interested in before installing an application. +

+ To solve this, we have defined a new data file, which the upstream project can optionally translate using the same technique as + Desktop Entry files (https://specifications.freedesktop.org/desktop-entry-spec/latest/) or GSetting schemas. + The application metainfo specification is a subset of the AppStream metadata (see Section 3.1, “AppStream collection XML”) and extends + the generic component metadata with fields specific for applications (see Section 2.1, “Generic Component”). +

+ The application-metainfo files override any values which are automatically fetched by the AppStream data generator. + Applications can ship one or more files in /usr/share/metainfo/%{id}.metainfo.xml. +

Application metainfo files can - just like all other metainfo files - be translated. See the section about translation for more information about that. -

Note

- All tags defined in the generic component specification are valid for components of type desktop-application as well, an application is just defined as a specialized component, which has the additional benefit of being displayed in a software-center application. -

- ⁠4.1.2. Example file

+

Note
Note

+ All tags defined in the generic component specification are valid for components of type desktop-application as well, + an application is just defined as a specialized component, which has the additional benefit of being displayed in a software-center application. +

Tip
Tip

+ To get you started quickly, the AppStream project provides a web-based form to quickly generate valid metainfo XML for some of the most + common use cases. Check it out on freedesktop.org/software/appstream/metainfocreator (https://www.freedesktop.org/software/appstream/metainfocreator/#/). +

5.1.2 Example file

The file should contain something like this: -


-<?xml version="1.0" encoding="UTF-8"?>
-<!-- Copyright 2013 First Lastname <your@email.com> -->
-<component type="desktop-application">
-  <id>org.gnome.gnome-power-statistics</id>
-  <metadata_license>FSFAP</metadata_license>
-  <project_license>GPL-2.0+</project_license>
-  <name>Power Statistics</name>
-  <summary>Observe power management</summary>
-
-  <description>
-    <p>
-      Power Statistics is a program used to view historical and current battery
-      information and will show programs running on your computer using power.
-    </p>
-    <p>Example list:</p>
-    <ul>
-      <li>First item</li>
-      <li>Second item</li>
-    </ul>
-    <p>
-      You probably only need to install this application if you are having problems
-      with your laptop battery, or are trying to work out what programs are using
-      significant amounts of power.
-    </p>
-  </description>
-
-  <launchable type="desktop-id">org.gnome.gnome-power-statistics.desktop</launchable>
-
-  <screenshots>
-    <screenshot type="default">
-      <caption>The options dialog</caption>
-      <image>http://www.hughsie.com/en_US/main.png</image>
-    </screenshot>
-    <screenshot>
-      <image>http://www.hughsie.com/en_US/preferences.png</image>
-    </screenshot>
-  </screenshots>
-
-  <url type="homepage">http://www.gnome.org/projects/en_US/gnome-power-manager</url>
-  <project_group>GNOME</project_group>
-
-  <provides>
-    <binary>gnome-power-statistics</binary>
-  </provides>
-
-  <releases>
-    <release version="3.12.2" date="2013-04-12">
-      <description>
-        <p>Fixes issues X, Y and Z</p>
-      </description>
-    </release>
-  </releases>
-</component>
-

- ⁠4.1.3. Recommended metadata file contents

- This is a list of tags you might want to define for your application. For a full list of all possible tags, take a look at the definition of a generic component (Section 2.1.3, “XML Specification”) and an application-component (Section 2.2.2, “File specification”). -
<id/>
- The <id/> tag value contains the unique identifier for this application. It is usually modeled after the .desktop filename and follows a reverse-DNS scheme. For the full naming guidelines see <id/>. -
- Example: If your application's .desktop file is named org.example.FooBar.desktop, a good component-id would be org.example.FooBar. -
<metadata_license/>
- The <metadata_license/> tag is indicating the content license that you are releasing the one metainfo file under. This is not typically the same as the project license. Omitting the license value can result in your data not being incorporated into the distribution metadata (so this is a required tag). -
- A permissive license ensures your data can be combined with arbitrary other data in one file, without license conflics (this means copyleft licenses like the GPL are not suitable as metadata license). Possible license identifiers include: -
  • - FSFAP -
  • - CC0-1.0 -
  • - CC-BY-3.0 -
  • - CC-BY-SA-3.0 -
  • - GFDL-1.3 -
  • - MIT -
- The license codes correspond to the identifiers found at the SPDX OpenSource License Registry. Take a look at <metadata_license/> for more details about this tag. -
- If you are unsure about which license to pick, the FSFAP or FSFUL license statement is usually a good choice, as it is short and safe to combine with other licenses. -
<project_license/>
- The <project_license/> tag is indicating the license(s) this application is released under. Take a look at the specification of the <project_license/> tag for details on how to properly use it. -
<name/>
- It is highly recommended to have this tag present and contain a name of your application as value. -
- In theory you can omit this tag and have the AppStream generator of a Linux distribution automatically use the Name field of the associated .desktop file (In which case one <launchable/> tag must be present). However, a large amount of tools expect the metainfo file to be complete and self-sufficient now, which is why omitting this tag will render it invalid for tools like Flatpak and others use cases which do not involve a metadata preprocessing step. -
- If no name tag (and no Name desktop-entry field) is present, the metadata is considered invalid and will be ignored by the AppStream generator. -
<summary/>
- It is highly recommended to have this tag present and contain a brief summary of what your application is about. -
- In theory you can omit this tag and have the AppStream generator of a Linux distribution automatically use the Comment field of the associated .desktop file (In which case one <launchable/> tag must be present). However, a large amount of tools expect the metainfo file to be complete and self-sufficient now, which is why omitting this tag will render it invalid for tools like Flatpak and others use cases which do not involve a metadata preprocessing step. -
- If no summary tag (and no Comment desktop-entry field) is present, the metadata is considered invalid and will be ignored by the AppStream generator. -
<description/>
- The long description is an important part of the file. Important things to consider when writing the application description: -
  • - Include 2-3 paragraphs of interesting easy to read prose. -
  • - Ensure you provide a description of what the application actually does. -
  • - Describe any important features. -
  • - Do not use possily trademarked product names when refering to competitors. -
  • - Break down each paragraph into easily translated paragraphs. -
  • - Use lists sparingly. -
  • - Never refer to installable items as packages. -
  • - Never start the first sentence with "This application..." -
  • - Try not use more than 100 words. -
  • - Do not be too geeky. Aim for an intelligent semi-technical reader. -
  • - Don't mention what language an application is written in, users don't care -
  • - Only mention what the application can do now, rather than what is planned -
- Do not assume the format is HTML. Only paragraph, ordered list and unordered list are supported at this time, as well as emphasis and inline code. See <description/> for more information. -
- In metainfo files, this tag should be translated by-paragraph, meaning that in a translated file, each translated <p/> child has a language property. -
- ⁠<launchable/>
- This tag indicates a possible method to launch the software. Usually you want the application to be launchable by its .desktop file ID. -
- The tag makes it possible for software centers to offer launching an application immediately after installation. It also connects the metainfo file with a .desktop file, so AppStream metadata generators and the distribution can absorb its metadata into the final AppStream output. -
- See <launchable/> for a detailed description of the tag. Example: -
<launchable type="desktop-id">org.gnome.Sysprof2.desktop</launchable>
- ⁠<screenshots/>
- A screenshot presents your application to the outside world, and could be seen by hundreds or thousands of people. -
- The <screenshots/> tag contains multiple <screenshot/> children, where at least one of them must have the property type="default" to indicate the application's primary screenshot. Every <screenshot/> tag must have at least one <image/> child, which may define the width and height of the referenced image in it's properties. The value of the <image/> tag is a direct URL to a screenshot uploaded to a public location on the web. -
- Optionally, a <screenshot/> tag may have a <caption/> child, defining a short (not more than 180 characters!) description of what the user can see on the referenced screenshot. -
- Screenshots are an important part of how people choose which applications to install, so it's important to get them right. Consistent, good looking screenshots will make your application look more attractive and will expand your userbase. Consistent screenshots also provide a more predictable experience for people using the software center. -
- Screenshot size, shape and format: -
  • - All screenshots should have a 16:9 aspect ratio, and should have a width that is no smaller than 620px (software center applications will be able to fill in the screenshots in the space they provide for that more easily then). -
    - Ideally the window will be resized to a 16:9 aspect ratio, but screenshots can also be cropped if only a small area of the window needs to be shown. -
  • - Screenshots should ideally be in the PNG format, but JPEG and WebP images are also fine. Keep in mind though that the images are converted into PNG in any case by the distributor of a software collection. -
  • - Do not scale screenshots below their original size. -
- Basic guidelines for things to include (and not include) in your screenshots: -
  • - Use the default visual and theme settings, including the default font, icons, and window controls. Avoid including your own tweaks to the standard distribution offering. -
  • - Screenshots should be taken with English as the display language. -
  • - Your default screenshot should give an overview of your application, and should show an entire application window. It can be combined with screenshots which show specific aspects of the application. -
  • - Screenshots should not show anything outside the application's windows (including the background wallpaper). If you are taking a screenshot of the whole window, use your screenshot tool's "window" mode (including any window borders in the screenshot, and ensuring that the resulting image has an alpha mask for the rounded corners). -
  • - Some applications, such as games, primarily run full screen. Screenshots of these applications should be taken with the application running full screen - there should be no visible window controls in the screenshot. -
  • - Don't add shadows to your screenshots. -
  • - Do not include content that might be considered offensive or controversial, and avoid showing personal information. Remember that your screenshots will be visible to the internet at large. -
- Additional advice on how to take effective screenshots: -
  • - Each of your screenshots should focus on one thing and one thing only. Screenshot one window at a time, and avoid having overlapping windows or user interface elements. This will make it much easier for people to understand what you are showing them. -
  • - If a screenshot is demonstrating a single feature or aspect of the application, crop it to exclude irrelevant detail. -
  • - Screenshots often need to feature content, such as images, documents, web pages or videos. Don’t show your application in an ‘empty’ state, and try and use high quality content which has positive associations and broad appeal. -
  • - In general, you shouldn't include the mouse pointer in your screenshots. -
- Some advice for a good screenshot caption: -
  • - The caption should be short. Try not to use more than a few words to describe the image. -
  • - Try not to state the obvious: "Main window displaying an image" is something the user can see on the screenshot already. -
  • - Try not to repeat the application's name in the caption. -
  • - Do not end your caption with a fullstop. -
- Some examples of good and bad screenshot choices: -
- BAD: Not on Linux -
-
- GOOD -
-
- BAD: Not 16:9, shows the whole desktop and too many small windows -
-
- GOOD: No window border required for fullscreen game -
-
- BAD: Uses custom font, custom color theme and is not 16:9 -
-
- GOOD -
-
<url/>
- This is a recommended tag for links of type homepage. Links of type homepage should be a link to the upstream homepage for the application. -
- For other possible values, tage a look at the tag's description at <url/>. -
<project_group/>
- This tag is described for generic components at <project_group/>. You should use it for your application if appropriate. -
<developer_name/>
- The <developer_name/> tag is designed to represent the developers or project responsible for development of the project described in the metadata. -
- Values might be for example "The GNOME Foundation" or "The KDE Community". You must not include hyperlinks or emails in this field, if you want to link to the developer's homepage, use the <url/>-tag instead. -
- This tag is translatable. -
<update_contact/>
- The <update_contact/> tag is an optional tag which can be added to provide an email address distributors can use to contact the project about invalid or incomplete metadata, or in case the specification has changed, about old metadata. It can also be used to ask general questions in case of an update of the component described in the metadata file. Spam protection using _AT_ is valid. -
- Example: -
<update_contact>developer_AT_example.com</update_contact>

- ⁠4.1.4. Suggested metadata file contents

- It is useful to add these tags as well if they make sense for the described application. They are not strictly required to be present though. -
<releases/>
- The application metainfo may include one <releases/> tag, which has one or multiple <release/> subnodes to define the version and release date of this application. For details, see <releases/> . -
- It is very useful to attach short release-notes to a <release/> using the <description/> subnode. These release-notes should contain brief information about what is new in the release, in a way which is understandable by non-technical users. -
<provides/>
- This tag is described in detail for generic components at <provides/>. -
- If your application ships a binary in a location in the default PATH, it is useful to add at least a child of type <binary/> to make it easily possible to find your application's metadata using the name of its binary. -
\ No newline at end of file +

+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright 2013 First Lastname <your@email.com> -->
+<component type="desktop-application">
+  <id>org.gnome.gnome-power-statistics</id>
+  <metadata_license>FSFAP</metadata_license>
+  <project_license>GPL-2.0+</project_license>
+  <name>Power Statistics</name>
+  <summary>Observe power management</summary>
+
+  <description>
+    <p>
+      Power Statistics is a program used to view historical and current battery
+      information and will show programs running on your computer using power.
+    </p>
+    <p>Example list:</p>
+    <ul>
+      <li>First item</li>
+      <li>Second item</li>
+    </ul>
+    <p>
+      You probably only need to install this application if you are having problems
+      with your laptop battery, or are trying to work out what programs are using
+      significant amounts of power.
+    </p>
+  </description>
+
+  <launchable type="desktop-id">org.gnome.gnome-power-statistics.desktop</launchable>
+
+  <screenshots>
+    <screenshot type="default">
+      <caption>The options dialog</caption>
+      <image>http://www.hughsie.com/en_US/main.png</image>
+    </screenshot>
+    <screenshot>
+      <image>http://www.hughsie.com/en_US/preferences.png</image>
+    </screenshot>
+  </screenshots>
+
+  <url type="homepage">http://www.gnome.org/projects/en_US/gnome-power-manager</url>
+  <project_group>GNOME</project_group>
+
+  <provides>
+    <binary>gnome-power-statistics</binary>
+  </provides>
+
+  <releases>
+    <release version="3.12.2" date="2013-04-12">
+      <description>
+        <p>Fixes issues X, Y and Z</p>
+      </description>
+    </release>
+  </releases>
+</component>

5.1.3 Recommended metadata file contents

+ This is a list of tags you might want to define for your application. For a full list of all possible tags, take a look at + the definition of a generic component (Section 2.1.3, “XML Specification”) and an application-component (Section 2.2.2, “File specification”). +

<id/>

+ The <id/> tag value contains the unique identifier for this application. It is usually modeled after the .desktop filename + and follows a reverse-DNS scheme. For the full naming guidelines see <id/>. +

+ Example: If your application's .desktop file is named org.example.FooBar.desktop, a good component-id would be + org.example.FooBar. +

<metadata_license/>

+ The <metadata_license/> tag is indicating the content license that you are releasing the one + metainfo file under. This is not typically the same as the project license. Omitting the license value can result + in your data not being incorporated into the distribution metadata (so this is a required tag). +

+ A permissive (https://en.wikipedia.org/wiki/Permissive_software_licence) license ensures your data can + be combined with arbitrary other data in one file, without license conflics (this means copyleft licenses like the GPL are + not suitable as metadata license). + Possible license identifiers include: +

  • FSFAP

  • CC0-1.0

  • CC-BY-3.0

  • CC-BY-SA-3.0

  • GFDL-1.3

  • MIT

+ The license codes correspond to the identifiers found at the SPDX OpenSource License Registry (http://spdx.org/licenses/). + Take a look at <metadata_license/> for more details about this tag. +

+ If you are unsure about which license to pick, the FSFAP (https://spdx.org/licenses/FSFAP.html) or FSFUL license statement is usually + a good choice, as it is short and safe to combine with other licenses. +

<project_license/>

+ The <project_license/> tag is indicating the license(s) this application is released under. + Take a look at the specification of the <project_license/> tag for details on how to properly use it. +

<name/>

+ It is highly recommended to have this tag present and contain a name of your application as value. +

+ In theory you can omit this tag and have the AppStream generator of a Linux distribution automatically use the Name field + of the associated .desktop file (In which case one <launchable/> tag must be present). + However, a large amount of tools expect the metainfo file to be complete and self-sufficient now, which is why omitting this tag will render it + invalid for tools like Flatpak and others use cases which do not involve a metadata preprocessing step. +

+ If no name tag (and no Name desktop-entry field) is present, the metadata + is considered invalid and will be ignored by the AppStream generator. +

<summary/>

+ It is highly recommended to have this tag present and contain a brief summary of what your application is about. +

+ In theory you can omit this tag and have the AppStream generator of a Linux distribution automatically use the Comment field + of the associated .desktop file (In which case one <launchable/> tag must be present). + However, a large amount of tools expect the metainfo file to be complete and self-sufficient now, which is why omitting this tag will render it + invalid for tools like Flatpak and others use cases which do not involve a metadata preprocessing step. +

+ If no summary tag (and no Comment desktop-entry field) is present, the metadata + is considered invalid and will be ignored by the AppStream generator. +

<description/>

+ The long description is an important part of the file. Important things to consider when writing the application description: +

  • Include 2-3 paragraphs of interesting easy to read prose.

  • Ensure you provide a description of what the application actually does.

  • Describe any important features.

  • Do not use possily trademarked product names when refering to competitors.

  • Break down each paragraph into easily translated paragraphs.

  • Use lists sparingly.

  • Never refer to installable items as packages.

  • Never start the first sentence with "This application..."

  • Try not use more than 100 words.

  • Do not be too geeky. Aim for an intelligent semi-technical reader.

  • Don't mention what language an application is written in, users don't care

  • Only mention what the application can do now, rather than what is planned

+ Do not assume the format is HTML. Only paragraph, ordered list and unordered list are supported at this time, as well as emphasis and inline code. + See <description/> for more information. +

+ In metainfo files, this tag should be translated by-paragraph, meaning that in a translated file, each translated <p/> child + has a language property. +

<launchable/> 

+ This tag indicates a possible method to launch the software. Usually you want the application to be launchable by its .desktop file ID. +

+ The tag makes it possible for software centers to offer launching an application immediately after installation. It also connects the metainfo file + with a .desktop file, so AppStream metadata generators and the distribution can absorb its metadata into the final AppStream output. +

+ See <launchable/> for a detailed description of the tag. + Example: +

<launchable type="desktop-id">org.gnome.Sysprof2.desktop</launchable>
<screenshots/> 

+ A screenshot presents your application to the outside world, and could be seen by hundreds or thousands of people. +

+ The <screenshots/> tag contains multiple <screenshot/> children, where at least one of them must have the property + type="default" to indicate the application's primary screenshot. Every <screenshot/> tag must have at least + one <image/> child, which may define the width and height of the referenced image in it's properties. + The value of the <image/> tag is a direct URL to a screenshot uploaded to a public location on the web. +

+ Optionally, a <screenshot/> tag may have a <caption/> child, defining a short (not more than 180 characters!) + description of what the user can see on the referenced screenshot. +

+ Screenshots are an important part of how people choose which applications to install, so it's important to get them right. + Consistent, good looking screenshots will make your application look more attractive and will expand your userbase. + Consistent screenshots also provide a more predictable experience for people using the software center. +

+ Screenshot size, shape and format: +

  • + All screenshots should have a 16:9 aspect ratio, and should have a width that is no smaller than 620px (software center applications will be able to fill in the screenshots in the space they provide for that + more easily then). +

    + Ideally the window will be resized to a 16:9 aspect ratio, but screenshots can also be cropped if only a small area of the window needs to be shown. +

  • + Screenshots should ideally be in the PNG format, but JPEG and WebP images are also fine. Keep in mind though that the images are converted into PNG + in any case by the distributor of a software collection. +

  • Do not scale screenshots below their original size.

+ Basic guidelines for things to include (and not include) in your screenshots: +

  • + Use the default visual and theme settings, including the default font, icons, and window controls. Avoid including your own tweaks to the standard distribution offering. +

  • Screenshots should be taken with English as the display language.

  • + Your default screenshot should give an overview of your application, and should show an entire application window. + It can be combined with screenshots which show specific aspects of the application. +

  • + Screenshots should not show anything outside the application's windows (including the background wallpaper). + If you are taking a screenshot of the whole window, use your screenshot tool's "window" mode (including any window borders in the screenshot, and ensuring that the resulting image has an + alpha mask for the rounded corners). +

  • + Some applications, such as games, primarily run full screen. Screenshots of these applications should be taken with the application + running full screen - there should be no visible window controls in the screenshot. +

  • Don't add shadows to your screenshots.

  • + Do not include content that might be considered offensive or controversial, and avoid showing personal information. Remember that your screenshots will be visible to the internet at large. +

+ Additional advice on how to take effective screenshots: +

  • + Each of your screenshots should focus on one thing and one thing only. Screenshot one window at a time, and avoid having + overlapping windows or user interface elements. + This will make it much easier for people to understand what you are showing them. +

  • If a screenshot is demonstrating a single feature or aspect of the application, crop it to exclude irrelevant detail.

  • + Screenshots often need to feature content, such as images, documents, web pages or videos. Don’t show your application in an ‘empty’ + state, and try and use high quality content which has positive associations and broad appeal. +

  • In general, you shouldn't include the mouse pointer in your screenshots.

+ Some advice for a good screenshot caption: +

  • The caption should be short. Try not to use more than a few words to describe the image.

  • Try not to state the obvious: "Main window displaying an image" is something the user can see on the screenshot already.

  • Try not to repeat the application's name in the caption.

  • Do not end your caption with a fullstop.

+ Some examples of good and bad screenshot choices: +

+

+ BAD: Not on Linux +

+
+

GOOD

+
+

+ BAD: Not 16:9, shows the whole desktop and too many small windows +

+
+

+ GOOD: No window border required for fullscreen game +

+
+

+ BAD: Uses custom font, custom color theme and is not 16:9 +

+
+

GOOD

+
<url/>

+ This is a recommended tag for links of type homepage. + Links of type homepage should be a link to the upstream homepage for the application. +

+ For other possible values, tage a look at the tag's description at <url/>. +

<project_group/>

+ This tag is described for generic components at <project_group/>. You should use it for your application if appropriate. +

<developer_name/>

+ The <developer_name/> tag is designed to represent the developers or project responsible for development of the project described in the metadata. +

+ Values might be for example "The GNOME Foundation" or "The KDE Community". + You must not include hyperlinks or emails in this field, if you want to link to the developer's homepage, use the <url/>-tag instead. +

+ This tag is translatable. +

<update_contact/>

+ The <update_contact/> tag is an optional tag which can be added to provide an email address distributors can use to contact the project + about invalid or incomplete metadata, or in case the specification has changed, about old metadata. It can also be used to ask general questions in case of + an update of the component described in the metadata file. Spam protection using _AT_ is valid. +

+ Example: +

<update_contact>developer_AT_example.com</update_contact>

5.1.4 Suggested metadata file contents

+ It is useful to add these tags as well if they make sense for the described application. + They are not strictly required to be present though. +

<releases/>

+ The application metainfo may include one <releases/> tag, which + has one or multiple <release/> subnodes to define the version and release date of this + application. For details, see <releases/> . +

+ It is very useful to attach short release-notes to a <release/> using the <description/> + subnode. These release-notes should contain brief information about what is new in the release, in a way which is understandable by non-technical users. +

<provides/>

+ This tag is described in detail for generic components at <provides/>. +

+ If your application ships a binary in a location in the default PATH, it is useful to add at least a child of type + <binary/> to make it easily possible to find your application's metadata using the name of its binary. +

\ No newline at end of file diff -Nru appstream-0.12.10/docs/html/Common_Content/css/brand.css appstream-0.14.5/docs/html/Common_Content/css/brand.css --- appstream-0.12.10/docs/html/Common_Content/css/brand.css 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/css/brand.css 1970-01-01 00:00:00.000000000 +0000 @@ -1,14 +0,0 @@ -/*headings*/ -h1, h2, h3, h4, h5, h6, -div.producttitle, -div.subtitle, -div.author div.author, -div.translator div.translator, -div.othercredit div.othercredit, -div.editor div.editor, -div.contrib div.contrib, -.title, -.titlepage .edition, -.titlepage .releaseinfo { - color: #336699; -} diff -Nru appstream-0.12.10/docs/html/Common_Content/css/common.css appstream-0.14.5/docs/html/Common_Content/css/common.css --- appstream-0.12.10/docs/html/Common_Content/css/common.css 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/css/common.css 1970-01-01 00:00:00.000000000 +0000 @@ -1,1740 +0,0 @@ -* { - widows: 4 !important; - orphans: 4 !important; -} - -body, h1, h2, h3, h4, h5, h6, pre, li, div { - line-height: 1.29em; -} - -body { - background-color: white; - margin:0 auto; - font-family: "liberation sans", "Myriad ", "Bitstream Vera Sans", "Lucida Grande", "Luxi Sans", "Trebuchet MS", helvetica, verdana, arial, sans-serif; - font-size: 14px; - max-width: 770px; - color: black; -} - -body.toc_embeded { - /*for web hosting system only*/ - margin-left: 300px; -} - -object.toc, iframe.toc { - /*for web hosting system only*/ - border-style: none; - position: fixed; - width: 290px; - height: 99.99%; - top: 0; - left: 0; - z-index: 100; - border-style: none; - border-right:1px solid #999; -} - -/* Hide web menu */ - -body.notoc { - margin-left: 3em; -} - -iframe.notoc { - border-style:none; - border: none; - padding: 0px; - position:fixed; - width: 21px; - height: 29px; - top: 0px; - left:0; - overflow: hidden; - margin: 0px; - margin-left: -3px; -} -/* End hide web menu */ - -/* desktop styles */ -body.desktop { - margin-left: 26em; -} - -body.desktop .book > .toc { - display:block; - width:24em; - height:99.99%; - position:fixed; - overflow:auto; - top:0px; - left:0px; -/* padding-left:1em; */ - background-color:#EEEEEE; - font-size: 12px; -} - -body.pdf { - max-width: 100%; -} - -.toc { - line-height:1.35em; -} - -.toc .glossary, -.toc .chapter, .toc .appendix { - margin-top:1em; -} - -.toc .part { - margin-top:1em; - display:block; -} - -span.glossary, -span.appendix { - display:block; - margin-top:0.5em; -} - -div { - padding-top:0px; -} - -div.section { -} - -p, div.para { - padding-top: 0px; - margin-top: 1em; - padding-bottom: 0px; - margin-bottom: 1em; -} - -div.formalpara { - padding-top: 0px; - margin-top: 1em; - padding-bottom: 0px; - margin-bottom: 1em; -} - -.varlistentry div.para { - -} - -/*Links*/ -a { - outline: none; -} - -a:link { - text-decoration: none; - border-bottom: 1px dotted ; - color:#3366cc; -} - -body.pdf a:link { - word-wrap: break-word; -} - -a:visited { - text-decoration:none; - border-bottom: 1px dotted ; - color:#003366; -} - -div.longdesc-link { - float:right; - color:#999; -} - -.toc a, .qandaset a { - font-weight:normal; - border:none; -} - -.toc a:hover, .qandaset a:hover -{ - border-bottom: 1px dotted; -} - -/*headings*/ -h1, h2, h3, h4, h5, h6 { - color: #336699; - margin-top: 0px; - margin-bottom: 0px; - background-color: transparent; - margin-bottom: 0px; - margin-top: 20px; - word-wrap: break-word; -} - -h1 { - font-size: 22px; -} - -.titlepage h1.title { - text-align:left; -} - -.book > .titlepage h1.title { - text-align: center; -} - -.article > .titlepage h1.title, -.article > .titlepage h2.title { - text-align: center; -} - -.set .titlepage > div > div > h1.title { - text-align: center; -} - -.part > .titlepage h1.title { - text-align: center; - font-size: 24px; -} - -div.producttitle { - margin-top: 0px; - margin-bottom: 20px; - font-size: 48px; - font-weight: bold; -/* background: #003d6e url(../images/h1-bg.png) top left repeat-x; */ - color: #336699; - text-align: center; - padding-top: 12px; -} - -.titlepage .corpauthor { - margin-top: 1em; - text-align: center; -} - -.section h1.title { - font-size: 18px; - padding: 0px; - color: #336699; - text-align: left; - background: white; -} - -h2 { - font-size: 20px; - margin-top: 30px; -} - - -.book div.subtitle, .book h2.subtitle, .book h3.subtitle { - margin-top: 1em; - margin-bottom: 1em; - font-size: 18px; - text-align: center; -} - -div.subtitle { - color: #336699; - font-weight: bold; -} - -h1.legalnotice { - font-size: 24px; -} - -.preface > div > div > div > h2.title, -.preface > div > div > div > h1.title { - margin-top: 1em; - font-size: 24px; -} - -.appendix h2 { - font-size: 24px; -} - - - -h3 { - font-size: 14px; - padding-top:0px; - padding-bottom: 0px; - margin-bottom: 0px; -} -h4 { - font-size: 14px; - padding-top:0px; - padding-bottom:0px; -} - -h5 { - font-size: 14px; -} - -h6 { - font-size: 14px; - margin-bottom: 0px; -} - -.abstract h6 { - margin-top:1em; - margin-bottom:.5em; - font-size: 24px; -} - -.index > div > div > div > h2.title { - font-size: 24px; -} - -.chapter > div > div > div > h2.title { - font-size: 24px; -} - -.section > div > div > div > h2.title { - font-size: 21px; -} - -.section > div > div > div > h3.title { - font-size: 17px; -} - -/*element rules*/ -hr { - border-collapse: collapse; - border-style:none; - border-top: 1px dotted #ccc; - width:100%; -} - -/* web site rules */ -ul.languages, .languages li { - display:inline; - padding:0px; -} - -.languages li a { - padding:0px .5em; - text-decoration: none; -} - -.languages li p, .languages li div.para { - display:inline; -} - -.languages li a:link, .languages li a:visited { - color:#444; -} - -.languages li a:hover, .languages li a:focus, .languages li a:active { - color:black; -} - -ul.languages { - display:block; - background-color:#eee; - padding:.5em; -} - -/*supporting stylesheets*/ - -/*unique to the webpage only*/ -.books { - position:relative; -} - -.versions li { - width:100%; - clear:both; - display:block; -} - -a.version { - font-size: 20px; - text-decoration:none; - width:100%; - display:block; - padding:1em 0px .2em 0px; - clear:both; -} - -a.version:before { - content:"Version"; - font-size: smaller; -} - -a.version:visited, a.version:link { - color:#666; -} - -a.version:focus, a.version:hover { - color:black; -} - -.books { - display:block; - position:relative; - clear:both; - width:100%; -} - -.books li { - display:block; - width:200px; - float:left; - position:relative; - clear: none ; -} - -.books .html { - width:170px; - display:block; -} - -.books .pdf { - position:absolute; - left:170px; - top:0px; - font-size: smaller; -} - -.books .pdf:link, .books .pdf:visited { - color:#555; -} - -.books .pdf:hover, .books .pdf:focus { - color:#000; -} - -.books li a { - text-decoration:none; -} - -.books li a:hover { - color:black; -} - -/*products*/ -.products li { - display: block; - width:300px; - float:left; -} - -.products li a { - width:300px; - padding:.5em 0px; -} - -.products ul { - clear:both; -} - -/*revision history*/ -.revhistory { - display:block; -} - -.revhistory table { - background-color:transparent; - border-color:#fff; - padding:0px; - margin: 0; - border-collapse:collapse; - border-style:none; -} - -.revhistory td { - text-align :left; - padding:0px; - border: none; - border-top: 1px solid #fff; - font-weight: bold; -} - -.revhistory .simplelist td { - font-weight: normal; -} - -.revhistory .simplelist { - margin-bottom: 1.5em; - margin-left: 1em; -} - -.revhistory table th { - display: none; -} - - -/*credits*/ -.authorgroup div { - clear:both; - text-align: center; -} - -div.author div.author, -div.translator div.translator, -div.othercredit div.othercredit, -div.editor div.editor, -div.contrib div.contrib { - margin: 0px; - padding: 0px; - margin-top: 12px; - font-size: 14px; - font-weight: bold; - color: #336699; -} - -div.editedby { - margin-top: 15px; - margin-bottom: -0.8em; -} - -div.authorgroup .author, -div.authorgroup.editor, -div.authorgroup.translator, -div.authorgroup.othercredit, -div.authorgroup.contrib { - display: block; - font-size: 14px; -} - -.revhistory .author { - display: inline; -} - -.othercredit h3 { - padding-top: 1em; -} - - -.othercredit { - margin:0px; - padding:0px; -} - -.releaseinfo { - clear: both; -} - -.copyright { - margin-top: 1em; -} - -/* qanda sets */ -.answer { - margin-bottom:1em; - border-bottom:1px dotted #ccc; -} - -.qandaset .toc { - border-bottom:1px dotted #ccc; -} - -.question { - font-weight:bold; -} - -.answer .data, .question .data { - padding-left: 2.6em; -} - -.answer .label, .question .label { - float:left; - font-weight:bold; -} - -/* inline syntax highlighting */ -.perl_Alert { - color: #0000ff; -} - -.perl_BaseN { - color: #007f00; -} - -.perl_BString { - color: #5C3566; -} - -.perl_Char { - color: #ff00ff; -} - -.perl_Comment { - color: #888888; -} - - -.perl_DataType { - color: #0000ff; -} - - -.perl_DecVal { - color: #00007f; -} - - -.perl_Error { - color: #ff0000; -} - - -.perl_Float { - color: #00007f; -} - - -.perl_Function { - color: #007f00; -} - - -.perl_IString { - color: #5C3566; -} - - -.perl_Keyword { - color: #002F5D; -} - - -.perl_Operator { - color: #ffa500; -} - - -.perl_Others { - color: #b03060; -} - - -.perl_RegionMarker { - color: #96b9ff; -} - - -.perl_Reserved { - color: #9b30ff; -} - - -.perl_String { - color: #5C3566; -} - - -.perl_Variable { - color: #0000ff; -} - - -.perl_Warning { - color: #0000ff; -} - -/*Lists*/ -ul { - list-style-image: url("../images/dot.png"); - list-style-type: circle; - padding-left: 1.6em; -} - -ul ul { - list-style-image: url("../images/dot2.png"); - list-style-type: circle; -} - -ol.1 { - list-style-type: decimal; -} - -ol.a, -ol ol { - list-style-type: lower-alpha; -} - -ol.i { - list-style-type: lower-roman; -} -ol.A { - list-style-type: upper-alpha; -} - -ol.I { - list-style-type: upper-roman; -} - -dt { - font-weight:bold; - margin-bottom:0px; - padding-bottom:0px; -} - -dd { - margin:0px; - margin-left:2em; - padding-top:0px; -} - -li { - padding-top: 0px; - margin-top: 0px; - padding-bottom: 0px; -/* margin-bottom: 16px; */ -} - -/*images*/ -img { - display:block; - margin: 2em 0; - max-width: 100%; -} - -.inlinemediaobject, -.inlinemediaobject img, -.inlinemediaobject object { - display:inline; - margin:0px; - overflow: hidden; -} - -.figure { - margin-top: 1em; - width: 100%; -} - -.figure img, -.mediaobject img { - display:block; - margin: 0em; -} - -.figure .title { - margin-bottom:2em; - padding:0px; -} - -/*document modes*/ -.confidential { - background-color:#900; - color:White; - padding:.5em .5em; - text-transform:uppercase; - text-align:center; -} - -.longdesc-link { - display:none; -} - -.longdesc { - display:none; -} - -.prompt { - padding:0px .3em; -} - -/*user interface styles*/ -.screen .replaceable { -} - -.guibutton, .guilabel { - font-family: "dejavu sans mono","liberation mono", "bitstream vera mono", "dejavu mono", monospace; - font-weight: bold; -} - -.example { - background-color: #ffffff; - border-left: 3px solid #aaaaaa; - padding-top: 1px; - padding-bottom: 0.1em; - padding-left: 1em; -} - -.equation { - border-left: 3px solid #aaaaaa; - background-color: #ffffff; - padding-top: 1px; - padding-bottom: 0.1em; - padding-left: 1em; -} - -.equation-contents { - margin-left: 4em; -} - -div.title { - margin-bottom: 1em; - font-weight: 14px; - font-weight: bold; - color: #336699; - word-wrap: break-word; -} - -.example-contents { - background-color: #ffffff; -} - -.example-contents .para { -/* padding: 10px;*/ -} - -/*terminal/console text*/ -.computeroutput, -.option { - font-family: "dejavu sans mono","liberation mono", "bitstream vera mono", "dejavu mono", monospace; - font-weight:bold; -} - -.replaceable { - font-style: italic; -} - -.command, .filename, .keycap, .classname, .literal { - font-family: "dejavu sans mono","liberation mono", "bitstream vera mono", "dejavu mono", monospace; - font-weight:bold; -} - -/* no bold in toc */ -.toc * { - font-weight: inherit; -} - -.toc H1 { - font-weight: bold; -} - - -div.programlisting { - white-space: pre-wrap; /* css-3 */ - white-space: -moz-pre-wrap !important; /* Mozilla, since 1999 */ - white-space: -pre-wrap; /* Opera 4-6 */ - white-space: -o-pre-wrap; /* Opera 7 */ - word-wrap: break-word; /* Internet Explorer 5.5+ */ -} - -pre { - font-family: "dejavu sans mono","liberation mono", "bitstream vera mono", "dejavu mono", monospace; - display:block; - background-color: #f5f5f5; - color: #000000; -/* border: 1px solid #aaaaaa; */ - margin-bottom: 1em; - padding:.5em 1em; - white-space: pre-wrap; /* css-3 */ - white-space: -moz-pre-wrap !important; /* Mozilla, since 1999 */ - white-space: -pre-wrap; /* Opera 4-6 */ - white-space: -o-pre-wrap; /* Opera 7 */ - word-wrap: break-word; /* Internet Explorer 5.5+ */ - font-size: 0.9em; - border-style:none; - box-shadow: 0 2px 5px #AAAAAA inset; - -moz-box-shadow: 0 2px 5px #AAAAAA inset; - -webkit-box-shadow: 0 2px 5px #AAAAAA inset; - -o-box-shadow: 0 2px 5px #AAAAAA inset; -} - -body.pdf pre { - border: 1px solid #AAAAAA; - box-shadow: none; - -moz-box-shadow: none; - -webkit-box-shadow: none; - -o-box-shadow: none; -} - - -pre .replaceable, -pre .keycap { -} - -code { - font-family: "dejavu sans mono","liberation mono", "bitstream vera mono", "dejavu mono", monospace; - white-space: pre-wrap; - word-wrap: break-word; - font-weight:bold; -} - -.parameter code { - display: inline; - white-space: pre-wrap; /* css-3 */ - white-space: -moz-pre-wrap !important; /* Mozilla, since 1999 */ - white-space: -pre-wrap; /* Opera 4-6 */ - white-space: -o-pre-wrap; /* Opera 7 */ - word-wrap: break-word; /* Internet Explorer 5.5+ */ -} - -code.email { - font-weight: normal; - font-family: "liberation sans", "Myriad ", "Bitstream Vera Sans", "Lucida Grande", "Luxi Sans", "Trebuchet MS", helvetica, verdana, arial, sans-serif; - -} - -/*Notifications*/ -div.warning:before { - content:url(../images/warning.png); - padding-left: 5px; -} - -div.note:before { - content:url(../images/note.png); - padding-left: 5px; -} - -div.important:before { - content:url(../images/important.png); - padding-left: 5px; -} - -div.warning, div.note, div.important { - color: black; - margin: 0px; - padding: 0px; - background: none; - background-color: white; - margin-bottom: 1em; - border-bottom: 1px solid #aaaaaa; -} - -div.admonition_header p { - margin: 0px; - padding: 0px; - color: #eeeeec; - padding-top: 0px; - padding-bottom: 0px; - height: 1.4em; - line-height: 1.4em; - font-size: 17px; - display:inline; -} - -div.admonition_header { - background-origin:content-box; - clear: both; - margin: 0px; - padding: 0px; - margin-top: -40px; - padding-left: 58px; - line-height: 1.0px; - font-size: 1.0px; -} - -div.warning div.admonition_header { - background: url(../images/red.png) top left repeat-x; - background-color: #590000; - background: -webkit-linear-gradient(#a40000,#590000); - background: linear-gradient(#a40000,#590000); -} - -div.note div.admonition_header { - background: url(../images/green.png) top right repeat-x; - background-color: #597800; - background: -webkit-linear-gradient(#769f00,#597800); - background: linear-gradient(#769f00,#597800); -} - -div.important div.admonition_header { - background: url(../images/yellow.png) top right repeat-x; - background-color: #a6710f; - background: -webkit-linear-gradient(#d08e13,#a6710f); - background: linear-gradient(#d08e13,#a6710f); -} - -div.warning p:first-child, -div.warning div.para:first-child, -div.note p:first-child, -div.note div.para:first-child, -div.important p:first-child, -div.important div.para:first-child { - padding: 0px; - margin: 0px; -} - -div.admonition { - border: none; - border-left: 1px solid #aaaaaa; - border-right: 1px solid #aaaaaa; - padding:0px; - margin:0px; - padding-top: 1.5em; - padding-bottom: 1em; - padding-left: 2em; - padding-right: 1em; - background-color: #eeeeec; - -moz-border-radius: 0px; - -webkit-border-radius: 0px; - border-radius: 0px; -} - -/*Page Title*/ -#title { - display:block; - height:45px; - padding-bottom:1em; - margin:0px; -} - -#title a.left{ - display:inline; - border:none; -} - -#title a.left img{ - border:none; - float:left; - margin:0px; - margin-top:.7em; -} - -#title a.right { - padding-bottom:1em; -} - -#title a.right img { - border:none; - float:right; - margin:0px; - margin-top:.7em; -} - -/*Table*/ -div.table { -} - -table { - border: 1px solid #444; - width:100%; - border-collapse:collapse; - table-layout: fixed; - word-wrap: break-word; -} - -table.blockquote, -table.simplelist, -.calloutlist table { - border-style: none; -} - -table th { - text-align:left; - background-color:#6699cc; - padding:.3em .5em; - color:white; -} - -table td { - padding:.15em .5em; -} - -table tr.even td { - background-color:#f5f5f5; -} - -tr:nth-child(even) { - background-color: #eeeeee; - -} - - -table th p:first-child, table td p:first-child, table li p:first-child, -table th div.para:first-child, table td div.para:first-child, table li div.para:first-child { - margin-top:0px; - padding-top:0px; - display:inline; -} - -th, td { - border-style:none; - vertical-align: top; -/* border: 1px solid #000; */ -} - -.blockquote td, -.simplelist th, -.simplelist td { - border: none; -} - -table table td { - border-bottom:1px dotted #aaa; - background-color:white; - padding:.6em 0px; -} - -table table { - border:1px solid white; -} - -td.remarkval { - color:#444; -} - -td.fieldval { - font-weight:bold; -} - -.lbname, .lbtype, .lbdescr, .lbdriver, .lbhost { - color:white; - font-weight:bold; - background-color:#999; - width:120px; -} - -td.remarkval { - width:230px; -} - -td.tname { - font-weight:bold; -} - -th.dbfield { - width:120px; -} - -th.dbtype { - width:70px; -} - -th.dbdefault { - width:70px; -} - -th.dbnul { - width:70px; -} - -th.dbkey { - width:70px; -} - -span.book { - margin-top:4em; - display:block; - font-size: 11pt; -} - -span.book a{ - font-weight:bold; -} -span.chapter { - display:block; -} - -table.simplelist td, .calloutlist table td { - border-style: none; -} - - -table.lt-4-cols.lt-7-rows td { - border: none; -} -/*to simplify layout*/ - - -table.lt-4-cols.gt-14-rows tr:nth-child(odd) { - background-color: #fafafa; -} -/* to keep simple but stripe rows */ - - -.gt-8-cols td { - border-left: 1px solid #ccc; -} - -.gt-8-cols td:first-child { - border-left: 0; -} -/* to apply vertical lines to differentiate columns*/ - -/*Breadcrumbs*/ -#breadcrumbs ul li.first:before { - content:" "; -} - -#breadcrumbs { - color:#900; - padding:3px; - margin-bottom:25px; -} - -#breadcrumbs ul { - margin-left:0; - padding-left:0; - display:inline; - border:none; -} - -#breadcrumbs ul li { - margin-left:0; - padding-left:2px; - border:none; - list-style:none; - display:inline; -} - -#breadcrumbs ul li:before { - content:"\0020 \0020 \0020 \00BB \0020"; - color:#333; -} - -dl { - margin-top: 0px; - margin-left: 28px; -} - -.toc dl { - margin-left: 10px; -} - -/*index*/ -.glossary h3, -.index h3 { - font-size: 20px; - color:#aaa; - margin:0px; -} - -.indexdiv { - margin-bottom:1em; -} - -.glossary dt, -.index dt { - color:#444; - padding-top:.5em; -} - -.glossary dl dl dt, -.index dl dl dt { - color:#777; - font-weight:normal; - padding-top:0px; -} - -.index dl dl dt:before { - content:"- "; - color:#ccc; -} - -/*changes*/ -.footnote { - font-size: 10px; - margin: 0px; - color: #222; -} - -.footnotes { - margin-bottom: 60px; -} - -table .footnote { -} - -sup { - margin:0px; - padding:0px; - font-size: 10px; - padding-left:0px; -} - -.footnote { - position:relative; -} - -.footnote sup { - color: black; - left: .4em; -} - -.footnote a:link, -.footnote a:visited { - text-decoration:none; - border: none; -} - -.footnote .para sup { -/* position:absolute; */ - vertical-align:text-bottom; -} - -a.footnote { - padding-right: 0.5em; - text-decoration:none; - border: none; -} - -.footnote sup a:link, -.footnote sup a:visited { - color:#92917d; - text-decoration:none; -} - -.footnote:hover sup a { - text-decoration:none; -} - -.footnote p,.footnote div.para { - padding-left:1em; -} - -.footnote a:link, -.footnote a:visited before{ - color:#00537c; -} - -.footnote a:hover { -} - -/**/ -.pdf-break { -} - -div.legalnotice { -} - -div.abstract { -} - -div.chapter { -} - - -div.titlepage, div.titlepage > div, div.titlepage > div > div { -} - -div.preface, div.part { -} - -div.appendix { -} - -div.section { -} - - -dt.varlistentry { -} - -dd { -} - -div.note .replaceable, -div.important .replaceable, -div.warning .replaceable, -div.note .keycap, -div.important .keycap, -div.warning .keycap -{ -} - -ul li p:last-child, ul li para:last-child { - margin-bottom:0px; - padding-bottom:0px; -} - -/*document navigation*/ -.docnav a, .docnav strong { - border:none; - text-decoration:none; - font-weight:normal; -} - -.docnav { - list-style:none; - margin:0px; - padding:0px; - position:relative; - width:100%; - padding-bottom:2em; - padding-top:1em; - height:2.5em; - line-height:2.5em; -/* - border-top:1px dotted #ccc; - background-color: rgba(240, 240, 240, 0.9); --webkitbox-shadow: 0px .15em .5em rgba(0,0,0,0.2); - -moz-box-shadow: 0px .15em .5em rgba(0,0,0,0.2); - box-shadow: 0px .15em .5em rgba(0,0,0,0.2); -*/ -} - -.docnav li { - list-style:none; - margin:0px; - padding:0px; - display:inline; - font-size: 14px; -} - -.docnav li:before { - content:" "; -} - -.docnav li.previous, .docnav li.next { - position:absolute; - top:1.5em; -} - -.docnav li.up, .docnav li.home { - margin:0px 1.5em; -} - -.docnav.top li.home { - color: #336699; - font-size: 22pt; - font-weight: bold; -} - - -.docnav li.previous { - left:0px; - text-align:left; -} - -.docnav li.next { - right:0px; - text-align:right; -} - -.docnav li.previous strong, .docnav li.next strong { - height: 17px; - display: block; -} - -.docnav { - margin:0 auto; - text-align:center; -} - -.docnav li.next a strong { - background: url(../images/stock-go-forward.png) right 120% no-repeat; - padding-top:3px; - padding-bottom:4px; - padding-right:28px; -} - -.docnav li.previous a strong { - background: url(../images/stock-go-back.png) left 120% no-repeat; - padding-top:3px; - padding-bottom:4px; - padding-left:28px; - padding-right:0.5em; -} - -.docnav li.home a strong { - background: url(../images/stock-home.png) top left no-repeat; - padding:5px; - padding-left:28px; -} - -.docnav li.up a strong { - background: url(../images/stock-go-up.png) top left no-repeat; - padding:5px; - padding-left:28px; -} - -.docnav a:link, .docnav a:visited { - color:#666; -} - -.docnav a:hover, .docnav a:focus, .docnav a:active { - color:black; -} - -.docnav a { - max-width: 10px; - overflow:hidden; -} - -.docnav a:link strong { - text-decoration:none; -} - -.docnav { - margin:0 auto; - text-align:center; -} - -ul.docnav { - margin-bottom: 1em; -} -/* Reports */ -.reports ul { - list-style:none; - margin:0px; - padding:0px; -} - -.reports li{ - margin:0px; - padding:0px; -} - -.reports li.odd { - background-color: #eeeeee; - margin:0px; - padding:0px; -} - -.reports dl { - display:inline; - margin:0px; - padding:0px; - float:right; - margin-right: 17em; - margin-top:-1.3em; -} - -.reports dt { - display:inline; - margin:0px; - padding:0px; -} - -.reports dd { - display:inline; - margin:0px; - padding:0px; - padding-right:.5em; -} - -.reports h2, .reports h3{ - display:inline; - padding-right:.5em; - font-size: 14px; - font-weight:normal; -} - -.reports div.progress { - display:inline; - float:right; - width:16em; - background:#c00 url(../images/shine.png) top left repeat-x; - margin:0px; - margin-top:-1.3em; - padding:0px; - border:none; -} - -/*uniform*/ -body.results, body.reports { - max-width:57em ; - padding:0px; -} - -/*Progress Bar*/ -div.progress { - display:block; - float:left; - width:16em; - background:#c00 url(../images/shine.png) top left repeat-x; - height:1em; -} - -div.progress span { - height:1em; - float:left; -} - -div.progress span.translated { - background:#6c3 url(../images/shine.png) top left repeat-x; -} - -div.progress span.fuzzy { - background:#ff9f00 url(../images/shine.png) top left repeat-x; -} - - -/*Results*/ - -.results ul { - list-style:none; - margin:0px; - padding:0px; -} - -.results li{ - margin:0px; - padding:0px; -} - -.results li.odd { - background-color: #eeeeee; - margin:0px; - padding:0px; -} - -.results dl { - display:inline; - margin:0px; - padding:0px; - float:right; - margin-right: 17em; - margin-top:-1.3em; -} - -.results dt { - display:inline; - margin:0px; - padding:0px; -} - -.results dd { - display:inline; - margin:0px; - padding:0px; - padding-right:.5em; -} - -.results h2, .results h3 { - display:inline; - padding-right:.5em; - font-size: 14px; - font-weight:normal; -} - -.results div.progress { - display:inline; - float:right; - width:16em; - background:#c00 url(../images/shine.png) top left repeat-x; - margin:0px; - margin-top:-1.3em; - padding:0px; - border:none; -} - -/* Dirty EVIL Mozilla hack for round corners */ -pre { - -moz-border-radius:11px; - -webkit-border-radius:11px; - border-radius: 11px; -} - -.example { - -moz-border-radius:0px; - -webkit-border-radius:0px; - border-radius: 0px; -} - -/* move these invisible fields out of the flow */ -.example > a:first-child, -.table > a:first-child, -.procedure > a:first-child { - float: left; -} - -.package, .citetitle { - font-style: italic; -} - -.titlepage .edition, -.titlepage .releaseinfo { - color: #336699; - background-color: transparent; - margin-top: 1em; - margin-bottom: 1em; - font-size: 20px; - font-weight: bold; - text-align: center; -} - -span.remark { - background-color: #ff00ff; -} - -.draft { - background-image: url(../images/watermark-draft.png); - background-repeat: repeat-y; - background-position: center; -} - -.foreignphrase { - font-style: inherit; -} - -dt { - clear:both; -} - -dt img { - border-style: none; - max-width: 112px; -} - -dt object { - max-width: 112px; -} - -dt .inlinemediaobject, dt object { - display: inline; - float: left; - margin-bottom: 1em; - padding-right: 1em; - width: 112px; -} - -dl:after { - display: block; - clear: both; - content: ""; -} - -.toc dd { - padding-bottom: 0px; - margin-bottom: 1em; - padding-left: 1.3em; - margin-left: 0px; -} - -div.toc > dl > dt { - padding-bottom: 0px; - margin-bottom: 0px; - margin-top: 1em; -} - - -.strikethrough { - text-decoration: line-through; -} - -.underline { - text-decoration: underline; -} - -.calloutlist img, -.callout { - padding: 0px; - margin: 0px; - width: 12pt; - display: inline; - vertical-align: middle; -} - -li.step > a:first-child { - display: block; -} - -.stepalternatives { - list-style-image: none; - list-style-type: upper-alpha; -} -.task { -} - - -.added { - background-color: #99ff99; -} - -.changed { - background-color: #ffff77; -} - -.deleted { - background-color: #ff4455; - text-decoration: line-through; -} - - diff -Nru appstream-0.12.10/docs/html/Common_Content/css/default.css appstream-0.14.5/docs/html/Common_Content/css/default.css --- appstream-0.12.10/docs/html/Common_Content/css/default.css 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/css/default.css 1970-01-01 00:00:00.000000000 +0000 @@ -1,4 +0,0 @@ -@import url("common.css"); -@import url("overrides.css"); -@import url("lang.css"); - diff -Nru appstream-0.12.10/docs/html/Common_Content/css/epub.css appstream-0.14.5/docs/html/Common_Content/css/epub.css --- appstream-0.12.10/docs/html/Common_Content/css/epub.css 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/css/epub.css 1970-01-01 00:00:00.000000000 +0000 @@ -1,115 +0,0 @@ -/*headings*/ -h1, h2, h3, h4, h5, h6, -div.producttitle, -div.subtitle, -div.author div.author, -div.translator div.translator, -div.othercredit div.othercredit, -div.editor div.editor, -div.contrib div.contrib, -.title, -.titlepage .edition { -} - -div.para { - margin-top: 1em; -} -/* inline syntax highlighting */ -.perl_Alert { - color: #0000ff; -} - -.perl_BaseN { - color: #007f00; -} - -.perl_BString { - color: #5C3566; -} - -.perl_Char { - color: #ff00ff; -} - -.perl_Comment { - color: #888888; -} - - -.perl_DataType { - color: #0000ff; -} - - -.perl_DecVal { - color: #00007f; -} - - -.perl_Error { - color: #ff0000; -} - - -.perl_Float { - color: #00007f; -} - - -.perl_Function { - color: #007f00; -} - - -.perl_IString { - color: #5C3566; -} - - -.perl_Keyword { - color: #002F5D; -} - - -.perl_Operator { - color: #ffa500; -} - - -.perl_Others { - color: #b03060; -} - - -.perl_RegionMarker { - color: #96b9ff; -} - - -.perl_Reserved { - color: #9b30ff; -} - - -.perl_String { - color: #5C3566; -} - - -.perl_Variable { - color: #0000ff; -} - - -.perl_Warning { - color: #0000ff; -} - -b, strong { - font-weight: bolder; -} - -code.command { - font-family: monospace; - font-weight: bolder; -} diff -Nru appstream-0.12.10/docs/html/Common_Content/css/print.css appstream-0.14.5/docs/html/Common_Content/css/print.css --- appstream-0.12.10/docs/html/Common_Content/css/print.css 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/css/print.css 1970-01-01 00:00:00.000000000 +0000 @@ -1,16 +0,0 @@ -@import url("common.css"); -@import url("overrides.css"); -@import url("lang.css"); - -#tocframe { - display: none; -} - -body.toc_embeded { - margin-left: 30px; -} - -.producttitle { - color: #336699; -} - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/10.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/10.png differ diff -Nru appstream-0.12.10/docs/html/Common_Content/images/10.svg appstream-0.14.5/docs/html/Common_Content/images/10.svg --- appstream-0.12.10/docs/html/Common_Content/images/10.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/images/10.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ - - - - - - - - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/11.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/11.png differ diff -Nru appstream-0.12.10/docs/html/Common_Content/images/11.svg appstream-0.14.5/docs/html/Common_Content/images/11.svg --- appstream-0.12.10/docs/html/Common_Content/images/11.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/images/11.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ - - - - - - - - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/12.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/12.png differ diff -Nru appstream-0.12.10/docs/html/Common_Content/images/12.svg appstream-0.14.5/docs/html/Common_Content/images/12.svg --- appstream-0.12.10/docs/html/Common_Content/images/12.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/images/12.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ - - - - - - - - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/13.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/13.png differ diff -Nru appstream-0.12.10/docs/html/Common_Content/images/13.svg appstream-0.14.5/docs/html/Common_Content/images/13.svg --- appstream-0.12.10/docs/html/Common_Content/images/13.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/images/13.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ - - - - - - - - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/14.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/14.png differ diff -Nru appstream-0.12.10/docs/html/Common_Content/images/14.svg appstream-0.14.5/docs/html/Common_Content/images/14.svg --- appstream-0.12.10/docs/html/Common_Content/images/14.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/images/14.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ - - - - - - - - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/15.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/15.png differ diff -Nru appstream-0.12.10/docs/html/Common_Content/images/15.svg appstream-0.14.5/docs/html/Common_Content/images/15.svg --- appstream-0.12.10/docs/html/Common_Content/images/15.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/images/15.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ - - - - - - - - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/16.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/16.png differ diff -Nru appstream-0.12.10/docs/html/Common_Content/images/16.svg appstream-0.14.5/docs/html/Common_Content/images/16.svg --- appstream-0.12.10/docs/html/Common_Content/images/16.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/images/16.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ - - - - - - - - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/17.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/17.png differ diff -Nru appstream-0.12.10/docs/html/Common_Content/images/17.svg appstream-0.14.5/docs/html/Common_Content/images/17.svg --- appstream-0.12.10/docs/html/Common_Content/images/17.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/images/17.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ - - - - - - - - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/18.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/18.png differ diff -Nru appstream-0.12.10/docs/html/Common_Content/images/18.svg appstream-0.14.5/docs/html/Common_Content/images/18.svg --- appstream-0.12.10/docs/html/Common_Content/images/18.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/images/18.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ - - - - - - - - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/19.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/19.png differ diff -Nru appstream-0.12.10/docs/html/Common_Content/images/19.svg appstream-0.14.5/docs/html/Common_Content/images/19.svg --- appstream-0.12.10/docs/html/Common_Content/images/19.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/images/19.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ - - - - - - - - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/1.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/1.png differ diff -Nru appstream-0.12.10/docs/html/Common_Content/images/1.svg appstream-0.14.5/docs/html/Common_Content/images/1.svg --- appstream-0.12.10/docs/html/Common_Content/images/1.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/images/1.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,27 +0,0 @@ - - - - - - - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/20.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/20.png differ diff -Nru appstream-0.12.10/docs/html/Common_Content/images/20.svg appstream-0.14.5/docs/html/Common_Content/images/20.svg --- appstream-0.12.10/docs/html/Common_Content/images/20.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/images/20.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ - - - - - - - - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/21.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/21.png differ diff -Nru appstream-0.12.10/docs/html/Common_Content/images/21.svg appstream-0.14.5/docs/html/Common_Content/images/21.svg --- appstream-0.12.10/docs/html/Common_Content/images/21.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/images/21.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ - - - - - - - - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/22.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/22.png differ diff -Nru appstream-0.12.10/docs/html/Common_Content/images/22.svg appstream-0.14.5/docs/html/Common_Content/images/22.svg --- appstream-0.12.10/docs/html/Common_Content/images/22.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/images/22.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ - - - - - - - - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/23.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/23.png differ diff -Nru appstream-0.12.10/docs/html/Common_Content/images/23.svg appstream-0.14.5/docs/html/Common_Content/images/23.svg --- appstream-0.12.10/docs/html/Common_Content/images/23.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/images/23.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ - - - - - - - - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/24.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/24.png differ diff -Nru appstream-0.12.10/docs/html/Common_Content/images/24.svg appstream-0.14.5/docs/html/Common_Content/images/24.svg --- appstream-0.12.10/docs/html/Common_Content/images/24.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/images/24.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ - - - - - - - - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/25.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/25.png differ diff -Nru appstream-0.12.10/docs/html/Common_Content/images/25.svg appstream-0.14.5/docs/html/Common_Content/images/25.svg --- appstream-0.12.10/docs/html/Common_Content/images/25.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/images/25.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ - - - - - - - - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/26.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/26.png differ diff -Nru appstream-0.12.10/docs/html/Common_Content/images/26.svg appstream-0.14.5/docs/html/Common_Content/images/26.svg --- appstream-0.12.10/docs/html/Common_Content/images/26.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/images/26.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ - - - - - - - - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/27.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/27.png differ diff -Nru appstream-0.12.10/docs/html/Common_Content/images/27.svg appstream-0.14.5/docs/html/Common_Content/images/27.svg --- appstream-0.12.10/docs/html/Common_Content/images/27.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/images/27.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ - - - - - - - - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/28.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/28.png differ diff -Nru appstream-0.12.10/docs/html/Common_Content/images/28.svg appstream-0.14.5/docs/html/Common_Content/images/28.svg --- appstream-0.12.10/docs/html/Common_Content/images/28.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/images/28.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ - - - - - - - - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/29.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/29.png differ diff -Nru appstream-0.12.10/docs/html/Common_Content/images/29.svg appstream-0.14.5/docs/html/Common_Content/images/29.svg --- appstream-0.12.10/docs/html/Common_Content/images/29.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/images/29.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ - - - - - - - - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/2.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/2.png differ diff -Nru appstream-0.12.10/docs/html/Common_Content/images/2.svg appstream-0.14.5/docs/html/Common_Content/images/2.svg --- appstream-0.12.10/docs/html/Common_Content/images/2.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/images/2.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,27 +0,0 @@ - - - - - - - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/30.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/30.png differ diff -Nru appstream-0.12.10/docs/html/Common_Content/images/30.svg appstream-0.14.5/docs/html/Common_Content/images/30.svg --- appstream-0.12.10/docs/html/Common_Content/images/30.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/images/30.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ - - - - - - - - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/31.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/31.png differ diff -Nru appstream-0.12.10/docs/html/Common_Content/images/31.svg appstream-0.14.5/docs/html/Common_Content/images/31.svg --- appstream-0.12.10/docs/html/Common_Content/images/31.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/images/31.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ - - - - - - - - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/32.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/32.png differ diff -Nru appstream-0.12.10/docs/html/Common_Content/images/32.svg appstream-0.14.5/docs/html/Common_Content/images/32.svg --- appstream-0.12.10/docs/html/Common_Content/images/32.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/images/32.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ - - - - - - - - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/33.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/33.png differ diff -Nru appstream-0.12.10/docs/html/Common_Content/images/33.svg appstream-0.14.5/docs/html/Common_Content/images/33.svg --- appstream-0.12.10/docs/html/Common_Content/images/33.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/images/33.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ - - - - - - - - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/34.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/34.png differ diff -Nru appstream-0.12.10/docs/html/Common_Content/images/34.svg appstream-0.14.5/docs/html/Common_Content/images/34.svg --- appstream-0.12.10/docs/html/Common_Content/images/34.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/images/34.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ - - - - - - - - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/35.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/35.png differ diff -Nru appstream-0.12.10/docs/html/Common_Content/images/35.svg appstream-0.14.5/docs/html/Common_Content/images/35.svg --- appstream-0.12.10/docs/html/Common_Content/images/35.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/images/35.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ - - - - - - - - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/36.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/36.png differ diff -Nru appstream-0.12.10/docs/html/Common_Content/images/36.svg appstream-0.14.5/docs/html/Common_Content/images/36.svg --- appstream-0.12.10/docs/html/Common_Content/images/36.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/images/36.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ - - - - - - - - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/37.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/37.png differ diff -Nru appstream-0.12.10/docs/html/Common_Content/images/37.svg appstream-0.14.5/docs/html/Common_Content/images/37.svg --- appstream-0.12.10/docs/html/Common_Content/images/37.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/images/37.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ - - - - - - - - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/38.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/38.png differ diff -Nru appstream-0.12.10/docs/html/Common_Content/images/38.svg appstream-0.14.5/docs/html/Common_Content/images/38.svg --- appstream-0.12.10/docs/html/Common_Content/images/38.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/images/38.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ - - - - - - - - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/39.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/39.png differ diff -Nru appstream-0.12.10/docs/html/Common_Content/images/39.svg appstream-0.14.5/docs/html/Common_Content/images/39.svg --- appstream-0.12.10/docs/html/Common_Content/images/39.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/images/39.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ - - - - - - - - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/3.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/3.png differ diff -Nru appstream-0.12.10/docs/html/Common_Content/images/3.svg appstream-0.14.5/docs/html/Common_Content/images/3.svg --- appstream-0.12.10/docs/html/Common_Content/images/3.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/images/3.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,27 +0,0 @@ - - - - - - - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/40.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/40.png differ diff -Nru appstream-0.12.10/docs/html/Common_Content/images/40.svg appstream-0.14.5/docs/html/Common_Content/images/40.svg --- appstream-0.12.10/docs/html/Common_Content/images/40.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/images/40.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ - - - - - - - - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/4.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/4.png differ diff -Nru appstream-0.12.10/docs/html/Common_Content/images/4.svg appstream-0.14.5/docs/html/Common_Content/images/4.svg --- appstream-0.12.10/docs/html/Common_Content/images/4.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/images/4.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,27 +0,0 @@ - - - - - - - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/5.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/5.png differ diff -Nru appstream-0.12.10/docs/html/Common_Content/images/5.svg appstream-0.14.5/docs/html/Common_Content/images/5.svg --- appstream-0.12.10/docs/html/Common_Content/images/5.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/images/5.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,27 +0,0 @@ - - - - - - - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/6.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/6.png differ diff -Nru appstream-0.12.10/docs/html/Common_Content/images/6.svg appstream-0.14.5/docs/html/Common_Content/images/6.svg --- appstream-0.12.10/docs/html/Common_Content/images/6.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/images/6.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,27 +0,0 @@ - - - - - - - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/7.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/7.png differ diff -Nru appstream-0.12.10/docs/html/Common_Content/images/7.svg appstream-0.14.5/docs/html/Common_Content/images/7.svg --- appstream-0.12.10/docs/html/Common_Content/images/7.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/images/7.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,27 +0,0 @@ - - - - - - - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/8.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/8.png differ diff -Nru appstream-0.12.10/docs/html/Common_Content/images/8.svg appstream-0.14.5/docs/html/Common_Content/images/8.svg --- appstream-0.12.10/docs/html/Common_Content/images/8.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/images/8.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,27 +0,0 @@ - - - - - - - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/9.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/9.png differ diff -Nru appstream-0.12.10/docs/html/Common_Content/images/9.svg appstream-0.14.5/docs/html/Common_Content/images/9.svg --- appstream-0.12.10/docs/html/Common_Content/images/9.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/images/9.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,27 +0,0 @@ - - - - - - - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/dot2.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/dot2.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/dot.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/dot.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/green.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/green.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/h1-bg.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/h1-bg.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/image_left.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/image_left.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/image_right.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/image_right.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/important.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/important.png differ diff -Nru appstream-0.12.10/docs/html/Common_Content/images/important.svg appstream-0.14.5/docs/html/Common_Content/images/important.svg --- appstream-0.12.10/docs/html/Common_Content/images/important.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/images/important.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,30 +0,0 @@ - - - - - - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/note.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/note.png differ diff -Nru appstream-0.12.10/docs/html/Common_Content/images/note.svg appstream-0.14.5/docs/html/Common_Content/images/note.svg --- appstream-0.12.10/docs/html/Common_Content/images/note.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/images/note.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,28 +0,0 @@ - - - - - - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/red.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/red.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/shine.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/shine.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/stock-go-back.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/stock-go-back.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/stock-go-forward.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/stock-go-forward.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/stock-go-up.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/stock-go-up.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/stock-home.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/stock-home.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/title_logo.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/title_logo.png differ diff -Nru appstream-0.12.10/docs/html/Common_Content/images/title_logo.svg appstream-0.14.5/docs/html/Common_Content/images/title_logo.svg --- appstream-0.12.10/docs/html/Common_Content/images/title_logo.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/images/title_logo.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,350 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - BOOK PUBLISHING TOOL - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/warning.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/warning.png differ diff -Nru appstream-0.12.10/docs/html/Common_Content/images/warning.svg appstream-0.14.5/docs/html/Common_Content/images/warning.svg --- appstream-0.12.10/docs/html/Common_Content/images/warning.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/Common_Content/images/warning.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,130 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/watermark-draft.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/watermark-draft.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/Common_Content/images/yellow.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/Common_Content/images/yellow.png differ diff -Nru appstream-0.12.10/docs/html/images/appstream-button1.svg appstream-0.14.5/docs/html/images/appstream-button1.svg --- appstream-0.12.10/docs/html/images/appstream-button1.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/images/appstream-button1.svg 2021-08-28 20:15:15.000000000 +0000 @@ -1,96 +1,23 @@ - - - - - - + + + + - - - - - + + + + + - - - + + + - - - + + + - - + - + image/svg+xml - - + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - + + + + + + + + + + diff -Nru appstream-0.12.10/docs/html/images/appstream-button2.svg appstream-0.14.5/docs/html/images/appstream-button2.svg --- appstream-0.12.10/docs/html/images/appstream-button2.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/images/appstream-button2.svg 2021-08-28 20:15:15.000000000 +0000 @@ -1,85 +1,19 @@ - - - - - - + + + + - - - - - + + + + + - - - + + + - - + - + image/svg+xml - - + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/images/appstream-logo.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/images/appstream-logo.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/images/architecture-small.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/images/architecture-small.png differ diff -Nru appstream-0.12.10/docs/html/images/architecture.svg appstream-0.14.5/docs/html/images/architecture.svg --- appstream-0.12.10/docs/html/images/architecture.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/images/architecture.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,521 +0,0 @@ - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - Ratings- Comments - - - - - desktop-files - - app-icons.tar.gz - - - - components.xml - - - Composeserver - Mirror - package file - Client - - SoftwareCenter - FeedbackServer - - PackageKit - - extract metadata (metainfo files, desktop files, pkg-config, ...)- construct metadata (AppStream collection XML or YAML) - - cache / data pool - - - - - oauth - Rebuild onrepo-enable, etc - priority,stemming - Rebuild onrepo-compose - - - Packagemetadata - XML metadata - - diff -Nru appstream-0.12.10/docs/html/images/old_libas_architecture.svg appstream-0.14.5/docs/html/images/old_libas_architecture.svg --- appstream-0.12.10/docs/html/images/old_libas_architecture.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/images/old_libas_architecture.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,609 +0,0 @@ - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - PackageKit Daemon - - - Cache - - - AppStream Plugin - - - - AppInstallDesktop-File - - AppStreamXML - - DEP-11YAML - Application data sources - - - - - - libappstream - - - - Client(software-center, ...) - - - - Client - - - - - - Icons - Screenshots - - Ratings - Reviews - - - - Icons - Screenshots - - Ratings - Reviews - - - - - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/images/pure_architecture.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/images/pure_architecture.png differ diff -Nru appstream-0.12.10/docs/html/images/pure_architecture.svg appstream-0.14.5/docs/html/images/pure_architecture.svg --- appstream-0.12.10/docs/html/images/pure_architecture.svg 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/images/pure_architecture.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,505 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - Ratings- Comments - - - - - desktop-files - - component-data.xml - - app-icon-images - - - - Composeserver - Repo onMirror - - Existingmetadata - package file - Client - FeedbackServer - - oauth - Rebuild onrepo-compose - - - ScreenshotServer - One server perdistro or 3rdparty repo - One or oneper distro - - - http - http - Aggregates multiple sources:repos, user-feedback servers andscreenshot servers - XML metadata - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/images/screxample_gameconqueror-bad.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/images/screxample_gameconqueror-bad.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/images/screxample_geany-good.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/images/screxample_geany-good.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/images/scr-examples/gameconqueror-bad.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/images/scr-examples/gameconqueror-bad.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/images/scr-examples/geany-good.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/images/scr-examples/geany-good.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/images/scr-examples/wireshark-good.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/images/scr-examples/wireshark-good.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/images/scr-examples/xmedcon-bad.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/images/scr-examples/xmedcon-bad.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/images/scr-examples/xonotic-good.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/images/scr-examples/xonotic-good.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/images/scr-examples/xterm-bad.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/images/scr-examples/xterm-bad.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/images/screxample_wireshark-good.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/images/screxample_wireshark-good.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/images/screxample_xmedcon-bad.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/images/screxample_xmedcon-bad.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/images/screxample_xonotic-good.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/images/screxample_xonotic-good.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/images/screxample_xterm-bad.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/images/screxample_xterm-bad.png differ diff -Nru appstream-0.12.10/docs/html/index.html appstream-0.14.5/docs/html/index.html --- appstream-0.12.10/docs/html/index.html 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/index.html 2021-08-28 20:15:19.000000000 +0000 @@ -1,13 +1,36 @@ -AppStream

Product SiteDocumentation Site

AppStream 0.12

AppStream

Infrastructure for distro-agnostic software-centers and universal software component metadata

Edition 1

- +AppStream | AppStream 0.14 +
Navigation
AppStream 0.14

AppStream

Infrastructure for distro-agnostic software-centers and universal software component metadata

+ AppStream is a collaborative effort for enhancing the way we interact with the software + repositories provided by the distribution by standardizing sets of additional metadata. +

+ AppStream provides the foundation to build software-center applications. + It additionally provides specifications for things like an unified software metadata database, + screenshot services and various other things needed to create user-friendly application-centers + for software distributions. +

+ You can find a C/GLib based reference implementation of the full specification at + github.com/ximion/appstream (https://github.com/ximion/appstream) and report bugs about the implementation + as well as the specification itself at the issue tracker (https://github.com/ximion/appstream/issues). + The project also provides a web form for the simple creation of metainfo XML files for upstream maintainers at + freedesktop.org/software/appstream/metainfocreator (https://www.freedesktop.org/software/appstream/metainfocreator/#/). +

+ +

Authors: Matthias Klumpp, Michael Vogt, Richard Hughes, and Vincent Untz
Publication Date: 2021-08-28

+ Copyright © 2012-2021 Matthias Klumpp. This material may only be distributed subject to the terms and conditions set + forth in the GNU Free Documentation License (GFDL), V1.2 with no invariant sections or later (the latest version is presently available at + http://www.gnu.org/licenses/fdl.txt (http://www.gnu.org/licenses/fdl.txt)). +

\ No newline at end of file diff -Nru appstream-0.12.10/docs/html/ix01.html appstream-0.14.5/docs/html/ix01.html --- appstream-0.12.10/docs/html/ix01.html 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/ix01.html 2021-08-28 20:15:19.000000000 +0000 @@ -1,3 +1,16 @@ -Index

Product SiteDocumentation Site

- ⁠Index

\ No newline at end of file +Index | AppStream | AppStream 0.14 + \ No newline at end of file diff -Nru appstream-0.12.10/docs/html/sect-AppStream-IconCache.html appstream-0.14.5/docs/html/sect-AppStream-IconCache.html --- appstream-0.12.10/docs/html/sect-AppStream-IconCache.html 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/sect-AppStream-IconCache.html 2021-08-28 20:15:19.000000000 +0000 @@ -1,15 +1,35 @@ -3.3. Icon Cache

Product SiteDocumentation Site

- ⁠3.3. Icon Cache

- ⁠3.3.1. Introduction

- In order to display icons in software-centers, distributors should offer a repository of cached icons for applications defined in their AppStream XML files. The icons should be PNG files or vectorgraphics (PNG is preferred) and match the name referenced in the applications .desktop file. Their size should be 64x64px, it is okay to just provide one size. -

- ⁠3.3.2. Filesystem locations

- All icons of type cached must be placed in /usr/share/app-info/icons/%{origin}/%{size}/ or /var/cache/app-info/icons/%{origin}/%{size}/, where origin is the AppStream data origin defined in the AppStream data file (see Section 3.1.3, “General XML structure”), and size is 64x64 or 128x128 depending on the size of the icon. And icon might be present with different sizes in both directories. -
- For example the cache icon krita.png of a component in a data file with the origin jessie should be stored in /usr/share/app-info/icons/jessie/64x64/krita.png (or in the /var/cache location). -
- Icon sclaing factors commonly used for HiDPI display support are part of the size-directory filename and are separated from the regular size via an @ sign. If the scaling factor is 1, it must be omitted from the directory name. For example, if the icon scaling factor is 2 for icons of size 64x64 from origin jessie, the icon must be placed in /usr/share/app-info/icons/jessie/64x64@2/. -

Legacy Support

- In order to support the old icon cache layout, client applications may also look for icons in the folder below the size-directories, assuming that the icons placed there are of size 64x64 pixels. -
\ No newline at end of file +Icon Cache | AppStream | AppStream 0.14 +

3.3 Icon Cache

3.3.1 Introduction

+ In order to display icons in software-centers, distributors should offer a repository of cached icons for applications defined in their AppStream XML files. + The icons should be PNG files or vectorgraphics (PNG is preferred) and match the name referenced in the applications .desktop file. + Their size should be 64x64px, it is okay to just provide one size. +

3.3.2 Filesystem locations

+ All icons of type cached must be placed in /usr/share/app-info/icons/%{origin}/%{size}/ or /var/cache/app-info/icons/%{origin}/%{size}/, + where origin is the AppStream data origin defined in the AppStream data file (see Section 3.1.3, “General XML structure”), and size + is 64x64 or 128x128 depending on the size of the icon. And icon might be present with different sizes in both directories. +

+ For example the cache icon krita.png of a component in a data file with the origin jessie should be stored in + /usr/share/app-info/icons/jessie/64x64/krita.png (or in the /var/cache location). +

+ Icon scaling factors commonly used for HiDPI display support are part of the size-directory filename and are separated from the regular size via an @ sign. + If the scaling factor is 1, it must be omitted from the directory name. + For example, if the icon scaling factor is 2 for icons of size 64x64 from origin jessie, the icon must be placed + in /usr/share/app-info/icons/jessie/64x64@2/. +

Note
Note: Legacy Support

+ In order to support the old icon cache layout, client applications may also look for icons in the folder below the size-directories, assuming + that the icons placed there are of size 64x64 pixels. +

\ No newline at end of file diff -Nru appstream-0.12.10/docs/html/sect-AppStream-Misc-URIHandler.html appstream-0.14.5/docs/html/sect-AppStream-Misc-URIHandler.html --- appstream-0.12.10/docs/html/sect-AppStream-Misc-URIHandler.html 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/html/sect-AppStream-Misc-URIHandler.html 2021-08-28 20:15:19.000000000 +0000 @@ -0,0 +1,45 @@ + +URI Handler | AppStream | AppStream 0.14 +

4.2 URI Handler

4.2.1 Introduction

+ In order to allow installation of AppStream components from websites, software-centers implementing AppStream + may choose to also support the appstream: URIs. +

+ This allows upstream projects to trigger an installation of their application from their homepage on any supporting + distribution. + It also is helpful for web-based software-centers. +

4.2.2 URI schema

+ Software centers handling appstream: URIs should provide a handler for the x-scheme-handler/appstream + mimetype. + An AppStream URI follows the schema appstream:%{component-id}. +

+ If a component is known by multiple alternative IDs, more component IDs may be defined in a comma-separated list in the query component + of the URI using the alt key. This may be necessary if an application has switched its ID, but the same URI may be called on systems + which still only know the old ID. + Software centers must try to find the initial ID first and, failing to find it in their catalog, may try the alternative IDs in order of appearance + in the query. +

+ Example HTML code: +

<a href="appstream:org.kde.discover.desktop">Install KDE Discover</a>
+<a href="appstream:org.gnome.Software.desktop">Install GNOME-Software</a>
+<a href="appstream:org.freedesktop.appstream.cli">Install AppStreamCLI</a>
+<a href="appstream:org.example.foo?alt=com.github.darthvader.foo,net.launchpad.vader.foo">Install Foo</a>

4.2.3 AppStream Buttons

+ If you want to allow users to open your software in their local software center from your website, you might want to use + one of the easily recognizable AppStream buttons for your appstream: link. +

\ No newline at end of file diff -Nru appstream-0.12.10/docs/html/sect-AppStream-Services-URIHandler.html appstream-0.14.5/docs/html/sect-AppStream-Services-URIHandler.html --- appstream-0.12.10/docs/html/sect-AppStream-Services-URIHandler.html 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/sect-AppStream-Services-URIHandler.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ - -5.2. URI Handler

Product SiteDocumentation Site

- ⁠5.2. URI Handler

- ⁠5.2.1. Introduction

- In order to allow installation of AppStream components from websites, software-centers implementing AppStream may choose to also support the appstream: URIs. -
- This allows upstream projects to trigger an installation of their application from their homepage on any supporting distribution. It also is helpful for web-based software-centers. -

- ⁠5.2.2. URI schema

- Software centers handling appstream: URIs should provide a handler for the x-scheme-handler/appstream mimetype. An AppStream URI follows the schema appstream:%{component-id}. -
- If a component is known by multiple alternative IDs, more component IDs may be defined in a comma-separated list in the query component of the URI using the alt key. This may be necessary if an application has switched its ID, but the same URI may be called on systems which still only know the old ID. Software centers must try to find the initial ID first and, failing to find it in their catalog, may try the alternative IDs in order of appearance in the query. -
- Example HTML code: -
<a href="appstream:org.kde.discover.desktop">Install KDE Discover</a>
-<a href="appstream:org.gnome.Software.desktop">Install GNOME-Software</a>
-<a href="appstream:org.freedesktop.appstream.cli">Install AppStreamCLI</a>
-<a href="appstream:org.example.foo?alt=com.github.darthvader.foo,net.launchpad.vader.foo">Install Foo</a>

- ⁠5.2.3. AppStream Buttons

- If you want to allow users to open your software in their local software center from your website, you might want to use one of the easily recognizable AppStream buttons for your appstream: link. -
- SVG -
- SVG -
\ No newline at end of file diff -Nru appstream-0.12.10/docs/html/sect-AppStream-YAML.html appstream-0.14.5/docs/html/sect-AppStream-YAML.html --- appstream-0.12.10/docs/html/sect-AppStream-YAML.html 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/sect-AppStream-YAML.html 2021-08-28 20:15:19.000000000 +0000 @@ -1,151 +1,124 @@ -3.2. AppStream collection YAML

Product SiteDocumentation Site

- ⁠3.2. AppStream collection YAML

- ⁠3.2.1. Introduction

- DEP-11 is a YAML implementation of the AppStream collection specification, which is primarily used by Debian and its derivatives. This document describes the DEP-11 YAML. All AppStream support libraries available today are able to read both the YAML and the XML specification. -

Important

- If you want to use AppStream in your distribution, and are not based on Debian, please use the XML specification (unless you have strong reasons for preferring YAML). XML is the official format for AppStream collection metadata. -
- The DEP-11 YAML metadata can be validated for correctness using the dep11-validate tool from the AppStream DEP-11 utils. -
+AppStream collection YAML | AppStream | AppStream 0.14 +

3.2 AppStream collection YAML

3.2.1 Introduction

+ DEP-11 is a YAML implementation of the AppStream collection specification, which is primarily used by Debian and its derivatives. + This document describes the DEP-11 YAML. + All AppStream support libraries available today are able to read both the YAML and the XML specification. +

Important
Important

+ If you want to use AppStream in your distribution, and are not based on Debian, please use the XML specification (unless + you have strong reasons for preferring YAML). + XML is the official format for AppStream collection metadata. +

+ The DEP-11 YAML metadata can be validated for correctness using the dep11-validate tool from the + AppStream DEP-11 utils (https://packages.debian.org/source/sid/appstream-dep11). +

Fields not mentioned in this document are not recognized by DEP-11 YAML parsers. -

- ⁠3.2.2. File naming and location

- Take a look at Section 3.1.2, “File naming and location” for AppStream XML files. While the XML data belongs into the xmls subdirectory in /usr/share/app-info (or /var/cache/app-info), the YAML data is stored in the yaml subdirectory. All other rules affecting the XML apply the DEP-11 YAML as well, including the recommendation to compress the files with gzip. -

- ⁠3.2.3. General DEP-11 YAML structure

- Each YAML file starts with a header document, which defines the basic properties of the metadata, which is followed by the actual metadata in form of one YAML document per AppStream component. -
+

3.2.2 File naming and location

+ Take a look at Section 3.1.2, “File naming and location” for AppStream XML files. While the XML data belongs into the xmls subdirectory in + /usr/share/app-info (or /var/cache/app-info), the YAML data is stored in the yaml subdirectory. + All other rules affecting the XML apply the DEP-11 YAML as well, including the recommendation to compress the files with gzip. +

3.2.3 General DEP-11 YAML structure

+ Each YAML file starts with a header document, which defines the basic properties of the metadata, which is followed by the actual metadata in form of one + YAML document per AppStream component. +

The header document contains the following fields, all of them are required or at least strongly recommended. -

File
- This field identifies the file as DEP-11 file. Its value is always DEP-11. -

Field info: value-type:strrequired:yes

Version
- The version of the AppStream specification this file was built for. -

Field info: value-type:strrequired:yes

Origin
- Defines the repository-id this file belongs to. This usually matches the filename without extension. On Debian systems, it is the <suite>-<component> combination, e.g. jessie-main. -

Field info: value-type:strrequired:yes

MediaBaseUrl
- The base URL for media (screenshots, icons, ...) referenced in the metadata file. If this is set, all urls in the document referencing media will be treated relative to the base url. -

Field info: value-type:strrequired:no

Architecture
- Defines the architecture this data belongs to. This information is useful to resolve AppStream-ID conflicts on multiarch systems, which appear if the user has metadata for two architectures installed. -

Field info: value-type:strrequired:no

Priority
- The priorization of this metadata file over other metadata. -

Field info: value-type:intrequired:no

- ⁠3.2.4. Translated fields

+

File

+ This field identifies the file as DEP-11 file. Its value is always DEP-11. +

Field info: value-type:strrequired:yes

Version

+ The version of the AppStream specification this file was built for. +

Field info: value-type:strrequired:yes

Origin

+ Defines the repository-id this file belongs to. This usually matches the filename without extension. On Debian systems, it is the + <suite>-<component> combination, e.g.

jessie-main

. +

Field info: value-type:strrequired:yes

MediaBaseUrl

+ The base URL for media (screenshots, icons, ...) referenced in the metadata file. + If this is set, all urls in the document referencing media will be treated relative to the base url. +

Field info: value-type:strrequired:no

Architecture

+ Defines the architecture this data belongs to. This information is useful to resolve AppStream-ID conflicts on multiarch systems, + which appear if the user has metadata for two architectures installed. +

Field info: value-type:strrequired:no

Priority

+ The priorization of this metadata file over other metadata. +

Field info: value-type:intrequired:no

3.2.4 Translated fields

Fields with translated values follow the following conventions: -

  1. - They are of type dict -
  2. - They must contain a key C, with the untranslated string as value -
  3. - All languages are represented with their locale name as key in the dict and the translated content as value (which is of type str, unless explicitly stated otherwise) -
+

  1. They are of type dict

  2. They must contain a key C, with the untranslated string as value

  3. + All languages are represented with their locale name as key in the dict and the translated content as value + (which is of type str, unless explicitly stated otherwise) +

In this document, the type localized is used to indicate that the field contains translated values following this schema. -

+

Example for a translated Name field: -

Name:
-  C: I am the untranslated string.
-  be@latin: Redaktar naładaŭ
-  bg: Настройки на програмите
-  pl: Edytor konfiguracji

- ⁠3.2.5. Valid fields

- This document describes all valid fields in the DEP-11 YAML specification. The requirements for the values are exactly the same as in the XML specification, and each field links to its correspondent XML tag for reference. -
- ⁠ID
- The ID field is a short unique and usually lower-cases identifier for the component. Depending on the component's type, different naming conventions apply. -
- See <id/>. -

Field info: value-type:strrequired:yes

- ⁠Priority
- The Priority field sets the priority this component's metadata should have over other meadata in the pool. Data with a higher priority replaces data with a lower priority. -

Field info: value-type:intrequired:no

- ⁠Type
+

Name:
+  C: I am the untranslated string.
+  be@latin: Redaktar naładaŭ
+  bg: Настройки на програмите
+  pl: Edytor konfiguracji

3.2.5 Valid fields

+ This document describes all valid fields in the DEP-11 YAML specification. The requirements for the values are exactly the same as in the XML specification, + and each field links to its correspondent XML tag for reference. +

ID 

+ The ID field is a short unique and usually lower-cases identifier for the component. + Depending on the component's type, different naming conventions apply. +

See <id/>.

Field info: value-type:strrequired:yes

Priority 

+ The Priority field sets the priority this component's metadata should have over other meadata in the pool. + Data with a higher priority replaces data with a lower priority. +

See Section 3.1.4, “Valid tags for all component types”.

Field info: value-type:intrequired:no

Type 

The type of this component. Allowed values are: -

Field info: value-type:strrequired:yes

- ⁠Merge
- The optional Merge field describes the merge strategy that should be applied when merging data of this component into its base. It may assume the values append, replace or remove-component. -
- See Section 3.1.4, “Valid tags for all component types” for a description on how merging works. -

Field info: value-type:strrequired:no

- ⁠Package
+

Field info: value-type:strrequired:yes

Merge 

+ The optional Merge field describes the merge strategy that should be applied when merging data of this component into + its base. It may assume the values append, replace or remove-component. +

See Section 3.1.4, “Valid tags for all component types” for a description on how merging works.

Field info: value-type:strrequired:no

Package 

The name of the package which needs to be installed in order to make this component available on the system. -

- See <pkgname/>. -

Field info: value-type:strrequired:yes

- ⁠SourcePackage

Field info: value-type:str

- ⁠Name
- See <name/>. -

Field info: value-type:localizedrequired:yes

- ⁠Summary
- See <summary/>. -

Field info: value-type:localizedrequired:yes

- ⁠ProjectLicense

Field info: value-type:str

- ⁠Description
- See <description/>. -
- The markup for the description is the same as in the XML specification, so it can be read by anything parsing basic HTML markup. -

Field info: value-type:localized

- ⁠Url
- See <url/>. -
- The Url field contains the different url types as keys in its dict. Valid url types are defined in the main AppStream XML specification. All URL types must be lowercased. -
+

See <pkgname/>.

Field info: value-type:strrequired:yes

SourcePackage 

See <source_pkgname/>.

Field info: value-type:str

Name 

See <name/>.

Field info: value-type:localizedrequired:yes

Summary 

See <summary/>.

Field info: value-type:localizedrequired:yes

ProjectLicense 

See <project_license/>.

Field info: value-type:str

Description 

See <description/>.

+ The markup for the description is the same as in the XML specification, so it can be read by anything + parsing basic HTML markup. +

Field info: value-type:localized

Url 

See <url/>.

+ The Url field contains the different url types as keys in its dict. Valid url types are + defined in the main AppStream XML specification. + All URL types must be lowercased. +

Example: -

Url:
+					

Url:
   homepage: https://example.org
   faq: https://example.org/faq
-  bugtracker: https://bugs.example.org/report-issue

Field info: value-type:dict

- ⁠ProjectGroup
- See <project_group/>. -

Field info: value-type:str

- ⁠Icon
- See <icon/>. -
+ bugtracker: https://bugs.example.org/report-issue

Field info: value-type:dict

ProjectGroup 

See <project_group/>.

Field info: value-type:str

Icon 

See <icon/>.

The Icon field has the different icon types as keys for its dict. -

stock
- Contains the stock icon name. -

Field info: value-type:str

cached
- Contains a list of dictionaries with the keys width and height of type int specifying the dimensions of the icon, as well as the key name of type str specifying the name of the icon in the cache. -

Field info: value-type:list ➟ dict

local
- Contains a list of dictionaries with the keys width and height of type int specifying the dimensions of the icon, as well as the key name of type str specifying the absolute filename pointing to the right icon. -

Field info: value-type:list ➟ dict

remote
- Contains a list of dictionaries with the keys width and height of type int specifying the dimensions of the icon, as well as the key url of type str which contains a HTTP(S) or FTP URL to the icon. -

Field info: value-type:list ➟ dict

Field info: value-type:dict

- ⁠Categories
- See <categories/>. -
- This field follows its XML counterpart in almost all regards. The different XDG menu category names are encoded in the list, and are of type str. -
+

stock

+ Contains the stock icon name. +

Field info: value-type:str

cached

+ Contains a list of dictionaries with the keys width and height of type + int specifying the dimensions of the icon, as well as the key name + of type str specifying the name of the icon in the cache. +

Field info: value-type:list ➟ dict

local

+ Contains a list of dictionaries with the keys width and height of type + int specifying the dimensions of the icon, as well as the key name + of type str specifying the absolute filename pointing to the right icon. +

Field info: value-type:list ➟ dict

remote

+ Contains a list of dictionaries with the keys width and height of type + int specifying the dimensions of the icon, as well as the key url + of type str which contains a HTTP(S) or FTP URL to the icon. +

Field info: value-type:list ➟ dict

Field info: value-type:dict

Categories 

See <categories/>.

+ This field follows its XML counterpart in almost all regards. The different XDG menu category names are encoded in the list, and are + of type str. +

Example: -

Categories:
+					

Categories:
   - Network
-  - Telephony

Field info: value-type:list

- ⁠Keywords
- See <keywords/>. -
- This field contains the keywords for this component. The keys define the locales for the respective language, the values are of type list and contain the list of keywords for the respective language. An unlocalized C key must be present. -
+ - Telephony

Field info: value-type:list

Keywords 

See <keywords/>.

+ This field contains the keywords for this component. The keys define the locales for the respective language, the values are + of type list and contain the list of keywords for the respective language. An unlocalized C + key must be present. +

Example: -

Keywords:
+					

Keywords:
   C:
     - IDE
     - development
@@ -153,64 +126,39 @@
   de:
     - IDE
     - entwicklung
-    - programmierung

Field info: value-type:translated(list)

- ⁠Screenshots
- See <screenshots/>. -
- The Screenshots field contains a list of screenshots. A screenshot is of type dict and contains the following keys: -
default
- If default is true, the screenshot is selected as default screenshot. There has to be at least one screenshot which is marked as default. -

Field info: value-type:bool

source-image
- Describes the source image for this screenshot. If this field is present, videos must not be present as well. The field valus is a dictionary with the following keys: -
  • - height -
    - The image height (value-type:int) -
  • - width -
    - The image width (value-type:int) -
  • - url -
    - The full image url, or the url component added to MediaBaseUrl, if defined (value-type:str). -
  • - lang -
    - The language this screenshot image is translated in. The value is a locale string. (value-type:str, required:no) -

Field info: value-type:dictrequired:conditional

thumbnails
- A list of an arbitrary number of screenshots. All screenshots are of type dict and must contain the same keys as described for source-image. This key must not be present if videos is present. -

Field info: value-type:listrequired:no

videos
- Contains a list of video dicts for this screenshot. If this field is present, source-image must not be present as well. The field valus is a dictionary with the following keys: -
  • - container -
    - The video container format (value-type:str, values as described in the XML specification) -
  • - codec -
    - The video codec format (value-type:str, values as described in the XML specification) -
  • - height -
    - The video height (value-type:int) -
  • - width -
    - The video width (value-type:int) -
  • - url -
    - The full video url, or the url component added to MediaBaseUrl, if defined (value-type:str). -
  • - lang -
    - The language this screenshot video is translated in. The value is a locale string. (value-type:str, required:no) -

Field info: value-type:list(dict)required:conditional

caption
- A caption for this screenshot. -

Field info: value-type:localized

+ - programmierung

Field info: value-type:translated(list)

Screenshots 

See <screenshots/>.

+ The Screenshots field contains a list of screenshots. A screenshot is of type + dict and contains the following keys: +

default

+ If default is true, the screenshot is selected as default screenshot. There has to be at least one + screenshot which is marked as default. +

Field info: value-type:bool

source-image

+ Describes the source image for this screenshot. If this field is present, videos must not be present as well. + The field valus is a dictionary with the following keys: +

  • height

    The image height (value-type:int)

  • width

    The image width (value-type:int)

  • url

    + The full image url, or the url component added to MediaBaseUrl, + if defined (value-type:str). +

  • lang

    + The language this screenshot image is translated in. The value is a locale string. + (value-type:str, required:no) +

Field info: value-type:dictrequired:conditional

thumbnails

+ A list of an arbitrary number of screenshots. All screenshots are of type dict and must contain the same keys as described for + source-image. + This key must not be present if videos is present. +

Field info: value-type:listrequired:no

videos

+ Contains a list of video dicts for this screenshot. If this field is present, source-image must not be present as well. + The field valus is a dictionary with the following keys: +

  • container

    The video container format (value-type:str, values as described in the XML specification)

  • codec

    The video codec format (value-type:str, values as described in the XML specification)

  • height

    The video height (value-type:int)

  • width

    The video width (value-type:int)

  • url

    + The full video url, or the url component added to MediaBaseUrl, + if defined (value-type:str). +

  • lang

    + The language this screenshot video is translated in. The value is a locale string. + (value-type:str, required:no) +

Field info: value-type:list(dict)required:conditional

caption

+ A caption for this screenshot. +

Field info: value-type:localized

Example for a Screenshots field containing one screenshot: -

Screenshots:
+					

Screenshots:
   - default: true
     caption:
       C: Foobar showing kitchen-sink functionality
@@ -231,60 +179,80 @@
       codec: av1
       height: 900
       url: https://www.example.org/en_US/screencast.mkv
-      width: 1600

Field info: value-type:list

- ⁠CompulsoryForDesktop

Field info: value-type:str

- ⁠Provides
- See <provides/>. -
- The Provides field is of type dict and can have the following keys set with the described allowed values: -
libraries
- A list of provided library names. -

Field info: value-type:list(str)

binaries
- A list of provided binaries in PATH. -

Field info: value-type:list(str)

mimetypes
- A list of mimetypes this component can handle. -

Field info: value-type:list(str)

firmware
- A list of provided firmware. Each firmware entry is of type dict and has a type key, which has either runtime or flashed as value. Firmware of type flashed has a guid key, containing the GUID of the device the firmware is flashed on, while firmware of type runtime has a file key, containing the firmware filename which the kernel is looking for. -

Field info: value-type:list(dict)

dbus
- A list of provided DBus services. Each service entry in the list is of type dict and has a type key, which has either system or user as value. user means the DBus service name is for a user/session service, while system means it describes a system service. The service key contains the name of the DBus service file. All dict values are of type str. -

Field info: value-type:list(dict)

Field info: value-type:dict

- ⁠DeveloperName

Field info: value-type:localized

- ⁠Launchable
- See <launchable/>. -
+ width: 1600

Field info: value-type:list

CompulsoryForDesktop 

See <compulsory_for_desktop/>.

Field info: value-type:str

Provides 

See <provides/>.

+ The Provides field is of type dict and can have the following keys set with + the described allowed values: +

libraries

+ A list of provided library names. +

Field info: value-type:list(str)

binaries

+ A list of provided binaries in PATH. +

Field info: value-type:list(str)

fonts

+ A list of provided fonts. Each font entry is of type dict and has a + name key. +

Field info: value-type:list(dict)

modaliases

+ A list of modalias globs representing the hardware types this component handles. +

Field info: value-type:list(str)

mediatypes

+ A list of media types (MIME types) this component can handle. +

Field info: value-type:list(str)

firmware

+ A list of provided firmware. Each firmware entry is of type dict and has a + type key, which has either runtime or flashed as + value. + Firmware of type flashed has a guid key, containing the GUID of the device + the firmware is flashed on, while firmware of type runtime has a file key, + containing the firmware filename which the kernel is looking for. +

Field info: value-type:list(dict)

python2

+ A list of Python 2 modules this component provides. +

Field info: value-type:list(str)

python3

+ A list of Python 3 modules this component provides. +

Field info: value-type:list(str)

dbus

+ A list of provided DBus services. Each service entry in the list is of type dict and has a + type key, which has either system or user as + value. user means the DBus service name is for a user/session service, while system means + it describes a system service. + The service key contains the name of the DBus service file. All dict values are of type str. +

Field info: value-type:list(dict)

ids

+ A list of component-IDs that this component is able to provide all functionality of. +

Field info: value-type:list(str)

Field info: value-type:dict

DeveloperName 

See <developer_name/>.

Field info: value-type:localized

Launchable 

See <launchable/>.

A dictionary containing the launchable-type as key, and a list of IDs used for launching the application as value. -

+

Example: -

Launch:
+					

Launchable:
   desktop-id:
-    - org.gnome.Sysprof2.desktop

Field info: value-type:dict(list)

- ⁠Releases
- See <releases/>. -
- The Releases contains a list of releases sorted latest-to-oldest, where each list items contains the following fields/keys: -
version
- The version number of this release. -

Field info: value-type:strrequired:yes

unix-timestamp
- The UNIX timestamp of when this software was released. -
- One of the unix-timestamp or date fields must be present. -

Field info: value-type:intrequired:maybe

date
- The ISO 8601 complete date of when this software was released. -
- One of the unix-timestamp or date fields must be present. -

Field info: value-type:strrequired:maybe

description
- A description of this release. May contain allowed HTML markup. -

Field info: value-type:localized

issues
- A list of dictionaries describing the issues resolved by this release. The dictionaries contain a id key for the value of an issue as described in the XML specification, as well as a type and url key for the tag properties of the same name described in the XML AppStream specification. -

Field info: value-type:list(dict)

- It is recommended to order this list starting with the latest timestamp to the olderst one. -
- Example: -
Releases:
+    - org.gnome.Sysprof2.desktop

Field info: value-type:dict(list)

Releases 

See <releases/>.

+ The Releases contains a list of releases sorted latest-to-oldest, where each list items contains the following fields/keys: +

version

+ The version number of this release. +

Field info: value-type:strrequired:yes

type

+ The release type. Allowed values are: +

  • stable

  • development

+ By default, if no release type is defined, stable is assumed. +

Field info: value-type:strrequired:no

urgency

+ How important it is to install the new release as an update. Allowed values are: +

  • low

  • medium

  • high

  • critical

+ If no urgency is defined, a medium urgency is implicitly assumed. +

Field info: value-type:strrequired:no

unix-timestamp

+ The UNIX timestamp of when this software was released. +

+ One of the unix-timestamp or date fields must be present. +

Field info: value-type:intrequired:maybe

date

+ The ISO 8601 (https://en.wikipedia.org/wiki/ISO_8601) complete date of when this software was released. +

+ One of the unix-timestamp or date fields must be present. +

Field info: value-type:strrequired:maybe

description

+ A description of this release. May contain allowed HTML markup. +

Field info: value-type:localized

issues

+ A list of dictionaries describing the issues resolved by this release. The dictionaries contain a + id key for the value of an issue as described in the XML specification, as well as a + type and url key for the tag properties of the same name described in the + XML AppStream specification. +

Field info: value-type:list(dict)

artifacts

+ A list of dictionaries describing the artifacts published for this release. Refer to the XML specification + for details, which is mapped to YAML following the usual scheme. +

Field info: value-type:list(dict)

+ It is recommended to order this list starting with the latest timestamp to the oldest one. +

+ Example: +

Releases:
   - version: '1.8'
     unix-timestamp: 1424116753
     description:
@@ -296,14 +264,13 @@
   - version: '1.2'
     unix-timestamp: 1397253600
   - version: '1.0'
-    unix-timestamp: 1345932000

Field info: value-type:list(dict)

- ⁠Languages
- See <languages/>. -
- The languages list is a list of dictionaries. They must contain a percentage key, indicating the completion of translation for this language, and a locale key, with the locale string as value. -
- Example: -
Languages:
+    unix-timestamp: 1345932000

Field info: value-type:list(dict)

Languages 

See <languages/>.

+ The languages list is a list of dictionaries. They must contain a percentage + key, indicating the completion of translation for this language, and a locale + key, with the locale string as value. +

+ Example: +

Languages:
   - locale: gu
     percentage: 96
   - locale: ca@valencia
@@ -311,80 +278,60 @@
   - locale: de
     percentage: 91
   - locale: eo
-    percentage: 93

Field info: value-type:list(dict)

- ⁠Bundles
- See <bundle/>. -
- The Bundles contains a list of dictionaries with the keys type, having the ID for a specific bundling system (e.g. flatpak or limba) as value, and id for the associated bundle-id. See the XML tag description for information on all valid bundling systems. -
- Example: -
Bundles:
+    percentage: 93

Field info: value-type:list(dict)

Bundles 

See <bundle/>.

+ The Bundles contains a list of dictionaries with the keys type, having the ID for a specific bundling + system (e.g. flatpak or limba) as value, and id for the associated bundle-id. + See the XML tag description for information on all valid bundling systems. +

+ Example: +

Bundles:
   - type: limba
-    id: foobar-1.0.2

Field info: value-type:list

- ⁠Extends
- See <extends/>. -
- Contains a list of AppStream IDs of the other component extended by the described component. This field may only be used with component-type addon. -

Field info: value-type:list(str)

- ⁠Suggests
- See <suggests/>. -
- A list of dictionaries containing suggested software components. The dictionaries must have a type key with the string value upstream or heuristic depending on where the suggestion originates from. The also must have a ids key containing a list of component-ids of the suggested software. -
+ id: foobar-1.0.2

Field info: value-type:list

Extends 

See <extends/>.

+ Contains a list of AppStream IDs of the other component extended by the described component. + This field may only be used with component-type addon. +

Field info: value-type:list(str)

Suggests 

See <suggests/>.

+ A list of dictionaries containing suggested software components. The dictionaries must have a type key + with the string value upstream or heuristic depending on where the suggestion originates from. + The also must have a ids key containing a list of component-ids of the suggested software. +

Example: -

Suggests:
+					

Suggests:
   - type: upstream
     ids:
       - org.example.Awesome
   - type: heuristic
     ids:
       - org.example.Test1
-      - org.example.Test2

Field info: value-type:list(dict)

- ⁠ContentRating
- A dictionary containing the rating system as key, and a dictionary of rating-values as value. The value-dictionary itself has the content rating IDs as keys and the intensity values as values. The intensity values as well as IDs and rating system names match the values from the XML exactly. -
+ - org.example.Test2

Field info: value-type:list(dict)

ContentRating 

See <content_rating/>.

+ A dictionary containing the rating system as key, and a dictionary of rating-values as value. + The value-dictionary itself has the content rating IDs as keys and the intensity values as values. + The intensity values as well as IDs and rating system names match the values from the XML exactly. +

Example: -

ContentRating:
+					

ContentRating:
   oars-1.0:
     drugs-alcohol: moderate
-    language-humor: mild

Field info: value-type:dict(dict)

- ⁠Requires & Recommends
- A list of dictionaries containing the referenced items. The dictionaries in the list must have one key denoting the item type, which has the respective item value as value. Refer to the XML description for a list of possible types. -
- Each dictionary may have a version field with contains a version comparison string. The first two characters denote the version comparison operation, and are followed by the version number to be compared with. The comparison operation may be one of: -
  • - == - Equal to -
  • - != - Not equal to -
  • - << - Lesser than -
  • - >> - Greater than -
  • - <= - Lesser than or equal to -
  • - >= - Greater than or equal to -
+ language-humor: mild

Field info: value-type:dict(dict)

Requires & Recommends 

See <requires/> & <recommends/>.

+ A list of dictionaries containing the referenced items. The dictionaries in the list must have one key denoting the item type, which has the + respective item value as value. Refer to the XML description for a list of possible types. +

+ Each dictionary may have a version field with contains a version comparison string. The first two characters denote the version + comparison operation, and are followed by the version number to be compared with. The comparison operation may be one of: +

  • == - Equal to

  • != - Not equal to

  • << - Lesser than

  • >> - Greater than

  • <= - Lesser than or equal to

  • >= - Greater than or equal to

Example: -

Recommends:
+					

Recommends:
 - memory: '2500'
 - modalias: usb:v1130p0202d*
 Requires:
 - kernel: Linux
   version: '>= 4.15'
 - id: org.example.TestDependency
-  version: == 1.2

Field info: value-type:list(dict)

- ⁠Agreements
- See <agreement/>. -
- A list containing the agreements as dictionaries, with a sections key containing a list of sections. All dict values are the same as the respective XML tag values / properties. -
+ version: == 1.2

Field info: value-type:list(dict)

Agreements 

See <agreement/>.

+ A list containing the agreements as dictionaries, with a sections key containing a list of sections. + All dict values are the same as the respective XML tag values / properties. +

Example: -

Agreements:
+					

Agreements:
 - type: eula
   version_id: 1.2.3a
   sections:
@@ -393,10 +340,9 @@
       C: Intro\n"
     description:
       C: >-
-        <p>If it breaks, you get to keep both pieces.</p>

Field info: value-type:list(dict)

- ⁠3.2.6. Example YAML file

+ <p>If it breaks, you get to keep both pieces.</p>

Field info: value-type:list(dict)

3.2.6 Example YAML file

This is an example AppStream DEP-11 metadata file: -

+		

 ---
 File: DEP-11
 Version: '0.8'
@@ -444,7 +390,7 @@
   - AudioVideo
   - Player
 Provides:
-  mimetypes:
+  mediatypes:
     - application/ogg
     - application/smil
     - application/vnd.ms-asf
@@ -483,7 +429,7 @@
   - Office
   - Publishing
 Provides:
-  mimetypes:
+  mediatypes:
     - text/x-tex
 Screenshots:
   - default: true
@@ -500,4 +446,6 @@
         width: 624
       - height: 63
         url: texstudio_2.8.4+debian-3_amd64/screenshots/112x63/screenshot-1.png
-        width: 112
\ No newline at end of file + width: 112
\ No newline at end of file diff -Nru appstream-0.12.10/docs/html/sect-Metadata-Addon.html appstream-0.14.5/docs/html/sect-Metadata-Addon.html --- appstream-0.12.10/docs/html/sect-Metadata-Addon.html 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/sect-Metadata-Addon.html 2021-08-28 20:15:18.000000000 +0000 @@ -1,36 +1,48 @@ -2.6. Addons

Product SiteDocumentation Site

- ⁠2.6. Addons

- ⁠2.6.1. Introduction

- Some components are not standalone, but rather extend existing software installed on the system and can only be used together with it. The addon component type exists to reflect that. -
+Addons | AppStream | AppStream 0.14 +

2.6 Addons

2.6.1 Introduction

+ Some components are not standalone, but rather extend existing software installed on the system and can only be used + together with it. + The addon component type exists to reflect that. +

Software which provides addons can ship one or more files in /usr/share/metainfo/%{id}.metainfo.xml. -

- ⁠2.6.2. Example file

+

2.6.2 Example file

A addon meta-info file should look like this: -


-<?xml version="1.0" encoding="UTF-8"?>
-<component type="addon">
-  <id>org.gnome.gedit_code_assistance</id>
-  <extends>org.gnome.gedit</extends>
-  <name>Code Assistance</name>
-  <summary>Code assistance for C, C++ and Objective-C</summary>
-  <url type="homepage">http://projects.gnome.org/gedit</url>
-  <metadata_license>FSFAP</metadata_license>
-  <project_license>GPL-3.0+</project_license>
-</component>

- ⁠2.6.3. File specification

- Note that the XML root must have the type property set to addon. This clearly identifies this metainfo document as describing an addon to existing software. -
- ⁠<id/>
- For addons, the component-ID must follow the generic naming conventions (see <id/>). -
- ⁠<extends/>
- This tag is refers to the ID of the component this addon is extending. -
- For example, if there is a plugin "kipi" which extens the application "Gwenview", it needs to be referred to as: -
<extends>org.kde.Gwenview</extends>
- The <extends/> tag may be specified multiple times. -
- For a component of type addon, the following tags are required and must be present: <id/>, <name/>, <summary/>, <metadata_license/>, <extends/>. -
\ No newline at end of file +

+<?xml version="1.0" encoding="UTF-8"?>
+<component type="addon">
+  <id>org.gnome.gedit_code_assistance</id>
+  <extends>org.gnome.gedit</extends>
+  <name>Code Assistance</name>
+  <summary>Code assistance for C, C++ and Objective-C</summary>
+  <url type="homepage">http://projects.gnome.org/gedit</url>
+  <metadata_license>FSFAP</metadata_license>
+  <project_license>GPL-3.0+</project_license>
+</component>

2.6.3 File specification

+ Note that the XML root must have the type property set to addon. + This clearly identifies this metainfo document as describing an addon to existing software. +

<id/> 

+ For addons, the component-ID must follow the generic naming conventions (see <id/>). +

<extends/> 

+ This tag is refers to the ID of the component this addon is extending. +

+ For example, if there is a plugin "kipi" which extens the application "Gwenview", it needs to be referred to as: +

<extends>org.kde.Gwenview</extends>

+ The <extends/> tag may be specified multiple times. +

+ For a component of type addon, the following tags are required and must be present: <id/>, <name/>, <summary/>, + <metadata_license/>, <extends/>. +

\ No newline at end of file diff -Nru appstream-0.12.10/docs/html/sect-Metadata-Application.html appstream-0.14.5/docs/html/sect-Metadata-Application.html --- appstream-0.12.10/docs/html/sect-Metadata-Application.html 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/sect-Metadata-Application.html 2021-08-28 20:15:17.000000000 +0000 @@ -1,79 +1,120 @@ -2.2. Desktop Applications

Product SiteDocumentation Site

- ⁠2.2. Desktop Applications

- ⁠2.2.1. Introduction

- A desktop application is an application which has a graphical user interface and is commonly used with mouse and keyboard. It also ships a Freedesktop .desktop file to be visible in application menus. -
- AppStream generators may pull data from the preexisting .desktop files to represent an application in the AppStream metadata pool. Upstream projects should ship a metainfo file containing additional metadata to describe their application though, to enhance the available metadata. This data includes things like screenshots, long descriptions, icon information and various other things needed to present the application properly to the user. For some distributions, the presence of this metadata is a prerequisite for the application showing up in the metadata pool and being presented in software centers. -
- The file described in this document is built upon the generic component metadata with fields specific for desktop applications (see Section 2.1, “Generic Component”). -
- The metainfo files override any values which are automatically fetched from other sources by the AppStream data generator, which means that its data will always take precedence over data which has already been defined in a .desktop file. Applications can ship one or more files in /usr/share/metainfo/%{id}.metainfo.xml. -
- Data will only be fetched from a desktop file if one <launchable/> tag is present to define a .desktop file ID. If multiple launchable tags are defined, no data will be merged in from .desktop files. -

Note

- If you are looking for some quickstart guide to just get your application to ship AppStream metadata quickly, this document might not be for you. You might want to take a look at Section 4.1, “For GUI application upstream maintainers” instead. -

Note

- While desktop-application metadata is commonly stored in /usr/share/metainfo/%{id}.metainfo.xml (with a .metainfo.xml extension), using a .appdata.xml extension is also permitted for this component type for legacy compatibility. AppStream implementations will recognize either file type, as long as it ends up in the right location on the filesystem. -

Note

- If you want to hide a desktop-entry file from AppStream metadata generators which synthesize components from desktop-entry data, you may want to add X-AppStream-Ignore=True to the Desktop Entry section of the .desktop file. Keep in mind that if your .desktop file already has a NoDisplay=True key or is not of Type=Application, it will always be ignored, unless metainfo file exists that references it (in which case its data may be merged with the metainfo data). -

- ⁠2.2.2. File specification

- The basic structure for a generic component as described at Section 2.1.3, “XML Specification” applies. Note that the XML root must have the type property set to desktop-application, while in a generic component this property can be omitted. This clearly identifies this metainfo document as describing an application. -

Note

- All tags defined in the generic component specification are valid for desktop-application components as well. An application is just a specialized component, allowing tools like software centers to filter out the component types they want to display. -

Note

- The desktop-application component type is the same as the desktop component type - desktop is the older type identifier for desktop-applications and should not be used for new metainfo files, unless compatibility with very old AppStream tools (pre 2016) is still wanted. -
- The following list describes the special tags for application upstream metadata and provides some additional information about the values the tags are expected to have. If no information is given about a tag, refer to the respective tag in Section 2.1, “Generic Component”. -
- ⁠<id/>
- For desktop applications, the <id/> tag value must follow the reverse-DNS scheme as described in <id/>. -

Note

- In previous AppStream releases, the <id/> was used to associate metainfo files with their .desktop files to merge in data from .desktop files into the AppStream generator's final output. In modern metainfo files, the component-ID for desktop-application components can be an arbitrary reverse-DNS string (matching the naming rules applying to all AppStream metadata), while the <launchable/> tag is used to associate .desktop files with their metainfo files. -
- Note that even though the component-ID can now be any rDNS name, when updating existing applications, do not change their <id/> to drop the .desktop suffix. The rules are relaxed when picking a new component-ID for new applications, but when updating older applications they still need to keep their original <id/> (when it's otherwise compliant). The ID is used to uniquely identify applications across distributions and releases and should always remain the same for the same application. -
<metadata_license/>
- The <metadata_license/> tag as described in <metadata_license/> must be present. -
- ⁠<name/>
- The human-readable name of the application. This is the name you want users to see prior to installing the application. -
- ⁠<summary/>
- A short summary on what this application does, roughly equivalent to the Comment field of the accompanying .desktop file of the application. -
- ⁠<launchable/>
- It is recommended that a <launchable/> tag is present in desktop-application metainfo files. The tag is described in detail at <launchable/>. -
- If only one launchable entry of type desktop-id is present, AppStream metadata generators might decide to merge metadata from .desktop files referenced by the tag into their final output. -
- The launchable tag is optional, but if omitted software centers will not be able to launch the application directly after it was installed. -
- ⁠<screenshots/>
- A screenshot presents your application to the outside world, and could be seen by hundreds or thousands of people. -
- The <screenshots/> tag should look like it is described at <screenshots/>. -
- Screenshot size, shape and format recommendations for applications: -
  • - All screenshots should have a 16:9 aspect ratio, and should have a width that is no smaller than 620px (software center applications will be able to fill in the screenshots in the space they provide for that more easily then). -
    - Ideally the window will be resized to a 16:9 aspect ratio, but screenshots can also be cropped if only a small area of the window needs to be shown. -
  • - Screenshots should ideally be in the PNG format, but JPEG and WebP images are also fine. Keep in mind though that the images are converted into PNG when collection metadata is generated for a software distribution. -
  • - Do not scale screenshots below their original size. -
- You can find a lot more information on how to create good screenshots in the quickstart guide on applications. -
<project_group/>
- This tag is described for generic components at Section 2.1.3, “XML Specification”. You should use it for your application if appropriate. -
- ⁠<provides/>
- This tag is described in detail for generic components at <provides/>. -
- If your application ships a binary in a location in the default PATH, you should add at least a child of type <binary/> to make that new executable known to the distribution. -
<releases/>
- The application metainfo should at least provide one <releases/> tag, which has one or more <release/> children to define the version and release date of this application. For details, see <releases/> . -
- For a component of type desktop-application, the following tags are required and must always be present: <id/>, <name/>, <summary/>, <description/>, <metadata_license/>. -
\ No newline at end of file +Desktop Applications | AppStream | AppStream 0.14 +

2.2 Desktop Applications

2.2.1 Introduction

+ A desktop application is an application which has a graphical user interface and is commonly used with mouse and keyboard. It also ships a Freedesktop + .desktop file to be visible in application menus. +

+ AppStream generators may pull data from the preexisting .desktop files to represent an application in the AppStream metadata pool. Upstream projects should + ship a metainfo file containing additional metadata to describe their application though, to enhance the available metadata. + This data includes things like screenshots, long descriptions, icon information and various other things needed + to present the application properly to the user. + For some distributions, the presence of this metadata is a prerequisite for the application showing up in the metadata pool and being presented in software centers. +

+ The file described in this document is built upon the generic component metadata with fields specific for desktop applications (see Section 2.1, “Generic Component”). +

+ The metainfo files override any values which are automatically fetched from other sources by the AppStream data generator, which means that its data will always take precedence over + data which has already been defined in a .desktop file. + Applications can ship one or more files in /usr/share/metainfo/%{id}.metainfo.xml. +

+ Data will only be fetched from a desktop file if one <launchable/> tag is present to define a .desktop file ID. If multiple launchable tags are + defined, no data will be merged in from .desktop files. +

Note
Note

+ If you are looking for some quickstart guide to just get your application to ship AppStream metadata quickly, this document might not be for you. + You might want to take a look at Section 5.1, “For GUI application upstream maintainers” instead. +

Note
Note

+ While desktop-application metadata is commonly stored in /usr/share/metainfo/%{id}.metainfo.xml (with a .metainfo.xml extension), + using a .appdata.xml extension is also permitted for this component type for legacy compatibility. + AppStream implementations will recognize either file type, as long as it ends up in the right location on the filesystem. +

Note
Note

+ If you want to hide a desktop-entry file from AppStream metadata generators which synthesize components from desktop-entry data, you may + want to add X-AppStream-Ignore=True to the Desktop Entry section of the .desktop file. + Keep in mind that if your .desktop file already has a NoDisplay=True key or is not of Type=Application, it will + always be ignored, unless metainfo file exists that references it (in which case its data may be merged with the metainfo data). +

2.2.2 File specification

+ The basic structure for a generic component as described at Section 2.1.3, “XML Specification” applies. + Note that the XML root must have the type property set to desktop-application, while in a generic component this + property can be omitted. This clearly identifies this metainfo document as describing an application. +

Note
Note

+ All tags defined in the generic component specification are valid for desktop-application components as well. + An application is just a specialized component, allowing tools like software centers to filter out the component types they want to display. +

Note
Note

+ The desktop-application component type is the same as the desktop component type - desktop is the older + type identifier for desktop-applications and should not be used for new metainfo files, unless compatibility with very old AppStream tools (pre 2016) + is still wanted. +

+ The following list describes the special tags for application upstream metadata and provides some additional information about the values + the tags are expected to have. + If no information is given about a tag, refer to the respective tag in Section 2.1, “Generic Component”. +

<id/> 

+ For desktop applications, the <id/> tag value must follow the reverse-DNS scheme as described in <id/>. +

Note
Note

+ In previous AppStream releases, the <id/> was used to associate metainfo files with their .desktop files to merge in + data from .desktop files into the AppStream generator's final output. In modern metainfo files, the component-ID for desktop-application + components can be an arbitrary reverse-DNS string (matching the naming rules applying to all AppStream metadata), while the <launchable/> tag is used + to associate .desktop files with their metainfo files. +

+ Note that even though the component-ID can now be any rDNS name, when updating existing applications, do not change their + <id/> to drop the .desktop suffix. The rules are relaxed when picking a new component-ID for new + applications, but when updating older applications they still need to keep their original <id/> (when + it's otherwise compliant). The ID is used to uniquely identify applications across distributions and releases and should + always remain the same for the same application. +

<metadata_license/>

+ The <metadata_license/> tag as described in <metadata_license/> must be present. +

<name/> 

+ The human-readable name of the application. This is the name you want users to see prior to installing the application. +

<summary/> 

+ A short summary on what this application does, roughly equivalent to the Comment field of the + accompanying .desktop file of the application. +

<launchable/> 

+ It is recommended that a <launchable/> tag is present in desktop-application metainfo files. + The tag is described in detail at <launchable/>. +

+ If only one launchable entry of type desktop-id is present, AppStream metadata generators might decide to + merge metadata from .desktop files referenced by the tag into their final output. +

+ The launchable tag is optional, but if omitted software centers will not be able to launch the application directly after + it was installed. +

<screenshots/> 

+ A screenshot presents your application to the outside world, and could be seen by hundreds or thousands of people. +

+ The <screenshots/> tag should look like it is described at <screenshots/>. +

+ Screenshot size, shape and format recommendations for applications: +

  • + All screenshots should have a 16:9 aspect ratio, and should have a width that is no smaller than 620px (software center applications will be able to fill in the screenshots in the space they provide for that + more easily then). +

    + Ideally the window will be resized to a 16:9 aspect ratio, but screenshots can also be cropped if only a small area of the window needs to be shown. +

  • + Screenshots should ideally be in the PNG format, but JPEG and WebP images are also fine. Keep in mind though that the images are converted into PNG + when collection metadata is generated for a software distribution. +

  • Do not scale screenshots below their original size.

+ You can find a lot more information on how to create good screenshots in the quickstart guide on applications. +

<project_group/>

+ This tag is described for generic components at Section 2.1.3, “XML Specification”. You should use it for your application if appropriate. +

<provides/> 

+ This tag is described in detail for generic components at <provides/>. +

+ If your application ships a binary in a location in the default PATH, you should add at least a child of type + <binary/> to make that new executable known to the distribution. +

<releases/>

+ The application metainfo should at least provide one <releases/> tag, + which has one or more <release/> children to define the version and release date of this + application. For details, see <releases/> . +

+ For a component of type desktop-application, the following tags are required and must always be present: <id/>, + <name/>, <summary/>, <description/>, <metadata_license/>. +

\ No newline at end of file diff -Nru appstream-0.12.10/docs/html/sect-Metadata-Codec.html appstream-0.14.5/docs/html/sect-Metadata-Codec.html --- appstream-0.12.10/docs/html/sect-Metadata-Codec.html 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/sect-Metadata-Codec.html 2021-08-28 20:15:18.000000000 +0000 @@ -1,68 +1,80 @@ -2.9. Codecs

Product SiteDocumentation Site

- ⁠2.9. Codecs

- ⁠2.9.1. Introduction

+Codecs | AppStream | AppStream 0.14 +

2.9 Codecs

2.9.1 Introduction

Software centers might want to special-case codec handling. Therefore, we provide a component type for them. -

+

Codecs can ship one or more files in /usr/share/metainfo/%{id}.metainfo.xml. -

+

Codec metadata files can – just like all other metainfo files – be translated. See the section about translation for more information. -

- ⁠2.9.2. Example file

+

2.9.2 Example file

A codec meta-info file should look like this: -


-<?xml version="1.0" encoding="UTF-8"?>
-<component type="codec">
-  <id>org.freedesktop.gstreamer.codecs-good</id>
-  <metadata_license>CC0</metadata_license>
-  <name>GStreamer Multimedia Codecs - Extra</name>
-  <description>
-    <p>
-      This addon includes several additional codecs that are missing
-      something - perhaps a good code review, some documentation, a set of
-      tests, a real live maintainer, or some actual wide use.
-      However, they might be good enough to play your media files.
-    </p>
-    <p>
-      These codecs can be used to encode and decode media files where the
-      format is not patent encumbered.
-    </p>
-    <p>
-      A codec decodes audio and video for for playback or editing and is also
-      used for transmission or storage.
-      Different codecs are used in video-conferencing, streaming media and
-      video editing applications.
-    </p>
-  </description>
-  <provides>
-    <codec>encoder-audio/mpeg</codec>
-    <codec>mpegversion=(int){ 4, 2 }</codec>
-    <codec>stream-format=(string){ adts, raw }</codec>
-    <codec>encoder-video/mpeg</codec>
-    <codec>systemstream=(boolean)false</codec>
-    <codec>mpegversion=(int){ 1, 2, 4 }</codec>
-    <codec>encoder-video/mpeg</codec>
-    <codec>systemstream=(boolean)true</codec>
-    <codec>encoder-video/x-xvid</codec>
-    <codec>element-faac</codec>
-    <codec>element-mpeg2enc</codec>
-    <codec>element-mplex</codec>
-    <codec>element-xviddec</codec>
-    <codec>element-xvidenc</codec>
-  </provides>
-</component>

- ⁠2.9.3. File specification

- Note that the XML root must have the type property set to codec. This clearly identifies this metainfo document as describing a codec. -
- ⁠<id/>
- For codecs, the %{id} must follow the component-id naming conventions (see <id/>). -
<metadata_license/>
- The <metadata_license/> tag is required. See Section 2.1, “Generic Component” for a description of this tag. -
- ⁠<provides/> ↪ <codec/>
- This tag is described for generic components at Section 2.1, “Generic Component” in detail. -
- You must add one or more children of type <codec/> to make it known to the system that your software is able to provide the mentioned codecs. Adding this data is required for all components of type=codec. -
- For a component of type codec, the following tags are required and must be present: <id/>, <name/>, <summary/>, <metadata_license/>, <provides/> ↪ <codec/>. -
\ No newline at end of file +

+<?xml version="1.0" encoding="UTF-8"?>
+<component type="codec">
+  <id>org.freedesktop.gstreamer.codecs-good</id>
+  <metadata_license>CC0</metadata_license>
+  <name>GStreamer Multimedia Codecs - Extra</name>
+  <description>
+    <p>
+      This addon includes several additional codecs that are missing
+      something - perhaps a good code review, some documentation, a set of
+      tests, a real live maintainer, or some actual wide use.
+      However, they might be good enough to play your media files.
+    </p>
+    <p>
+      These codecs can be used to encode and decode media files where the
+      format is not patent encumbered.
+    </p>
+    <p>
+      A codec decodes audio and video for for playback or editing and is also
+      used for transmission or storage.
+      Different codecs are used in video-conferencing, streaming media and
+      video editing applications.
+    </p>
+  </description>
+  <provides>
+    <codec>encoder-audio/mpeg</codec>
+    <codec>mpegversion=(int){ 4, 2 }</codec>
+    <codec>stream-format=(string){ adts, raw }</codec>
+    <codec>encoder-video/mpeg</codec>
+    <codec>systemstream=(boolean)false</codec>
+    <codec>mpegversion=(int){ 1, 2, 4 }</codec>
+    <codec>encoder-video/mpeg</codec>
+    <codec>systemstream=(boolean)true</codec>
+    <codec>encoder-video/x-xvid</codec>
+    <codec>element-faac</codec>
+    <codec>element-mpeg2enc</codec>
+    <codec>element-mplex</codec>
+    <codec>element-xviddec</codec>
+    <codec>element-xvidenc</codec>
+  </provides>
+</component>

2.9.3 File specification

+ Note that the XML root must have the type property set to codec. + This clearly identifies this metainfo document as describing a codec. +

<id/> 

+ For codecs, the %{id} must follow the component-id naming conventions (see <id/>). +

<metadata_license/>

+ The <metadata_license/> tag is required. See Section 2.1, “Generic Component” for a description of this tag. +

<provides/> ↪ <codec/> 

+ This tag is described for generic components at Section 2.1, “Generic Component” in detail. +

+ You must add one or more children of type <codec/> to make it known to the system that your + software is able to provide the mentioned codecs. + Adding this data is required for all components of type=codec. +

+ For a component of type codec, the following tags are required and must be present: <id/>, <name/>, + <summary/>, <metadata_license/>, <provides/> ↪ <codec/>. +

\ No newline at end of file diff -Nru appstream-0.12.10/docs/html/sect-Metadata-ConsoleApplication.html appstream-0.14.5/docs/html/sect-Metadata-ConsoleApplication.html --- appstream-0.12.10/docs/html/sect-Metadata-ConsoleApplication.html 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/sect-Metadata-ConsoleApplication.html 2021-08-28 20:15:18.000000000 +0000 @@ -1,31 +1,48 @@ -2.3. Console Applications

Product SiteDocumentation Site

- ⁠2.3. Console Applications

- ⁠2.3.1. Introduction

- A console application is any application that has a command-line or text-based interface and is designed to be used by a human user on the command line. Applications need to be present in the standard PATH. -
- The file described in this document is built upon the generic component metadata with fields specific for applications (see Section 2.1, “Generic Component”). All tags valid for a generic component are valid for a console-application component as well. -
- In order to enhance the available metadata about their application, projects shipping a console application can ship one or more metainfo files in /usr/share/metainfo/%{id}.metainfo.xml. -

- ⁠2.3.2. File specification

- The basic structure for a generic component as described at Section 2.1.3, “XML Specification” applies. Note that the XML root must have the type property set to console-application, while in a generic component this property can be omitted. This clearly identified this metainfo document as describing an application. -
- The following list describes tags for console-application upstream metadata and provides some additional information about the values the tags are expected to have. If no information is given about a tag, refer to the respective tag in Section 2.1, “Generic Component”. -
- ⁠<id/>
- For console applications, the <id/> tag value must follow the AppStream ID naming conventions (it should be a reverse-DNS name). -
<metadata_license/>
- The <metadata_license/> tag as described in <metadata_license/> must be present. -
<name/>
- A name must be present for console applications. See <name/> for a detailed description of this tag. -
<summary/>
- A summary must be present for console applications. See <summary/> for a detailed description of this tag. -
- ⁠<provides/> ↪ <binary/>
- This tag is described in detail for generic components at <provides/>. -
- For console applications, at least one provided <binary/> must be listed in this tag. -
- For a component of type console-application, the following tags are required and must always be present: <id/>, <metadata_license/>, <name/>, <summary/>, <provides/> ↪ <binary/>. -
\ No newline at end of file +Console Applications | AppStream | AppStream 0.14 +

2.3 Console Applications

2.3.1 Introduction

+ A console application is any application that has a command-line or text-based interface and is designed to be used by a human user + on the command line. Applications need to be present in the standard PATH. +

+ The file described in this document is built upon the generic component metadata with fields specific for applications (see Section 2.1, “Generic Component”). + All tags valid for a generic component are valid for a console-application component as well. +

+ In order to enhance the available metadata about their application, projects shipping a console application can ship one or more metainfo files + in /usr/share/metainfo/%{id}.metainfo.xml. +

2.3.2 File specification

+ The basic structure for a generic component as described at Section 2.1.3, “XML Specification” applies. + Note that the XML root must have the type property set to console-application, while in a generic component this + property can be omitted. This clearly identified this metainfo document as describing an application. +

+ The following list describes tags for console-application upstream metadata and provides some additional information about the values + the tags are expected to have. + If no information is given about a tag, refer to the respective tag in Section 2.1, “Generic Component”. +

<id/> 

+ For console applications, the <id/> tag value must follow the AppStream ID naming conventions (it should be a reverse-DNS name). +

<metadata_license/>

+ The <metadata_license/> tag as described in <metadata_license/> must be present. +

<name/>

+ A name must be present for console applications. See <name/> for a detailed description of this tag. +

<summary/>

+ A summary must be present for console applications. See <summary/> for a detailed description of this tag. +

<provides/> ↪ <binary/> 

+ This tag is described in detail for generic components at <provides/>. +

+ For console applications, at least one provided <binary/> must be listed in this tag. +

+ For a component of type console-application, the following tags are required and must always be present: <id/>, + <metadata_license/>, <name/>, <summary/>, <provides/> ↪ <binary/>. +

\ No newline at end of file diff -Nru appstream-0.12.10/docs/html/sect-Metadata-Driver.html appstream-0.14.5/docs/html/sect-Metadata-Driver.html --- appstream-0.12.10/docs/html/sect-Metadata-Driver.html 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/sect-Metadata-Driver.html 2021-08-28 20:15:18.000000000 +0000 @@ -1,52 +1,68 @@ -2.12. Driver

Product SiteDocumentation Site

- ⁠2.12. Driver

- ⁠2.12.1. Introduction

- The driver component type describes drivers for hardware devices as well as other Linux kernel drivers for e.g. virtualization support. It usually provides one or multiple modaliases. -
+Driver | AppStream | AppStream 0.14 +

2.12 Driver

2.12.1 Introduction

+ The driver component type describes drivers for hardware devices as well as other Linux kernel + drivers for e.g. virtualization support. + It usually provides one or multiple modaliases. +

Drivers can ship one or more files in /usr/share/metainfo/%{id}.metainfo.xml. -

- ⁠2.12.2. Example file

+

2.12.2 Example file

A driver metainfo file can look like this: -


-<?xml version="1.0" encoding="UTF-8"?>
-<component type="driver">
-  <id>com.nvidia.GeForce</id>
-  <name>NVIDIA GeForce</name>
-  <summary>NVIDIA Graphics Driver</summary>
-  <description>
-    <p>
-      The NVIDIA Accelerated Linux Graphics Driver brings accelerated 2D
-      functionality and high-performance OpenGL support to Linux x86 with the
-      use of NVIDIA graphics processing units.
-    </p>
-    ...
-  </description>
-  <url type="homepage">http://www.nvidia.com/Download/index.aspx</url>
-  <metadata_license>CC0-1.0</metadata_license>
-  <project_license>LicenseRef-proprietary:NVIDIA</project_license>
-  <developer_name>NVIDIA Corporation</developer_name>
-
-  <provides>
-    <modalias>pci:v000010DEd*sv*sd*bc03sc00i00*</modalias>
-    ...
-  </provides>
-</component>

- ⁠2.12.3. File specification

- Note that the XML root must have the type property set to driver. This clearly identifies this metainfo document as describing a driver. -
- ⁠<id/>
- For drivers, the value of the <id/> tag must follow the reverse-DNS scheme as described for generic components. It is sometimes useful to suffix the ID with .driver to make it more unique. -
- ⁠<provides/> ↪ <modalias/>
- The provides/modalias tags contain all the modaliases the described driver supports and allow to automatically offer installation of the described driver on systems where hardware matching the modalias has been detected. -
- Using wildcards for modaliases is permitted. -
- Example: -
<provides>
-  <modalias>pci:v000010DEd00001194sv*sd*bc03sc*i*</modalias>
-  <modalias>pci:v000010DEd00001199sv*sd*bc03sc*i*</modalias>
-</provides>
- For a component of type driver, the following tags are required and must be present for a valid document: <id/>, <name/>, <summary/>, <metadata_license/>, <provides/> ↪ <modalias/>. -
\ No newline at end of file +

+<?xml version="1.0" encoding="UTF-8"?>
+<component type="driver">
+  <id>com.nvidia.GeForce</id>
+  <name>NVIDIA GeForce</name>
+  <summary>NVIDIA Graphics Driver</summary>
+  <description>
+    <p>
+      The NVIDIA Accelerated Linux Graphics Driver brings accelerated 2D
+      functionality and high-performance OpenGL support to Linux x86 with the
+      use of NVIDIA graphics processing units.
+    </p>
+    ...
+  </description>
+  <url type="homepage">http://www.nvidia.com/Download/index.aspx</url>
+  <metadata_license>CC0-1.0</metadata_license>
+  <project_license>LicenseRef-proprietary:NVIDIA</project_license>
+  <developer_name>NVIDIA Corporation</developer_name>
+
+  <provides>
+    <modalias>pci:v000010DEd*sv*sd*bc03sc00i00*</modalias>
+    ...
+  </provides>
+</component>

2.12.3 File specification

+ Note that the XML root must have the type property set to driver. + This clearly identifies this metainfo document as describing a driver. +

<id/> 

+ For drivers, the value of the <id/> tag must follow the reverse-DNS scheme as described for generic components. + It is sometimes useful to suffix the ID with .driver to make it more unique. +

<provides/> ↪ <modalias/> 

+ The provides/modalias tags contain all the modaliases the described driver supports and allow + to automatically offer installation of the described driver on systems where hardware matching the modalias has been + detected. +

+ Using wildcards for modaliases is permitted. +

+ Example: +

<provides>
+  <modalias>pci:v000010DEd00001194sv*sd*bc03sc*i*</modalias>
+  <modalias>pci:v000010DEd00001199sv*sd*bc03sc*i*</modalias>
+</provides>

+ For a component of type driver, the following tags are required and must be present for a valid document: + <id/>, <name/>, <summary/>, + <metadata_license/>, <provides/> ↪ <modalias/>. +

\ No newline at end of file diff -Nru appstream-0.12.10/docs/html/sect-Metadata-Firmware.html appstream-0.14.5/docs/html/sect-Metadata-Firmware.html --- appstream-0.12.10/docs/html/sect-Metadata-Firmware.html 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/sect-Metadata-Firmware.html 2021-08-28 20:15:18.000000000 +0000 @@ -1,89 +1,112 @@ -2.11. Firmware

Product SiteDocumentation Site

- ⁠2.11. Firmware

- ⁠2.11.1. Introduction

- Device firmware can be accompanied by AppStream upstream metadata, to be incorporated by a distribution. Tools like fwupd make use of this metadata to automatically update flashed firmware of devices found in the machine. Additionally, this component type can also be used for firmware which is loaded onto the device at runtime. -
+Firmware | AppStream | AppStream 0.14 +

2.11 Firmware

2.11.1 Introduction

+ Device firmware can be accompanied by AppStream upstream metadata, to be incorporated + by a distribution. Tools like fwupd (https://github.com/hughsie/fwupd) make + use of this metadata to automatically update flashed firmware of devices found in the machine. + Additionally, this component type can also be used for firmware which is loaded onto the device at runtime. +

Firmware can ship one or more files in /usr/share/metainfo/%{id}.metainfo.xml. -

- ⁠2.11.2. Example file

+

2.11.2 Example file

A firmware meta-info file should look like this: -


-<?xml version="1.0" encoding="UTF-8"?>
-<component type="firmware">
-  <id>com.hughski.ColorHug2.firmware</id>
-  <name>ColorHugALS Firmware</name>
-  <summary>Firmware for the ColorHugALS Ambient Light Sensor</summary>
-  <description>
-    <p>
-      Updating the firmware on your ColorHugALS device improves performance and
-      adds new features.
-    </p>
-  </description>
-  <url type="homepage">http://www.hughski.com/</url>
-  <metadata_license>CC0-1.0</metadata_license>
-  <project_license>GPL-2.0+</project_license>
-  <developer_name>Hughski Limited</developer_name>
-  <provides>
-    <firmware type="flashed">84f40464-9272-4ef7-9399-cd95f12da696</firmware>
-  </provides>
-  <releases>
-    <release version="3.0.2" date="2015-02-16">
-      <artifacts>
-        <artifact type="binary">
-          <location>http://www.hughski.com/downloads/colorhug-als/firmware/colorhug-als-3.0.2.cab</location>
-        </artifact>
-      </artifacts>
-      <description>
-        <p>This stable release fixes the following bugs:</p>
-        <ul>
-          <li>Fix the return code from GetHardwareVersion</li>
-          <li>Scale the output of TakeReadingRaw by the datasheet values</li>
-        </ul>
-      </description>
-    </release>
-  </releases>
-</component>
- You can find additional information on how to create a complete firmware package for flashed firmware upstream in the README document of fwupd. -

- ⁠2.11.3. File specification

- Note that the XML root must have the type property set to firmware. This clearly identifies this metainfo document as describing firmware. -
- ⁠<id/>
- For firmware, the value of the <id/> tag must follow the reverse-DNS scheme as described for generic components. It is sometimes useful to suffix the ID with .firmware to make it more unique. For example com.hughski.ColorHug2.firmware. -
- ⁠<releases/>
- This tag is identical to the generic <releases/> tag. Additional to the generic tag, for each <release/> child at least one <artifact/> tag is required in case the component describes flashed firmware. -
- The <location/> tag of the binary artifact specifies a remote location where the firmware .cab can be downloaded from. The download location needs to be accessible via HTTP, HTTPS or FTP. -
- Example: -
<releases>
-  <release version="3.0.2" date="2015-02-16">
-    <artifacts>
-      <artifact type="binary">
-        <location>http://www.hughski.com/downloads/colorhug-als/firmware/colorhug-als-3.0.2.cab</location>
-      </artifact>
-    </artifacts>
-    <description>
-      <p>This stable release fixes bugs.</p>
-    </description>
-  </release>
-</releases>
- ⁠<provides/> ↪ <firmware/>
- The provides/firmware tag describes the technical information needed to associate a firmware with a device, or describes which runtime firmware file it makes available to the kernel. -
- For runtime-loadable firmware, the type property of the firmware tag needs to be set to runtime, and its value needs to define the filename of a firmware below /lib/firmware to the firmware file in question, like the firmware value exported from Linux kernel modules. -
- Example: -
<provides>
-  <firmware type="runtime">ipw2200-bss.fw</firmware>
-</provides>
- For flashed firmware, the type property of the tag needs to be set to flashed. Its value needs to define the GUID of the device the firmware should be flashed onto. -
- Example: -
<provides>
-  <firmware type="flashed">84f40464-9272-4ef7-9399-cd95f12da696</firmware>
-</provides>
- For a component of type firmware, the following tags are required and must be present for a valid document: <id/>, <name/>, <summary/>, <metadata_license/>, <provides/> ↪ <firmware/>. -
\ No newline at end of file +

+<?xml version="1.0" encoding="UTF-8"?>
+<component type="firmware">
+  <id>com.hughski.ColorHug2.firmware</id>
+  <name>ColorHugALS Firmware</name>
+  <summary>Firmware for the ColorHugALS Ambient Light Sensor</summary>
+  <description>
+    <p>
+      Updating the firmware on your ColorHugALS device improves performance and
+      adds new features.
+    </p>
+  </description>
+  <url type="homepage">http://www.hughski.com/</url>
+  <metadata_license>CC0-1.0</metadata_license>
+  <project_license>GPL-2.0+</project_license>
+  <developer_name>Hughski Limited</developer_name>
+  <provides>
+    <firmware type="flashed">84f40464-9272-4ef7-9399-cd95f12da696</firmware>
+  </provides>
+  <releases>
+    <release version="3.0.2" date="2015-02-16">
+      <artifacts>
+        <artifact type="binary">
+          <location>http://www.hughski.com/downloads/colorhug-als/firmware/colorhug-als-3.0.2.cab</location>
+        </artifact>
+      </artifacts>
+      <description>
+        <p>This stable release fixes the following bugs:</p>
+        <ul>
+          <li>Fix the return code from GetHardwareVersion</li>
+          <li>Scale the output of TakeReadingRaw by the datasheet values</li>
+        </ul>
+      </description>
+    </release>
+  </releases>
+</component>

+ You can find additional information on how to create a complete firmware package for flashed firmware upstream in + the README document of fwupd (https://github.com/hughsie/fwupd/blob/master/README.md). +

2.11.3 File specification

+ Note that the XML root must have the type property set to firmware. + This clearly identifies this metainfo document as describing firmware. +

<id/> 

+ For firmware, the value of the <id/> tag must follow the reverse-DNS scheme as described for generic components. + It is sometimes useful to suffix the ID with .firmware to make it more unique. + For example com.hughski.ColorHug2.firmware. +

<releases/> 

+ This tag is identical to the generic <releases/> tag. + Additional to the generic tag, for each <release/> child at least one <artifact/> tag is required in case the component describes + flashed firmware. +

+ The <location/> tag of the binary artifact specifies a remote location where the firmware .cab can be downloaded from. + The download location needs to be accessible via HTTP, HTTPS or FTP. +

+ Example: +

<releases>
+  <release version="3.0.2" date="2015-02-16">
+    <artifacts>
+      <artifact type="binary">
+        <location>http://www.hughski.com/downloads/colorhug-als/firmware/colorhug-als-3.0.2.cab</location>
+      </artifact>
+    </artifacts>
+    <description>
+      <p>This stable release fixes bugs.</p>
+    </description>
+  </release>
+</releases>
<provides/> ↪ <firmware/> 

+ The provides/firmware tag describes the technical information needed to associate a firmware with a device, or describes + which runtime firmware file it makes available to the kernel. +

+ For runtime-loadable firmware, the type property of the firmware tag needs to be set to runtime, + and its value needs to define the filename of a firmware below /lib/firmware to the firmware file in question, + like the firmware value exported from Linux kernel modules. +

+ Example: +

<provides>
+  <firmware type="runtime">ipw2200-bss.fw</firmware>
+</provides>

+ For flashed firmware, the type property of the tag needs to be set to flashed. + Its value needs to define the GUID of the device the firmware should be flashed onto. +

+ Example: +

<provides>
+  <firmware type="flashed">84f40464-9272-4ef7-9399-cd95f12da696</firmware>
+</provides>

+ For a component of type firmware, the following tags are required and must be present for a valid document: + <id/>, <name/>, <summary/>, + <metadata_license/>, <provides/> ↪ <firmware/>. +

\ No newline at end of file diff -Nru appstream-0.12.10/docs/html/sect-Metadata-Fonts.html appstream-0.14.5/docs/html/sect-Metadata-Fonts.html --- appstream-0.12.10/docs/html/sect-Metadata-Fonts.html 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/sect-Metadata-Fonts.html 2021-08-28 20:15:18.000000000 +0000 @@ -1,103 +1,137 @@ -2.7. Fonts

Product SiteDocumentation Site

- ⁠2.7. Fonts

- ⁠2.7.1. Introduction

- A software center can allow users to install additional fonts using font metadata. Also, applications can use font metadata to find missing fonts (for example, if a special mathematical font is needed) in the distribution's software sources. This metainfo specification describes how metadata for fonts or font collections should be structured. -
+Fonts | AppStream | AppStream 0.14 +

2.7 Fonts

2.7.1 Introduction

+ A software center can allow users to install additional fonts using font metadata. + Also, applications can use font metadata to find missing fonts (for example, if a special mathematical font is needed) + in the distribution's software sources. + This metainfo specification describes how metadata for fonts or font collections should be structured. +

Font packages can ship one or more files in /usr/share/metainfo/%{id}.metainfo.xml. -

+

Font metadata files can – just like all other metainfo files – be translated. See the section about translation for more information. -

Note

- A font component is in most cases not describing a single font, but rather a collection of fonts that are grouped together, usually by their art style or font-family. -
+

Note
Note

+ A font component is in most cases not describing a single font, but rather a collection of fonts that + are grouped together, usually by their art style or font-family. +

To make the individual fonts known to the system, use the <provides/> ↪ <font/> tag. -

- ⁠2.7.2. Example file

+

2.7.2 Example file

A minimal font metainfo file can look like this: -

<?xml version="1.0" encoding="UTF-8"?>
-<component type="font">
-  <id>com.latofonts.Lato</id>
-  <metadata_license>MIT</metadata_license>
-  <project_license>OFL-1.1</project_license>
-
-  <name>Lato</name>
-  <summary>A sanserif type­face fam­ily</summary>
-  <description>
-    <p>
-      Lato is a sanserif type­face fam­ily designed in the Sum­mer 2010 by Warsaw-​​based designer
-      Łukasz Dziedzic (“Lato” means “Sum­mer” in Pol­ish). In Decem­ber 2010 the Lato fam­ily
-      was pub­lished under the open-​​source Open Font License by his foundry tyPoland, with
-      sup­port from Google.
-    </p>
-  </description>
-
-  <provides>
-    <font>Lato Regular</font>
-    <font>Lato Italic</font>
-    <font>Lato Bold</font>
-    <font>Lato Light</font>
-    <font>Lato Light Italic</font>
-    ...
-  </provides>
-</component>

- ⁠2.7.3. File specification

- Note that the XML root must have the type property set to font. This clearly identifies this metainfo document as describing a font. -
<id/>
- For fonts, the %{id} must follow the reverse-DNS scheme as described for generic components. For the product name part, it is recommended to take the the name of the font or font bundle without whitespace. -
<metadata_license/>
- The <metadata_license/> tag is required. See <metadata_license/> for a description of this tag. -
<name/>
- Set a name for the font or font collection. -
<summary/>
- A short description of the font described in this metainfo file. -
<description/>
- Add a long description of your font. Do not assume the format is HTML. Only paragraph, ordered list and unordered list are supported at this time. -
- See the generic component <description/> for a detailed description of this tag. -
<screenshots/>
- A screenshot presents your font to the outside world. -
- If the font metadata does not define an own screenshot, the AppStream generator is supposed to render one or multiple sample images using the respective font. -
- See the generic component <screenshots/> for a detailed description of this tag. -
<url/>
- This is a recommended tag for links of type homepage. Links of type homepage should be a link to the upstream homepage for the application. See the generic component <url/> for a description of this tag. -
- ⁠<provides/> ↪ <font/>
- This tag is described in detail for generic components at <provides/>. -
- You should add one or more children of type <font/> to make the font's full-names known. The full-name should be the same as given in the font file for the English language. If no full-name is set, a space-separated combination of the font's family and style is used instead. The font must have a family defined to be included. -
- The full-name entry should show the complete name of a typeface in its “natural” form, including style and character set information (if any), and without abbreviations. This is the name that some systems and applications look at to determine full, unabbreviated font menu names. -
- If you want to query the full-name and its family and style to see what needs to be added to this tag, you can use the fc-query utility of Fonconfig: -
fc-query --format='FN: %{fullname[0]}\nFS: %{family[0]} %{style[0]}\n' FONT-FILENAME
- Examples: -
<provides>
-  <font>Lato Heavy Italic</font>
-  <font>Noto Kufi Arabic Bold</font>
-  <font>Liberation Serif Bold Italic</font>
-  <font>FontAwesome Regular</font>
-</provides>
- If no <font/> tags were defined, the AppStream collection data generator should try to extract them from the actual font files found in the software package/bundle. -
- In every case, the names given in the provides tag must match the metadat the fonts contain themselves. If the data of the font files is incomplete, the data can not be extended by the <font/> tag. This is important because the AppStream generator may use the data to pick the right fonts, and because applications expect the exact font they requested via AppStream to be present on the system after the component was installed (and not one which has different metadata). -
- ⁠<languages/>
+

<?xml version="1.0" encoding="UTF-8"?>
+<component type="font">
+  <id>com.latofonts.Lato</id>
+  <metadata_license>MIT</metadata_license>
+  <project_license>OFL-1.1</project_license>
+
+  <name>Lato</name>
+  <summary>A sanserif type­face fam­ily</summary>
+  <description>
+    <p>
+      Lato is a sanserif type­face fam­ily designed in the Sum­mer 2010 by Warsaw-​​based designer
+      Łukasz Dziedzic (“Lato” means “Sum­mer” in Pol­ish). In Decem­ber 2010 the Lato fam­ily
+      was pub­lished under the open-​​source Open Font License by his foundry tyPoland, with
+      sup­port from Google.
+    </p>
+  </description>
+
+  <provides>
+    <font>Lato Regular</font>
+    <font>Lato Italic</font>
+    <font>Lato Bold</font>
+    <font>Lato Light</font>
+    <font>Lato Light Italic</font>
+    ...
+  </provides>
+</component>

2.7.3 File specification

+ Note that the XML root must have the type property set to font. + This clearly identifies this metainfo document as describing a font. +

<id/>

+ For fonts, the %{id} must follow the reverse-DNS scheme as described for generic components. + For the product name part, it is recommended to take the the name of the font or font bundle without whitespace. +

<metadata_license/>

+ The <metadata_license/> tag is required. See <metadata_license/> for a description of this tag. +

<name/>

+ Set a name for the font or font collection. +

<summary/>

+ A short description of the font described in this metainfo file. +

<description/>

+ Add a long description of your font. Do not assume the format is HTML. Only paragraph, ordered list + and unordered list are supported at this time. +

+ See the generic component <description/> for a detailed description of this tag. +

<screenshots/>

+ A screenshot presents your font to the outside world. +

+ If the font metadata does not define an own screenshot, the AppStream generator is supposed to render one or multiple + sample images using the respective font. +

+ See the generic component <screenshots/> for a detailed description of this tag. +

<url/>

+ This is a recommended tag for links of type homepage. + Links of type homepage should be a link to the upstream homepage for the application. + See the generic component <url/> for a description of this tag. +

<provides/> ↪ <font/> 

+ This tag is described in detail for generic components at <provides/>. +

+ You should add one or more children of type <font/> to make the font's full-names known. + The full-name should be the same as given in the font file for the English language. + If no full-name is set, a space-separated combination of the font's family and style + is used instead. + The font must have a family defined to be included. +

+ The full-name entry should show the complete name of a typeface in its + “natural” form, including style and character set information (if any), and + without abbreviations. This is the name that some systems and applications + look at to determine full, unabbreviated font menu names. +

+ If you want to query the full-name and its family and style to see what needs to + be added to this tag, you can use the fc-query utility of Fonconfig: +

fc-query --format='FN: %{fullname[0]}\nFS: %{family[0]} %{style[0]}\n' 
FONT-FILENAME

+ Examples: +

<provides>
+  <font>Lato Heavy Italic</font>
+  <font>Noto Kufi Arabic Bold</font>
+  <font>Liberation Serif Bold Italic</font>
+  <font>FontAwesome Regular</font>
+</provides>

+ If no <font/> tags were defined, the AppStream collection data generator should try to extract them from the actual font files found in the + software package/bundle. +

+ In every case, the names given in the provides tag must match the metadat the fonts contain themselves. If the data of the font files + is incomplete, the data can not be extended by the <font/> tag. + This is important because the AppStream generator may use the data to pick the right fonts, and because applications expect the exact font they requested + via AppStream to be present on the system after the component was installed (and not one which has different metadata). +

<languages/> 

This tag gives information about the locale a font supports. -

- This tak allows specifying the main locale (and thereby scripts) the font can be used with. It does not have to contain an extensive list, as the AppStream metadata generator will try get obtain that information from the font files themselves, but it is useful to define to hint the generator in the right direction. -
- If samples of the font are rendered as screenshots by the collection metadata generator, the locale mentioned in the metainfo file will be preferred over automatically (or heuristically) defined ones. -
+

+ This tak allows specifying the main locale (and thereby scripts) the font can be used with. + It does not have to contain an extensive list, as the AppStream metadata generator will try get obtain that + information from the font files themselves, but it is useful to define to hint the generator in the right direction. +

+ If samples of the font are rendered as screenshots by the collection metadata generator, the locale mentioned in the + metainfo file will be preferred over automatically (or heuristically) defined ones. +

You can use the following command to determine which languages a font supports: -

fc-query --format='%{lang}\n' FONT-FILENAME
+

fc-query --format='%{lang}\n' 
FONT-FILENAME

Tag example: -

<languages>
-  <lang>de</lang>
-  <lang>en</lang>
-  <lang>cn</lang>
-</languages>
-
- For a component of type font, the following tags are required and must be present: <id/>, <name/>, <summary/>, <metadata_license/>, <provides/> ↪ <font/>. -
\ No newline at end of file +

<languages>
+  <lang>de</lang>
+  <lang>en</lang>
+  <lang>cn</lang>
+</languages>
+

+ For a component of type font, the following tags are required and must be present: <id/>, <name/>, + <summary/>, <metadata_license/>, <provides/> ↪ <font/>. +

\ No newline at end of file diff -Nru appstream-0.12.10/docs/html/sect-Metadata-IconTheme.html appstream-0.14.5/docs/html/sect-Metadata-IconTheme.html --- appstream-0.12.10/docs/html/sect-Metadata-IconTheme.html 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/sect-Metadata-IconTheme.html 2021-08-28 20:15:18.000000000 +0000 @@ -1,68 +1,89 @@ -2.8. Icon Themes

Product SiteDocumentation Site

- ⁠2.8. Icon Themes

- ⁠2.8.1. Introduction

- Icon themes as defined in the Freedesktop Icon Theme Specification can contain icon-theme metainfo files to be installed by software centers. This metainfo specification describes how metadata for icon themes should be structured. -
+Icon Themes | AppStream | AppStream 0.14 +

2.8 Icon Themes

2.8.1 Introduction

+ Icon themes as defined in the Freedesktop Icon Theme Specification (https://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html) + can contain icon-theme metainfo files to be installed by software centers. + This metainfo specification describes how metadata for icon themes should be structured. +

Icon theme packages can ship one or more files in /usr/share/metainfo/%{id}.metainfo.xml. -

+

Icon theme metadata files can – just like all other metainfo files – be translated. See the section about translation for more information. -

- ⁠2.8.2. Example file

+

2.8.2 Example file

A minimal icon theme metainfo file can look like this: -

<?xml version="1.0" encoding="utf-8"?>
-<component type="icon-theme">
-  <id>io.git.PapirusIconTheme</id>
-  <metadata_license>FSFAP</metadata_license>
-  <project_license>GPL-3.0</project_license>
-
-  <name>Papirus</name>
-  <summary>A free and open source icon theme for Linux, based on the Paper Icon Set</summary>
-  <description>
-    <p>
-      Papirus is a free and open source SVG icon theme for Linux, based on Paper Icon Set
-      with a lot of new icons and a few extras, like Hardcode-Tray support, KDE colorscheme
-      support, Folder Color support, and others.
-      It is available in four variants:
-    </p>
-    <ul>
-      <li>Papirus</li>
-      <li>Papirus Dark</li>
-      <li>Papirus Light</li>
-      <li>ePapirus (for elementary OS and Pantheon Desktop)</li>
-    </ul>
-  </description>
-
-  <screenshots>
-    <screenshot type="default">
-      <image type="source">https://raw.githubusercontent.com/PapirusDevelopmentTeam/papirus-icon-theme/master/preview.png</image>
-    </screenshot>
-  </screenshots>
-</component>

- ⁠2.8.3. File specification

- Note that the XML root must have the type property set to icon-theme. This clearly identifies this metainfo document as describing an icon theme following the Freedesktop specification. -
- A new metainfo file is required for each variant of the icon theme (one for each index.theme) to describe the individual icon themes and allow them to be installed individually. That is, unless all the different theme variants are designed to be installed together (due to symbolic links between themes or Inherits fields in the theme description), in which case only one icon-theme component is required to describe the whole icon theme set. -
<id/>
- For fonts, the %{id} must follow the reverse-DNS scheme as described for generic components. -
<metadata_license/>
- The <metadata_license/> tag is required. See <metadata_license/> for a description of this tag. -
<name/>
- Set a name for the icon theme or set of icon themes intended to be shipped in one bundle. -
<summary/>
- A short description of the icon theme. -
<description/>
- Add a long description of your icon theme. -
- See the generic component <description/> for a detailed description of this tag. -
<screenshots/>
- A screenshot to show off the icon theme. -
- A good example on how that may look like is the preview image of the Papirus icon theme. -
- See the generic component <screenshots/> for a detailed description of this tag. -
<url/>
- This is a recommended tag for links of type homepage. Links of type homepage should be a link to the upstream homepage for the icon theme. See the generic component <url/> for a description of this tag. -
- For a component of type icon-theme, the following tags are required and must be present: <id/>, <name/>, <summary/>, <metadata_license/>. -
\ No newline at end of file +

<?xml version="1.0" encoding="utf-8"?>
+<component type="icon-theme">
+  <id>io.git.PapirusIconTheme</id>
+  <metadata_license>FSFAP</metadata_license>
+  <project_license>GPL-3.0</project_license>
+
+  <name>Papirus</name>
+  <summary>A free and open source icon theme for Linux, based on the Paper Icon Set</summary>
+  <description>
+    <p>
+      Papirus is a free and open source SVG icon theme for Linux, based on Paper Icon Set
+      with a lot of new icons and a few extras, like Hardcode-Tray support, KDE colorscheme
+      support, Folder Color support, and others.
+      It is available in four variants:
+    </p>
+    <ul>
+      <li>Papirus</li>
+      <li>Papirus Dark</li>
+      <li>Papirus Light</li>
+      <li>ePapirus (for elementary OS and Pantheon Desktop)</li>
+    </ul>
+  </description>
+
+  <screenshots>
+    <screenshot type="default">
+      <image type="source">https://raw.githubusercontent.com/PapirusDevelopmentTeam/papirus-icon-theme/master/preview.png</image>
+    </screenshot>
+  </screenshots>
+</component>

2.8.3 File specification

+ Note that the XML root must have the type property set to icon-theme. + This clearly identifies this metainfo document as describing an icon theme following the Freedesktop specification. +

+ A new metainfo file is required for each variant of the icon theme (one for each index.theme) to describe + the individual icon themes and allow them to be installed individually. + That is, unless all the different theme variants are designed to be installed together (due to symbolic links between themes or + Inherits fields in the theme description), in which case only one icon-theme component is required + to describe the whole icon theme set. +

<id/>

+ For fonts, the %{id} must follow the reverse-DNS scheme as described for generic components. +

<metadata_license/>

+ The <metadata_license/> tag is required. See <metadata_license/> for a description of this tag. +

<name/>

+ Set a name for the icon theme or set of icon themes intended to be shipped in one bundle. +

<summary/>

+ A short description of the icon theme. +

<description/>

+ Add a long description of your icon theme. +

+ See the generic component <description/> for a detailed description of this tag. +

<screenshots/>

+ A screenshot to show off the icon theme. +

+ A good example on how that may look like is + the preview image of the Papirus icon theme (https://github.com/PapirusDevelopmentTeam/papirus-icon-theme/blob/master/preview.png). +

+ See the generic component <screenshots/> for a detailed description of this tag. +

<url/>

+ This is a recommended tag for links of type homepage. + Links of type homepage should be a link to the upstream homepage for the icon theme. + See the generic component <url/> for a description of this tag. +

+ For a component of type icon-theme, the following tags are required and must be present: <id/>, <name/>, + <summary/>, <metadata_license/>. +

\ No newline at end of file diff -Nru appstream-0.12.10/docs/html/sect-Metadata-InputMethod.html appstream-0.14.5/docs/html/sect-Metadata-InputMethod.html --- appstream-0.12.10/docs/html/sect-Metadata-InputMethod.html 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/sect-Metadata-InputMethod.html 2021-08-28 20:15:18.000000000 +0000 @@ -1,59 +1,77 @@ -2.10. Input Methods

Product SiteDocumentation Site

- ⁠2.10. Input Methods

- ⁠2.10.1. Introduction

- It is a nice feature for a software center to allows users the installation of additional input methods. This meta-info specification describes how metadata about input methods should be structured. -
- Software components providing an input method can ship one or more files in /usr/share/metainfo/%{id}.metainfo.xml. -
+Input Methods | AppStream | AppStream 0.14 +

2.10 Input Methods

2.10.1 Introduction

+ It is a nice feature for a software center to allows users the installation of additional input methods. + This meta-info specification describes how metadata about input methods should be structured. +

+ Software components providing an input method can ship one or more files in + /usr/share/metainfo/%{id}.metainfo.xml. +

Input method metadata files can – just like all other metainfo files – be translated. See the section about translation for more information. -

- ⁠2.10.2. Example file

+

2.10.2 Example file

The input method meta-info file should look like this: -


-<?xml version="1.0" encoding="UTF-8"?>
-<component type="inputmethod">
-  <id>com.github.ibus.mathwriter-ibus.db</id>
-  <metadata_license>FSFAP</metadata_license>
-  <name>Mathwriter</name>
-  <summary>Math symbols input method</summary>
-  <description>
-    <p>
-      The input method is designed for entering mathematical symbols.
-    </p>
-    <p>
-      Input methods are typing systems allowing users to input complex languages.
-      They are necessary because these contain too many characters to simply be laid
-      out on a traditional keyboard.
-    </p>
-  </description>
-  <url type="homepage">https://github.com/mike-fabian/ibus-table-others</url>
-</component>

- ⁠2.10.3. File specification

- Note that the XML root must have the type property set to inputmethod. This clearly identifies this metainfo document as describing an input method instead of a generic software component. -
- ⁠<id/>
- For input methods, the %{id} should follow the standard reverse-domain-name scheme. For the product name part, it is recommended to take the database filename of the input method. -
<metadata_license/>
- The <metadata_license/> tag is required. See Section 2.1, “Generic Component” for a description of this tag. -
<name/>
- Set a name for your input method. -
<summary/>
- A short description of the input method described in this metainfo file. -
<description/>
- Add a long description of the input method. -
- Do not assume the format is HTML. Only paragraph, ordered list and unordered list are supported at this time. -
<screenshots/>
- A screenshot may be included, showing the input method in use in an application. -
- Refer to <screenshots/> for a detailed description of this tag. -
<url/>
- This is a recommended tag for links of type homepage. Links of type homepage should be a link to the upstream homepage for the application. See See <url/> for a description of this tag. -
<provides/>
- This tag is described for generic components at <provides/> in detail. -
- You can add one or more children of type <library/> in case you publish some additional shared libraries. If not, and there are no public binaries involved, you may omit the provides tag for input methods. -
- For a component of type inputmethod, the following tags are required and must be present: <id/>, <name/>, <summary/>, <metadata_license/>. -
\ No newline at end of file +

+<?xml version="1.0" encoding="UTF-8"?>
+<component type="inputmethod">
+  <id>com.github.ibus.mathwriter-ibus.db</id>
+  <metadata_license>FSFAP</metadata_license>
+  <name>Mathwriter</name>
+  <summary>Math symbols input method</summary>
+  <description>
+    <p>
+      The input method is designed for entering mathematical symbols.
+    </p>
+    <p>
+      Input methods are typing systems allowing users to input complex languages.
+      They are necessary because these contain too many characters to simply be laid
+      out on a traditional keyboard.
+    </p>
+  </description>
+  <url type="homepage">https://github.com/mike-fabian/ibus-table-others</url>
+</component>

2.10.3 File specification

+ Note that the XML root must have the type property set to inputmethod. + This clearly identifies this metainfo document as describing an input method instead of a generic software component. +

<id/> 

+ For input methods, the %{id} should follow the standard reverse-domain-name scheme. + For the product name part, it is recommended to take the database filename of the input method. +

<metadata_license/>

+ The <metadata_license/> tag is required. See Section 2.1, “Generic Component” for a description of this tag. +

<name/>

+ Set a name for your input method. +

<summary/>

+ A short description of the input method described in this metainfo file. +

<description/>

+ Add a long description of the input method. +

+ Do not assume the format is HTML. Only paragraph, ordered list and unordered list are supported at this time. +

<screenshots/>

+ A screenshot may be included, showing the input method in use in an application. +

+ Refer to <screenshots/> for a detailed description of this tag. +

<url/>

+ This is a recommended tag for links of type homepage. + Links of type homepage should be a link to the upstream homepage for the application. + See See <url/> for a description of this tag. +

<provides/>

+ This tag is described for generic components at <provides/> in detail. +

+ You can add one or more children of type <library/> in case you publish some additional shared libraries. + If not, and there are no public binaries involved, you may omit the provides tag for input methods. +

+ For a component of type inputmethod, the following tags are required and must be present: + <id/>, <name/>, + <summary/>, <metadata_license/>. +

\ No newline at end of file diff -Nru appstream-0.12.10/docs/html/sect-Metadata-Localization.html appstream-0.14.5/docs/html/sect-Metadata-Localization.html --- appstream-0.12.10/docs/html/sect-Metadata-Localization.html 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/sect-Metadata-Localization.html 2021-08-28 20:15:18.000000000 +0000 @@ -1,60 +1,80 @@ -2.13. Localization

Product SiteDocumentation Site

- ⁠2.13. Localization

- ⁠2.13.1. Localization

- The localization component type describes language packs for individual software components or groups of software components. A language pack includes anything necessary to localize a software component for a specific language and/or country. This is usually translations, but may also be translated media content, currency information and other things. A localization component extends one or multiple other components and defines the languages it provides via its languages tag. -
+Localization | AppStream | AppStream 0.14 +

2.13 Localization

2.13.1 Localization

+ The localization component type describes language packs for individual software components or groups + of software components. A language pack includes anything necessary to localize a software component for a specific language + and/or country. This is usually translations, but may also be translated media content, currency information and other things. + A localization component extends one or multiple other components and defines the + languages it provides via its languages tag. +

Language packs can ship one or more metainfo files as /usr/share/metainfo/%{id}.metainfo.xml. -

+

Do not confuse language packs with the software collection <languages/> tag, used to identify bundled translations. -

- ⁠2.13.2. Example file

+

2.13.2 Example file

A localization metainfo file can look like this: -


-<?xml version="1.0" encoding="UTF-8"?>
-<component type="localization">
-  <id>org.kde.l10n.de</id>
-  <name>KDE German Language</name>
-  <summary>German localization for the KDE desktop and apps</summary>
-
-  <extends>org.kde.plasmashell</extends>
-  <extends>org.kde.gwenview.desktop</extends>
-  <extends>org.kde.dolphin.desktop</extends>
-  ...
-
-  <url type="homepage">http://i18n.kde.org/team-infos.php?teamcode=de</url>
-  <metadata_license>FSFAP</metadata_license>
-
-  <developer_name>The KDE German L10N team</developer_name>
-
-  <languages>
-    <lang>de_DE</lang>
-    <lang percentage="96">de_AT</lang>
-    <lang percentage="100">de</lang>
-    ...
-  </languages>
-</component>

- ⁠2.13.3. File specification

- Note that the XML root must have the type property set to localization. This clearly identifies this metainfo document as describing a language pack. -
- ⁠<id/>
- For localizations, the value of the <id/> tag must follow the reverse-DNS scheme as described for generic components. Ideally, the name of the component this language pack is for should be suffixed with .l10n.%{lang}, where %{lang} is the language code of the language pack. -
- For example, if your applications component-id is org.gimp.gimp the ID of the German language pack for GIMP should be org.gimp.gimp.l10n.de. -
- ⁠<extends/>
- The extends tags contain all the components this language pack can be used with. -
- ⁠<languages/>
+

+<?xml version="1.0" encoding="UTF-8"?>
+<component type="localization">
+  <id>org.kde.l10n.de</id>
+  <name>KDE German Language</name>
+  <summary>German localization for the KDE desktop and apps</summary>
+
+  <extends>org.kde.plasmashell</extends>
+  <extends>org.kde.gwenview.desktop</extends>
+  <extends>org.kde.dolphin.desktop</extends>
+  ...
+
+  <url type="homepage">http://i18n.kde.org/team-infos.php?teamcode=de</url>
+  <metadata_license>FSFAP</metadata_license>
+
+  <developer_name>The KDE German L10N team</developer_name>
+
+  <languages>
+    <lang>de_DE</lang>
+    <lang percentage="96">de_AT</lang>
+    <lang percentage="100">de</lang>
+    ...
+  </languages>
+</component>

2.13.3 File specification

+ Note that the XML root must have the type property set to localization. + This clearly identifies this metainfo document as describing a language pack. +

<id/> 

+ For localizations, the value of the <id/> tag must follow the reverse-DNS scheme as described for generic components. + Ideally, the name of the component this language pack is for should be suffixed with .l10n.%{lang}, where %{lang} + is the language code of the language pack. +

+ For example, if your applications component-id is org.gimp.gimp the ID of the German language pack + for GIMP should be org.gimp.gimp.l10n.de. +

<extends/> 

+ The extends tags contain all the components this language pack can be used with. +

<languages/> 

This tag gives information about the locale a localization component provides support for. -

- The tag is allowed to only occur once per component, and contains multiple <lang/> child nodes, which have a language code as value. Each <lang/> node may have a percentage property, which describes the percentage value to which a component has been translated. -
+

+ The tag is allowed to only occur once per component, and contains multiple <lang/> child nodes, which have + a language code (https://www.gnu.org/software/gettext/manual/html_node/Language-Codes.html) as value. + Each <lang/> node may have a percentage property, which describes the percentage value to which + a component has been translated. +

Tag example: -

<languages>
-  <lang>de_DE</lang>
-  <lang percentage="94">de_AT</lang>
-</languages>
-
- For a component of type localization, the following tags are required and must be present for a valid document: <id/>, <name/>, <summary/>, <metadata_license/>, <extends/>, <languages/>. -
\ No newline at end of file +

<languages>
+  <lang>de_DE</lang>
+  <lang percentage="94">de_AT</lang>
+</languages>
+

+ For a component of type localization, the following tags are required and must be present for a valid document: + <id/>, <name/>, <summary/>, + <metadata_license/>, <extends/>, <languages/>. +

\ No newline at end of file diff -Nru appstream-0.12.10/docs/html/sect-Metadata-OS.html appstream-0.14.5/docs/html/sect-Metadata-OS.html --- appstream-0.12.10/docs/html/sect-Metadata-OS.html 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/sect-Metadata-OS.html 2021-08-28 20:15:18.000000000 +0000 @@ -1,56 +1,76 @@ -2.15. Operating System

Product SiteDocumentation Site

- ⁠2.15. Operating System

- ⁠2.15.1. Introduction

- The operating-system component type describes a whole operating system such as GNU/Linux distributions like Debian, Fedora, RHEL, etc. or Windows and macOS. -
+Operating System | AppStream | AppStream 0.14 +

2.15 Operating System

2.15.1 Introduction

+ The operating-system component type describes a whole operating system such as GNU/Linux distributions + like Debian, Fedora, RHEL, etc. or Windows and macOS. +

Operating systems can ship metainfo files in /usr/share/metainfo/%{id}.metainfo.xml. -

- ⁠2.15.2. Example file

+

2.15.2 Example file

An operating-system metainfo file can look like this: -


-<?xml version="1.0" encoding="UTF-8"?>
-<component type="operating-system">
-  <id>org.debian.debian</id>
-  <name>Debian GNU/Linux</name>
-  <summary>The universal operating system</summary>
-  <description>
-    <p>
-      Debian is a free operating system (OS) for your computer.
-      An operating system is the set of basic programs and utilities that make your computer run.
-    </p>
-    ...
-  </description>
-  <url type="homepage">https://www.debian.org/</url>
-  <metadata_license>FSFAP</metadata_license>
-  <developer_name>The Debian Project</developer_name>
-  ...
-
-  <releases>
-    <release version="10.0" type="development">
-      <description>
-        <p>The next release of Debian.</p>
-      </description>
-    </release>
-
-    <release version="9.0" date="2017-07-17" date_eol="2020-07-17">
-      <description>
-        <p>Now contains the Linux kernel 4.9, GNOME 3.22, KDE Plasma 5, LibreOffice 5.2 and Qt 5.7. LXQt has been added.</p>
-      </description>
-    </release>
-    ...
-  </releases>
-</component>

- ⁠2.15.3. File specification

- Note that the XML root must have the type property set to operating-system. This clearly identifies this metainfo document as describing an operating system. -
- ⁠<id/>
- For operating systems, the value of the <id/> tag must follow the reverse-DNS scheme as described for generic components. In order for AppStream consumers to determine which component is describing the operating system they are currently running on, on Linux distributions the component ID must follow the data provided in the operating system's /etc/os-release file. This means the reversed-DNS HOME_URL value from /etc/os-release (without any https/www parts) combined with the ID of the operating system will produce the operating system's component id. -
- E.g. if HOME_URL is https://www.debian.org/ and ID is debian, the resulting AppStream component-ID will be org.debian.debian. -
- ⁠<releases/>
- The <releases/> tag as described in <releases/> must be present and contain the individual releases of the operating system. It is also recommended to set the date_eol property on individual releases, to allow software to determine whether the current operating system release is still supported. -
- For a component of type operating-system, the following tags are required and must be present for a valid document: <id/>, <name/>, <summary/>, <metadata_license/>, <releases/>. -
\ No newline at end of file +

+<?xml version="1.0" encoding="UTF-8"?>
+<component type="operating-system">
+  <id>org.debian.debian</id>
+  <name>Debian GNU/Linux</name>
+  <summary>The universal operating system</summary>
+  <description>
+    <p>
+      Debian is a free operating system (OS) for your computer.
+      An operating system is the set of basic programs and utilities that make your computer run.
+    </p>
+    ...
+  </description>
+  <url type="homepage">https://www.debian.org/</url>
+  <metadata_license>FSFAP</metadata_license>
+  <developer_name>The Debian Project</developer_name>
+  ...
+
+  <releases>
+    <release version="10.0" type="development">
+      <description>
+        <p>The next release of Debian.</p>
+      </description>
+    </release>
+
+    <release version="9.0" date="2017-07-17" date_eol="2020-07-17">
+      <description>
+        <p>Now contains the Linux kernel 4.9, GNOME 3.22, KDE Plasma 5, LibreOffice 5.2 and Qt 5.7. LXQt has been added.</p>
+      </description>
+    </release>
+    ...
+  </releases>
+</component>

2.15.3 File specification

+ Note that the XML root must have the type property set to operating-system. + This clearly identifies this metainfo document as describing an operating system. +

<id/> 

+ For operating systems, the value of the <id/> tag must follow the reverse-DNS scheme as described for generic components. + In order for AppStream consumers to determine which component is describing the operating system they are currently running on, + on Linux distributions the component ID must follow the data provided in the operating system's /etc/os-release file. + This means the reversed-DNS HOME_URL value from /etc/os-release (without any https/www parts) combined + with the ID of the operating system will produce the operating system's component id. +

+ E.g. if HOME_URL is https://www.debian.org/ and ID is debian, the resulting AppStream + component-ID will be org.debian.debian. +

<releases/> 

+ The <releases/> tag as described in <releases/> must be present and contain the individual + releases of the operating system. + It is also recommended to set the date_eol property on individual releases, to allow software to determine + whether the current operating system release is still supported. +

+ For a component of type operating-system, the following tags are required and must be present for a valid document: + <id/>, <name/>, <summary/>, + <metadata_license/>, <releases/>. +

\ No newline at end of file diff -Nru appstream-0.12.10/docs/html/sect-Metadata-Repository.html appstream-0.14.5/docs/html/sect-Metadata-Repository.html --- appstream-0.12.10/docs/html/sect-Metadata-Repository.html 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/sect-Metadata-Repository.html 2021-08-28 20:15:18.000000000 +0000 @@ -1,38 +1,61 @@ -2.14. Repositories

Product SiteDocumentation Site

- ⁠2.14. Repositories

- ⁠2.14.1. Introduction

- A repository component describes a remote archive of digital content, usually other software or additional data (e.g. themes, icons, books, music, ...). Upon installation of a component of this type, the repective repository is added to the system and activated, letting the user access the new content. -
- The metadata described in this document is built upon the generic component metadata (see Section 2.1, “Generic Component”). All tags valid for a generic component are valid for a repository component as well. -
- In order to add metadata about a software repository, projects can provide one or more metainfo files in /usr/share/metainfo/%{id}.metainfo.xml. -

- ⁠2.14.2. File specification

- The basic structure for a generic component as described at Section 2.1.3, “XML Specification” applies. Note that the XML root must have the type property set to repository, while in a generic component this property can be omitted. This clearly identified this metainfo document as describing a repository. -
- The following list describes tags for repository upstream metadata and provides some additional information about the values the tags are expected to have. If no information is given about a tag, refer to the respective tag in Section 2.1, “Generic Component”. -
- ⁠<id/>
- For repositories, the <id/> tag value must follow the AppStream ID naming conventions (it should be a reverse-DNS name). -
<metadata_license/>
- The <metadata_license/> tag as described in <metadata_license/> must be present. -
<name/>
- A name must be present for repositories. See <name/> for a detailed description of this tag. -
<summary/>
- A summary must be present for repositories. See <summary/> for a detailed description of this tag. -
- ⁠<extends/>
- This tag is refers to the ID of the component this repository is added to, similarly to how components of type addon work. -
- Adding an extends tag ensures the respective repository is tied to its main component, e.g. a source for firmware downloads is tied to the firmware update service, or a repository for a site-specific package manager is tied to the tool that can actually install pieces from the repository. -
- The <extends/> tag may be specified multiple times. -
- ⁠<agreement/>
- It is recommended to add a GDPR compliant privacy statement to repository components, in case any personal data is acquired when the repository is accessed. -
- The agreement tag allows to add a privacy statement and other agreements easily. Refer to the <agreement/> tag as described for generic components for information on how to use agreements in AppStream. -
- For a component of type repository, the following tags are required and must always be present: <id/>, <metadata_license/>, <name/>, <summary/>. -
\ No newline at end of file +Repositories | AppStream | AppStream 0.14 +

2.14 Repositories

2.14.1 Introduction

+ A repository component describes a remote archive of digital content, usually other + software or additional data (e.g. themes, icons, books, music, ...). Upon installation of + a component of this type, the repective repository is added to the system and activated, + letting the user access the new content. +

+ The metadata described in this document is built upon the generic component metadata (see Section 2.1, “Generic Component”). + All tags valid for a generic component are valid for a repository component as well. +

+ In order to add metadata about a software repository, projects can provide one or more metainfo files + in /usr/share/metainfo/%{id}.metainfo.xml. +

2.14.2 File specification

+ The basic structure for a generic component as described at Section 2.1.3, “XML Specification” applies. + Note that the XML root must have the type property set to repository, while in a generic component this + property can be omitted. This clearly identified this metainfo document as describing a repository. +

+ The following list describes tags for repository upstream metadata and provides some additional information about the values + the tags are expected to have. + If no information is given about a tag, refer to the respective tag in Section 2.1, “Generic Component”. +

<id/> 

+ For repositories, the <id/> tag value must follow the AppStream ID naming conventions (it should be a reverse-DNS name). +

<metadata_license/>

+ The <metadata_license/> tag as described in <metadata_license/> must be present. +

<name/>

+ A name must be present for repositories. See <name/> for a detailed description of this tag. +

<summary/>

+ A summary must be present for repositories. See <summary/> for a detailed description of this tag. +

<extends/> 

+ This tag is refers to the ID of the component this repository is added to, similarly to how components of + type addon work. +

+ Adding an extends tag ensures the respective repository is tied to its main component, + e.g. a source for firmware downloads is tied to the firmware update service, or a repository for a + site-specific package manager is tied to the tool that can actually install pieces from the repository. +

+ The <extends/> tag may be specified multiple times. +

<agreement/> 

+ It is recommended to add a GDPR (https://www.eugdpr.org/) compliant privacy statement to repository + components, in case any personal data is acquired when the repository is accessed. +

+ The agreement tag allows to add a privacy statement and other agreements easily. Refer to the <agreement/> tag + as described for generic components for information on how to use agreements in AppStream. +

+ For a component of type repository, the following tags are required and must always be present: <id/>, + <metadata_license/>, <name/>, <summary/>. +

\ No newline at end of file diff -Nru appstream-0.12.10/docs/html/sect-Metadata-Runtime.html appstream-0.14.5/docs/html/sect-Metadata-Runtime.html --- appstream-0.12.10/docs/html/sect-Metadata-Runtime.html 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/sect-Metadata-Runtime.html 2021-08-28 20:15:18.000000000 +0000 @@ -1,60 +1,82 @@ -2.16. Runtime

Product SiteDocumentation Site

- ⁠2.16. Runtime

- ⁠2.16.1. Introduction

- Components of type runtime describe a collection of interdependent software components that are required to run other software. They set a baseline of dependencies that other software can rely on and link against. A very simple runtime may for example be a chroot environment of a minimal Linux system bootstrap. Runtimes are often employed by software distribution systems such as Flatpak or Valve's Steam, but may be used by others and may even be directly distributed as part of tranditional Linux distributions. -
+Runtime | AppStream | AppStream 0.14 +

2.16 Runtime

2.16.1 Introduction

+ Components of type runtime describe a collection of interdependent software components that are + required to run other software. They set a baseline of dependencies that other software can rely on and link against. + A very simple runtime may for example be a chroot environment of a minimal Linux system bootstrap. + Runtimes are often employed by software distribution systems such as Flatpak (https://flatpak.org/) or Valve's Steam, but may be + used by others and may even be directly distributed as part of tranditional Linux distributions. +

Runtimes can ship metainfo files in /usr/share/metainfo/%{id}.metainfo.xml. -

- ⁠2.16.2. Example file

+

2.16.2 Example file

A runtime metainfo file can look like this: -


-<?xml version="1.0" encoding="UTF-8"?>
-<component type="runtime">
-  <id>org.freedesktop.Platform</id>
-  <metadata_license>FSFAP</metadata_license>
-  <project_license>LicenseRef-free=https://freedesktop-sdk.gitlab.io/</project_license>
-
-  <name>Freedesktop Platform</name>
-  <summary>Basic libraries to run Linux desktop applications</summary>
-
-  <description>
-    <p>
-      The Freedesktop Platform is a runtime that contains the most basic libraries
-      and files needed to run a Linux desktop application.
-      ...
-    </p>
-  </description>
-  <url type="homepage">https://freedesktop-sdk.gitlab.io/</url>
-
-  <releases>
-    <release version="10.0" />
-    <release version="9.0" date="2020-01-12" />
-    ...
-  </releases>
-</component>

- ⁠2.16.3. File specification

- Note that the XML root must have the type property set to runtime. This clearly identifies this metainfo document as describing a runtime. -
- ⁠<id/>
- For runtimes, the value of the <id/> tag must follow the AppStream ID naming conventions (it should be a reverse-DNS name). -
- ⁠<requires/>
- The requires tag may be used if multiple runtimes are based on top of each other, or if the runtime actually describes a software development kit (SDK) that wants to require its base runtime. See <requires/> & <recommends/> for a detailed description of this tag. -
- In order to depend on other runtimes, their component-ID should be referenced in a requires tag. Example: -
<requires>
-  <id version="1.0" compare="ge">org.freedesktop.Sdk</id>
-</requires>
- ⁠<project_license/>
- The <project_license/> tag usually indicates the license of the component (refer to <project_license/> for details). This is tricky for runtimes, as they are usually comprised of many individual pieces of software under different licenses, which would create a very long and complex SPDX license expression. It is therefore recommended to have the tool that builds the runtime collect all the licenses and generate a document or website containing. This document can then be linked using LicenseRef-free=URL if the runtime is free software, or LicenseRef-proprietary=URL in case it contains non-free elements. -
- Example: -
<project_license>LicenseRef-free=https://example.com/licenses.html</project_license>
- ⁠<provides/>
- This tag is described in detail for generic components at <provides/>. -
- The runtime may use the <provides/> tag to denote the individual modules it is comprised of, using their component IDs. -
- For a component of type runtime, the following tags are required and must be present for a valid document: <id/>, <name/>, <summary/>, <metadata_license/>, <project_license/>. -
\ No newline at end of file +

+<?xml version="1.0" encoding="UTF-8"?>
+<component type="runtime">
+  <id>org.freedesktop.Platform</id>
+  <metadata_license>FSFAP</metadata_license>
+  <project_license>LicenseRef-free=https://freedesktop-sdk.gitlab.io/</project_license>
+
+  <name>Freedesktop Platform</name>
+  <summary>Basic libraries to run Linux desktop applications</summary>
+
+  <description>
+    <p>
+      The Freedesktop Platform is a runtime that contains the most basic libraries
+      and files needed to run a Linux desktop application.
+      ...
+    </p>
+  </description>
+  <url type="homepage">https://freedesktop-sdk.gitlab.io/</url>
+
+  <releases>
+    <release version="10.0" />
+    <release version="9.0" date="2020-01-12" />
+    ...
+  </releases>
+</component>

2.16.3 File specification

+ Note that the XML root must have the type property set to runtime. + This clearly identifies this metainfo document as describing a runtime. +

<id/> 

+ For runtimes, the value of the <id/> tag must follow the AppStream ID naming conventions (it should be a reverse-DNS name). +

<requires/> 

+ The requires tag may be used if multiple runtimes are based on top of each other, or if the runtime actually describes + a software development kit (SDK) that wants to require its base runtime. + See <requires/> & <recommends/> for a detailed description of this tag. +

+ In order to depend on other runtimes, their component-ID should be referenced in a requires tag. Example: +

<requires>
+  <id version="1.0" compare="ge">org.freedesktop.Sdk</id>
+</requires>
<project_license/> 

+ The <project_license/> tag usually indicates the license of the component + (refer to <project_license/> for details). + This is tricky for runtimes, as they are usually comprised of many individual pieces of software under + different licenses, which would create a very long and complex SPDX license expression. + It is therefore recommended to have the tool that builds the runtime collect all the licenses and generate a document + or website containing. This document can then be linked using LicenseRef-free=URL if the runtime is free software, + or LicenseRef-proprietary=URL in case it contains non-free elements. +

+ Example: +

<project_license>LicenseRef-free=https://example.com/licenses.html</project_license>
<provides/> 

+ This tag is described in detail for generic components at <provides/>. +

+ The runtime may use the <provides/> tag to denote the individual modules it is comprised of, + using their component IDs. +

+ For a component of type runtime, the following tags are required and must be present for a valid document: + <id/>, <name/>, <summary/>, + <metadata_license/>, <project_license/>. +

\ No newline at end of file diff -Nru appstream-0.12.10/docs/html/sect-Metadata-Service.html appstream-0.14.5/docs/html/sect-Metadata-Service.html --- appstream-0.12.10/docs/html/sect-Metadata-Service.html 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/sect-Metadata-Service.html 2021-08-28 20:15:18.000000000 +0000 @@ -1,34 +1,50 @@ -2.5. Services

Product SiteDocumentation Site

- ⁠2.5. Services

- ⁠2.5.1. Introduction

- A service component is any software that is started and supervised by the Operating Systems "init" facility, such as systemd. -
- The metadata described in this document is built upon the generic component metadata with fields specific for services (see Section 2.1, “Generic Component”). All tags valid for a generic component are valid for a service component as well. -
- In order to enhance the available metadata about their services, projects shipping a service can ship one or more metainfo files in /usr/share/metainfo/%{id}.metainfo.xml. -

- ⁠2.5.2. File specification

- The basic structure for a generic component as described at Section 2.1.3, “XML Specification” applies. Note that the XML root must have the type property set to service, while in a generic component this property can be omitted. This clearly identified this metainfo document as describing a service. -
- The following list describes tags for service upstream metadata and provides some additional information about the values the tags are expected to have. If no information is given about a tag, refer to the respective tag in Section 2.1, “Generic Component”. -
- ⁠<id/>
- For services, the <id/> tag value must follow the AppStream ID naming conventions (it should be a reverse-DNS name). -
<metadata_license/>
- The <metadata_license/> tag as described in <metadata_license/> must be present. -
<name/>
- A name must be present for services. See <name/> for a detailed description of this tag. -
<summary/>
- A summary must be present for services. See <summary/> for a detailed description of this tag. -
- ⁠<provides/> ↪ <service/>
- This tag is described in detail for generic components at <provides/>. -
- ⁠<launchable/>
- This tag is described in detail for generic components at <launchable/>. -
- At least one launchable element with type "service" must be present. The value is a name that can be used with the OS init facility to start/stop and monitor the service. -
- For a component of type service, the following tags are required and must always be present: <id/>, <metadata_license/>, <name/>, <summary/>, <provides/> ↪ <service/>. -
\ No newline at end of file +Services | AppStream | AppStream 0.14 +

2.5 Services

2.5.1 Introduction

+ A service component is any software that is started and supervised by + the Operating Systems "init" facility, such as systemd. +

+ The metadata described in this document is built upon the generic component metadata with fields specific for services (see Section 2.1, “Generic Component”). + All tags valid for a generic component are valid for a service component as well. +

+ In order to enhance the available metadata about their services, projects shipping a service can ship one or more metainfo files + in /usr/share/metainfo/%{id}.metainfo.xml. +

2.5.2 File specification

+ The basic structure for a generic component as described at Section 2.1.3, “XML Specification” applies. + Note that the XML root must have the type property set to service, while in a generic component this + property can be omitted. This clearly identified this metainfo document as describing a service. +

+ The following list describes tags for service upstream metadata and provides some additional information about the values + the tags are expected to have. + If no information is given about a tag, refer to the respective tag in Section 2.1, “Generic Component”. +

<id/> 

+ For services, the <id/> tag value must follow the AppStream ID naming conventions (it should be a reverse-DNS name). +

<metadata_license/>

+ The <metadata_license/> tag as described in <metadata_license/> must be present. +

<name/>

+ A name must be present for services. See <name/> for a detailed description of this tag. +

<summary/>

+ A summary must be present for services. See <summary/> for a detailed description of this tag. +

<launchable/> 

+ This tag is described in detail for generic components at <launchable/>. +

+ At least one launchable element with type "service" must be present. + The value is a name that can be used with the OS init facility to + start/stop and monitor the service. +

+ For a component of type service, the following tags are required and must always be present: <id/>, + <metadata_license/>, <name/>, <summary/>. +

\ No newline at end of file diff -Nru appstream-0.12.10/docs/html/sect-Metadata-WebApplication.html appstream-0.14.5/docs/html/sect-Metadata-WebApplication.html --- appstream-0.12.10/docs/html/sect-Metadata-WebApplication.html 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/sect-Metadata-WebApplication.html 2021-08-28 20:15:18.000000000 +0000 @@ -1,38 +1,59 @@ -2.4. Web Applications

Product SiteDocumentation Site

- ⁠2.4. Web Applications

- ⁠2.4.1. Introduction

+Web Applications | AppStream | AppStream 0.14 +

2.4 Web Applications

2.4.1 Introduction

A web application is an application running remotely that is accessed via a web browser and built on the web platform. -

- The metadata described in this document is built upon the generic component metadata with fields specific for web-applications (see Section 2.1, “Generic Component”). All tags valid for a generic component are valid for a web-application component as well. -
- A web application metainfo file is special in the regard that it is usually not combined with the software it is describing and that it has no installable. It usually is equivalent to a weblink that gets special treatment by software centers. Web application metainfo files are therefore injected directly into the collection metadata generation process, or can be installed as usual into /usr/share/metainfo/%{id}.metainfo.xml. -
- Software centers may display web applications in special, chrome-less web browser windows to achieve better desktop integration and make the web application feel more native on the desktop. -

- ⁠2.4.2. File specification

- The basic structure for a generic component as described at Section 2.1.3, “XML Specification” applies. Note that the XML root must have the type property set to web-application, while in a generic component this property can be omitted. This clearly identified this metainfo document as describing a web application. -
- The following list describes tags for web-application metainfo files and provides some additional information about the values the tags are expected to have. If no information is given about a tag, refer to the respective tag in Section 2.1, “Generic Component”. -
- ⁠<id/>
- For web applications, the <id/> tag value must follow the AppStream ID naming conventions (it should be a reverse-DNS name). -
<metadata_license/>
- The <metadata_license/> tag as described in <metadata_license/> must be present. -
<name/>
- A name must be present for console applications. See <name/> for a detailed description of this tag. -
<summary/>
- A summary must be present for console applications. See <summary/> for a detailed description of this tag. -
- ⁠<launchable/>
- This tag is described in detail for generic components at <launchable/>. -
- A launchable tag of type url must be present for web applications. It is used as the entry point for starting the web application and opened in a browser in case the user wants to "launch" the web application. -
- ⁠<icon/>
- This tag is described in detail for generic components at <icon/>. -
- A icon tag must be present for web applications. Authors of the metainfo files might prefer using the remote icon type, but any icon type is allowed here. -
- For a component of type web-application, the following tags are required and must always be present: <id/>, <metadata_license/>, <name/>, <summary/>, <launchable/>, <icon/>, <categories/>. -
\ No newline at end of file +

+ The metadata described in this document is built upon the generic component metadata with fields specific for web-applications (see Section 2.1, “Generic Component”). + All tags valid for a generic component are valid for a web-application component as well. +

+ A web application metainfo file is special in the regard that it is usually not combined with the software it is describing and that it has no + installable. + It usually is equivalent to a weblink that gets special treatment by software centers. Web application metainfo files are therefore + injected directly into the collection metadata generation process, or can be installed as usual into /usr/share/metainfo/%{id}.metainfo.xml. +

+ Software centers may display web applications in special, chrome-less web browser windows to achieve better desktop integration and + make the web application feel more native on the desktop. +

2.4.2 File specification

+ The basic structure for a generic component as described at Section 2.1.3, “XML Specification” applies. + Note that the XML root must have the type property set to web-application, while in a generic component this + property can be omitted. This clearly identified this metainfo document as describing a web application. +

+ The following list describes tags for web-application metainfo files and provides some additional information about the values + the tags are expected to have. + If no information is given about a tag, refer to the respective tag in Section 2.1, “Generic Component”. +

<id/> 

+ For web applications, the <id/> tag value must follow the AppStream ID naming conventions (it should be a reverse-DNS name). +

<metadata_license/>

+ The <metadata_license/> tag as described in <metadata_license/> must be present. +

<name/>

+ A name must be present for console applications. See <name/> for a detailed description of this tag. +

<summary/>

+ A summary must be present for console applications. See <summary/> for a detailed description of this tag. +

<launchable/> 

+ This tag is described in detail for generic components at <launchable/>. +

+ A launchable tag of type url must be present for web applications. It is used as the entry + point for starting the web application and opened in a browser in case the user wants to "launch" the web application. +

<icon/> 

+ This tag is described in detail for generic components at <icon/>. +

+ A icon tag must be present for web applications. Authors of the metainfo files might prefer using the remote icon type, + but any icon type is allowed here. +

+ For a component of type web-application, the following tags are required and must always be present: <id/>, + <metadata_license/>, <name/>, <summary/>, <launchable/>, <icon/>, + <categories/>. +

\ No newline at end of file diff -Nru appstream-0.12.10/docs/html/sect-Quickstart-Addons.html appstream-0.14.5/docs/html/sect-Quickstart-Addons.html --- appstream-0.12.10/docs/html/sect-Quickstart-Addons.html 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/sect-Quickstart-Addons.html 2021-08-28 20:15:19.000000000 +0000 @@ -1,64 +1,93 @@ -4.2. For upstream projects providing addons

Product SiteDocumentation Site

- ⁠4.2. For upstream projects providing addons

- ⁠4.2.1. Introduction

- Some software installed on the system is extensible via addons. To allow the user to install addons for software that is already available on the system, AppStream defines an addon component type. Software centers will usually group these components together with their host component and display them for installation. Extensible software may also access the AppStream data pool provided by the distribution or other software source directly, to offer installing missing addons from within the application. -
+For upstream projects providing addons | AppStream | AppStream 0.14 +

5.2 For upstream projects providing addons

5.2.1 Introduction

+ Some software installed on the system is extensible via addons. To allow the user to install addons for + software that is already available on the system, AppStream defines an addon component type. + Software centers will usually group these components together with their host component and display them for installation. + + Extensible software may also access the AppStream data pool provided by the distribution or other software source directly, + to offer installing missing addons from within the application. +

Software which provides addons can ship one or more files in /usr/share/metainfo/%{id}.metainfo.xml. -

- ⁠4.2.2. Example file

+

Tip
Tip

+ To get you started quickly, the AppStream project provides a web-based form to quickly generate valid metainfo XML for some of the most + common use cases. Check it out on freedesktop.org/software/appstream/metainfocreator (https://www.freedesktop.org/software/appstream/metainfocreator/#/). +

5.2.2 Example file

The file should contain something like this: -

<?xml version="1.0" encoding="UTF-8"?>
-<component type="addon">
-  <id>org.gnome.gedit.gedit_bookmarks</id>
-  <extends>org.gnome.gedit</extends>
-  <name>Bookmarks</name>
-  <summary>Easy document navigation with bookmarks</summary>
-  <url type="homepage">https://wiki.gnome.org/Apps/Gedit/ShippedPlugins</url>
-  <url type="bugtracker">https://bugzilla.gnome.org/enter_bug.cgi?product=gedit&amp;component=Plugins</url>
-  <metadata_license>FSFAP</metadata_license>
-  <project_license>GPL-2.0+</project_license>
-</component>

- ⁠4.2.3. Metadata file contents

- This is a list of tags you might want to define for your application. For a full list of possible tags, take a look at the definition of a generic component (Section 2.1.3, “XML Specification”) and an addon component (Section 2.6.3, “File specification”). -
<id/>
- For addons, there is no strict rule for the component-ID. You should just ensure that you pick a unique name. -
- It is highly recommended to apply a application_name-plugin_name naming scheme for your addon-id. -
<extends/>
- This tag is refers to the ID of the component this addon is extending. For desktop applications, this is usually the name of their .desktop file. -
- This tag is described in detail for addon components at <extends/>. -
<name/>
- Each addon component needs a <name/> tag, giving the addon a human-readable name. -

Note

- Don't put the application name you are extending in the <name/> - so you want to use Bookmarks rather than GEdit Bookmarks -
<summary/>
- The <summary/> tag follows the basic structure of a <summary/> as described in the specification. It is a required tag for an addon component. -
- Some useful hints for finding a good addon summary: -
  • - Don't put the application name you are extending in the <summary/> - so you want to use Easy document navigation with bookmarks rather than Easy document navigation with bookmarks in GEdit. -
  • - Don't use long or short descriptions. Ideally <summmary/> should be less than 101 and more than 8. -
<url/>
- It is recommended to include links of types homepage and bugtracker. You can omit the <url/> if it's the same as the upstream project. -
- Links of type homepage should be a link to the upstream homepage for the addon. -
- Links of type bugtracker should be a link to the upstream bugtracker. -

Note

- It is highly recommended to be a link to the upstream bugzilla with filed component and product. -

Warning

- It might be necessary to escape URLs. For example replacing of & with &amp;. -
- For other possible values, take a look at the tag's description in <url/>. -
<metadata_license/>
- The <metadata_license/> tag is indicating the content license that you are releasing the one metadata file as. This is not typically the same as the project license. By ommitting the license value would probably mean your data would not be incorporated into the distribution metadata. Permissible license codes include: -
- The license codes correspond to the identifiers found at the SPDX OpenSource License Registry. Take a look at <metadata_license/> for more details about this tag. -
<project_license/>
- The <project_license/> tag is indicating the license(s) this addon is released under. Take a look at the specification of the <project_license/> tag for details on how to properly use it. -
<update_contact/>
- You might want to include an update-contact email address. Take a look at the specification of the <update_contact/> tag for more details on how to use this tag. -
\ No newline at end of file +

<?xml version="1.0" encoding="UTF-8"?>
+<component type="addon">
+  <id>org.gnome.gedit.gedit_bookmarks</id>
+  <extends>org.gnome.gedit</extends>
+  <name>Bookmarks</name>
+  <summary>Easy document navigation with bookmarks</summary>
+  <url type="homepage">https://wiki.gnome.org/Apps/Gedit/ShippedPlugins</url>
+  <url type="bugtracker">https://bugzilla.gnome.org/enter_bug.cgi?product=gedit&amp;component=Plugins</url>
+  <metadata_license>FSFAP</metadata_license>
+  <project_license>GPL-2.0+</project_license>
+</component>

5.2.3 Metadata file contents

+ This is a list of tags you might want to define for your application. For a full list of possible tags, take a look at + the definition of a generic component (Section 2.1.3, “XML Specification”) and an addon component (Section 2.6.3, “File specification”). +

<id/>

+ For addons, there is no strict rule for the component-ID. You should just ensure that you pick a unique name. +

+ It is highly recommended to apply a application_name-plugin_name naming scheme for your addon-id. +

<extends/>

+ This tag is refers to the ID of the component this addon is extending. For desktop applications, this is usually the name of their .desktop file. +

+ This tag is described in detail for addon components at <extends/>. +

<name/>

+ Each addon component needs a <name/> tag, giving the addon a human-readable name. +

Note
Note

+ Don't put the application name you are extending in the <name/> - so you want to use Bookmarks rather than GEdit Bookmarks +

<summary/>

+ The <summary/> tag follows the basic structure of a <summary/> as described in the specification. It is a required tag for an addon component. +

+ Some useful hints for finding a good addon summary: +

  • + Don't put the application name you are extending in the <summary/> - so you want to use Easy document navigation with bookmarks + rather than Easy document navigation with bookmarks in GEdit. +

  • + Don't use long or short descriptions. + Ideally <summmary/> should be less than 101 and more than 8. +

<url/>

+ It is recommended to include links of types homepage and bugtracker. + You can omit the <url/> if it's the same as the upstream project. +

+ Links of type homepage should be a link to the upstream homepage for the addon. +

+ Links of type bugtracker should be a link to the upstream bugtracker. +

Note
Note

+ It is highly recommended to be a link to the upstream bugzilla with filed component and product. +

Warning
Warning

+ It might be necessary to escape URLs. For example + replacing of & with &amp;. +

+ For other possible values, take a look at the tag's description in <url/>. +

<metadata_license/>

+ The <metadata_license/> tag is indicating the content license that you are releasing the one + metadata file as. This is not typically the same as the project license. By ommitting the license value would + probably mean your data would not be incorporated into the distribution metadata. + Permissible license codes include: +

+ The license codes correspond to the identifiers found at the SPDX OpenSource License Registry (http://spdx.org/licenses/). + Take a look at <metadata_license/> for more details about this tag. +

<project_license/>

+ The <project_license/> tag is indicating the license(s) this addon is released under. + Take a look at the specification of the <project_license/> tag for details on how to properly use it. +

<update_contact/>

+ You might want to include an update-contact email address. Take a look at the specification of the <update_contact/> tag + for more details on how to use this tag. +

\ No newline at end of file diff -Nru appstream-0.12.10/docs/html/sect-Quickstart-Distros.html appstream-0.14.5/docs/html/sect-Quickstart-Distros.html --- appstream-0.12.10/docs/html/sect-Quickstart-Distros.html 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/sect-Quickstart-Distros.html 2021-08-28 20:15:19.000000000 +0000 @@ -1,13 +1,31 @@ -4.3. For distributors packaging Appstream metadata

Product SiteDocumentation Site

- ⁠4.3. For distributors packaging Appstream metadata

- ⁠4.3.1. Guidelines for distributors

- Distributors of projects with AppStream metadata perform an important role by making the software available to more people. There are a few guidelines distributors should follow in order for software centers to present the correct information to users. -

- ⁠4.3.2. Guidelines for distributors

- A binary package that contains AppStream desktop metadata (Section 2.2, “Desktop Applications”) must also contain both the .desktop file for the application and the application itself. -
- A binary package must not contain more than one AppStream metadata file. The one exception is that it is permissable for a binary package that is extended by addons to include those addons (Section 2.6, “Addons”) and their AppStream metadata files. Note that users will be unable to remove those addons separately. -
+For distributors packaging Appstream metadata | AppStream | AppStream 0.14 +

5.3 For distributors packaging Appstream metadata

5.3.1 Guidelines for distributors

+ Distributors of projects with AppStream metadata perform an important role + by making the software available to more people. There are a few guidelines + distributors should follow in order for software centers to present + the correct information to users. +

5.3.2 Guidelines for distributors

+ A binary package that contains AppStream desktop metadata (Section 2.2, “Desktop Applications”) + must also contain both the .desktop file for the application and the application itself. +

+ A binary package must not contain more than one AppStream metadata file. The one exception is + that it is permissable for a binary package that is extended by addons to include those addons + (Section 2.6, “Addons”) and their AppStream metadata files. Note that users + will be unable to remove those addons separately. +

Except for the extended package, no other package may contain more than one Appstream addon metadata file. -

\ No newline at end of file +

\ No newline at end of file diff -Nru appstream-0.12.10/docs/html/sect-Quickstart-Translation.html appstream-0.14.5/docs/html/sect-Quickstart-Translation.html --- appstream-0.12.10/docs/html/sect-Quickstart-Translation.html 2020-01-18 18:12:58.000000000 +0000 +++ appstream-0.14.5/docs/html/sect-Quickstart-Translation.html 2021-08-28 20:15:19.000000000 +0000 @@ -1,62 +1,84 @@ -4.4. Translating Metadata

Product SiteDocumentation Site

- ⁠4.4. Translating Metadata

- ⁠4.4.1. Introduction

- Most AppStream metadata can be translated, This page contains some practical instructions how to translate the metadata. -

For KDE developers

- If you are a KDE developer and using the KDE infrastructure with it's localization support, you need to do nothing to get translated metadata. Just place your *.metainfo.xml* (or *.appdata.xml* file) at a sane place, and the l10n-script will translate the file in-place automatically. -

- ⁠4.4.2. Translating using Intltool

+Translating Metadata | AppStream | AppStream 0.14 +

5.4 Translating Metadata

5.4.1 Introduction

+ Most AppStream metadata can be translated, This page contains some practical instructions how to translate the + metadata. +

Note
Note: For KDE developers

+ If you are a KDE developer and using the KDE infrastructure with it's localization support, you need to do nothing + to get translated metadata. Just place your *.metainfo.xml* (or *.appdata.xml* file) + at a sane place, and the l10n-script will translate the file in-place automatically. +

5.4.2 Translating using Intltool

If you ship an .xml.in file rather than an .xml file, you can use Intltool to translate the data. -

- Each translatable element in the .xml.in file needs to be prefixed with an underscore (_) to be marked as translatable. This should include the name, summary, and caption tags, as well as each paragraph in the description. Apart from that, the same specifications apply to this file as for any other AppStream metadata. -
- To translate the appstream data, first add the .xml.in file to po/POTFILES.in, along with any other translatable files. Then create the translation template file <package name>.pot. -
cd po; intltool-update --pot --gettext-package=<package name>
- For each supported language, copy the template file to po/<language>-[<COUNTRY>].po, where po/<language> and the optional po/<COUNTRY> are standard two-letter codes. Edit the file to add translated strings. -
+

+ Each translatable element in the .xml.in file needs to be prefixed with an underscore (_) to be marked as translatable. + This should include the name, summary, and caption tags, as well as each paragraph in the + description. Apart from that, the same specifications apply to this file as for any other AppStream metadata. +

+ To translate the appstream data, first add the .xml.in file to po/POTFILES.in, along with any other + translatable files. Then create the translation template file <package name>.pot. +

cd po; intltool-update --pot --gettext-package=<package name>

+ For each supported language, copy the template file to po/<language>-[<COUNTRY>].po, where + po/<language> and the optional po/<COUNTRY> are standard two-letter codes. + Edit the file to add translated strings. +

As the translatable content is updated, recreate the template file, and update the .po files. -

cd po; intltool-update --dist --gettext-package=<package name> <language>
+

cd po; intltool-update --dist --gettext-package=<package name> <language>

Create the translated .xml with the following command. -

intltool-merge -u -c ./po/.intltool-merge-cache ./po -x <file>.xml.in <file>.xml

- ⁠4.4.2.1. Integrating with Autotools (the AppStream way)

- The generic way to add translation to your AppStream metadata in case you use Autotools is by using the following code snippet: -
appstreamdir = $(datadir)/metainfo/
-appstream_in_files = gedit.metainfo.xml.in
-appstream_DATA = $(appstream_in_files:.xml.in=.xml)
-@INTLTOOL_XML_RULE@
-EXTRA_DIST = $(metainfo_in_files)
-CLEANFILES = $(appstream_DATA)
+

intltool-merge -u -c ./po/.intltool-merge-cache ./po -x <file>.xml.in <file>.xml

5.4.2.1 Integrating with Autotools (the AppStream way)

+ The generic way to add translation to your AppStream metadata in case you use Autotools is by using + the following code snippet: +

appstreamdir = $(datadir)/metainfo/
+appstream_in_files = gedit.metainfo.xml.in
+appstream_DATA = $(appstream_in_files:.xml.in=.xml)
+@INTLTOOL_XML_RULE@
+EXTRA_DIST = $(metainfo_in_files)
+CLEANFILES = $(appstream_DATA)

The code assumes you are using the Intltool Automake code. -

- ⁠4.4.2.2. Integrating with Autotools (the AppStream-GLib way)

+

5.4.2.2 Integrating with Autotools (the AppStream-GLib way)

In case you want to use the macro provided by the AppStream-GLib library, you can use this code snippet: -

@APPSTREAM_XML_RULES@
-appstream_in_files = gedit.metainfo.xml.in
-appstream_XML = $(appstream_in_files:.xml.in=.xml)
-@INTLTOOL_XML_RULE@
-EXTRA_DIST = $(metainfo_in_files)
-CLEANFILES = $(appstream_XML)
+

@APPSTREAM_XML_RULES@
+appstream_in_files = gedit.metainfo.xml.in
+appstream_XML = $(appstream_in_files:.xml.in=.xml)
+@INTLTOOL_XML_RULE@
+EXTRA_DIST = $(metainfo_in_files)
+CLEANFILES = $(appstream_XML)

Make sure you have the additional AppStream macro installed. -

- ⁠4.4.3. Translating using Itstool

- You can also use Itstool for translation. In order to translate an XML file with it, you need an .its file with translation definitions. An appropriate file for AppStream upstream metadata of any kind can be found here: -

-<its:rules
-  xmlns:its="http://www.w3.org/2005/11/its"
-  version="1.0">
-  <its:translateRule translate="no" selector="/component"/>
-  <its:translateRule translate="yes"
-    selector="/component/name | /component/summary |
-    /component/description | /component/screenshots/screenshot/caption | /component/developer_name"/>
-</its:rules>
+

5.4.3 Translating using Itstool

+ You can also use Itstool for translation. In order to translate an XML file with it, you need an .its file with translation definitions. + An appropriate file for AppStream upstream metadata of any kind can be found here: +

+<its:rules
+  xmlns:its="http://www.w3.org/2005/11/its"
+  version="1.0">
+  <its:translateRule translate="no" selector="/component"/>
+  <its:translateRule translate="yes"
+    selector="/component/name | /component/summary |
+    /component/description | /component/screenshots/screenshot/caption | /component/developer_name"/>
+</its:rules>
+

Save this file as as-metainfo.its for example. -

- To extract a GNU Gettext .pot file from your XML file, run itstool with the follwing arguments (replacing "foo" with your project name): -
itstool -i as-metainfo.its -o $podir/foo_metadata.pot data/foo.metainfo.xml
- You can then translate the .pot file using the standard methods for translating files like these. You obtain .po files, which you can convert into .mo files (using msgfmt) like you would do with any other localization. Then, you need to call itstool again, to create a translated version of the original XML file: -
itstool -i as-metainfo.its -j data/foo.metainfo.xml -o output/foo.metainfo.xml $modir/*.mo
+

+ To extract a GNU Gettext .pot file from your XML file, run itstool with the follwing arguments (replacing "foo" with + your project name): +

itstool -i as-metainfo.its -o $podir/foo_metadata.pot data/foo.metainfo.xml

+ You can then translate the .pot file using the standard methods for translating files like these. You obtain + .po files, which you can convert into .mo files (using msgfmt) like you would do with any + other localization. Then, you need to call itstool again, to create a translated version of the original XML file: +

itstool -i as-metainfo.its -j data/foo.metainfo.xml -o output/foo.metainfo.xml $modir/*.mo

Please ensure that the .mo files in $modir are named with their language codes. -

Note

- You can find more information about Itstool on their homepage. -
\ No newline at end of file +

Note
Note

+ You can find more information about Itstool on their homepage (http://itstool.org/). +

\ No newline at end of file diff -Nru appstream-0.12.10/docs/html/static/css/highlight.css appstream-0.14.5/docs/html/static/css/highlight.css --- appstream-0.12.10/docs/html/static/css/highlight.css 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/html/static/css/highlight.css 2021-08-28 20:15:19.000000000 +0000 @@ -0,0 +1,108 @@ +/* + + highlight.js style for Microtik RouterOS script + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #F0F0F0; +} + +/* Base color: saturation 0; */ + +.hljs, +.hljs-subst { + color: #444; +} + +.hljs-comment { + color: #888888; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-meta-keyword, +.hljs-doctag, +.hljs-name { + font-weight: bold; +} + +.hljs-attribute { + color: #0E9A00; +} + +.hljs-function { + color: #99069A; +} + +.hljs-builtin-name { + color: #99069A; +} + +/* User color: hue: 0 */ + +.hljs-type, +.hljs-string, +.hljs-number, +.hljs-selector-id, +.hljs-selector-class, +.hljs-quote, +.hljs-template-tag, +.hljs-deletion { + color: #880000; +} + +.hljs-title, +.hljs-section { + color: #880000; + font-weight: bold; +} + +.hljs-regexp, +.hljs-symbol, +.hljs-variable, +.hljs-template-variable, +.hljs-link, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #BC6060; +} + + +/* Language color: hue: 90; */ + +.hljs-literal { + color: #78A960; +} + +.hljs-built_in, +.hljs-bullet, +.hljs-code, +.hljs-addition { + color: #0C9A9A; +} + + +/* Meta color: hue: 200 */ + +.hljs-meta { + color: #1f7199; +} + +.hljs-meta-string { + color: #4d99bf; +} + + +/* Misc effects */ + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff -Nru appstream-0.12.10/docs/html/static/css/style.css appstream-0.14.5/docs/html/static/css/style.css --- appstream-0.12.10/docs/html/static/css/style.css 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/html/static/css/style.css 2020-05-10 18:14:16.000000000 +0000 @@ -0,0 +1,2799 @@ +/* Reset, from http://meyerweb.com/eric/tools/css/reset/, v2.0, modified */ + +html,body,div,span,h1,h2,h3,h4,h5,h6,p,pre,a,code,em,img,s,small,strong,sup,var,b,u,i,dl,dt,dd,ol,ul,.footer ul,li,form,label,table,caption,tbody,tr,td,details,embed,footer,header,menu,nav,output,section,summary,audio,video { +margin:0; +padding:0; +border:0; +font-size:100%; +font:inherit; +vertical-align:baseline; +} + +details, +footer, +header, +menu, +nav, +section { + display: block; +} + +table { + border-collapse: collapse; + border-spacing: 0; +} + +a { + text-decoration: none; +} + + +/* PAGE BOILERPLATE AND NAVIGATION */ + + +/* Common */ + +.clearme { + clear: both; + width: 100%; + height: 0; +} + + +/* Selection colour, the unprefixed Webkit version & the -moz-prefixed + version must be on separate lines for it to work. */ + +::selection { + background-color: #3B80AE; + color: #FFF; +} + +::-moz-selection { + background-color: #3B80AE; + color: #FFF; +} + +body { + background-color: #FFF; + font-family: 'Open Sans', 'DejaVu Sans', Verdana, sans-serif; + line-height: 140%; +} + +html, body { + height: 100%; + min-width: 200px; + font-size: 16px; +} + +.bypass-block { + position: absolute; + left: 0; + z-index: 9753; + overflow: hidden; +} + +.bypass-block>* { + position: absolute; + /* clip is deprecated but works in IE and Edge. clip-path is + newer and more flexible and also less compatible. */ + clip: rect(1px1px1px1px); + clip: rect(1px, 1px, 1px, 1px); + overflow: hidden; + height: 1px; +} + +#_toolbar-bottom, +#_fixed-header-wrap #_bubble-toc, +.documentation, +.page-bottom { + margin: 0 auto; + min-width: 150px; + max-width: 978px; +} + +#_header { + margin: 0 auto; + min-width: 150px; + max-width: 998px; +} + +.single div.part, +.single div.chapter, +.single div.reference, +.single div.index, +.single div.page-bottom { + padding-top: 40px; +} + +#_footer, +#_toolbar-bottom, +.documentation, +.page-bottom { + overflow: hidden; +} + +#_toolbar { + margin: 0 auto; + min-width: 170px; + max-width: 998px; + padding: 0; +} + +#_toolbar a, +#_header a, +.bubble a, +#_toolbar input, +#_toolbar button { + outline: 0; +} + + +/* to be able to position various elements and be able to use z-index*/ + +#_header, +#_content, +#_white-bg, +#_inward, +#_footer, +#_toolbar { + position: relative; +} + +#_white-bg, +#_toolbar, +#_fixed-header { + padding: 0 10px; +} + +#_content { + background: url(../images/dots-gray.png) repeat-x scroll 0 0; + min-height: 139px; + clear: both; + min-width: 150px; + z-index: 0; +} + +#_white-bg { + background-color: #FFF; + z-index: 5; + min-width: 190px; +} + + +/* Header Area */ + +#_logo { + float: left; + margin: 22px 22px 27px 10px; + width: 160px; + height: 42px; +} + +#_logo img { + width: 42px; + height: 42px; + line-height: 55px; + font-weight: 600; + display: inline; + vertical-align: middle; +} + +#_logo span { + color: #333; + text-decoration: none; + font-weight: 600; + vertical-align: baseline; + margin: 0 0 0 5px; + vertical-align: middle; + font-size: 20px; +} + +#_header .crumbs { + position: absolute; + top: 28px; + left: 0; + height: 36px; + margin: 0; + overflow: hidden; + white-space: nowrap; + margin: 0 0 0 182px; + height: 36px; + max-width: calc(100%-120px); +} + +#_header .crumb, +#_header .crumbs>span { + display: inline; + overflow: hidden; +} + +#_fixed-header .crumbs { + padding: 0 10px; +} + +#_header .crumbs>a, +#_header .crumbs>span { + margin: 0 0 0 5px; +} + +#_header .crumbs .lower-level { + margin: 0; +} + +#_fixed-header .crumbs>a { + padding: 0 3px; +} + +.crumbs>span { + color: #666; +} + +.crumbs>a { + color: #333; + text-decoration: none; +} + +.crumbs>a:hover, +.crumbs>a:focus, +.crumbs>a:active { + color: #3B80AE; + text-decoration: none; +} + +#_header .single-crumb { + line-height: 36px; + padding: 0 10px 0 0; + margin: 0 0 0 10px; + height: 36px; + display: inline-block; + vertical-align: bottom; + background-color: #EFEFF0; +} + +#_header .crumbs.active { + height: 49px; +} + +#_header .single-crumb:hover, +#_header .single-crumb:focus, +#_header .single-crumb:active { + background-color: #3B80AE; + color: #FFF; +} + +#_header .single-contents-icon { + width: 36px; + height: 36px; + background-position: -36px 0; + margin: -4px 5px 0 0; + padding: 0; + display: inline-block; + vertical-align: bottom; +} + +.book-icon, +.overview-icon, +.toc-icon, +.find-icon, +.tools-icon { + display: block; +} + +.toc-icon, +.find-icon, +.book-icon, +.prev-icon, +.next-icon, +.overview-icon, +.back-icon, +#_find-button, +.bubble-corner:before, +.single-contents-icon, +#_share-in:before, +.ulink:after { + background-image: url(../images/icons.png); + background-repeat: no-repeat; +} + + +/* A somewhat ugly trick to make the documents look okay even without stylesheet. */ + +.toc-icon, +.overview-icon, +.find-icon, +.book-icon, +.prev-icon, +.next-icon, +#_find-button { + overflow: hidden; + height: 0!important; +} + +.toc-icon, +.find-icon, +#_header .book-icon, +#_header .overview-icon, +.nav-inner .prev-icon, +.nav-inner .next-icon, +#_find-button, +.nav-link .prev-icon, +.nav-link .next-icon { + padding: 36px 0 0; +} + +#_fixed-header .book-icon, +#_fixed-header .overview-icon, +.button .prev-icon, +.button .next-icon { + padding: 15px 0 0; +} + + +/* End ugliness. */ + +#_header .book-link, +#_header .overview-icon { + display: inline-block; + vertical-align: middle; + height: 36px; +} + +.toc-icon, +.find-icon, +#_header .book-icon, +#_header .overview-icon, +#_toolbar .prev-icon, +#_toolbar .next-icon { + width: 36px; +} + +#_header .book-icon { + background-position: 0 0; +} + +#_header a:hover>.book-icon, +#_header a:focus>.book-icon, +#_header a:active>.book-icon { + background-position: 0 -36px; +} + +#_header .book-icon.lower-level { + background-position: -108px 0; +} + +#_header a:hover>.book-icon.lower-level, +#_header a:focus>.book-icon.lower-level, +#_header a:active>.book-icon.lower-level { + background-position: -108px -36px; +} + +#_header .overview-icon { + background-position: -72px 0; +} + +#_header a:hover .overview-icon, +#_header a:focus .overview-icon, +#_header a:active .overview-icon { + background-position: -72px -36px; +} + +#_fixed-header>.crumbs>span, +#_fixed-header>.crumbs>a, +#_fixed-header .single-contents-icon { + display: block; + float: left; +} + +#_fixed-header .book-icon, +#_fixed-header .overview-icon, +#_fixed-header .single-contents-icon { + width: 18px; + margin: 1px 0; +} + +#_fixed-header .book-icon { + background-position: 0 -72px; +} + +#_fixed-header a:hover .book-icon, +#_fixed-header a:focus .book-icon, +#_fixed-header a:active .book-icon { + background-position: -18px -72px; +} + +#_fixed-header .overview-icon { + background-position: -36px -72px; +} + +#_fixed-header a:hover .overview-icon, +#_fixed-header a:focus .overview-icon, +#_fixed-header a:active .overview-icon { + background-position: -54px -72px; +} + +#_fixed-header .single-contents-icon { + background-position: -235px -72px; + height: 15px; +} + +.inactive #_fixed-header a:hover .single-contents-icon, +.inactive #_fixed-header a:focus .single-contents-icon, +.inactive #_fixed-header a:active .single-contents-icon { + background-position: -253px -72px; +} + +.active #_fixed-header .single-contents-icon { + background-position: -271px -72px; +} + +.active #_fixed-header a:hover .single-contents-icon, +.active #_fixed-header a:focus .single-contents-icon, +.active #_fixed-header a:active .single-contents-icon { + background-position: -289px -72px; +} + + +/* Language and Format Pickers */ + +.bubble h6 { + color: #FFF; + border-bottom: 1px solid #FFF; + padding: 10px 0 5px; + display: block; + margin: 0 0 5px; +} + +.back-button { + display: none; +} + + +/* Toolbar */ + +#_toolbar-wrap { + margin: 0 0 15px; + width: 100%; + min-width: 150px; + background-color: #3B80AE; + position: relative; + z-index: 4; +} + +#_toolbar { + height: 56px; + min-width: 150px; +} + +.tool { + text-decoration: none; + display: block; + width: 100%; + overflow: hidden; +} + +#_toc-area { + float: left; + height: 56px; +} + +#_nav-area, +#_find-area { + float: right; + height: 56px; +} + +.tool, +.nav-inner>a.tool-spacer, +.bubble { + /* Clean this up later when browser support is there*/ +} + +.active .active-contents, +.inactive .inactive-contents { + display: block; +} + +.inactive .active-contents, +.active .inactive-contents { + display: none; +} + +.active-contents { + z-index: 6; + position: relative; +} + +#_nav-area { + width: 40%; +} + +#_toc-area, +#_find-area { + width: 30%; +} + +.tool-label { + float: left; + display: block; + vertical-align: middle; + line-height: 56px; + color: #FFF; + font-weight: normal; +} + +#_toc-area-button>.tool-label { + padding: 0 0 0 10px; +} + +.nav-inner>.tool-label { + padding: 0 10px 0 0; +} + +.nav-inner { + float: right; +} + +#_toolbar .tool-spacer { + padding: 10px; + display: block; + float: left; +} + + +/* Fixed Header */ + +.button>.tool-spacer { + padding: 0; + margin: 0; + display: block; +} + +.inactive #_toc-area-button:hover, +.inactive #_toc-area-button:focus, +.inactive #_toc-area-button:active, +.inactive #_find-area-button:hover, +.inactive #_find-area-button:focus, +.inactive #_find-area-button:active, +.nav-inner>a.tool-spacer:hover, +.nav-inner>a.tool-spacer:focus, +.nav-inner>a.tool-spacer:active { + background-color: rgba(255, 255, 255, 0.1); +} + +.active>.tool { + background-color: rgba(255, 255, 255, 0.3); +} + +.toc-icon, +.find-icon, +.tools-icon, +.nav-inner .prev-icon, +.nav-inner .next-icon { + float: left; + display: block; +} + +.toc-icon { + background-position: -144px 0; +} + +.active .toc-icon, +a:hover>.toc-icon, +a:focus>.toc-icon, +a:active>.toc-icon { + background-position: -144px -36px; +} + +.find-icon { + background-position: -180px 0; +} + +.active .find-icon, +a:hover>.find-icon, +a:focus>.find-icon, +a:active>.find-icon { + background-position: -180px -36px; +} + +.nav-inner>a>.prev-icon { + background-position: -252px 0; +} + +.nav-inner>span>.prev-icon { + background-position: -324px 0; +} + +.nav-inner>a:hover>.prev-icon, +.nav-inner>a:focus>.prev-icon, +.nav-inner>a:active>.prev-icon { + background-position: -252px -36px; +} + +.nav-inner>a>.next-icon { + background-position: -288px 0; +} + +.nav-inner>span>.next-icon { + background-position: -324px -36px; +} + +.nav-inner>a:hover>.next-icon, +.nav-inner>a:focus>.next-icon, +.nav-inner>a:active>.next-icon { + background-position: -288px -36px; +} + +.bubble-corner { + width: 0; + height: 0; + border-width: 0 15px 15px; + border-color: transparent transparent #333; + border-style: solid; + position: relative; + z-index: 7; + left: 50%; + margin: 0 0 0 -15px; +} + +.bubble-corner:before { + background-position: -324px -72px; + width: 36px; + height: 15px; + border: none; + margin: 0 0 0 -3px; +} + +.bubble { + background-color: #333; + z-index: 8; +} + +#_toolbar .bubble, +#_header .bubble { + position: absolute; +} + +#_toc-area>.bubble, +#_find-area>.bubble, +#_toc-bubble-wrap>.bubble {} + +#_fixed-header-wrap .bubble { + position: relative; + margin: 4px 0 -3px; +} + +#_toc-area>.bubble-corner, +#_find-area>.bubble-corner { + top: -3px; +} + +#_toc-area>.bubble, +#_find-area>.bubble { + left: 0; + width: 100%; + padding: 0; + top: 66px; +} + +#_toc-bubble-wrap>.bubble { + min-width: 150px; + max-width: 1004px; + padding: 10px; + margin: 0 auto; +} + +#_toc-bubble-wrap { + position: absolute; + top: 82px; + left: 0; + display: none; + height: auto; + width: 100%; +} + +#_toc-bubble-wrap.active { + display: block; +} + +#_toolbar .bubble-container { + padding: 0 10px 10px; +} + +#_fixed-header-wrap .bubble-container { + padding: 10px; +} + + +/* Fallback for TOC bubble when Javascript is off. */ + +.js-off .inactive:hover .active-contents, +.js-off .inactive:focus .active-contents { + display: block!important; +} + + +/* We only need this to make sure the bubble does not close when the user is + hovering over the TOC button and then mouses over the gap between the button + and the bubble. */ + +.js-off .bubble:before { + content: ''; + background-color: transparent; + position: absolute; + top: -15px; + height: 15px; + width: 100%; +} + +#_bubble-toc { + overflow: hidden; + height: 400px; + position: relative; +} + +#_bubble-toc ol { + overflow: auto; +} + +#_bubble-toc>ol { + width: 50%; + padding: 0; + margin: 0; + background-color: #333; + height: 100%; + border-right: 1px solid #666; +} + +#_bubble-toc>ol.full-width { + width: 100%; + border-right: none; +} + +#_toc-area>.bubble a, +#_find-area>bubble a, +#_fixed-header-wrap>.bubble a, +#_toc-bubble-wrap>.bubble a { + color: #FFF; + display: block; + text-decoration: none; + padding: 5px 25px 5px 5px; + line-height: 22px; +} + +#_bubble-toc .active ol { + display: block; + position: absolute; + right: -2px; + top: 0; + width: 50%; + background-color: #333; + padding: 0; + margin: 0 1px 0 0; + height: 100%; + border-left: 1px solid #666; +} + +#_bubble-toc .inactive ol { + display: none!important; +} + +#_bubble-toc .inactive a:hover { + color: #FFF; + background-color: #666; +} + +#_bubble-toc .active>a, +#_bubble-toc .inactive>a { + padding: 5px 30px 5px 5px; +} + +#_bubble-toc .active>a { + background-color: #4F669D; + color: #FFF; +} + +#_bubble-toc .active { + background-color: #666; +} + +#_bubble-toc .inactive:hover { + background-color: #999; +} + +#_bubble-toc a { + display: block; + position: relative; +} + +#_bubble-toc li { + display: block; + clear: both; +} + +.bubble a:hover, +.bubble a:focus, +.bubble a:active { + text-decoration: underline; + background-color: #666; +} + +#_bubble-toc .bubble-back { + display: none; +} + +#_find-area form { + margin: 0 0 0 50%!important; +} + +.find-form { + padding: 10px; + margin: 0 0 0 -110px; + display: block; + width: 200px; +} + +#_find-input { + width: 155px; + height: 34px; + padding: 0 20px 0 5px; + font: 16px 'Open Sans', Helvetica, FreeSans, sans-serif; + display: block; + background-color: #FFF; + border: 1px solid #CCE9A7; + float: left; + z-index: 0; +} + +#_find-input:focus { + background-color: #FFF; + border: 1px solid #FFF; +} + +#_find-input:focus+#_find-button { + background-position: -180px 0!important; +} + +#_find-button { + width: 36px; + display: block; + margin: 0 0 0 -18px; + background-position: -180px 0; + float: left; + border: 0; + background-color: transparent; +} + +#_find-input:focus+#_find-button:hover, +#_find-button:active { + background-position: -180px -36px!important; +} + +button:focus::-moz-focus-inner, +button::-moz-focus-inner { + border: none; +} + +#_find-input-label { + cursor: text; + line-height: 36px; + height: 36px; + position: relative; + left: 5px; + top: -36px; + z-index: 2; + color: #666; + font-style: italic; + display: none; + float: left; + /* Clear this out later. */ +} + + +/* Smaller, fixed header */ + +#_fixed-header-wrap { + z-index: 3; + position: fixed; + top: 0; + width: 100%; + border-bottom: 1px solid #CCC; + background-color: #EFEFF0; + padding: 3px 0; + line-height: 100%; +} + +#_fixed-header { + max-width: 998px; + min-width: 130px; + display: block; + font-size: 12px; + margin: 0 auto; +} + +.buttons { + display: block; + float: right; + margin: 0 10px 0 5px; +} + +.button { + margin-left: 10px; +} + +.button>.tool-spacer { + display: block; + float: left; +} + +.button { + float: left; +} + +.button .prev-icon, +.button .next-icon { + width: 18px; + margin: 1px 0; + display: block; +} + +.top-button { + color: #333; +} + +.top-button:hover, +.top-button:focus, +.top-button:active { + text-decoration: none; + color: #3B80AE; +} + +.button>a>.prev-icon { + background-position: -72px -72px; +} + +.button>span>.prev-icon { + background-position: -180px -72px; +} + +.button>a:hover>.prev-icon, +.button>a:focus>.prev-icon, +.button>a:active>.prev-icon { + background-position: -90px -72px; +} + +.button>a>.next-icon { + background-position: -144px -72px; +} + +.button>span>.next-icon { + background-position: -198px -72px; +} + +.button>a:hover>.next-icon, +.button>a:focus>.next-icon, +.button>a:active>.next-icon { + background-position: -162px -72px; +} + + +/* Page bottom */ + +.page-bottom { + margin-top: 30px; + margin-bottom: 80px; + padding: 10px 20px 0; +} + +#_bottom-navigation { + border-top: 1px solid #999; +} + +.nav-link { + display: block; + clear: both; + margin: 20px 0 0; + height: 36px; + overflow: hidden; +} + +.nav-link>.prev-icon, +.nav-link>.next-icon { + width: 36px; + height: 36px; + display: block; + float: left; + margin: 0 10px 0 0; +} + +.nav-link>.prev-icon { + background-position: -360px 0; +} + +.nav-link:hover>.prev-icon { + background-position: -360px -36px; +} + +.nav-link>.next-icon { + background-position: -396px 0; +} + +.nav-link:hover>.next-icon { + background-position: -396px -36px; +} + +.nav-label { + line-height: 36px; + display: block; + color: #333; + height: 36px; + text-decoration: none; +} + +.nav-link:hover>.nav-label, +.nav-link:focus>.nav-label, +.nav-link:active>.nav-label { + color: #3B80AE; +} + +.bottom-button { + cursor: pointer; + display: inline-block; + border: 1px solid rgba(20, 20, 20, 0.2); + padding: 0 7px; + color: #333; + background-color: #EFEFF0; + font-size: 14px; + height: 22px; +} + +#_share-in:before { + content: " "; + line-height: 22px; + font-size: 14px; + font-weight: 600; + height: 22px; + width: 16px; + display: block; + float: left; + text-align: center; + border: 1px solid rgba(20, 20, 20, 0.2); + margin: -1px 6px -2px -8px; + overflow: hidden; +} + +#_share-in:before { + background-color: #0073B1; + background-position: -289px -88px; +} + +.bottom-button:hover, +.bottom-button:focus, +.bottom-button:active { + border: 1px solid rgba(20, 20, 20, 0.5); + background: #DEDEDE; +} + +.bottom-button:hover:before, +.bottom-button:focus:before, +.bottom-button:active:before { + border-top: 1px solid rgba(20, 20, 20, 0.5); + border-left: 1px solid rgba(20, 20, 20, 0.5); + border-bottom: 1px solid rgba(20, 20, 20, 0.5); +} + +.offline .online-contents { + visibility: hidden; +} + +.share { + display: block; +} + +.share { + float: left; +} + + +/* Footer and associated madness, see: http://ryanfait.com/resources/footer-stick-to-bottom-of-page/ */ + +#_inward, +#_footer-wrap { + height: 80px; +} + +#_inward { + z-index: -1; +} + +#_footer-wrap { + width: 100%; + overflow: hidden; + background-color: #EFEFF0; +} + +#_outer-wrap { + min-height: 100%; + height: auto!important; + height: 100%; + margin: 0 auto -80px; +} + + +/* Footer contents */ + +#_footer { + font-family: Helvetica, FreeSans, sans-serif; + z-index: 2; + /* Else, #_inward overlays the footer */ + min-width: 130px; + max-width: 988px; + margin: 0 auto; + padding: 0 20px; +} + +#_footer>ul { + padding: 0; +} + +#_footer li, +#_footer>p { + display: block; + float: left; + line-height: 80px; + margin: 0 30px 0 0; + font-size: 12px; +} + +#_footer a { + text-decoration: none; + color: #666; +} + +#_footer a:hover, +#_footer a:focus, +#_footer a:active { + text-decoration: underline; + color: #76AD2D; +} + +#_footer>p { + color: #333; +} + +/* .CHAPTER/... AREA */ + +.documentation { + padding: 0 20px; +} + +/* We need to scroll ~30 pixels up, such that the headline won't be hidden by the fixed header. */ + +/* [attribute] selector works in IE 7+. Firefox, Opera and Webkit-based browsers had it far earlier. */ + +.documentation a[id] { + position: relative; + top: -33px; + display: block; + width: 0; + height: 0; +} + +[id]:target>span, +.admonition[id]:target>h6 { + background-color: rgba(255, 255, 0, 0.3); + /* Clean the below up in Q3 2013 or so... */ +} + +.ulink:after { + content: "\0020\2197"; + color: transparent; + width: 18px; + height: 15px; + display: inline-block; + text-decoration: none; + background-position: -216px -72px; + background-repeat: no-repeat; + position: relative; + top: 2px; +} + +.legalnotice .ulink:after { + background-position: -216px -101px; + width: 15px; + height: 10px; +} + +.ulink-url { + display: none; +} + +.verbatim-wrap a[id] { + display: none; +} + +div.version-info { + color: #3B80AE; + font-weight: normal; + background-color: rgba(255, 255, 255, 0.7); + padding: 3px 5px; + line-height: 120%; + float: right; + margin: 5px 0 10px; + font-size: 13px; +} + +.single div.version-info { + position: relative; + top: 70px; +} + +h6.version-info { + margin: 75px 0 0; + padding: 5px 7px; + font-size: 24px; + color: #FFF; + background-color: #729FCF; + float: left; + line-height: 100%; +} + +.book h6.version-info+div h1.title, +.set h6.version-info+div h1.title { + padding-top: 0; +} + +.book .title, +.set .title { + font-size: 48px; + font-weight: 600; + line-height: 120%; + width: auto; + clear: both; + color: #3B80AE; + padding: 70px 0 50px; +} + +.set .subtitle, +.book .subtitle { + font-size: 28px; + font-weight: normal; + margin: -40px 0 50px; + line-height: 120%; + width: 100%; + clear: both; +} + +.title, +.chapter .title, +.reference .title, +.part .title { + font-size: 36px; + font-weight: normal; + padding: 30px 0 5px; + line-height: 120%; + width: 100%; + clear: both; +} + +.single .title, +.single .chapter .title, +.single .reference .title, +.single .part .title { + padding-top: 100px; +} + +.sect1 .subtitle, +.chapter .subtitle { + font-size: 16px; + font-weight: normal; + padding: 10px 0 20px; + margin: 0; + line-height: 120%; + width: 100%; + clear: both; +} + +.sect1 .title, +.single .sect1 .title { + font-size: 28px; + font-weight: normal; + padding: 50px 0 5px; + text-align: left; +} + +.sect2 .title, +.single .sect2 .title { + font-size: 22px; + padding: 40px 0 0; + text-align: left; +} + +.sect3 .title, +.single .sect3 .title, +h2 { + font-size: 20px; + font-weight: normal; + padding: 33px 0 0; + text-align: left; +} + +.sect4 .title, +.single .sect4 .title, +.sect5 .title, +.single .sect5 .title { + font-size: 16px; + padding: 53px 0 0; + margin: 0 0 -33px; + position: relative; + top: -33px; + z-index: 1; + text-align: left; +} + +.sect4 .title { + font-weight: 600!important; +} + +.sect5 .title { + font-weight: normal!important; +} + +.name, +h2 { + color: #3B80AE; +} + +a:hover .name, +a:focus .name, +a:active .name { + text-decoration: underline; +} + +.bubble a:hover>.name, +.bubble a:focus>.name, +.bubble a:active>.name { + text-decoration: none; +} + +.number, +.subtitle { + color: #666; +} + +.title em, +.subtitle em { + font-style: normal; +} + +.nav-link:hover .number, +.nav-link:focus .number, +.nav-link:active .number { + color: #729FCF; +} + +#_bubble-toc .number { + color: #CCC; +} + +#_bubble-toc .name { + color: #FFF; +} + +.permalink, +.report-bug { + font-weight: normal; + text-decoration: none; + /* Clean the below up in Q3 2013 or so... */ +} + +.permalink { + font-size: 75%; + color: #999; + line-height: 100%; +} + +.report-bug { + color: #333; + font-size: 10px; + height: 15px; + line-height: 15px; + overflow: hidden; + padding: 0 3px; + border-bottom: 1px solid #FFF; + background-color: #EEE; + text-transform: uppercase; + display: inline-block; + float: right; +} + +.permalink:hover, +.permalink:focus, +.permalink:active, +.report-bug:hover, +.report-bug:focus, +.report-bug:active { + color: #3B80AE; + text-decoration: none!important; +} + +:hover>.permalink, +:hover>.report-bug {} + +.report-bug:hover, +.report-bug:focus, +.report-bug:active { + color: #000; + border-color: #333; + background-color: #DDD; +} + +.line>.toc { + padding: 0 30px 24px; +} + +.line { + margin: 17px 0 36px; + border-bottom: 1px solid #3B80AE; + width: 100%; +} + +.toc a { + text-decoration: none; +} + +.legalnotice { + margin: 40px 0 0; + padding: 10px 0 0; +} + +.legalnotice p, +.legalnotice td { + font-size: 12px; + color: #666; + line-height: 140%; + margin: 5px 0 0; +} + + +/* Thou shalt not ... */ + +.admonition { + border-width: 1px; + border-style: solid; + padding: 10px; + margin: 17px 0 24px; +} + +.note { + border-color: #666; + background: #FFF url(../images/dots-darkgray.png) repeat-x scroll top; +} + +.note ul, +.note .orderedlist, +.warning ul, +.warning .orderedlist { + color: #666; +} + +.important { + border-color: #BB7B03; + background: #FFF url(../images/dots-orange.png) repeat-x scroll top; +} + +.important ul, +.important .orderedlist { + color: #BB7B03; +} + +.warning { + border-color: #8C0000; + background: #FFF url(../images/dots-red.png) repeat-x scroll top; +} + +.admonition>h6 { + font-weight: 600; + vertical-align: middle; + display: table-cell; + height: 36px; +} + +.note>h6 { + color: #333; +} + +.important>h6 { + color: #BB7B03; +} + +.warning>h6 { + color: #8C0000; +} + +.symbol { + width: 36px; + height: 36px; + margin: 0 10px 0 0; + background-repeat: no-repeat; + float: left; + overflow: hidden; +} + +.admonition p { + margin: 10px 0 0!important; +} + + +/* Text styles */ + +.documentation span, +.documentation a, +.documentation p, +.documentation em, +.documentation strong { + position: relative; + z-index: 2; +} + +em, +i { + font-style: italic; +} + +.question em { + font-style: normal; + /* Don't use italics within italics... */ +} + +strong, +b, +.imprint-label, +.version-info .productname, +.version-info .productnumber, +.toc-title { + font-weight: 600; +} + +p, +td {} + +.ulink, +.email {} + +p { + color: #000; + text-align: left; + margin: 10px 0 0; +} + +.abstract { + margin: 24px 0 0; + font-size: 18px; + line-height: 140%; +} + +.abstract p, +.toc-title { + color: #333; +} + +.abstract p:first-child { + margin-top: 0; +} + +.abstract .titlepage { + display: none; +} + +.abstract .titlepage+p { + margin-top: 0; +} + +.abstract li:first-child p:first-child { + margin-top: 0; +} + +.abstract+.authorgroup, +.abstract+.corpauthor, +.abstract+.editor, +.abstract+.date { + margin: 10px 0 0; +} + +.authorgroup, +.editor, +.date { + color: #333; +} + +.ulink, +.link, +.xref, +.email { + color: #3B80AE; + text-decoration: none; +} + +.title .xref, +.subtitle .xref, +.table-title .xref, +.example-title .xref, +.procedure-title .xref, +.orderedlist-title .xref, +.itemizedlist-title .xref, +.variablelist-title .xref, +.title .link, +.subtitle .link, +.table-title .link, +.example-title .link, +.procedure-title .link, +.orderedlist-title .link, +.itemizedlist-title .link, +.variablelist-title .link, +.title .ulink, +.subtitle .ulink, +.table-title .ulink, +.example-title .ulink, +.procedure-title .ulink, +.orderedlist-title .ulink, +.itemizedlist-title .ulink, +.variablelist-title .ulink { + text-decoration: underline; +} + +.xref:hover, +.xref:focus, +.xref:active, +.xref:visited:hover, +.xref:visited:focus, +.xref:visited:active, +.link:hover, +.link:focus, +.link:active, +.link:visited:hover, +.link:visited:focus, +.link:visited:active, +.ulink:hover, +.ulink:focus, +.ulink:active, +.ulink:visited:hover, +.ulink:visited:focus, +.ulink:visited:active, +.email:hover, +.email:focus, +.email:active, +.email:visited:hover, +.email:visited:focus, +.email:visited:active { + color: #3B80AE; + text-decoration: underline; +} + +.xref:visited, +.ulink:visited, +.link:visited, +.email:visited { + color: #5C3566; +} + +.title .xref:hover, +.title .xref:focus, +.title .xref:active, +.subtitle .xref:hover, +.subtitle .xref:focus, +.subtitle .xref:active, +.table-title .xref:hover, +.table-title .xref:focus, +.table-title .xref:active, +.example-title .xref:hover, +.example-title .xref:focus, +.example-title .xref:active, +.procedure-title .xref:hover, +.procedure-title .xref:focus, +.procedure-title .xref:active, +.orderedlist-title .xref:hover, +.orderedlist-title .xref:focus, +.orderedlist-title .xref:active, +.itemizedlist-title .xref:hover, +.itemizedlist-title .xref:focus, +.itemizedlist-title .xref:active, +.variablelist-title .xref:hover, +.variablelist-title .xref:focus, +.variablelist-title .xref:active { + color: #3B80AE; + text-decoration: none; +} + +p a:visited { + color: #5C3566; +} + +code, +.command, +.package { + font-family: 'DejaVu Sans Mono', DejaVuSansMono, Menlo, 'Andale Mono', monospace; + font-weight: normal; + padding: 0 4px; + border-bottom: 1px solid #C1C1C3; + color: #333; + text-transform: none; + display: inline-block; + line-height: 120%; +} + +.verbatim-wrap code, +.verbatim-wrap .command, +.verbatim-wrap .literal, +.verbatim-wrap .package { + /* + Avoid transforming this: + prompt $ very-long-\ + command + + to output looking like this (bad!): + very-long-\ + prompt $ command + + instead of this (goood!): + prompt $ very-long-\ + command + + */ + display: inline; +} + +code, +.command, +.literal, +.package { + font-style: normal; +} + + +/* Not quite sure if that is the best way to make sure no text inside code gets +paddings/borders... In some rare case, there might e.g. be an image inside a +code/etc. element and then this might backfire. */ + +code *, +.literal *, +.package * { + padding: 0; + border: none; +} + +.name code, +a code, +.admonition h6 code, +.name .literal, +a .literal, +.admonition h6 .literal, +.name .package, +a .package, +.admonition h6 .package { + color: inherit; +} + +.admonition h6 code { + border-color: #D1D1D3; +} + +code, +.literal, +.package { + font-weight: normal; +} + +.command { + font-weight: 600; +} + + +/* This elements exists solely to avoid the scrollbar overlaying the rounded + corners and the padding becoming inconsistent. */ + +.verbatim-wrap { + padding: 10px; + background-color: #EFEFF0; + margin: 5px 0; + border: 1px solid #999; +} + +.example .verbatim-wrap { + margin: 10px 0 24px; +} + +.screen, +.programlisting, +.userinput { + font: normal 13px 'DejaVu Sans Mono', DejaVuSansMono, Menlo, 'Andale Mono', monospace; + color: #333; + line-height: 125%; +} + +.verbatim-wrap>div, +.verbatim-wrap pre { + display: block; + width: 100%; + overflow: auto; + text-align: left; +} + +.verbatim-wrap code, +.verbatim-wrap .literal, +.verbatim-wrap .package { + background-color: transparent; + font-size: 100%; + border: none; + padding: 0; +} + +.verbatim-wrap code { + color: #333; +} + +.verbatim-wrap .command { + color: #204A87; +} + +.complex-example .example-contents { + margin: 5px 0; + padding: 3px 15px 6px 12px; + border-left: 3px solid #999; + background-color: #F9F9F9; +} + +.variablelist, +.toc { + margin: 24px 0; +} + +.line>.toc { + margin: 0; +} + +.variablelist dt { + font-weight: 600; + color: #000; + padding-top: 33px; + margin: 0 0 -33px; + position: relative; + top: -33px; + z-index: 1; +} + +.toc dt { + margin-bottom: 5px; +} + +.toc dt *, +#_bubble-toc li * { + font-weight: normal; + font-style: normal; + border-bottom: none; + display: inline; + padding: 0; +} + +.variablelist dd, +.toc dd { + margin: 0 0 17px; + padding: 0 0 0 30px; +} + +.list-of-examples dl { + margin: 5px 0 17px; + padding: 0 0 0 30px; +} + +.variablelist dd>p, +.toc dd>p { + margin: 0; +} + +.inlinemediaobject img { + display: inline-block; + vertical-align: -15%; + max-height: 20px; + padding: 0 3px; +} + +a:hover code, +a:focus code, +a:active code, +a:hover .literal, +a:focus .literal, +a:active .literal, +a:hover .package, +a:focus .package, +a:active .package { + border-color: #439239; +} + + +/* We put an ndash character between keycaps that are part of an accelerator */ + +.procedure-title, +.table-title, +.example-title, +.orderedlist-title, +.variablelist-title, +.itemizedlist-title { + font-size: 14px; + font-weight: normal; + text-transform: uppercase; + text-align: left; + line-height: 120%; +} + +.table-title, +.example-title, +.procedure-title, +.variablelist-title, +.itemizedlist-title { + position: relative; + top: -33px; + padding-top: 33px; + z-index: 1; +} + +.example-title, +.procedure-title, +.orderedlist-title { + margin: 24px 0 -33px; +} + +.itemizedlist-title { + margin: 24px 0 -41px; +} + +.table-title { + margin: 24px 0 -23px; +} + +.variablelist-title { + margin: 24px 0 -50px; +} + +.free-id { + position: relative; + top: -33px; + left: -1px; + width: .01px; + height: .01px; +} + +.procedure-title code, +.procedure-title .literal, +.procedure-title .package, +.table-title code, +.table-title .literal, +.table-title .package, +.example-title code, +.example-title .literal, +.example-title .package, +.orderedlist-title code, +.orderedlist-title .literal, +.orderedlist-title .package, +.variablelist-title code, +.variablelist-title .literal, +.variablelist-title .package, +.itemizedlist-title code, +.itemizedlist-title .literal, +.itemizedlist-title .package { + text-transform: none; +} + +.procedure-contents { + border-left: 3px solid #8CA4C0; + font-weight: normal; + margin: 17px 0; + /* Up top, 3px of padding look better than 5 would (with line-height interfering etc.). + On the left, we use 5px-3px of border, so it sits right there with any other lists etc. */ + padding: 3px 5px 6px 2px; + background-color: #F6F8FA; + display: block; +} + +.procedure-title-wrap+.procedure-contents { + margin: 10px 0 24px; +} + +.procedure-contents>p:first-child, +.procedure-contents>ol:first-child>li:first-child>p:first-child { + margin-top: 0; +} + +.procedure-contents>.admonition { + margin-top: 4px; +} + +.procedure-contents>p, +.procedure-contents>.admonition { + margin-left: 12px; + margin-right: 17px; +} + +ol.procedure, +ol.orderedlist { + display: block; + color: #3B80AE; + font-weight: 600; +} + +ol.procedure, +ol.orderedlist { + font-weight: normal; +} + +ol.procedure { + padding: 0 0 0 30px; + margin: 0 10px; +} + +ol.procedure .title { + font-size: 16px; + color: #333; + font-weight: 600; + padding: 0; +} + +ol.orderedlist { + padding: 0 0 0 35px; + margin: 0 0 0 10px; +} + +.orderedlist-title-wrap+ol.orderedlist { + margin-top: 40px; +} + +ol.procedure, +ol.orderedlist { + list-style-type: decimal; +} + +.table-contents, +.informaltable { + /* Yup, let's make this scroll... While ugly, there seems to be no better + way to avoid the table running off the page border...(?) */ + overflow: auto; +} + +.table-contents { + margin: 0 0 24px; +} + +.informaltable { + margin: 10px 0 24px; +} + +.informaltable { + margin: 10px 0 24px; +} + +.example-contents>.informaltable { + margin: 0; + padding: 0; +} + +.example-contents>.informaltable>table { + margin: 10px 0 0; + padding: 0; +} + +.table table, +.informaltable table { + border: 1px solid #999; + max-width: 100%; + border-spacing: 0; + table-layout: fixed; +} + +table p, +.informaltable table p { + margin: 0; +} + +.table td, +.informaltable td { + margin: 0; + padding: 3px 5px; + overflow: hidden; + vertical-align: middle; +} + +.table td[colspan], +.informaltable td[colspan], +.table td[rowspan], +.informaltable td[rowspan] { + background-color: #FFF; +} + +.table td[colspan], +.informaltable td[colspan], +.table td[rowspan], +.informaltable td[rowspan] { + border: 1px solid #999; +} + +.table td[valign="top"], +.informaltable td[valign="top"] { + vertical-align: top; +} + +.table td[valign="bottom"], +.informaltable td[valign="bottom"] { + vertical-align: bottom; +} + +.table td[rowspan], +.informaltable td[rowspan] { + background-color: #FFF; +} + +.table td, +.informaltable td { + vertical-align: middle; + border-right: 1px solid #999; +} + +.table tr:nth-child(even), +.informaltable tr:nth-child(even) { + background-color: #EFEFF0; +} + +ul { + padding: 5px 0 0 35px; + margin: 0 10px; + display: block; + color: #3B80AE; + list-style-type: disc; +} + +.answer .table-title, +.answer .verbatim-wrap, +.answer .variablelist { + margin-top: 10px; +} + +li>p { + font-weight: normal; +} + +.procedure>p { + margin: 0 10px 5px; +} + +div.itemizedlist { + margin: 0 0 24px; +} + +.question, +.question code, +.question .literal, +.question .package { + color: #666; +} + +.question { + font-style: italic; +} + +.js-on .question { + cursor: pointer; +} + +.js-on .question:hover, +.js-on .question:focus, +.js-on .active .question { + color: #000; +} + +.js-on .question:hover code, +.js-on .question:focus code, +.js-on .active .question code, +.js-on .question:hover .literal, +.js-on .question:focus .literal, +.js-on .active .question .literal, +.js-on .question:hover .package, +.js-on .question:focus .package, +.js-on .active .question .package { + color: #333; +} + +.question { + position: relative; +} + +.answer { + padding: 0 0 17px; +} + +.js-on .question:before { + content: ''; + display: inline-block; + margin: 4px 0 0; + width: 17px; + height: 15px; + background-image: url(../images/arrow.png); + background-position: -98px 0; + background-repeat: no-repeat; +} + +.js-on .question:hover:before, +.js-on .question:focus:before { + background-position: -8px 0; +} + +.js-on .active .question:before { + background-position: -70px 0; +} + +.js-on .answer { + display: none; +} + + +/* Review features */ + +.doc-status { + font-style: normal; + font-weight: normal; +} + +.doc-status { + padding: 10px; + background-color: #E6E0E8; + color: #000; +} + +#_content>.doc-status { + margin: 0 auto; + min-width: 380px; + max-width: 978px; +} + +.doc-status li { + color: #000; +} + +@page { + margin: 20mm 22.5mm 22.5mm; +} + +@media print { + #_header .book-icon { + height: 36px!important; + line-height: 34px; + padding: 0; + width: auto; + background-image: none; + color: #202020; + } + .documentation { + padding: 0; + } + #_fixed-header-wrap, + #_toolbar-wrap, + #_inward, + #_footer-wrap, + #_bottom-navigation { + display: none; + } + .permalink, + .report-bug { + display: none; + } + .admonition, + p, + table { + /* Aumngh! Gecko does not interpret this. bmo#132035, 13 dupes, open + since 2002. Webkit is cool, though. */ + page-break-inside: avoid; + } + .title { + page-break-after: avoid; + } + .ulink:after { + color: inherit; + background-image: none; + width: auto; + height: auto; + } + .ulink-url { + display: inline; + } +} + +@media only screen and max-width 800px { + .share { + float: right; + } +} + +@media only screen and max-width 700px { + .find-form { + margin: 0 0 0 -72.5px; + width: 125px; + } + #_find-input { + width: 80px; + } +} + +@media only screen and max-width 640px { + /* Turn the following on again, when we have re-enabled the Find area. */ + /* + #_toolbar { + height: 98px; + } + */ + #_toc-area, + #_nav-area { + width: 49.98%; + } + #_find-area { + height: 42px; + background-color: #3B80AE; + width: 100%; + padding: 0!important; + overflow: hidden; + } + #_find-area form { + margin: 0!important; + } + .find-form { + padding: 10px; + margin: 0; + display: block; + width: 100%; + } + #_find-input { + width: calc(100%-44px); + height: 20px; + margin: 0 auto; + padding: 0 20px 0 1px; + font-size: 13px; + border: 1px solid #CDE8A8; + } + #_find-input:focus { + border: 1px solid #FFF; + } + #_find-input:focus+#_find-button { + background-position: -108px -72px!important; + } + #_find-input:focus+#_find-button:hover { + background-position: -126px -72px!important; + } + #_find-input-label { + line-height: 20px; + height: 20px; + left: 3px; + top: -21px; + font-size: 13px; + clear: both; + } +} + +@media only screen and max-width 600px { + .share-buttons { + display: block; + float: right; + clear: both; + } +} + + +/* Mobile layout */ + +@media only screen and max-width 480px { + #_white-bg, + #_toolbar, + #_fixed-header { + padding: 0; + } + #_footer, + .documentation { + padding: 0 10px; + } + #_toc-area, + #_nav-area { + width: 100%; + } + #_toolbar { + min-height: 113px; + } + #_toolbar.only-toc, + #_toolbar.only-nav { + min-height: 56px; + } + .only-toc #_nav-area, + .only-nav #_toc-area { + display: none; + } + #_bubble-toc, + #_toc-bubble-wrap>.bubble, + #_fixed-header-wrap>.bubble { + max-height: 300px; + } + #_nav-area { + border-top: 1px solid #729FCF; + } + .nav-inner>.tool-spacer { + position: absolute; + } + .nav-inner>.tool-spacer:nth-child(2) { + left: 0; + } + .nav-inner>.tool-spacer:nth-child(3) { + right: 0; + } + .nav-inner>.tool-label { + padding: 0 10px; + margin: 0 56px; + float: left; + } + .nav-inner { + float: none; + width: auto; + } + .crumbs>*+* { + display: none!important; + } + #_header .single-crumb { + padding-right: 0; + width: 36px!important; + z-index: 12; + position: relative; + } + #_header .active .single-crumb { + padding-right: 10px; + width: 100%!important; + position: fixed; + left: 0; + top: 0; + min-height: 35px; + background-color: #333; + border-bottom: 1px solid #FFF; + color: #FFF; + padding: 0 10px; + } + #_header .active .single-contents-icon { + background-position: -72px -87px; + width: 24px; + height: 24px; + float: right; + margin-top: 5px; + margin-right: 20px; + } + #_header>.crumbs { + right: 10px; + left: auto; + } + #_logo { + margin-right: 10px; + margin-left: 53px; + } + #_header .single-contents-icon:hover, + #_header .single-contents-icon:focus, + #_header .single-contents-icon:active { + background-position: -36px -36px; + } + #_toolbar .active .bubble-corner { + display: none; + } + #_toolbar .bubble { + position: fixed; + top: 0; + height: auto; + z-index: 7; + height: 100%; + } + #_bubble-toc { + height: auto; + max-height: 2000%; + position: relative; + top: 45px; + overflow: hidden; + padding-bottom: 5px; + } + #_toc-bubble-wrap #_bubble-toc { + top: 35px; + } + #_toc-bubble-wrap .bubble { + height: 100%; + max-height: 100%; + } + #_bubble-toc ol, + #_bubble-toc .active ol { + width: 100%; + border: none; + background-color: #333; + } + #_bubble-toc .active ol { + z-index: 8; + right: -1px; + } + .bubble-container { + position: relative; + width: auto; + height: 100%; + z-index: 7; + } + #_header .active .single-contents-icon:hover, + #_header .active .single-contents-icon:focus, + #_header .active .single-contents-icon:active { + background-position: -96px -87px; + } + .bubble h6 { + min-height: 24px; + } + #_bubble-toc .bubble-back { + display: block; + margin-top: 45px; + } + #_bubble-toc .bubble-back a { + padding-top: 4px; + padding-bottom: 4px; + } + #_bubble-toc ol ol li { + margin-left: 10px; + margin-right: 10px; + } + #_bubble-toc ol ol li:last-child { + margin-bottom: 5px; + } + #_bubble-toc .active ol { + position: fixed; + top: 0; + left: 0; + height: 100%; + z-index: 8; + } + .back-icon { + width: 24px; + height: 24px; + background-position: -120px -87px; + display: block; + } + .bubble-back:hover .back-icon, + .bubble-back:focus .back-icon, + .bubble-back:active .back-icon { + background-position: -144px -87px; + } + #_toc-area .bubble h6 { + position: fixed; + background-color: #333; + z-index: 9; + left: 0; + top: 0; + padding-left: 10px; + padding-right: 10px; + width: calc(100%-20px); + } + #_toc-bubble-wrap { + position: fixed; + top: 0; + left: 0; + z-index: 6; + height: 100%; + background-color: #333; + } + #_white-bg { + position: static; + } + #_fixed-header-wrap { + display: none; + } + .share { + float: none; + } + .share>strong { + float: left; + } + .share-buttons { + float: none; + } + .share-buttons>.spacer { + display: none; + } + .bottom-button { + padding: 10px; + display: block; + float: left; + width: calc(50%-22px); + } + #_share-in:before { + border-width: 1px; + margin-left: 0; + } + .line>.toc { + padding-left: 0; + padding-right: 0; + } + /* The page probably is not wide enough anymore for inline-blocks to help + avoid wrapping. */ + code, + .literal, + .package { + display: inline; + } + #_footer { + height: auto; + } + #_footer>ul>li, + #_footer>p { + line-height: 250%; + float: none; + width: 100%; + margin: 0; + } + #_footer>p { + text-align: right; + } + #_footer>ul { + margin: 0; + } + #_footer a { + display: block; + border-top: 1px solid #FFF; + } + #_inward, + #_footer-wrap { + height: 155px; + } + #_outer-wrap { + margin: 0 auto -155px; + } + .documentation ul, + .documentation ol { + padding-left: 10px; + } + .list-of-examples dl, + .variablelist dd, + .toc dd { + padding-left: 10px; + } + .admonition>.symbol { + float: none; + padding-left: calc(50%-18px); + padding-bottom: 10px; + } + .verbatim-wrap { + border-left: none; + border-right: none; + margin-right: -10px; + } + .example-contents>.verbatim-wrap, + .admonition>.verbatim-wrap, + .sect1>.verbatim-wrap, + .sect2>.verbatim-wrap, + .sect3>.verbatim-wrap, + .sect4>.verbatim-wrap, + .sect5>.verbatim-wrap, + .sect6>.verbatim-wrap, + .sect>.verbatim-wrap, + .chapter>.verbatim-wrap, + .procedure-contents, + .procedure-title-wrap+.procedure-contents, + .complex-example .example-contents { + margin-left: -10px; + margin-right: -10px; + } + .complex-example .example-contents { + padding: 3px 15px 6px 12px; + } + .documentation ol.procedure { + padding-left: 20px; + } + .book .title, + .set .title { + font-size: 36px; + } + .title, + .chapter .title, + .reference .title, + .part .title { + font-size: 30px; + } + .sect1 .title, + .single .sect1 .title, + .set .subtitle, + .book .subtitle { + font-size: 22px; + } + .sect2 .title, + .single .sect2 .title { + font-size: 20px; + } + .sect3 .title, + .single .sect3 .title, + h2 { + font-size: 18px; + } +} + +@media only screen and max-height 490px and min-width 451px { + #_bubble-toc, + #_toc-bubble-wrap>.bubble, + #_fixed-header-wrap>.bubble { + max-height: 300px; + } +} + + +/* Optimize images for various screen heights. + + + Some sizes are bucketed. + + + We assume 110px of browser chrome: + @media (max-height: $largest-screen-size-in-bucket – 110px) + + + We assume 190px are needed for context around the image: + img { max-height: $smallest-screen-size-in-bucket – 110px – 190px;} + (With some exceptions for small screen sizes.) +*/ + + +/* Everything over 1600px in height */ + +@media only screen { + .mediaobject img { + max-height: 70%; + } +} + + +/* 1600px & 1440px */ + +@media only screen and max-height 1490px { + .mediaobject img { + max-height: 1140px; + } +} + + +/* 1200px */ + +@media only screen and max-height 1090px { + .mediaobject img { + max-height: 900px; + } +} + + +/* 1080px & 1024px */ + +@media only screen and max-height 970px { + .mediaobject img { + max-height: 724px; + } +} + + +/* 900px */ + +@media only screen and max-height 790px { + .mediaobject img { + max-height: 600px; + } +} + + +/* 800px & 768px */ + +@media only screen and max-height 690px { + /* Make an exception here, so we don't get stamp-sized screenshots. */ + .mediaobject img { + max-height: 518px; + } +} + + +/* 600px and below*/ + +@media only screen and max-height 490px { + /* Make an exception here, so we don't get stamp-sized screenshots. */ + .mediaobject img { + max-height: 390px; + } +} Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/static/images/arrow.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/static/images/arrow.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/static/images/dots-blue.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/static/images/dots-blue.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/static/images/dots-darkgray.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/static/images/dots-darkgray.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/static/images/dots-gray.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/static/images/dots-gray.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/static/images/dots-orange.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/static/images/dots-orange.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/static/images/dots-red.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/static/images/dots-red.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/static/images/draft.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/static/images/draft.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/static/images/icon-important.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/static/images/icon-important.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/static/images/icon-note.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/static/images/icon-note.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/static/images/icons.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/static/images/icons.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/static/images/icon-tip.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/static/images/icon-tip.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/static/images/icon-warning.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/static/images/icon-warning.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/static/images/logo.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/static/images/logo.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/html/static/images/tick.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/html/static/images/tick.png differ diff -Nru appstream-0.12.10/docs/html/static/js/INFO.md appstream-0.14.5/docs/html/static/js/INFO.md --- appstream-0.12.10/docs/html/static/js/INFO.md 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/html/static/js/INFO.md 2020-05-12 17:58:25.000000000 +0000 @@ -0,0 +1,8 @@ +### AppStream Documentation JS Directory + +You can place a minified copy of [Highlight.js](https://highlightjs.org/) in this +directory to enable source-code highlighting in the documentation. + +In case a system-wide copy of `highlight.min.js` and its CSS files exists in +`/usr/share/javascript/highlight.js/`, the buildsystem will automatically detect that +and create symbolic links to these files when installing the documentation. Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/images/src/png/appstream-logo.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/images/src/png/appstream-logo.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/images/src/png/architecture.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/images/src/png/architecture.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/images/src/png/pure_architecture.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/images/src/png/pure_architecture.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/images/src/png/screxample_gameconqueror-bad.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/images/src/png/screxample_gameconqueror-bad.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/images/src/png/screxample_geany-good.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/images/src/png/screxample_geany-good.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/images/src/png/screxample_wireshark-good.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/images/src/png/screxample_wireshark-good.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/images/src/png/screxample_xmedcon-bad.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/images/src/png/screxample_xmedcon-bad.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/images/src/png/screxample_xonotic-good.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/images/src/png/screxample_xonotic-good.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/images/src/png/screxample_xterm-bad.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/images/src/png/screxample_xterm-bad.png differ diff -Nru appstream-0.12.10/docs/images/src/svg/appstream-button1.svg appstream-0.14.5/docs/images/src/svg/appstream-button1.svg --- appstream-0.12.10/docs/images/src/svg/appstream-button1.svg 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/images/src/svg/appstream-button1.svg 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru appstream-0.12.10/docs/images/src/svg/appstream-button2.svg appstream-0.14.5/docs/images/src/svg/appstream-button2.svg --- appstream-0.12.10/docs/images/src/svg/appstream-button2.svg 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/images/src/svg/appstream-button2.svg 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,448 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru appstream-0.12.10/docs/images/src/svg/appstream-logo.svg appstream-0.14.5/docs/images/src/svg/appstream-logo.svg --- appstream-0.12.10/docs/images/src/svg/appstream-logo.svg 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/images/src/svg/appstream-logo.svg 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,287 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + diff -Nru appstream-0.12.10/docs/images/src/svg/architecture.svg appstream-0.14.5/docs/images/src/svg/architecture.svg --- appstream-0.12.10/docs/images/src/svg/architecture.svg 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/images/src/svg/architecture.svg 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,521 @@ + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + - Ratings- Comments + + + + + desktop-files + + app-icons.tar.gz + + + + components.xml + + + Composeserver + Mirror + package file + Client + + SoftwareCenter + FeedbackServer + + PackageKit + - extract metadata (metainfo files, desktop files, pkg-config, ...)- construct metadata (AppStream collection XML or YAML) + + cache / data pool + + + + + oauth + Rebuild onrepo-enable, etc + priority,stemming + Rebuild onrepo-compose + + + Packagemetadata + XML metadata + + diff -Nru appstream-0.12.10/docs/images/src/svg/old_libas_architecture.svg appstream-0.14.5/docs/images/src/svg/old_libas_architecture.svg --- appstream-0.12.10/docs/images/src/svg/old_libas_architecture.svg 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/images/src/svg/old_libas_architecture.svg 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,609 @@ + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + PackageKit Daemon + + + Cache + + + AppStream Plugin + + + + AppInstallDesktop-File + + AppStreamXML + + DEP-11YAML + Application data sources + + + + + + libappstream + + + + Client(software-center, ...) + + + + Client + + + + + + Icons + Screenshots + + Ratings + Reviews + + + + Icons + Screenshots + + Ratings + Reviews + + + + + + + + diff -Nru appstream-0.12.10/docs/images/src/svg/pure_architecture.svg appstream-0.14.5/docs/images/src/svg/pure_architecture.svg --- appstream-0.12.10/docs/images/src/svg/pure_architecture.svg 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/images/src/svg/pure_architecture.svg 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,505 @@ + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + - Ratings- Comments + + + + + desktop-files + + component-data.xml + + app-icon-images + + + + Composeserver + Repo onMirror + + Existingmetadata + package file + Client + FeedbackServer + + oauth + Rebuild onrepo-compose + + + ScreenshotServer + One server perdistro or 3rdparty repo + One or oneper distro + + + http + http + Aggregates multiple sources:repos, user-feedback servers andscreenshot servers + XML metadata + + diff -Nru appstream-0.12.10/docs/meson.build appstream-0.14.5/docs/meson.build --- appstream-0.12.10/docs/meson.build 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/meson.build 2021-08-28 20:15:28.000000000 +0000 @@ -11,7 +11,7 @@ # make manual pages xsltproc = find_program('xsltproc') custom_target('man-appstreamcli', - input: 'sources/man/appstreamcli.1.xml', + input: 'xml/man/appstreamcli.1.xml', output: 'appstreamcli.1', install: true, install_dir: join_paths(get_option('mandir'), 'man1'), @@ -27,6 +27,25 @@ ] ) +if get_option('compose') + custom_target('man-appstream-compose', + input: 'xml/man/appstreamcli-compose.1.xml', + output: 'appstreamcli-compose.1', + install: true, + install_dir: join_paths(get_option('mandir'), 'man1'), + command: [ + xsltproc, + '--nonet', + '--stringparam', 'man.output.quietly', '1', + '--stringparam', 'funcsynopsis.style', 'ansi', + '--stringparam', 'man.th.extra1.suppress', '1', + '-o', '@OUTPUT@', + 'http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl', + '@INPUT@' + ] + ) +endif + if get_option('docs') or get_option('apidocs') subdir('api/') endif @@ -34,65 +53,62 @@ # # Documentation # -as_doc_version = '0.12' as_doc_src = [ - 'sources/APIDoc.xml', - 'sources/AppStream.xml', - 'sources/Author_Group.xml', - 'sources/Book_Info.xml', - 'sources/collection/CollectionData.xml', - 'sources/collection/iconcache.xml', - 'sources/collection/xmldata.xml', - 'sources/collection/yamldata.xml', - 'sources/Legal_Notice.xml', - 'sources/man/appstreamcli.1.xml', - 'sources/Manpages.xml', - 'sources/metainfo/addon.xml', - 'sources/metainfo/codec.xml', - 'sources/metainfo/component.xml', - 'sources/metainfo/consoleapp.xml', - 'sources/metainfo/desktopapp.xml', - 'sources/metainfo/driver.xml', - 'sources/metainfo/firmware.xml', - 'sources/metainfo/font.xml', - 'sources/metainfo/icontheme.xml', - 'sources/metainfo/inputmethod.xml', - 'sources/metainfo/localization.xml', - 'sources/metainfo/MetaInfo.xml', - 'sources/metainfo/operatingsystem.xml', - 'sources/metainfo/repository.xml', - 'sources/metainfo/runtime.xml', - 'sources/metainfo/service.xml', - 'sources/metainfo/webapp.xml', - 'sources/Project_Desc.xml', - 'sources/quickstart/addons.xml', - 'sources/quickstart/desktop-apps.xml', - 'sources/quickstart/packaging.xml', - 'sources/quickstart/Quickstart.xml', - 'sources/quickstart/translation.xml', - 'sources/Revision_History.xml', - 'sources/services/screenshots.xml', - 'sources/services/Services.xml', - 'sources/services/urihandler.xml' + 'xml/APIDoc.xml', + 'xml/AppStream.xml', + 'xml/Author_Group.xml', + 'xml/Book_Info.xml', + 'xml/CollectionData.xml', + 'xml/collection-iconcache.xml', + 'xml/collection-xmldata.xml', + 'xml/collection-yamldata.xml', + 'xml/Legal_Notice.xml', + 'xml/man/appstreamcli.1.xml', + 'xml/Manpages.xml', + 'xml/MetaInfo.xml', + 'xml/metainfo-addon.xml', + 'xml/metainfo-codec.xml', + 'xml/metainfo-component.xml', + 'xml/metainfo-consoleapp.xml', + 'xml/metainfo-desktopapp.xml', + 'xml/metainfo-driver.xml', + 'xml/metainfo-firmware.xml', + 'xml/metainfo-font.xml', + 'xml/metainfo-icontheme.xml', + 'xml/metainfo-inputmethod.xml', + 'xml/metainfo-localization.xml', + 'xml/metainfo-operatingsystem.xml', + 'xml/metainfo-repository.xml', + 'xml/metainfo-runtime.xml', + 'xml/metainfo-service.xml', + 'xml/metainfo-webapp.xml', + 'xml/Miscellaneous.xml', + 'xml/misc-vercmp.xml', + 'xml/misc-urihandler.xml', + 'xml/Project_Desc.xml', + 'xml/Quickstart.xml', + 'xml/quickstart-addons.xml', + 'xml/quickstart-desktopapps.xml', + 'xml/quickstart-packaging.xml', + 'xml/quickstart-translation.xml', ] if get_option('docs') - publican_exe = find_program('publican') - python_exe = find_program('python3') + daps_exe = find_program('daps') + python_exe = find_program('python3', 'python') build_docs_cmd = [ python_exe, join_paths(meson.current_source_dir(), 'doc-build-helper.py'), - '--src=' + meson.current_source_dir(), - '--ws=' + meson.current_build_dir(), - '--out=' + meson.current_source_dir(), - 'AppStream', - as_doc_version + '--build', + '--src', meson.current_source_dir(), + '--builddir', meson.current_build_dir(), + 'AppStream' ] make_docs_target = custom_target('make-docs', - input: ['publican.cfg', + input: ['DC-AppStream', as_doc_src], output: ['docs_built.stamp'], build_by_default: true, @@ -104,10 +120,30 @@ if get_option('install-docs') install_subdir('html', install_dir: as_doc_target_dir) + + meson.add_install_script('sh', '-c', + 'if [ -f "@0@" ]; then mkdir -p $DESTDIR/@1@ && ln -sf @0@ $DESTDIR/@1@; fi' + .format('/usr/share/javascript/highlight.js/highlight.min.js', + join_paths(get_option('prefix'), as_doc_target_dir, 'html', 'static', 'js')) + ) endif + + # add an extra testcase for documentation validation + test ('as-validate_docs', + python_exe, + args: [join_paths(meson.current_source_dir(), 'doc-build-helper.py'), + '--validate', + '--src', meson.current_source_dir()] + ) elif get_option('install-docs') if run_command('[', '-d', join_paths(meson.current_source_dir(), 'html'), ']').returncode() == 0 # install documentation, if it exists install_subdir('html', install_dir: as_doc_target_dir) + + meson.add_install_script('sh', '-c', + 'if [ -f "@0@" ]; then mkdir -p $DESTDIR/@1@ && ln -sf @0@ $DESTDIR/@1@; fi' + .format('/usr/share/javascript/highlight.js/highlight.min.js', + join_paths(get_option('prefix'), as_doc_target_dir, 'html', 'static', 'js')) + ) endif endif diff -Nru appstream-0.12.10/docs/publican.cfg appstream-0.14.5/docs/publican.cfg --- appstream-0.12.10/docs/publican.cfg 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/publican.cfg 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ -xml_lang: "en-US" -type: Book -brand: common -doc_url: http://www.freedesktop.org/software/appstream/docs/ -prod_url: http://www.freedesktop.org/wiki/Distributions/AppStream/ -toc_section_depth: 1 -chunk_section_depth: 1 diff -Nru appstream-0.12.10/docs/sources/APIDoc.xml appstream-0.14.5/docs/sources/APIDoc.xml --- appstream-0.12.10/docs/sources/APIDoc.xml 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/sources/APIDoc.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,22 +0,0 @@ - - -]> - - - AppStream API Reference - - - A reference of AppStream's public API can be fount on the - API reference pages. - - - If you want to use the PackageKit API, look at - the PackageKit reference manual. - - - - - diff -Nru appstream-0.12.10/docs/sources/AppStream.ent appstream-0.14.5/docs/sources/AppStream.ent --- appstream-0.12.10/docs/sources/AppStream.ent 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/sources/AppStream.ent 1970-01-01 00:00:00.000000000 +0000 @@ -1,4 +0,0 @@ - - - - diff -Nru appstream-0.12.10/docs/sources/AppStream.xml appstream-0.14.5/docs/sources/AppStream.xml --- appstream-0.12.10/docs/sources/AppStream.xml 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/sources/AppStream.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ - - -%BOOK_ENTITIES; - -]> - - - - - - - - - - - - - - - - - diff -Nru appstream-0.12.10/docs/sources/Author_Group.xml appstream-0.14.5/docs/sources/Author_Group.xml --- appstream-0.12.10/docs/sources/Author_Group.xml 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/sources/Author_Group.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,39 +0,0 @@ - - -%BOOK_ENTITIES; -]> - - - Matthias - Klumpp - - Debian - - mak@debian.org - - - Michael - Vogt - - Canonical / Ubuntu / Debian - - mvo@ubuntu.com - - - Richard - Hughes - - Fedora / Red Hat - - richard@hughsie.com - - - Vincent - Untz - - OpenSUSE - - vuntz@opensuse.org - - diff -Nru appstream-0.12.10/docs/sources/Book_Info.xml appstream-0.14.5/docs/sources/Book_Info.xml --- appstream-0.12.10/docs/sources/Book_Info.xml 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/sources/Book_Info.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,39 +0,0 @@ - - -%BOOK_ENTITIES; -]> - - AppStream - Infrastructure for distro-agnostic software-centers and universal software component metadata - AppStream - 0.12 - 1 - 0 - - - AppStream is a collaborative effort for enhancing the way we interact with the software - repositories provided by the distribution by standardizing sets of additional metadata. - - - AppStream provides the foundation to build software-center applications. - It additionally provides specifications for things like an unified software metadata database, - screenshot services and various other things needed to create user-friendly application-centers - for software distributions. - - - You can find a C/GLib based reference implementation of the specification - here and report bugs about the implementation - as well as the specification itself at the issue tracker. - - - - - - - - - - - - diff -Nru appstream-0.12.10/docs/sources/collection/CollectionData.xml appstream-0.14.5/docs/sources/collection/CollectionData.xml --- appstream-0.12.10/docs/sources/collection/CollectionData.xml 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/sources/collection/CollectionData.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,20 +0,0 @@ - - -%BOOK_ENTITIES; -]> - - Collection Metadata - - Additionally to the metainfo files shipped by upstream projects, AppStream also provides an XML and YAML format - to make information about not installed software components known to the system. - - - This chapter documents this collection metadata format and icon cache used on the client side. - - - - - - - diff -Nru appstream-0.12.10/docs/sources/collection/iconcache.xml appstream-0.14.5/docs/sources/collection/iconcache.xml --- appstream-0.12.10/docs/sources/collection/iconcache.xml 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/sources/collection/iconcache.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,46 +0,0 @@ - - -%BOOK_ENTITIES; -]> - -
- Icon Cache - -
- Introduction - - - In order to display icons in software-centers, distributors should offer a repository of cached icons for applications defined in their AppStream XML files. - The icons should be PNG files or vectorgraphics (PNG is preferred) and match the name referenced in the applications .desktop file. - Their size should be 64x64px, it is okay to just provide one size. - -
- -
- Filesystem locations - - All icons of type cached must be placed in /usr/share/app-info/icons/%{origin}/%{size}/ or /var/cache/app-info/icons/%{origin}/%{size}/, - where origin is the AppStream data origin defined in the AppStream data file (see ), and size - is 64x64 or 128x128 depending on the size of the icon. And icon might be present with different sizes in both directories. - - - For example the cache icon krita.png of a component in a data file with the origin jessie should be stored in - /usr/share/app-info/icons/jessie/64x64/krita.png (or in the /var/cache location). - - - Icon sclaing factors commonly used for HiDPI display support are part of the size-directory filename and are separated from the regular size via an @ sign. - If the scaling factor is 1, it must be omitted from the directory name. - For example, if the icon scaling factor is 2 for icons of size 64x64 from origin jessie, the icon must be placed - in /usr/share/app-info/icons/jessie/64x64@2/. - - - Legacy Support - - In order to support the old icon cache layout, client applications may also look for icons in the folder below the size-directories, assuming - that the icons placed there are of size 64x64 pixels. - - -
- -
diff -Nru appstream-0.12.10/docs/sources/collection/xmldata.xml appstream-0.14.5/docs/sources/collection/xmldata.xml --- appstream-0.12.10/docs/sources/collection/xmldata.xml 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/sources/collection/xmldata.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,704 +0,0 @@ - - -%BOOK_ENTITIES; -]> - -
- AppStream collection XML - -
- Introduction - - - AppStream collection XML files are text files describing all available software components a software repository (usually - from a Linux distributor) offers for installation. - The XML files might be compressed with GZip. - -
- -
- File naming and location - - The XML files must have a unique name, which is usually the distribution's name and version, combined with the name of the repository/origin. - For example in Debian 8 (Jessie), the filename for the main repository component would be debian-jessie-main.xml.gz. - For Fedora 20 (Heisenbug) updates it would be fedora-20-updates.xml.gz. - 3rd-party repositories use a vendor name and repository-name combination, for example Ubuntu PPAs might get ppa-ubuntu12.04-username-foobar.xml. - - - There are two valid locations to store AppStream XML data. /usr/share/app-info/xmls stores all AppStream data which - has been installed via software packages, while /var/cache/app-info/xmls stores application data which was downloaded - by the package manager or placed there by other tools (for example, Limba). - The XML files can either be plain files or be compressed with gzip. It is always a good idea to compress the files, because they tend to become - quite large. - -
- -
- General XML structure - - The XML starts with a <components> tag as the root element. It has all the - <component> tags of different types as children. - - - Data to fill the different component elements is usually taken from their Desktop files - and package data. However, if an upstream project ships metainfo files (see ), - values defined there should override data from any other source. - - - All child elements of the <components> element, no matter of which type they are, must at least have - an id, name, summary and pkgname tag. - For applications, a icon tag is also required. - - - The <components> root node has these properties, where the first two are required: - - - - version - - - This property declares the AppStream spec version this file is based on (currently 0.9). The property is required. - - - - - - origin - - - Defines the repository ID this AppStream XML file belongs to. This usually matches the filename without extension (see the explanation on how to pick a good filename above). - It is also used to associate the right cached icons with AppStream metadata. This property is required. - - - - - - architecture - - - Defines the architecture this data belongs to. This information is useful to resolve AppStream-ID conflicts on multiarch systems, - which appear if the user has metadata for two architectures installed. This property is optional. - - - - -
- -
- Valid tags for all component types - - These tags can be applied to every component type (application, component, font, inputmethod) which - is described in the AppStream metadata. - - - Additionally to the type property, every <component/> tag in AppStream collection data - may have a priority property, defining the priority of this specific metadata over other metadata from different - AppStream XML files (for example, from a different repository) which have the same component-id. The value of this tag is an integer, if the - property is missing, a value of "0" is assumed. - - - In order to merge metadata, each component in collection data may also have a merge property, assuming the - values append, replace or remove-component. If the value is append, all data this component describes will be appended - to data of the component with the same ID. If the value is replace the fields of the target component will be replaced with the - ones present in the merge component. If the merge type is remove-component, the entore component matching the ID of the merge-component should - be removed from the metadata pool. - Merge-components with a higher priority take precedence. If a component has a merge property, the only tag that must - be present for it is the <id/> tag, any other metadata is optional. - - - - - <id/> - - - The <id/> tag is a short unique and usually lower-cases identifier for the component. - Depending on the component's type, different naming conventions apply. - - - - - - <pkgname/> - - - The name of the package which needs to be installed in order to make this component available on the system. - - - This tag can be defined multiple times, if a component is split across multiple packages. - - - - The preferred way is to create metapackages containing the component metadata, and referencing them - from the collection metadata, and not to use multiple pkgname tags. - They should only be used multiple times as a workaround or if there is no sensible way of creating a - matching metapackage. - - - - - - - <source_pkgname/> - - - This optional tag is used to specify the source package the binary package this component belongs to was built from. - - - The tag can be used by software center applications to group components. It is otherwise useful for the distributor - to assign components to a source package and to fetch additional information about a package from the web. - - - - - - <name/> - - - A human-readable name for this software. - - - In case of a component of type desktop-application, the application name as defined in the application's - desktop file is used. - - - - - - <project_license/> - - - The <project_license/> tag is indicating the license of the component. - It should be a SPDX license expression. - A full list of recognized licenses and their identifiers can be found at the - SPDX OpenSource License Registry. - - - You can find more information about this tag at the metainfo description for . - - - - - - <summary/> - - - The tag contains a short summary of the purpose and function of this component. In case the component is of - type desktop, it is usually taken from a Desktop file, - if the application does not ship an upstream metadata file. - - - For more information about this tag, take a look at the tag's definition at . - - - - - - <description/> - - - A long description of the component. It is usually taken from the package descriptions or meta-info files, if they were provided. - The description might use markup. Right now, only paragraph, ordered list and unordered list are supported. - An example description element might look like this: - -

- Power Statistics is a program used to view historical and current battery - information and will show programs running on your computer using power. -

-

Example list:

-
    -
  • First item
  • -
  • Second item
  • -
-

- You probably only need to install this application if you are having problems - with your laptop battery, or are trying to work out what programs are using - significant amounts of power. -

- ]]>
-
- - As opposed to the by-paragraph translation used in meta-info files, this tag is translated "as a whole", meaning that the - <description/> tag itself has a language property and contain the translated paragraphs for the given language. - This allows faster parsing of the Appstream XML file, and does not increase it's size much, as long as it is compressed. - - - For more information about this tag, take a look at the tag's definition at . - -
-
- - - <url/> - - - Defines URLs for this component. This tag can be present multiple times. - - - For a list of possible url types and what they are expected to do, - take a look at the tag's description at . - - - - - - <project_group/> - - - The ]]> tag identifies a project with a specific upstream umbrella project. - Known values include GNOME, KDE, XFCE, LXDE, Mozilla and MATE, although other umbrella projects - like Yorba would make sense too. - - - - Components should only identify with an umbrella project if you use all their infrastructure and policies, for instance - string freezes dates, bugtracker and source control instance. - - - - - - - <icon/> - - - The <icon/> tag describes the component icon. It is mostly used for GUI applications (component-type desktop-application). - It can be of the type stock, cached, local, - or url. - - - stock icons are loaded from stock. The icon name should never include any file-extension or path. - - - cached icons are loaded from the AppStream icon cache. The icon tag should contain the icon file name, including it's - extension. It must not contain a full or relative path to the icon file. - - - local icons are reserved for AppStream data installed by local applications or via 3rd-party application installers. - They should specify a full file path. - This icon type may have width and height properties. - - - remote icons loaded from a remote URL. Currently, only HTTP urls are supported. - This icon type should have width and height properties. - - - Examples of the different methods to specify an icon: - - gimp -firefox.png -https://example.com/icons/foobar.png -/usr/share/pixmaps/foobar.png]]> - - Multiple ]]> tags might be combined for one application, for example to define a stock icon - and a cached icon. - Software-Centers should always prefer the stock icon, if it is available, and fall back to the other icon types if they can not find it. - The libappstream library makes it easy to do that. - - - The AppStream library will prefer cached over local over remote - icons when setting the non-stock icon for the application. - - - - - - <mimetypes/> - - - This tag can contain one or more ]]> tags, describing the mime types this component supports. - The data can usually be fetched from the Desktop files. - Example: - - - text/html - image/jpeg - application/rss+xml - ]]> - - - - - <categories/> - - - This tag can contain one or more ]]> tags, describing the categories this component - is located in. This tag is usually applied to components of type desktop-application, although it might be used by others later. - This data is usually taken from Desktop files, a list of categories can be found in the - Freedesktop menu spec. - Example: - - - Science - Network - Telephony -]]> - - Deprecated Tags - - The tag ]]> with its ]]> child elements is deprecated API. - AppStream parsers should handle these tags just like the category tags, there is no difference except for the name. - - - - - - - <keywords/> - - - This tag can contain one or more ]]> tags, describing keywords for the component, - to make it easier to find in a software center. - In case of type desktop-application components, this data is taken from .desktop files. For addon - components, the upstream metadata file usually provides this tag. - For translated keyword lists, the root node (<keywords/>) has the language property. - Example: - - - IDE - development - programming - - - IDE - entwicklung - programmierung -]]> - - - - - <screenshots/> - - - This tag can contain one or more ]]> tags, describing screenshots which are available for - the software. A screenshot tag my have the attribute type="default", marking it as the software's default screenshot, - which primarily represents it in a software center. - - - The screenshots tag is described for metainfo files in . In collection metadata, the tag - has the exact same format as in metainfo files. - The metadata generator may add an arbitrary number of resized thumbnails for image type screenshots though. - - - Every static-image ]]> is defined by several images of different sizes. - All images should have their width and hight set as arguments. Also, one of the images should be marked as type="source", - indicating that it is the unscaled version of the screenshot. - Images of type="thumbnail" define thumbnails of the screenshot. - - - The metadata generator should scale the source image down to several thumbnails useful for the client to load. - The recommended sizes for thumbnail images are: - - - 752x423 (large) - 624x351 (normal) - 112x63 (small) - - 1504x846 (large, HiDPI) - 1248x702 (normal, HiDPI) - 224x126 (small, HiDPI) - - - In order to support HiDPI screens, the thumbnails should also be available in their bigger sizes. A metadata generator should, however, never attempt - to scale up a smaller image to a larger size, and just ship the smaller sizes instead. - - - Optionally, a screenshot can contain a ]]> tag, describing the screenshot's caption. This is usually what the user can see - on the image shown. The tag is translatable. - - - For ]]> tags that contain video elements, a collection metadata generator may impose any restrictions to them, - including completely removing them from the output, imposing filesize limits, etc. - Upstream metainfo files should not rely on the videos being present and must always have a static screenhot for the software component as well. - - - Every image or video should have a full remote url set, usually pointing to a cache of images maintained by the repository vendor. - Example: - - - - FooBar showing kitchen-sink functionality. - FooBar beim Ausführen der Spühlbecken-Funktion. - https://www.example.org/en_US/main.png - https://www.example.org/en_US/main-large.png - https://www.example.org/en_US/main-small.png - - - - - - .... - -]]> - - - - - <compulsory_for_desktop/> - - - The ]]> tag indicates that the component which the metadata belongs to is essential for the - functionality of the defined desktop environment. - - - This tag is described in detail at . - - - - - - <provides/> - - - This tag is described in detail at . - - - Distributors and software repository vendors must ensure that all things described in this tag are present in the package referenced in - the associated pkgname tag (or in dependencies of it). - - - - - - <developer_name/> - - - The <developer_name/> tag as described in the specification for a generic component. See for more information. - - - - - - <launchable/> - - - This optional tag follows the same schema as described for metainfo files in . - - - - - - <releases/> - - - The releases tag and its release children are structured as described in , with the - additional requirement that releases must be sorted in a latest-to-oldest order. - - - Each release tag may have a description tag as child, containing a brief description of what is new in the release. - The description tag is structured as described in . This also applies to its translation rules. - - - The AppStream collection XML generator may shorten overlong lists of releases to a smaller list, for example of 4 release tags. - It may also convert ISO 8601 date properties of the metainfo file into an UNIX timestamp timestamp property. - It should avoid generating metadata containing both properties on a release tag. - - - Example for a valid releases tag: - - - - -

This stable release fixes the following bug:

-
    -
  • CPU no longer overheats when you hold down spacebar
  • -
-
- 12345678 - 42424242 -
- - -]]>
- - In case a <release/> tag has a <description/> tag as parameter, describing the new release briefly, distributors are encouraged to provide 2-4 - <release/> release tags for every component. If no description is provided, one tag is enough. - -
-
- - - <languages/> - - - This tag gives information about the translations a component provides, and to which extent the software is translated. - - - The tag is allowed to only occur once per component, and contains multiple <lang/> child nodes, which have - a language code as value. - Each <lang/> node may have a percentage property, which describes the percentage value to which - a component has been translated. - - - The language data is expected to be extracted by the AppStream XML generator, and is not provided upstream. Generators may obtain the - information from processing GNU Gettext files, which should cover most translation methods. - - - Tag example: - - - gu - ca@valencia - de - eo - -]]> - - - - - <bundle/> - - - The optional bundle tag indicates that the described software is available as a software bundle via a - 3rd-party application installer. The value of this tag is an identification string for the bundle. - - - Software centers may use the information of this tag to offer the user to install the software - from 3rd-party sources, or just update an already installed software automatically via the normal update procedure. - The bundle tag can coexist with the pkgname tag, in case a component is available from - multiple sources. - - - The type property of this tag indicates which 3rd-party software installation solution the bundle belongs to. - Currently supported solutions are: - - The Limba Project, using the value limba. - Flatpak bundles, using the value flatpak. - AppImageKit bundles, using the value appimage. - Snappy snap bundles, using the value snap. - Plain and possibly compressed tarballs, using the value tarball. - - - - Example: - - foobar-1.0.2]]> - - - - - <suggests/> - - - The optional suggests tag provides suggestions of other software made by this component. - It follows the same schema as described for metainfo files in . - - - Additionally to the upstream type allowed for metainfo files, the catalog data also allows a - heuristic type, which is added by automatic recommendation services, and might be based on the user's - preferences. It is commonly injected into existing metadata via a merge pseudo-component. - - - Example: - - - org.kde.gwenview.desktop - org.inkscape.Inkscape - - - org.gimp.gimp.desktop -]]> - - - - - <content_rating/> - - - This optional tag follows the same schema as described for metainfo files in . - - - - - - <agreement/> - - - This optional tag follows the same schema as described for metainfo files in , with the exception - of description tags in its agreement_section child tags now following the same translation - rules as the toplevel tag in collection metadata. - - - - -
-
- -
- Example file - - This is an example AppStream metadata file: - - - - - - org.mozilla.Firefox - firefox-bin - Firefox - Firefoux - Web browser - Navigateur web - MPL-2.0 - - internet - web - browser - navigateur - - web-browser - firefox.png - - network - web - - - text/html - text/xml - application/xhtml+xml - application/vnd.mozilla.xul+xml - text/mml - application/x-xpinstall - x-scheme-handler/http - x-scheme-handler/https - - https://www.mozilla.com - - - https://www.awesomedistro.example.org/en_US/firefox.desktop/main.png - https://www.awesomedistro.example.org/en_US/firefox.desktop/main-small.png - - - - firefox - - - - org.freedesktop.PulseAudio - PulseAudio - The PulseAudio sound server - https://www.freedesktop.org/wiki/Software/PulseAudio/ - GPL-2.0+ - - libpulse-simple.so.0 - libpulse.so.0 - start-pulseaudio-kde - start-pulseaudio-x11 - - - - - org.linuxlibertine.LinuxLibertine - Linux Libertine - Linux Libertine Open fonts - - LinLibertine_M.otf - - - -]]> - -
-
diff -Nru appstream-0.12.10/docs/sources/collection/yamldata.xml appstream-0.14.5/docs/sources/collection/yamldata.xml --- appstream-0.12.10/docs/sources/collection/yamldata.xml 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/sources/collection/yamldata.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,1037 +0,0 @@ - - -%BOOK_ENTITIES; -]> - -
- AppStream collection YAML - -
- Introduction - - - DEP-11 is a YAML implementation of the AppStream collection specification, which is primarily used by Debian and its derivatives. - This document describes the DEP-11 YAML. - All AppStream support libraries available today are able to read both the YAML and the XML specification. - - - - - If you want to use AppStream in your distribution, and are not based on Debian, please use the XML specification (unless - you have strong reasons for preferring YAML). - XML is the official format for AppStream collection metadata. - - - - - The DEP-11 YAML metadata can be validated for correctness using the dep11-validate tool from the - AppStream DEP-11 utils. - - - Fields not mentioned in this document are not recognized by DEP-11 YAML parsers. - -
- - -
- File naming and location - - Take a look at for AppStream XML files. While the XML data belongs into the xmls subdirectory in - /usr/share/app-info (or /var/cache/app-info), the YAML data is stored in the yaml subdirectory. - All other rules affecting the XML apply the DEP-11 YAML as well, including the recommendation to compress the files with gzip. - -
- -
- General DEP-11 YAML structure - - Each YAML file starts with a header document, which defines the basic properties of the metadata, which is followed by the actual metadata in form of one - YAML document per AppStream component. - - - The header document contains the following fields, all of them are required or at least strongly recommended. - - - - File - - - This field identifies the file as DEP-11 file. Its value is always DEP-11. - - Field info: value-type:str, required:yes - - - - - Version - - - The version of the AppStream specification this file was built for. - - Field info: value-type:str, required:yes - - - - - Origin - - - Defines the repository-id this file belongs to. This usually matches the filename without extension. On Debian systems, it is the - <suite>-<component> combination, e.g. jessie-main. - - Field info: value-type:str, required:yes - - - - - MediaBaseUrl - - - The base URL for media (screenshots, icons, ...) referenced in the metadata file. - If this is set, all urls in the document referencing media will be treated relative to the base url. - - Field info: value-type:str, required:no - - - - - Architecture - - - Defines the architecture this data belongs to. This information is useful to resolve AppStream-ID conflicts on multiarch systems, - which appear if the user has metadata for two architectures installed. - - Field info: value-type:str, required:no - - - - - Priority - - - The priorization of this metadata file over other metadata. - - Field info: value-type:int, required:no - - - -
- -
- Translated fields - - Fields with translated values follow the following conventions: - - - They are of type dict - They must contain a key C, with the untranslated string as value - - - All languages are represented with their locale name as key in the dict and the translated content as value - (which is of type str, unless explicitly stated otherwise) - - - - - In this document, the type localized is used to indicate that the field contains translated values following this schema. - - - Example for a translated Name field: - - - -
- -
- Valid fields - - This document describes all valid fields in the DEP-11 YAML specification. The requirements for the values are exactly the same as in the XML specification, - and each field links to its correspondent XML tag for reference. - - - - - ID - - - The ID field is a short unique and usually lower-cases identifier for the component. - Depending on the component's type, different naming conventions apply. - - See . - Field info: value-type:str, required:yes - - - - - Priority - - - The Priority field sets the priority this component's metadata should have over other meadata in the pool. - Data with a higher priority replaces data with a lower priority. - - See . - Field info: value-type:int, required:no - - - - - Type - - - The type of this component. Allowed values are: - - - generic for - desktop-application for - console-application for - addon for - codec for - inputmethod for - firmware for - - - Field info: value-type:str, required:yes - - - - - Merge - - - The optional Merge field describes the merge strategy that should be applied when merging data of this component into - its base. It may assume the values append, replace or remove-component. - - See for a description on how merging works. - Field info: value-type:str, required:no - - - - - Package - - - The name of the package which needs to be installed in order to make this component available on the system. - - See . - Field info: value-type:str, required:yes - - - - - SourcePackage - - See . - Field info: value-type:str - - - - - Name - - See . - Field info: value-type:localized, required:yes - - - - - Summary - - See . - Field info: value-type:localized, required:yes - - - - - ProjectLicense - - See . - Field info: value-type:str - - - - - Description - - See . - - The markup for the description is the same as in the XML specification, so it can be read by anything - parsing basic HTML markup. - - Field info: value-type:localized - - - - - Url - - See . - - The Url field contains the different url types as keys in its dict. Valid url types are - defined in the main AppStream XML specification. - All URL types must be lowercased. - - - Example: - - - - Field info: value-type:dict - - - - - ProjectGroup - - See . - Field info: value-type:str - - - - - Icon - - See . - - - The Icon field has the different icon types as keys for its dict. - - - - - stock - - - Contains the stock icon name. - - Field info: value-type:str - - - - - cached - - - Contains a list of dictionaries with the keys width and height of type - int specifying the dimensions of the icon, as well as the key name - of type str specifying the name of the icon in the cache. - - Field info: value-type:list ➟ dict - - - - - local - - - Contains a list of dictionaries with the keys width and height of type - int specifying the dimensions of the icon, as well as the key name - of type str specifying the absolute filename pointing to the right icon. - - Field info: value-type:list ➟ dict - - - - - remote - - - Contains a list of dictionaries with the keys width and height of type - int specifying the dimensions of the icon, as well as the key url - of type str which contains a HTTP(S) or FTP URL to the icon. - - Field info: value-type:list ➟ dict - - - - - Field info: value-type:dict - - - - - Categories - - See . - - - This field follows its XML counterpart in almost all regards. The different XDG menu category names are encoded in the list, and are - of type str. - - - Example: - - - Field info: value-type:list - - - - - Keywords - - See . - - - This field contains the keywords for this component. The keys define the locales for the respective language, the values are - of type list and contain the list of keywords for the respective language. An unlocalized C - key must be present. - - - Example: - - - Field info: value-type:translated(list) - - - - - - Screenshots - - See . - - The Screenshots field contains a list of screenshots. A screenshot is of type - dict and contains the following keys: - - - - - default - - - If default is true, the screenshot is selected as default screenshot. There has to be at least one - screenshot which is marked as default. - - Field info: value-type:bool - - - - - source-image - - - Describes the source image for this screenshot. If this field is present, videos must not be present as well. - The field valus is a dictionary with the following keys: - - - - height - The image height (value-type:int) - - - width - The image width (value-type:int) - - - url - - The full image url, or the url component added to MediaBaseUrl, - if defined (value-type:str). - - - - lang - - The language this screenshot image is translated in. The value is a locale string. - (value-type:str, required:no) - - - - Field info: value-type:dict, required:conditional - - - - - thumbnails - - - A list of an arbitrary number of screenshots. All screenshots are of type dict and must contain the same keys as described for - source-image. - This key must not be present if videos is present. - - Field info: value-type:list, required:no - - - - - videos - - - Contains a list of video dicts for this screenshot. If this field is present, source-image must not be present as well. - The field valus is a dictionary with the following keys: - - - - container - The video container format (value-type:str, values as described in the XML specification) - - - codec - The video codec format (value-type:str, values as described in the XML specification) - - - height - The video height (value-type:int) - - - width - The video width (value-type:int) - - - url - - The full video url, or the url component added to MediaBaseUrl, - if defined (value-type:str). - - - - lang - - The language this screenshot video is translated in. The value is a locale string. - (value-type:str, required:no) - - - - Field info: value-type:list(dict), required:conditional - - - - - caption - - - A caption for this screenshot. - - Field info: value-type:localized - - - - - - Example for a Screenshots field containing one screenshot: - - - - Field info: value-type:list - - - - - - CompulsoryForDesktop - - See . - Field info: value-type:str - - - - - Provides - - See . - - The Provides field is of type dict and can have the following keys set with - the described allowed values: - - - - - libraries - - - A list of provided library names. - - Field info: value-type:list(str) - - - - - binaries - - - A list of provided binaries in PATH. - - Field info: value-type:list(str) - - - - - mimetypes - - - A list of mimetypes this component can handle. - - Field info: value-type:list(str) - - - - - firmware - - - A list of provided firmware. Each firmware entry is of type dict and has a - type key, which has either runtime or flashed as - value. - Firmware of type flashed has a guid key, containing the GUID of the device - the firmware is flashed on, while firmware of type runtime has a file key, - containing the firmware filename which the kernel is looking for. - - Field info: value-type:list(dict) - - - - - dbus - - - A list of provided DBus services. Each service entry in the list is of type dict and has a - type key, which has either system or user as - value. user means the DBus service name is for a user/session service, while system means - it describes a system service. - The service key contains the name of the DBus service file. All dict values are of type str. - - Field info: value-type:list(dict) - - - - - - Field info: value-type:dict - - - - - DeveloperName - - See . - Field info: value-type:localized - - - - - Launchable - - See . - - A dictionary containing the launchable-type as key, and a list of IDs used for launching the application as value. - - - Example: - - - Field info: value-type:dict(list) - - - - - Releases - - See . - - The Releases contains a list of releases sorted latest-to-oldest, where each list items contains the following fields/keys: - - - - - version - - - The version number of this release. - - Field info: value-type:str, required:yes - - - - - unix-timestamp - - - The UNIX timestamp of when this software was released. - - - One of the unix-timestamp or date fields must be present. - - Field info: value-type:int, required:maybe - - - - - date - - - The ISO 8601 complete date of when this software was released. - - - One of the unix-timestamp or date fields must be present. - - Field info: value-type:str, required:maybe - - - - - description - - - A description of this release. May contain allowed HTML markup. - - Field info: value-type:localized - - - - - issues - - - A list of dictionaries describing the issues resolved by this release. The dictionaries contain a - id key for the value of an issue as described in the XML specification, as well as a - type and url key for the tag properties of the same name described in the - XML AppStream specification. - - Field info: value-type:list(dict) - - - - - - It is recommended to order this list starting with the latest timestamp to the olderst one. - - - Example: - - This stable release fixes the following bug:

-
    -
  • CPU no longer overheats when you hold down spacebar
  • -
- - version: '1.2' - unix-timestamp: 1397253600 - - version: '1.0' - unix-timestamp: 1345932000]]>
- - Field info: value-type:list(dict) -
-
- - - Languages - - See . - - The languages list is a list of dictionaries. They must contain a percentage - key, indicating the completion of translation for this language, and a locale - key, with the locale string as value. - - - Example: - - - Field info: value-type:list(dict) - - - - - Bundles - - See . - - The Bundles contains a list of dictionaries with the keys type, having the ID for a specific bundling - system (e.g. flatpak or limba) as value, and id for the associated bundle-id. - See the XML tag description for information on all valid bundling systems. - - - Example: - - - Field info: value-type:list - - - - - Extends - - See . - - Contains a list of AppStream IDs of the other component extended by the described component. - This field may only be used with component-type addon. - - Field info: value-type:list(str) - - - - - Suggests - - See . - - A list of dictionaries containing suggested software components. The dictionaries must have a type key - with the string value upstream or heuristic depending on where the suggestion originates from. - The also must have a ids key containing a list of component-ids of the suggested software. - - - Example: - - - Field info: value-type:list(dict) - - - - - ContentRating - - See . - - A dictionary containing the rating system as key, and a dictionary of rating-values as value. - The value-dictionary itself has the content rating IDs as keys and the intensity values as values. - The intensity values as well as IDs and rating system names match the values from the XML exactly. - - - Example: - - - Field info: value-type:dict(dict) - - - - - Requires & Recommends - - See . - - A list of dictionaries containing the referenced items. The dictionaries in the list must have one key denoting the item type, which has the - respective item value as value. Refer to the XML description for a list of possible types. - - - Each dictionary may have a version field with contains a version comparison string. The first two characters denote the version - comparison operation, and are followed by the version number to be compared with. The comparison operation may be one of: - - - == - Equal to - != - Not equal to - << - Lesser than - >> - Greater than - <= - Lesser than or equal to - >= - Greater than or equal to - - - Example: - - = 4.15' -- id: org.example.TestDependency - version: == 1.2]]> - Field info: value-type:list(dict) - - - - - - Agreements - - See . - - A list containing the agreements as dictionaries, with a sections key containing a list of sections. - All dict values are the same as the respective XML tag values / properties. - - - Example: - - - -

If it breaks, you get to keep both pieces.

]]>
- Field info: value-type:list(dict) -
-
- -
- -
- - -
- Example YAML file - - This is an example AppStream DEP-11 metadata file: - - -TeXstudio is an integrated writing environment for creating LaTeX documents. It integrates editing, - building and viewing into a single frontend.

Our goal is to make writing LaTeX as easy and comfortable - as possible. This is achieved through a rich feature set including:

-Icon: - cached: texstudio_texstudio.png -Keywords: - C: - - editor - - latex - - pdflatex - - xelatex - - lualatex - - context - - bibtex -ProjectLicense: GPL-2.0 -Url: - homepage: https://texstudio.sourceforge.net/ -Categories: - - Office - - Publishing -Provides: - mimetypes: - - text/x-tex -Screenshots: - - default: true - source-image: - height: 756 - url: texstudio_2.8.4+debian-3_amd64/screenshots/source/screenshot-1.png - width: 1344 - thumbnails: - - height: 423 - url: texstudio_2.8.4+debian-3_amd64/screenshots/752x423/screenshot-1.png - width: 752 - - height: 351 - url: texstudio_2.8.4+debian-3_amd64/screenshots/624x351/screenshot-1.png - width: 624 - - height: 63 - url: texstudio_2.8.4+debian-3_amd64/screenshots/112x63/screenshot-1.png - width: 112]]>
- -
-
diff -Nru appstream-0.12.10/docs/sources/images/appstream-button1.svg appstream-0.14.5/docs/sources/images/appstream-button1.svg --- appstream-0.12.10/docs/sources/images/appstream-button1.svg 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/sources/images/appstream-button1.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,394 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru appstream-0.12.10/docs/sources/images/appstream-button2.svg appstream-0.14.5/docs/sources/images/appstream-button2.svg --- appstream-0.12.10/docs/sources/images/appstream-button2.svg 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/sources/images/appstream-button2.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,448 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/sources/images/appstream-logo.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/sources/images/appstream-logo.png differ diff -Nru appstream-0.12.10/docs/sources/images/appstream-logo.svg appstream-0.14.5/docs/sources/images/appstream-logo.svg --- appstream-0.12.10/docs/sources/images/appstream-logo.svg 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/sources/images/appstream-logo.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,287 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/sources/images/architecture.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/sources/images/architecture.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/sources/images/architecture-small.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/sources/images/architecture-small.png differ diff -Nru appstream-0.12.10/docs/sources/images/architecture.svg appstream-0.14.5/docs/sources/images/architecture.svg --- appstream-0.12.10/docs/sources/images/architecture.svg 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/sources/images/architecture.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,521 +0,0 @@ - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - Ratings- Comments - - - - - desktop-files - - app-icons.tar.gz - - - - components.xml - - - Composeserver - Mirror - package file - Client - - SoftwareCenter - FeedbackServer - - PackageKit - - extract metadata (metainfo files, desktop files, pkg-config, ...)- construct metadata (AppStream collection XML or YAML) - - cache / data pool - - - - - oauth - Rebuild onrepo-enable, etc - priority,stemming - Rebuild onrepo-compose - - - Packagemetadata - XML metadata - - diff -Nru appstream-0.12.10/docs/sources/images/old_libas_architecture.svg appstream-0.14.5/docs/sources/images/old_libas_architecture.svg --- appstream-0.12.10/docs/sources/images/old_libas_architecture.svg 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/sources/images/old_libas_architecture.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,609 +0,0 @@ - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - PackageKit Daemon - - - Cache - - - AppStream Plugin - - - - AppInstallDesktop-File - - AppStreamXML - - DEP-11YAML - Application data sources - - - - - - libappstream - - - - Client(software-center, ...) - - - - Client - - - - - - Icons - Screenshots - - Ratings - Reviews - - - - Icons - Screenshots - - Ratings - Reviews - - - - - - - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/sources/images/pure_architecture.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/sources/images/pure_architecture.png differ diff -Nru appstream-0.12.10/docs/sources/images/pure_architecture.svg appstream-0.14.5/docs/sources/images/pure_architecture.svg --- appstream-0.12.10/docs/sources/images/pure_architecture.svg 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/sources/images/pure_architecture.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,505 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - Ratings- Comments - - - - - desktop-files - - component-data.xml - - app-icon-images - - - - Composeserver - Repo onMirror - - Existingmetadata - package file - Client - FeedbackServer - - oauth - Rebuild onrepo-compose - - - ScreenshotServer - One server perdistro or 3rdparty repo - One or oneper distro - - - http - http - Aggregates multiple sources:repos, user-feedback servers andscreenshot servers - XML metadata - - Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/sources/images/scr-examples/gameconqueror-bad.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/sources/images/scr-examples/gameconqueror-bad.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/sources/images/scr-examples/geany-good.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/sources/images/scr-examples/geany-good.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/sources/images/scr-examples/wireshark-good.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/sources/images/scr-examples/wireshark-good.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/sources/images/scr-examples/xmedcon-bad.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/sources/images/scr-examples/xmedcon-bad.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/sources/images/scr-examples/xonotic-good.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/sources/images/scr-examples/xonotic-good.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/sources/images/scr-examples/xterm-bad.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/sources/images/scr-examples/xterm-bad.png differ diff -Nru appstream-0.12.10/docs/sources/Legal_Notice.xml appstream-0.14.5/docs/sources/Legal_Notice.xml --- appstream-0.12.10/docs/sources/Legal_Notice.xml 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/sources/Legal_Notice.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,10 +0,0 @@ - - - - - Copyright &YEAR; Matthias Klumpp. This material may only be distributed subject to the terms and conditions set - forth in the GNU Free Documentation License (GFDL), V1.2 with no invariant sections or later (the latest version is presently available at - http://www.gnu.org/licenses/fdl.txt). - - diff -Nru appstream-0.12.10/docs/sources/man/appstreamcli.1.xml appstream-0.14.5/docs/sources/man/appstreamcli.1.xml --- appstream-0.12.10/docs/sources/man/appstreamcli.1.xml 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/sources/man/appstreamcli.1.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,334 +0,0 @@ - - - 26 July,2012"> - - - GNU"> - GPL"> -]> - - - - appstreamcli - - 2012-2020 - Matthias Klumpp - - AppStream - &date; - - - - appstreamcli - 1 - - - &package; - Handle AppStream metadata formats and query AppStream data - - - - - &package; - - - - - - - - Description - - This manual page documents briefly the &package; command. - - - &package; is a small helper tool to work with AppStream metadata and - access the AppStream component index from the command-line. The AppStream component - index contains a list of all available software components for your distribution, matched to their - package names. - It is generated using AppStream XML or Debian DEP-11 data, which is provided by your distributor. - - - For more information about the AppStream project and the other components which are part of it, take a look at - the AppStream pages at Freedesktop.org. - - - - - Options - - - - - - - Display various information about the installed metadata and - the metadata cache. - - - - - - - - Get a component by it's identifier. - - - - - - - - Search the AppStream component database for a given search term. - - - - - - - - Return components which provide a given item. An item type can be specified using the - parameter, a value to search for has to be - supplied using the parameter. - - Examples: - - Get components which handle the "text/xml" mediatype. - - - &package; what-provides mediatype "text/xml" - - - Get component which provides the "libfoo.so.2" library. - - - &package; what-provides lib libfoo.so.2 - - - - - - - - - - Trigger a database refresh, if necessary. - In case you want to force the database to be rebuilt, supply the flag. - - This command must be executed with root permission. - - - - - - - - Dump the XML description of a component with the given ID. - - - - - - - - - Validate AppStream XML metadata for compliance with the specification. - - - Both XML metadata types, upstream and distro XML, are handled. - The filetype which should be validated is determined automatically. - - - The flag triggers a more pedantic - validation of the file, including minor and style issues in the report. - - - - - - - - - Validate AppStream XML metadata found in a file-tree. - - - This performs a standard validation of all found metadata, but also checks for additional - errors, like the presence of .desktop files and validity of other additional metadata. - - - - - - - - - Install a software component by its ID. - - - This resolves the AppStream component ID to the package name which provides it and - then calls the distribution's package manager to install the software. - - - This feature is experimental. - - - - - - - - - Install a metadata file into the right directory on the current machine. - - - - - - - - - Compare two version numbers. If two version numbers are given as parameters, the versions will be compared and the - comparison result will be printed to stdout. - - - If a version number, a comparison operator and another version number are passed in as parameter, the result of the comparison - operation will be printed to stdout, and &package; will exit with a non-zero exit status in case the comparison - failed. - The comparison operator can be one of the following: - - - eq - Equal to - ne - Not equal to - lt - Lesser than - gt - Greater than - le - Lesser than or equal to - ge - Greater than or equal to - - - - - - - - - Create a metainfo file template to be used by software projects. The option can be used - to use a .desktop file as template for generating the example file. - - - The generated files contain example entries which need to be filed in with the actual desired values by the project author. - - - The first TYPE parameter is the name of an AppStream component type. For a complete list check out - the documentation or the help output - of &package; for this subcommand. - - - - - - - - - Create a XDG desktop-entry file from a metainfo file. - If the desktop-entry file specified in DESKTOP_FILE already exists, it will get extended with - the new information extracted from the metainfo file. Otherwise a new file will be created. - - - This command will use the first binary mentioned in a provides tag of the component - for the Exec= field of the new desktop-entry file. - If this is not the desired behavior, the flag can be used - to explicitly define a binary to launch. Other methods of launching the application are currently not supported. - - - In order to generate a proper desktop-entry, this command assumes that not only the minimally required tags for an - AppStream component are set, but also that it has an <icon/> tag of type "stock" to describe - the stock icon that should be used as well as a <categories/> tag containing the categories the application should - be placed in. - - - - - - - - - This command converts a NEWS file as used by many open source projects into the XML used by AppStream. Since NEWS files are free text, - a lot of heuristics will be applied to get reasonable results. The converter can also read a YAML version of the AppStream release - description and convert it to XML as well. - If the metainfo file MI_FILE already exists, it will be augmented with the new release entries, otherwise the release entries - will be written without any wrapping component. - If [OUT_FILE] is specified, instead of acting on MI_FILE the changed data will - be written to the particular file. If any of the output filenames is set to "-", the output will instead be written to stdout. - - - The option can be used to enforce reading the input file in a specific format ("text" or "yaml") in case the format autodetection fails. - The option is used to limit the amount of release entries written (the newest entries will always be first). - - - - - - - - - This command reverses the command and writes a NEWS file as text or YAML using the XML - contained in a metainfo file. If NEWS_FILE is set to "-", the resulting data - will be written to stdout instead of to a file. - - - The option can be used to explicitly specify the output format ("yaml" or "text"). If it is not set, - &package; will guess which format is most suitable. - - - - - - - - Print out more information about a found component. - - - - - - - Don't print colored output. - - - - - - - Do not access the network when validating metadata. - - The same effect can be achieved by setting the AS_VALIDATE_NONET environment variable - before running &package;. - - - - - - - - Display the version number of &package; - - - - - - - - See Also - pkcon (1). - - -AUTHOR - - This manual page was written by Matthias Klumpp matthias@tenstral.net. - - - diff -Nru appstream-0.12.10/docs/sources/Manpages.xml appstream-0.14.5/docs/sources/Manpages.xml --- appstream-0.12.10/docs/sources/Manpages.xml 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/sources/Manpages.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ - - -%BOOK_ENTITIES; -]> - - - Manual pages - - - Manpages are available at the API documentation. - - - - - diff -Nru appstream-0.12.10/docs/sources/metainfo/addon.xml appstream-0.14.5/docs/sources/metainfo/addon.xml --- appstream-0.12.10/docs/sources/metainfo/addon.xml 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/sources/metainfo/addon.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,80 +0,0 @@ - - -%BOOK_ENTITIES; -]> - -
- Addons - -
- Introduction - - Some components are not standalone, but rather extend existing software installed on the system and can only be used - together with it. - The addon component type exists to reflect that. - - - Software which provides addons can ship one or more files in /usr/share/metainfo/%{id}.metainfo.xml. - -
- -
- Example file - - A addon meta-info file should look like this: - - - - - org.gnome.gedit_code_assistance - org.gnome.gedit - Code Assistance - Code assistance for C, C++ and Objective-C - http://projects.gnome.org/gedit - FSFAP - GPL-3.0+ -]]> -
- -
- File specification - - Note that the XML root must have the type property set to addon. - This clearly identifies this metainfo document as describing an addon to existing software. - - - - - <id/> - - - For addons, the component-ID must follow the generic naming conventions (see ). - - - - - - <extends/> - - - This tag is refers to the ID of the component this addon is extending. - - - For example, if there is a plugin "kipi" which extens the application "Gwenview", it needs to be referred to as: - - org.kde.Gwenview]]> - - The <extends/> tag may be specified multiple times. - - - - - - - For a component of type addon, the following tags are required and must be present: , , , - , . - - -
-
diff -Nru appstream-0.12.10/docs/sources/metainfo/codec.xml appstream-0.14.5/docs/sources/metainfo/codec.xml --- appstream-0.12.10/docs/sources/metainfo/codec.xml 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/sources/metainfo/codec.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,117 +0,0 @@ - - -%BOOK_ENTITIES; -]> - -
- Codecs - -
- Introduction - - Software centers might want to special-case codec handling. Therefore, we provide a component type for them. - - - Codecs can ship one or more files in /usr/share/metainfo/%{id}.metainfo.xml. - - - Codec metadata files can – just like all other metainfo files – be translated. See the section about translation for more information. - -
- -
- Example file - - A codec meta-info file should look like this: - - - - - org.freedesktop.gstreamer.codecs-good - CC0 - GStreamer Multimedia Codecs - Extra - -

- This addon includes several additional codecs that are missing - something - perhaps a good code review, some documentation, a set of - tests, a real live maintainer, or some actual wide use. - However, they might be good enough to play your media files. -

-

- These codecs can be used to encode and decode media files where the - format is not patent encumbered. -

-

- A codec decodes audio and video for for playback or editing and is also - used for transmission or storage. - Different codecs are used in video-conferencing, streaming media and - video editing applications. -

-
- - encoder-audio/mpeg - mpegversion=(int){ 4, 2 } - stream-format=(string){ adts, raw } - encoder-video/mpeg - systemstream=(boolean)false - mpegversion=(int){ 1, 2, 4 } - encoder-video/mpeg - systemstream=(boolean)true - encoder-video/x-xvid - element-faac - element-mpeg2enc - element-mplex - element-xviddec - element-xvidenc - -
]]>
-
- -
- File specification - - Note that the XML root must have the type property set to codec. - This clearly identifies this metainfo document as describing a codec. - - - - - <id/> - - - For codecs, the %{id} must follow the component-id naming conventions (see ). - - - - - - <metadata_license/> - - - The <metadata_license/> tag is required. See for a description of this tag. - - - - - - <provides/> ↪ <codec/> - - - This tag is described for generic components at in detail. - - - You must add one or more children of type <codec/> to make it known to the system that your - software is able to provide the mentioned codecs. - Adding this data is required for all components of type=codec. - - - - - - - For a component of type codec, the following tags are required and must be present: , , - , , . - -
-
diff -Nru appstream-0.12.10/docs/sources/metainfo/component.xml appstream-0.14.5/docs/sources/metainfo/component.xml --- appstream-0.12.10/docs/sources/metainfo/component.xml 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/sources/metainfo/component.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,1273 +0,0 @@ - - -%BOOK_ENTITIES; -]> - -
- Generic Component - -
- Introduction - - For a distribution, it is good to know more about the content of a package. Which public interfaces (libraries? Python modules?) does it provide? Does it contain codecs? Does it - contain firmware? Fonts? An application? - All of this information can be used to automatically install missing software or to offer users a choice on what they want to install from a software center. - - - To provide this information, we created the metainfo files, which allow upstream projects to describe the content of their software package. - If a metainfo file contains a <provides/> tag, distributors must also ensure that the package providing the file contains all items referenced - by that statement, or is installed by a metapackage depending on packages which provide these items. This gives upstream projects a (very light) way to influence distributor packaging. - More information about that can be found below. - - - Several specialized component-metainfo files exist, for example for applications or fonts. These are all based on this generic component XML specification, and are described in the - following chapters. - -
- -
- Filesystem locations - - - Upstream projects can ship one or more metainfo files in /usr/share/metainfo/%{id}.metainfo.xml, where id is a unique - identifier of this specific component. - - - - Component metadata of type desktop-application as described in can be installed - with an .appdata.xml extension as well for historical reasons. - AppStream implementations will read the XML files as long as they end up in the right location on the filesystem. - - - - Legacy Path - - AppStream tools scan the /usr/share/appdata/ path for legacy compatibility as well. It should not be used - anymore by new software though, even on older Linux distributions (like RHEL 7 and Ubuntu 16.04 LTS) the metainfo path is well - supported. - Support for the legacy path will likely be dropped completely with a future AppStream 1.0 release. - - - -
- -
- XML Specification - - - The XML for a generic component definition starts with a <component> tag as the root element. - The <component> element must at least have an id, name and summary tag; and - a provides tag with appropriate children is highly recommended. - All possible tags in the generic set are: - - - - - <id/> - - - The ]]> tag is a unique identifier for this component. It must contain only ASCII characters, dots, hyphens and numbers. Spaces are - not allowed. While hyphens are allowed for legacy compatibility, their usage is strongly discouraged to ensure interoperability of the AppStream ID with other tools such - as D-Bus (and thereby making the ID more generic and useful). It is also strongly discouraged to start any segment of the ID with a digit. - - - The ID must follow a reverse-DNS scheme, consisting of {tld}.{vendor}.{product}, for example org.kde.Gwenview - or com.hugski.ColorHug2. Ownership of {vendor}.{tld} in the domain name system guarantees uniqueness of IDs. - - - To increase the uniqueness and to distinguish between different pieces of a software suite, it is suggested to append the type name to the component-id in these cases. - For example, one can use com.hugski.ColorHug2 for the client tools to control hardware, and com.hugski.ColorHug2.firmware for the runtime firmware files. - - - Note that the value of this tag must be unique across all distributions and software deployment platforms. - In case it is not unique, distributors are expected to reject the conflicting components from inclusion into their metadata and notify the upstream projects about this issue. - - - - Escaping characters in the component ID - - To ensures the greatest possible compatibility of an AppStream ID, it is recommended to replace any hyphens in the ID with underscores, and prefix every leading digit of - a section with an underscore as well. Since the underscore is not a valid character in domain names, the uniqueness of the ID is kept. - For example, the ID org.7-zip.7Zip could become org._7_zip._7Zip. - - - - - - - - <metadata_license/> - - - The <metadata_license/> tag indicates the content license that you are releasing the one - metainfo XML file under. This is typically not the same as the project license. Omitting the license value can result - in your data not being incorporated into the distribution metadata (so this is a required tag). - - - A permissive license ensures your data can - be combined with arbitrary other data in one file (this means copyleft licenses like the GPL are not suitable as metadata license). - Currently, only a restricted set of permissive licenses is supported by AppStream implementations. - Valid permissive licenses include: - - - - FSFAP - - - CC0-1.0 - - - CC-BY-3.0 - - - CC-BY-SA-3.0 - - - GFDL-1.3 - - - MIT - - - - The license codes correspond to the identifiers found at the SPDX OpenSource License Registry. - For instance, CC-BY-SA-3.0 corresponds to the license at - creativecommons.org/licenses/by-sa/3.0. - - - - - - <name/> - - - A human-readable name for this software component. For example, if the component ID was "libc", its name might be "GNU Standard C Library". - - - - - - <summary/> - - - A short summary of what this component does. If the component is "PackageKit", the summary could be "Provides a package-management abstraction layer". - - - - - - <icon/> - - - The <icon/> tag describes the component icon. It is mostly used for GUI applications (component-type desktop-application). - It can be of type stock, local or remote. - - - stock icons are loaded from the icon stock (the current or hicolor/locolor fallback themes). - The icon name must not include any file-extension or path. - - - local icons are loaded from a file in the filesystem. - They should specify a full file path. - This icon type may have width and height - properties. - - - remote icons loaded from a remote URL. Currently, only HTTP/HTTPS urls are supported. - This icon type should have width and height properties. - - - - - - <description/> - - - A long description of this component. Some markup can be used. - - - Do not assume the format is HTML. This list contains all currently supported formatting options: - - - - Paragraph (p) - - - Ordered list (ol), with list items (li) - - - Unordered list (ul), with list items (li) - - - - Within paragraphs and list items, emphasis (em) and inline code (code) text styles are supported. - The emphasis is commonly rendered in italic, while inline code is shown in a monospaced font. - - - - Nested lists are not supported - - - - In metainfo files, this tag should be translated by-paragraph, meaning that in a translated file, each translated <p/> child - has a language property. - - - - - - <categories/> - - - This tag can contain one or more <category>> entries, describing the categories this software component - is associated with. - This tag is usually applied to components of type desktop-application, but can be used with any component. - A list of valid category names can be found in the - Freedesktop menu specification. - Example: - - - Game - ArcadeGame -]]> - - - - - <url/> - - - Defines web URLs for this component.There are several different URL types allowed: - - - - - homepage - - - Should be a link to the upstream homepage for the component. - - - - - - bugtracker - - - Should point to the software's bug tracking system, for users to report new bugs. - - - - - - faq - - - Should link a FAQ page for this software, to answer some of the most-asked questions in - detail, something which you cannot do in the component's description. - - - - - - help - - - Should provide a web link to an online user's reference, a software manual or help page. - - - - - - donation - - - URLs of this type should point to a webpage showing information on how to donate to - the described software project. - - - - - - translate - - - URLs of this type should point to a webpage where users can submit or - modify translations of the upstream project. - - - Typically this should be a link to the project page in Weblate, Transifex or Zanata, but could also be a - link to an upstream-hosted wiki page describing how to send translations upstream. - - - - - - contact - - - URLs of this type should allow the user to contact the developer. - - - This could be an email address (mailto link), a webpage (e.g. an online - form or a page describing how to contact the developer) or some other valid URL. - - - - - - - - - <launchable/> - - - This optional tag indicates possible methods to launch the software described in this component. - It is allowed to appear multiple times in the metainfo data. - - - - The <launchable/> tag has a essential type property indicating the system that is used to launch the component. The following types are allowed: - - - - desktop-id - - - The application can be launched via a desktop file. The value of the tag is a - desktop-file id. - - - In case a software component has multiple launchable entries, - the software center might display a dialog to choose which entry to launch. - If possible though, it should be avoided to add multiple launchable tags of type desktop-id. - - - - - service - - - The software can be started, stopped, and monitored by the OS "init" - facility, such as systemd. The value of the tag is a name that can be - used with that facility, such as a systemd unit name. - - - Multiple launchable tags of type service are not - alternatives to start the same service, but the - component does contain multiple services that might all need to be - started. - - - Only those services should be listed as launchables that the user is - actually expected to start and stop manually. Services that are - started/stopped indirectly via dependencies of other services should - not be listed. - - - For systemd units, the services listed as launchables are expected to - support enabling and disabling. - - - - - cockpit-manifest - - - The software can be launched from the menus of - the Cockpit admin interface. - The value of the tag is the name of a Cockpit - package. - - - - - url - - - The application is a web site that is viewed through a browser. - The value of the tag is a direct HTTP/HTTPS URL that the browser must navigate to. - - - - - - Example: - - org.gnome.Sysprof2.desktop]]> - - - - - <releases/> - - - The ]]> tag contains <release/> child tags which - describe some metainformation about the current release of the described software. - Each release of the software component should have a <release/> tag describing it, - but at least one release child must be present for the current release of the software. - The release children should be sorted in a latest-to-oldest order to simplify reading - the metadata file. - - - A release tag can have the properties version, date and timestamp. - The date property can have any time in ISO 8601 format as its value and - should be present for every release. At least day-level granularity is required, which means that the ISO 8601 string must contain at least a full date (e.g. 2020-08-12). - The timestamp tag contains the release time in the form of a UNIX epoch. This tag should not be used in metainfo files in newly - written metadata, but will still be parsed in case it is present. The timestamp property is mainly used in generated distro-metadata. - In case both release-time tags are present, the timestamp tag will take precedence over date. - - - A release tag may also have a date_eol property that denotes the date when the release stops to receive - support from the software developers (end-of-life). Its value can be any complete date or time in ISO 8601. - - - Optionally, the <release/> tag may also have an urgency property, having one of the following values: - - - low - medium - high - critical - - - The urgency defines how important it is to install the new release as an update. This is especially important for type=firmware - components. - If no urgency is defined, a medium urgency is implicitly assumed. - The urgency defines how the update will be presented to the user, and sometimes if it will be installed automatically and immediately, or delayed. - - - A release tag may have a type property - to classify releases with one of the following values: - - - stable - development - - - By default, if no release type is defined, stable is assumed. - A software displaying a listing of releases should only show stable releases and - discard any development release if the current version is itself stable. It can - show all versions when development versions of the software are also distributed. - - - - Each release tag may have a description tag as child, containing a brief description of what is new in the release. - The description tag is structured as described in . - - - - A release may also have an url tag as child. - The release url should point to detailed release notes that explain the changes made in this particular release. - The url tag may have a type property with details as the only currently - allowed value. If the type is missing, an URL type of details is implicitly assumed. - - - - In order to mention issues that were resolved in a release, and especially reference CVE IDs, - issue tags can be used as children of one issues tag within a release. - The value of an issue tag must be the bug number, ticket name, or CVE ID and is typically displayed to the user, but may also in case of CVE IDs be read by - machines. If the value is a CVE ID, the type property of the issue tag must be set to cve. - If the type property is missing, an issue type of generic is assumed. The url property can be used to provide - a web URL to a details page on the respective issue. It is required for all issue types, except for the cve type, where it is optional. - - - - To denote release artifacts, the artifacts child tag can be used. It itself contains the artifacts as artifact children. - Each artifact tag must have a type property with the value of either binary or source to indicate whether the - artifact is the releases' source-code or a binary distribution. In case of a binary type, an optional platform property may - also be set, containing a target triplet (also known as normalized GNU triplet), such as x86_64-linux-gnu. Refer to - Debian multiarch tuples for a list of possible triplets to use and more information - on their purpose. For the Windows platform, a platform identifier string such as win32 is also permitted as platform identifier. - Binary artifacts may also have a bundle property to indicate the bundling system the binary distribution is made for. Refer to - the bundle types in for a list of possible values. - Each artifact can have a number of children: - - - - - location - - - Each artifact must have a location child, denoting the web location (HTTP or HTTPS) where it can be downloaded from. - Multiple location tags are allowed to make it possible to have mirror options to download the same artifact from. - - - - - - checksum - - - At least one checksum child must be present to contain the checksum of the released artifact. - The <checksum/> tag has a type attribute, describing the checksumming-algorithm that was used to create it. Currently, only SHA1 - and SHA256 are supported as values. - - - - - - size - - - One or multiple size tags may also be present, which define the installed and download size - of this component release artifact. - The size type is defined via a type property on the size tag, and may assume the value download or installed. - The size itself is set as the value and must be given in bytes. - - - - - - - - Examples for a valid releases tag with artifacts: - - - - -

This stable release fixes bugs.

-
- - https://example.org/releases/version-1.2.html - - - bz#12345 - CVE-2019-123456 - - - - - https://example.com/mytarball.bin.tar.xz - .... - .... - 12345678 - 42424242 - - - https://example.com/mytarball.bin.exe - - - https://example.com/mytarball.tar.xz - .... - - -
- - -]]>
-
-
- - - <provides/> - - - The provides tag and its children describe the public interfaces this application provides. - A public interface can be anything which other applications, which are not part of the upstream project, can access or reference. - This includes binaries and libraries. Private interfaces should never be added to a provides tag. - - - A provides tag contain a number of children describing the type and name of the provided public interface items. - It is suggested that the build system auto-generates this tag and its children. - Currently allowed item types are listed below. If you miss something, - file a bug against AppStream so we can add the new type. - - - - - <library/> - - - Contains the name of a shared library placed in a publicly accessible library path, such as /usr/lib, /usr/lib/<triplet> - or /lib. - For example, for the libappstream library, the value for library would be libappstream.so.1. - - - - - - <binary/> - - - Name of a binary installed into a location in PATH. - - - - - - <font/> - - - Full name of a font provided by this component. See for more information. - - - - - - <modalias/> - - - A modalias glob representing the hardware types (for example USB, PCI, ACPI, DMI) this component handles. - Useful for installing printer drivers or other USB protocol drivers for smartphones, firmware, and - out of tree kernel drivers. - - - - - - <firmware/> - - - This provided element is described in details for the firmware component type, where it is mandatory. - Please see for more information. - - - - - - <python2/> - - - Name of a Python 2 module this component provides. - - - - - - <python3/> - - - Name of a Python 3 module this component provides. - - - - - - <dbus/> - - - Contains the well-known name of a D-Bus service as its value. The type of the service must be specified using the type property - of this tag. Allowed values are user and system. - - - Example: - - - org.freedesktop.PackageKit -]]> - - - - - <id/> - - - Contains the component-ID of another software component. The presence of this tag indicates that the software component containing it is able to - provide all functionality of the one referenced in the <provides/> ↪ <id/> tag. - - - This is useful in case a component-id had to be renamed in the past, e.g. because its domain-name changed. - - - - - - - - - - - <requires/> & <recommends/> - - - The requires tag denotes an absolute requirement on a different system component. - A component can require a certain hardware to be present, or kernel, or other component to be installed first. If a requirement - is not met, AppStream clients should prevent the installation of the particular software component. - - - If it is not essential that a certain requirement is met by the system, but just recommended to be available, a - recommends tag should be used. In this case, AppStream clients should allow the installation of the software - component, but may display a warning before allowing it. - - - A requires or recommends tag contains children describing the type, value and version relation - of the required item. - Each child can have a version and a compare property, to allow depending on a certain minimal - version of the respective item. - The version property contains the version to be compared against, while the compare property contains - a two-letter code denoting how to compare the version of a present item with the version listed in the property. - If no compare property is given, but a version property is found, AppStream implementations should - implicitly assume a value of ge for comparison of the versions. The installed version is on the left side of the required version - when comparing them. - Possible two-letter codes for version comparisons are: - - - eq - Equal to - ne - Not equal to - lt - Lesser than - gt - Greater than - le - Lesser than or equal to - ge - Greater than or equal to - - - Possible item types to declare a requirement on or a recommendation for are: - - - - - <id/> - - - A relation to another software component. The value should be another component-ID. Example: - - - org.example.MySoftware -]]> - - - - - <modalias/> - - - Check for a specific hardware to be present via its modalias. The modalias may contain a wildcard expression. - Example: - - - usb:v1130p0202d* -]]> - - - - - <kernel/> - - - Check for a specific kernel to be running on the system. The kernel name is the output of uname -s. - Example: - - - Linux -]]> - - - - - <memory/> - - - Set a relation to the amount of physical memory (RAM) the system should have to run the software component. - The memory size is set in MiB. You usually only want to use this with the recommends tag, - because users might want to install the software on systems even if they have a lesser amount of memory - compared to what would be ideal. - Example: - - - 2048 -]]> - - - - - <firmware/> - - - Depend on a specific device firmware. The value of this tag should either be a name like bootloader, be - empty to reference the firmware itself described by the firmware-type component this tag is contained in, - or contain a GUID. - This tag is commonly used and interpreted by Fwupd. - Example: - - - 6de5d951-d755-576b-bd09-c5cf66b27234 - - bootloader -]]> - - - - - - - - - - - <mimetypes/> - - - This tag can contain one or more <mimetype/> children, describing the MIME types this application supports. - This tag is especially useful for generic components and addon-type components. For applications, the metadata will automatically - be fetched from their .desktop files by the distribution's metadata generator. - Example: - - - - text/html - image/jpeg - application/rss+xml - ]]> - - - - - <project_group/> - - - If you include the <project_group/> tag then this identifies your project with a specific upstream umbrella project. - Known values include GNOME, KDE, XFCE, MATE and LXDE, although other umbrella projects like Yorba or Mozilla make sense too. - - - - You should only identify with an umbrella project if you use all their infrastructure and policies, for instance string freezes dates, bugtracker and source control instance. - - - - - - - <compulsory_for_desktop/> - - - The ]]> tag indicates that the component which the metadata belongs to is essential for the - functionality of the defined desktop environment. Examples for compulsory components are the GNOME Shell by the GNOME Project, - or the Plasma Desktop by KDE, as well as things like iBus or the desktop login manager. - - - Software centers are expected to detect the running desktop environment and disable uninstallation for compulsory components of that desktop, - so users will not be able to damage their currently running, primary desktop environment. - - - Multiple occurrences of the ]]> tag are allowed, so a project can be essential for many desktops. - The distributor decides which components should be made compulsory, however it is generally a good idea to follow upstream's recommendations on that matter. - - - A list of all allowed values for this tag is defined in the XDG Menu Specification. - Software center applications will only recognize these values. - - - - - - <project_license/> - - - The <project_license/> tag is indicating the license of the component (application/library/addon/font/etc.) described in the metadata document. - It should be a SPDX license expression. - Possible values include: - - GPL-2.0 - LGPL-3.0+ AND GPL-3.0+ - MIT - CC-BY-SA-2.0 - LicenseRef-Proprietary=https://example.com/mylicense.html - - A full list of recognized licenses and their identifiers can be found at the - SPDX OpenSource License Registry. - - - Custom licenses which are not in the SPDX registry, like proprietary licenses, can be denoted using the LicenseRef notation. - LicenseRef-Proprietary can be used to denote a proprietary license, with an optional URL to the license text following after - a = sign. - - - Although the project_license tag is not mandatory, it is highly recommended to include it. - - - Examples: - - LGPL-3.0+ OR MPL-2.0 -LGPL-3.0+ OR MPL-2.0 -GPL-3.0-or-later -LicenseRef-proprietary=https://code.visualstudio.com/license]]> - - - - - <developer_name/> - - - The <developer_name/> tag is designed to represent the developers or project responsible for development of the project described in the metadata. - - - Values might be for example "The GNOME Foundation" or "The KDE Community". - You must not include hyperlinks or emails in this field, if you want to link to the developer's homepage, use the -tag instead. - - - This tag is translatable. - - - - - - <screenshots/> - - - Visual components (like fonts or graphical applications) may choose to add one or multiple screenshots to their metadata. - Screenshots can be either a video or a static image. - - - The <screenshots/> tag contains multiple <screenshot/> children, where at least one of them must have the property - type="default" to indicate the primary screenshot of the software. Every <screenshot/> tag must have at least - one <image/> or <video/> child, but never an image and video at the same time. - Also, screenshots containing videos must not be the default screenshot. - - - The value of the <image/> tag is a direct HTTP/HTTPS URL to a screenshot uploaded to a public location on the web. - Images should ideally be provided in the PNG format, however using JPEG or WebP is also fine for images in metainfo files. - - - The <image/> tag may have the following properties: - - - type - - The type of the image: source for the source image, and thumbnail for a thumbnail image. - In case the type is thumbnail, the width and height properties must be present. - - - - width - - The width of the image in pixels. - - - - height - - The height of the image in pixels. - - - - xml:lang - - The language this screenshot image is translated in. This property should only be present if there are multiple images with - different locales present. - - - - - - The value of the <video/> tag is a direct HTTP/HTTPS URL to a video uploaded to a public location on the web. The video must be in a - Matroska (.mkv) or WebM container and use either the - VP9 or AV1 codec. - The video should ideally work without any audio, but if audio is needed, the Opus codec should be used. - Software centers may still play the video without any sound though. Additionally, AppStream metadata repositories (like in distributions such as Fedora and Debian) - may impose size limitations to video files delivered by their CDN, so it is recommended to keep the video file size below 10MiB. - There is also a chance that software centers do not display any video at all, so a video must never be in a default screenshot. - - - The <video/> tag may have the following properties: - - - container - - The video container that is used, can be webm or matroska. - - - - codec - - The video codec used, can be av1 or vp9. - - - - width - - The width of the video in pixels. - - - - height - - The height of the video in pixels. - - - - xml:lang - - The language this video is translated in. This property should only be present if there are multiple videos with - different locales present. - - - - - - Optionally, a <screenshot/> tag may have a translatable <caption/> child, defining a short (ideally not more than 256 characters) - description of what the user can see on the referenced screenshot. - - - Ideally, all image screenshots as well as videos should have a 16:9 aspect ratio, and should have a width that is no smaller than 620 pixels. - - - Example: - - - - The FooBar main window. - https://example.com/foobar/screenshot-1.png - - - Foobar showing the frobnicate functionality. - https://example.com/foobar/screenshot-2.png - - - - - ]]> - - - - - - <translation/> - - - The <translation/> tag is an optional tag which can be added to specify the translation domain used for this software component. - It may be used by the AppStream distro metadata generator to determine the translation status of the respective software (e.g. which languages the software is translated into and how complete the translations are). - - - The tag must have a type property, assuming the value of the translation system which is used. Right now, allowed translation systems and - values for type are: - - gettext - qt - - In case a software components gets its translation from multiple translation domains, the <translation/> tag may be defined more - than once. - - - Example: - - foobar]]> - - - - - <suggests/> - - - The <suggests/> tag is an optional tag which can be added to specify the component-ids of other software this components suggests. - Software centers might present the suggested software on the installation page of the described component. - - - The tag may have a type property, with the value upstream, indicating that this suggestion originates from the upstream project. - If no type property is given, upstream is implicitly assumed as value. Metainfo files must not define other suggests - types, those are reserved for AppStream catalog XML (see in catalog XML). - - - The suggests tag must have one or more <id/> tags as children, specifying the IDs of the suggested other software components. - - - Example: - - - org.kde.gwenview.desktop - org.inkscape.Inkscape -]]> - - - - - <content_rating/> - - - The <content_rating/> tag is an optional tag which can be added to specify age ratings for the respective software components. - These maybe be used for parental control or to display their information in software centers. - - - The tag must have a type property, indicating the type of the rating system that is used. At the moment, the - Open Age Ratings Service (value oars-1.0) is supported natively, but more services might be - added in future. - - - The <content_rating/> tag may have <content_attribute/> children which each must have an id property indicating - the specific section that is rated. Their value indicates the intensity of the rated section and can be one of: - - - none - no rating given - mild - moderate - intense - - - In case the <content_rating/> tag is empty (no <content_attribute/> is present), it is assumed that the component was checked - for age ratings and no age restrictions apply. - - - The website of the Open Age Ratings Service provides an online form which will automatically generate AppStream - compatible metadata based on a set of questions answered about the content. - - - Example: - - - moderate - mild -]]> - - - - - <agreement/> - - - The <agreement/> tag is an optional tag which can be added to specify agreements the user has to accept or acknowledge before using the software. - This tag can appear multiple times, if multiple agreements are required for a software component. - - - The tag should have a type property, indicating the type of the agreement. If the type property is missing, - an agreement of type generic is assumed. - Currently recognized agreement types are: - - - eula - an end-user license agreement the user has to accept before installing the software. - privacy - a privacy statement for the software, usually a GDPR compliant statement - - - The <agreement/> tag must have a version_id property, containing a version identifier for the license. It may be used by client applications to - determine whether an agreement needs to be shown again after it has been accepted already by the user. - - - Every <agreement/> must have <agreement_section/> children which each have an id property indicating - the specific section that they describe (e.g. introduction). These values may be used to automatically jump to a specific section. - Each <agreement_section/> has a translatable name child denoting the name or title of the respective section, and a description - child that is translated according to the same translation rules that apply to the tag. - The description contains the content of the respective agreement section. - - - Example: - - - - Introduction - -

- We hold personal data about vendors, administrators, clients and other - individuals for a variety of purposes. - [...] -

-
-
- - - Scope - -

- This policy applies to all users who have access to any of the personally - identifiable data. -

-
-
- - [...] -]]>
-
-
- - - <update_contact/> - - - The <update_contact/> tag is an optional tag which can be added to provide an email address distributors can use to contact the project - about invalid or incomplete metadata or – in case the specification has changed – about old metadata. It can also be used to ask general questions in case of - an update of the component described in the metadata file. - - - The <update_contact/> tag must only be used by distributors. It is not included in the distribution-provided - AppStream XML file, and therefore not exposed to the end user via any kind of UI. - - - Upstream authors might decide to add an email address in cleartext, but spam protection using _AT_ is also valid. - The value of this tag is generally treated a case-insensitive way. - - - Example: - - developer_AT_example.com]]> - - - - - <name_variant_suffix/> - - - Variant suffix that software centers may append to the component name on lists in case multiple components have the same name. - This is currently primarily used for firmware, where components only need to be distinguished if multiple variants are displayed. - A name variant suffix could e.g. be 'Prerelease' or 'China'. - - - - - - <custom/> - - - The <custom/> tag is an optional tag which can be used as a key-value store for custom values that are not covered by the AppStream specification. - The tag is usually stripped out or filtered by collection metadata generators, such as appstream-generator. - When present, the data contained in a custom can be read by all tools making use of AppStream metadata, making it an ideal extension point when using - an existing AppStream library is desired and some custom additions to the metadata are still required. - The custom tag is also often used for prototyping new features in AppStream. - - - The tag must have value children which must have a key property. The value of the value - tag denotes a user-defined value, while the key string set for the key property denotes a user-specified key string. - The key must be unique, multiple keys with the same name are not allowed. - - - To avoid name conflicts, it is recommended to prefix keys with a vendor prefix, like GNOME:: or KDE::. - - - - Before using a custom tag, please consider if there is a better way to achieve your goal than adding the data to the AppStream metainfo file, - or whether AppStream maybe already contains a way to achieve what you want. - Additionally, if you think that the purpose you use the custom tag for is generally useful, please file a feature request against AppStream, - so we can discuss adding the new feature to the specification and make it more usable for a bigger audience. - - - - Example: - - - #FF0000 - 284fd262-6870-42a6-89a4-b189d3109e3e -]]> - - - -
- - - An example for a very basic component file could look like this: - - - - - com.example.foobar - Foo Bar - A foo-ish bar - http://www.example.org - CC0-1.0 - - - libfoobar.so.2 - foo.ttf - foobar - - - - - FooBar Team -]]> - - - - For a component of type generic, the minimal amount of required tags is: , , - , . - - -
-
diff -Nru appstream-0.12.10/docs/sources/metainfo/consoleapp.xml appstream-0.14.5/docs/sources/metainfo/consoleapp.xml --- appstream-0.12.10/docs/sources/metainfo/consoleapp.xml 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/sources/metainfo/consoleapp.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,98 +0,0 @@ - - -%BOOK_ENTITIES; -]> - -
- Console Applications - -
- Introduction - - A console application is any application that has a command-line or text-based interface and is designed to be used by a human user - on the command line. Applications need to be present in the standard PATH. - - - The file described in this document is built upon the generic component metadata with fields specific for applications (see ). - All tags valid for a generic component are valid for a console-application component as well. - - - In order to enhance the available metadata about their application, projects shipping a console application can ship one or more metainfo files - in /usr/share/metainfo/%{id}.metainfo.xml. - - -
- -
- File specification - - - The basic structure for a generic component as described at applies. - Note that the XML root must have the type property set to console-application, while in a generic component this - property can be omitted. This clearly identified this metainfo document as describing an application. - - - - The following list describes tags for console-application upstream metadata and provides some additional information about the values - the tags are expected to have. - If no information is given about a tag, refer to the respective tag in . - - - - - <id/> - - - For console applications, the <id/> tag value must follow the AppStream ID naming conventions (it should be a reverse-DNS name). - - - - - - <metadata_license/> - - - The <metadata_license/> tag as described in must be present. - - - - - - <name/> - - - A name must be present for console applications. See for a detailed description of this tag. - - - - - - <summary/> - - - A summary must be present for console applications. See for a detailed description of this tag. - - - - - - <provides/> ↪ <binary/> - - - This tag is described in detail for generic components at . - - - For console applications, at least one provided <binary/> must be listed in this tag. - - - - - - - For a component of type console-application, the following tags are required and must always be present: , - , , , . - - -
-
diff -Nru appstream-0.12.10/docs/sources/metainfo/desktopapp.xml appstream-0.14.5/docs/sources/metainfo/desktopapp.xml --- appstream-0.12.10/docs/sources/metainfo/desktopapp.xml 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/sources/metainfo/desktopapp.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,236 +0,0 @@ - - -%BOOK_ENTITIES; -]> - -
- Desktop Applications - -
- Introduction - - A desktop application is an application which has a graphical user interface and is commonly used with mouse and keyboard. It also ships a Freedesktop - .desktop file to be visible in application menus. - - - AppStream generators may pull data from the preexisting .desktop files to represent an application in the AppStream metadata pool. Upstream projects should - ship a metainfo file containing additional metadata to describe their application though, to enhance the available metadata. - This data includes things like screenshots, long descriptions, icon information and various other things needed - to present the application properly to the user. - For some distributions, the presence of this metadata is a prerequisite for the application showing up in the metadata pool and being presented in software centers. - - - The file described in this document is built upon the generic component metadata with fields specific for desktop applications (see ). - - - The metainfo files override any values which are automatically fetched from other sources by the AppStream data generator, which means that its data will always take precedence over - data which has already been defined in a .desktop file. - Applications can ship one or more files in /usr/share/metainfo/%{id}.metainfo.xml. - - - Data will only be fetched from a desktop file if one tag is present to define a .desktop file ID. If multiple launchable tags are - defined, no data will be merged in from .desktop files. - - - - If you are looking for some quickstart guide to just get your application to ship AppStream metadata quickly, this document might not be for you. - You might want to take a look at instead. - - - - - While desktop-application metadata is commonly stored in /usr/share/metainfo/%{id}.metainfo.xml (with a .metainfo.xml extension), - using a .appdata.xml extension is also permitted for this component type for legacy compatibility. - AppStream implementations will recognize either file type, as long as it ends up in the right location on the filesystem. - - - - - If you want to hide a desktop-entry file from AppStream metadata generators which synthesize components from desktop-entry data, you may - want to add X-AppStream-Ignore=True to the Desktop Entry section of the .desktop file. - Keep in mind that if your .desktop file already has a NoDisplay=True key or is not of Type=Application, it will - always be ignored, unless metainfo file exists that references it (in which case its data may be merged with the metainfo data). - - -
- -
- File specification - - - The basic structure for a generic component as described at applies. - Note that the XML root must have the type property set to desktop-application, while in a generic component this - property can be omitted. This clearly identifies this metainfo document as describing an application. - - - - - All tags defined in the generic component specification are valid for desktop-application components as well. - An application is just a specialized component, allowing tools like software centers to filter out the component types they want to display. - - - - - The desktop-application component type is the same as the desktop component type - desktop is the older - type identifier for desktop-applications and should not be used for new metainfo files, unless compatibility with very old AppStream tools (pre 2016) - is still wanted. - - - - - The following list describes the special tags for application upstream metadata and provides some additional information about the values - the tags are expected to have. - If no information is given about a tag, refer to the respective tag in . - - - - - <id/> - - - For desktop applications, the <id/> tag value must follow the reverse-DNS scheme as described in . - - - - In previous AppStream releases, the <id/> was used to associate metainfo files with their .desktop files to merge in - data from .desktop files into the AppStream generator's final output. In modern metainfo files, the component-ID for desktop-application - components can be an arbitrary reverse-DNS string (matching the naming rules applying to all AppStream metadata), while the tag is used - to associate .desktop files with their metainfo files. - - - Note that even though the component-ID can now be any rDNS name, when updating existing applications, do not change their - <id/> to drop the .desktop suffix. The rules are relaxed when picking a new component-ID for new - applications, but when updating older applications they still need to keep their original <id/> (when - it's otherwise compliant). The ID is used to uniquely identify applications across distributions and releases and should - always remain the same for the same application. - - - - - - - <metadata_license/> - - - The <metadata_license/> tag as described in must be present. - - - - - - <name/> - - - The human-readable name of the application. This is the name you want users to see prior to installing the application. - - - - - - <summary/> - - - A short summary on what this application does, roughly equivalent to the Comment field of the - accompanying .desktop file of the application. - - - - - - <launchable/> - - - It is recommended that a <launchable/> tag is present in desktop-application metainfo files. - The tag is described in detail at . - - - If only one launchable entry of type desktop-id is present, AppStream metadata generators might decide to - merge metadata from .desktop files referenced by the tag into their final output. - - - The launchable tag is optional, but if omitted software centers will not be able to launch the application directly after - it was installed. - - - - - - <screenshots/> - - - A screenshot presents your application to the outside world, and could be seen by hundreds or thousands of people. - - - The <screenshots/> tag should look like it is described at . - - - Screenshot size, shape and format recommendations for applications: - - - - - All screenshots should have a 16:9 aspect ratio, and should have a width that is no smaller than 620px (software center applications will be able to fill in the screenshots in the space they provide for that - more easily then). - - - Ideally the window will be resized to a 16:9 aspect ratio, but screenshots can also be cropped if only a small area of the window needs to be shown. - - - - - Screenshots should ideally be in the PNG format, but JPEG and WebP images are also fine. Keep in mind though that the images are converted into PNG - when collection metadata is generated for a software distribution. - - - - Do not scale screenshots below their original size. - - - - You can find a lot more information on how to create good screenshots in the quickstart guide on applications. - - - - - - <project_group/> - - - This tag is described for generic components at . You should use it for your application if appropriate. - - - - - - <provides/> - - - This tag is described in detail for generic components at . - - - If your application ships a binary in a location in the default PATH, you should add at least a child of type - <binary/> to make that new executable known to the distribution. - - - - - - <releases/> - - - The application metainfo should at least provide one <releases/> tag, - which has one or more <release/> children to define the version and release date of this - application. For details, see . - - - - - - - For a component of type desktop-application, the following tags are required and must always be present: , - , , , . - - -
-
diff -Nru appstream-0.12.10/docs/sources/metainfo/driver.xml appstream-0.14.5/docs/sources/metainfo/driver.xml --- appstream-0.12.10/docs/sources/metainfo/driver.xml 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/sources/metainfo/driver.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,103 +0,0 @@ - - -%BOOK_ENTITIES; -]> - -
- Driver - -
- Introduction - - The driver component type describes drivers for hardware devices as well as other Linux kernel - drivers for e.g. virtualization support. - It usually provides one or multiple modaliases. - - - Drivers can ship one or more files in /usr/share/metainfo/%{id}.metainfo.xml. - -
- -
- Example file - - A driver metainfo file can look like this: - - - - - com.nvidia.GeForce - NVIDIA GeForce - NVIDIA Graphics Driver - -

- The NVIDIA Accelerated Linux Graphics Driver brings accelerated 2D - functionality and high-performance OpenGL support to Linux x86 with the - use of NVIDIA graphics processing units. -

- ... -
- http://www.nvidia.com/Download/index.aspx - CC0-1.0 - LicenseRef-proprietary:NVIDIA - NVIDIA Corporation - - - pci:v000010DEd*sv*sd*bc03sc00i00* - ... - -
]]>
- -
- -
- File specification - - Note that the XML root must have the type property set to driver. - This clearly identifies this metainfo document as describing a driver. - - - - - <id/> - - - For drivers, the value of the <id/> tag must follow the reverse-DNS scheme as described for generic components. - It is sometimes useful to suffix the ID with .driver to make it more unique. - - - - - - <provides/> ↪ <modalias/> - - - The provides/modalias tags contain all the modaliases the described driver supports and allow - to automatically offer installation of the described driver on systems where hardware matching the modalias has been - detected. - - - Using wildcards for modaliases is permitted. - - - Example: - - - pci:v000010DEd00001194sv*sd*bc03sc*i* - pci:v000010DEd00001199sv*sd*bc03sc*i* -]]> - - - - - - - - For a component of type driver, the following tags are required and must be present for a valid document: - , , , - , . - - -
-
diff -Nru appstream-0.12.10/docs/sources/metainfo/firmware.xml appstream-0.14.5/docs/sources/metainfo/firmware.xml --- appstream-0.12.10/docs/sources/metainfo/firmware.xml 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/sources/metainfo/firmware.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,163 +0,0 @@ - - -%BOOK_ENTITIES; -]> - -
- Firmware - -
- Introduction - - Device firmware can be accompanied by AppStream upstream metadata, to be incorporated - by a distribution. Tools like fwupd make - use of this metadata to automatically update flashed firmware of devices found in the machine. - Additionally, this component type can also be used for firmware which is loaded onto the device at runtime. - - - Firmware can ship one or more files in /usr/share/metainfo/%{id}.metainfo.xml. - -
- -
- Example file - - A firmware meta-info file should look like this: - - - - - com.hughski.ColorHug2.firmware - ColorHugALS Firmware - Firmware for the ColorHugALS Ambient Light Sensor - -

- Updating the firmware on your ColorHugALS device improves performance and - adds new features. -

-
- http://www.hughski.com/ - CC0-1.0 - GPL-2.0+ - Hughski Limited - - 84f40464-9272-4ef7-9399-cd95f12da696 - - - - - - http://www.hughski.com/downloads/colorhug-als/firmware/colorhug-als-3.0.2.cab - - - -

This stable release fixes the following bugs:

-
    -
  • Fix the return code from GetHardwareVersion
  • -
  • Scale the output of TakeReadingRaw by the datasheet values
  • -
-
-
-
-
]]>
- - - You can find additional information on how to create a complete firmware package for flashed firmware upstream in - the README document of fwupd. - - -
- -
- File specification - - Note that the XML root must have the type property set to firmware. - This clearly identifies this metainfo document as describing firmware. - - - - - <id/> - - - For firmware, the value of the <id/> tag must follow the reverse-DNS scheme as described for generic components. - It is sometimes useful to suffix the ID with .firmware to make it more unique. - For example com.hughski.ColorHug2.firmware. - - - - - - <releases/> - - - This tag is identical to the generic tag. - Additional to the generic tag, for each <release/> child at least one <artifact/> tag is required in case the component describes - flashed firmware. - - - The <location/> tag of the binary artifact specifies a remote location where the firmware .cab can be downloaded from. - The download location needs to be accessible via HTTP, HTTPS or FTP. - - - Example: - - - - - - http://www.hughski.com/downloads/colorhug-als/firmware/colorhug-als-3.0.2.cab - - - -

This stable release fixes bugs.

-
-
-]]>
-
-
- - - <provides/> ↪ <firmware/> - - - The provides/firmware tag describes the technical information needed to associate a firmware with a device, or describes - which runtime firmware file it makes available to the kernel. - - - For runtime-loadable firmware, the type property of the firmware tag needs to be set to runtime, - and its value needs to define the filename of a firmware below /lib/firmware to the firmware file in question, - like the firmware value exported from Linux kernel modules. - - - Example: - - - ipw2200-bss.fw -]]> - - - For flashed firmware, the type property of the tag needs to be set to flashed. - Its value needs to define the GUID of the device the firmware should be flashed onto. - - - Example: - - - 84f40464-9272-4ef7-9399-cd95f12da696 -]]> - - - - -
- - - For a component of type firmware, the following tags are required and must be present for a valid document: - , , , - , . - - -
-
diff -Nru appstream-0.12.10/docs/sources/metainfo/font.xml appstream-0.14.5/docs/sources/metainfo/font.xml --- appstream-0.12.10/docs/sources/metainfo/font.xml 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/sources/metainfo/font.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,237 +0,0 @@ - - -%BOOK_ENTITIES; -]> - -
- Fonts - -
- Introduction - - A software center can allow users to install additional fonts using font metadata. - Also, applications can use font metadata to find missing fonts (for example, if a special mathematical font is needed) - in the distribution's software sources. - This metainfo specification describes how metadata for fonts or font collections should be structured. - - - Font packages can ship one or more files in /usr/share/metainfo/%{id}.metainfo.xml. - - - Font metadata files can – just like all other metainfo files – be translated. See the section about translation for more information. - - - - A font component is in most cases not describing a single font, but rather a collection of fonts that - are grouped together, usually by their art style or font-family. - - - To make the individual fonts known to the system, use the tag. - - -
- -
- Example file - - A minimal font metainfo file can look like this: - - - - com.latofonts.Lato - MIT - OFL-1.1 - - Lato - A sanserif type­face fam­ily - -

- Lato is a sanserif type­face fam­ily designed in the Sum­mer 2010 by Warsaw-​​based designer - Łukasz Dziedzic (“Lato” means “Sum­mer” in Pol­ish). In Decem­ber 2010 the Lato fam­ily - was pub­lished under the open-​​source Open Font License by his foundry tyPoland, with - sup­port from Google. -

-
- - - Lato Regular - Lato Italic - Lato Bold - Lato Light - Lato Light Italic - ... - -
]]>
-
- -
- File specification - - Note that the XML root must have the type property set to font. - This clearly identifies this metainfo document as describing a font. - - - - - <id/> - - - For fonts, the %{id} must follow the reverse-DNS scheme as described for generic components. - For the product name part, it is recommended to take the the name of the font or font bundle without whitespace. - - - - - - <metadata_license/> - - - The <metadata_license/> tag is required. See for a description of this tag. - - - - - - <name/> - - - Set a name for the font or font collection. - - - - - - <summary/> - - - A short description of the font described in this metainfo file. - - - - - - <description/> - - - Add a long description of your font. Do not assume the format is HTML. Only paragraph, ordered list - and unordered list are supported at this time. - - - See the generic component for a detailed description of this tag. - - - - - - <screenshots/> - - - A screenshot presents your font to the outside world. - - - If the font metadata does not define an own screenshot, the AppStream generator is supposed to render one or multiple - sample images using the respective font. - - - See the generic component for a detailed description of this tag. - - - - - - <url/> - - - This is a recommended tag for links of type homepage. - Links of type homepage should be a link to the upstream homepage for the application. - See the generic component for a description of this tag. - - - - - - <provides/> ↪ <font/> - - - This tag is described in detail for generic components at . - - - You should add one or more children of type <font/> to make the font's full-names known. - The full-name should be the same as given in the font file for the English language. - If no full-name is set, a space-separated combination of the font's family and style - is used instead. - The font must have a family defined to be included. - - - The full-name entry should show the complete name of a typeface in its - “natural” form, including style and character set information (if any), and - without abbreviations. This is the name that some systems and applications - look at to determine full, unabbreviated font menu names. - - - If you want to query the full-name and its family and style to see what needs to - be added to this tag, you can use the fc-query utility of Fonconfig: - - fc-query --format='FN: %{fullname[0]}\nFS: %{family[0]} %{style[0]}\n' FONT-FILENAME - - Examples: - - - Lato Heavy Italic - Noto Kufi Arabic Bold - Liberation Serif Bold Italic - FontAwesome Regular -]]> - - If no <font/> tags were defined, the AppStream collection data generator should try to extract them from the actual font files found in the - software package/bundle. - - - In every case, the names given in the provides tag must match the metadat the fonts contain themselves. If the data of the font files - is incomplete, the data can not be extended by the <font/> tag. - This is important because the AppStream generator may use the data to pick the right fonts, and because applications expect the exact font they requested - via AppStream to be present on the system after the component was installed (and not one which has different metadata). - - - - - - <languages/> - - - This tag gives information about the locale a font supports. - - - This tak allows specifying the main locale (and thereby scripts) the font can be used with. - It does not have to contain an extensive list, as the AppStream metadata generator will try get obtain that - information from the font files themselves, but it is useful to define to hint the generator in the right direction. - - - If samples of the font are rendered as screenshots by the collection metadata generator, the locale mentioned in the - metainfo file will be preferred over automatically (or heuristically) defined ones. - - - You can use the following command to determine which languages a font supports: - - fc-query --format='%{lang}\n' FONT-FILENAME - - Tag example: - - - de - en - cn - -]]> - - - - - - For a component of type font, the following tags are required and must be present: , , - , , . - - -
-
diff -Nru appstream-0.12.10/docs/sources/metainfo/icontheme.xml appstream-0.14.5/docs/sources/metainfo/icontheme.xml --- appstream-0.12.10/docs/sources/metainfo/icontheme.xml 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/sources/metainfo/icontheme.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,158 +0,0 @@ - - -%BOOK_ENTITIES; -]> - -
- Icon Themes - -
- Introduction - - Icon themes as defined in the Freedesktop Icon Theme Specification - can contain icon-theme metainfo files to be installed by software centers. - This metainfo specification describes how metadata for icon themes should be structured. - - - Icon theme packages can ship one or more files in /usr/share/metainfo/%{id}.metainfo.xml. - - - Icon theme metadata files can – just like all other metainfo files – be translated. See the section about translation for more information. - -
- -
- Example file - - A minimal icon theme metainfo file can look like this: - - - - io.git.PapirusIconTheme - FSFAP - GPL-3.0 - - Papirus - A free and open source icon theme for Linux, based on the Paper Icon Set - -

- Papirus is a free and open source SVG icon theme for Linux, based on Paper Icon Set - with a lot of new icons and a few extras, like Hardcode-Tray support, KDE colorscheme - support, Folder Color support, and others. - It is available in four variants: -

-
    -
  • Papirus
  • -
  • Papirus Dark
  • -
  • Papirus Light
  • -
  • ePapirus (for elementary OS and Pantheon Desktop)
  • -
-
- - - - https://raw.githubusercontent.com/PapirusDevelopmentTeam/papirus-icon-theme/master/preview.png - - -
]]>
-
- -
- File specification - - Note that the XML root must have the type property set to icon-theme. - This clearly identifies this metainfo document as describing an icon theme following the Freedesktop specification. - - - A new metainfo file is required for each variant of the icon theme (one for each index.theme) to describe - the individual icon themes and allow them to be installed individually. - That is, unless all the different theme variants are designed to be installed together (due to symbolic links between themes or - Inherits fields in the theme description), in which case only one icon-theme component is required - to describe the whole icon theme set. - - - - - <id/> - - - For fonts, the %{id} must follow the reverse-DNS scheme as described for generic components. - - - - - - <metadata_license/> - - - The <metadata_license/> tag is required. See for a description of this tag. - - - - - - <name/> - - - Set a name for the icon theme or set of icon themes intended to be shipped in one bundle. - - - - - - <summary/> - - - A short description of the icon theme. - - - - - - <description/> - - - Add a long description of your icon theme. - - - See the generic component for a detailed description of this tag. - - - - - - <screenshots/> - - - A screenshot to show off the icon theme. - - - A good example on how that may look like is - the preview image of the Papirus icon theme. - - - See the generic component for a detailed description of this tag. - - - - - - <url/> - - - This is a recommended tag for links of type homepage. - Links of type homepage should be a link to the upstream homepage for the icon theme. - See the generic component for a description of this tag. - - - - - - - For a component of type icon-theme, the following tags are required and must be present: , , - , . - - -
-
diff -Nru appstream-0.12.10/docs/sources/metainfo/inputmethod.xml appstream-0.14.5/docs/sources/metainfo/inputmethod.xml --- appstream-0.12.10/docs/sources/metainfo/inputmethod.xml 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/sources/metainfo/inputmethod.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,151 +0,0 @@ - - -%BOOK_ENTITIES; -]> - -
- Input Methods - -
- Introduction - - It is a nice feature for a software center to allows users the installation of additional input methods. - This meta-info specification describes how metadata about input methods should be structured. - - - Software components providing an input method can ship one or more files in - /usr/share/metainfo/%{id}.metainfo.xml. - - - Input method metadata files can – just like all other metainfo files – be translated. See the section about translation for more information. - -
- -
- Example file - - The input method meta-info file should look like this: - - - - - com.github.ibus.mathwriter-ibus.db - FSFAP - Mathwriter - Math symbols input method - -

- The input method is designed for entering mathematical symbols. -

-

- Input methods are typing systems allowing users to input complex languages. - They are necessary because these contain too many characters to simply be laid - out on a traditional keyboard. -

-
- https://github.com/mike-fabian/ibus-table-others -
]]>
-
- -
- File specification - - Note that the XML root must have the type property set to inputmethod. - This clearly identifies this metainfo document as describing an input method instead of a generic software component. - - - - - <id/> - - - For input methods, the %{id} should follow the standard reverse-domain-name scheme. - For the product name part, it is recommended to take the database filename of the input method. - - - - - - <metadata_license/> - - - The <metadata_license/> tag is required. See for a description of this tag. - - - - - - <name/> - - - Set a name for your input method. - - - - - - <summary/> - - - A short description of the input method described in this metainfo file. - - - - - - <description/> - - - Add a long description of the input method. - - - Do not assume the format is HTML. Only paragraph, ordered list and unordered list are supported at this time. - - - - - - <screenshots/> - - - A screenshot may be included, showing the input method in use in an application. - - - Refer to for a detailed description of this tag. - - - - - - <url/> - - - This is a recommended tag for links of type homepage. - Links of type homepage should be a link to the upstream homepage for the application. - See See for a description of this tag. - - - - - - <provides/> - - - This tag is described for generic components at in detail. - - - You can add one or more children of type <library/> in case you publish some additional shared libraries. - If not, and there are no public binaries involved, you may omit the provides tag for input methods. - - - - - - - For a component of type inputmethod, the following tags are required and must be present: - , , - , . - -
-
diff -Nru appstream-0.12.10/docs/sources/metainfo/localization.xml appstream-0.14.5/docs/sources/metainfo/localization.xml --- appstream-0.12.10/docs/sources/metainfo/localization.xml 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/sources/metainfo/localization.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,124 +0,0 @@ - - -%BOOK_ENTITIES; -]> - -
- Localization - -
- Localization - - The localization component type describes language packs for individual software components or groups - of software components. A language pack includes anything necessary to localize a software component for a specific language - and/or country. This is usually translations, but may also be translated media content, currency information and other things. - A localization component extends one or multiple other components and defines the - languages it provides via its languages tag. - - - Language packs can ship one or more metainfo files as /usr/share/metainfo/%{id}.metainfo.xml. - - - Do not confuse language packs with the software collection tag, used to identify bundled translations. - -
- -
- Example file - - A localization metainfo file can look like this: - - - - - org.kde.l10n.de - KDE German Language - German localization for the KDE desktop and apps - - org.kde.plasmashell - org.kde.gwenview.desktop - org.kde.dolphin.desktop - ... - - http://i18n.kde.org/team-infos.php?teamcode=de - FSFAP - - The KDE German L10N team - - - de_DE - de_AT - de - ... - -]]> - -
- -
- File specification - - Note that the XML root must have the type property set to localization. - This clearly identifies this metainfo document as describing a language pack. - - - - - <id/> - - - For localizations, the value of the <id/> tag must follow the reverse-DNS scheme as described for generic components. - Ideally, the name of the component this language pack is for should be suffixed with .l10n.%{lang}, where %{lang} - is the language code of the language pack. - - - For example, if your applications component-id is org.gimp.gimp the ID of the German language pack - for GIMP should be org.gimp.gimp.l10n.de. - - - - - - <extends/> - - - The extends tags contain all the components this language pack can be used with. - - - - - - - <languages/> - - - This tag gives information about the locale a localization component provides support for. - - - The tag is allowed to only occur once per component, and contains multiple <lang/> child nodes, which have - a language code as value. - Each <lang/> node may have a percentage property, which describes the percentage value to which - a component has been translated. - - - Tag example: - - - de_DE - de_AT - -]]> - - - - - - - For a component of type localization, the following tags are required and must be present for a valid document: - , , , - , , . - - -
-
diff -Nru appstream-0.12.10/docs/sources/metainfo/MetaInfo.xml appstream-0.14.5/docs/sources/metainfo/MetaInfo.xml --- appstream-0.12.10/docs/sources/metainfo/MetaInfo.xml 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/sources/metainfo/MetaInfo.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,46 +0,0 @@ - - -%BOOK_ENTITIES; -]> - - Upstream Metadata - - AppStream allows upstream projects to define metadata about the components they provide using small XML files, - metainfo files, which get installed into locations on the client system and are used by distribuors to enhance their - metadata. - - - A "component" is a piece of software, like an application, a library, a font or a codec. For several components, especially - those which are shown in software-centers, we provide specialized metainfo files to define specific properties and data of these components. - For example, applications and fonts support screenshots, while codecs don't. - - - All metainfo files need to contain a minimal amount of information, defined in the "Generic Component" section, which also describes some optional - elements which can be used. - Specialized components might require more information to be complete and valid. - - - The XML in metainfo files does not need any XML namespace, and adding one should generally be avoided. - If you want to use a namespace though (maybe in case you want to embed the data in other contexts), the xmlns - should be https://specifications.freedesktop.org/metainfo/1.0. - - - - - - - - - - - - - - - - - - - - diff -Nru appstream-0.12.10/docs/sources/metainfo/operatingsystem.xml appstream-0.14.5/docs/sources/metainfo/operatingsystem.xml --- appstream-0.12.10/docs/sources/metainfo/operatingsystem.xml 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/sources/metainfo/operatingsystem.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,108 +0,0 @@ - - -%BOOK_ENTITIES; -]> - -
- Operating System - -
- Introduction - - The operating-system component type describes a whole operating system such as GNU/Linux distributions - like Debian, Fedora, RHEL, etc. or Windows and macOS. - - - Operating systems can ship metainfo files in /usr/share/metainfo/%{id}.metainfo.xml. - -
- -
- Example file - - An operating-system metainfo file can look like this: - - - - - org.debian.debian - Debian GNU/Linux - The universal operating system - -

- Debian is a free operating system (OS) for your computer. - An operating system is the set of basic programs and utilities that make your computer run. -

- ... -
- https://www.debian.org/ - FSFAP - The Debian Project - ... - - - - -

The next release of Debian.

-
-
- - - -

Now contains the Linux kernel 4.9, GNOME 3.22, KDE Plasma 5, LibreOffice 5.2 and Qt 5.7. LXQt has been added.

-
-
- ... -
-
]]>
- -
- -
- File specification - - Note that the XML root must have the type property set to operating-system. - This clearly identifies this metainfo document as describing an operating system. - - - - - <id/> - - - For operating systems, the value of the <id/> tag must follow the reverse-DNS scheme as described for generic components. - In order for AppStream consumers to determine which component is describing the operating system they are currently running on, - on Linux distributions the component ID must follow the data provided in the operating system's /etc/os-release file. - This means the reversed-DNS HOME_URL value from /etc/os-release (without any https/www parts) combined - with the ID of the operating system will produce the operating system's component id. - - - E.g. if HOME_URL is https://www.debian.org/ and ID is debian, the resulting AppStream - component-ID will be org.debian.debian. - - - - - - <releases/> - - - The <releases/> tag as described in must be present and contain the individual - releases of the operating system. - It is also recommended to set the date_eol property on individual releases, to allow software to determine - whether the current operating system release is still supported. - - - - - - - - For a component of type operating-system, the following tags are required and must be present for a valid document: - , , , - , . - - -
-
diff -Nru appstream-0.12.10/docs/sources/metainfo/repository.xml appstream-0.14.5/docs/sources/metainfo/repository.xml --- appstream-0.12.10/docs/sources/metainfo/repository.xml 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/sources/metainfo/repository.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,121 +0,0 @@ - - -%BOOK_ENTITIES; -]> - -
- Repositories - -
- Introduction - - A repository component describes a remote archive of digital content, usually other - software or additional data (e.g. themes, icons, books, music, ...). Upon installation of - a component of this type, the repective repository is added to the system and activated, - letting the user access the new content. - - - The metadata described in this document is built upon the generic component metadata (see ). - All tags valid for a generic component are valid for a repository component as well. - - - In order to add metadata about a software repository, projects can provide one or more metainfo files - in /usr/share/metainfo/%{id}.metainfo.xml. - - -
- -
- File specification - - - The basic structure for a generic component as described at applies. - Note that the XML root must have the type property set to repository, while in a generic component this - property can be omitted. This clearly identified this metainfo document as describing a repository. - - - - The following list describes tags for repository upstream metadata and provides some additional information about the values - the tags are expected to have. - If no information is given about a tag, refer to the respective tag in . - - - - - <id/> - - - For repositories, the <id/> tag value must follow the AppStream ID naming conventions (it should be a reverse-DNS name). - - - - - - <metadata_license/> - - - The <metadata_license/> tag as described in must be present. - - - - - - <name/> - - - A name must be present for repositories. See for a detailed description of this tag. - - - - - - <summary/> - - - A summary must be present for repositories. See for a detailed description of this tag. - - - - - - <extends/> - - - This tag is refers to the ID of the component this repository is added to, similarly to how components of - type addon work. - - - Adding an extends tag ensures the respective repository is tied to its main component, - e.g. a source for firmware downloads is tied to the firmware update service, or a repository for a - site-specific package manager is tied to the tool that can actually install pieces from the repository. - - - The <extends/> tag may be specified multiple times. - - - - - - <agreement/> - - - It is recommended to add a GDPR compliant privacy statement to repository - components, in case any personal data is acquired when the repository is accessed. - - - The agreement tag allows to add a privacy statement and other agreements easily. Refer to the tag - as described for generic components for information on how to use agreements in AppStream. - - - - - - - - For a component of type repository, the following tags are required and must always be present: , - , , . - - -
-
diff -Nru appstream-0.12.10/docs/sources/metainfo/runtime.xml appstream-0.14.5/docs/sources/metainfo/runtime.xml --- appstream-0.12.10/docs/sources/metainfo/runtime.xml 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/sources/metainfo/runtime.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,132 +0,0 @@ - - -%BOOK_ENTITIES; -]> - -
- Runtime - -
- Introduction - - Components of type runtime describe a collection of interdependent software components that are - required to run other software. They set a baseline of dependencies that other software can rely on and link against. - A very simple runtime may for example be a chroot environment of a minimal Linux system bootstrap. - Runtimes are often employed by software distribution systems such as Flatpak or Valve's Steam, but may be - used by others and may even be directly distributed as part of tranditional Linux distributions. - - - Runtimes can ship metainfo files in /usr/share/metainfo/%{id}.metainfo.xml. - -
- -
- Example file - - A runtime metainfo file can look like this: - - - - - org.freedesktop.Platform - FSFAP - LicenseRef-free=https://freedesktop-sdk.gitlab.io/ - - Freedesktop Platform - Basic libraries to run Linux desktop applications - - -

- The Freedesktop Platform is a runtime that contains the most basic libraries - and files needed to run a Linux desktop application. - ... -

-
- https://freedesktop-sdk.gitlab.io/ - - - - - ... - -
]]>
- -
- -
- File specification - - Note that the XML root must have the type property set to runtime. - This clearly identifies this metainfo document as describing a runtime. - - - - - <id/> - - - For runtimes, the value of the <id/> tag must follow the AppStream ID naming conventions (it should be a reverse-DNS name). - - - - - - <requires/> - - - The requires tag may be used if multiple runtimes are based on top of each other, or if the runtime actually describes - a software development kit (SDK) that wants to require its base runtime. - See for a detailed description of this tag. - - - In order to depend on other runtimes, their component-ID should be referenced in a requires tag. Example: - - - org.freedesktop.Sdk -]]> - - - - - <project_license/> - - - The <project_license/> tag usually indicates the license of the component - (refer to for details). - This is tricky for runtimes, as they are usually comprised of many individual pieces of software under - different licenses, which would create a very long and complex SPDX license expression. - It is therefore recommended to have the tool that builds the runtime collect all the licenses and generate a document - or website containing. This document can then be linked using LicenseRef-free=URL if the runtime is free software, - or LicenseRef-proprietary=URL in case it contains non-free elements. - - - Example: - - LicenseRef-free=https://example.com/licenses.html]]> - - - - - <provides/> - - - This tag is described in detail for generic components at . - - - The runtime may use the <provides/> tag to denote the individual modules it is comprised of, - using their component IDs. - - - - - - - - For a component of type runtime, the following tags are required and must be present for a valid document: - , , , - , . - - -
-
diff -Nru appstream-0.12.10/docs/sources/metainfo/service.xml appstream-0.14.5/docs/sources/metainfo/service.xml --- appstream-0.12.10/docs/sources/metainfo/service.xml 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/sources/metainfo/service.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,110 +0,0 @@ - - -%BOOK_ENTITIES; -]> - -
- Services - -
- Introduction - - A service component is any software that is started and supervised by - the Operating Systems "init" facility, such as systemd. - - - The metadata described in this document is built upon the generic component metadata with fields specific for services (see ). - All tags valid for a generic component are valid for a service component as well. - - - In order to enhance the available metadata about their services, projects shipping a service can ship one or more metainfo files - in /usr/share/metainfo/%{id}.metainfo.xml. - - -
- -
- File specification - - - The basic structure for a generic component as described at applies. - Note that the XML root must have the type property set to service, while in a generic component this - property can be omitted. This clearly identified this metainfo document as describing a service. - - - - The following list describes tags for service upstream metadata and provides some additional information about the values - the tags are expected to have. - If no information is given about a tag, refer to the respective tag in . - - - - - <id/> - - - For services, the <id/> tag value must follow the AppStream ID naming conventions (it should be a reverse-DNS name). - - - - - - <metadata_license/> - - - The <metadata_license/> tag as described in must be present. - - - - - - <name/> - - - A name must be present for services. See for a detailed description of this tag. - - - - - - <summary/> - - - A summary must be present for services. See for a detailed description of this tag. - - - - - - <provides/> ↪ <service/> - - - This tag is described in detail for generic components at . - - - - - - <launchable/> - - - This tag is described in detail for generic components at . - - - At least one launchable element with type "service" must be present. - The value is a name that can be used with the OS init facility to - start/stop and monitor the service. - - - - - - - - For a component of type service, the following tags are required and must always be present: , - , , , . - - -
-
diff -Nru appstream-0.12.10/docs/sources/metainfo/webapp.xml appstream-0.14.5/docs/sources/metainfo/webapp.xml --- appstream-0.12.10/docs/sources/metainfo/webapp.xml 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/sources/metainfo/webapp.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,118 +0,0 @@ - - -%BOOK_ENTITIES; -]> - -
- Web Applications - -
- Introduction - - A web application is an application running remotely that is accessed via a web browser and built on the web platform. - - - The metadata described in this document is built upon the generic component metadata with fields specific for web-applications (see ). - All tags valid for a generic component are valid for a web-application component as well. - - - A web application metainfo file is special in the regard that it is usually not combined with the software it is describing and that it has no - installable. - It usually is equivalent to a weblink that gets special treatment by software centers. Web application metainfo files are therefore - injected directly into the collection metadata generation process, or can be installed as usual into /usr/share/metainfo/%{id}.metainfo.xml. - - - Software centers may display web applications in special, chrome-less web browser windows to achieve better desktop integration and - make the web application feel more native on the desktop. - - -
- -
- File specification - - - The basic structure for a generic component as described at applies. - Note that the XML root must have the type property set to web-application, while in a generic component this - property can be omitted. This clearly identified this metainfo document as describing a web application. - - - - The following list describes tags for web-application metainfo files and provides some additional information about the values - the tags are expected to have. - If no information is given about a tag, refer to the respective tag in . - - - - - <id/> - - - For web applications, the <id/> tag value must follow the AppStream ID naming conventions (it should be a reverse-DNS name). - - - - - - <metadata_license/> - - - The <metadata_license/> tag as described in must be present. - - - - - - <name/> - - - A name must be present for console applications. See for a detailed description of this tag. - - - - - - <summary/> - - - A summary must be present for console applications. See for a detailed description of this tag. - - - - - - <launchable/> - - - This tag is described in detail for generic components at . - - - A launchable tag of type url must be present for web applications. It is used as the entry - point for starting the web application and opened in a browser in case the user wants to "launch" the web application. - - - - - - <icon/> - - - This tag is described in detail for generic components at . - - - A icon tag must be present for web applications. Authors of the metainfo files might prefer using the remote icon type, - but any icon type is allowed here. - - - - - - - For a component of type web-application, the following tags are required and must always be present: , - , , , , , - . - - -
-
diff -Nru appstream-0.12.10/docs/sources/Project_Desc.xml appstream-0.14.5/docs/sources/Project_Desc.xml --- appstream-0.12.10/docs/sources/Project_Desc.xml 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/sources/Project_Desc.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,44 +0,0 @@ - - -%BOOK_ENTITIES; -]> - - About AppStream - -
- What is AppStream? - - - AppStream is a cross-distro effort for enhancing the metadata available about software components in the Linux and free-software ecosystem. - One of the project's goals is to make building software-center applications possible, and make interaction with the package sources of a - distribution smarter. - AppStream provides specifications for meta-information which is shipped by upstream projects and can be consumed by other software. - The meta-information includes data which is interesting to display in software centers and is mainly useful for end-users, as well as descriptions - about the public interfaces a software component provides, which is mainly useful for developers, 3rd-party software installers and for automatically - installing missing components on a distribution, for example missing firmware or mimetype-handlers. - - - Distributors provide metadata as well, which describes all components available in a software repository. That data is composed of the upstream-metainfo - and some other sources. - AppStream also provides specifications for things like a screenshot-service, application ratings & reviews etc. - - - All parts of AppStream are distribution-agnostic, and therefore it is easily possible to build software management tools with it that work - on any distribution implementing the AppStream specification. - - -
- Architecture - - - - - - - - -
-
- -
diff -Nru appstream-0.12.10/docs/sources/quickstart/addons.xml appstream-0.14.5/docs/sources/quickstart/addons.xml --- appstream-0.12.10/docs/sources/quickstart/addons.xml 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/sources/quickstart/addons.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,184 +0,0 @@ - - -%BOOK_ENTITIES; -]> - -
- For upstream projects providing addons - -
- Introduction - - Some software installed on the system is extensible via addons. To allow the user to install addons for - software that is already available on the system, AppStream defines an addon component type. - Software centers will usually group these components together with their host component and display them for installation. - - Extensible software may also access the AppStream data pool provided by the distribution or other software source directly, - to offer installing missing addons from within the application. - - - Software which provides addons can ship one or more files in /usr/share/metainfo/%{id}.metainfo.xml. - -
- -
- Example file - - The file should contain something like this: - - - - org.gnome.gedit.gedit_bookmarks - org.gnome.gedit - Bookmarks - Easy document navigation with bookmarks - https://wiki.gnome.org/Apps/Gedit/ShippedPlugins - https://bugzilla.gnome.org/enter_bug.cgi?product=gedit&component=Plugins - FSFAP - GPL-2.0+ -]]> -
- -
- Metadata file contents - - This is a list of tags you might want to define for your application. For a full list of possible tags, take a look at - the definition of a generic component () and an addon component (). - - - - - <id/> - - - For addons, there is no strict rule for the component-ID. You should just ensure that you pick a unique name. - - - It is highly recommended to apply a application_name-plugin_name naming scheme for your addon-id. - - - - - - <extends/> - - - This tag is refers to the ID of the component this addon is extending. For desktop applications, this is usually the name of their .desktop file. - - - This tag is described in detail for addon components at . - - - - - - <name/> - - - Each addon component needs a <name/> tag, giving the addon a human-readable name. - - - - Don't put the application name you are extending in the <name/> - so you want to use Bookmarks rather than GEdit Bookmarks - - - - - - - <summary/> - - - The <summary/> tag follows the basic structure of a as described in the specification. It is a required tag for an addon component. - - - Some useful hints for finding a good addon summary: - - - - - Don't put the application name you are extending in the <summary/> - so you want to use Easy document navigation with bookmarks - rather than Easy document navigation with bookmarks in GEdit. - - - - - Don't use long or short descriptions. - Ideally <summmary/> should be less than 101 and more than 8. - - - - - - - - <url/> - - - It is recommended to include links of types homepage and bugtracker. - You can omit the <url/> if it's the same as the upstream project. - - - Links of type homepage should be a link to the upstream homepage for the addon. - - - Links of type bugtracker should be a link to the upstream bugtracker. - - - - It is highly recommended to be a link to the upstream bugzilla with filed component and product. - - - - - It might be necessary to escape URLs. For example - replacing of & with &amp;. - - - - For other possible values, take a look at the tag's description in . - - - - - - <metadata_license/> - - - The <metadata_license/> tag is indicating the content license that you are releasing the one - metadata file as. This is not typically the same as the project license. By ommitting the license value would - probably mean your data would not be incorporated into the distribution metadata. - Permissible license codes include: - - - The license codes correspond to the identifiers found at the SPDX OpenSource License Registry. - Take a look at for more details about this tag. - - - - - - <project_license/> - - - The <project_license/> tag is indicating the license(s) this addon is released under. - Take a look at the specification of the tag for details on how to properly use it. - - - - - - <update_contact/> - - - You might want to include an update-contact email address. Take a look at the specification of the tag - for more details on how to use this tag. - - - - - -
- -
diff -Nru appstream-0.12.10/docs/sources/quickstart/desktop-apps.xml appstream-0.14.5/docs/sources/quickstart/desktop-apps.xml --- appstream-0.12.10/docs/sources/quickstart/desktop-apps.xml 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/sources/quickstart/desktop-apps.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,608 +0,0 @@ - - -%BOOK_ENTITIES; -]> - -
- For GUI application upstream maintainers - -
- Introduction - - Every software center that exists allows the user to look at screenshots and a long description of the application before it is installed. - For most users it allows them to answer the question Do I want to install this application?. - Traditionally in Linux distributions, we have none of this data for the vast majority of our desktop user-installable applications. - The packages-descriptions are describing all contents of a package, and not just a single application. They are also often written in a technical - language and refer to other packages, which makes it hard for beginners to understand what the application they want to install really does. - Additionally, if you are not using Debian or Ubuntu, the package descriptions are often untranslated. - Also, packages do not provide some metadata users might be interested in before installing an application. - - - To solve this, we have defined a new data file, which the upstream project can optionally translate using the same technique as - Desktop Entry files or GSetting schemas. - The application metainfo specification is a subset of the AppStream metadata (see ) and extends - the generic component metadata with fields specific for applications (see ). - - - The application-metainfo files override any values which are automatically fetched by the AppStream data generator. - Applications can ship one or more files in /usr/share/metainfo/%{id}.metainfo.xml. - - - Application metainfo files can - just like all other metainfo files - be translated. See the section about translation for more information about that. - - - - All tags defined in the generic component specification are valid for components of type desktop-application as well, - an application is just defined as a specialized component, which has the additional benefit of being displayed in a software-center application. - - -
- -
- Example file - - The file should contain something like this: - - - - - - org.gnome.gnome-power-statistics - FSFAP - GPL-2.0+ - Power Statistics - Observe power management - - -

- Power Statistics is a program used to view historical and current battery - information and will show programs running on your computer using power. -

-

Example list:

-
    -
  • First item
  • -
  • Second item
  • -
-

- You probably only need to install this application if you are having problems - with your laptop battery, or are trying to work out what programs are using - significant amounts of power. -

-
- - org.gnome.gnome-power-statistics.desktop - - - - The options dialog - http://www.hughsie.com/en_US/main.png - - - http://www.hughsie.com/en_US/preferences.png - - - - http://www.gnome.org/projects/en_US/gnome-power-manager - GNOME - - - gnome-power-statistics - - - - - -

Fixes issues X, Y and Z

-
-
-
-
]]> -
-
- -
- Recommended metadata file contents - - - This is a list of tags you might want to define for your application. For a full list of all possible tags, take a look at - the definition of a generic component () and an application-component (). - - - - - <id/> - - - The <id/> tag value contains the unique identifier for this application. It is usually modeled after the .desktop filename - and follows a reverse-DNS scheme. For the full naming guidelines see . - - - Example: If your application's .desktop file is named org.example.FooBar.desktop, a good component-id would be - org.example.FooBar. - - - - - - <metadata_license/> - - - The <metadata_license/> tag is indicating the content license that you are releasing the one - metainfo file under. This is not typically the same as the project license. Omitting the license value can result - in your data not being incorporated into the distribution metadata (so this is a required tag). - - - A permissive license ensures your data can - be combined with arbitrary other data in one file, without license conflics (this means copyleft licenses like the GPL are - not suitable as metadata license). - Possible license identifiers include: - - - - FSFAP - - - CC0-1.0 - - - CC-BY-3.0 - - - CC-BY-SA-3.0 - - - GFDL-1.3 - - - MIT - - - - The license codes correspond to the identifiers found at the SPDX OpenSource License Registry. - Take a look at for more details about this tag. - - - If you are unsure about which license to pick, the FSFAP or FSFUL license statement is usually - a good choice, as it is short and safe to combine with other licenses. - - - - - - <project_license/> - - - The <project_license/> tag is indicating the license(s) this application is released under. - Take a look at the specification of the tag for details on how to properly use it. - - - - - - <name/> - - - It is highly recommended to have this tag present and contain a name of your application as value. - - - In theory you can omit this tag and have the AppStream generator of a Linux distribution automatically use the Name field - of the associated .desktop file (In which case one tag must be present). - However, a large amount of tools expect the metainfo file to be complete and self-sufficient now, which is why omitting this tag will render it - invalid for tools like Flatpak and others use cases which do not involve a metadata preprocessing step. - - - If no name tag (and no Name desktop-entry field) is present, the metadata - is considered invalid and will be ignored by the AppStream generator. - - - - - - <summary/> - - - It is highly recommended to have this tag present and contain a brief summary of what your application is about. - - - In theory you can omit this tag and have the AppStream generator of a Linux distribution automatically use the Comment field - of the associated .desktop file (In which case one tag must be present). - However, a large amount of tools expect the metainfo file to be complete and self-sufficient now, which is why omitting this tag will render it - invalid for tools like Flatpak and others use cases which do not involve a metadata preprocessing step. - - - If no summary tag (and no Comment desktop-entry field) is present, the metadata - is considered invalid and will be ignored by the AppStream generator. - - - - - - <description/> - - - The long description is an important part of the file. Important things to consider when writing the application description: - - - - Include 2-3 paragraphs of interesting easy to read prose. - - - Ensure you provide a description of what the application actually does. - - - Describe any important features. - - - Do not use possily trademarked product names when refering to competitors. - - - Break down each paragraph into easily translated paragraphs. - - - Use lists sparingly. - - - Never refer to installable items as packages. - - - Never start the first sentence with "This application..." - - - Try not use more than 100 words. - - - Do not be too geeky. Aim for an intelligent semi-technical reader. - - - Don't mention what language an application is written in, users don't care - - - Only mention what the application can do now, rather than what is planned - - - - Do not assume the format is HTML. Only paragraph, ordered list and unordered list are supported at this time, as well as emphasis and inline code. - See for more information. - - - In metainfo files, this tag should be translated by-paragraph, meaning that in a translated file, each translated <p/> child - has a language property. - - - - - - <launchable/> - - - This tag indicates a possible method to launch the software. Usually you want the application to be launchable by its .desktop file ID. - - - The tag makes it possible for software centers to offer launching an application immediately after installation. It also connects the metainfo file - with a .desktop file, so AppStream metadata generators and the distribution can absorb its metadata into the final AppStream output. - - - See for a detailed description of the tag. - Example: - - org.gnome.Sysprof2.desktop]]> - - - - - <screenshots/> - - - A screenshot presents your application to the outside world, and could be seen by hundreds or thousands of people. - - - The <screenshots/> tag contains multiple <screenshot/> children, where at least one of them must have the property - type="default" to indicate the application's primary screenshot. Every <screenshot/> tag must have at least - one <image/> child, which may define the width and height of the referenced image in it's properties. - The value of the <image/> tag is a direct URL to a screenshot uploaded to a public location on the web. - - - Optionally, a <screenshot/> tag may have a <caption/> child, defining a short (not more than 180 characters!) - description of what the user can see on the referenced screenshot. - - - Screenshots are an important part of how people choose which applications to install, so it's important to get them right. - Consistent, good looking screenshots will make your application look more attractive and will expand your userbase. - Consistent screenshots also provide a more predictable experience for people using the software center. - - - Screenshot size, shape and format: - - - - - All screenshots should have a 16:9 aspect ratio, and should have a width that is no smaller than 620px (software center applications will be able to fill in the screenshots in the space they provide for that - more easily then). - - - Ideally the window will be resized to a 16:9 aspect ratio, but screenshots can also be cropped if only a small area of the window needs to be shown. - - - - - Screenshots should ideally be in the PNG format, but JPEG and WebP images are also fine. Keep in mind though that the images are converted into PNG - in any case by the distributor of a software collection. - - - - Do not scale screenshots below their original size. - - - - Basic guidelines for things to include (and not include) in your screenshots: - - - - - Use the default visual and theme settings, including the default font, icons, and window controls. Avoid including your own tweaks to the standard distribution offering. - - - - Screenshots should be taken with English as the display language. - - - - Your default screenshot should give an overview of your application, and should show an entire application window. - It can be combined with screenshots which show specific aspects of the application. - - - - - Screenshots should not show anything outside the application's windows (including the background wallpaper). - If you are taking a screenshot of the whole window, use your screenshot tool's "window" mode (including any window borders in the screenshot, and ensuring that the resulting image has an - alpha mask for the rounded corners). - - - - - Some applications, such as games, primarily run full screen. Screenshots of these applications should be taken with the application - running full screen - there should be no visible window controls in the screenshot. - - - - Don't add shadows to your screenshots. - - - - Do not include content that might be considered offensive or controversial, and avoid showing personal information. Remember that your screenshots will be visible to the internet at large. - - - - - Additional advice on how to take effective screenshots: - - - - - Each of your screenshots should focus on one thing and one thing only. Screenshot one window at a time, and avoid having - overlapping windows or user interface elements. - This will make it much easier for people to understand what you are showing them. - - - - If a screenshot is demonstrating a single feature or aspect of the application, crop it to exclude irrelevant detail. - - - - Screenshots often need to feature content, such as images, documents, web pages or videos. Don’t show your application in an ‘empty’ - state, and try and use high quality content which has positive associations and broad appeal. - - - - In general, you shouldn't include the mouse pointer in your screenshots. - - - - Some advice for a good screenshot caption: - - - - The caption should be short. Try not to use more than a few words to describe the image. - - - Try not to state the obvious: "Main window displaying an image" is something the user can see on the screenshot already. - - - Try not to repeat the application's name in the caption. - - - Do not end your caption with a fullstop. - - - - - Some examples of good and bad screenshot choices: - - - - - - - - - - - - - - - - BAD: Not on Linux - - - - - - - - - - - - GOOD - - - - - - - - - - - - - BAD: Not 16:9, shows the whole desktop and too many small windows - - - - - - - - - - - - - GOOD: No window border required for fullscreen game - - - - - - - - - - - - - - BAD: Uses custom font, custom color theme and is not 16:9 - - - - - - - - - - - - GOOD - - - - - - - - - - - - - <url/> - - - This is a recommended tag for links of type homepage. - Links of type homepage should be a link to the upstream homepage for the application. - - - For other possible values, tage a look at the tag's description at . - - - - - - <project_group/> - - - This tag is described for generic components at . You should use it for your application if appropriate. - - - - - - <developer_name/> - - - The <developer_name/> tag is designed to represent the developers or project responsible for development of the project described in the metadata. - - - Values might be for example "The GNOME Foundation" or "The KDE Community". - You must not include hyperlinks or emails in this field, if you want to link to the developer's homepage, use the -tag instead. - - - This tag is translatable. - - - - - - <update_contact/> - - - The <update_contact/> tag is an optional tag which can be added to provide an email address distributors can use to contact the project - about invalid or incomplete metadata, or in case the specification has changed, about old metadata. It can also be used to ask general questions in case of - an update of the component described in the metadata file. Spam protection using _AT_ is valid. - - - Example: - - developer_AT_example.com]]> - - - - -
- -
- Suggested metadata file contents - - - It is useful to add these tags as well if they make sense for the described application. - They are not strictly required to be present though. - - - - - <releases/> - - - The application metainfo may include one <releases/> tag, which - has one or multiple <release/> subnodes to define the version and release date of this - application. For details, see . - - - It is very useful to attach short release-notes to a <release/> using the <description/> - subnode. These release-notes should contain brief information about what is new in the release, in a way which is understandable by non-technical users. - - - - - - <provides/> - - - This tag is described in detail for generic components at . - - - If your application ships a binary in a location in the default PATH, it is useful to add at least a child of type - <binary/> to make it easily possible to find your application's metadata using the name of its binary. - - - - - -
- -
diff -Nru appstream-0.12.10/docs/sources/quickstart/packaging.xml appstream-0.14.5/docs/sources/quickstart/packaging.xml --- appstream-0.12.10/docs/sources/quickstart/packaging.xml 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/sources/quickstart/packaging.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,38 +0,0 @@ - - -%BOOK_ENTITIES; -]> - -
- For distributors packaging Appstream metadata - -
- Guidelines for distributors - - Distributors of projects with AppStream metadata perform an important role - by making the software available to more people. There are a few guidelines - distributors should follow in order for software centers to present - the correct information to users. - -
- -
- Guidelines for distributors - - A binary package that contains AppStream desktop metadata () - must also contain both the .desktop file for the application and the application itself. - - - A binary package must not contain more than one AppStream metadata file. The one exception is - that it is permissable for a binary package that is extended by addons to include those addons - () and their AppStream metadata files. Note that users - will be unable to remove those addons separately. - - - Except for the extended package, no other package may contain more than one Appstream addon metadata file. - - -
- -
diff -Nru appstream-0.12.10/docs/sources/quickstart/Quickstart.xml appstream-0.14.5/docs/sources/quickstart/Quickstart.xml --- appstream-0.12.10/docs/sources/quickstart/Quickstart.xml 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/sources/quickstart/Quickstart.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,22 +0,0 @@ - - -%BOOK_ENTITIES; -]> - - Metadata Quickstart - - These pages are designed to give upstream authors compressed information on how to write metadata - for their applications. - The documents describe just the basic information, and don't resemble the whole specification, to - give upstreams an easy way to get started with AppStream. - - - - - - - - - - diff -Nru appstream-0.12.10/docs/sources/quickstart/translation.xml appstream-0.14.5/docs/sources/quickstart/translation.xml --- appstream-0.12.10/docs/sources/quickstart/translation.xml 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/sources/quickstart/translation.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,143 +0,0 @@ - - -%BOOK_ENTITIES; -]> - -
- Translating Metadata - -
- Introduction - - Most AppStream metadata can be translated, This page contains some practical instructions how to translate the - metadata. - - - - For KDE developers - - If you are a KDE developer and using the KDE infrastructure with it's localization support, you need to do nothing - to get translated metadata. Just place your *.metainfo.xml* (or *.appdata.xml* file) - at a sane place, and the l10n-script will translate the file in-place automatically. - - -
- -
- Translating using Intltool - - If you ship an .xml.in file rather than an .xml file, you can use Intltool to translate the data. - - - Each translatable element in the .xml.in file needs to be prefixed with an underscore (_) to be marked as translatable. - This should include the name, summary, and caption tags, as well as each paragraph in the - description. Apart from that, the same specifications apply to this file as for any other AppStream metadata. - - - - To translate the appstream data, first add the .xml.in file to po/POTFILES.in, along with any other - translatable files. Then create the translation template file <package name>.pot. - - - ]]> - - - For each supported language, copy the template file to po/<language>-[<COUNTRY>].po, where - po/<language> and the optional po/<COUNTRY> are standard two-letter codes. - Edit the file to add translated strings. - - - - As the translatable content is updated, recreate the template file, and update the .po files. - - - ]]> - - - Create the translated .xml with the following command. - - - .xml.in .xml]]> - -
- Integrating with Autotools (the AppStream way) - - The generic way to add translation to your AppStream metadata in case you use Autotools is by using - the following code snippet: - - - - The code assumes you are using the Intltool Automake code. - -
- - -
- Integrating with Autotools (the AppStream-GLib way) - - In case you want to use the macro provided by the AppStream-GLib library, you can use this code snippet: - - - - Make sure you have the additional AppStream macro installed. - -
-
- -
- Translating using Itstool - - - You can also use Itstool for translation. In order to translate an XML file with it, you need an .its file with translation definitions. - An appropriate file for AppStream upstream metadata of any kind can be found here: - - - - - -]]> - - - Save this file as as-metainfo.its for example. - - - - To extract a GNU Gettext .pot file from your XML file, run itstool with the follwing arguments (replacing "foo" with - your project name): - - - - - You can then translate the .pot file using the standard methods for translating files like these. You obtain - .po files, which you can convert into .mo files (using msgfmt) like you would do with any - other localization. Then, you need to call itstool again, to create a translated version of the original XML file: - - - - - Please ensure that the .mo files in $modir are named with their language codes. - - - - - You can find more information about Itstool on their homepage. - - - -
-
diff -Nru appstream-0.12.10/docs/sources/Revision_History.xml appstream-0.14.5/docs/sources/Revision_History.xml --- appstream-0.12.10/docs/sources/Revision_History.xml 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/sources/Revision_History.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ - - -%BOOK_ENTITIES; -]> - - Revision History - - - - 0.0-0 - - - - diff -Nru appstream-0.12.10/docs/sources/services/screenshots.xml appstream-0.14.5/docs/sources/services/screenshots.xml --- appstream-0.12.10/docs/sources/services/screenshots.xml 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/sources/services/screenshots.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,35 +0,0 @@ - - -%BOOK_ENTITIES; -]> - -
- Screenshot service - -
- Introduction - - To make give users an impression on how the application they are about to install will look like, screenshots are provided in the AppStream spec. - But since not all upstream authors ship screenshots, there is a way for distributors to specify a server for screenshots provided by a 3rd-party. - -
- -
- Webservice - - Distributors provide a service like debshots. They can either use the original - debshots web application, which does not only work for Debian but also any other distribution, or they can set up their own service - which mimicks the debshots API (OpenSUSE does that). - - - In order to make a new screenshot service known to software-centers, distributors need to place information about their webservice in the config - file of libappstream, whis is usually located at /etc/appstream.conf. - - - The screenshot data will be inserted transparently into AsScreenshot, if - the distributor has set the configuration flag. - Authors of software-centers don't need to take care of this implementation detail. - -
-
diff -Nru appstream-0.12.10/docs/sources/services/Services.xml appstream-0.14.5/docs/sources/services/Services.xml --- appstream-0.12.10/docs/sources/services/Services.xml 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/sources/services/Services.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ - - -%BOOK_ENTITIES; -]> - - Services - - AppStream provides some services to fetch additional data from. - - - - - - diff -Nru appstream-0.12.10/docs/sources/services/urihandler.xml appstream-0.14.5/docs/sources/services/urihandler.xml --- appstream-0.12.10/docs/sources/services/urihandler.xml 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/docs/sources/services/urihandler.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,73 +0,0 @@ - - -%BOOK_ENTITIES; -]> - -
- URI Handler - -
- Introduction - - In order to allow installation of AppStream components from websites, software-centers implementing AppStream - may choose to also support the appstream: URIs. - - - This allows upstream projects to trigger an installation of their application from their homepage on any supporting - distribution. - It also is helpful for web-based software-centers. - -
- -
- URI schema - - Software centers handling appstream: URIs should provide a handler for the x-scheme-handler/appstream - mimetype. - An AppStream URI follows the schema appstream:%{component-id}. - - - If a component is known by multiple alternative IDs, more component IDs may be defined in a comma-separated list in the query component - of the URI using the alt key. This may be necessary if an application has switched its ID, but the same URI may be called on systems - which still only know the old ID. - Software centers must try to find the initial ID first and, failing to find it in their catalog, may try the alternative IDs in order of appearance - in the query. - - - Example HTML code: - - Install KDE Discover -Install GNOME-Software -Install AppStreamCLI -Install Foo]]> -
- -
- AppStream Buttons - - If you want to allow users to open your software in their local software center from your website, you might want to use - one of the easily recognizable AppStream buttons for your appstream: link. - - - - - - - - SVG - - - - - - - - - - SVG - - - -
-
diff -Nru appstream-0.12.10/docs/style/common/dates-revisions.xsl appstream-0.14.5/docs/style/common/dates-revisions.xsl --- appstream-0.12.10/docs/style/common/dates-revisions.xsl 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/style/common/dates-revisions.xsl 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ??Need EXSLT date support. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru appstream-0.12.10/docs/style/common/gentext.xsl appstream-0.14.5/docs/style/common/gentext.xsl --- appstream-0.12.10/docs/style/common/gentext.xsl 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/style/common/gentext.xsl 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,200 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + Attempt to use %d in gentext with no referrer! + + + + + + + % + + + + + + + + + + + % + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru appstream-0.12.10/docs/style/common/l10n/en.xml appstream-0.14.5/docs/style/common/l10n/en.xml --- appstream-0.12.10/docs/style/common/l10n/en.xml 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/style/common/l10n/en.xml 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,207 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru appstream-0.12.10/docs/style/common/l10n/l10n.dtd appstream-0.14.5/docs/style/common/l10n/l10n.dtd --- appstream-0.12.10/docs/style/common/l10n/l10n.dtd 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/style/common/l10n/l10n.dtd 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru appstream-0.12.10/docs/style/common/l10n/l10n.xml appstream-0.14.5/docs/style/common/l10n/l10n.xml --- appstream-0.12.10/docs/style/common/l10n/l10n.xml 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/style/common/l10n/l10n.xml 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,8 @@ + + +]> + + + &en; + diff -Nru appstream-0.12.10/docs/style/common/l10n.xsl appstream-0.14.5/docs/style/common/l10n.xsl --- appstream-0.12.10/docs/style/common/l10n.xsl 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/style/common/l10n.xsl 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,22 @@ + + + + + + + + guimenustartquote + + + + + + + guimenuendquote + + + + + + diff -Nru appstream-0.12.10/docs/style/common/labels.xsl appstream-0.14.5/docs/style/common/labels.xsl --- appstream-0.12.10/docs/style/common/labels.xsl 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/style/common/labels.xsl 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,20 @@ + + + + + + + diff -Nru appstream-0.12.10/docs/style/common/navigation.xsl appstream-0.14.5/docs/style/common/navigation.xsl --- appstream-0.12.10/docs/style/common/navigation.xsl 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/style/common/navigation.xsl 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Element: + prev: + next: + rootid: + isnext: + isprev: + + + + + + + + + + + + + + + 1 + 0 + + + + diff -Nru appstream-0.12.10/docs/style/common/string-replace.xsl appstream-0.14.5/docs/style/common/string-replace.xsl --- appstream-0.12.10/docs/style/common/string-replace.xsl 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/style/common/string-replace.xsl 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru appstream-0.12.10/docs/style/common/titles.xsl appstream-0.14.5/docs/style/common/titles.xsl --- appstream-0.12.10/docs/style/common/titles.xsl 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/style/common/titles.xsl 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,46 @@ + + + + + + + + + + + + Note + Important + Caution + Warning + Tip + + + + + + admonseparator + + + + + + + + + + + + + diff -Nru appstream-0.12.10/docs/style/common/units.xsl appstream-0.14.5/docs/style/common/units.xsl --- appstream-0.12.10/docs/style/common/units.xsl 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/style/common/units.xsl 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + Unknown unit in + + + + + + + + + + + + + + Unknown unit in + + + + + diff -Nru appstream-0.12.10/docs/style/common/xref.xsl appstream-0.14.5/docs/style/common/xref.xsl --- appstream-0.12.10/docs/style/common/xref.xsl 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/style/common/xref.xsl 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,256 @@ + + + + + + + + + + WARNING: Element cannot be used for intra xref linking. + - affected ID: + - linkend: + + + + + + + + + + + + + + + + , + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + WARNING: Element without title used for intra xref linking. + - affected ID: + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru appstream-0.12.10/docs/style/README.md appstream-0.14.5/docs/style/README.md --- appstream-0.12.10/docs/style/README.md 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/style/README.md 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,29 @@ +## AppStream Documentation XSL Style + +This style is based on the DAPS documentation template made by openSUSE. +it is significantly reduced and lacks a few features present in the original, +also the branding is different. +Check out the original at https://github.com/openSUSE/suse-xsl + +Original license of the style is GPL-2.0 or GPL-3.0: +``` + Copyright (c) 2003-2016, SUSE LLC + + All Rights Reserved. + + This program is free software; you can redistribute it and/or + modify it under the terms of version 2 or version 3 at your choice + of the GNU General Public License as published by the Free Software + Foundation. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, contact SUSE LLC + + To contact SUSE LLC about this file by physical or + electronic mail, you may find current contact information at www.suse.com +``` diff -Nru appstream-0.12.10/docs/style/static/css/style.css appstream-0.14.5/docs/style/static/css/style.css --- appstream-0.12.10/docs/style/static/css/style.css 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/style/static/css/style.css 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,2799 @@ +/* Reset, from http://meyerweb.com/eric/tools/css/reset/, v2.0, modified */ + +html,body,div,span,h1,h2,h3,h4,h5,h6,p,pre,a,code,em,img,s,small,strong,sup,var,b,u,i,dl,dt,dd,ol,ul,.footer ul,li,form,label,table,caption,tbody,tr,td,details,embed,footer,header,menu,nav,output,section,summary,audio,video { +margin:0; +padding:0; +border:0; +font-size:100%; +font:inherit; +vertical-align:baseline; +} + +details, +footer, +header, +menu, +nav, +section { + display: block; +} + +table { + border-collapse: collapse; + border-spacing: 0; +} + +a { + text-decoration: none; +} + + +/* PAGE BOILERPLATE AND NAVIGATION */ + + +/* Common */ + +.clearme { + clear: both; + width: 100%; + height: 0; +} + + +/* Selection colour, the unprefixed Webkit version & the -moz-prefixed + version must be on separate lines for it to work. */ + +::selection { + background-color: #3B80AE; + color: #FFF; +} + +::-moz-selection { + background-color: #3B80AE; + color: #FFF; +} + +body { + background-color: #FFF; + font-family: 'Open Sans', 'DejaVu Sans', Verdana, sans-serif; + line-height: 140%; +} + +html, body { + height: 100%; + min-width: 200px; + font-size: 16px; +} + +.bypass-block { + position: absolute; + left: 0; + z-index: 9753; + overflow: hidden; +} + +.bypass-block>* { + position: absolute; + /* clip is deprecated but works in IE and Edge. clip-path is + newer and more flexible and also less compatible. */ + clip: rect(1px1px1px1px); + clip: rect(1px, 1px, 1px, 1px); + overflow: hidden; + height: 1px; +} + +#_toolbar-bottom, +#_fixed-header-wrap #_bubble-toc, +.documentation, +.page-bottom { + margin: 0 auto; + min-width: 150px; + max-width: 978px; +} + +#_header { + margin: 0 auto; + min-width: 150px; + max-width: 998px; +} + +.single div.part, +.single div.chapter, +.single div.reference, +.single div.index, +.single div.page-bottom { + padding-top: 40px; +} + +#_footer, +#_toolbar-bottom, +.documentation, +.page-bottom { + overflow: hidden; +} + +#_toolbar { + margin: 0 auto; + min-width: 170px; + max-width: 998px; + padding: 0; +} + +#_toolbar a, +#_header a, +.bubble a, +#_toolbar input, +#_toolbar button { + outline: 0; +} + + +/* to be able to position various elements and be able to use z-index*/ + +#_header, +#_content, +#_white-bg, +#_inward, +#_footer, +#_toolbar { + position: relative; +} + +#_white-bg, +#_toolbar, +#_fixed-header { + padding: 0 10px; +} + +#_content { + background: url(../images/dots-gray.png) repeat-x scroll 0 0; + min-height: 139px; + clear: both; + min-width: 150px; + z-index: 0; +} + +#_white-bg { + background-color: #FFF; + z-index: 5; + min-width: 190px; +} + + +/* Header Area */ + +#_logo { + float: left; + margin: 22px 22px 27px 10px; + width: 160px; + height: 42px; +} + +#_logo img { + width: 42px; + height: 42px; + line-height: 55px; + font-weight: 600; + display: inline; + vertical-align: middle; +} + +#_logo span { + color: #333; + text-decoration: none; + font-weight: 600; + vertical-align: baseline; + margin: 0 0 0 5px; + vertical-align: middle; + font-size: 20px; +} + +#_header .crumbs { + position: absolute; + top: 28px; + left: 0; + height: 36px; + margin: 0; + overflow: hidden; + white-space: nowrap; + margin: 0 0 0 182px; + height: 36px; + max-width: calc(100%-120px); +} + +#_header .crumb, +#_header .crumbs>span { + display: inline; + overflow: hidden; +} + +#_fixed-header .crumbs { + padding: 0 10px; +} + +#_header .crumbs>a, +#_header .crumbs>span { + margin: 0 0 0 5px; +} + +#_header .crumbs .lower-level { + margin: 0; +} + +#_fixed-header .crumbs>a { + padding: 0 3px; +} + +.crumbs>span { + color: #666; +} + +.crumbs>a { + color: #333; + text-decoration: none; +} + +.crumbs>a:hover, +.crumbs>a:focus, +.crumbs>a:active { + color: #3B80AE; + text-decoration: none; +} + +#_header .single-crumb { + line-height: 36px; + padding: 0 10px 0 0; + margin: 0 0 0 10px; + height: 36px; + display: inline-block; + vertical-align: bottom; + background-color: #EFEFF0; +} + +#_header .crumbs.active { + height: 49px; +} + +#_header .single-crumb:hover, +#_header .single-crumb:focus, +#_header .single-crumb:active { + background-color: #3B80AE; + color: #FFF; +} + +#_header .single-contents-icon { + width: 36px; + height: 36px; + background-position: -36px 0; + margin: -4px 5px 0 0; + padding: 0; + display: inline-block; + vertical-align: bottom; +} + +.book-icon, +.overview-icon, +.toc-icon, +.find-icon, +.tools-icon { + display: block; +} + +.toc-icon, +.find-icon, +.book-icon, +.prev-icon, +.next-icon, +.overview-icon, +.back-icon, +#_find-button, +.bubble-corner:before, +.single-contents-icon, +#_share-in:before, +.ulink:after { + background-image: url(../images/icons.png); + background-repeat: no-repeat; +} + + +/* A somewhat ugly trick to make the documents look okay even without stylesheet. */ + +.toc-icon, +.overview-icon, +.find-icon, +.book-icon, +.prev-icon, +.next-icon, +#_find-button { + overflow: hidden; + height: 0!important; +} + +.toc-icon, +.find-icon, +#_header .book-icon, +#_header .overview-icon, +.nav-inner .prev-icon, +.nav-inner .next-icon, +#_find-button, +.nav-link .prev-icon, +.nav-link .next-icon { + padding: 36px 0 0; +} + +#_fixed-header .book-icon, +#_fixed-header .overview-icon, +.button .prev-icon, +.button .next-icon { + padding: 15px 0 0; +} + + +/* End ugliness. */ + +#_header .book-link, +#_header .overview-icon { + display: inline-block; + vertical-align: middle; + height: 36px; +} + +.toc-icon, +.find-icon, +#_header .book-icon, +#_header .overview-icon, +#_toolbar .prev-icon, +#_toolbar .next-icon { + width: 36px; +} + +#_header .book-icon { + background-position: 0 0; +} + +#_header a:hover>.book-icon, +#_header a:focus>.book-icon, +#_header a:active>.book-icon { + background-position: 0 -36px; +} + +#_header .book-icon.lower-level { + background-position: -108px 0; +} + +#_header a:hover>.book-icon.lower-level, +#_header a:focus>.book-icon.lower-level, +#_header a:active>.book-icon.lower-level { + background-position: -108px -36px; +} + +#_header .overview-icon { + background-position: -72px 0; +} + +#_header a:hover .overview-icon, +#_header a:focus .overview-icon, +#_header a:active .overview-icon { + background-position: -72px -36px; +} + +#_fixed-header>.crumbs>span, +#_fixed-header>.crumbs>a, +#_fixed-header .single-contents-icon { + display: block; + float: left; +} + +#_fixed-header .book-icon, +#_fixed-header .overview-icon, +#_fixed-header .single-contents-icon { + width: 18px; + margin: 1px 0; +} + +#_fixed-header .book-icon { + background-position: 0 -72px; +} + +#_fixed-header a:hover .book-icon, +#_fixed-header a:focus .book-icon, +#_fixed-header a:active .book-icon { + background-position: -18px -72px; +} + +#_fixed-header .overview-icon { + background-position: -36px -72px; +} + +#_fixed-header a:hover .overview-icon, +#_fixed-header a:focus .overview-icon, +#_fixed-header a:active .overview-icon { + background-position: -54px -72px; +} + +#_fixed-header .single-contents-icon { + background-position: -235px -72px; + height: 15px; +} + +.inactive #_fixed-header a:hover .single-contents-icon, +.inactive #_fixed-header a:focus .single-contents-icon, +.inactive #_fixed-header a:active .single-contents-icon { + background-position: -253px -72px; +} + +.active #_fixed-header .single-contents-icon { + background-position: -271px -72px; +} + +.active #_fixed-header a:hover .single-contents-icon, +.active #_fixed-header a:focus .single-contents-icon, +.active #_fixed-header a:active .single-contents-icon { + background-position: -289px -72px; +} + + +/* Language and Format Pickers */ + +.bubble h6 { + color: #FFF; + border-bottom: 1px solid #FFF; + padding: 10px 0 5px; + display: block; + margin: 0 0 5px; +} + +.back-button { + display: none; +} + + +/* Toolbar */ + +#_toolbar-wrap { + margin: 0 0 15px; + width: 100%; + min-width: 150px; + background-color: #3B80AE; + position: relative; + z-index: 4; +} + +#_toolbar { + height: 56px; + min-width: 150px; +} + +.tool { + text-decoration: none; + display: block; + width: 100%; + overflow: hidden; +} + +#_toc-area { + float: left; + height: 56px; +} + +#_nav-area, +#_find-area { + float: right; + height: 56px; +} + +.tool, +.nav-inner>a.tool-spacer, +.bubble { + /* Clean this up later when browser support is there*/ +} + +.active .active-contents, +.inactive .inactive-contents { + display: block; +} + +.inactive .active-contents, +.active .inactive-contents { + display: none; +} + +.active-contents { + z-index: 6; + position: relative; +} + +#_nav-area { + width: 40%; +} + +#_toc-area, +#_find-area { + width: 30%; +} + +.tool-label { + float: left; + display: block; + vertical-align: middle; + line-height: 56px; + color: #FFF; + font-weight: normal; +} + +#_toc-area-button>.tool-label { + padding: 0 0 0 10px; +} + +.nav-inner>.tool-label { + padding: 0 10px 0 0; +} + +.nav-inner { + float: right; +} + +#_toolbar .tool-spacer { + padding: 10px; + display: block; + float: left; +} + + +/* Fixed Header */ + +.button>.tool-spacer { + padding: 0; + margin: 0; + display: block; +} + +.inactive #_toc-area-button:hover, +.inactive #_toc-area-button:focus, +.inactive #_toc-area-button:active, +.inactive #_find-area-button:hover, +.inactive #_find-area-button:focus, +.inactive #_find-area-button:active, +.nav-inner>a.tool-spacer:hover, +.nav-inner>a.tool-spacer:focus, +.nav-inner>a.tool-spacer:active { + background-color: rgba(255, 255, 255, 0.1); +} + +.active>.tool { + background-color: rgba(255, 255, 255, 0.3); +} + +.toc-icon, +.find-icon, +.tools-icon, +.nav-inner .prev-icon, +.nav-inner .next-icon { + float: left; + display: block; +} + +.toc-icon { + background-position: -144px 0; +} + +.active .toc-icon, +a:hover>.toc-icon, +a:focus>.toc-icon, +a:active>.toc-icon { + background-position: -144px -36px; +} + +.find-icon { + background-position: -180px 0; +} + +.active .find-icon, +a:hover>.find-icon, +a:focus>.find-icon, +a:active>.find-icon { + background-position: -180px -36px; +} + +.nav-inner>a>.prev-icon { + background-position: -252px 0; +} + +.nav-inner>span>.prev-icon { + background-position: -324px 0; +} + +.nav-inner>a:hover>.prev-icon, +.nav-inner>a:focus>.prev-icon, +.nav-inner>a:active>.prev-icon { + background-position: -252px -36px; +} + +.nav-inner>a>.next-icon { + background-position: -288px 0; +} + +.nav-inner>span>.next-icon { + background-position: -324px -36px; +} + +.nav-inner>a:hover>.next-icon, +.nav-inner>a:focus>.next-icon, +.nav-inner>a:active>.next-icon { + background-position: -288px -36px; +} + +.bubble-corner { + width: 0; + height: 0; + border-width: 0 15px 15px; + border-color: transparent transparent #333; + border-style: solid; + position: relative; + z-index: 7; + left: 50%; + margin: 0 0 0 -15px; +} + +.bubble-corner:before { + background-position: -324px -72px; + width: 36px; + height: 15px; + border: none; + margin: 0 0 0 -3px; +} + +.bubble { + background-color: #333; + z-index: 8; +} + +#_toolbar .bubble, +#_header .bubble { + position: absolute; +} + +#_toc-area>.bubble, +#_find-area>.bubble, +#_toc-bubble-wrap>.bubble {} + +#_fixed-header-wrap .bubble { + position: relative; + margin: 4px 0 -3px; +} + +#_toc-area>.bubble-corner, +#_find-area>.bubble-corner { + top: -3px; +} + +#_toc-area>.bubble, +#_find-area>.bubble { + left: 0; + width: 100%; + padding: 0; + top: 66px; +} + +#_toc-bubble-wrap>.bubble { + min-width: 150px; + max-width: 1004px; + padding: 10px; + margin: 0 auto; +} + +#_toc-bubble-wrap { + position: absolute; + top: 82px; + left: 0; + display: none; + height: auto; + width: 100%; +} + +#_toc-bubble-wrap.active { + display: block; +} + +#_toolbar .bubble-container { + padding: 0 10px 10px; +} + +#_fixed-header-wrap .bubble-container { + padding: 10px; +} + + +/* Fallback for TOC bubble when Javascript is off. */ + +.js-off .inactive:hover .active-contents, +.js-off .inactive:focus .active-contents { + display: block!important; +} + + +/* We only need this to make sure the bubble does not close when the user is + hovering over the TOC button and then mouses over the gap between the button + and the bubble. */ + +.js-off .bubble:before { + content: ''; + background-color: transparent; + position: absolute; + top: -15px; + height: 15px; + width: 100%; +} + +#_bubble-toc { + overflow: hidden; + height: 400px; + position: relative; +} + +#_bubble-toc ol { + overflow: auto; +} + +#_bubble-toc>ol { + width: 50%; + padding: 0; + margin: 0; + background-color: #333; + height: 100%; + border-right: 1px solid #666; +} + +#_bubble-toc>ol.full-width { + width: 100%; + border-right: none; +} + +#_toc-area>.bubble a, +#_find-area>bubble a, +#_fixed-header-wrap>.bubble a, +#_toc-bubble-wrap>.bubble a { + color: #FFF; + display: block; + text-decoration: none; + padding: 5px 25px 5px 5px; + line-height: 22px; +} + +#_bubble-toc .active ol { + display: block; + position: absolute; + right: -2px; + top: 0; + width: 50%; + background-color: #333; + padding: 0; + margin: 0 1px 0 0; + height: 100%; + border-left: 1px solid #666; +} + +#_bubble-toc .inactive ol { + display: none!important; +} + +#_bubble-toc .inactive a:hover { + color: #FFF; + background-color: #666; +} + +#_bubble-toc .active>a, +#_bubble-toc .inactive>a { + padding: 5px 30px 5px 5px; +} + +#_bubble-toc .active>a { + background-color: #4F669D; + color: #FFF; +} + +#_bubble-toc .active { + background-color: #666; +} + +#_bubble-toc .inactive:hover { + background-color: #999; +} + +#_bubble-toc a { + display: block; + position: relative; +} + +#_bubble-toc li { + display: block; + clear: both; +} + +.bubble a:hover, +.bubble a:focus, +.bubble a:active { + text-decoration: underline; + background-color: #666; +} + +#_bubble-toc .bubble-back { + display: none; +} + +#_find-area form { + margin: 0 0 0 50%!important; +} + +.find-form { + padding: 10px; + margin: 0 0 0 -110px; + display: block; + width: 200px; +} + +#_find-input { + width: 155px; + height: 34px; + padding: 0 20px 0 5px; + font: 16px 'Open Sans', Helvetica, FreeSans, sans-serif; + display: block; + background-color: #FFF; + border: 1px solid #CCE9A7; + float: left; + z-index: 0; +} + +#_find-input:focus { + background-color: #FFF; + border: 1px solid #FFF; +} + +#_find-input:focus+#_find-button { + background-position: -180px 0!important; +} + +#_find-button { + width: 36px; + display: block; + margin: 0 0 0 -18px; + background-position: -180px 0; + float: left; + border: 0; + background-color: transparent; +} + +#_find-input:focus+#_find-button:hover, +#_find-button:active { + background-position: -180px -36px!important; +} + +button:focus::-moz-focus-inner, +button::-moz-focus-inner { + border: none; +} + +#_find-input-label { + cursor: text; + line-height: 36px; + height: 36px; + position: relative; + left: 5px; + top: -36px; + z-index: 2; + color: #666; + font-style: italic; + display: none; + float: left; + /* Clear this out later. */ +} + + +/* Smaller, fixed header */ + +#_fixed-header-wrap { + z-index: 3; + position: fixed; + top: 0; + width: 100%; + border-bottom: 1px solid #CCC; + background-color: #EFEFF0; + padding: 3px 0; + line-height: 100%; +} + +#_fixed-header { + max-width: 998px; + min-width: 130px; + display: block; + font-size: 12px; + margin: 0 auto; +} + +.buttons { + display: block; + float: right; + margin: 0 10px 0 5px; +} + +.button { + margin-left: 10px; +} + +.button>.tool-spacer { + display: block; + float: left; +} + +.button { + float: left; +} + +.button .prev-icon, +.button .next-icon { + width: 18px; + margin: 1px 0; + display: block; +} + +.top-button { + color: #333; +} + +.top-button:hover, +.top-button:focus, +.top-button:active { + text-decoration: none; + color: #3B80AE; +} + +.button>a>.prev-icon { + background-position: -72px -72px; +} + +.button>span>.prev-icon { + background-position: -180px -72px; +} + +.button>a:hover>.prev-icon, +.button>a:focus>.prev-icon, +.button>a:active>.prev-icon { + background-position: -90px -72px; +} + +.button>a>.next-icon { + background-position: -144px -72px; +} + +.button>span>.next-icon { + background-position: -198px -72px; +} + +.button>a:hover>.next-icon, +.button>a:focus>.next-icon, +.button>a:active>.next-icon { + background-position: -162px -72px; +} + + +/* Page bottom */ + +.page-bottom { + margin-top: 30px; + margin-bottom: 80px; + padding: 10px 20px 0; +} + +#_bottom-navigation { + border-top: 1px solid #999; +} + +.nav-link { + display: block; + clear: both; + margin: 20px 0 0; + height: 36px; + overflow: hidden; +} + +.nav-link>.prev-icon, +.nav-link>.next-icon { + width: 36px; + height: 36px; + display: block; + float: left; + margin: 0 10px 0 0; +} + +.nav-link>.prev-icon { + background-position: -360px 0; +} + +.nav-link:hover>.prev-icon { + background-position: -360px -36px; +} + +.nav-link>.next-icon { + background-position: -396px 0; +} + +.nav-link:hover>.next-icon { + background-position: -396px -36px; +} + +.nav-label { + line-height: 36px; + display: block; + color: #333; + height: 36px; + text-decoration: none; +} + +.nav-link:hover>.nav-label, +.nav-link:focus>.nav-label, +.nav-link:active>.nav-label { + color: #3B80AE; +} + +.bottom-button { + cursor: pointer; + display: inline-block; + border: 1px solid rgba(20, 20, 20, 0.2); + padding: 0 7px; + color: #333; + background-color: #EFEFF0; + font-size: 14px; + height: 22px; +} + +#_share-in:before { + content: " "; + line-height: 22px; + font-size: 14px; + font-weight: 600; + height: 22px; + width: 16px; + display: block; + float: left; + text-align: center; + border: 1px solid rgba(20, 20, 20, 0.2); + margin: -1px 6px -2px -8px; + overflow: hidden; +} + +#_share-in:before { + background-color: #0073B1; + background-position: -289px -88px; +} + +.bottom-button:hover, +.bottom-button:focus, +.bottom-button:active { + border: 1px solid rgba(20, 20, 20, 0.5); + background: #DEDEDE; +} + +.bottom-button:hover:before, +.bottom-button:focus:before, +.bottom-button:active:before { + border-top: 1px solid rgba(20, 20, 20, 0.5); + border-left: 1px solid rgba(20, 20, 20, 0.5); + border-bottom: 1px solid rgba(20, 20, 20, 0.5); +} + +.offline .online-contents { + visibility: hidden; +} + +.share { + display: block; +} + +.share { + float: left; +} + + +/* Footer and associated madness, see: http://ryanfait.com/resources/footer-stick-to-bottom-of-page/ */ + +#_inward, +#_footer-wrap { + height: 80px; +} + +#_inward { + z-index: -1; +} + +#_footer-wrap { + width: 100%; + overflow: hidden; + background-color: #EFEFF0; +} + +#_outer-wrap { + min-height: 100%; + height: auto!important; + height: 100%; + margin: 0 auto -80px; +} + + +/* Footer contents */ + +#_footer { + font-family: Helvetica, FreeSans, sans-serif; + z-index: 2; + /* Else, #_inward overlays the footer */ + min-width: 130px; + max-width: 988px; + margin: 0 auto; + padding: 0 20px; +} + +#_footer>ul { + padding: 0; +} + +#_footer li, +#_footer>p { + display: block; + float: left; + line-height: 80px; + margin: 0 30px 0 0; + font-size: 12px; +} + +#_footer a { + text-decoration: none; + color: #666; +} + +#_footer a:hover, +#_footer a:focus, +#_footer a:active { + text-decoration: underline; + color: #76AD2D; +} + +#_footer>p { + color: #333; +} + +/* .CHAPTER/... AREA */ + +.documentation { + padding: 0 20px; +} + +/* We need to scroll ~30 pixels up, such that the headline won't be hidden by the fixed header. */ + +/* [attribute] selector works in IE 7+. Firefox, Opera and Webkit-based browsers had it far earlier. */ + +.documentation a[id] { + position: relative; + top: -33px; + display: block; + width: 0; + height: 0; +} + +[id]:target>span, +.admonition[id]:target>h6 { + background-color: rgba(255, 255, 0, 0.3); + /* Clean the below up in Q3 2013 or so... */ +} + +.ulink:after { + content: "\0020\2197"; + color: transparent; + width: 18px; + height: 15px; + display: inline-block; + text-decoration: none; + background-position: -216px -72px; + background-repeat: no-repeat; + position: relative; + top: 2px; +} + +.legalnotice .ulink:after { + background-position: -216px -101px; + width: 15px; + height: 10px; +} + +.ulink-url { + display: none; +} + +.verbatim-wrap a[id] { + display: none; +} + +div.version-info { + color: #3B80AE; + font-weight: normal; + background-color: rgba(255, 255, 255, 0.7); + padding: 3px 5px; + line-height: 120%; + float: right; + margin: 5px 0 10px; + font-size: 13px; +} + +.single div.version-info { + position: relative; + top: 70px; +} + +h6.version-info { + margin: 75px 0 0; + padding: 5px 7px; + font-size: 24px; + color: #FFF; + background-color: #729FCF; + float: left; + line-height: 100%; +} + +.book h6.version-info+div h1.title, +.set h6.version-info+div h1.title { + padding-top: 0; +} + +.book .title, +.set .title { + font-size: 48px; + font-weight: 600; + line-height: 120%; + width: auto; + clear: both; + color: #3B80AE; + padding: 70px 0 50px; +} + +.set .subtitle, +.book .subtitle { + font-size: 28px; + font-weight: normal; + margin: -40px 0 50px; + line-height: 120%; + width: 100%; + clear: both; +} + +.title, +.chapter .title, +.reference .title, +.part .title { + font-size: 36px; + font-weight: normal; + padding: 30px 0 5px; + line-height: 120%; + width: 100%; + clear: both; +} + +.single .title, +.single .chapter .title, +.single .reference .title, +.single .part .title { + padding-top: 100px; +} + +.sect1 .subtitle, +.chapter .subtitle { + font-size: 16px; + font-weight: normal; + padding: 10px 0 20px; + margin: 0; + line-height: 120%; + width: 100%; + clear: both; +} + +.sect1 .title, +.single .sect1 .title { + font-size: 28px; + font-weight: normal; + padding: 50px 0 5px; + text-align: left; +} + +.sect2 .title, +.single .sect2 .title { + font-size: 22px; + padding: 40px 0 0; + text-align: left; +} + +.sect3 .title, +.single .sect3 .title, +h2 { + font-size: 20px; + font-weight: normal; + padding: 33px 0 0; + text-align: left; +} + +.sect4 .title, +.single .sect4 .title, +.sect5 .title, +.single .sect5 .title { + font-size: 16px; + padding: 53px 0 0; + margin: 0 0 -33px; + position: relative; + top: -33px; + z-index: 1; + text-align: left; +} + +.sect4 .title { + font-weight: 600!important; +} + +.sect5 .title { + font-weight: normal!important; +} + +.name, +h2 { + color: #3B80AE; +} + +a:hover .name, +a:focus .name, +a:active .name { + text-decoration: underline; +} + +.bubble a:hover>.name, +.bubble a:focus>.name, +.bubble a:active>.name { + text-decoration: none; +} + +.number, +.subtitle { + color: #666; +} + +.title em, +.subtitle em { + font-style: normal; +} + +.nav-link:hover .number, +.nav-link:focus .number, +.nav-link:active .number { + color: #729FCF; +} + +#_bubble-toc .number { + color: #CCC; +} + +#_bubble-toc .name { + color: #FFF; +} + +.permalink, +.report-bug { + font-weight: normal; + text-decoration: none; + /* Clean the below up in Q3 2013 or so... */ +} + +.permalink { + font-size: 75%; + color: #999; + line-height: 100%; +} + +.report-bug { + color: #333; + font-size: 10px; + height: 15px; + line-height: 15px; + overflow: hidden; + padding: 0 3px; + border-bottom: 1px solid #FFF; + background-color: #EEE; + text-transform: uppercase; + display: inline-block; + float: right; +} + +.permalink:hover, +.permalink:focus, +.permalink:active, +.report-bug:hover, +.report-bug:focus, +.report-bug:active { + color: #3B80AE; + text-decoration: none!important; +} + +:hover>.permalink, +:hover>.report-bug {} + +.report-bug:hover, +.report-bug:focus, +.report-bug:active { + color: #000; + border-color: #333; + background-color: #DDD; +} + +.line>.toc { + padding: 0 30px 24px; +} + +.line { + margin: 17px 0 36px; + border-bottom: 1px solid #3B80AE; + width: 100%; +} + +.toc a { + text-decoration: none; +} + +.legalnotice { + margin: 40px 0 0; + padding: 10px 0 0; +} + +.legalnotice p, +.legalnotice td { + font-size: 12px; + color: #666; + line-height: 140%; + margin: 5px 0 0; +} + + +/* Thou shalt not ... */ + +.admonition { + border-width: 1px; + border-style: solid; + padding: 10px; + margin: 17px 0 24px; +} + +.note { + border-color: #666; + background: #FFF url(../images/dots-darkgray.png) repeat-x scroll top; +} + +.note ul, +.note .orderedlist, +.warning ul, +.warning .orderedlist { + color: #666; +} + +.important { + border-color: #BB7B03; + background: #FFF url(../images/dots-orange.png) repeat-x scroll top; +} + +.important ul, +.important .orderedlist { + color: #BB7B03; +} + +.warning { + border-color: #8C0000; + background: #FFF url(../images/dots-red.png) repeat-x scroll top; +} + +.admonition>h6 { + font-weight: 600; + vertical-align: middle; + display: table-cell; + height: 36px; +} + +.note>h6 { + color: #333; +} + +.important>h6 { + color: #BB7B03; +} + +.warning>h6 { + color: #8C0000; +} + +.symbol { + width: 36px; + height: 36px; + margin: 0 10px 0 0; + background-repeat: no-repeat; + float: left; + overflow: hidden; +} + +.admonition p { + margin: 10px 0 0!important; +} + + +/* Text styles */ + +.documentation span, +.documentation a, +.documentation p, +.documentation em, +.documentation strong { + position: relative; + z-index: 2; +} + +em, +i { + font-style: italic; +} + +.question em { + font-style: normal; + /* Don't use italics within italics... */ +} + +strong, +b, +.imprint-label, +.version-info .productname, +.version-info .productnumber, +.toc-title { + font-weight: 600; +} + +p, +td {} + +.ulink, +.email {} + +p { + color: #000; + text-align: left; + margin: 10px 0 0; +} + +.abstract { + margin: 24px 0 0; + font-size: 18px; + line-height: 140%; +} + +.abstract p, +.toc-title { + color: #333; +} + +.abstract p:first-child { + margin-top: 0; +} + +.abstract .titlepage { + display: none; +} + +.abstract .titlepage+p { + margin-top: 0; +} + +.abstract li:first-child p:first-child { + margin-top: 0; +} + +.abstract+.authorgroup, +.abstract+.corpauthor, +.abstract+.editor, +.abstract+.date { + margin: 10px 0 0; +} + +.authorgroup, +.editor, +.date { + color: #333; +} + +.ulink, +.link, +.xref, +.email { + color: #3B80AE; + text-decoration: none; +} + +.title .xref, +.subtitle .xref, +.table-title .xref, +.example-title .xref, +.procedure-title .xref, +.orderedlist-title .xref, +.itemizedlist-title .xref, +.variablelist-title .xref, +.title .link, +.subtitle .link, +.table-title .link, +.example-title .link, +.procedure-title .link, +.orderedlist-title .link, +.itemizedlist-title .link, +.variablelist-title .link, +.title .ulink, +.subtitle .ulink, +.table-title .ulink, +.example-title .ulink, +.procedure-title .ulink, +.orderedlist-title .ulink, +.itemizedlist-title .ulink, +.variablelist-title .ulink { + text-decoration: underline; +} + +.xref:hover, +.xref:focus, +.xref:active, +.xref:visited:hover, +.xref:visited:focus, +.xref:visited:active, +.link:hover, +.link:focus, +.link:active, +.link:visited:hover, +.link:visited:focus, +.link:visited:active, +.ulink:hover, +.ulink:focus, +.ulink:active, +.ulink:visited:hover, +.ulink:visited:focus, +.ulink:visited:active, +.email:hover, +.email:focus, +.email:active, +.email:visited:hover, +.email:visited:focus, +.email:visited:active { + color: #3B80AE; + text-decoration: underline; +} + +.xref:visited, +.ulink:visited, +.link:visited, +.email:visited { + color: #5C3566; +} + +.title .xref:hover, +.title .xref:focus, +.title .xref:active, +.subtitle .xref:hover, +.subtitle .xref:focus, +.subtitle .xref:active, +.table-title .xref:hover, +.table-title .xref:focus, +.table-title .xref:active, +.example-title .xref:hover, +.example-title .xref:focus, +.example-title .xref:active, +.procedure-title .xref:hover, +.procedure-title .xref:focus, +.procedure-title .xref:active, +.orderedlist-title .xref:hover, +.orderedlist-title .xref:focus, +.orderedlist-title .xref:active, +.itemizedlist-title .xref:hover, +.itemizedlist-title .xref:focus, +.itemizedlist-title .xref:active, +.variablelist-title .xref:hover, +.variablelist-title .xref:focus, +.variablelist-title .xref:active { + color: #3B80AE; + text-decoration: none; +} + +p a:visited { + color: #5C3566; +} + +code, +.command, +.package { + font-family: 'DejaVu Sans Mono', DejaVuSansMono, Menlo, 'Andale Mono', monospace; + font-weight: normal; + padding: 0 4px; + border-bottom: 1px solid #C1C1C3; + color: #333; + text-transform: none; + display: inline-block; + line-height: 120%; +} + +.verbatim-wrap code, +.verbatim-wrap .command, +.verbatim-wrap .literal, +.verbatim-wrap .package { + /* + Avoid transforming this: + prompt $ very-long-\ + command + + to output looking like this (bad!): + very-long-\ + prompt $ command + + instead of this (goood!): + prompt $ very-long-\ + command + + */ + display: inline; +} + +code, +.command, +.literal, +.package { + font-style: normal; +} + + +/* Not quite sure if that is the best way to make sure no text inside code gets +paddings/borders... In some rare case, there might e.g. be an image inside a +code/etc. element and then this might backfire. */ + +code *, +.literal *, +.package * { + padding: 0; + border: none; +} + +.name code, +a code, +.admonition h6 code, +.name .literal, +a .literal, +.admonition h6 .literal, +.name .package, +a .package, +.admonition h6 .package { + color: inherit; +} + +.admonition h6 code { + border-color: #D1D1D3; +} + +code, +.literal, +.package { + font-weight: normal; +} + +.command { + font-weight: 600; +} + + +/* This elements exists solely to avoid the scrollbar overlaying the rounded + corners and the padding becoming inconsistent. */ + +.verbatim-wrap { + padding: 10px; + background-color: #EFEFF0; + margin: 5px 0; + border: 1px solid #999; +} + +.example .verbatim-wrap { + margin: 10px 0 24px; +} + +.screen, +.programlisting, +.userinput { + font: normal 13px 'DejaVu Sans Mono', DejaVuSansMono, Menlo, 'Andale Mono', monospace; + color: #333; + line-height: 125%; +} + +.verbatim-wrap>div, +.verbatim-wrap pre { + display: block; + width: 100%; + overflow: auto; + text-align: left; +} + +.verbatim-wrap code, +.verbatim-wrap .literal, +.verbatim-wrap .package { + background-color: transparent; + font-size: 100%; + border: none; + padding: 0; +} + +.verbatim-wrap code { + color: #333; +} + +.verbatim-wrap .command { + color: #204A87; +} + +.complex-example .example-contents { + margin: 5px 0; + padding: 3px 15px 6px 12px; + border-left: 3px solid #999; + background-color: #F9F9F9; +} + +.variablelist, +.toc { + margin: 24px 0; +} + +.line>.toc { + margin: 0; +} + +.variablelist dt { + font-weight: 600; + color: #000; + padding-top: 33px; + margin: 0 0 -33px; + position: relative; + top: -33px; + z-index: 1; +} + +.toc dt { + margin-bottom: 5px; +} + +.toc dt *, +#_bubble-toc li * { + font-weight: normal; + font-style: normal; + border-bottom: none; + display: inline; + padding: 0; +} + +.variablelist dd, +.toc dd { + margin: 0 0 17px; + padding: 0 0 0 30px; +} + +.list-of-examples dl { + margin: 5px 0 17px; + padding: 0 0 0 30px; +} + +.variablelist dd>p, +.toc dd>p { + margin: 0; +} + +.inlinemediaobject img { + display: inline-block; + vertical-align: -15%; + max-height: 20px; + padding: 0 3px; +} + +a:hover code, +a:focus code, +a:active code, +a:hover .literal, +a:focus .literal, +a:active .literal, +a:hover .package, +a:focus .package, +a:active .package { + border-color: #439239; +} + + +/* We put an ndash character between keycaps that are part of an accelerator */ + +.procedure-title, +.table-title, +.example-title, +.orderedlist-title, +.variablelist-title, +.itemizedlist-title { + font-size: 14px; + font-weight: normal; + text-transform: uppercase; + text-align: left; + line-height: 120%; +} + +.table-title, +.example-title, +.procedure-title, +.variablelist-title, +.itemizedlist-title { + position: relative; + top: -33px; + padding-top: 33px; + z-index: 1; +} + +.example-title, +.procedure-title, +.orderedlist-title { + margin: 24px 0 -33px; +} + +.itemizedlist-title { + margin: 24px 0 -41px; +} + +.table-title { + margin: 24px 0 -23px; +} + +.variablelist-title { + margin: 24px 0 -50px; +} + +.free-id { + position: relative; + top: -33px; + left: -1px; + width: .01px; + height: .01px; +} + +.procedure-title code, +.procedure-title .literal, +.procedure-title .package, +.table-title code, +.table-title .literal, +.table-title .package, +.example-title code, +.example-title .literal, +.example-title .package, +.orderedlist-title code, +.orderedlist-title .literal, +.orderedlist-title .package, +.variablelist-title code, +.variablelist-title .literal, +.variablelist-title .package, +.itemizedlist-title code, +.itemizedlist-title .literal, +.itemizedlist-title .package { + text-transform: none; +} + +.procedure-contents { + border-left: 3px solid #8CA4C0; + font-weight: normal; + margin: 17px 0; + /* Up top, 3px of padding look better than 5 would (with line-height interfering etc.). + On the left, we use 5px-3px of border, so it sits right there with any other lists etc. */ + padding: 3px 5px 6px 2px; + background-color: #F6F8FA; + display: block; +} + +.procedure-title-wrap+.procedure-contents { + margin: 10px 0 24px; +} + +.procedure-contents>p:first-child, +.procedure-contents>ol:first-child>li:first-child>p:first-child { + margin-top: 0; +} + +.procedure-contents>.admonition { + margin-top: 4px; +} + +.procedure-contents>p, +.procedure-contents>.admonition { + margin-left: 12px; + margin-right: 17px; +} + +ol.procedure, +ol.orderedlist { + display: block; + color: #3B80AE; + font-weight: 600; +} + +ol.procedure, +ol.orderedlist { + font-weight: normal; +} + +ol.procedure { + padding: 0 0 0 30px; + margin: 0 10px; +} + +ol.procedure .title { + font-size: 16px; + color: #333; + font-weight: 600; + padding: 0; +} + +ol.orderedlist { + padding: 0 0 0 35px; + margin: 0 0 0 10px; +} + +.orderedlist-title-wrap+ol.orderedlist { + margin-top: 40px; +} + +ol.procedure, +ol.orderedlist { + list-style-type: decimal; +} + +.table-contents, +.informaltable { + /* Yup, let's make this scroll... While ugly, there seems to be no better + way to avoid the table running off the page border...(?) */ + overflow: auto; +} + +.table-contents { + margin: 0 0 24px; +} + +.informaltable { + margin: 10px 0 24px; +} + +.informaltable { + margin: 10px 0 24px; +} + +.example-contents>.informaltable { + margin: 0; + padding: 0; +} + +.example-contents>.informaltable>table { + margin: 10px 0 0; + padding: 0; +} + +.table table, +.informaltable table { + border: 1px solid #999; + max-width: 100%; + border-spacing: 0; + table-layout: fixed; +} + +table p, +.informaltable table p { + margin: 0; +} + +.table td, +.informaltable td { + margin: 0; + padding: 3px 5px; + overflow: hidden; + vertical-align: middle; +} + +.table td[colspan], +.informaltable td[colspan], +.table td[rowspan], +.informaltable td[rowspan] { + background-color: #FFF; +} + +.table td[colspan], +.informaltable td[colspan], +.table td[rowspan], +.informaltable td[rowspan] { + border: 1px solid #999; +} + +.table td[valign="top"], +.informaltable td[valign="top"] { + vertical-align: top; +} + +.table td[valign="bottom"], +.informaltable td[valign="bottom"] { + vertical-align: bottom; +} + +.table td[rowspan], +.informaltable td[rowspan] { + background-color: #FFF; +} + +.table td, +.informaltable td { + vertical-align: middle; + border-right: 1px solid #999; +} + +.table tr:nth-child(even), +.informaltable tr:nth-child(even) { + background-color: #EFEFF0; +} + +ul { + padding: 5px 0 0 35px; + margin: 0 10px; + display: block; + color: #3B80AE; + list-style-type: disc; +} + +.answer .table-title, +.answer .verbatim-wrap, +.answer .variablelist { + margin-top: 10px; +} + +li>p { + font-weight: normal; +} + +.procedure>p { + margin: 0 10px 5px; +} + +div.itemizedlist { + margin: 0 0 24px; +} + +.question, +.question code, +.question .literal, +.question .package { + color: #666; +} + +.question { + font-style: italic; +} + +.js-on .question { + cursor: pointer; +} + +.js-on .question:hover, +.js-on .question:focus, +.js-on .active .question { + color: #000; +} + +.js-on .question:hover code, +.js-on .question:focus code, +.js-on .active .question code, +.js-on .question:hover .literal, +.js-on .question:focus .literal, +.js-on .active .question .literal, +.js-on .question:hover .package, +.js-on .question:focus .package, +.js-on .active .question .package { + color: #333; +} + +.question { + position: relative; +} + +.answer { + padding: 0 0 17px; +} + +.js-on .question:before { + content: ''; + display: inline-block; + margin: 4px 0 0; + width: 17px; + height: 15px; + background-image: url(../images/arrow.png); + background-position: -98px 0; + background-repeat: no-repeat; +} + +.js-on .question:hover:before, +.js-on .question:focus:before { + background-position: -8px 0; +} + +.js-on .active .question:before { + background-position: -70px 0; +} + +.js-on .answer { + display: none; +} + + +/* Review features */ + +.doc-status { + font-style: normal; + font-weight: normal; +} + +.doc-status { + padding: 10px; + background-color: #E6E0E8; + color: #000; +} + +#_content>.doc-status { + margin: 0 auto; + min-width: 380px; + max-width: 978px; +} + +.doc-status li { + color: #000; +} + +@page { + margin: 20mm 22.5mm 22.5mm; +} + +@media print { + #_header .book-icon { + height: 36px!important; + line-height: 34px; + padding: 0; + width: auto; + background-image: none; + color: #202020; + } + .documentation { + padding: 0; + } + #_fixed-header-wrap, + #_toolbar-wrap, + #_inward, + #_footer-wrap, + #_bottom-navigation { + display: none; + } + .permalink, + .report-bug { + display: none; + } + .admonition, + p, + table { + /* Aumngh! Gecko does not interpret this. bmo#132035, 13 dupes, open + since 2002. Webkit is cool, though. */ + page-break-inside: avoid; + } + .title { + page-break-after: avoid; + } + .ulink:after { + color: inherit; + background-image: none; + width: auto; + height: auto; + } + .ulink-url { + display: inline; + } +} + +@media only screen and max-width 800px { + .share { + float: right; + } +} + +@media only screen and max-width 700px { + .find-form { + margin: 0 0 0 -72.5px; + width: 125px; + } + #_find-input { + width: 80px; + } +} + +@media only screen and max-width 640px { + /* Turn the following on again, when we have re-enabled the Find area. */ + /* + #_toolbar { + height: 98px; + } + */ + #_toc-area, + #_nav-area { + width: 49.98%; + } + #_find-area { + height: 42px; + background-color: #3B80AE; + width: 100%; + padding: 0!important; + overflow: hidden; + } + #_find-area form { + margin: 0!important; + } + .find-form { + padding: 10px; + margin: 0; + display: block; + width: 100%; + } + #_find-input { + width: calc(100%-44px); + height: 20px; + margin: 0 auto; + padding: 0 20px 0 1px; + font-size: 13px; + border: 1px solid #CDE8A8; + } + #_find-input:focus { + border: 1px solid #FFF; + } + #_find-input:focus+#_find-button { + background-position: -108px -72px!important; + } + #_find-input:focus+#_find-button:hover { + background-position: -126px -72px!important; + } + #_find-input-label { + line-height: 20px; + height: 20px; + left: 3px; + top: -21px; + font-size: 13px; + clear: both; + } +} + +@media only screen and max-width 600px { + .share-buttons { + display: block; + float: right; + clear: both; + } +} + + +/* Mobile layout */ + +@media only screen and max-width 480px { + #_white-bg, + #_toolbar, + #_fixed-header { + padding: 0; + } + #_footer, + .documentation { + padding: 0 10px; + } + #_toc-area, + #_nav-area { + width: 100%; + } + #_toolbar { + min-height: 113px; + } + #_toolbar.only-toc, + #_toolbar.only-nav { + min-height: 56px; + } + .only-toc #_nav-area, + .only-nav #_toc-area { + display: none; + } + #_bubble-toc, + #_toc-bubble-wrap>.bubble, + #_fixed-header-wrap>.bubble { + max-height: 300px; + } + #_nav-area { + border-top: 1px solid #729FCF; + } + .nav-inner>.tool-spacer { + position: absolute; + } + .nav-inner>.tool-spacer:nth-child(2) { + left: 0; + } + .nav-inner>.tool-spacer:nth-child(3) { + right: 0; + } + .nav-inner>.tool-label { + padding: 0 10px; + margin: 0 56px; + float: left; + } + .nav-inner { + float: none; + width: auto; + } + .crumbs>*+* { + display: none!important; + } + #_header .single-crumb { + padding-right: 0; + width: 36px!important; + z-index: 12; + position: relative; + } + #_header .active .single-crumb { + padding-right: 10px; + width: 100%!important; + position: fixed; + left: 0; + top: 0; + min-height: 35px; + background-color: #333; + border-bottom: 1px solid #FFF; + color: #FFF; + padding: 0 10px; + } + #_header .active .single-contents-icon { + background-position: -72px -87px; + width: 24px; + height: 24px; + float: right; + margin-top: 5px; + margin-right: 20px; + } + #_header>.crumbs { + right: 10px; + left: auto; + } + #_logo { + margin-right: 10px; + margin-left: 53px; + } + #_header .single-contents-icon:hover, + #_header .single-contents-icon:focus, + #_header .single-contents-icon:active { + background-position: -36px -36px; + } + #_toolbar .active .bubble-corner { + display: none; + } + #_toolbar .bubble { + position: fixed; + top: 0; + height: auto; + z-index: 7; + height: 100%; + } + #_bubble-toc { + height: auto; + max-height: 2000%; + position: relative; + top: 45px; + overflow: hidden; + padding-bottom: 5px; + } + #_toc-bubble-wrap #_bubble-toc { + top: 35px; + } + #_toc-bubble-wrap .bubble { + height: 100%; + max-height: 100%; + } + #_bubble-toc ol, + #_bubble-toc .active ol { + width: 100%; + border: none; + background-color: #333; + } + #_bubble-toc .active ol { + z-index: 8; + right: -1px; + } + .bubble-container { + position: relative; + width: auto; + height: 100%; + z-index: 7; + } + #_header .active .single-contents-icon:hover, + #_header .active .single-contents-icon:focus, + #_header .active .single-contents-icon:active { + background-position: -96px -87px; + } + .bubble h6 { + min-height: 24px; + } + #_bubble-toc .bubble-back { + display: block; + margin-top: 45px; + } + #_bubble-toc .bubble-back a { + padding-top: 4px; + padding-bottom: 4px; + } + #_bubble-toc ol ol li { + margin-left: 10px; + margin-right: 10px; + } + #_bubble-toc ol ol li:last-child { + margin-bottom: 5px; + } + #_bubble-toc .active ol { + position: fixed; + top: 0; + left: 0; + height: 100%; + z-index: 8; + } + .back-icon { + width: 24px; + height: 24px; + background-position: -120px -87px; + display: block; + } + .bubble-back:hover .back-icon, + .bubble-back:focus .back-icon, + .bubble-back:active .back-icon { + background-position: -144px -87px; + } + #_toc-area .bubble h6 { + position: fixed; + background-color: #333; + z-index: 9; + left: 0; + top: 0; + padding-left: 10px; + padding-right: 10px; + width: calc(100%-20px); + } + #_toc-bubble-wrap { + position: fixed; + top: 0; + left: 0; + z-index: 6; + height: 100%; + background-color: #333; + } + #_white-bg { + position: static; + } + #_fixed-header-wrap { + display: none; + } + .share { + float: none; + } + .share>strong { + float: left; + } + .share-buttons { + float: none; + } + .share-buttons>.spacer { + display: none; + } + .bottom-button { + padding: 10px; + display: block; + float: left; + width: calc(50%-22px); + } + #_share-in:before { + border-width: 1px; + margin-left: 0; + } + .line>.toc { + padding-left: 0; + padding-right: 0; + } + /* The page probably is not wide enough anymore for inline-blocks to help + avoid wrapping. */ + code, + .literal, + .package { + display: inline; + } + #_footer { + height: auto; + } + #_footer>ul>li, + #_footer>p { + line-height: 250%; + float: none; + width: 100%; + margin: 0; + } + #_footer>p { + text-align: right; + } + #_footer>ul { + margin: 0; + } + #_footer a { + display: block; + border-top: 1px solid #FFF; + } + #_inward, + #_footer-wrap { + height: 155px; + } + #_outer-wrap { + margin: 0 auto -155px; + } + .documentation ul, + .documentation ol { + padding-left: 10px; + } + .list-of-examples dl, + .variablelist dd, + .toc dd { + padding-left: 10px; + } + .admonition>.symbol { + float: none; + padding-left: calc(50%-18px); + padding-bottom: 10px; + } + .verbatim-wrap { + border-left: none; + border-right: none; + margin-right: -10px; + } + .example-contents>.verbatim-wrap, + .admonition>.verbatim-wrap, + .sect1>.verbatim-wrap, + .sect2>.verbatim-wrap, + .sect3>.verbatim-wrap, + .sect4>.verbatim-wrap, + .sect5>.verbatim-wrap, + .sect6>.verbatim-wrap, + .sect>.verbatim-wrap, + .chapter>.verbatim-wrap, + .procedure-contents, + .procedure-title-wrap+.procedure-contents, + .complex-example .example-contents { + margin-left: -10px; + margin-right: -10px; + } + .complex-example .example-contents { + padding: 3px 15px 6px 12px; + } + .documentation ol.procedure { + padding-left: 20px; + } + .book .title, + .set .title { + font-size: 36px; + } + .title, + .chapter .title, + .reference .title, + .part .title { + font-size: 30px; + } + .sect1 .title, + .single .sect1 .title, + .set .subtitle, + .book .subtitle { + font-size: 22px; + } + .sect2 .title, + .single .sect2 .title { + font-size: 20px; + } + .sect3 .title, + .single .sect3 .title, + h2 { + font-size: 18px; + } +} + +@media only screen and max-height 490px and min-width 451px { + #_bubble-toc, + #_toc-bubble-wrap>.bubble, + #_fixed-header-wrap>.bubble { + max-height: 300px; + } +} + + +/* Optimize images for various screen heights. + + + Some sizes are bucketed. + + + We assume 110px of browser chrome: + @media (max-height: $largest-screen-size-in-bucket – 110px) + + + We assume 190px are needed for context around the image: + img { max-height: $smallest-screen-size-in-bucket – 110px – 190px;} + (With some exceptions for small screen sizes.) +*/ + + +/* Everything over 1600px in height */ + +@media only screen { + .mediaobject img { + max-height: 70%; + } +} + + +/* 1600px & 1440px */ + +@media only screen and max-height 1490px { + .mediaobject img { + max-height: 1140px; + } +} + + +/* 1200px */ + +@media only screen and max-height 1090px { + .mediaobject img { + max-height: 900px; + } +} + + +/* 1080px & 1024px */ + +@media only screen and max-height 970px { + .mediaobject img { + max-height: 724px; + } +} + + +/* 900px */ + +@media only screen and max-height 790px { + .mediaobject img { + max-height: 600px; + } +} + + +/* 800px & 768px */ + +@media only screen and max-height 690px { + /* Make an exception here, so we don't get stamp-sized screenshots. */ + .mediaobject img { + max-height: 518px; + } +} + + +/* 600px and below*/ + +@media only screen and max-height 490px { + /* Make an exception here, so we don't get stamp-sized screenshots. */ + .mediaobject img { + max-height: 390px; + } +} Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/style/static/images/arrow.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/style/static/images/arrow.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/style/static/images/dots-blue.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/style/static/images/dots-blue.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/style/static/images/dots-darkgray.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/style/static/images/dots-darkgray.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/style/static/images/dots-gray.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/style/static/images/dots-gray.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/style/static/images/dots-orange.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/style/static/images/dots-orange.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/style/static/images/dots-red.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/style/static/images/dots-red.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/style/static/images/draft.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/style/static/images/draft.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/style/static/images/icon-important.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/style/static/images/icon-important.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/style/static/images/icon-note.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/style/static/images/icon-note.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/style/static/images/icons.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/style/static/images/icons.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/style/static/images/icon-tip.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/style/static/images/icon-tip.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/style/static/images/icon-warning.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/style/static/images/icon-warning.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/style/static/images/logo.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/style/static/images/logo.png differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/docs/style/static/images/tick.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/docs/style/static/images/tick.png differ diff -Nru appstream-0.12.10/docs/style/static/js/INFO.md appstream-0.14.5/docs/style/static/js/INFO.md --- appstream-0.12.10/docs/style/static/js/INFO.md 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/style/static/js/INFO.md 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,8 @@ +### AppStream Documentation JS Directory + +You can place a minified copy of [Highlight.js](https://highlightjs.org/) in this +directory to enable source-code highlighting in the documentation. + +In case a system-wide copy of `highlight.min.js` and its CSS files exists in +`/usr/share/javascript/highlight.js/`, the buildsystem will automatically detect that +and create symbolic links to these files when installing the documentation. diff -Nru appstream-0.12.10/docs/style/VERSION appstream-0.14.5/docs/style/VERSION --- appstream-0.12.10/docs/style/VERSION 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/style/VERSION 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,9 @@ + + + + + + + + diff -Nru appstream-0.12.10/docs/style/VERSION.xsl appstream-0.14.5/docs/style/VERSION.xsl --- appstream-0.12.10/docs/style/VERSION.xsl 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/style/VERSION.xsl 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,9 @@ + + + + + + + + diff -Nru appstream-0.12.10/docs/style/xhtml/admon.xsl appstream-0.14.5/docs/style/xhtml/admon.xsl --- appstream-0.12.10/docs/style/xhtml/admon.xsl 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/style/xhtml/admon.xsl 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,81 @@ + + + + + + + + + Note + Warning + Caution + Tip + Important + Note + + + + + + + + + admonition + + + + compact + normal + + + +
+ + + + + + + + {$alt} + + + + + + +
+ +
+
+ +
+
+ + + + + + note + warning + caution + tip + important + note + + + + +
diff -Nru appstream-0.12.10/docs/style/xhtml/autobubbletoc.xsl appstream-0.14.5/docs/style/xhtml/autobubbletoc.xsl --- appstream-0.12.10/docs/style/xhtml/autobubbletoc.xsl 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/style/xhtml/autobubbletoc.xsl 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,283 @@ + + + + + + + + + + + + +
    + +
+
+ + + + + + + + + + + 1 + 2 + 3 + 4 + 5 + 1 + 2 + 3 + 1 + + + + + + + 2 + 3 + 4 + 5 + 6 + 2 + 2 + 3 + 4 + 1 + + + 0 + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + + + + +
      + + + +
    +
    +
  • +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    diff -Nru appstream-0.12.10/docs/style/xhtml/autotoc.xsl appstream-0.14.5/docs/style/xhtml/autotoc.xsl --- appstream-0.12.10/docs/style/xhtml/autotoc.xsl 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/style/xhtml/autotoc.xsl 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,237 @@ + + + + + + + + + + + + + + + + + + + + +
    + + + + + + +
    +
    +
    + + + + +
    + + + + + + + + + + + + + + + +
    +
    +
    + + +
    + + + + + + + + + + + + + + +
    +
    +
    +
    +
    +
    +
    + + + + + + + + + + 0 + 0 + 0 + 0 + 0 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + +

    + + +

    +
    + +

    + +

    +
    + + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    diff -Nru appstream-0.12.10/docs/style/xhtml/block.xsl appstream-0.14.5/docs/style/xhtml/block.xsl --- appstream-0.12.10/docs/style/xhtml/block.xsl 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/style/xhtml/block.xsl 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + runinhead.default.title.end.punct + + +   + + + + + + + + + +
    diff -Nru appstream-0.12.10/docs/style/xhtml/chunk-common.xsl appstream-0.14.5/docs/style/xhtml/chunk-common.xsl --- appstream-0.12.10/docs/style/xhtml/chunk-common.xsl 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/style/xhtml/chunk-common.xsl 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,673 @@ + + + + + + + + + + crumb + header + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + book-icon + + + book-icon lower-level + + + + + + + + + + + + + + + + + + showcontentsoverview + + + admonseparator + + + + + + + + + + + + header + + + +
    + + + + + + + + + book-link + + + + + + + + + + + + single-crumb + + + +
    +
    +
    +
    +
    +
    +
    + + + + + + formathtml + + + + + formatsinglehtml + + + + + + + + + + +
    + + + + + +
    +
    +
    + + + + + + + + +
    +
    + + + + fixed-header + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    +
    +
    +
    +
    + + + + + + + find + + + +
    + +
    +
    +
    + + + + +
    +
    +
    +
    +
    + + + + + + + + + + contentsoverview + + + + + + + + + + + + + + + + + + + +
    +
    + + + + +
    +
    + +
    + + + + + + + + + + + + span + + + + + + +
    +
    +
    +
    + +
    +
    + +
    + +
    +
    +
    +
    +
    + + + +
    +
    + +
    +
    + + + + navigation + + + + + + + + + +
    +
    +
    +
    + + + + +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    + + + + + + + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + +
    +
    +
    + + + +
    + + + +
    +
    + + + + + + + + + + +
    +
    +
    +
    + + + + + +
    + + + + + + + + + + + + + +
    diff -Nru appstream-0.12.10/docs/style/xhtml/chunk.xsl appstream-0.14.5/docs/style/xhtml/chunk.xsl --- appstream-0.12.10/docs/style/xhtml/chunk.xsl 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/style/xhtml/chunk.xsl 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,45 @@ + + + + +]> + + + + + + + + + + diff -Nru appstream-0.12.10/docs/style/xhtml/component.xsl appstream-0.14.5/docs/style/xhtml/component.xsl --- appstream-0.12.10/docs/style/xhtml/component.xsl 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/style/xhtml/component.xsl 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,173 @@ + + + + + + + + + + + + + + + + 0 + + + + 6 + 5 + 4 + 3 + 2 + 1 + + + + + + + + + + + + + + + title + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + +
    + + + + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + Don't know how to call titlepage for + + + + + + + + + +
    + + + + + + + +
    + + +
    +
    + + + + + + + + + + + + + +
    diff -Nru appstream-0.12.10/docs/style/xhtml/create-permalink.xsl appstream-0.14.5/docs/style/xhtml/create-permalink.xsl --- appstream-0.12.10/docs/style/xhtml/create-permalink.xsl 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/style/xhtml/create-permalink.xsl 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + diff -Nru appstream-0.12.10/docs/style/xhtml/division.xsl appstream-0.14.5/docs/style/xhtml/division.xsl --- appstream-0.12.10/docs/style/xhtml/division.xsl 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/style/xhtml/division.xsl 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,100 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + + + + + + + + + + + + +

    +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    diff -Nru appstream-0.12.10/docs/style/xhtml/docbook.xsl appstream-0.14.5/docs/style/xhtml/docbook.xsl --- appstream-0.12.10/docs/style/xhtml/docbook.xsl 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/style/xhtml/docbook.xsl 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,744 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + div + + clearme + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <xsl:value-of select="$title"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + : + + + + + ( + + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + generator + + + + + + + + + + + + crumb + header + + + + + + + + + + + + + + + + + + + + + + + + + + + + + c + + + + + showcontentsoverview + + + admonseparator + + + + + + + + + + header + + + +
    + + + + + single-crumb + + + +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + formathtml + + + + + formatsinglehtml + + + + + + + + + + + + + + +
    + + + totopofpage + + + + + + + +
    +
    + + + + + + + + + + + + +
    +
    + + + + fixed-header + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    +
    +
    +
    + + + + + + + + + + + + + draft single offline js-off + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    + + + + + + + +
    +
    + + + + + + + + + +
    +
    + + + +
    + + + +
    +
    + + + + + +
    +
    +
    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    diff -Nru appstream-0.12.10/docs/style/xhtml/formal.xsl appstream-0.14.5/docs/style/xhtml/formal.xsl --- appstream-0.12.10/docs/style/xhtml/formal.xsl 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/style/xhtml/formal.xsl 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,104 @@ + + + + + + + + +
    + +
    +
    + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + +
    +
    +
    +
    + +
    diff -Nru appstream-0.12.10/docs/style/xhtml/glossary.xsl appstream-0.14.5/docs/style/xhtml/glossary.xsl --- appstream-0.12.10/docs/style/xhtml/glossary.xsl 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/style/xhtml/glossary.xsl 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,146 @@ + + + + +]> + + + + + + + + + normalize.sort.input + + + + + normalize.sort.output + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + +
    +
    + + + +
    + + + + + +
    +
    + + + + + + + + + +
    + + + + + + + + + ( + + ) + + + + + + + +
    +
    + +
    + + + + + + + + + ( + + ) + + +
    +
    + +
    + + + + + + + +
    +
    +
    + + +
    + +
    diff -Nru appstream-0.12.10/docs/style/xhtml/html.xsl appstream-0.14.5/docs/style/xhtml/html.xsl --- appstream-0.12.10/docs/style/xhtml/html.xsl 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/style/xhtml/html.xsl 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru appstream-0.12.10/docs/style/xhtml/inline.xsl appstream-0.14.5/docs/style/xhtml/inline.xsl --- appstream-0.12.10/docs/style/xhtml/inline.xsl 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/style/xhtml/inline.xsl 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + prompt + prompt user + + + + + + + + + + + < + + + + + + mailto: + + + + + + > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + , + + + + + + + + + + + , + + + + + + + + + + + + + + + + + diff -Nru appstream-0.12.10/docs/style/xhtml/lists.xsl appstream-0.14.5/docs/style/xhtml/lists.xsl --- appstream-0.12.10/docs/style/xhtml/lists.xsl 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/style/xhtml/lists.xsl 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,168 @@ + + + + + + +
    + + + + + + + +   + + + + + +
    +
    + +
    +
    + + + + + + +
    + + + + + 0 + 1 + + + + + + + +
    + + + + +
      + + +
    +
    + +
      + + + + + +
    +
    +
    +
    +
    +
    + + + + + +
  • + + + + +

    + + + +

    +
    + +
  • +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    diff -Nru appstream-0.12.10/docs/style/xhtml/param.xsl appstream-0.14.5/docs/style/xhtml/param.xsl --- appstream-0.12.10/docs/style/xhtml/param.xsl 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/style/xhtml/param.xsl 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,376 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + static/images/ + + + + + + + saxon:xhtml + xml + + + + + + + + +appendix toc,title +article/appendix nop +article toc,title +book toc,title,figure,table,example,equation +chapter toc,title +part toc,title +preface toc,title +qandaset nop +reference toc,title +sect1 toc +sect2 toc +sect3 toc +sect4 toc +sect5 toc +section toc +set toc,title + + + + + + + + + + + + + + + + + + + +static/css/fonts-onlylocal.css + + + + + + + + + + + + + + + + + + + + + + +none + + + +_blank + + + + + + + + + + + + + +figure after +example before +equation before +table before +procedure before +task before + + + : + + + 0 + + + + + images/ + + + + + + + ./html/ + + + + + + + + + + + navig/ + + + + index + + + + + + + + + + icon- + + + + + 0 + 1 + + + + static/images/logo.png + AppStream + Logo + + static/js/highlight.min.js + static/css/style.css + static/css/highlight.css + + + + + + + 0 + 1 + + + + + + + 0 + 1 + + + + + + 0 + 1 + + + + + + 0 + 1 + + + + + + + 0 + 1 + + + + + + + + + + + + 0 + 1 + + + + + + + + + + + + + + + 2 + 2 + + + + + + + + + + + + + + + + 0 + 1 + + + + + | + + + + + + + + 0 + + 0 + + + + +  ›  + + + + + 0 + 1 + + + + + + + + + + 0 + 1 + + + + + + + + +yes + + + + + + + + + + + diff -Nru appstream-0.12.10/docs/style/xhtml/qandaset.xsl appstream-0.14.5/docs/style/xhtml/qandaset.xsl --- appstream-0.12.10/docs/style/xhtml/qandaset.xsl 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/style/xhtml/qandaset.xsl 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,258 @@ + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + +
    +
    + + + + + + + + + + + +
    +
    + + + + + +
    + +
    +
    + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    +
    +
    + +
    +
    + + + +
    + + + +
    +
    + + +
    +
    + + +
    + + + + +
    +
    + + + +
    + + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + qandadiv-title + + + + + + + + + + + + + + + + +
      + + qanda-toc + + + +
    +
    + + +
  • + +
  • +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + +
  • +
    + + + +
      +
    • + +
    • +
    +
    +
    + +
    diff -Nru appstream-0.12.10/docs/style/xhtml/sections.xsl appstream-0.14.5/docs/style/xhtml/sections.xsl --- appstream-0.12.10/docs/style/xhtml/sections.xsl 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/style/xhtml/sections.xsl 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,324 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + 1 + + + + + + 1 + 2 + 3 + 4 + 5 + + + + + + + + 6 + + + + + + + + 1 + 0 + + + title legal + +
    + sect bridgehead + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + + + 1 + 0 + + + title legal + + + + + + + + + + + + + + + + + + + + + + + + + + + + 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + 2 + 3 + 4 + 5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
      +
    • + File Name: + +
    • +
    • + ID: + + + + + + + no ID found + +
    • +
    +
    +
    +
    + + + + + + Edit source + + + +
    diff -Nru appstream-0.12.10/docs/style/xhtml/titlepage.templates.xsl appstream-0.14.5/docs/style/xhtml/titlepage.templates.xsl --- appstream-0.12.10/docs/style/xhtml/titlepage.templates.xsl 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/style/xhtml/titlepage.templates.xsl 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,477 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + version.info + + + + + + + + + + + + + + + + + GitHub + GitLab + SVN + VCS URL + + +
    +

    Source XML: 

    +
    +
    +
    + + + + + + + + + +
    +
    +
    + + + + + + + + + +
    +
    +
    + + +
    + +
    + + + + + Authors + Author + + + + : + + + + +
    + + + +
    +
    + + +
    + + + + + + Contributors + Contributor + + + + : + + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + Author + + : + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + Author + + : + + +
    +
    + + + + + + +
    + +
    +
    + + + + + + + + + + + + + + + +
    +

    + + + + + +

    +
    +
    + +
    diff -Nru appstream-0.12.10/docs/style/xhtml/titlepage.xsl appstream-0.14.5/docs/style/xhtml/titlepage.xsl --- appstream-0.12.10/docs/style/xhtml/titlepage.xsl 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/style/xhtml/titlepage.xsl 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + +

    + + + + + + + + + + + + + + + + + + + + + + + +

    +
    + +
    diff -Nru appstream-0.12.10/docs/style/xhtml/verbatim.xsl appstream-0.14.5/docs/style/xhtml/verbatim.xsl --- appstream-0.12.10/docs/style/xhtml/verbatim.xsl 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/style/xhtml/verbatim.xsl 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,40 @@ + + + + + + + + +
    + + verbatim-wrap + + + + highlight + + + Unsupported language for highlighting detected: "". + Supported values are: + + + + + +
    +
    + +
    diff -Nru appstream-0.12.10/docs/style/xhtml/xref.xsl appstream-0.14.5/docs/style/xhtml/xref.xsl --- appstream-0.12.10/docs/style/xhtml/xref.xsl 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/style/xhtml/xref.xsl 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,184 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ..? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + () + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + WARNING: The xref '' points to a chapter (id='') with a different language than the main book. + + + + + + + + + + + + diff -Nru appstream-0.12.10/docs/xml/APIDoc.xml appstream-0.14.5/docs/xml/APIDoc.xml --- appstream-0.12.10/docs/xml/APIDoc.xml 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/xml/APIDoc.xml 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,18 @@ + + + + + AppStream API Reference + + + A reference of AppStream's public API can be fount on the + API reference pages. + + + If you want to use the PackageKit API, look at + the PackageKit reference manual. + + + diff -Nru appstream-0.12.10/docs/xml/AppStream.ent appstream-0.14.5/docs/xml/AppStream.ent --- appstream-0.12.10/docs/xml/AppStream.ent 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/xml/AppStream.ent 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,4 @@ + + + + diff -Nru appstream-0.12.10/docs/xml/AppStream.xml appstream-0.14.5/docs/xml/AppStream.xml --- appstream-0.12.10/docs/xml/AppStream.xml 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/xml/AppStream.xml 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,21 @@ + + +%BOOK_ENTITIES; +]> + + + + + + + + + + + + + + + + diff -Nru appstream-0.12.10/docs/xml/Author_Group.xml appstream-0.14.5/docs/xml/Author_Group.xml --- appstream-0.12.10/docs/xml/Author_Group.xml 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/xml/Author_Group.xml 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,39 @@ + + +%BOOK_ENTITIES; +]> + + + Matthias + Klumpp + + Debian + + mak@debian.org + + + Michael + Vogt + + Canonical / Ubuntu / Debian + + mvo@ubuntu.com + + + Richard + Hughes + + Fedora / Red Hat + + richard@hughsie.com + + + Vincent + Untz + + OpenSUSE + + vuntz@opensuse.org + + diff -Nru appstream-0.12.10/docs/xml/Book_Info.xml appstream-0.14.5/docs/xml/Book_Info.xml --- appstream-0.12.10/docs/xml/Book_Info.xml 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/xml/Book_Info.xml 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,37 @@ + + +%BOOK_ENTITIES; +]> + + AppStream + Infrastructure for distro-agnostic software-centers and universal software component metadata + AppStream + 0.14 + 1 + 0 + + + AppStream is a collaborative effort for enhancing the way we interact with the software + repositories provided by the distribution by standardizing sets of additional metadata. + + + AppStream provides the foundation to build software-center applications. + It additionally provides specifications for things like an unified software metadata database, + screenshot services and various other things needed to create user-friendly application-centers + for software distributions. + + + You can find a C/GLib based reference implementation of the full specification at + github.com/ximion/appstream and report bugs about the implementation + as well as the specification itself at the issue tracker. + The project also provides a web form for the simple creation of metainfo XML files for upstream maintainers at + freedesktop.org/software/appstream/metainfocreator. + + + + + + + + diff -Nru appstream-0.12.10/docs/xml/CollectionData.xml appstream-0.14.5/docs/xml/CollectionData.xml --- appstream-0.12.10/docs/xml/CollectionData.xml 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/xml/CollectionData.xml 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,20 @@ + + +%BOOK_ENTITIES; +]> + + Collection Metadata + + Additionally to the metainfo files shipped by upstream projects, AppStream also provides an XML and YAML format + to make information about not installed software components known to the system. + + + This chapter documents this collection metadata format and icon cache used on the client side. + + + + + + + diff -Nru appstream-0.12.10/docs/xml/collection-iconcache.xml appstream-0.14.5/docs/xml/collection-iconcache.xml --- appstream-0.12.10/docs/xml/collection-iconcache.xml 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/xml/collection-iconcache.xml 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,46 @@ + + +%BOOK_ENTITIES; +]> + +
    + Icon Cache + +
    + Introduction + + + In order to display icons in software-centers, distributors should offer a repository of cached icons for applications defined in their AppStream XML files. + The icons should be PNG files or vectorgraphics (PNG is preferred) and match the name referenced in the applications .desktop file. + Their size should be 64x64px, it is okay to just provide one size. + +
    + +
    + Filesystem locations + + All icons of type cached must be placed in /usr/share/app-info/icons/%{origin}/%{size}/ or /var/cache/app-info/icons/%{origin}/%{size}/, + where origin is the AppStream data origin defined in the AppStream data file (see ), and size + is 64x64 or 128x128 depending on the size of the icon. And icon might be present with different sizes in both directories. + + + For example the cache icon krita.png of a component in a data file with the origin jessie should be stored in + /usr/share/app-info/icons/jessie/64x64/krita.png (or in the /var/cache location). + + + Icon scaling factors commonly used for HiDPI display support are part of the size-directory filename and are separated from the regular size via an @ sign. + If the scaling factor is 1, it must be omitted from the directory name. + For example, if the icon scaling factor is 2 for icons of size 64x64 from origin jessie, the icon must be placed + in /usr/share/app-info/icons/jessie/64x64@2/. + + + Legacy Support + + In order to support the old icon cache layout, client applications may also look for icons in the folder below the size-directories, assuming + that the icons placed there are of size 64x64 pixels. + + +
    + +
    diff -Nru appstream-0.12.10/docs/xml/collection-xmldata.xml appstream-0.14.5/docs/xml/collection-xmldata.xml --- appstream-0.12.10/docs/xml/collection-xmldata.xml 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/xml/collection-xmldata.xml 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,688 @@ + + +%BOOK_ENTITIES; +]> + +
    + AppStream collection XML + +
    + Introduction + + + AppStream collection XML files are text files describing all available software components a software repository (usually + from a Linux distributor) offers for installation. + The XML files might be compressed with GZip. + +
    + +
    + File naming and location + + The XML files must have a unique name, which is usually the distribution's name and version, combined with the name of the repository/origin. + For example in Debian 8 (Jessie), the filename for the main repository component would be debian-jessie-main.xml.gz. + For Fedora 20 (Heisenbug) updates it would be fedora-20-updates.xml.gz. + 3rd-party repositories use a vendor name and repository-name combination, for example Ubuntu PPAs might get ppa-ubuntu12.04-username-foobar.xml. + + + There are two valid locations to store AppStream XML data. /usr/share/app-info/xmls stores all AppStream data which + has been installed via software packages, while /var/cache/app-info/xmls stores application data which was downloaded + by the package manager or placed there by other tools (for example, Limba). + The XML files can either be plain files or be compressed with gzip. It is always a good idea to compress the files, because they tend to become + quite large. + +
    + +
    + General XML structure + + The XML starts with a <components> tag as the root element. It has all the + <component> tags of different types as children. + + + Data to fill the different component elements is usually taken from their Desktop files + and package data. However, if an upstream project ships metainfo files (see ), + values defined there should override data from any other source. + + + All child elements of the <components> element, no matter of which type they are, must at least have + an id, name, summary and pkgname tag. + For applications, a icon tag is also required. + + + The <components> root node has these properties, where the first two are required: + + + + version + + + This property declares the AppStream spec version this file is based on (currently 0.14). The property is required. + + + + + + origin + + + Defines the repository ID this AppStream XML file belongs to. This usually matches the filename without extension (see the explanation on how to pick a good filename above). + It is also used to associate the right cached icons with AppStream metadata. This property is required. + + + + + + architecture + + + Defines the architecture this data belongs to. This information is useful to resolve AppStream-ID conflicts on multiarch systems, + which appear if the user has metadata for two architectures installed. This property is optional. + + + + +
    + +
    + Valid tags for all component types + + These tags can be applied to every component type (application, component, font, inputmethod) which + is described in the AppStream metadata. + + + Additionally to the type property, every <component/> tag in AppStream collection data + may have a priority property, defining the priority of this specific metadata over other metadata from different + AppStream XML files (for example, from a different repository) which have the same component-id. The value of this tag is an integer, if the + property is missing, a value of "0" is assumed. + + + In order to merge metadata, each component in collection data may also have a merge property, assuming the + values append, replace or remove-component. If the value is append, all data this component describes will be appended + to data of the component with the same ID. If the value is replace the fields of the target component will be replaced with the + ones present in the merge component. If the merge type is remove-component, the entore component matching the ID of the merge-component should + be removed from the metadata pool. + Merge-components with a higher priority take precedence. If a component has a merge property, the only tag that must + be present for it is the <id/> tag, any other metadata is optional. + + + + + <id/> + + + The <id/> tag is a short unique and usually lower-cases identifier for the component. + Depending on the component's type, different naming conventions apply. + + + + + + <pkgname/> + + + The name of the package which needs to be installed in order to make this component available on the system. + + + This tag can be defined multiple times, if a component is split across multiple packages. + + + + The preferred way is to create metapackages containing the component metadata, and referencing them + from the collection metadata, and not to use multiple pkgname tags. + They should only be used multiple times as a workaround or if there is no sensible way of creating a + matching metapackage. + + + + + + + <source_pkgname/> + + + This optional tag is used to specify the source package the binary package this component belongs to was built from. + + + The tag can be used by software center applications to group components. It is otherwise useful for the distributor + to assign components to a source package and to fetch additional information about a package from the web. + + + + + + <name/> + + + A human-readable name for this software. + + + In case of a component of type desktop-application, the application name as defined in the application's + desktop file is used. + + + + + + <project_license/> + + + The <project_license/> tag is indicating the license of the component. + It should be a SPDX license expression. + A full list of recognized licenses and their identifiers can be found at the + SPDX OpenSource License Registry. + + + You can find more information about this tag at the metainfo description for . + + + + + + <summary/> + + + The tag contains a short summary of the purpose and function of this component. In case the component is of + type desktop, it is usually taken from a Desktop file, + if the application does not ship an upstream metadata file. + + + For more information about this tag, take a look at the tag's definition at . + + + + + + <description/> + + + A long description of the component. It is usually taken from the package descriptions or meta-info files, if they were provided. + The description might use markup. Right now, only paragraph, ordered list and unordered list are supported. + An example description element might look like this: + +

    + Power Statistics is a program used to view historical and current battery + information and will show programs running on your computer using power. +

    +

    Example list:

    +
      +
    • First item
    • +
    • Second item
    • +
    +

    + You probably only need to install this application if you are having problems + with your laptop battery, or are trying to work out what programs are using + significant amounts of power. +

    +]]>
    +
    + + As opposed to the by-paragraph translation used in meta-info files, this tag is translated "as a whole", meaning that the + <description/> tag itself has a language property and contain the translated paragraphs for the given language. + This allows faster parsing of the Appstream XML file, and does not increase it's size much, as long as it is compressed. + + + For more information about this tag, take a look at the tag's definition at . + +
    +
    + + + <url/> + + + Defines URLs for this component. This tag can be present multiple times. + + + For a list of possible url types and what they are expected to do, + take a look at the tag's description at . + + + + + + <project_group/> + + + The ]]> tag identifies a project with a specific upstream umbrella project. + Known values include GNOME, KDE, XFCE, LXDE, Mozilla and MATE, although other umbrella projects + like Yorba would make sense too. + + + + Components should only identify with an umbrella project if you use all their infrastructure and policies, for instance + string freezes dates, bugtracker and source control instance. + + + + + + + <icon/> + + + The <icon/> tag describes the component icon. It is mostly used for GUI applications (component-type desktop-application). + It can be of the type stock, cached, local, + or url. + + + stock icons are loaded from stock. The icon name should never include any file-extension or path. + + + cached icons are loaded from the AppStream icon cache. The icon tag should contain the icon file name, including it's + extension. It must not contain a full or relative path to the icon file. + + + local icons are reserved for AppStream data installed by local applications or via 3rd-party application installers. + They should specify a full file path. + This icon type may have width and height properties. + + + remote icons loaded from a remote URL. Currently, only HTTP urls are supported. + This icon type should have width and height properties. + + + Examples of the different methods to specify an icon: + + gimp +firefox.png +https://example.com/icons/foobar.png +/usr/share/pixmaps/foobar.png]]> + + Multiple ]]> tags might be combined for one application, for example to define a stock icon + and a cached icon. + Software-Centers should always prefer the stock icon, if it is available, and fall back to the other icon types if they can not find it. + The libappstream library makes it easy to do that. + + + The AppStream library will prefer cached over local over remote + icons when setting the non-stock icon for the application. + + + + + + <categories/> + + + This tag can contain one or more ]]> tags, describing the categories this component + is located in. This tag is usually applied to components of type desktop-application, although it might be used by others later. + This data is usually taken from Desktop files, a list of categories can be found in the + Freedesktop menu spec. + Example: + + + Science + Network + Telephony +]]> + + Deprecated Tags + + The tag ]]> with its ]]> child elements is deprecated API. + AppStream parsers should handle these tags just like the category tags, there is no difference except for the name. + + + + + + + <keywords/> + + + This tag can contain one or more ]]> tags, describing keywords for the component, + to make it easier to find in a software center. + In case of type desktop-application components, this data is taken from .desktop files. For addon + components, the upstream metadata file usually provides this tag. + For translated keyword lists, the root node (<keywords/>) has the language property. + Example: + + + IDE + development + programming + + + IDE + entwicklung + programmierung +]]> + + + + + <screenshots/> + + + This tag can contain one or more ]]> tags, describing screenshots which are available for + the software. A screenshot tag my have the attribute type="default", marking it as the software's default screenshot, + which primarily represents it in a software center. + + + The screenshots tag is described for metainfo files in . In collection metadata, the tag + has the exact same format as in metainfo files. + The metadata generator may add an arbitrary number of resized thumbnails for image type screenshots though. + + + Every static-image ]]> is defined by several images of different sizes. + All images should have their width and hight set as arguments. Also, one of the images should be marked as type="source", + indicating that it is the unscaled version of the screenshot. + Images of type="thumbnail" define thumbnails of the screenshot. + + + The metadata generator should scale the source image down to several thumbnails useful for the client to load. + The recommended sizes for thumbnail images are: + + + 752x423 (large) + 624x351 (normal) + 112x63 (small) + + 1504x846 (large, HiDPI) + 1248x702 (normal, HiDPI) + 224x126 (small, HiDPI) + + + In order to support HiDPI screens, the thumbnails should also be available in their bigger sizes. A metadata generator should, however, never attempt + to scale up a smaller image to a larger size, and just ship the smaller sizes instead. + + + Optionally, a screenshot can contain a ]]> tag, describing the screenshot's caption. This is usually what the user can see + on the image shown. The tag is translatable. + + + For ]]> tags that contain video elements, a collection metadata generator may impose any restrictions to them, + including completely removing them from the output, imposing filesize limits, etc. + Upstream metainfo files should not rely on the videos being present and must always have a static screenhot for the software component as well. + + + Every image or video should have a full remote url set, usually pointing to a cache of images maintained by the repository vendor. + Example: + + + + FooBar showing kitchen-sink functionality. + FooBar beim Ausführen der Spühlbecken-Funktion. + https://www.example.org/en_US/main.png + https://www.example.org/en_US/main-large.png + https://www.example.org/en_US/main-small.png + + + + + + .... + +]]> + + + + + <compulsory_for_desktop/> + + + The ]]> tag indicates that the component which the metadata belongs to is essential for the + functionality of the defined desktop environment. + + + This tag is described in detail at . + + + + + + <provides/> + + + This tag is described in detail at . + + + Distributors and software repository vendors must ensure that all things described in this tag are present in the package referenced in + the associated pkgname tag (or in dependencies of it). + + + + + + <developer_name/> + + + The <developer_name/> tag as described in the specification for a generic component. See for more information. + + + + + + <launchable/> + + + This optional tag follows the same schema as described for metainfo files in . + + + + + + <releases/> + + + The releases tag and its release children are structured as described in , with the + additional requirement that releases must be sorted in a latest-to-oldest order. + + + Each release tag may have a description tag as child, containing a brief description of what is new in the release. + The description tag is structured as described in . This also applies to its translation rules. + + + The AppStream collection XML generator may shorten overlong lists of releases to a smaller list, for example of 4 release tags. + It may also convert ISO 8601 date properties of the metainfo file into an UNIX timestamp timestamp property. + It should avoid generating metadata containing both properties on a release tag. + + + Example for a valid releases tag: + + + + +

    This stable release fixes the following bug:

    +
      +
    • CPU no longer overheats when you hold down spacebar
    • +
    +
    + 12345678 + 42424242 +
    + + +]]>
    + + In case a <release/> tag has a <description/> tag as parameter, describing the new release briefly, distributors are encouraged to provide 2-4 + <release/> release tags for every component. If no description is provided, one tag is enough. + +
    +
    + + + <languages/> + + + This tag gives information about the translations a component provides, and to which extent the software is translated. + + + The tag is allowed to only occur once per component, and contains multiple <lang/> child nodes, which have + a language code as value. + Each <lang/> node may have a percentage property, which describes the percentage value to which + a component has been translated. + + + The language data is expected to be extracted by the AppStream XML generator, and is not provided upstream. Generators may obtain the + information from processing GNU Gettext files, which should cover most translation methods. + + + Tag example: + + + gu + ca@valencia + de + eo +]]> + + + + + <bundle/> + + + The optional bundle tag indicates that the described software is available as a software bundle via a + 3rd-party application installer. The value of this tag is an identification string for the bundle. + + + Software centers may use the information of this tag to offer the user to install the software + from 3rd-party sources, or just update an already installed software automatically via the normal update procedure. + The bundle tag can coexist with the pkgname tag, in case a component is available from + multiple sources. + + + The type property of this tag indicates which 3rd-party software installation solution the bundle belongs to. + Currently supported solutions are: + + package - For distribution package names. + limba - For Limba Project bundles. + flatpak - For Flatpak bundles. + appimage - For AppImageKit bundles. + snap - For Snappy snap bundles. + tarball - For plain and possibly compressed tarballs. + cabinet - For cabinet firmware deployments. + + + + Example: + + foobar-1.0.2]]> + + + + + <suggests/> + + + The optional suggests tag provides suggestions of other software made by this component. + It follows the same schema as described for metainfo files in . + + + Additionally to the upstream type allowed for metainfo files, the catalog data also allows a + heuristic type, which is added by automatic recommendation services, and might be based on the user's + preferences. It is commonly injected into existing metadata via a merge pseudo-component. + + + Example: + + + org.kde.gwenview.desktop + org.inkscape.Inkscape + + + org.gimp.gimp.desktop +]]> + + + + + <content_rating/> + + + This optional tag follows the same schema as described for metainfo files in . + + + + + + <agreement/> + + + This optional tag follows the same schema as described for metainfo files in , with the exception + of description tags in its agreement_section child tags now following the same translation + rules as the toplevel tag in collection metadata. + + + + +
    +
    + +
    + Example file + + This is an example AppStream metadata file: + + + + + + org.mozilla.Firefox + firefox-bin + Firefox + Firefoux + Web browser + Navigateur web + MPL-2.0 + + internet + web + browser + navigateur + + web-browser + firefox.png + + network + web + + https://www.mozilla.com + + + https://www.awesomedistro.example.org/en_US/firefox.desktop/main.png + https://www.awesomedistro.example.org/en_US/firefox.desktop/main-small.png + + + + firefox + + text/html + text/xml + application/xhtml+xml + application/vnd.mozilla.xul+xml + text/mml + application/x-xpinstall + x-scheme-handler/http + x-scheme-handler/https + + + + org.freedesktop.PulseAudio + PulseAudio + The PulseAudio sound server + https://www.freedesktop.org/wiki/Software/PulseAudio/ + GPL-2.0+ + + libpulse-simple.so.0 + libpulse.so.0 + start-pulseaudio-kde + start-pulseaudio-x11 + + + + + org.linuxlibertine.LinuxLibertine + Linux Libertine + Linux Libertine Open fonts + + LinLibertine_M.otf + + + +]]> + +
    +
    diff -Nru appstream-0.12.10/docs/xml/collection-yamldata.xml appstream-0.14.5/docs/xml/collection-yamldata.xml --- appstream-0.12.10/docs/xml/collection-yamldata.xml 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/xml/collection-yamldata.xml 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,1135 @@ + + +%BOOK_ENTITIES; +]> + +
    + AppStream collection YAML + +
    + Introduction + + + DEP-11 is a YAML implementation of the AppStream collection specification, which is primarily used by Debian and its derivatives. + This document describes the DEP-11 YAML. + All AppStream support libraries available today are able to read both the YAML and the XML specification. + + + + + If you want to use AppStream in your distribution, and are not based on Debian, please use the XML specification (unless + you have strong reasons for preferring YAML). + XML is the official format for AppStream collection metadata. + + + + + The DEP-11 YAML metadata can be validated for correctness using the dep11-validate tool from the + AppStream DEP-11 utils. + + + Fields not mentioned in this document are not recognized by DEP-11 YAML parsers. + +
    + + +
    + File naming and location + + Take a look at for AppStream XML files. While the XML data belongs into the xmls subdirectory in + /usr/share/app-info (or /var/cache/app-info), the YAML data is stored in the yaml subdirectory. + All other rules affecting the XML apply the DEP-11 YAML as well, including the recommendation to compress the files with gzip. + +
    + +
    + General DEP-11 YAML structure + + Each YAML file starts with a header document, which defines the basic properties of the metadata, which is followed by the actual metadata in form of one + YAML document per AppStream component. + + + The header document contains the following fields, all of them are required or at least strongly recommended. + + + + File + + + This field identifies the file as DEP-11 file. Its value is always DEP-11. + + Field info: value-type:str, required:yes + + + + + Version + + + The version of the AppStream specification this file was built for. + + Field info: value-type:str, required:yes + + + + + Origin + + + Defines the repository-id this file belongs to. This usually matches the filename without extension. On Debian systems, it is the + <suite>-<component> combination, e.g. jessie-main. + + Field info: value-type:str, required:yes + + + + + MediaBaseUrl + + + The base URL for media (screenshots, icons, ...) referenced in the metadata file. + If this is set, all urls in the document referencing media will be treated relative to the base url. + + Field info: value-type:str, required:no + + + + + Architecture + + + Defines the architecture this data belongs to. This information is useful to resolve AppStream-ID conflicts on multiarch systems, + which appear if the user has metadata for two architectures installed. + + Field info: value-type:str, required:no + + + + + Priority + + + The priorization of this metadata file over other metadata. + + Field info: value-type:int, required:no + + + +
    + +
    + Translated fields + + Fields with translated values follow the following conventions: + + + They are of type dict + They must contain a key C, with the untranslated string as value + + + All languages are represented with their locale name as key in the dict and the translated content as value + (which is of type str, unless explicitly stated otherwise) + + + + + In this document, the type localized is used to indicate that the field contains translated values following this schema. + + + Example for a translated Name field: + + + +
    + +
    + Valid fields + + This document describes all valid fields in the DEP-11 YAML specification. The requirements for the values are exactly the same as in the XML specification, + and each field links to its correspondent XML tag for reference. + + + + + ID + + + The ID field is a short unique and usually lower-cases identifier for the component. + Depending on the component's type, different naming conventions apply. + + See . + Field info: value-type:str, required:yes + + + + + Priority + + + The Priority field sets the priority this component's metadata should have over other meadata in the pool. + Data with a higher priority replaces data with a lower priority. + + See . + Field info: value-type:int, required:no + + + + + Type + + + The type of this component. Allowed values are: + + + generic for + desktop-application for + console-application for + addon for + codec for + inputmethod for + firmware for + + + Field info: value-type:str, required:yes + + + + + Merge + + + The optional Merge field describes the merge strategy that should be applied when merging data of this component into + its base. It may assume the values append, replace or remove-component. + + See for a description on how merging works. + Field info: value-type:str, required:no + + + + + Package + + + The name of the package which needs to be installed in order to make this component available on the system. + + See . + Field info: value-type:str, required:yes + + + + + SourcePackage + + See . + Field info: value-type:str + + + + + Name + + See . + Field info: value-type:localized, required:yes + + + + + Summary + + See . + Field info: value-type:localized, required:yes + + + + + ProjectLicense + + See . + Field info: value-type:str + + + + + Description + + See . + + The markup for the description is the same as in the XML specification, so it can be read by anything + parsing basic HTML markup. + + Field info: value-type:localized + + + + + Url + + See . + + The Url field contains the different url types as keys in its dict. Valid url types are + defined in the main AppStream XML specification. + All URL types must be lowercased. + + + Example: + + + + Field info: value-type:dict + + + + + ProjectGroup + + See . + Field info: value-type:str + + + + + Icon + + See . + + + The Icon field has the different icon types as keys for its dict. + + + + + stock + + + Contains the stock icon name. + + Field info: value-type:str + + + + + cached + + + Contains a list of dictionaries with the keys width and height of type + int specifying the dimensions of the icon, as well as the key name + of type str specifying the name of the icon in the cache. + + Field info: value-type:list ➟ dict + + + + + local + + + Contains a list of dictionaries with the keys width and height of type + int specifying the dimensions of the icon, as well as the key name + of type str specifying the absolute filename pointing to the right icon. + + Field info: value-type:list ➟ dict + + + + + remote + + + Contains a list of dictionaries with the keys width and height of type + int specifying the dimensions of the icon, as well as the key url + of type str which contains a HTTP(S) or FTP URL to the icon. + + Field info: value-type:list ➟ dict + + + + + Field info: value-type:dict + + + + + Categories + + See . + + + This field follows its XML counterpart in almost all regards. The different XDG menu category names are encoded in the list, and are + of type str. + + + Example: + + + Field info: value-type:list + + + + + Keywords + + See . + + + This field contains the keywords for this component. The keys define the locales for the respective language, the values are + of type list and contain the list of keywords for the respective language. An unlocalized C + key must be present. + + + Example: + + + Field info: value-type:translated(list) + + + + + + Screenshots + + See . + + The Screenshots field contains a list of screenshots. A screenshot is of type + dict and contains the following keys: + + + + + default + + + If default is true, the screenshot is selected as default screenshot. There has to be at least one + screenshot which is marked as default. + + Field info: value-type:bool + + + + + source-image + + + Describes the source image for this screenshot. If this field is present, videos must not be present as well. + The field valus is a dictionary with the following keys: + + + + height + The image height (value-type:int) + + + width + The image width (value-type:int) + + + url + + The full image url, or the url component added to MediaBaseUrl, + if defined (value-type:str). + + + + lang + + The language this screenshot image is translated in. The value is a locale string. + (value-type:str, required:no) + + + + Field info: value-type:dict, required:conditional + + + + + thumbnails + + + A list of an arbitrary number of screenshots. All screenshots are of type dict and must contain the same keys as described for + source-image. + This key must not be present if videos is present. + + Field info: value-type:list, required:no + + + + + videos + + + Contains a list of video dicts for this screenshot. If this field is present, source-image must not be present as well. + The field valus is a dictionary with the following keys: + + + + container + The video container format (value-type:str, values as described in the XML specification) + + + codec + The video codec format (value-type:str, values as described in the XML specification) + + + height + The video height (value-type:int) + + + width + The video width (value-type:int) + + + url + + The full video url, or the url component added to MediaBaseUrl, + if defined (value-type:str). + + + + lang + + The language this screenshot video is translated in. The value is a locale string. + (value-type:str, required:no) + + + + Field info: value-type:list(dict), required:conditional + + + + + caption + + + A caption for this screenshot. + + Field info: value-type:localized + + + + + + Example for a Screenshots field containing one screenshot: + + + + Field info: value-type:list + + + + + + CompulsoryForDesktop + + See . + Field info: value-type:str + + + + + Provides + + See . + + The Provides field is of type dict and can have the following keys set with + the described allowed values: + + + + + libraries + + + A list of provided library names. + + Field info: value-type:list(str) + + + + + binaries + + + A list of provided binaries in PATH. + + Field info: value-type:list(str) + + + + + fonts + + + A list of provided fonts. Each font entry is of type dict and has a + name key. + + Field info: value-type:list(dict) + + + + + modaliases + + + A list of modalias globs representing the hardware types this component handles. + + Field info: value-type:list(str) + + + + + mediatypes + + + A list of media types (MIME types) this component can handle. + + Field info: value-type:list(str) + + + + + firmware + + + A list of provided firmware. Each firmware entry is of type dict and has a + type key, which has either runtime or flashed as + value. + Firmware of type flashed has a guid key, containing the GUID of the device + the firmware is flashed on, while firmware of type runtime has a file key, + containing the firmware filename which the kernel is looking for. + + Field info: value-type:list(dict) + + + + + python2 + + + A list of Python 2 modules this component provides. + + Field info: value-type:list(str) + + + + + python3 + + + A list of Python 3 modules this component provides. + + Field info: value-type:list(str) + + + + + dbus + + + A list of provided DBus services. Each service entry in the list is of type dict and has a + type key, which has either system or user as + value. user means the DBus service name is for a user/session service, while system means + it describes a system service. + The service key contains the name of the DBus service file. All dict values are of type str. + + Field info: value-type:list(dict) + + + + + ids + + + A list of component-IDs that this component is able to provide all functionality of. + + Field info: value-type:list(str) + + + + + + Field info: value-type:dict + + + + + DeveloperName + + See . + Field info: value-type:localized + + + + + Launchable + + See . + + A dictionary containing the launchable-type as key, and a list of IDs used for launching the application as value. + + + Example: + + + Field info: value-type:dict(list) + + + + + Releases + + See . + + The Releases contains a list of releases sorted latest-to-oldest, where each list items contains the following fields/keys: + + + + + version + + + The version number of this release. + + Field info: value-type:str, required:yes + + + + + type + + + The release type. Allowed values are: + + + stable + development + + + By default, if no release type is defined, stable is assumed. + + Field info: value-type:str, required:no + + + + + urgency + + + How important it is to install the new release as an update. Allowed values are: + + + low + medium + high + critical + + + If no urgency is defined, a medium urgency is implicitly assumed. + + Field info: value-type:str, required:no + + + + + unix-timestamp + + + The UNIX timestamp of when this software was released. + + + One of the unix-timestamp or date fields must be present. + + Field info: value-type:int, required:maybe + + + + + date + + + The ISO 8601 complete date of when this software was released. + + + One of the unix-timestamp or date fields must be present. + + Field info: value-type:str, required:maybe + + + + + description + + + A description of this release. May contain allowed HTML markup. + + Field info: value-type:localized + + + + + issues + + + A list of dictionaries describing the issues resolved by this release. The dictionaries contain a + id key for the value of an issue as described in the XML specification, as well as a + type and url key for the tag properties of the same name described in the + XML AppStream specification. + + Field info: value-type:list(dict) + + + + + artifacts + + + A list of dictionaries describing the artifacts published for this release. Refer to the XML specification + for details, which is mapped to YAML following the usual scheme. + + Field info: value-type:list(dict) + + + + + + It is recommended to order this list starting with the latest timestamp to the oldest one. + + + Example: + + This stable release fixes the following bug:

    +
      +
    • CPU no longer overheats when you hold down spacebar
    • +
    + - version: '1.2' + unix-timestamp: 1397253600 + - version: '1.0' + unix-timestamp: 1345932000]]>
    + + Field info: value-type:list(dict) +
    +
    + + + Languages + + See . + + The languages list is a list of dictionaries. They must contain a percentage + key, indicating the completion of translation for this language, and a locale + key, with the locale string as value. + + + Example: + + + Field info: value-type:list(dict) + + + + + Bundles + + See . + + The Bundles contains a list of dictionaries with the keys type, having the ID for a specific bundling + system (e.g. flatpak or limba) as value, and id for the associated bundle-id. + See the XML tag description for information on all valid bundling systems. + + + Example: + + + Field info: value-type:list + + + + + Extends + + See . + + Contains a list of AppStream IDs of the other component extended by the described component. + This field may only be used with component-type addon. + + Field info: value-type:list(str) + + + + + Suggests + + See . + + A list of dictionaries containing suggested software components. The dictionaries must have a type key + with the string value upstream or heuristic depending on where the suggestion originates from. + The also must have a ids key containing a list of component-ids of the suggested software. + + + Example: + + + Field info: value-type:list(dict) + + + + + ContentRating + + See . + + A dictionary containing the rating system as key, and a dictionary of rating-values as value. + The value-dictionary itself has the content rating IDs as keys and the intensity values as values. + The intensity values as well as IDs and rating system names match the values from the XML exactly. + + + Example: + + + Field info: value-type:dict(dict) + + + + + Requires & Recommends + + See . + + A list of dictionaries containing the referenced items. The dictionaries in the list must have one key denoting the item type, which has the + respective item value as value. Refer to the XML description for a list of possible types. + + + Each dictionary may have a version field with contains a version comparison string. The first two characters denote the version + comparison operation, and are followed by the version number to be compared with. The comparison operation may be one of: + + + == - Equal to + != - Not equal to + << - Lesser than + >> - Greater than + <= - Lesser than or equal to + >= - Greater than or equal to + + + Example: + + = 4.15' +- id: org.example.TestDependency + version: == 1.2]]> + Field info: value-type:list(dict) + + + + + + Agreements + + See . + + A list containing the agreements as dictionaries, with a sections key containing a list of sections. + All dict values are the same as the respective XML tag values / properties. + + + Example: + + - +

    If it breaks, you get to keep both pieces.

    ]]>
    + Field info: value-type:list(dict) +
    +
    + +
    + +
    + + +
    + Example YAML file + + This is an example AppStream DEP-11 metadata file: + + +TeXstudio is an integrated writing environment for creating LaTeX documents. It integrates editing, + building and viewing into a single frontend.

    Our goal is to make writing LaTeX as easy and comfortable + as possible. This is achieved through a rich feature set including:

    +Icon: + cached: texstudio_texstudio.png +Keywords: + C: + - editor + - latex + - pdflatex + - xelatex + - lualatex + - context + - bibtex +ProjectLicense: GPL-2.0 +Url: + homepage: https://texstudio.sourceforge.net/ +Categories: + - Office + - Publishing +Provides: + mediatypes: + - text/x-tex +Screenshots: + - default: true + source-image: + height: 756 + url: texstudio_2.8.4+debian-3_amd64/screenshots/source/screenshot-1.png + width: 1344 + thumbnails: + - height: 423 + url: texstudio_2.8.4+debian-3_amd64/screenshots/752x423/screenshot-1.png + width: 752 + - height: 351 + url: texstudio_2.8.4+debian-3_amd64/screenshots/624x351/screenshot-1.png + width: 624 + - height: 63 + url: texstudio_2.8.4+debian-3_amd64/screenshots/112x63/screenshot-1.png + width: 112]]>
    + +
    +
    diff -Nru appstream-0.12.10/docs/xml/Legal_Notice.xml appstream-0.14.5/docs/xml/Legal_Notice.xml --- appstream-0.12.10/docs/xml/Legal_Notice.xml 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/xml/Legal_Notice.xml 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,12 @@ + + +%BOOK_ENTITIES; +]> + + + Copyright &YEAR; Matthias Klumpp. This material may only be distributed subject to the terms and conditions set + forth in the GNU Free Documentation License (GFDL), V1.2 with no invariant sections or later (the latest version is presently available at + http://www.gnu.org/licenses/fdl.txt). + + diff -Nru appstream-0.12.10/docs/xml/man/appstreamcli.1.xml appstream-0.14.5/docs/xml/man/appstreamcli.1.xml --- appstream-0.12.10/docs/xml/man/appstreamcli.1.xml 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/xml/man/appstreamcli.1.xml 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,334 @@ + + + 26 July,2012"> + + + GNU"> + GPL"> +]> + + + + appstreamcli + + 2012-2021 + Matthias Klumpp + + AppStream + &date; + + + + appstreamcli + 1 + + + &package; + Handle AppStream metadata formats and query AppStream data + + + + + &package; + + + + + + + + Description + + This manual page documents briefly the &package; command. + + + &package; is a small helper tool to work with AppStream metadata and + access the AppStream component index from the command-line. The AppStream component + index contains a list of all available software components for your distribution, matched to their + package names. + It is generated using AppStream XML or Debian DEP-11 data, which is provided by your distributor. + + + For more information about the AppStream project and the other components which are part of it, take a look at + the AppStream pages at Freedesktop.org. + + + + + Options + + + + + + + Display various information about the installed metadata and + the metadata cache. + + + + + + + + Get a component by it's identifier. + + + + + + + + Search the AppStream component database for a given search term. + + + + + + + + Return components which provide a given item. An item type can be specified using the + parameter, a value to search for has to be + supplied using the parameter. + + Examples: + + Get components which handle the "text/xml" mediatype. + + + &package; what-provides mediatype "text/xml" + + + Get component which provides the "libfoo.so.2" library. + + + &package; what-provides lib libfoo.so.2 + + + + + + + + + + Trigger a database refresh, if necessary. + In case you want to force the database to be rebuilt, supply the flag. + + This command must be executed with root permission. + + + + + + + + Dump the XML description of a component with the given ID. + + + + + + + + + Validate AppStream XML metadata for compliance with the specification. + + + Both XML metadata types, upstream and distro XML, are handled. + The filetype which should be validated is determined automatically. + + + The flag triggers a more pedantic + validation of the file, including minor and style issues in the report. + + + + + + + + + Validate AppStream XML metadata found in a file-tree. + + + This performs a standard validation of all found metadata, but also checks for additional + errors, like the presence of .desktop files and validity of other additional metadata. + + + + + + + + + Install a software component by its ID. + + + This resolves the AppStream component ID to the package name which provides it and + then calls the distribution's package manager to install the software. + + + This feature is experimental. + + + + + + + + + Install a metadata file into the right directory on the current machine. + + + + + + + + + Compare two version numbers. If two version numbers are given as parameters, the versions will be compared and the + comparison result will be printed to stdout. + + + If a version number, a comparison operator and another version number are passed in as parameter, the result of the comparison + operation will be printed to stdout, and &package; will exit with a non-zero exit status in case the comparison + failed. + The comparison operator can be one of the following: + + + eq - Equal to + ne - Not equal to + lt - Lesser than + gt - Greater than + le - Lesser than or equal to + ge - Greater than or equal to + + + + + + + + + Create a metainfo file template to be used by software projects. The option can be used + to use a .desktop file as template for generating the example file. + + + The generated files contain example entries which need to be filed in with the actual desired values by the project author. + + + The first TYPE parameter is the name of an AppStream component type. For a complete list check out + the documentation or the help output + of &package; for this subcommand. + + + + + + + + + Create a XDG desktop-entry file from a metainfo file. + If the desktop-entry file specified in DESKTOP_FILE already exists, it will get extended with + the new information extracted from the metainfo file. Otherwise a new file will be created. + + + This command will use the first binary mentioned in a provides tag of the component + for the Exec= field of the new desktop-entry file. + If this is not the desired behavior, the flag can be used + to explicitly define a binary to launch. Other methods of launching the application are currently not supported. + + + In order to generate a proper desktop-entry, this command assumes that not only the minimally required tags for an + AppStream component are set, but also that it has an <icon/> tag of type "stock" to describe + the stock icon that should be used as well as a <categories/> tag containing the categories the application should + be placed in. + + + + + + + + + This command converts a NEWS file as used by many open source projects into the XML used by AppStream. Since NEWS files are free text, + a lot of heuristics will be applied to get reasonable results. The converter can also read a YAML version of the AppStream release + description and convert it to XML as well. + If the metainfo file MI_FILE already exists, it will be augmented with the new release entries, otherwise the release entries + will be written without any wrapping component. + If [OUT_FILE] is specified, instead of acting on MI_FILE the changed data will + be written to the particular file. If any of the output filenames is set to "-", the output will instead be written to stdout. + + + The option can be used to enforce reading the input file in a specific format ("text" or "yaml") in case the format autodetection fails. + The option is used to limit the amount of release entries written (the newest entries will always be first). + + + + + + + + + This command reverses the command and writes a NEWS file as text or YAML using the XML + contained in a metainfo file. If NEWS_FILE is set to "-", the resulting data + will be written to stdout instead of to a file. + + + The option can be used to explicitly specify the output format ("yaml" or "text"). If it is not set, + &package; will guess which format is most suitable. + + + + + + + + Print out more information about a found component. + + + + + + + Don't print colored output. + + + + + + + Do not access the network when validating metadata. + + The same effect can be achieved by setting the AS_VALIDATE_NONET environment variable + before running &package;. + + + + + + + + Display the version number of &package; + + + + + + + + See Also + pkcon (1). + + +AUTHOR + + This manual page was written by Matthias Klumpp matthias@tenstral.net. + + + diff -Nru appstream-0.12.10/docs/xml/man/appstreamcli-compose.1.xml appstream-0.14.5/docs/xml/man/appstreamcli-compose.1.xml --- appstream-0.12.10/docs/xml/man/appstreamcli-compose.1.xml 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/xml/man/appstreamcli-compose.1.xml 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,233 @@ + +28 Aug,2020"> + + + GNU"> + GPL"> +]> + + + + appstreamcli compose + + 2020-2021 + Matthias Klumpp + + AppStream + &date; + + + + appstreamcli compose + 1 + + + appstreamcli-compose + Compose AppStream collection metadata from directory trees + + + + + &package; + + + + + + + + Description + + This manual page documents briefly the &package; command. + + + &package; is a tool to construct AppStream collection metadata from directory trees. + The tool will also perform many related metadata generation actions, like resizing icons and + screenshots and merging in data from referenced desktop-entry files as well as translation status + information. + Therefore, the tool provides a fast way to test how the final processed metadata for an application + that is shipped to users may look like. + It also provides a way to easily generate AppStream data for projects which do not need a more complex data + generator like appstream-generator. + + + In order for the &package; command to be available, you may need to install the + optional compose module for appstreamcli first. + + + For more information about the AppStream project and the other components which are part of it, take a look at + the AppStream pages at Freedesktop.org. + + + + + Options + + + + SOURCE DIRECTORIES + + + A list of directories to process needs to be provided as positional parameters. + Data from all directories will be combined into one output namespace. + + + + + + + + + Set the AppStream data origin identifier. This can be a value like + "debian-unstable-main" or "flathub". + + + + + + + + + Sets the directory where all generated output that is deployed to a user's + machine is exported to. If this parameter is not set and we only have one + directory to process, we use that directory as default output path. + + + If both and are + set, is not necessary and no data will be + written to that directory. + + + + + + + + + Override the directory where the generated AppStream collection metadata + will be written to. Data will be written directly to this directory, and + no supdirectories will be created (unlike when using + to set an output location). + + + + + + + + + Override the directory where the cached icons are exported to. + + + + + + + + + Set a directory where hints reported generated during metadata processing + are saved to. If this parameter is not set, no HTML/YAML hint reports + will be saved. + + + + + + + + + If set, creates a directory with media content (icons, screenshots, ...) that + can be served via a webserver. The metadata will be extended to include information + about these remote media. + + + + + + + + + The URL under which the contents of a directory set via + will be served. This value must be set if a media directory is created. + + + + + + + + + Set the default prefix that is used in the processed directories. If + none is set explicity, /usr is assumed. + + + + + + + + + Print the issue hints report (that gets exported as HTML and YAML + document when was set) to the console + in text form. + + + Various print modes are supported: on-error only prints a + short report if the run failed (default), short generates + an abridged report that is always printed and full results + in a detailed report to be printed. + + + + + + + + + Set a comma-separated list of AppStream component IDs that should be + considered for the generated metadata. All components that exist in + the input data but are not mentioned in this list will be ignored + for the generated output. + + + + + + + + Don't print colored output. + + + + + + + Display extra debugging information + + + + + + + Display the version number of &package; + + + + + + + + See Also + appstreamcli(1), appstream-generator(1). + + +AUTHOR + + This manual page was written by Matthias Klumpp matthias@tenstral.net. + + + diff -Nru appstream-0.12.10/docs/xml/Manpages.xml appstream-0.14.5/docs/xml/Manpages.xml --- appstream-0.12.10/docs/xml/Manpages.xml 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/xml/Manpages.xml 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,18 @@ + + +%BOOK_ENTITIES; +]> + + + Manual pages + + + Manpages are available at the API documentation. + + + + + diff -Nru appstream-0.12.10/docs/xml/metainfo-addon.xml appstream-0.14.5/docs/xml/metainfo-addon.xml --- appstream-0.12.10/docs/xml/metainfo-addon.xml 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/xml/metainfo-addon.xml 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,80 @@ + + +%BOOK_ENTITIES; +]> + +
    + Addons + +
    + Introduction + + Some components are not standalone, but rather extend existing software installed on the system and can only be used + together with it. + The addon component type exists to reflect that. + + + Software which provides addons can ship one or more files in /usr/share/metainfo/%{id}.metainfo.xml. + +
    + +
    + Example file + + A addon meta-info file should look like this: + + + + + org.gnome.gedit_code_assistance + org.gnome.gedit + Code Assistance + Code assistance for C, C++ and Objective-C + http://projects.gnome.org/gedit + FSFAP + GPL-3.0+ +]]> +
    + +
    + File specification + + Note that the XML root must have the type property set to addon. + This clearly identifies this metainfo document as describing an addon to existing software. + + + + + <id/> + + + For addons, the component-ID must follow the generic naming conventions (see ). + + + + + + <extends/> + + + This tag is refers to the ID of the component this addon is extending. + + + For example, if there is a plugin "kipi" which extens the application "Gwenview", it needs to be referred to as: + + org.kde.Gwenview]]> + + The <extends/> tag may be specified multiple times. + + + + + + + For a component of type addon, the following tags are required and must be present: , , , + , . + + +
    +
    diff -Nru appstream-0.12.10/docs/xml/metainfo-codec.xml appstream-0.14.5/docs/xml/metainfo-codec.xml --- appstream-0.12.10/docs/xml/metainfo-codec.xml 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/xml/metainfo-codec.xml 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,117 @@ + + +%BOOK_ENTITIES; +]> + +
    + Codecs + +
    + Introduction + + Software centers might want to special-case codec handling. Therefore, we provide a component type for them. + + + Codecs can ship one or more files in /usr/share/metainfo/%{id}.metainfo.xml. + + + Codec metadata files can – just like all other metainfo files – be translated. See the section about translation for more information. + +
    + +
    + Example file + + A codec meta-info file should look like this: + + + + + org.freedesktop.gstreamer.codecs-good + CC0 + GStreamer Multimedia Codecs - Extra + +

    + This addon includes several additional codecs that are missing + something - perhaps a good code review, some documentation, a set of + tests, a real live maintainer, or some actual wide use. + However, they might be good enough to play your media files. +

    +

    + These codecs can be used to encode and decode media files where the + format is not patent encumbered. +

    +

    + A codec decodes audio and video for for playback or editing and is also + used for transmission or storage. + Different codecs are used in video-conferencing, streaming media and + video editing applications. +

    +
    + + encoder-audio/mpeg + mpegversion=(int){ 4, 2 } + stream-format=(string){ adts, raw } + encoder-video/mpeg + systemstream=(boolean)false + mpegversion=(int){ 1, 2, 4 } + encoder-video/mpeg + systemstream=(boolean)true + encoder-video/x-xvid + element-faac + element-mpeg2enc + element-mplex + element-xviddec + element-xvidenc + +
    ]]>
    +
    + +
    + File specification + + Note that the XML root must have the type property set to codec. + This clearly identifies this metainfo document as describing a codec. + + + + + <id/> + + + For codecs, the %{id} must follow the component-id naming conventions (see ). + + + + + + <metadata_license/> + + + The <metadata_license/> tag is required. See for a description of this tag. + + + + + + <provides/> ↪ <codec/> + + + This tag is described for generic components at in detail. + + + You must add one or more children of type <codec/> to make it known to the system that your + software is able to provide the mentioned codecs. + Adding this data is required for all components of type=codec. + + + + + + + For a component of type codec, the following tags are required and must be present: , , + , , . + +
    +
    diff -Nru appstream-0.12.10/docs/xml/metainfo-component.xml appstream-0.14.5/docs/xml/metainfo-component.xml --- appstream-0.12.10/docs/xml/metainfo-component.xml 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/xml/metainfo-component.xml 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,1500 @@ + + +%BOOK_ENTITIES; +]> + +
    + Generic Component + +
    + Introduction + + For a distribution, it is good to know more about the content of a package. Which public interfaces (libraries? Python modules?) does it provide? Does it contain codecs? Does it + contain firmware? Fonts? An application? + All of this information can be used to automatically install missing software or to offer users a choice on what they want to install from a software center. + + + To provide this information, we created the metainfo files, which allow upstream projects to describe the content of their software package. + If a metainfo file contains a <provides/> tag, distributors must also ensure that the package providing the file contains all items referenced + by that statement, or is installed by a metapackage depending on packages which provide these items. This gives upstream projects a (very light) way to influence distributor packaging. + More information about that can be found below. + + + Several specialized component-metainfo files exist, for example for applications or fonts. These are all based on this generic component XML specification, and are described in the + following chapters. + +
    + +
    + Filesystem locations + + + Upstream projects can ship one or more metainfo files in /usr/share/metainfo/%{id}.metainfo.xml, where id is a unique + identifier of this specific component. + + + + Component metadata of type desktop-application as described in can be installed + with an .appdata.xml extension as well for historical reasons. + AppStream implementations will read the XML files as long as they end up in the right location on the filesystem. + + + + Legacy Path + + AppStream tools scan the /usr/share/appdata/ path for legacy compatibility as well. It should not be used + anymore by new software though, even on older Linux distributions (like RHEL 7 and Ubuntu 16.04 LTS) the metainfo path is well + supported. + Support for the legacy path will likely be dropped completely with a future AppStream 1.0 release. + + + +
    + +
    + XML Specification + + + The XML for a generic component definition starts with a <component> tag as the root element. + The <component> element must at least have an id, name and summary tag; and + a provides tag with appropriate children is highly recommended. + All possible tags in the generic set are: + + + + + <id/> + + + The ]]> tag is a unique identifier for this component. It must contain only ASCII characters, dots, hyphens and numbers. Spaces are + not allowed. While hyphens are allowed for legacy compatibility, their usage is strongly discouraged to ensure interoperability of the AppStream ID with other tools such + as D-Bus (and thereby making the ID more generic and useful). For the same reason it is also strongly discouraged to start any segment of the ID with a digit. + Additionally, even though uppercase letters are permitted in a component-ID, it is strongly encouraged to only use lowercase letters for the ID. + + + The ID must follow a reverse-DNS scheme, consisting of {tld}.{vendor}.{product}, for example org.kde.gwenview + or com.hugski.colorhug2. Ownership of {vendor}.{tld} in the domain name system guarantees uniqueness of IDs. + + + To increase the uniqueness and to distinguish between different pieces of a software suite, it is suggested to append the type name to the component-id in these cases. + For example, one can use com.hugski.colorhug2 for the client tools to control hardware, and com.hugski.colorhug2.firmware for the runtime firmware files. + + + Note that the value of this tag must be unique across all distributions and software deployment platforms. + In case it is not unique, distributors are expected to reject the conflicting components from inclusion into their metadata and notify the upstream projects about this issue. + + + + Escaping characters in the component ID + + To ensures the greatest possible compatibility of an AppStream ID, it is recommended to replace any hyphens in the ID with underscores, and prefix every leading digit of + a section with an underscore as well. Since the underscore is not a valid character in domain names, the uniqueness of the ID is kept. + For example, the ID org.7-zip.7zip could become org._7_zip._7zip. + + + + + + + + <metadata_license/> + + + The <metadata_license/> tag indicates the content license that you are releasing the one + metainfo XML file under. This is typically not the same as the project license. Omitting the license value will + result in the metainfo data not being incorporated into metadata collections as used by Linux distributions. + This tag is required for all metainfo files. + + + The value of this tag has to be one of the recognized SPDX license IDs for <metadata_license/> tags, or a simple SPDX expression + (only AND and OR operators allowed) allowing the use of the metadata file under one of the recognized licenses. + + + We do recognize a set of permissive licenses that have been vetted + for mutual compatibility. This is important in order to allow the metainfo metadata to be combined with arbitrary other data in one file. + While copyleft licenses like the GPL are great for code, it is not feasible to test every copyleft license for mutual compatibility and compliance + when combining metainfo metadata with other data into one larger assembly fully automatically. + + + Currently, the following licenses have been reviewed and can be used as metadata licenses: + + + + FSFAP + + + MIT + + + 0BSD + + + CC0-1.0 + + + CC-BY-3.0 + + + CC-BY-4.0 + + + CC-BY-SA-3.0 + + + CC-BY-SA-4.0 + + + GFDL-1.1 + + + GFDL-1.2 + + + GFDL-1.3 + + + BSL-1.0 + + + FTL + + + FSFUL + + + + The license codes correspond to the identifiers found at the SPDX OpenSource License Registry. + For instance, CC-BY-SA-3.0 corresponds to the license at + creativecommons.org/licenses/by-sa/3.0. + If you are looking for the simplest license to use for your metadata, using the FSFAP license is suggested. + + + + + + <name/> + + + A human-readable name for this software component. For example, if the component ID was "libc", its name might be "GNU Standard C Library". + + + + + + <summary/> + + + A short summary of what this component does. If the component is "PackageKit", the summary could be "Provides a package-management abstraction layer". + + + + + + <icon/> + + + The <icon/> tag describes the component icon. It is mostly used for GUI applications (component-type desktop-application). + It can be of type stock, local or remote. + + + stock icons are loaded from the icon stock (the current or hicolor/locolor fallback themes). + The icon name must not include any file-extension or path. + + + local icons are loaded from a file in the filesystem. + They should specify a full file path. + This icon type may have width and height + properties. + + + remote icons loaded from a remote URL. Currently, only HTTP/HTTPS urls are supported. + This icon type should have width and height properties. + + + + + + <description/> + + + A long description of this component. Some markup can be used. + + + Do not assume the format is HTML. This list contains all currently supported formatting options: + + + + Paragraph (p) + + + Ordered list (ol), with list items (li) + + + Unordered list (ul), with list items (li) + + + + Within paragraphs and list items, emphasis (em) and inline code (code) text styles are supported. + The emphasis is commonly rendered in italic, while inline code is shown in a monospaced font. + + + + Nested lists are not supported + + + + In metainfo files, this tag should be translated by-paragraph, meaning that in a translated file, each translated <p/> child + has a language property. + + + + + + <categories/> + + + This tag can contain one or more <category>> entries, describing the categories this software component + is associated with. + This tag is usually applied to components of type desktop-application, but can be used with any component. + A list of valid category names can be found in the + Freedesktop menu specification. + Example: + + + Game + ArcadeGame +]]> + + + + + <url/> + + + Defines web URLs for this component.There are several different URL types allowed: + + + + + homepage + + + Should be a link to the upstream homepage for the component. + + + + + + bugtracker + + + Should point to the software's bug tracking system, for users to report new bugs. + + + + + + faq + + + Should link a FAQ page for this software, to answer some of the most-asked questions in + detail, something which you cannot do in the component's description. + + + + + + help + + + Should provide a web link to an online user's reference, a software manual or help page. + + + + + + donation + + + URLs of this type should point to a webpage showing information on how to donate to + the described software project. + + + + + + translate + + + URLs of this type should point to a webpage where users can submit or + modify translations of the upstream project. + + + Typically this should be a link to the project page in Weblate, Transifex or Zanata, but could also be a + link to an upstream-hosted wiki page describing how to send translations upstream. + + + + + + contact + + + URLs of this type should allow the user to contact the developer. + + + This could for example be a HTTPS URL to an online form or a page describing how to contact the developer. + + + Deprecation + + In the past, mailto: URL schemas to link to email addresses were also supported for this URL type. + It is recommended to not use them in new metadata, as they provide poor usability on most systems when users click + on such a link and no local email client is configured. + + + + + + + + + + + <launchable/> + + + This optional tag indicates possible methods to launch the software described in this component. + It is allowed to appear multiple times in the metainfo data. + + + + The <launchable/> tag has a essential type property indicating the system that is used to launch the component. The following types are allowed: + + + + desktop-id + + + The application can be launched via a desktop file. The value of the tag is a + desktop-file id. + + + In case a software component has multiple launchable entries, + the software center might display a dialog to choose which entry to launch. + If possible though, it should be avoided to add multiple launchable tags of type desktop-id. + + + + + service + + + The software can be started, stopped, and monitored by the OS "init" + facility, such as systemd. The value of the tag is a name that can be + used with that facility, such as a systemd unit name. + + + Multiple launchable tags of type service are not + alternatives to start the same service, but the + component does contain multiple services that might all need to be + started. + + + Only those services should be listed as launchables that the user is + actually expected to start and stop manually. Services that are + started/stopped indirectly via dependencies of other services should + not be listed. + + + For systemd units, the services listed as launchables are expected to + support enabling and disabling. + + + + + cockpit-manifest + + + The software can be launched from the menus of + the Cockpit admin interface. + The value of the tag is the name of a Cockpit + package. + + + + + url + + + The application is a web site that is viewed through a browser. + The value of the tag is a direct HTTP/HTTPS URL that the browser must navigate to. + + + + + + Example: + + org.gnome.sysprof2.desktop]]> + + + + + <releases/> + + + The ]]> tag contains <release/> child tags which + describe some metainformation about the current release of the described software. + Each release of the software component should have a <release/> tag describing it, + but at least one release child must be present for the current release of the software. + The release children should be sorted in a latest-to-oldest order to simplify reading + the metadata file. + + + A release tag can have the properties version, date and timestamp. + The date property can have any time in ISO 8601 format as its value and + should be present for every release. At least day-level granularity is required, which means that the ISO 8601 string must contain at least a full date (e.g. 2020-08-12). + The timestamp tag contains the release time in the form of a UNIX epoch. This tag should not be used in metainfo files in newly + written metadata, but will still be parsed in case it is present. The timestamp property is mainly used in generated distro-metadata. + In case both release-time tags are present, the timestamp tag will take precedence over date. + + + The algorithm used for comparing version numbers is described at . + + + A release tag may also have a date_eol property that denotes the date when the release stops to receive + support from the software developers (end-of-life). Its value can be any complete date or time in ISO 8601. + + + Optionally, the <release/> tag may also have an urgency property, having one of the following values: + + + low + medium + high + critical + + + The urgency defines how important it is to install the new release as an update. This is especially important for type=firmware + components. + If no urgency is defined, a medium urgency is implicitly assumed. + The urgency defines how the update will be presented to the user, and sometimes if it will be installed automatically and immediately, or delayed. + + + A release tag may have a type property + to classify releases with one of the following values: + + + stable + development + + + By default, if no release type is defined, stable is assumed. + A software displaying a listing of releases should only show stable releases and + discard any development release if the current version is itself stable. It can + show all versions when development versions of the software are also distributed. + + + + Each release tag may have a description tag as child, containing a brief description of what is new in the release. + The description tag is structured as described in . + + + + A release may also have an url tag as child. + The release url should point to detailed release notes that explain the changes made in this particular release. + The url tag may have a type property with details as the only currently + allowed value. If the type is missing, an URL type of details is implicitly assumed. + + + + In order to mention issues that were resolved in a release, and especially reference CVE IDs, + issue tags can be used as children of one issues tag within a release. + The value of an issue tag must be the bug number, ticket name, or CVE ID and is typically displayed to the user, but may also in case of CVE IDs be read by + machines. If the value is a CVE ID, the type property of the issue tag must be set to cve. + If the type property is missing, an issue type of generic is assumed. The url property can be used to provide + a web URL to a details page on the respective issue. It is required for all issue types, except for the cve type, where it is optional. + + + + To denote release artifacts, the artifacts child tag can be used. It itself contains the artifacts as artifact children. + Each artifact tag must have a type property with the value of either binary or source to indicate whether the + artifact is the releases' source-code or a binary distribution. + + + In case of a binary type, an optional platform property may + also be set, containing a platform triplet (also known as normalized GNU triplet), such as x86_64-linux-gnu. Refer to + Debian multiarch tuples for more information on normalized GNU triplets, and + AppStream's platforms.yml for the triplet parts AppStream currently recognizes. + Note that AppStream only supports strictly three-part triplets in the form of arch-oskernel-osenvironment. Parts of the triplets which do not apply can be + replaced with any. + + + Binary artifacts may also have a bundle property to indicate the bundling system the binary distribution is made for. Refer to + the bundle types in for a list of possible values. + Each artifact can have a number of children: + + + + + location + + + Each artifact must have a location child, denoting the web location (HTTP or HTTPS) where it can be downloaded from. + Multiple location tags are allowed to make it possible to have mirror options to download the same artifact from. + + + + + + checksum + + + At least one checksum child must be present to contain the checksum of the released artifact. + The <checksum/> tag has a type attribute, containing the name of the hash function that was used to create it. + Currently aupported values (and hash sums) are: sha1, sha256, blake2b and blake2s. + For most purposes (on 64-bit machines), using BLAKE2b via the b2sum utility from GNU Coreutils is a good choice. + + + + + + size + + + One or multiple size tags may also be present, which define the installed and download size + of this component release artifact. + The size type is defined via a type property on the size tag, and may assume the value download or installed. + The size itself is set as the value and must be given in bytes. + + + + + + filename + + + An artifact may have a filename child, containing a non-absolute filename that the artifact may be stored under. The file name is only a naming hint and + applications are not required to follow it when downloading the file. If no filename tag is present, a file name may be generated from the artifact + location URL. + This tag must only appear once. + + + + + + + + Examples for a valid releases tag with artifacts: + + + + +

    This stable release fixes bugs.

    +
    + + https://example.org/releases/version-1.2.html + + + bz#12345 + CVE-2019-123456 + + + + + https://example.com/mytarball.bin.tar.xz + .... + .... + 12345678 + 42424242 + + + https://example.com/mytarball.bin.exe + + + https://example.com/mytarball.tar.xz + .... + + +
    + + +]]>
    +
    +
    + + + <provides/> + + + The provides tag and its children describe the public interfaces this application provides. + A public interface can be anything which other applications, which are not part of the upstream project, can access or reference. + This includes binaries and libraries. Private interfaces should never be added to a provides tag. + + + A provides tag contain a number of children describing the type and name of the provided public interface items. + It is suggested that the build system auto-generates this tag and its children. + Currently allowed item types are listed below. If you miss something, + file a bug against AppStream so we can add the new type. + + + + + <mediatype/> + + + Describes the media types (also known as MIME types) this software supports, meaning it can open, edit or otherwise handle them. + This tag is especially useful for generic components and addon-type components. For applications, the metadata may automatically + be fetched from their .desktop files by the distribution's metadata generator if a desktop-entry file is set + as . + Example: + + + + text/html + image/jpeg + application/rss+xml + ]]> + + + + + <library/> + + + Contains the name of a shared library placed in a publicly accessible library path, such as /usr/lib, /usr/lib/<triplet> + or /lib. + For example, for the libappstream library, the value for library would be libappstream.so.1. + + + + + + <binary/> + + + Name of a binary installed into a location in PATH. + + + + + + <font/> + + + Full name of a font provided by this component. See for more information. + + + + + + <modalias/> + + + A modalias glob representing the hardware types (for example USB, PCI, ACPI, DMI) this component handles. + Useful for installing printer drivers or other USB protocol drivers for smartphones, firmware, and + out of tree kernel drivers. + + + + + + <firmware/> + + + This provided element is described in details for the firmware component type, where it is mandatory. + Please see for more information. + + + + + + <python2/> + + + Name of a Python 2 module this component provides. + + + + + + <python3/> + + + Name of a Python 3 module this component provides. + + + + + + <dbus/> + + + Contains the well-known name of a D-Bus service as its value. The type of the service must be specified using the type property + of this tag. Allowed values are user and system. + + + Example: + + + org.freedesktop.packagekit +]]> + + + + + <id/> + + + Contains the component-ID of another software component. The presence of this tag indicates that the software component containing it is able to + provide all functionality of the one referenced in the <provides/> ↪ <id/> tag. + + + This is useful in case a component-id had to be renamed in the past, e.g. because its domain-name changed. + + + + + + + + + + + <requires/> & <recommends/> + + + The requires tag denotes an absolute requirement on a different system component. + A component can require a certain hardware to be present, or kernel, or other component to be installed first. If a requirement + is not met, AppStream clients should prevent the installation of the particular software component. + + + If it is not essential that a certain requirement is met by the system, but just recommended to be available, a + recommends tag should be used. In this case, AppStream clients should allow the installation of the software + component, but may display a warning before allowing it. + + + A requires or recommends tag contains children describing the type, value and version relation + of the required item. + Each child can have a version and a compare property, to allow depending on a certain minimal + version of the respective item. + The version property contains the version to be compared against, while the compare property contains + a two-letter code denoting how to compare the version of a present item with the version listed in the property. + If no compare property is given, but a version property is found, AppStream implementations should + implicitly assume a value of ge for comparison of the versions. The installed version is on the left side of the required version + when comparing them. See for a description of the version comparison algorithm. + + + Possible two-letter codes for version comparisons are: + + + eq - Equal to + ne - Not equal to + lt - Lesser than + gt - Greater than + le - Lesser than or equal to + ge - Greater than or equal to + + + Possible item types to declare a requirement on or a recommendation for are: + + + + + <id/> + + + A relation to another software component. The value should be another component-ID. Example: + + + org.example.my_software +]]> + + + + + <modalias/> + + + Check for a specific hardware to be present via its modalias. The modalias may contain a wildcard expression. + Example: + + + usb:v1130p0202d* +]]> + + + + + <kernel/> + + + Check for a specific kernel to be running on the system. The kernel name is the output of uname -s. + Example: + + + Linux +]]> + + + + + <memory/> + + + Set a relation to the amount of physical memory (RAM) the system should have to run the software component. + The memory size is set in MiB. You usually only want to use this with the recommends tag, + because users might want to install the software on systems even if they have a lesser amount of memory + compared to what would be ideal. + Example: + + + 2048 +]]> + + + + + <firmware/> + + + Depend on a specific device firmware. The value of this tag should either be a name like bootloader, be + empty to reference the firmware itself described by the firmware-type component this tag is contained in, + or contain a GUID. + This tag is commonly used and interpreted by Fwupd. + Example: + + + 6de5d951-d755-576b-bd09-c5cf66b27234 + + bootloader +]]> + + + + + <control/> + + + This item type can be used to recommend or require certain ways a user can control the software. This usually maps to certain methods + of input. If multiples of these tag are found within a requires/recommends block, only one of them needs to be satisfied on the system + to mark an application as compatible. This means if touch and pointing are both recommended as controls, + an system that only has a mouse and no touchscreen will still be considered able to run the application. + Valid values for this tag are: + + + pointing - Input via mouse/cursors/other pointing devices is possible + keyboard - Keyboard input is possible + console - Control via a console / command-line interface + touch - Input by touching a surface with fingers is possible + gamepad - The component supports gamepads (any game controller with wheels/buttons/joysticks) + tv-remote - Input via a TV remote (with arrow keys, number pad, other basic inputs) is supported. + voice - The software can be controlled via voice recognition/activation + vision - The software can be controlled by computer vision / visual object and sign detection + + + If a control type is recommended, it means the software supports the given method of user input. As long as one of the input methods + is available on the system, the software can be used. Installation on systems without the given control is still permitted. + If a control type is required, the same applies, but the software installer should refuse to install the application on devices which + do not have at least one of the input methods. It is therefore advised to only use the control tag in recommends listings, + and avoid to use it in requires. + + + For certain component types, some permitted controls are implicitly assumed: For desktop-application + and web-application components, pointing and keyboard controls + are assumed. + For console-application, control via console is assumed. + + + Example control recommendation: + + + pointing + keyboard + touch +]]> + + + + + <display_length/> + + + Set a relation to the display length defined as an integer value in logical pixels (device pixels divided by scaling factor, + roughly equivalent to 0.26mm (1/96in), also known as device-independent pixels). + Setting the side property to either shortest or longest will apply the selected size constraint to + either the shortest or longest side of the display rectangle, with shortest being implicitly assumed if no value is set. + + + About Pixel Dimensions + + One logical pixel (= device independent pixel) roughly corresponds to the visual angle of one pixel on a device with a pixel density of + 96dpi and a distance from the observer of about 52cm, making the physical pixel about 0.26mm in size. + When using logical pixels as unit, they might not always map to exact physical lengths as their exact size is defined by the device providing + the display. + They do however accurately depict the maximum amount of pixels that can be drawn in the depicted direction on the device's display space. + + + + Relations for the display length can be defined using a compare property as described in . + If this property is not present, a value of ge (greater-or-equal) is implicitly assumed. + + + The display_length tag also accepts one of the following text values. While their exact meaning in terms of pixel-based size + is implementation-defined, the text term will roughly match the screen size of the device class listed next to it in the listing below: + + + xsmall - Very small screens, as used in watches, wearables and other small-display devices (about <= 360px). + small - Small screens often used in handheld devices, such as phone screens, small phablets (about < 768px). + medium - Screens in laptops, tablets (about >= 768px) + large - Bigger computer monitors (about >= 1024px) + xlarge - Television screens, large projected images (about >= 3840px) + + + If a text value is used, the side property must not be present. For side, shortest + is assumed in this case. + A compare property is permitted and will compare the text placeholder values from smallest (xsmall) to largest (xlarge). + The text values are intended for adaptive applications which only need or want to give a very rough hint as to which display lengths they support, and do + not need fine control over their visibility (as these types of applications will adjust well to most screen sizes at runtime). + If finer control is needed, absolute sizes should be used instead. + + + Determining Device Types + + Please note that a display with a lot of vertical space may not be a television screen, but could also be a large gaming monitor. + Similar logic applies to the smaller screen sizes. Therefore, to indicate that an application runs well on a certain device + and not just on a certain display, additional metadata is needed, like the application's supported + input controls as defined via . + + + + This tag may appear up to four times to set a minimum and maximum dimension required. + If multiple displays are connected to a device, it is acceptable to test against either the largest screen attached to the device, or the combined + amount of display space (depending on what makes the most sense for the respective device / setup). + A software center application may test for the maximum possible resolution of an attached display, and not the currently set display resolution in case + it wants to check against hardware capability and not be influenced by user configuration. + + + If used in a requires block, this relation can be used to restrict an application to only be installable on systems which have a minimum + usable display length available for it. If used in a recommends block, the application will still be + installable, but the user may be shown a warning. + + + If no display_length relation is present, a minimum required display (ge) relation + of medium is implicitly assumed to preserve backwards compatibility (so applications capable of running on smaller screens + need to make their support for that configuration explicit). + + + Examples: + + + + 600 + + + + + xlarge + xsmall +]]> + + + + + + + + + + <mimetypes/> + + + This tag can contain one or more <mimetype/> children, describing the MIME types this application supports. + + + Deprecation + + This tag is deprecated and should not be used for new metadata. Please use mediatype tags + instead. + + + + + + + <project_group/> + + + If you include the <project_group/> tag then this identifies your project with a specific upstream umbrella project. + Known values include GNOME, KDE, XFCE, MATE and LXDE, although other umbrella projects like Yorba or Mozilla make sense too. + + + + You should only identify with an umbrella project if you use all their infrastructure and policies, for instance string freezes dates, bugtracker and source control instance. + + + + + + + <compulsory_for_desktop/> + + + The ]]> tag indicates that the component which the metadata belongs to is essential for the + functionality of the defined desktop environment. Examples for compulsory components are the GNOME Shell by the GNOME Project, + or the Plasma Desktop by KDE, as well as things like iBus or the desktop login manager. + + + Software centers are expected to detect the running desktop environment and disable uninstallation for compulsory components of that desktop, + so users will not be able to damage their currently running, primary desktop environment. + + + Multiple occurrences of the ]]> tag are allowed, so a project can be essential for many desktops. + The distributor decides which components should be made compulsory, however it is generally a good idea to follow upstream's recommendations on that matter. + + + A list of all allowed values for this tag is defined in the XDG Menu Specification. + Software center applications will only recognize these values. + + + + + + <project_license/> + + + The <project_license/> tag is indicating the license of the component (application/library/addon/font/etc.) described in the metadata document. + It should be a SPDX license expression. Please note the SPDX license IDs are case-sensitive in AppStream. + Possible values include: + + GPL-2.0 + LGPL-3.0+ AND GPL-3.0+ + MIT + CC-BY-SA-2.0 + LicenseRef-proprietary=https://example.com/mylicense.html + + A full list of recognized licenses and their identifiers can be found at the + SPDX OpenSource License Registry. + + + Custom licenses which are not in the SPDX registry, like proprietary licenses, can be denoted using the LicenseRef notation. + LicenseRef-proprietary can be used to denote a proprietary license, with an optional URL to the license text following after + a = sign. + + + The license given in the project_license tag should be the ‘main’ license of the project. For a software project, this + is typically the license for the code. It is not recommended to include the license for accompanying documentation (for example) in + project_license, as that could confuse users. In particular, the CC-BY-SA-3.0 license which is commonly + used for documentation is not an (FSF or OSI) approved license for free software, so including it in project_license results in the + project as a whole being considered non-free. + + + Although the project_license tag is not mandatory, it is highly recommended to include it. + + + Examples: + + LGPL-3.0+ OR MPL-2.0 +LGPL-3.0+ OR MPL-2.0 +GPL-3.0-or-later +LicenseRef-proprietary=https://code.visualstudio.com/license]]> + + + + + <developer_name/> + + + The <developer_name/> tag is designed to represent the developers or project responsible for development of the project described in the metadata. + + + Values might be for example "The GNOME Foundation" or "The KDE Community". + You must not include hyperlinks or emails in this field, if you want to link to the developer's homepage, use the -tag instead. + + + This tag is translatable. + + + + + + <screenshots/> + + + Visual components (like fonts or graphical applications) may choose to add one or multiple screenshots to their metadata. + Screenshots can be either a video or a static image. + + + The <screenshots/> tag contains multiple <screenshot/> children, where at least one of them must have the property + type="default" to indicate the primary screenshot of the software. Every <screenshot/> tag must have at least + one <image/> or <video/> child, but never an image and video at the same time. + Also, screenshots containing videos must not be the default screenshot. + + + The value of the <image/> tag is a direct HTTP/HTTPS URL to a screenshot uploaded to a public location on the web. + Images should ideally be provided in the PNG format, however using JPEG or WebP is also fine for images in metainfo files. + + + The <image/> tag may have the following properties: + + + type + + The type of the image: source for the source image, and thumbnail for a thumbnail image. + In case the type is thumbnail, the width and height properties must be present. + + + + width + + The width of the image in pixels. + + + + height + + The height of the image in pixels. + + + + xml:lang + + The language this screenshot image is translated in. This property should only be present if there are multiple images with + different locales present. + + + + + + The value of the <video/> tag is a direct HTTP/HTTPS URL to a video uploaded to a public location on the web. The video must be in a + Matroska (.mkv) or WebM container and use either the + VP9 or AV1 codec. + The video should ideally work without any audio, but if audio is needed, the Opus codec should be used. + Software centers may still play the video without any sound though. Additionally, AppStream metadata repositories (like in distributions such as Fedora and Debian) + may impose size limitations to video files delivered by their CDN, so it is recommended to keep the video file size below 10MiB. + There is also a chance that software centers do not display any video at all, so a video must never be in a default screenshot. + + + The <video/> tag may have the following properties: + + + container + + The video container that is used, can be webm or matroska. + + + + codec + + The video codec used, can be av1 or vp9. + + + + width + + The width of the video in pixels. + + + + height + + The height of the video in pixels. + + + + xml:lang + + The language this video is translated in. This property should only be present if there are multiple videos with + different locales present. + + + + + + Optionally, a <screenshot/> tag may have a translatable <caption/> child, defining a short (ideally not more than 256 characters) + description of what the user can see on the referenced screenshot. + + + Ideally, all image screenshots as well as videos should have a 16:9 aspect ratio, and should have a width that is no smaller than 620 pixels. + + + Example: + + + + The FooBar main window. + https://example.com/foobar/screenshot-1.png + + + Foobar showing the frobnicate functionality. + https://example.com/foobar/screenshot-2.png + + + + + ]]> + + + + + + <translation/> + + + The <translation/> tag is an optional tag which can be added to specify the translation domain used for this software component. + It may be used by the AppStream distro metadata generator to determine the translation status of the respective software (e.g. which languages the + software is translated into and how complete the translations are). + + + The tag must have a type property, assuming the value of the translation system which is used. Right now, allowed translation systems and + values for type are: + + gettext + qt + + In case a software components gets its translation from multiple translation domains, the <translation/> tag may be defined more + than once. + + + For Gettext translations, localization data will be looked for in ${prefix}/share/locale/${locale}/LC_MESSAGES/${id}.mo, where + ${id} is replaced with the translation domain specified in the <translation/> tag. + For Qt translations, if the ID string contains slashes, we will look for translations following either the ${prefix}/share/${id}_${locale}.qm + or the ${prefix}/share/${id}/${locale}.qm pattern. If no slashes are contained, we will look for translation data in + ${prefix}/share/locale/${locale}/LC_MESSAGES/${id}.qm. + + + Example: + + foobar +FooBar/translations/foobar]]> + + + + + <suggests/> + + + The <suggests/> tag is an optional tag which can be added to specify the component-ids of other software this components suggests. + Software centers might present the suggested software on the installation page of the described component. + + + The tag may have a type property, with the value upstream, indicating that this suggestion originates from the upstream project. + If no type property is given, upstream is implicitly assumed as value. Metainfo files must not define other suggests + types, those are reserved for AppStream catalog XML (see in catalog XML). + + + The suggests tag must have one or more <id/> tags as children, specifying the IDs of the suggested other software components. + + + Example: + + + org.kde.gwenview.desktop + org.inkscape.inkscape +]]> + + + + + <content_rating/> + + + The <content_rating/> tag is an optional tag which can be added to specify age ratings for the respective software components. + These maybe be used for parental control or to display their information in software centers. + + + The tag must have a type property, indicating the type of the rating system that is used. At the moment, the + Open Age Ratings Service (value oars-1.0) is supported natively, but more services might be + added in future. + + + The <content_rating/> tag may have <content_attribute/> children which each must have an id property indicating + the specific section that is rated. Their value indicates the intensity of the rated section and can be one of: + + + none - no rating given + mild + moderate + intense + + + In case the <content_rating/> tag is empty (no <content_attribute/> is present), it is assumed that the component was checked + for age ratings and no age restrictions apply. + + + The website of the Open Age Ratings Service provides an online form which will automatically generate AppStream + compatible metadata based on a set of questions answered about the content. + + + Example: + + + moderate + mild +]]> + + + + + <agreement/> + + + The <agreement/> tag is an optional tag which can be added to specify agreements the user has to accept or acknowledge before using the software. + This tag can appear multiple times, if multiple agreements are required for a software component. + + + The tag should have a type property, indicating the type of the agreement. If the type property is missing, + an agreement of type generic is assumed. + Currently recognized agreement types are: + + + eula - an end-user license agreement the user has to accept before installing the software. + privacy - a privacy statement for the software, usually a GDPR compliant statement + + + The <agreement/> tag must have a version_id property, containing a version identifier for the license. It may be used by client applications to + determine whether an agreement needs to be shown again after it has been accepted already by the user. + + + Every <agreement/> must have <agreement_section/> children which each have an id property indicating + the specific section that they describe (e.g. introduction). These values may be used to automatically jump to a specific section. + Each <agreement_section/> has a translatable name child denoting the name or title of the respective section, and a description + child that is translated according to the same translation rules that apply to the tag. + The description contains the content of the respective agreement section. + + + Example: + + + + Introduction + +

    + We hold personal data about vendors, administrators, clients and other + individuals for a variety of purposes. + [...] +

    +
    +
    + + + Scope + +

    + This policy applies to all users who have access to any of the personally + identifiable data. +

    +
    +
    + + [...] +]]>
    +
    +
    + + + <update_contact/> + + + The <update_contact/> tag is an optional tag which can be added to provide an email address distributors can use to contact the project + about invalid or incomplete metadata or – in case the specification has changed – about old metadata. It can also be used to ask general questions in case of + an update of the component described in the metadata file. + + + The <update_contact/> tag must only be used by distributors. It is not included in the distribution-provided + AppStream XML file, and therefore not exposed to the end user via any kind of UI. + + + Upstream authors might decide to add an email address in cleartext, but spam protection using _AT_ is also valid. + The value of this tag is generally treated a case-insensitive way. + + + Example: + + developer_AT_example.com]]> + + + + + <name_variant_suffix/> + + + Variant suffix that software centers may append to the component name on lists in case multiple components have the same name. + This is currently primarily used for firmware, where components only need to be distinguished if multiple variants are displayed. + A name variant suffix could e.g. be 'Prerelease' or 'China'. + + + + + + <custom/> + + + The <custom/> tag is an optional tag which can be used as a key-value store for custom values that are not covered by the AppStream specification. + The tag is usually stripped out or filtered by collection metadata generators, such as appstream-generator. + When present, the data contained in a custom can be read by all tools making use of AppStream metadata, making it an ideal extension point when using + an existing AppStream library is desired and some custom additions to the metadata are still required. + The custom tag is also often used for prototyping new features in AppStream. + + + The tag must have value children which must have a key property. The value of the value + tag denotes a user-defined value, while the key string set for the key property denotes a user-specified key string. + The key must be unique, multiple keys with the same name are not allowed. + + + To avoid name conflicts, it is recommended to prefix keys with a vendor prefix, like GNOME:: or KDE::. + + + + Before using a custom tag, please consider if there is a better way to achieve your goal than adding the data to the AppStream metainfo file, + or whether AppStream maybe already contains a way to achieve what you want. + Additionally, if you think that the purpose you use the custom tag for is generally useful, please file a feature request against AppStream, + so we can discuss adding the new feature to the specification and make it more usable for a bigger audience. + + + + Example: + + + #FF0000 + 284fd262-6870-42a6-89a4-b189d3109e3e +]]> + + + +
    + + + An example for a very basic component file could look like this: + + + + + com.example.foobar + Foo Bar + A foo-ish bar + https://www.example.org + CC0-1.0 + + + libfoobar.so.2 + foo.ttf + foobar + + + + + FooBar Team +]]> + + + For a component of type generic, the minimal amount of required tags is: , , + , . + + +
    +
    diff -Nru appstream-0.12.10/docs/xml/metainfo-consoleapp.xml appstream-0.14.5/docs/xml/metainfo-consoleapp.xml --- appstream-0.12.10/docs/xml/metainfo-consoleapp.xml 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/xml/metainfo-consoleapp.xml 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,98 @@ + + +%BOOK_ENTITIES; +]> + +
    + Console Applications + +
    + Introduction + + A console application is any application that has a command-line or text-based interface and is designed to be used by a human user + on the command line. Applications need to be present in the standard PATH. + + + The file described in this document is built upon the generic component metadata with fields specific for applications (see ). + All tags valid for a generic component are valid for a console-application component as well. + + + In order to enhance the available metadata about their application, projects shipping a console application can ship one or more metainfo files + in /usr/share/metainfo/%{id}.metainfo.xml. + + +
    + +
    + File specification + + + The basic structure for a generic component as described at applies. + Note that the XML root must have the type property set to console-application, while in a generic component this + property can be omitted. This clearly identified this metainfo document as describing an application. + + + + The following list describes tags for console-application upstream metadata and provides some additional information about the values + the tags are expected to have. + If no information is given about a tag, refer to the respective tag in . + + + + + <id/> + + + For console applications, the <id/> tag value must follow the AppStream ID naming conventions (it should be a reverse-DNS name). + + + + + + <metadata_license/> + + + The <metadata_license/> tag as described in must be present. + + + + + + <name/> + + + A name must be present for console applications. See for a detailed description of this tag. + + + + + + <summary/> + + + A summary must be present for console applications. See for a detailed description of this tag. + + + + + + <provides/> ↪ <binary/> + + + This tag is described in detail for generic components at . + + + For console applications, at least one provided <binary/> must be listed in this tag. + + + + + + + For a component of type console-application, the following tags are required and must always be present: , + , , , . + + +
    +
    diff -Nru appstream-0.12.10/docs/xml/metainfo-desktopapp.xml appstream-0.14.5/docs/xml/metainfo-desktopapp.xml --- appstream-0.12.10/docs/xml/metainfo-desktopapp.xml 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/xml/metainfo-desktopapp.xml 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,236 @@ + + +%BOOK_ENTITIES; +]> + +
    + Desktop Applications + +
    + Introduction + + A desktop application is an application which has a graphical user interface and is commonly used with mouse and keyboard. It also ships a Freedesktop + .desktop file to be visible in application menus. + + + AppStream generators may pull data from the preexisting .desktop files to represent an application in the AppStream metadata pool. Upstream projects should + ship a metainfo file containing additional metadata to describe their application though, to enhance the available metadata. + This data includes things like screenshots, long descriptions, icon information and various other things needed + to present the application properly to the user. + For some distributions, the presence of this metadata is a prerequisite for the application showing up in the metadata pool and being presented in software centers. + + + The file described in this document is built upon the generic component metadata with fields specific for desktop applications (see ). + + + The metainfo files override any values which are automatically fetched from other sources by the AppStream data generator, which means that its data will always take precedence over + data which has already been defined in a .desktop file. + Applications can ship one or more files in /usr/share/metainfo/%{id}.metainfo.xml. + + + Data will only be fetched from a desktop file if one tag is present to define a .desktop file ID. If multiple launchable tags are + defined, no data will be merged in from .desktop files. + + + + If you are looking for some quickstart guide to just get your application to ship AppStream metadata quickly, this document might not be for you. + You might want to take a look at instead. + + + + + While desktop-application metadata is commonly stored in /usr/share/metainfo/%{id}.metainfo.xml (with a .metainfo.xml extension), + using a .appdata.xml extension is also permitted for this component type for legacy compatibility. + AppStream implementations will recognize either file type, as long as it ends up in the right location on the filesystem. + + + + + If you want to hide a desktop-entry file from AppStream metadata generators which synthesize components from desktop-entry data, you may + want to add X-AppStream-Ignore=True to the Desktop Entry section of the .desktop file. + Keep in mind that if your .desktop file already has a NoDisplay=True key or is not of Type=Application, it will + always be ignored, unless metainfo file exists that references it (in which case its data may be merged with the metainfo data). + + +
    + +
    + File specification + + + The basic structure for a generic component as described at applies. + Note that the XML root must have the type property set to desktop-application, while in a generic component this + property can be omitted. This clearly identifies this metainfo document as describing an application. + + + + + All tags defined in the generic component specification are valid for desktop-application components as well. + An application is just a specialized component, allowing tools like software centers to filter out the component types they want to display. + + + + + The desktop-application component type is the same as the desktop component type - desktop is the older + type identifier for desktop-applications and should not be used for new metainfo files, unless compatibility with very old AppStream tools (pre 2016) + is still wanted. + + + + + The following list describes the special tags for application upstream metadata and provides some additional information about the values + the tags are expected to have. + If no information is given about a tag, refer to the respective tag in . + + + + + <id/> + + + For desktop applications, the <id/> tag value must follow the reverse-DNS scheme as described in . + + + + In previous AppStream releases, the <id/> was used to associate metainfo files with their .desktop files to merge in + data from .desktop files into the AppStream generator's final output. In modern metainfo files, the component-ID for desktop-application + components can be an arbitrary reverse-DNS string (matching the naming rules applying to all AppStream metadata), while the tag is used + to associate .desktop files with their metainfo files. + + + Note that even though the component-ID can now be any rDNS name, when updating existing applications, do not change their + <id/> to drop the .desktop suffix. The rules are relaxed when picking a new component-ID for new + applications, but when updating older applications they still need to keep their original <id/> (when + it's otherwise compliant). The ID is used to uniquely identify applications across distributions and releases and should + always remain the same for the same application. + + + + + + + <metadata_license/> + + + The <metadata_license/> tag as described in must be present. + + + + + + <name/> + + + The human-readable name of the application. This is the name you want users to see prior to installing the application. + + + + + + <summary/> + + + A short summary on what this application does, roughly equivalent to the Comment field of the + accompanying .desktop file of the application. + + + + + + <launchable/> + + + It is recommended that a <launchable/> tag is present in desktop-application metainfo files. + The tag is described in detail at . + + + If only one launchable entry of type desktop-id is present, AppStream metadata generators might decide to + merge metadata from .desktop files referenced by the tag into their final output. + + + The launchable tag is optional, but if omitted software centers will not be able to launch the application directly after + it was installed. + + + + + + <screenshots/> + + + A screenshot presents your application to the outside world, and could be seen by hundreds or thousands of people. + + + The <screenshots/> tag should look like it is described at . + + + Screenshot size, shape and format recommendations for applications: + + + + + All screenshots should have a 16:9 aspect ratio, and should have a width that is no smaller than 620px (software center applications will be able to fill in the screenshots in the space they provide for that + more easily then). + + + Ideally the window will be resized to a 16:9 aspect ratio, but screenshots can also be cropped if only a small area of the window needs to be shown. + + + + + Screenshots should ideally be in the PNG format, but JPEG and WebP images are also fine. Keep in mind though that the images are converted into PNG + when collection metadata is generated for a software distribution. + + + + Do not scale screenshots below their original size. + + + + You can find a lot more information on how to create good screenshots in the quickstart guide on applications. + + + + + + <project_group/> + + + This tag is described for generic components at . You should use it for your application if appropriate. + + + + + + <provides/> + + + This tag is described in detail for generic components at . + + + If your application ships a binary in a location in the default PATH, you should add at least a child of type + <binary/> to make that new executable known to the distribution. + + + + + + <releases/> + + + The application metainfo should at least provide one <releases/> tag, + which has one or more <release/> children to define the version and release date of this + application. For details, see . + + + + + + + For a component of type desktop-application, the following tags are required and must always be present: , + , , , . + + +
    +
    diff -Nru appstream-0.12.10/docs/xml/metainfo-driver.xml appstream-0.14.5/docs/xml/metainfo-driver.xml --- appstream-0.12.10/docs/xml/metainfo-driver.xml 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/xml/metainfo-driver.xml 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,103 @@ + + +%BOOK_ENTITIES; +]> + +
    + Driver + +
    + Introduction + + The driver component type describes drivers for hardware devices as well as other Linux kernel + drivers for e.g. virtualization support. + It usually provides one or multiple modaliases. + + + Drivers can ship one or more files in /usr/share/metainfo/%{id}.metainfo.xml. + +
    + +
    + Example file + + A driver metainfo file can look like this: + + + + + com.nvidia.GeForce + NVIDIA GeForce + NVIDIA Graphics Driver + +

    + The NVIDIA Accelerated Linux Graphics Driver brings accelerated 2D + functionality and high-performance OpenGL support to Linux x86 with the + use of NVIDIA graphics processing units. +

    + ... +
    + http://www.nvidia.com/Download/index.aspx + CC0-1.0 + LicenseRef-proprietary:NVIDIA + NVIDIA Corporation + + + pci:v000010DEd*sv*sd*bc03sc00i00* + ... + +
    ]]>
    + +
    + +
    + File specification + + Note that the XML root must have the type property set to driver. + This clearly identifies this metainfo document as describing a driver. + + + + + <id/> + + + For drivers, the value of the <id/> tag must follow the reverse-DNS scheme as described for generic components. + It is sometimes useful to suffix the ID with .driver to make it more unique. + + + + + + <provides/> ↪ <modalias/> + + + The provides/modalias tags contain all the modaliases the described driver supports and allow + to automatically offer installation of the described driver on systems where hardware matching the modalias has been + detected. + + + Using wildcards for modaliases is permitted. + + + Example: + + + pci:v000010DEd00001194sv*sd*bc03sc*i* + pci:v000010DEd00001199sv*sd*bc03sc*i* +]]> + + + + + + + + For a component of type driver, the following tags are required and must be present for a valid document: + , , , + , . + + +
    +
    diff -Nru appstream-0.12.10/docs/xml/metainfo-firmware.xml appstream-0.14.5/docs/xml/metainfo-firmware.xml --- appstream-0.12.10/docs/xml/metainfo-firmware.xml 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/xml/metainfo-firmware.xml 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,163 @@ + + +%BOOK_ENTITIES; +]> + +
    + Firmware + +
    + Introduction + + Device firmware can be accompanied by AppStream upstream metadata, to be incorporated + by a distribution. Tools like fwupd make + use of this metadata to automatically update flashed firmware of devices found in the machine. + Additionally, this component type can also be used for firmware which is loaded onto the device at runtime. + + + Firmware can ship one or more files in /usr/share/metainfo/%{id}.metainfo.xml. + +
    + +
    + Example file + + A firmware meta-info file should look like this: + + + + + com.hughski.ColorHug2.firmware + ColorHugALS Firmware + Firmware for the ColorHugALS Ambient Light Sensor + +

    + Updating the firmware on your ColorHugALS device improves performance and + adds new features. +

    +
    + http://www.hughski.com/ + CC0-1.0 + GPL-2.0+ + Hughski Limited + + 84f40464-9272-4ef7-9399-cd95f12da696 + + + + + + http://www.hughski.com/downloads/colorhug-als/firmware/colorhug-als-3.0.2.cab + + + +

    This stable release fixes the following bugs:

    +
      +
    • Fix the return code from GetHardwareVersion
    • +
    • Scale the output of TakeReadingRaw by the datasheet values
    • +
    +
    +
    +
    +
    ]]>
    + + + You can find additional information on how to create a complete firmware package for flashed firmware upstream in + the README document of fwupd. + + +
    + +
    + File specification + + Note that the XML root must have the type property set to firmware. + This clearly identifies this metainfo document as describing firmware. + + + + + <id/> + + + For firmware, the value of the <id/> tag must follow the reverse-DNS scheme as described for generic components. + It is sometimes useful to suffix the ID with .firmware to make it more unique. + For example com.hughski.ColorHug2.firmware. + + + + + + <releases/> + + + This tag is identical to the generic tag. + Additional to the generic tag, for each <release/> child at least one <artifact/> tag is required in case the component describes + flashed firmware. + + + The <location/> tag of the binary artifact specifies a remote location where the firmware .cab can be downloaded from. + The download location needs to be accessible via HTTP, HTTPS or FTP. + + + Example: + + + + + + http://www.hughski.com/downloads/colorhug-als/firmware/colorhug-als-3.0.2.cab + + + +

    This stable release fixes bugs.

    +
    +
    +]]>
    +
    +
    + + + <provides/> ↪ <firmware/> + + + The provides/firmware tag describes the technical information needed to associate a firmware with a device, or describes + which runtime firmware file it makes available to the kernel. + + + For runtime-loadable firmware, the type property of the firmware tag needs to be set to runtime, + and its value needs to define the filename of a firmware below /lib/firmware to the firmware file in question, + like the firmware value exported from Linux kernel modules. + + + Example: + + + ipw2200-bss.fw +]]> + + + For flashed firmware, the type property of the tag needs to be set to flashed. + Its value needs to define the GUID of the device the firmware should be flashed onto. + + + Example: + + + 84f40464-9272-4ef7-9399-cd95f12da696 +]]> + + + + +
    + + + For a component of type firmware, the following tags are required and must be present for a valid document: + , , , + , . + + +
    +
    diff -Nru appstream-0.12.10/docs/xml/metainfo-font.xml appstream-0.14.5/docs/xml/metainfo-font.xml --- appstream-0.12.10/docs/xml/metainfo-font.xml 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/xml/metainfo-font.xml 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,237 @@ + + +%BOOK_ENTITIES; +]> + +
    + Fonts + +
    + Introduction + + A software center can allow users to install additional fonts using font metadata. + Also, applications can use font metadata to find missing fonts (for example, if a special mathematical font is needed) + in the distribution's software sources. + This metainfo specification describes how metadata for fonts or font collections should be structured. + + + Font packages can ship one or more files in /usr/share/metainfo/%{id}.metainfo.xml. + + + Font metadata files can – just like all other metainfo files – be translated. See the section about translation for more information. + + + + A font component is in most cases not describing a single font, but rather a collection of fonts that + are grouped together, usually by their art style or font-family. + + + To make the individual fonts known to the system, use the tag. + + +
    + +
    + Example file + + A minimal font metainfo file can look like this: + + + + com.latofonts.Lato + MIT + OFL-1.1 + + Lato + A sanserif type­face fam­ily + +

    + Lato is a sanserif type­face fam­ily designed in the Sum­mer 2010 by Warsaw-​​based designer + Łukasz Dziedzic (“Lato” means “Sum­mer” in Pol­ish). In Decem­ber 2010 the Lato fam­ily + was pub­lished under the open-​​source Open Font License by his foundry tyPoland, with + sup­port from Google. +

    +
    + + + Lato Regular + Lato Italic + Lato Bold + Lato Light + Lato Light Italic + ... + +
    ]]>
    +
    + +
    + File specification + + Note that the XML root must have the type property set to font. + This clearly identifies this metainfo document as describing a font. + + + + + <id/> + + + For fonts, the %{id} must follow the reverse-DNS scheme as described for generic components. + For the product name part, it is recommended to take the the name of the font or font bundle without whitespace. + + + + + + <metadata_license/> + + + The <metadata_license/> tag is required. See for a description of this tag. + + + + + + <name/> + + + Set a name for the font or font collection. + + + + + + <summary/> + + + A short description of the font described in this metainfo file. + + + + + + <description/> + + + Add a long description of your font. Do not assume the format is HTML. Only paragraph, ordered list + and unordered list are supported at this time. + + + See the generic component for a detailed description of this tag. + + + + + + <screenshots/> + + + A screenshot presents your font to the outside world. + + + If the font metadata does not define an own screenshot, the AppStream generator is supposed to render one or multiple + sample images using the respective font. + + + See the generic component for a detailed description of this tag. + + + + + + <url/> + + + This is a recommended tag for links of type homepage. + Links of type homepage should be a link to the upstream homepage for the application. + See the generic component for a description of this tag. + + + + + + <provides/> ↪ <font/> + + + This tag is described in detail for generic components at . + + + You should add one or more children of type <font/> to make the font's full-names known. + The full-name should be the same as given in the font file for the English language. + If no full-name is set, a space-separated combination of the font's family and style + is used instead. + The font must have a family defined to be included. + + + The full-name entry should show the complete name of a typeface in its + “natural” form, including style and character set information (if any), and + without abbreviations. This is the name that some systems and applications + look at to determine full, unabbreviated font menu names. + + + If you want to query the full-name and its family and style to see what needs to + be added to this tag, you can use the fc-query utility of Fonconfig: + + fc-query --format='FN: %{fullname[0]}\nFS: %{family[0]} %{style[0]}\n' FONT-FILENAME + + Examples: + + + Lato Heavy Italic + Noto Kufi Arabic Bold + Liberation Serif Bold Italic + FontAwesome Regular +]]> + + If no <font/> tags were defined, the AppStream collection data generator should try to extract them from the actual font files found in the + software package/bundle. + + + In every case, the names given in the provides tag must match the metadat the fonts contain themselves. If the data of the font files + is incomplete, the data can not be extended by the <font/> tag. + This is important because the AppStream generator may use the data to pick the right fonts, and because applications expect the exact font they requested + via AppStream to be present on the system after the component was installed (and not one which has different metadata). + + + + + + <languages/> + + + This tag gives information about the locale a font supports. + + + This tak allows specifying the main locale (and thereby scripts) the font can be used with. + It does not have to contain an extensive list, as the AppStream metadata generator will try get obtain that + information from the font files themselves, but it is useful to define to hint the generator in the right direction. + + + If samples of the font are rendered as screenshots by the collection metadata generator, the locale mentioned in the + metainfo file will be preferred over automatically (or heuristically) defined ones. + + + You can use the following command to determine which languages a font supports: + + fc-query --format='%{lang}\n' FONT-FILENAME + + Tag example: + + + de + en + cn + +]]> + + + + + + For a component of type font, the following tags are required and must be present: , , + , , . + + +
    +
    diff -Nru appstream-0.12.10/docs/xml/metainfo-icontheme.xml appstream-0.14.5/docs/xml/metainfo-icontheme.xml --- appstream-0.12.10/docs/xml/metainfo-icontheme.xml 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/xml/metainfo-icontheme.xml 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,158 @@ + + +%BOOK_ENTITIES; +]> + +
    + Icon Themes + +
    + Introduction + + Icon themes as defined in the Freedesktop Icon Theme Specification + can contain icon-theme metainfo files to be installed by software centers. + This metainfo specification describes how metadata for icon themes should be structured. + + + Icon theme packages can ship one or more files in /usr/share/metainfo/%{id}.metainfo.xml. + + + Icon theme metadata files can – just like all other metainfo files – be translated. See the section about translation for more information. + +
    + +
    + Example file + + A minimal icon theme metainfo file can look like this: + + + + io.git.PapirusIconTheme + FSFAP + GPL-3.0 + + Papirus + A free and open source icon theme for Linux, based on the Paper Icon Set + +

    + Papirus is a free and open source SVG icon theme for Linux, based on Paper Icon Set + with a lot of new icons and a few extras, like Hardcode-Tray support, KDE colorscheme + support, Folder Color support, and others. + It is available in four variants: +

    +
      +
    • Papirus
    • +
    • Papirus Dark
    • +
    • Papirus Light
    • +
    • ePapirus (for elementary OS and Pantheon Desktop)
    • +
    +
    + + + + https://raw.githubusercontent.com/PapirusDevelopmentTeam/papirus-icon-theme/master/preview.png + + +
    ]]>
    +
    + +
    + File specification + + Note that the XML root must have the type property set to icon-theme. + This clearly identifies this metainfo document as describing an icon theme following the Freedesktop specification. + + + A new metainfo file is required for each variant of the icon theme (one for each index.theme) to describe + the individual icon themes and allow them to be installed individually. + That is, unless all the different theme variants are designed to be installed together (due to symbolic links between themes or + Inherits fields in the theme description), in which case only one icon-theme component is required + to describe the whole icon theme set. + + + + + <id/> + + + For fonts, the %{id} must follow the reverse-DNS scheme as described for generic components. + + + + + + <metadata_license/> + + + The <metadata_license/> tag is required. See for a description of this tag. + + + + + + <name/> + + + Set a name for the icon theme or set of icon themes intended to be shipped in one bundle. + + + + + + <summary/> + + + A short description of the icon theme. + + + + + + <description/> + + + Add a long description of your icon theme. + + + See the generic component for a detailed description of this tag. + + + + + + <screenshots/> + + + A screenshot to show off the icon theme. + + + A good example on how that may look like is + the preview image of the Papirus icon theme. + + + See the generic component for a detailed description of this tag. + + + + + + <url/> + + + This is a recommended tag for links of type homepage. + Links of type homepage should be a link to the upstream homepage for the icon theme. + See the generic component for a description of this tag. + + + + + + + For a component of type icon-theme, the following tags are required and must be present: , , + , . + + +
    +
    diff -Nru appstream-0.12.10/docs/xml/metainfo-inputmethod.xml appstream-0.14.5/docs/xml/metainfo-inputmethod.xml --- appstream-0.12.10/docs/xml/metainfo-inputmethod.xml 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/xml/metainfo-inputmethod.xml 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,151 @@ + + +%BOOK_ENTITIES; +]> + +
    + Input Methods + +
    + Introduction + + It is a nice feature for a software center to allows users the installation of additional input methods. + This meta-info specification describes how metadata about input methods should be structured. + + + Software components providing an input method can ship one or more files in + /usr/share/metainfo/%{id}.metainfo.xml. + + + Input method metadata files can – just like all other metainfo files – be translated. See the section about translation for more information. + +
    + +
    + Example file + + The input method meta-info file should look like this: + + + + + com.github.ibus.mathwriter-ibus.db + FSFAP + Mathwriter + Math symbols input method + +

    + The input method is designed for entering mathematical symbols. +

    +

    + Input methods are typing systems allowing users to input complex languages. + They are necessary because these contain too many characters to simply be laid + out on a traditional keyboard. +

    +
    + https://github.com/mike-fabian/ibus-table-others +
    ]]>
    +
    + +
    + File specification + + Note that the XML root must have the type property set to inputmethod. + This clearly identifies this metainfo document as describing an input method instead of a generic software component. + + + + + <id/> + + + For input methods, the %{id} should follow the standard reverse-domain-name scheme. + For the product name part, it is recommended to take the database filename of the input method. + + + + + + <metadata_license/> + + + The <metadata_license/> tag is required. See for a description of this tag. + + + + + + <name/> + + + Set a name for your input method. + + + + + + <summary/> + + + A short description of the input method described in this metainfo file. + + + + + + <description/> + + + Add a long description of the input method. + + + Do not assume the format is HTML. Only paragraph, ordered list and unordered list are supported at this time. + + + + + + <screenshots/> + + + A screenshot may be included, showing the input method in use in an application. + + + Refer to for a detailed description of this tag. + + + + + + <url/> + + + This is a recommended tag for links of type homepage. + Links of type homepage should be a link to the upstream homepage for the application. + See See for a description of this tag. + + + + + + <provides/> + + + This tag is described for generic components at in detail. + + + You can add one or more children of type <library/> in case you publish some additional shared libraries. + If not, and there are no public binaries involved, you may omit the provides tag for input methods. + + + + + + + For a component of type inputmethod, the following tags are required and must be present: + , , + , . + +
    +
    diff -Nru appstream-0.12.10/docs/xml/metainfo-localization.xml appstream-0.14.5/docs/xml/metainfo-localization.xml --- appstream-0.12.10/docs/xml/metainfo-localization.xml 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/xml/metainfo-localization.xml 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,124 @@ + + +%BOOK_ENTITIES; +]> + +
    + Localization + +
    + Localization + + The localization component type describes language packs for individual software components or groups + of software components. A language pack includes anything necessary to localize a software component for a specific language + and/or country. This is usually translations, but may also be translated media content, currency information and other things. + A localization component extends one or multiple other components and defines the + languages it provides via its languages tag. + + + Language packs can ship one or more metainfo files as /usr/share/metainfo/%{id}.metainfo.xml. + + + Do not confuse language packs with the software collection tag, used to identify bundled translations. + +
    + +
    + Example file + + A localization metainfo file can look like this: + + + + + org.kde.l10n.de + KDE German Language + German localization for the KDE desktop and apps + + org.kde.plasmashell + org.kde.gwenview.desktop + org.kde.dolphin.desktop + ... + + http://i18n.kde.org/team-infos.php?teamcode=de + FSFAP + + The KDE German L10N team + + + de_DE + de_AT + de + ... + +]]> + +
    + +
    + File specification + + Note that the XML root must have the type property set to localization. + This clearly identifies this metainfo document as describing a language pack. + + + + + <id/> + + + For localizations, the value of the <id/> tag must follow the reverse-DNS scheme as described for generic components. + Ideally, the name of the component this language pack is for should be suffixed with .l10n.%{lang}, where %{lang} + is the language code of the language pack. + + + For example, if your applications component-id is org.gimp.gimp the ID of the German language pack + for GIMP should be org.gimp.gimp.l10n.de. + + + + + + <extends/> + + + The extends tags contain all the components this language pack can be used with. + + + + + + + <languages/> + + + This tag gives information about the locale a localization component provides support for. + + + The tag is allowed to only occur once per component, and contains multiple <lang/> child nodes, which have + a language code as value. + Each <lang/> node may have a percentage property, which describes the percentage value to which + a component has been translated. + + + Tag example: + + + de_DE + de_AT + +]]> + + + + + + + For a component of type localization, the following tags are required and must be present for a valid document: + , , , + , , . + + +
    +
    diff -Nru appstream-0.12.10/docs/xml/metainfo-operatingsystem.xml appstream-0.14.5/docs/xml/metainfo-operatingsystem.xml --- appstream-0.12.10/docs/xml/metainfo-operatingsystem.xml 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/xml/metainfo-operatingsystem.xml 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,108 @@ + + +%BOOK_ENTITIES; +]> + +
    + Operating System + +
    + Introduction + + The operating-system component type describes a whole operating system such as GNU/Linux distributions + like Debian, Fedora, RHEL, etc. or Windows and macOS. + + + Operating systems can ship metainfo files in /usr/share/metainfo/%{id}.metainfo.xml. + +
    + +
    + Example file + + An operating-system metainfo file can look like this: + + + + + org.debian.debian + Debian GNU/Linux + The universal operating system + +

    + Debian is a free operating system (OS) for your computer. + An operating system is the set of basic programs and utilities that make your computer run. +

    + ... +
    + https://www.debian.org/ + FSFAP + The Debian Project + ... + + + + +

    The next release of Debian.

    +
    +
    + + + +

    Now contains the Linux kernel 4.9, GNOME 3.22, KDE Plasma 5, LibreOffice 5.2 and Qt 5.7. LXQt has been added.

    +
    +
    + ... +
    +
    ]]>
    + +
    + +
    + File specification + + Note that the XML root must have the type property set to operating-system. + This clearly identifies this metainfo document as describing an operating system. + + + + + <id/> + + + For operating systems, the value of the <id/> tag must follow the reverse-DNS scheme as described for generic components. + In order for AppStream consumers to determine which component is describing the operating system they are currently running on, + on Linux distributions the component ID must follow the data provided in the operating system's /etc/os-release file. + This means the reversed-DNS HOME_URL value from /etc/os-release (without any https/www parts) combined + with the ID of the operating system will produce the operating system's component id. + + + E.g. if HOME_URL is https://www.debian.org/ and ID is debian, the resulting AppStream + component-ID will be org.debian.debian. + + + + + + <releases/> + + + The <releases/> tag as described in must be present and contain the individual + releases of the operating system. + It is also recommended to set the date_eol property on individual releases, to allow software to determine + whether the current operating system release is still supported. + + + + + + + + For a component of type operating-system, the following tags are required and must be present for a valid document: + , , , + , . + + +
    +
    diff -Nru appstream-0.12.10/docs/xml/metainfo-repository.xml appstream-0.14.5/docs/xml/metainfo-repository.xml --- appstream-0.12.10/docs/xml/metainfo-repository.xml 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/xml/metainfo-repository.xml 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,121 @@ + + +%BOOK_ENTITIES; +]> + +
    + Repositories + +
    + Introduction + + A repository component describes a remote archive of digital content, usually other + software or additional data (e.g. themes, icons, books, music, ...). Upon installation of + a component of this type, the repective repository is added to the system and activated, + letting the user access the new content. + + + The metadata described in this document is built upon the generic component metadata (see ). + All tags valid for a generic component are valid for a repository component as well. + + + In order to add metadata about a software repository, projects can provide one or more metainfo files + in /usr/share/metainfo/%{id}.metainfo.xml. + + +
    + +
    + File specification + + + The basic structure for a generic component as described at applies. + Note that the XML root must have the type property set to repository, while in a generic component this + property can be omitted. This clearly identified this metainfo document as describing a repository. + + + + The following list describes tags for repository upstream metadata and provides some additional information about the values + the tags are expected to have. + If no information is given about a tag, refer to the respective tag in . + + + + + <id/> + + + For repositories, the <id/> tag value must follow the AppStream ID naming conventions (it should be a reverse-DNS name). + + + + + + <metadata_license/> + + + The <metadata_license/> tag as described in must be present. + + + + + + <name/> + + + A name must be present for repositories. See for a detailed description of this tag. + + + + + + <summary/> + + + A summary must be present for repositories. See for a detailed description of this tag. + + + + + + <extends/> + + + This tag is refers to the ID of the component this repository is added to, similarly to how components of + type addon work. + + + Adding an extends tag ensures the respective repository is tied to its main component, + e.g. a source for firmware downloads is tied to the firmware update service, or a repository for a + site-specific package manager is tied to the tool that can actually install pieces from the repository. + + + The <extends/> tag may be specified multiple times. + + + + + + <agreement/> + + + It is recommended to add a GDPR compliant privacy statement to repository + components, in case any personal data is acquired when the repository is accessed. + + + The agreement tag allows to add a privacy statement and other agreements easily. Refer to the tag + as described for generic components for information on how to use agreements in AppStream. + + + + + + + + For a component of type repository, the following tags are required and must always be present: , + , , . + + +
    +
    diff -Nru appstream-0.12.10/docs/xml/metainfo-runtime.xml appstream-0.14.5/docs/xml/metainfo-runtime.xml --- appstream-0.12.10/docs/xml/metainfo-runtime.xml 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/xml/metainfo-runtime.xml 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,132 @@ + + +%BOOK_ENTITIES; +]> + +
    + Runtime + +
    + Introduction + + Components of type runtime describe a collection of interdependent software components that are + required to run other software. They set a baseline of dependencies that other software can rely on and link against. + A very simple runtime may for example be a chroot environment of a minimal Linux system bootstrap. + Runtimes are often employed by software distribution systems such as Flatpak or Valve's Steam, but may be + used by others and may even be directly distributed as part of tranditional Linux distributions. + + + Runtimes can ship metainfo files in /usr/share/metainfo/%{id}.metainfo.xml. + +
    + +
    + Example file + + A runtime metainfo file can look like this: + + + + + org.freedesktop.Platform + FSFAP + LicenseRef-free=https://freedesktop-sdk.gitlab.io/ + + Freedesktop Platform + Basic libraries to run Linux desktop applications + + +

    + The Freedesktop Platform is a runtime that contains the most basic libraries + and files needed to run a Linux desktop application. + ... +

    +
    + https://freedesktop-sdk.gitlab.io/ + + + + + ... + +
    ]]>
    + +
    + +
    + File specification + + Note that the XML root must have the type property set to runtime. + This clearly identifies this metainfo document as describing a runtime. + + + + + <id/> + + + For runtimes, the value of the <id/> tag must follow the AppStream ID naming conventions (it should be a reverse-DNS name). + + + + + + <requires/> + + + The requires tag may be used if multiple runtimes are based on top of each other, or if the runtime actually describes + a software development kit (SDK) that wants to require its base runtime. + See for a detailed description of this tag. + + + In order to depend on other runtimes, their component-ID should be referenced in a requires tag. Example: + + + org.freedesktop.Sdk +]]> + + + + + <project_license/> + + + The <project_license/> tag usually indicates the license of the component + (refer to for details). + This is tricky for runtimes, as they are usually comprised of many individual pieces of software under + different licenses, which would create a very long and complex SPDX license expression. + It is therefore recommended to have the tool that builds the runtime collect all the licenses and generate a document + or website containing. This document can then be linked using LicenseRef-free=URL if the runtime is free software, + or LicenseRef-proprietary=URL in case it contains non-free elements. + + + Example: + + LicenseRef-free=https://example.com/licenses.html]]> + + + + + <provides/> + + + This tag is described in detail for generic components at . + + + The runtime may use the <provides/> tag to denote the individual modules it is comprised of, + using their component IDs. + + + + + + + + For a component of type runtime, the following tags are required and must be present for a valid document: + , , , + , . + + +
    +
    diff -Nru appstream-0.12.10/docs/xml/metainfo-service.xml appstream-0.14.5/docs/xml/metainfo-service.xml --- appstream-0.12.10/docs/xml/metainfo-service.xml 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/xml/metainfo-service.xml 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,113 @@ + + +%BOOK_ENTITIES; +]> + +
    + Services + +
    + Introduction + + A service component is any software that is started and supervised by + the Operating Systems "init" facility, such as systemd. + + + The metadata described in this document is built upon the generic component metadata with fields specific for services (see ). + All tags valid for a generic component are valid for a service component as well. + + + In order to enhance the available metadata about their services, projects shipping a service can ship one or more metainfo files + in /usr/share/metainfo/%{id}.metainfo.xml. + + +
    + +
    + File specification + + + The basic structure for a generic component as described at applies. + Note that the XML root must have the type property set to service, while in a generic component this + property can be omitted. This clearly identified this metainfo document as describing a service. + + + + The following list describes tags for service upstream metadata and provides some additional information about the values + the tags are expected to have. + If no information is given about a tag, refer to the respective tag in . + + + + + <id/> + + + For services, the <id/> tag value must follow the AppStream ID naming conventions (it should be a reverse-DNS name). + + + + + + <metadata_license/> + + + The <metadata_license/> tag as described in must be present. + + + + + + <name/> + + + A name must be present for services. See for a detailed description of this tag. + + + + + + <summary/> + + + A summary must be present for services. See for a detailed description of this tag. + + + + + + + + + <launchable/> + + + This tag is described in detail for generic components at . + + + At least one launchable element with type "service" must be present. + The value is a name that can be used with the OS init facility to + start/stop and monitor the service. + + + + + + + + For a component of type service, the following tags are required and must always be present: , + , , . + + +
    +
    diff -Nru appstream-0.12.10/docs/xml/metainfo-webapp.xml appstream-0.14.5/docs/xml/metainfo-webapp.xml --- appstream-0.12.10/docs/xml/metainfo-webapp.xml 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/xml/metainfo-webapp.xml 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,118 @@ + + +%BOOK_ENTITIES; +]> + +
    + Web Applications + +
    + Introduction + + A web application is an application running remotely that is accessed via a web browser and built on the web platform. + + + The metadata described in this document is built upon the generic component metadata with fields specific for web-applications (see ). + All tags valid for a generic component are valid for a web-application component as well. + + + A web application metainfo file is special in the regard that it is usually not combined with the software it is describing and that it has no + installable. + It usually is equivalent to a weblink that gets special treatment by software centers. Web application metainfo files are therefore + injected directly into the collection metadata generation process, or can be installed as usual into /usr/share/metainfo/%{id}.metainfo.xml. + + + Software centers may display web applications in special, chrome-less web browser windows to achieve better desktop integration and + make the web application feel more native on the desktop. + + +
    + +
    + File specification + + + The basic structure for a generic component as described at applies. + Note that the XML root must have the type property set to web-application, while in a generic component this + property can be omitted. This clearly identified this metainfo document as describing a web application. + + + + The following list describes tags for web-application metainfo files and provides some additional information about the values + the tags are expected to have. + If no information is given about a tag, refer to the respective tag in . + + + + + <id/> + + + For web applications, the <id/> tag value must follow the AppStream ID naming conventions (it should be a reverse-DNS name). + + + + + + <metadata_license/> + + + The <metadata_license/> tag as described in must be present. + + + + + + <name/> + + + A name must be present for console applications. See for a detailed description of this tag. + + + + + + <summary/> + + + A summary must be present for console applications. See for a detailed description of this tag. + + + + + + <launchable/> + + + This tag is described in detail for generic components at . + + + A launchable tag of type url must be present for web applications. It is used as the entry + point for starting the web application and opened in a browser in case the user wants to "launch" the web application. + + + + + + <icon/> + + + This tag is described in detail for generic components at . + + + A icon tag must be present for web applications. Authors of the metainfo files might prefer using the remote icon type, + but any icon type is allowed here. + + + + + + + For a component of type web-application, the following tags are required and must always be present: , + , , , , , + . + + +
    +
    diff -Nru appstream-0.12.10/docs/xml/MetaInfo.xml appstream-0.14.5/docs/xml/MetaInfo.xml --- appstream-0.12.10/docs/xml/MetaInfo.xml 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/xml/MetaInfo.xml 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,46 @@ + + +%BOOK_ENTITIES; +]> + + Upstream Metadata + + AppStream allows upstream projects to define metadata about the components they provide using small XML files, + metainfo files, which get installed into locations on the client system and are used by distribuors to enhance their + metadata. + + + A "component" is a piece of software, like an application, a library, a font or a codec. For several components, especially + those which are shown in software-centers, we provide specialized metainfo files to define specific properties and data of these components. + For example, applications and fonts support screenshots, while codecs don't. + + + All metainfo files need to contain a minimal amount of information, defined in the "Generic Component" section, which also describes some optional + elements which can be used. + Specialized components might require more information to be complete and valid. + + + The XML in metainfo files does not need any XML namespace, and adding one should generally be avoided. + If you want to use a namespace though (maybe in case you want to embed the data in other contexts), the xmlns + should be https://specifications.freedesktop.org/metainfo/1.0. + + + + + + + + + + + + + + + + + + + + diff -Nru appstream-0.12.10/docs/xml/Miscellaneous.xml appstream-0.14.5/docs/xml/Miscellaneous.xml --- appstream-0.12.10/docs/xml/Miscellaneous.xml 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/xml/Miscellaneous.xml 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,16 @@ + + +%BOOK_ENTITIES; +]> + + Miscellaneous + + This chapter describes additional features AppStream provides that are related to the + metadata specification. + + + + + + diff -Nru appstream-0.12.10/docs/xml/misc-urihandler.xml appstream-0.14.5/docs/xml/misc-urihandler.xml --- appstream-0.12.10/docs/xml/misc-urihandler.xml 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/xml/misc-urihandler.xml 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,73 @@ + + +%BOOK_ENTITIES; +]> + +
    + URI Handler + +
    + Introduction + + In order to allow installation of AppStream components from websites, software-centers implementing AppStream + may choose to also support the appstream: URIs. + + + This allows upstream projects to trigger an installation of their application from their homepage on any supporting + distribution. + It also is helpful for web-based software-centers. + +
    + +
    + URI schema + + Software centers handling appstream: URIs should provide a handler for the x-scheme-handler/appstream + mimetype. + An AppStream URI follows the schema appstream:%{component-id}. + + + If a component is known by multiple alternative IDs, more component IDs may be defined in a comma-separated list in the query component + of the URI using the alt key. This may be necessary if an application has switched its ID, but the same URI may be called on systems + which still only know the old ID. + Software centers must try to find the initial ID first and, failing to find it in their catalog, may try the alternative IDs in order of appearance + in the query. + + + Example HTML code: + + Install KDE Discover +Install GNOME-Software +Install AppStreamCLI +Install Foo]]> +
    + +
    + AppStream Buttons + + If you want to allow users to open your software in their local software center from your website, you might want to use + one of the easily recognizable AppStream buttons for your appstream: link. + + + + + + + + SVG + + + + + + + + + + SVG + + + +
    +
    diff -Nru appstream-0.12.10/docs/xml/misc-vercmp.xml appstream-0.14.5/docs/xml/misc-vercmp.xml --- appstream-0.12.10/docs/xml/misc-vercmp.xml 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/xml/misc-vercmp.xml 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,88 @@ + + +%BOOK_ENTITIES; +]> + +
    + Version Comparison Algorithm + +
    + Introduction + + The AppStream specification requires the presence of version numbers in various locations, and AppStream-using + clients will occasionally need to compare version numbers in order to determine the latest version. + This document describes how version comparisons should be performed. + +
    + +
    + Algorithm + + AppStream's version comparison algorithm is identical to the one used by the Fedora and Debian Linux distributions + (after RPM's algorithm was extended to handle the tilde character like Debian). + The algorithm is described for Debian here, + the description is also reproduced below: + + + The version strings are compared from left to right. + + + First the initial part of each string consisting entirely of non-digit characters is determined. + These two parts (one of which may be empty) are compared lexically. If a difference is found it is returned. The lexical comparison is a comparison + of ASCII values modified so that all the letters sort earlier than all the non-letters and so that a tilde sorts before anything, even the end of a part. + For example, the following parts are in sorted order: ~~, ~~a, ~, the empty part, a. + + + Then the initial part of the remainder of each string which consists entirely of digit characters is determined. The numerical values of these two parts + are compared, and any difference found is returned as the result of the comparison. For these purposes an empty string (which can only occur at the end + of one or both version strings being compared) counts as zero. + + + These two steps (comparing and removing initial non-digit strings and initial digit strings) are repeated until a difference is found or both strings are exhausted. + +
    + +
    + Recommendations + + For meaningful version numbers, consider following semantic versioning. + + + A version number should always start with a number. Do not start version numbers with a letter or make them + consist entirely of letters, e.g. BETA is not a version number. + + + If you want to denote a prerelease, consider appending the prerelease identifier string after a tidle. For example + use 1.0~alpha1 for an alpha release of the upcoming 1.0 release. The alpha release + will then considered lower than the final release. + + + Avoid using any epochs (colons) in your upstream version numbers. Versions like 1:2.4 will cause + problems with downstreams. + +
    + +
    + Implementation + + You can read AppStream's code for version comparisons here. + + + If you want to quickly test version comparisons for your software and arbitrary versions, consider using the vercmp + subcommand of the appstreamcli utility. + + + Examples: + + $ appstreamcli vercmp 1.0 2.0 +1.0 << 2.0 +$ appstreamcli vercmp 2.0 2.0~a1 +2.0 >> 2.0~a1 +$ appstreamcli vercmp 2.4 lt 2.1 +false: 2.4 >> 2.1 +$ appstreamcli vercmp 1.2.4 gt 1.2.3 +true: 1.2.4 >> 1.2.3 +
    + +
    diff -Nru appstream-0.12.10/docs/xml/Project_Desc.xml appstream-0.14.5/docs/xml/Project_Desc.xml --- appstream-0.12.10/docs/xml/Project_Desc.xml 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/xml/Project_Desc.xml 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,44 @@ + + +%BOOK_ENTITIES; +]> + + About AppStream + +
    + What is AppStream? + + + AppStream is a cross-distro effort for enhancing the metadata available about software components in the Linux and free-software ecosystem. + One of the project's goals is to make building software-center applications possible, and make interaction with the package sources of a + distribution smarter. + AppStream provides specifications for meta-information which is shipped by upstream projects and can be consumed by other software. + The meta-information includes data which is interesting to display in software centers and is mainly useful for end-users, as well as descriptions + about the public interfaces a software component provides, which is mainly useful for developers, 3rd-party software installers and for automatically + installing missing components on a distribution, for example missing firmware or mimetype-handlers. + + + Distributors provide metadata as well, which describes all components available in a software repository. That data is composed of the upstream-metainfo + and some other sources. + AppStream also provides specifications for things like a screenshot-service, application ratings & reviews etc. + + + All parts of AppStream are distribution-agnostic, and therefore it is easily possible to build software management tools with it that work + on any distribution implementing the AppStream specification. + + +
    + Architecture + + + + + + + + +
    +
    + +
    diff -Nru appstream-0.12.10/docs/xml/quickstart-addons.xml appstream-0.14.5/docs/xml/quickstart-addons.xml --- appstream-0.12.10/docs/xml/quickstart-addons.xml 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/xml/quickstart-addons.xml 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,190 @@ + + +%BOOK_ENTITIES; +]> + +
    + For upstream projects providing addons + +
    + Introduction + + Some software installed on the system is extensible via addons. To allow the user to install addons for + software that is already available on the system, AppStream defines an addon component type. + Software centers will usually group these components together with their host component and display them for installation. + + Extensible software may also access the AppStream data pool provided by the distribution or other software source directly, + to offer installing missing addons from within the application. + + + Software which provides addons can ship one or more files in /usr/share/metainfo/%{id}.metainfo.xml. + + + + To get you started quickly, the AppStream project provides a web-based form to quickly generate valid metainfo XML for some of the most + common use cases. Check it out on freedesktop.org/software/appstream/metainfocreator. + + +
    + +
    + Example file + + The file should contain something like this: + + + + org.gnome.gedit.gedit_bookmarks + org.gnome.gedit + Bookmarks + Easy document navigation with bookmarks + https://wiki.gnome.org/Apps/Gedit/ShippedPlugins + https://bugzilla.gnome.org/enter_bug.cgi?product=gedit&component=Plugins + FSFAP + GPL-2.0+ +]]> +
    + +
    + Metadata file contents + + This is a list of tags you might want to define for your application. For a full list of possible tags, take a look at + the definition of a generic component () and an addon component (). + + + + + <id/> + + + For addons, there is no strict rule for the component-ID. You should just ensure that you pick a unique name. + + + It is highly recommended to apply a application_name-plugin_name naming scheme for your addon-id. + + + + + + <extends/> + + + This tag is refers to the ID of the component this addon is extending. For desktop applications, this is usually the name of their .desktop file. + + + This tag is described in detail for addon components at . + + + + + + <name/> + + + Each addon component needs a <name/> tag, giving the addon a human-readable name. + + + + Don't put the application name you are extending in the <name/> - so you want to use Bookmarks rather than GEdit Bookmarks + + + + + + + <summary/> + + + The <summary/> tag follows the basic structure of a as described in the specification. It is a required tag for an addon component. + + + Some useful hints for finding a good addon summary: + + + + + Don't put the application name you are extending in the <summary/> - so you want to use Easy document navigation with bookmarks + rather than Easy document navigation with bookmarks in GEdit. + + + + + Don't use long or short descriptions. + Ideally <summmary/> should be less than 101 and more than 8. + + + + + + + + <url/> + + + It is recommended to include links of types homepage and bugtracker. + You can omit the <url/> if it's the same as the upstream project. + + + Links of type homepage should be a link to the upstream homepage for the addon. + + + Links of type bugtracker should be a link to the upstream bugtracker. + + + + It is highly recommended to be a link to the upstream bugzilla with filed component and product. + + + + + It might be necessary to escape URLs. For example + replacing of & with &amp;. + + + + For other possible values, take a look at the tag's description in . + + + + + + <metadata_license/> + + + The <metadata_license/> tag is indicating the content license that you are releasing the one + metadata file as. This is not typically the same as the project license. By ommitting the license value would + probably mean your data would not be incorporated into the distribution metadata. + Permissible license codes include: + + + The license codes correspond to the identifiers found at the SPDX OpenSource License Registry. + Take a look at for more details about this tag. + + + + + + <project_license/> + + + The <project_license/> tag is indicating the license(s) this addon is released under. + Take a look at the specification of the tag for details on how to properly use it. + + + + + + <update_contact/> + + + You might want to include an update-contact email address. Take a look at the specification of the tag + for more details on how to use this tag. + + + + + +
    + +
    diff -Nru appstream-0.12.10/docs/xml/quickstart-desktopapps.xml appstream-0.14.5/docs/xml/quickstart-desktopapps.xml --- appstream-0.12.10/docs/xml/quickstart-desktopapps.xml 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/xml/quickstart-desktopapps.xml 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,612 @@ + + +%BOOK_ENTITIES; +]> + +
    + For GUI application upstream maintainers + +
    + Introduction + + Every software center that exists allows the user to look at screenshots and a long description of the application before it is installed. + For most users it allows them to answer the question Do I want to install this application?. + Traditionally in Linux distributions, we have none of this data for the vast majority of our desktop user-installable applications. + The packages-descriptions are describing all contents of a package, and not just a single application. They are also often written in a technical + language and refer to other packages, which makes it hard for beginners to understand what the application they want to install really does. + Additionally, if you are not using Debian or Ubuntu, the package descriptions are often untranslated. + Also, packages do not provide some metadata users might be interested in before installing an application. + + + To solve this, we have defined a new data file, which the upstream project can optionally translate using the same technique as + Desktop Entry files or GSetting schemas. + The application metainfo specification is a subset of the AppStream metadata (see ) and extends + the generic component metadata with fields specific for applications (see ). + + + The application-metainfo files override any values which are automatically fetched by the AppStream data generator. + Applications can ship one or more files in /usr/share/metainfo/%{id}.metainfo.xml. + + + Application metainfo files can - just like all other metainfo files - be translated. See the section about translation for more information about that. + + + + All tags defined in the generic component specification are valid for components of type desktop-application as well, + an application is just defined as a specialized component, which has the additional benefit of being displayed in a software-center application. + + + + + To get you started quickly, the AppStream project provides a web-based form to quickly generate valid metainfo XML for some of the most + common use cases. Check it out on freedesktop.org/software/appstream/metainfocreator. + + +
    + +
    + Example file + + The file should contain something like this: + + + + + + org.gnome.gnome-power-statistics + FSFAP + GPL-2.0+ + Power Statistics + Observe power management + + +

    + Power Statistics is a program used to view historical and current battery + information and will show programs running on your computer using power. +

    +

    Example list:

    +
      +
    • First item
    • +
    • Second item
    • +
    +

    + You probably only need to install this application if you are having problems + with your laptop battery, or are trying to work out what programs are using + significant amounts of power. +

    +
    + + org.gnome.gnome-power-statistics.desktop + + + + The options dialog + http://www.hughsie.com/en_US/main.png + + + http://www.hughsie.com/en_US/preferences.png + + + + http://www.gnome.org/projects/en_US/gnome-power-manager + GNOME + + + gnome-power-statistics + + + + + +

    Fixes issues X, Y and Z

    +
    +
    +
    +
    ]]>
    +
    + +
    + Recommended metadata file contents + + + This is a list of tags you might want to define for your application. For a full list of all possible tags, take a look at + the definition of a generic component () and an application-component (). + + + + + <id/> + + + The <id/> tag value contains the unique identifier for this application. It is usually modeled after the .desktop filename + and follows a reverse-DNS scheme. For the full naming guidelines see . + + + Example: If your application's .desktop file is named org.example.FooBar.desktop, a good component-id would be + org.example.FooBar. + + + + + + <metadata_license/> + + + The <metadata_license/> tag is indicating the content license that you are releasing the one + metainfo file under. This is not typically the same as the project license. Omitting the license value can result + in your data not being incorporated into the distribution metadata (so this is a required tag). + + + A permissive license ensures your data can + be combined with arbitrary other data in one file, without license conflics (this means copyleft licenses like the GPL are + not suitable as metadata license). + Possible license identifiers include: + + + + FSFAP + + + CC0-1.0 + + + CC-BY-3.0 + + + CC-BY-SA-3.0 + + + GFDL-1.3 + + + MIT + + + + The license codes correspond to the identifiers found at the SPDX OpenSource License Registry. + Take a look at for more details about this tag. + + + If you are unsure about which license to pick, the FSFAP or FSFUL license statement is usually + a good choice, as it is short and safe to combine with other licenses. + + + + + + <project_license/> + + + The <project_license/> tag is indicating the license(s) this application is released under. + Take a look at the specification of the tag for details on how to properly use it. + + + + + + <name/> + + + It is highly recommended to have this tag present and contain a name of your application as value. + + + In theory you can omit this tag and have the AppStream generator of a Linux distribution automatically use the Name field + of the associated .desktop file (In which case one tag must be present). + However, a large amount of tools expect the metainfo file to be complete and self-sufficient now, which is why omitting this tag will render it + invalid for tools like Flatpak and others use cases which do not involve a metadata preprocessing step. + + + If no name tag (and no Name desktop-entry field) is present, the metadata + is considered invalid and will be ignored by the AppStream generator. + + + + + + <summary/> + + + It is highly recommended to have this tag present and contain a brief summary of what your application is about. + + + In theory you can omit this tag and have the AppStream generator of a Linux distribution automatically use the Comment field + of the associated .desktop file (In which case one tag must be present). + However, a large amount of tools expect the metainfo file to be complete and self-sufficient now, which is why omitting this tag will render it + invalid for tools like Flatpak and others use cases which do not involve a metadata preprocessing step. + + + If no summary tag (and no Comment desktop-entry field) is present, the metadata + is considered invalid and will be ignored by the AppStream generator. + + + + + + <description/> + + + The long description is an important part of the file. Important things to consider when writing the application description: + + + + Include 2-3 paragraphs of interesting easy to read prose. + + + Ensure you provide a description of what the application actually does. + + + Describe any important features. + + + Do not use possily trademarked product names when refering to competitors. + + + Break down each paragraph into easily translated paragraphs. + + + Use lists sparingly. + + + Never refer to installable items as packages. + + + Never start the first sentence with "This application..." + + + Try not use more than 100 words. + + + Do not be too geeky. Aim for an intelligent semi-technical reader. + + + Don't mention what language an application is written in, users don't care + + + Only mention what the application can do now, rather than what is planned + + + + Do not assume the format is HTML. Only paragraph, ordered list and unordered list are supported at this time, as well as emphasis and inline code. + See for more information. + + + In metainfo files, this tag should be translated by-paragraph, meaning that in a translated file, each translated <p/> child + has a language property. + + + + + + <launchable/> + + + This tag indicates a possible method to launch the software. Usually you want the application to be launchable by its .desktop file ID. + + + The tag makes it possible for software centers to offer launching an application immediately after installation. It also connects the metainfo file + with a .desktop file, so AppStream metadata generators and the distribution can absorb its metadata into the final AppStream output. + + + See for a detailed description of the tag. + Example: + + org.gnome.Sysprof2.desktop]]> + + + + + <screenshots/> + + + A screenshot presents your application to the outside world, and could be seen by hundreds or thousands of people. + + + The <screenshots/> tag contains multiple <screenshot/> children, where at least one of them must have the property + type="default" to indicate the application's primary screenshot. Every <screenshot/> tag must have at least + one <image/> child, which may define the width and height of the referenced image in it's properties. + The value of the <image/> tag is a direct URL to a screenshot uploaded to a public location on the web. + + + Optionally, a <screenshot/> tag may have a <caption/> child, defining a short (not more than 180 characters!) + description of what the user can see on the referenced screenshot. + + + Screenshots are an important part of how people choose which applications to install, so it's important to get them right. + Consistent, good looking screenshots will make your application look more attractive and will expand your userbase. + Consistent screenshots also provide a more predictable experience for people using the software center. + + + Screenshot size, shape and format: + + + + + All screenshots should have a 16:9 aspect ratio, and should have a width that is no smaller than 620px (software center applications will be able to fill in the screenshots in the space they provide for that + more easily then). + + + Ideally the window will be resized to a 16:9 aspect ratio, but screenshots can also be cropped if only a small area of the window needs to be shown. + + + + + Screenshots should ideally be in the PNG format, but JPEG and WebP images are also fine. Keep in mind though that the images are converted into PNG + in any case by the distributor of a software collection. + + + + Do not scale screenshots below their original size. + + + + Basic guidelines for things to include (and not include) in your screenshots: + + + + + Use the default visual and theme settings, including the default font, icons, and window controls. Avoid including your own tweaks to the standard distribution offering. + + + + Screenshots should be taken with English as the display language. + + + + Your default screenshot should give an overview of your application, and should show an entire application window. + It can be combined with screenshots which show specific aspects of the application. + + + + + Screenshots should not show anything outside the application's windows (including the background wallpaper). + If you are taking a screenshot of the whole window, use your screenshot tool's "window" mode (including any window borders in the screenshot, and ensuring that the resulting image has an + alpha mask for the rounded corners). + + + + + Some applications, such as games, primarily run full screen. Screenshots of these applications should be taken with the application + running full screen - there should be no visible window controls in the screenshot. + + + + Don't add shadows to your screenshots. + + + + Do not include content that might be considered offensive or controversial, and avoid showing personal information. Remember that your screenshots will be visible to the internet at large. + + + + + Additional advice on how to take effective screenshots: + + + + + Each of your screenshots should focus on one thing and one thing only. Screenshot one window at a time, and avoid having + overlapping windows or user interface elements. + This will make it much easier for people to understand what you are showing them. + + + + If a screenshot is demonstrating a single feature or aspect of the application, crop it to exclude irrelevant detail. + + + + Screenshots often need to feature content, such as images, documents, web pages or videos. Don’t show your application in an ‘empty’ + state, and try and use high quality content which has positive associations and broad appeal. + + + + In general, you shouldn't include the mouse pointer in your screenshots. + + + + Some advice for a good screenshot caption: + + + + The caption should be short. Try not to use more than a few words to describe the image. + + + Try not to state the obvious: "Main window displaying an image" is something the user can see on the screenshot already. + + + Try not to repeat the application's name in the caption. + + + Do not end your caption with a fullstop. + + + + + Some examples of good and bad screenshot choices: + + + + + + + + + + + + + + + + BAD: Not on Linux + + + + + + + + + + + + GOOD + + + + + + + + + + + + + BAD: Not 16:9, shows the whole desktop and too many small windows + + + + + + + + + + + + + GOOD: No window border required for fullscreen game + + + + + + + + + + + + + + BAD: Uses custom font, custom color theme and is not 16:9 + + + + + + + + + + + + GOOD + + + + + + + + + + + + + <url/> + + + This is a recommended tag for links of type homepage. + Links of type homepage should be a link to the upstream homepage for the application. + + + For other possible values, tage a look at the tag's description at . + + + + + + <project_group/> + + + This tag is described for generic components at . You should use it for your application if appropriate. + + + + + + <developer_name/> + + + The <developer_name/> tag is designed to represent the developers or project responsible for development of the project described in the metadata. + + + Values might be for example "The GNOME Foundation" or "The KDE Community". + You must not include hyperlinks or emails in this field, if you want to link to the developer's homepage, use the -tag instead. + + + This tag is translatable. + + + + + + <update_contact/> + + + The <update_contact/> tag is an optional tag which can be added to provide an email address distributors can use to contact the project + about invalid or incomplete metadata, or in case the specification has changed, about old metadata. It can also be used to ask general questions in case of + an update of the component described in the metadata file. Spam protection using _AT_ is valid. + + + Example: + + developer_AT_example.com]]> + + + + +
    + +
    + Suggested metadata file contents + + + It is useful to add these tags as well if they make sense for the described application. + They are not strictly required to be present though. + + + + + <releases/> + + + The application metainfo may include one <releases/> tag, which + has one or multiple <release/> subnodes to define the version and release date of this + application. For details, see . + + + It is very useful to attach short release-notes to a <release/> using the <description/> + subnode. These release-notes should contain brief information about what is new in the release, in a way which is understandable by non-technical users. + + + + + + <provides/> + + + This tag is described in detail for generic components at . + + + If your application ships a binary in a location in the default PATH, it is useful to add at least a child of type + <binary/> to make it easily possible to find your application's metadata using the name of its binary. + + + + + +
    +
    diff -Nru appstream-0.12.10/docs/xml/quickstart-packaging.xml appstream-0.14.5/docs/xml/quickstart-packaging.xml --- appstream-0.12.10/docs/xml/quickstart-packaging.xml 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/xml/quickstart-packaging.xml 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,38 @@ + + +%BOOK_ENTITIES; +]> + +
    + For distributors packaging Appstream metadata + +
    + Guidelines for distributors + + Distributors of projects with AppStream metadata perform an important role + by making the software available to more people. There are a few guidelines + distributors should follow in order for software centers to present + the correct information to users. + +
    + +
    + Guidelines for distributors + + A binary package that contains AppStream desktop metadata () + must also contain both the .desktop file for the application and the application itself. + + + A binary package must not contain more than one AppStream metadata file. The one exception is + that it is permissable for a binary package that is extended by addons to include those addons + () and their AppStream metadata files. Note that users + will be unable to remove those addons separately. + + + Except for the extended package, no other package may contain more than one Appstream addon metadata file. + + +
    + +
    diff -Nru appstream-0.12.10/docs/xml/quickstart-translation.xml appstream-0.14.5/docs/xml/quickstart-translation.xml --- appstream-0.12.10/docs/xml/quickstart-translation.xml 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/xml/quickstart-translation.xml 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,143 @@ + + +%BOOK_ENTITIES; +]> + +
    + Translating Metadata + +
    + Introduction + + Most AppStream metadata can be translated, This page contains some practical instructions how to translate the + metadata. + + + + For KDE developers + + If you are a KDE developer and using the KDE infrastructure with it's localization support, you need to do nothing + to get translated metadata. Just place your *.metainfo.xml* (or *.appdata.xml* file) + at a sane place, and the l10n-script will translate the file in-place automatically. + + +
    + +
    + Translating using Intltool + + If you ship an .xml.in file rather than an .xml file, you can use Intltool to translate the data. + + + Each translatable element in the .xml.in file needs to be prefixed with an underscore (_) to be marked as translatable. + This should include the name, summary, and caption tags, as well as each paragraph in the + description. Apart from that, the same specifications apply to this file as for any other AppStream metadata. + + + + To translate the appstream data, first add the .xml.in file to po/POTFILES.in, along with any other + translatable files. Then create the translation template file <package name>.pot. + + + ]]> + + + For each supported language, copy the template file to po/<language>-[<COUNTRY>].po, where + po/<language> and the optional po/<COUNTRY> are standard two-letter codes. + Edit the file to add translated strings. + + + + As the translatable content is updated, recreate the template file, and update the .po files. + + + ]]> + + + Create the translated .xml with the following command. + + + .xml.in .xml]]> + +
    + Integrating with Autotools (the AppStream way) + + The generic way to add translation to your AppStream metadata in case you use Autotools is by using + the following code snippet: + + + + The code assumes you are using the Intltool Automake code. + +
    + + +
    + Integrating with Autotools (the AppStream-GLib way) + + In case you want to use the macro provided by the AppStream-GLib library, you can use this code snippet: + + + + Make sure you have the additional AppStream macro installed. + +
    +
    + +
    + Translating using Itstool + + + You can also use Itstool for translation. In order to translate an XML file with it, you need an .its file with translation definitions. + An appropriate file for AppStream upstream metadata of any kind can be found here: + + + + + +]]> + + + Save this file as as-metainfo.its for example. + + + + To extract a GNU Gettext .pot file from your XML file, run itstool with the follwing arguments (replacing "foo" with + your project name): + + + + + You can then translate the .pot file using the standard methods for translating files like these. You obtain + .po files, which you can convert into .mo files (using msgfmt) like you would do with any + other localization. Then, you need to call itstool again, to create a translated version of the original XML file: + + + + + Please ensure that the .mo files in $modir are named with their language codes. + + + + + You can find more information about Itstool on their homepage. + + + +
    +
    diff -Nru appstream-0.12.10/docs/xml/Quickstart.xml appstream-0.14.5/docs/xml/Quickstart.xml --- appstream-0.12.10/docs/xml/Quickstart.xml 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/docs/xml/Quickstart.xml 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,21 @@ + + +%BOOK_ENTITIES; +]> + + Metadata Quickstart + + These pages are designed to give upstream authors compressed information on how to write metadata + for their applications. + The documents describe just the basic information, and don't resemble the whole specification, to + give upstreams an easy way to get started with AppStream. + + + + + + + + + diff -Nru appstream-0.12.10/.editorconfig appstream-0.14.5/.editorconfig --- appstream-0.12.10/.editorconfig 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/.editorconfig 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,39 @@ +# See https://editorconfig.org/ +root = true + +[*] +end_of_line = lf +trim_trailing_whitespace = true +charset = utf-8 + +[*.{c,h}] +indent_style = tab +indent_size = 8 + +[*.cpp] +indent_style = space +indent_size = 4 + +[qt/**.h] +indent_style = space +indent_size = 4 + +[*.sh] +indent_style = space +indent_size = 4 + +[meson.build] +indent_style = space +indent_size = 4 + +[*.yml] +indent_style = space +indent_size = 2 + +[*.xml] +indent_style = space +indent_size = 2 + +[docs/**.xml] +indent_style = tab +indent_size = 8 diff -Nru appstream-0.12.10/.gitignore appstream-0.14.5/.gitignore --- appstream-0.12.10/.gitignore 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/.gitignore 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,10 @@ +*~ +*.bak +*.o +*.so +*.user +*.pc +*.cache +build +Makefile +.directory diff -Nru appstream-0.12.10/meson.build appstream-0.14.5/meson.build --- appstream-0.12.10/meson.build 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/meson.build 2021-08-28 20:15:28.000000000 +0000 @@ -1,9 +1,9 @@ project('AppStream', 'c', meson_version: '>=0.48', - default_options: ['c_std=gnu11', 'cpp_std=gnu++14'], + default_options: ['c_std=c11', 'cpp_std=gnu++14'], license: 'LGPL-2.1+ and GPL-2.0+', - version: '0.12.10', + version: '0.14.5', ) cc = meson.get_compiler('c') @@ -12,23 +12,46 @@ as_version = meson.project_version() as_api_level = '4' +varr = as_version.split('.') +as_major_version = varr[0] +as_minor_version = varr[1] +as_micro_version = varr[2] + # # Configure files # conf = configuration_data() +conf.set('AS_MAJOR_VERSION_CONF', as_major_version) +conf.set('AS_MINOR_VERSION_CONF', as_minor_version) +conf.set('AS_MICRO_VERSION_CONF', as_micro_version) conf.set_quoted('PACKAGE_VERSION', as_version) conf.set_quoted('GETTEXT_PACKAGE', 'appstream') -conf.set_quoted('LOCALEDIR', get_option('localedir')) -conf.set_quoted('LOCALSTATEDIR', get_option('localstatedir')) - -if get_option('apt-support') - conf.set('HAVE_APT_SUPPORT', 1) -endif -if get_option('stemming') - conf.set('HAVE_STEMMING', 1) -endif +conf.set_quoted('LOCALEDIR', + join_paths(get_option('prefix'), + get_option('localedir'))) +conf.set_quoted('LOCALSTATEDIR', + join_paths(get_option('prefix'), + get_option('localstatedir'))) +conf.set_quoted('LIBEXECDIR', + join_paths(get_option('prefix'), + get_option('libexecdir'))) +conf.set_quoted('DATADIR', + join_paths(get_option('prefix'), + get_option('datadir'))) +conf.set_quoted('LIBDIR', + join_paths(get_option('prefix'), + get_option('libdir'))) +conf.set_quoted('BINDIR', + join_paths(get_option('prefix'), + get_option('bindir'))) +conf.set_quoted('SYSCONFDIR', + join_paths(get_option('prefix'), + get_option('sysconfdir'))) +conf.set('HAVE_APT_SUPPORT', get_option('apt-support')) +conf.set('HAVE_STEMMING', get_option('stemming')) configure_file(output: 'config.h', configuration: conf) +root_inc_dir = include_directories ('.') # # Custom C flags @@ -48,14 +71,17 @@ #'-Wformat-signedness', '-Winline' ] - add_global_arguments(maintainer_c_args, language: 'c') - add_global_arguments(maintainer_c_args, language: 'cpp') + add_project_arguments(maintainer_c_args, language: 'c') + add_project_arguments(maintainer_c_args, language: 'cpp') endif # a few compiler warning flags we always want enabled -add_global_arguments('-Werror=implicit-function-declaration', '-Wno-unused-parameter', language: 'c') -add_global_arguments('-Wno-unused-parameter', '-Wno-error=deprecated-copy', language: 'cpp') -add_global_arguments('-DAS_COMPILATION', language : 'c') +add_project_arguments('-Werror=implicit-function-declaration', '-Wno-unused-parameter', language: 'c') +add_project_arguments('-Wno-unused-parameter', language: 'cpp') +add_project_arguments('-DAS_COMPILATION', language: 'c') + +# Vendor extensions in system headers +add_project_arguments('-D_POSIX_C_SOURCE=200112L', language: 'c') # # Dependencies @@ -64,7 +90,7 @@ gobject_dep = dependency('gobject-2.0', version: '>=2.58') gio_dep = dependency('gio-2.0', version: '>=2.58') gio_unix_dep = dependency('gio-unix-2.0', version: '>=2.58') -soup_dep = dependency('libsoup-2.4', version: '>= 2.56') +curl_dep = dependency('libcurl', version : '>= 7.62') xml2_dep = dependency('libxml-2.0') yaml_dep = dependency('yaml-0.1') lmdb_dep = dependency('lmdb', required: false) @@ -108,6 +134,9 @@ # Directories # subdir('src/') +if get_option('compose') + subdir('compose/') +endif subdir('tools/') subdir('data/') subdir('contrib/') diff -Nru appstream-0.12.10/meson_options.txt appstream-0.14.5/meson_options.txt --- appstream-0.12.10/meson_options.txt 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/meson_options.txt 2021-08-28 20:15:28.000000000 +0000 @@ -47,3 +47,8 @@ value : false, description : 'Enable maintainer mode (use strict compiler flags, e.g. -Werror)' ) +option('compose', + type : 'boolean', + value : false, + description : 'Build experimental libappstream-compose library' +) diff -Nru appstream-0.12.10/NEWS appstream-0.14.5/NEWS --- appstream-0.12.10/NEWS 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/NEWS 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,318 @@ +Version 0.14.5 +~~~~~~~~~~~~~~ +Released: 2021-08-28 + +Features: + * compose: Add locale statistics reader + * Add installed test to validate all metainfo data on the system + * compose: Add initial compose utility + * compose: Read SVGZ images in AscImage + * compose: Better heuristics for finding KDE icons + * compose: Allow filtering which components are processed + * compose: Allow exporting hint report as YAML + * cli: convert: Autodetect metainfo/collection XML files + * Add documentation for appstreamcli compose + * validator: Nag about missing content_rating and releases + * compose: Add metainfo file for cli utility + +Specification: + * docs: Clarify how Qt translations are searched for + * spec: Use "i386" as arch name for the shared ABI of all 32-bit x86 CPUs + * spec: Remove debshots screenshots API references + * docs: Document the version comparison algorithm + +Bugfixes: + * qt: Make Pool's parent class public + * Use locale_strip_encoding for determining the current locale as well + * Consider locale like "ca@valencia" compatible with "ca" + * validator: Properly emit some invalid tag name messages + * Resolve g_memdup deprecation warning for GLib >= 2.68 + * cli: Don't occasionally remove spaces when wrapping words + * Propagate bundle information even if PreferLocalMetainfoData is True + * Add workaround for GIR inconsistency in AsFormatVersion enum + * Add assertion against as_get_resource() returning NULL + * context: Don't initialize filename ref string value + +Contributors: + Aleix Pol, Matthias Klumpp + +Version 0.14.4 +~~~~~~~~~~~~~~ +Released: 2021-06-22 + +Features: + * qt: Expose setter and getter for pool cache location + * utils: Use GLib's gstring_replace if available + * its: Allow to mark release descriptions as non-translatable + * compose: Point people at the specification if metadata license is invalid + +Specification: + * docs: Clarify which metadata licenses are permitted + * docs: Fix a typo on the icon cache page + * spec: Add a paragraph about which license to put in + * Add documentation for YAML release type and urgency + * Add documentation for YAML provides + +Bugfixes: + * component: Don't strip ";" from keywords before translating them + * utils: Don't strip modifiers when stripping encoding + * compose: Check optipng is there before we use it + * Improve text line wrapping, especially if many newlines are present + * Make word-wrap function unicode-aware + * Make license_is_metadata_license parse more complex expressions + * Improve cache refresh code, don't flag cache as updated if update failed + * Use system cache even if we had to drop some invalid metadata + * Assign more string class members safely + * Fix flashed firmware generating incorrect XML + * Fix YAML having wrong names for the firmware data + +Contributors: + Aleix Pol, Iain Lane, Philip Withnall, + Robert Ancell, Matthias Klumpp + +Version 0.14.3 +~~~~~~~~~~~~~~ +Released: 2021-03-08 + +Specification: + * spec: Mention that license-IDs are case-sensitive + * spec: Fix case of LicenseRef-proprietary in the spec + +Bugfixes: + * compose: Don't loop endlessly if external desktop l10n function is set + * Never create a predictable dir in /tmp for caching + +Contributors: + Philip Withnall, Matthias Klumpp + +Version 0.14.2 +~~~~~~~~~~~~~~ +Released: 2021-03-02 + +Features: + * qt: Implement missing Pool::componentsByCategories + * Share one user-owned read-only system metadata cache between all applications + * pool: Clean up user sysdata caches if we start to use the system cache + * Port over some parsing improvements for desktop-files from asgen + * compose: Add helper for reading desktop-entry files + * compose: Handle bad UTF-8 in desktop-entry files even better + * search: Perform partial token matches instead of prefix matches + * search: Unconditionally perform partial term matching after exact matching + * news-to-metainfo: Recognize the "Contributors" section + * Update our own metainfo file for appstreamcli + +Bugfixes: + * Read descriptions from collection XML correctly again + * tests: Fix a few memory leaks + * Make people acknowledge they know the ascompose API is unstable + * search: Make whole-search string matching a lot more strict + * validator: Resolve false-positive when testing remote icon URL validity + * utils: Improve textwrap if text is just one excessively long word + * compose: Permit U+00AD SOFT HYPHEN in string values + * Validate our own metainfo file + * compose: Don't assume lowest priority for desktop-entry-only components + * search: Only replace full words with greylist terms, not partial ones + * ascli: Take all positional parameters as search terms when searching + +Version 0.14.1 +~~~~~~~~~~~~~~ +Released: 2021-02-16 + +Features: + * Switch back from Soup to cURL for HTTP(S) (Matthias Klumpp) + * validator: Check a few more things on requires/recommends items (Matthias Klumpp) + * Only download the first bytes of a file when checking URLs for validity (Matthias Klumpp) + +Specification: + * spec: Officially mark tag as deprecated (Matthias Klumpp) + +Bugfixes: + * qt: Return better errors in AppStream::Metadata (Matthias Klumpp) + * Do not automatically clean up errors that will be propagated (Matthias Klumpp) + * Remove overall extern "C" to make very new (2.67+) GLib versions happy (Matthias Klumpp) + * ascli: Don’t use GNU C extension type names (Philip Withnall) + * build: Use c11 rather than gnu11 and define vendor extensions separately (Philip Withnall) + +Version 0.14.0 +~~~~~~~~~~~~~~ +Released: 2021-02-02 + +Notes: + * Component data-IDs gain a fifth part for a "branch". If you parse the IDs with AppStream's + functions, this change is fully backwards compatible. If you do your own parsing of these + IDs, please check if you have 4-part or 5-part IDs and split accordingly. + The branch is not used by AppStream (it is just passed through), but needed in GNOME Software + for Flatpak and Snappy support. + * AppStream-Generator depends on libappstream-compose now, however the API is still not stable, so + please do not use it unless you either are appstream-generator or like using experimental code. + +Features: + * news-to-metainfo: Interpret placeholder release dates as denoting a dev version + * Make as_utils_build_data_id public API + * Add AsReview for attaching user reviews to software components + * Add compile-time version test macros + * Add a branch element to component data-IDs + * Add branch property to AsComponent + * utils: Add data-ID hashing and matching functions + * utils: Make as_gstring_replace public API + * Add branch info to on-disk cached components + * content-rating: Add as_content_rating_add_attribute API + * Rename INPUTMETHOD component kind enum to INPUT_METHOD + * Add "cabinet" bundle type for firmware deployments + * Make AsTokenMatch public API + * Add function to AsScreenshot to get image closest to preferred size + * Allow AsComponent to directly ingest desktop-entry data + * Make as_pool_build_search_tokens API public + * Add "origin" token match + * Make as_component_add_provided_item API public + * Add some useful image dimension constants + * compose: Add blur function from asglib + * Add more efficient load_from_bytes method to AsComponent + * Add methods to load metadata directly from GBytes + * compose: Make image loading code more versatile + * Add editorconfig + * Make more use of RefString in AsComponent + * Revamp version comparison algorithm + * ascli: Add native profiling support + * compose: Reduce Hint memory usage, allow to retrieve var list + * compose: Allow clients to add their own, new hint tags + * compose: Allow hints to be created from tags, include validator hints in pool + * compose: XML-escape validator explanations + * compose: Add a few more methods from asgen's GeneratorResult + * compose: Add helper method for metainfo validation + * compose: Add metainfo parsing helper function + * Implement "filename" property for release artifacts + * ascli: Add new `os-info` subcommand + * Add code to validate platform triplets + * validator: Validate more release-tag specific issues + * Add utils helper function to install a variety of metadata + * Improve desktop-entry tests, always add "launchable" tag + * Update AppStream format version + * qt: Add bindings for relations API (requires/recommends) + * Use ref-strings for locale hash tables and token tables + +Specification: + * docs: Update revision and date + * spec: Add "cabinet" bundle type for firmware deployments + * spec: Allow "filename" tag in release artifacts + * docs: Clarify section on release artifact platform triplets + * spec: Properly mark mailto: links in contact URLs as deprecated + +Bugfixes: + * parse-desktop: Do not try to propagate a null error (Aleix Pol) + * Retain loaded context in AsMetadata and allow external media base url changes + * meson: Use project arguments instead of global arguments + * ascli: Improve text reflow in console output + * metainfo-to-news: Use "*" instead of "-" for markdown enumerations + * Drop unneeded compiler warning override + * Fix small memory leak in AsTranslation + * Avoid extra strlen() call when loading metadata from file + * Fix a few more memory leaks + * validator: Add some more tests + * ascli: Remove some code duplication, improve help summary text + * meson: Hardcode less paths + * tests: Add version comparison tests from appstream-glib, to ensure we compare the same + * gir: Ensure as_version_string shows up in introspection data + * ascli: Improve display of indented long-text output + * compose: Fix build with GLib < 2.66 + * Make sure there are no duplicate operating-system components + * compose: Ensure font selection for symbolic fonts actually works + * validator: Ensure we return false in API functions if validation failed + * Ignore minimal translations in metainfo description texts + +Version 0.13.1 +~~~~~~~~~~~~~~ +Released: 2020-11-30 + +Bugfixes: + * Install enum types headers to the right location + * qt: Construct library using libappstream dependency object + * validator: Improve check for invalid hyperlinks to reduce false-positives + +Version 0.13.0 +~~~~~~~~~~~~~~ +Released: 2020-11-30 + +Notes: + * This release introduces a new library, libappstream-compose, designed to + provide building blocks for composing AppStream metadata. This includes GUI + stuff like font and SVG rendering, which libappstream deliberately does not + provide. The new compose library is not API/ABI stable and should - for now - + only be used by appstream-generator. + +Features: + * qt: add missing Provided::KindId enum (Aleix Pol) + * Add experimental libappstream-compose (Matthias Klumpp) + * Implement support for display_length relation kind (Matthias Klumpp) + * Implement "tv-remote" input control kind (Matthias Klumpp) + * Refactor AsRelation to use GVariant internally (Matthias Klumpp) + * content-rating: Align the OARS/CSM mappings of sex-* (Philip Withnall) + * content-rating: Add content rating system APIs from gnome-software (Philip Withnall) + * content-rating: Expand translator comments to link to OARS website (Philip Withnall) + +Specification: + * spec: Specify display_length requires/recommends item (Matthias Klumpp) + * spec: Add tv-remote user input control type (Matthias Klumpp) + +Bugfixes: + * Use glib-mkenums to create the GType of all the available enums (Corentin Noël) + * Set FD_CLOEXEC on the LMDB FD manually (Fabian Vogt) + * Never ship with an embedded convenience copy of Highlight.js (Matthias Klumpp) + * Don't fail doc install if global highlight.js wasn't found (Matthias Klumpp) + * Properly escape markup when fixing invalid description data (Matthias Klumpp) + * validator: Don't pass NULL to vprintf, it's not an allowed value (Matthias Klumpp) + * meson: Kill deprecation warning for pkgconfig.generate (Matthias Klumpp) + * validator: Demote cid-contains-uppercase-letter from INFO to PEDANTIC (Matthias Klumpp) + * Change some AsPool GIR annotations to only transfer container, + as workaround for issue in GIR (Matthias Klumpp) + * Properly parse YAML font provides entry (Matthias Klumpp) + * content-rating: Lower the OARS/CSM mapping of sex-homosexuality/intense (Philip Withnall) + * Change return annotation of as_agreement_get_sections to "transfer none" (Rico Tzschichholz) + * contrib: Vala expects element-type of PtrArray to reflect their ownership (Rico Tzschichholz) + +Version 0.12.11 +~~~~~~~~~~~~~~ +Released: 2020-05-12 + +Features: + * Auto-update static category data from fd.o + * Implement support for input control relations + * validator: Validate input control relations + * validator: Put AppStream technical terms and tag names in backticks in + explanation texts + * Modernize the README + * validator: Check for uppercase letters in cids + * Strip beginning/trailing newlines in a number of places + * Make AsContext getter for AsComponent public API + * qt: Add support for name_variant_suffix + * Make component sort-score API public API + * Implement a YAML representation of release artifact information + +Specification: + * Build specification and docs with DAPS + * docs: Add (HTML) anchors for requires/recommends items + * spec: Specify user input control recommendations + * docs: Don't show reference to nonexistent provides->service tag for services + * spec: Encourage the use of only lowercase letters for component-IDs + * docs: Document --explain flag in ascli manual page as well + * docs: Add permalink anchors to some list entries + * Formally support BLAKE2b/s as hash functions for release artifacts + * docs: Link to the MetaInfo Creator webapp in a few places + +Bugfixes: + * Be less noisy about ignoring excessively long search tokens + * Tighten the "free license" check and prevent false positives + * cache: Use correct fts value per result (David Hewitt) + * validator: Control items can't have a version + * validator: Reduce download timeout + * yaml: Strip encoding when serializing keyword lists + * Allows arbitrary indentation when converting NEWS files + * Ignore NULL values silently in our stringstrip function + * Only dump valid metainfo description markup, sanitize it otherwise + Version 0.12.10 ~~~~~~~~~~~~~~ -Released: 2019-01-18 +Released: 2020-01-18 Notes: * This release drops its optional dependency on Curl in favor of a non-optional diff -Nru appstream-0.12.10/po/ain.po appstream-0.14.5/po/ain.po --- appstream-0.12.10/po/ain.po 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/po/ain.po 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,2696 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR Matthias Klumpp +# This file is distributed under the same license as the appstream package. +# AISS , 2021. +msgid "" +msgstr "" +"Project-Id-Version: appstream\n" +"Report-Msgid-Bugs-To: appstream@lists.freedesktop.org\n" +"POT-Creation-Date: 2021-08-28 16:09+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: ain\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: data/org.freedesktop.appstream.cli.metainfo.xml:8 +msgid "AppStream CLI" +msgstr "" + +#: data/org.freedesktop.appstream.cli.metainfo.xml:9 +msgid "An utility to work with AppStream metadata" +msgstr "" + +#: data/org.freedesktop.appstream.cli.metainfo.xml:12 +msgid "" +"AppStream is a metadata specification which permits software components to " +"provide information about themselves to automated systems and end-users " +"before the software is actually installed. The AppStream project provides " +"facilities to easily access and transform this metadata, as well as a few " +"additional services for building feature-rich software centers and similar " +"applications that make use of software metadata." +msgstr "" + +#: data/org.freedesktop.appstream.cli.metainfo.xml:18 +msgid "" +"The appstreamcli command-line tool allows to read, write, and " +"transform AppStream XML or YAML metadata as well as to validate it for " +"compliance with the specification. It also provides easy access to the " +"system metadata pool, for example to query for software that provides a " +"specific Mediatype handler or for installing software by its component " +"identifier." +msgstr "" + +#: src/as-category.c:66 +msgctxt "Category of AudioVideo" +msgid "Featured" +msgstr "" + +#: src/as-category.c:69 +msgctxt "Category of AudioVideo" +msgid "Audio Creation & Editing" +msgstr "" + +#: src/as-category.c:75 +msgctxt "Category of AudioVideo" +msgid "Music Players" +msgstr "" + +#: src/as-category.c:84 +msgctxt "Category of Development" +msgid "Featured" +msgstr "" + +#: src/as-category.c:87 +msgctxt "Category of Development" +msgid "Debuggers" +msgstr "" + +#: src/as-category.c:90 +msgctxt "Category of Development" +msgid "IDEs" +msgstr "" + +#: src/as-category.c:99 +msgctxt "Category of Education" +msgid "Featured" +msgstr "" + +#: src/as-category.c:102 +msgctxt "Category of Education" +msgid "Astronomy" +msgstr "" + +#: src/as-category.c:105 +msgctxt "Category of Education" +msgid "Chemistry" +msgstr "" + +#: src/as-category.c:108 +msgctxt "Category of Education" +msgid "Languages" +msgstr "" + +#: src/as-category.c:112 +msgctxt "Category of Education" +msgid "Math" +msgstr "" + +#: src/as-category.c:121 +msgctxt "Category of Games" +msgid "Featured" +msgstr "" + +#: src/as-category.c:124 +msgctxt "Category of Games" +msgid "Action" +msgstr "" + +#: src/as-category.c:127 +msgctxt "Category of Games" +msgid "Adventure" +msgstr "" + +#: src/as-category.c:130 +msgctxt "Category of Games" +msgid "Arcade" +msgstr "" + +#: src/as-category.c:133 +msgctxt "Category of Games" +msgid "Blocks" +msgstr "" + +#: src/as-category.c:136 +msgctxt "Category of Games" +msgid "Board" +msgstr "" + +#: src/as-category.c:139 +msgctxt "Category of Games" +msgid "Card" +msgstr "" + +#: src/as-category.c:142 +msgctxt "Category of Games" +msgid "Emulators" +msgstr "" + +#: src/as-category.c:145 +msgctxt "Category of Games" +msgid "Kids" +msgstr "" + +#: src/as-category.c:148 +msgctxt "Category of Games" +msgid "Logic" +msgstr "" + +#: src/as-category.c:151 +msgctxt "Category of Games" +msgid "Role Playing" +msgstr "" + +#: src/as-category.c:154 +msgctxt "Category of Games" +msgid "Sports" +msgstr "" + +#: src/as-category.c:158 +msgctxt "Category of Games" +msgid "Strategy" +msgstr "" + +#: src/as-category.c:166 +msgctxt "Category of Graphics" +msgid "Featured" +msgstr "" + +#: src/as-category.c:169 +msgctxt "Category of Graphics" +msgid "3D Graphics" +msgstr "" + +#: src/as-category.c:172 +msgctxt "Category of Graphics" +msgid "Photography" +msgstr "" + +#: src/as-category.c:175 +msgctxt "Category of Graphics" +msgid "Scanning" +msgstr "" + +#: src/as-category.c:178 +msgctxt "Category of Graphics" +msgid "Vector Graphics" +msgstr "" + +#: src/as-category.c:181 +msgctxt "Category of Graphics" +msgid "Viewers" +msgstr "" + +#: src/as-category.c:189 +msgctxt "Category of Office" +msgid "Featured" +msgstr "" + +#: src/as-category.c:192 +msgctxt "Category of Office" +msgid "Calendar" +msgstr "" + +#: src/as-category.c:196 +msgctxt "Category of Office" +msgid "Database" +msgstr "" + +#: src/as-category.c:199 +msgctxt "Category of Office" +msgid "Finance" +msgstr "" + +#: src/as-category.c:203 +msgctxt "Category of Office" +msgid "Word Processor" +msgstr "" + +#: src/as-category.c:212 +msgctxt "Category of Addons" +msgid "Fonts" +msgstr "" + +#: src/as-category.c:215 +msgctxt "Category of Addons" +msgid "Codecs" +msgstr "" + +#: src/as-category.c:218 +msgctxt "Category of Addons" +msgid "Input Sources" +msgstr "" + +#: src/as-category.c:221 +msgctxt "Category of Addons" +msgid "Language Packs" +msgstr "" + +#: src/as-category.c:224 +msgctxt "Category of Addons" +msgid "Localization" +msgstr "" + +#: src/as-category.c:232 +msgctxt "Category of Science" +msgid "Featured" +msgstr "" + +#: src/as-category.c:235 +msgctxt "Category of Science" +msgid "Artificial Intelligence" +msgstr "" + +#: src/as-category.c:238 +msgctxt "Category of Science" +msgid "Astronomy" +msgstr "" + +#: src/as-category.c:241 +msgctxt "Category of Science" +msgid "Chemistry" +msgstr "" + +#: src/as-category.c:244 +msgctxt "Category of Science" +msgid "Math" +msgstr "" + +#: src/as-category.c:249 +msgctxt "Category of Science" +msgid "Robotics" +msgstr "" + +#: src/as-category.c:257 +msgctxt "Category of Communication" +msgid "Featured" +msgstr "" + +#: src/as-category.c:260 +msgctxt "Category of Communication" +msgid "Chat" +msgstr "" + +#: src/as-category.c:267 +msgctxt "Category of Communication" +msgid "News" +msgstr "" + +#: src/as-category.c:271 +msgctxt "Category of Communication" +msgid "Web Browsers" +msgstr "" + +#: src/as-category.c:279 +msgctxt "Category of Utility" +msgid "Featured" +msgstr "" + +#: src/as-category.c:282 +msgctxt "Category of Utility" +msgid "Text Editors" +msgstr "" + +#: src/as-category.c:285 +msgctxt "Category of Utility" +msgid "Terminal Emulators" +msgstr "" + +#: src/as-category.c:288 +msgctxt "Category of Utility" +msgid "File System" +msgstr "" + +#: src/as-category.c:291 +msgctxt "Category of Utility" +msgid "System Monitoring" +msgstr "" + +#: src/as-category.c:294 +msgctxt "Category of Utility" +msgid "Security" +msgstr "" + +#. TRANSLATORS: this is the menu spec main category for Audio & Video +#: src/as-category.c:303 +msgid "Audio & Video" +msgstr "" + +#. TRANSLATORS: this is the menu spec main category for Development +#: src/as-category.c:306 +msgid "Developer Tools" +msgstr "" + +#. TRANSLATORS: this is the menu spec main category for Education +#: src/as-category.c:309 +msgid "Education" +msgstr "" + +#. TRANSLATORS: this is the menu spec main category for Game +#: src/as-category.c:312 +msgid "Games" +msgstr "" + +#. TRANSLATORS: this is the menu spec main category for Graphics +#: src/as-category.c:315 +msgid "Graphics & Photography" +msgstr "" + +#. TRANSLATORS: this is the menu spec main category for Office +#: src/as-category.c:318 +msgid "Office" +msgstr "" + +#. TRANSLATORS: this is the main category for Add-ons +#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor +#: src/as-category.c:321 tools/ascli-utils.c:371 +msgid "Add-ons" +msgstr "" + +#. TRANSLATORS: this is the menu spec main category for Science +#: src/as-category.c:324 +msgid "Science" +msgstr "" + +#. TRANSLATORS: this is the menu spec main category for Communication +#: src/as-category.c:327 +msgid "Communication & News" +msgstr "" + +#. TRANSLATORS: this is the menu spec main category for Utilities +#: src/as-category.c:330 +msgid "Utilities" +msgstr "" + +#. TRANSLATORS: This is the formatting of English and localized name +#. * of the rating e.g. "Adults Only (solo adultos)" +#: src/as-content-rating.c:298 +#, c-format +msgid "%s (%s)" +msgstr "" + +#: src/as-content-rating.c:444 +msgid "General" +msgstr "" + +#: src/as-content-rating.c:453 +msgid "ALL" +msgstr "" + +#: src/as-content-rating.c:457 src/as-content-rating.c:560 +msgid "Adults Only" +msgstr "" + +#: src/as-content-rating.c:459 src/as-content-rating.c:559 +msgid "Mature" +msgstr "" + +#: src/as-content-rating.c:461 src/as-content-rating.c:558 +msgid "Teen" +msgstr "" + +#: src/as-content-rating.c:463 src/as-content-rating.c:557 +msgid "Everyone 10+" +msgstr "" + +#: src/as-content-rating.c:465 src/as-content-rating.c:556 +msgid "Everyone" +msgstr "" + +#: src/as-content-rating.c:467 src/as-content-rating.c:555 +msgid "Early Childhood" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:839 +msgid "No cartoon violence" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:841 +msgid "Cartoon characters in unsafe situations" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:843 +msgid "Cartoon characters in aggressive conflict" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:845 +msgid "Graphic violence involving cartoon characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:850 +msgid "No fantasy violence" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:852 +msgid "Characters in unsafe situations easily distinguishable from reality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:854 +msgid "Characters in aggressive conflict easily distinguishable from reality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:856 +msgid "Graphic violence easily distinguishable from reality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:861 +msgid "No realistic violence" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:863 +msgid "Mildly realistic characters in unsafe situations" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:865 +msgid "Depictions of realistic characters in aggressive conflict" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:867 +msgid "Graphic violence involving realistic characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:872 +msgid "No bloodshed" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:874 +msgid "Unrealistic bloodshed" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:876 +msgid "Realistic bloodshed" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:878 +msgid "Depictions of bloodshed and the mutilation of body parts" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:883 +msgid "No sexual violence" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:885 +msgid "Rape or other violent sexual behavior" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:892 +msgid "No references to alcohol" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:894 +msgid "References to alcoholic beverages" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:896 +msgid "Use of alcoholic beverages" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:902 +msgid "No references to illicit drugs" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:904 +msgid "References to illicit drugs" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:906 +msgid "Use of illicit drugs" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:912 +msgid "No references to tobacco products" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:914 +msgid "References to tobacco products" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:916 +msgid "Use of tobacco products" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:922 +msgid "No nudity of any sort" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:924 +msgid "Brief artistic nudity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:926 +msgid "Prolonged nudity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:932 +msgid "No references to or depictions of sexual nature" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:934 +msgid "Provocative references or depictions" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:936 +msgid "Sexual references or depictions" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:938 +msgid "Graphic sexual behavior" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:943 +msgid "No profanity of any kind" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:945 +msgid "Mild or infrequent use of profanity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:947 +msgid "Moderate use of profanity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:949 +msgid "Strong or frequent use of profanity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:954 +msgid "No inappropriate humor" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:956 +msgid "Slapstick humor" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:958 +msgid "Vulgar or bathroom humor" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:960 +msgid "Mature or sexual humor" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:965 +msgid "No discriminatory language of any kind" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:967 +msgid "Negativity towards a specific group of people" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:969 +msgid "Discrimination designed to cause emotional harm" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:971 +msgid "Explicit discrimination based on gender, sexuality, race or religion" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:976 +msgid "No advertising of any kind" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:978 +msgid "Product placement" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:980 +msgid "Explicit references to specific brands or trademarked products" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:982 +msgid "Users are encouraged to purchase specific real-world items" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:987 +msgid "No gambling of any kind" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:989 +msgid "Gambling on random events using tokens or credits" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:991 +msgid "Gambling using “play” money" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:993 +msgid "Gambling using real money" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:998 +msgid "No ability to spend money" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1000 +msgid "Users are encouraged to donate real money" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1003 +msgid "Ability to spend real money in-app" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1008 +msgid "No way to chat with other users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1010 +msgid "User-to-user interactions without chat functionality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1012 +msgid "Moderated chat functionality between users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1014 +msgid "Uncontrolled chat functionality between users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1019 +msgid "No way to talk with other users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1021 +msgid "Uncontrolled audio or video chat functionality between users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1028 +msgid "No sharing of social network usernames or email addresses" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1030 +msgid "Sharing social network usernames or email addresses" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1037 +msgid "No sharing of user information with third parties" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1039 +msgid "Checking for the latest application version" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1041 +msgid "Sharing diagnostic data that does not let others identify the user" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1043 +msgid "Sharing information that lets others identify the user" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1048 +msgid "No sharing of physical location with other users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1050 +msgid "Sharing physical location with other users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1073 +msgid "No references to homosexuality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1075 +msgid "Indirect references to homosexuality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1077 +msgid "Kissing between people of the same gender" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1079 +msgid "Graphic sexual behavior between people of the same gender" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1084 +msgid "No references to prostitution" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1086 +msgid "Indirect references to prostitution" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1088 +msgid "Direct references to prostitution" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1090 +msgid "Graphic depictions of the act of prostitution" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1095 +msgid "No references to adultery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1097 +msgid "Indirect references to adultery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1099 +msgid "Direct references to adultery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1101 +msgid "Graphic depictions of the act of adultery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1106 +msgid "No sexualized characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1109 +msgid "Scantily clad human characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1111 +msgid "Overtly sexualized human characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1116 +msgid "No references to desecration" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1118 +msgid "Depictions of or references to historical desecration" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1120 +msgid "Depictions of modern-day human desecration" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1122 +msgid "Graphic depictions of modern-day desecration" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1127 +msgid "No visible dead human remains" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1129 +msgid "Visible dead human remains" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1131 +msgid "Dead human remains that are exposed to the elements" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1133 +msgid "Graphic depictions of desecration of human bodies" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1138 +msgid "No references to slavery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1140 +msgid "Depictions of or references to historical slavery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1142 +msgid "Depictions of modern-day slavery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1144 +msgid "Graphic depictions of modern-day slavery" +msgstr "" + +#. TRANSLATORS: We got a 429 error while trying to download data +#: src/as-curl.c:134 +#, c-format +msgid "Failed to download due to server limit" +msgstr "" + +#: src/as-curl.c:141 src/as-curl.c:148 +#, c-format +msgid "Failed to download file: %s" +msgstr "" + +#. TRANSLATORS: We tried to download an URL, but received a 404 error code +#: src/as-curl.c:157 +#, c-format +msgid "URL was not found on the server." +msgstr "" + +#. TRANSLATORS: We received an uexpected HTTP status code while talking to a server, likely an error +#: src/as-curl.c:164 +#, c-format +msgid "Unexpected status code: %ld" +msgstr "" + +#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty +#: src/as-curl.c:247 +#, c-format +msgid "Retrieved file size was zero." +msgstr "" + +#. TRANSLATORS: List of "grey-listed" words sperated with ";" +#. * Do not translate this list directly. Instead, +#. * provide a list of words in your language that people are likely +#. * to include in a search but that should normally be ignored in +#. * the search. +#. +#: src/as-pool.c:111 +msgid "app;application;package;program;programme;suite;tool" +msgstr "" + +#: src/as-pool.c:620 +msgid "Unable to remove old cache." +msgstr "" + +#: src/as-pool.c:963 +msgid "Metadata files have errors:" +msgstr "" + +#: src/as-pool.c:1370 +msgid "" +"Many components have been recognized as invalid. See debug output for " +"details." +msgstr "" + +#: src/as-pool.c:1996 +#, c-format +msgid "Cache location '%s' is not writable." +msgstr "" + +#: src/as-pool.c:2109 +msgid "" +"The AppStream system cache was updated, but some components were ignored. " +"Refer to the verbose log for more information." +msgstr "" + +#: src/as-pool.c:2111 +#, c-format +msgid "" +"The AppStream system cache was updated, but problems were found which " +"resulted in metadata being ignored: %s" +msgstr "" + +#: src/as-pool.c:2125 +#, c-format +msgid "" +"AppStream system cache refresh failed. Turn on verbose mode to get detailed " +"issue information." +msgstr "" + +#: src/as-provided.c:144 +msgid "Libraries" +msgstr "" + +#: src/as-provided.c:146 +msgid "Binaries" +msgstr "" + +#: src/as-provided.c:148 +msgid "Media types" +msgstr "" + +#: src/as-provided.c:150 +msgid "Fonts" +msgstr "" + +#: src/as-provided.c:152 +msgid "Modaliases" +msgstr "" + +#: src/as-provided.c:154 +msgid "Python (Version 2)" +msgstr "" + +#: src/as-provided.c:156 +msgid "Python 3" +msgstr "" + +#: src/as-provided.c:158 +msgid "D-Bus System Services" +msgstr "" + +#: src/as-provided.c:160 +msgid "D-Bus Session Services" +msgstr "" + +#: src/as-provided.c:162 +msgid "Runtime Firmware" +msgstr "" + +#: src/as-provided.c:164 +msgid "Flashed Firmware" +msgstr "" + +#: src/as-provided.c:166 +msgid "Component" +msgstr "" + +#: src/as-validator-issue-tag.h:41 +msgid "This tag requires a type property." +msgstr "" + +#: src/as-validator-issue-tag.h:46 +msgid "Tags of this name are not permitted in this section." +msgstr "" + +#: src/as-validator-issue-tag.h:51 +msgid "" +"A tag must not be localized in metainfo files (upstream " +"metadata). Localize the individual paragraphs instead." +msgstr "" + +#: src/as-validator-issue-tag.h:57 +msgid "" +"This element (paragraph, list, etc.) of a tag must not be " +"localized individually in collection metadata. Localize the whole " +" tag instead. The AppStream collection metadata generator (e." +"g. `appstream-generator`) will already do the right thing when compiling the " +"data." +msgstr "" + +#: src/as-validator-issue-tag.h:63 +msgid "" +"AppStream descriptions support only a limited set of tags to format text: " +"Paragraphs (

    ) and lists (

      ,
        ). This description markup contains " +"an invalid XML tag that would not be rendered correctly in applications " +"supporting the metainfo specification." +msgstr "" + +#: src/as-validator-issue-tag.h:69 +msgid "" +"This description paragraph contains invalid markup. Currently, only " +"and are permitted." +msgstr "" + +#: src/as-validator-issue-tag.h:74 +msgid "Enumerations must only have list items (
      1. ) as children." +msgstr "" + +#: src/as-validator-issue-tag.h:79 +msgid "" +"The first `description/p` paragraph of this component might be too short (< " +"80 characters). Please consider starting with a longer paragraph to improve " +"how the description looks like in software centers and to provide more " +"detailed information on this component immediately in the first paragraph." +msgstr "" + +#: src/as-validator-issue-tag.h:86 +msgid "" +"The description contains a web URL in plain text. This is not allowed, " +"please use the tag instead to share links." +msgstr "" + +#: src/as-validator-issue-tag.h:91 +msgid "" +"As per AppStream specification, the mentioned tag must only appear once in " +"this context. Having multiple tags of this kind is not valid." +msgstr "" + +#: src/as-validator-issue-tag.h:96 +msgid "" +"The mentioned tag is empty, which is highly likely not intended as it should " +"have content." +msgstr "" + +#: src/as-validator-issue-tag.h:101 +msgid "" +"The component ID is required to follow a reverse domain-name scheme for its " +"name. See the AppStream specification for details." +msgstr "" + +#: src/as-validator-issue-tag.h:106 +msgid "" +"The component ID is not a reverse domain-name. Please update the ID to avoid " +"future issues and be compatible with all AppStream implementations.\n" +"You may also consider to update the name of the accompanying .desktop file " +"to follow the latest version of the Desktop-Entry specification and use a " +"rDNS name for it as well. In any case, do not forget to mention the new " +"desktop-entry in a tag for this component to keep the " +"application launchable from software centers and the .desktop file data " +"associated with the metainfo data." +msgstr "" + +#: src/as-validator-issue-tag.h:114 +msgid "" +"The component ID might not follow the reverse domain-name schema (the TLD " +"used by it is not known to the validator)." +msgstr "" + +#: src/as-validator-issue-tag.h:119 +msgid "" +"The component ID contains an invalid character. Only ASCII characters, dots " +"and numbers are permitted." +msgstr "" + +#: src/as-validator-issue-tag.h:124 +msgid "" +"The component ID contains a hyphen/minus. Using a hyphen is strongly " +"discouraged, to improve interoperability with other tools such as D-Bus. A " +"good option is to replace any hyphens with underscores (`_`)." +msgstr "" + +#: src/as-validator-issue-tag.h:130 +msgid "" +"The component ID contains a segment starting with a number. Starting a " +"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " +"interoperability with other tools such as D-Bus. Ideally, prefix these " +"segments with an underscore." +msgstr "" + +#: src/as-validator-issue-tag.h:136 +msgid "The component ID should only contain lowercase letters." +msgstr "" + +#: src/as-validator-issue-tag.h:141 +msgid "" +"The component is part of the Freedesktop project, but its ID does not start " +"with fd.o's reverse-DNS name (\"org.freedesktop\")." +msgstr "" + +#: src/as-validator-issue-tag.h:146 +msgid "" +"The component is part of the KDE project, but its ID does not start with " +"KDEs reverse-DNS name (\"org.kde\")." +msgstr "" + +#: src/as-validator-issue-tag.h:151 +msgid "" +"The component is part of the GNOME project, but its ID does not start with " +"GNOMEs reverse-DNS name (\"org.gnome\")." +msgstr "" + +#: src/as-validator-issue-tag.h:156 +msgid "The SPDX license expression is invalid and could not be parsed." +msgstr "" + +#: src/as-validator-issue-tag.h:161 +msgid "" +"The license ID was not found in the SPDX database. Please check that the " +"license ID is written in an SPDX-conformant way and is a valid free software " +"license." +msgstr "" + +#: src/as-validator-issue-tag.h:167 +msgid "" +"The metadata itself seems to be licensed under a complex collection of " +"licenses. Please license the data under a simple permissive license, like " +"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " +"collections without the risk of license violations due to mutually " +"incompatible licenses." +msgstr "" + +#: src/as-validator-issue-tag.h:173 +msgid "" +"The metadata itself does not seem to be licensed under a permissive license. " +"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " +"0BSD to allow distributors to include it in mixed data collections without " +"the risk of license violations due to mutually incompatible licenses." +msgstr "" + +#: src/as-validator-issue-tag.h:179 +msgid "" +"The update-contact does not appear to be a valid email address (escaping of " +"`@` is only allowed as `_at_` or `_AT_`)." +msgstr "" + +#: src/as-validator-issue-tag.h:184 +msgid "" +"Unable to reach the screenshot image on its remote location - does the image " +"exist?" +msgstr "" + +#: src/as-validator-issue-tag.h:189 +msgid "" +"Unable to reach the screenshot video on its remote location - does the video " +"file exist?" +msgstr "" + +#: src/as-validator-issue-tag.h:194 +msgid "" +"Consider using a secure (HTTPS) URL to reference this screenshot image or " +"video." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:200 +msgid "" +"A screenshot must contain at least one image or video in order to be useful. " +"Please add an to it." +msgstr "" + +#: src/as-validator-issue-tag.h:205 +msgid "" +"A screenshot must contain either images or videos, but not both at the same " +"time. Please use this screenshot exclusively for either static images or for " +"videos." +msgstr "" + +#: src/as-validator-issue-tag.h:211 +msgid "The screenshot does not have a caption text. Consider adding one." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:217 +msgid "" +"The screenshot video does not specify which video codec was used in a " +"`codec` property." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:223 +msgid "" +"The screenshot video does not specify which container format was used in a " +"`container` property." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:229 +msgid "" +"The selected video codec is not supported by AppStream and software centers " +"may not be able to play the video. Only the AV1 and VP9 codecs are currently " +"supported, using `av1` and `vp9` as values for the `codec` property." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:236 +msgid "" +"The selected video container format is not supported by AppStream and " +"software centers may not be able to play the video. Only the WebM and " +"Matroska video containers are currently supported, using `webm` and `mkv` as " +"values for the `container` property." +msgstr "" + +#: src/as-validator-issue-tag.h:242 +msgid "" +"For videos, only the WebM and Matroska (.mkv) container formats are " +"currently supported. The file extension of the referenced video does not " +"belong to either of these formats." +msgstr "" + +#: src/as-validator-issue-tag.h:248 +msgid "" +"The default screenshot of a software component must not be a video. Use a " +"static image as default screenshot and set the video as a secondary " +"screenshot." +msgstr "" + +#: src/as-validator-issue-tag.h:253 +msgid "" +"Found an unknown tag in a requires/recommends group. This is likely an " +"error, because a component relation of this type is unknown." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:259 +msgid "" +"A `requires` or `recommends` item requires a value to denote a valid " +"relation." +msgstr "" + +#. TRANSLATORS: `version` is an AppStream XML property. Please do not translate it. +#: src/as-validator-issue-tag.h:265 +msgid "" +"Found `version` property on required/recommended item of a type that should " +"not have or require a version." +msgstr "" + +#. TRANSLATORS: `version` and `compare` are AppStream XML properties. Please do not translate them. +#: src/as-validator-issue-tag.h:271 +msgid "" +"Found `version` property on this required/recommended item, but not " +"`compare` property. It is recommended to explicitly define a comparison " +"operation." +msgstr "" + +#: src/as-validator-issue-tag.h:276 +msgid "" +"Invalid comparison operation on relation item. Only eq/ne/lt/gt/le/ge are " +"permitted." +msgstr "" + +#: src/as-validator-issue-tag.h:281 +msgid "" +"The relation item has a comparison operation set, but does not support any " +"comparisons." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:287 +msgid "" +"Found a memory size relation in a `requires` tag. This means users will not " +"be able to even install the component without having enough RAM. This is " +"usually not intended and you want to use `memory` in the `recommends` tag " +"instead." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:294 +msgid "" +"Found a user input control relation in a `requires` tag. This means users " +"will not be able to even install the component without having the defined " +"input control available on the system. This is usually not intended and you " +"want to use `control` in the `recommends` tag instead." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:301 +msgid "" +"This `control` item defines an unknown input method and is invalid. Check " +"the specification for a list of permitted values." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:307 +msgid "" +"This `display_length` item contains an invalid display length. Its value " +"must either be a shorthand string, or positive integer value denoting " +"logical pixels. Please refer to the AppStream specification for more " +"information on this tag." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:314 +msgid "" +"This `side` property of this `display_length` item contains an invalid " +"value. It must either be `shortest` or `longest`, or unset to imply " +"`shortest` to make the item value refer to either the shortest or longest " +"side of the display." +msgstr "" + +#: src/as-validator-issue-tag.h:320 +msgid "" +"The set component type is not a recognized, valid AppStream component type." +msgstr "" + +#: src/as-validator-issue-tag.h:325 +msgid "" +"The component has a priority value set. This is not allowed in metainfo " +"files." +msgstr "" + +#: src/as-validator-issue-tag.h:330 +msgid "" +"The component has a `merge` method defined. This is not allowed in metainfo " +"files." +msgstr "" + +#: src/as-validator-issue-tag.h:335 +msgid "The component is missing an ID ( tag)." +msgstr "" + +#: src/as-validator-issue-tag.h:340 +msgid "The component is missing a name ( tag)." +msgstr "" + +#: src/as-validator-issue-tag.h:345 +msgid "The component is missing a summary ( tag)." +msgstr "" + +#: src/as-validator-issue-tag.h:350 +msgid "" +"The tag still contains a `type` property, probably from an old " +"conversion to the recent metainfo format." +msgstr "" + +#: src/as-validator-issue-tag.h:355 +msgid "" +"The `pkgname` tag appears multiple times. You should evaluate creating a " +"metapackage containing the metainfo and .desktop files in order to avoid " +"defining multiple package names per component." +msgstr "" + +#: src/as-validator-issue-tag.h:360 +msgid "The component name should (likely) not end with a dot (`.`)." +msgstr "" + +#: src/as-validator-issue-tag.h:365 +msgid "The component summary should not end with a dot (`.`)." +msgstr "" + +#: src/as-validator-issue-tag.h:370 +msgid "The component summary must not contain tabs or linebreaks." +msgstr "" + +#: src/as-validator-issue-tag.h:375 +msgid "The summary must not contain any URL. Use the tags for links." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:381 +msgid "" +"Icons of type `stock` or `cached` must not contain an URL, a full or an " +"relative path to the icon. Only file basenames or stock names are allowed." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:388 +msgid "Icons of type `remote` must contain an URL to the referenced icon." +msgstr "" + +#: src/as-validator-issue-tag.h:393 +msgid "Unable to reach remote icon at the given web location - does it exist?" +msgstr "" + +#: src/as-validator-issue-tag.h:398 +msgid "Consider using a secure (HTTPS) URL for the remote icon link." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:404 +msgid "" +"Metainfo files may only contain icons of type `stock` or `remote`, the set " +"type is not allowed." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:410 +msgid "" +"Invalid `type` property for this `url` tag. URLs of this type are not known " +"in the AppStream specification." +msgstr "" + +#: src/as-validator-issue-tag.h:415 +msgid "" +"Unable to reach remote location that this URL references - does it exist?" +msgstr "" + +#: src/as-validator-issue-tag.h:420 +msgid "Consider using a secure (HTTPS) URL for this web link." +msgstr "" + +#: src/as-validator-issue-tag.h:425 +msgid "A web URL was expected for this value." +msgstr "" + +#: src/as-validator-issue-tag.h:430 +msgid "" +"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." +msgstr "" + +#: src/as-validator-issue-tag.h:435 +msgid "The can not contain a hyperlink." +msgstr "" + +#: src/as-validator-issue-tag.h:440 +msgid "" +"The set value is not an identifier for a desktop environment as registered " +"with Freedesktop.org." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:446 +msgid "This `launchable` tag has an unknown type and can not be used." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:452 +msgid "This `bundle` tag has an unknown type and can not be used." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:458 +msgid "" +"The `update_contact` tag should not be included in collection AppStream XML." +msgstr "" + +#: src/as-validator-issue-tag.h:463 +msgid "" +"This tag is a GNOME-specific extension to AppStream and not part of the " +"official specification. Do not expect it to work in all implementations and " +"in all software centers." +msgstr "" + +#: src/as-validator-issue-tag.h:469 +msgid "" +"Found invalid tag. Non-standard tags should be prefixed with `x-`. AppStream " +"also provides the tag to add arbitrary custom data to metainfo " +"files. This tag is read by AppStream libraries and may be useful instead of " +"defining new custom toplevel or `x-`-prefixed tags if you just want to add " +"custom data to a metainfo file." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:477 +msgid "" +"The essential tag `metadata_license` is missing. A license for the metadata " +"itself always has to be defined." +msgstr "" + +#: src/as-validator-issue-tag.h:482 +msgid "" +"The component is missing a long description. Components of this type must " +"have a long description." +msgstr "" + +#: src/as-validator-issue-tag.h:487 +msgid "" +"It would be useful to add a long description to this font to present it " +"better to users." +msgstr "" + +#: src/as-validator-issue-tag.h:492 +msgid "" +"It is recommended to add a long description to this component to present it " +"better to users." +msgstr "" + +#: src/as-validator-issue-tag.h:497 +msgid "" +"This generic component is missing a long description. It may be useful to " +"add one." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:503 +msgid "" +"Type `console-application` component, but no information about binaries in " +"$PATH was provided via a `provides/binary` tag." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:509 +msgid "" +"This `web-application` component is missing a `launchable` tag of type `url`." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:515 +msgid "" +"This `web-application` component is missing a `icon` tag to specify a valid " +"icon." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:521 +msgid "" +"This `web-application` component is missing categorizations. A `categories` " +"block is likely missing." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:527 +msgid "" +"Type `font` component, but no font information was provided via a `provides/" +"font` tag." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:533 +msgid "" +"Type `driver` component, but no modalias information was provided via a " +"`provides/modalias` tag." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:539 +msgid "" +"An `extends` tag is specified, but the component is not of type `addon`, " +"`localization` or `repository`." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:545 +msgid "The component is an addon, but no `extends` tag was specified." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:551 +msgid "" +"This `localization` component is missing an `extends` tag, to specify the " +"components it adds localization to." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:557 +msgid "" +"This `localization` component does not define any languages this " +"localization is for." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:563 +msgid "" +"This `service` component is missing a `launchable` tag of type `service`." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:569 +msgid "" +"Suggestions of any type other than `upstream` are not allowed in metainfo " +"files." +msgstr "" + +#: src/as-validator-issue-tag.h:574 +msgid "" +"The category name is not valid. Refer to the XDG Menu Specification for a " +"list of valid category names." +msgstr "" + +#: src/as-validator-issue-tag.h:579 +msgid "The screenshot caption is too long (should be <= 80 characters)" +msgstr "" + +#: src/as-validator-issue-tag.h:584 +msgid "Unable to read file." +msgstr "" + +#: src/as-validator-issue-tag.h:589 +msgid "The XML of this file is malformed." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:595 +msgid "" +"Invalid tag found in collection metadata. Only `component` tags are " +"permitted." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:601 +msgid "" +"The metainfo file uses an ancient version of the AppStream specification, " +"which can not be validated. Please migrate it to version 0.6 (or higher)." +msgstr "" + +#: src/as-validator-issue-tag.h:606 +msgid "" +"This XML document has an unknown root tag. Maybe this file is not a metainfo " +"document?" +msgstr "" + +#: src/as-validator-issue-tag.h:611 +msgid "The metainfo filename does not match the component ID." +msgstr "" + +#: src/as-validator-issue-tag.h:616 +msgid "Unable to read the .desktop file associated with this component." +msgstr "" + +#: src/as-validator-issue-tag.h:621 +msgid "This component metadata refers to a non-existing .desktop file." +msgstr "" + +#: src/as-validator-issue-tag.h:626 +msgid "" +"The category defined in the .desktop file is not valid. Refer to the XDG " +"Menu Specification for a list of valid categories." +msgstr "" + +#: src/as-validator-issue-tag.h:631 +msgid "No AppStream metadata was found in this directory or directory tree." +msgstr "" + +#. pedantic because not everything which has metadata is an application +#: src/as-validator-issue-tag.h:636 +msgid "No XDG applications directory found." +msgstr "" + +#: src/as-validator-issue-tag.h:641 +msgid "" +"The metainfo file is stored in a legacy path. Please place it in `/usr/share/" +"metainfo/`." +msgstr "" + +#: src/as-validator-issue-tag.h:646 +msgid "The metainfo file specifies multiple components. This is not allowed." +msgstr "" + +#: src/as-validator-issue-tag.h:651 +msgid "" +"The releases are not sorted in a latest to oldest version order. This is " +"required as some tools will assume that the latest version is always at the " +"top. Sorting releases also increases overall readability of the metainfo " +"file." +msgstr "" + +#: src/as-validator-issue-tag.h:658 +msgid "The value set as release urgency is not a known urgency value." +msgstr "" + +#: src/as-validator-issue-tag.h:663 +msgid "The value set as release type is invalid." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:669 +msgid "" +"The value set as artifact type is invalid. Must be either `source` or " +"`binary`." +msgstr "" + +#: src/as-validator-issue-tag.h:674 +msgid "The value set as artifact bundle type is invalid." +msgstr "" + +#: src/as-validator-issue-tag.h:679 +msgid "" +"The platform triplet for this release is invalid. It must be in the form of " +"`architecture-oskernel-osenv` - refer to the AppStream documentation or " +"information on normalized GNU triplets for more information and valid fields." +msgstr "" + +#: src/as-validator-issue-tag.h:686 +msgid "The selected checksumming algorithm is unsupported or unknown." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:692 +msgid "The size type is unknown. Must be `download` or `installed`." +msgstr "" + +#: src/as-validator-issue-tag.h:697 +msgid "" +"The artifact filename must be a file basename, not a (relative or absolute) " +"path." +msgstr "" + +#: src/as-validator-issue-tag.h:702 +msgid "The value set as release issue type is invalid." +msgstr "" + +#: src/as-validator-issue-tag.h:707 +msgid "" +"The issue is tagged at security vulnerability with a CVE number, but its " +"value does not look like a valid CVE identifier." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:713 +msgid "" +"This component is missing information about releases. Consider adding a " +"`releases` tag to describe releases and their changes." +msgstr "" + +#: src/as-validator-issue-tag.h:718 +msgid "" +"The AppStream specification requires a complete, ISO 8601 date string with " +"at least day-granularity to denote dates. Please ensure the date string is " +"valid." +msgstr "" + +#: src/as-validator-issue-tag.h:724 +msgid "" +"This component extends, provides, requires or recommends itself, which is " +"certainly not intended and may confuse users or machines dealing with this " +"metadata." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:731 +msgid "" +"Licenses for `runtime` components are usually too complex to reflect them in " +"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " +"value for this component's `project_license`. E.g. `LicenseRef-free=https://" +"example.com/licenses.html`" +msgstr "" + +#: src/as-validator-issue-tag.h:737 +msgid "" +"Since a `runtime` component is comprised of multiple other software " +"components, their component-IDs may be listed in a `` section for " +"this runtime." +msgstr "" + +#: src/as-validator-issue-tag.h:742 +msgid "" +"The type of the item that the component provides is not known to AppStream." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:748 +msgid "" +"The toplevel `mimetypes` tag is deprecated. Please use `mediatype` tags in a " +"`provides` block instead to indicate that your software provides a media " +"handler for the given types." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks) and keep the URL intact. +#: src/as-validator-issue-tag.h:755 +msgid "" +"This component has no `content_rating` tag to provide age rating " +"information. You can generate the tag data online by answering a few " +"questions at https://hughsie.github.io/oars/" +msgstr "" + +#: src/as-validator.c:150 +msgid "" +"The emitted issue tag is unknown in the tag registry of AppStream. This is a " +"bug in the validator itself, please report this issue in our bugtracker." +msgstr "" + +#: src/as-validator.c:344 +msgid "URL format is invalid." +msgstr "" + +#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. +#: src/as-validator.c:522 src/as-validator.c:937 src/as-validator.c:1031 +#: src/as-validator.c:1428 src/as-validator.c:1448 src/as-validator.c:1481 +#, c-format +msgid "Found: %s - Allowed: %s" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --verbose +#: tools/appstream-compose.c:181 +msgid "Show extra debugging information" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --no-color +#. TRANSLATORS: ascli flag description for: --no-color +#: tools/appstream-compose.c:184 tools/appstreamcli.c:1087 +msgid "Don't show colored output." +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --version +#. TRANSLATORS: ascli flag description for: --version +#: tools/appstream-compose.c:187 tools/appstreamcli.c:1076 +msgid "Show the program version." +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --full-report +#: tools/appstream-compose.c:190 +msgid "Set mode of the issue report that is printed to the console" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --prefix +#: tools/appstream-compose.c:193 +msgid "Override the default prefix (`/usr` by default)" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --result-root +#: tools/appstream-compose.c:196 +msgid "Set the result output directory" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --data-dir, `collection metadata` is an AppStream term +#: tools/appstream-compose.c:199 +msgid "Override the collection metadata output directory" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --icons-dir +#: tools/appstream-compose.c:202 +msgid "Override the icon output directory" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --media-dir +#: tools/appstream-compose.c:205 +msgid "" +"Set the media output directory (for media data to be served by a webserver)" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --hints-dir +#: tools/appstream-compose.c:208 +msgid "Set a directory where HTML and text issue reports will be stored" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --origin +#. TRANSLATORS: ascompose flag description for: --media-baseurl +#: tools/appstream-compose.c:211 tools/appstream-compose.c:214 +msgid "Set the origin name" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --components +#: tools/appstream-compose.c:217 +msgid "A comma-separated list of component-IDs to accept" +msgstr "" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:231 +msgid "Failed to parse arguments" +msgstr "" + +#. TRANSLATORS: Output if appstreamcli --version is executed. +#: tools/appstream-compose.c:242 tools/appstreamcli.c:1230 +#, c-format +msgid "AppStream version: %s" +msgstr "" + +#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. +#: tools/appstream-compose.c:245 tools/appstreamcli.c:1233 +#, c-format +msgid "" +"AppStream CLI tool version: %s\n" +"AppStream library version: %s" +msgstr "" + +#. TRANSLATORS: invalid value for the --print-report CLI option +#: tools/appstream-compose.c:264 +#, c-format +msgid "" +"Invalid value for `--print-report` option: %s\n" +"Possible values are:\n" +"`on-error` - only prints a short report if the run failed (default)\n" +"`short` - generates an abridged report\n" +"`full` - a detailed report will be printed" +msgstr "" + +#: tools/appstream-compose.c:285 +#, c-format +msgid "Automatically selected '%s' as data output location." +msgstr "" + +#. TRANSLATORS: we don't have a destination directory for compose +#: tools/appstream-compose.c:288 +msgid "No destination directory set, please provide a data output location!" +msgstr "" + +#: tools/appstream-compose.c:298 tools/appstream-compose.c:300 +msgid "WARNING" +msgstr "" + +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:337 +#, c-format +msgid "Only accepting components: %s" +msgstr "" + +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:340 +#, c-format +msgid "Only accepting component: %s" +msgstr "" + +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:345 +msgid "Processing directories:" +msgstr "" + +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:348 +msgid "Processing directory:" +msgstr "" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:357 +msgid "Can not process invalid directory" +msgstr "" + +#. TRANSLATORS: information message +#: tools/appstream-compose.c:369 +msgid "Composing metadata..." +msgstr "" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:374 +msgid "Failed to compose AppStream metadata" +msgstr "" + +#. TRANSLATORS: appstream-compose failed to include all data +#: tools/appstream-compose.c:380 +msgid "Run failed, some data was ignored." +msgstr "" + +#. TRANSLATORS: information message of appstream-compose +#: tools/appstream-compose.c:382 +msgid "Errors were raised during this compose run:" +msgstr "" + +#: tools/appstream-compose.c:383 +msgid "" +"Refer to the generated issue report data for details on the individual " +"problems." +msgstr "" + +#: tools/appstream-compose.c:386 +msgid "Overview of generated hints:" +msgstr "" + +#. TRANSLATORS: information message +#: tools/appstream-compose.c:388 +msgid "Success!" +msgstr "" + +#. TRANSLATORS: ascli flag description for: --cachepath +#: tools/appstreamcli.c:59 +msgid "Manually selected location of AppStream cache." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --datapath +#: tools/appstreamcli.c:64 +msgid "Manually selected location of AppStream metadata to scan." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --no-cache +#: tools/appstreamcli.c:69 +msgid "Make request without any caching." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --format +#: tools/appstreamcli.c:85 +msgid "Default metadata format (valid values are 'xml' and 'yaml')." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --details +#: tools/appstreamcli.c:100 +msgid "Print detailed output about found components." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) +#: tools/appstreamcli.c:118 +msgid "Also show pedantic hints." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) +#: tools/appstreamcli.c:123 +msgid "Print detailed explanation for found issues." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) +#: tools/appstreamcli.c:128 +msgid "Do not use network access." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --format when validating XML files +#: tools/appstreamcli.c:133 +msgid "Format of the generated report (valid values are 'text' and 'yaml')." +msgstr "" + +#. TRANSLATORS: This is the header to the --help menu for subcommands +#. TRANSLATORS: This is the header to the --help menu +#: tools/appstreamcli.c:153 tools/appstreamcli.c:981 +msgid "AppStream command-line interface" +msgstr "" + +#: tools/appstreamcli.c:156 +#, c-format +msgid "'%s' command" +msgstr "" + +#. TRANSLATORS: An unknown option was passed to appstreamcli. +#: tools/appstreamcli.c:191 +#, c-format +msgid "Option '%s' is unknown." +msgstr "" + +#: tools/appstreamcli.c:195 tools/appstreamcli.c:1207 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options." +msgstr "" + +#: tools/appstreamcli.c:197 +#, c-format +msgid "" +"Run '%s --help' to see a list of available commands and options, and '%s %s " +"--help' to see a list of options specific for this subcommand." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --force +#: tools/appstreamcli.c:245 +msgid "Enforce a cache refresh." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --user +#: tools/appstreamcli.c:251 +msgid "Update the user-specific instead of the system-wide cache." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --origin (part of the "put" subcommand) +#: tools/appstreamcli.c:477 +msgid "Set the data origin for the installed metadata collection file." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --user (part of the "put" subcommand) +#: tools/appstreamcli.c:482 +msgid "Install the file for the current user, instead of globally." +msgstr "" + +#: tools/appstreamcli.c:631 +msgid "" +"You need to provide at least two version numbers to compare as parameters." +msgstr "" + +#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. +#: tools/appstreamcli.c:660 +#, c-format +msgid "Unknown compare relation '%s'. Valid values are:" +msgstr "" + +#: tools/appstreamcli.c:700 +msgid "" +"Too many parameters: Need two version numbers or version numbers and a " +"comparison operator." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) +#: tools/appstreamcli.c:726 +msgid "" +"Use the given .desktop file to fill in the basic values of the metainfo file." +msgstr "" + +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand +#: tools/appstreamcli.c:731 +msgid "" +"This command takes optional TYPE and FILE positional arguments, FILE being a " +"file to write to (or \"-\" for standard output)." +msgstr "" + +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows +#: tools/appstreamcli.c:734 +#, c-format +msgid "The TYPE must be a valid component-type, such as: %s" +msgstr "" + +#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) +#: tools/appstreamcli.c:775 +msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command +#: tools/appstreamcli.c:815 +msgid "Assume the input file is in the selected format ('yaml' or 'text')." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command +#: tools/appstreamcli.c:820 +msgid "" +"Limit the number of release entries that end up in the metainfo file (0 for " +"unlimited)." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command +#: tools/appstreamcli.c:862 +msgid "Generate the output in the selected format ('yaml' or 'text')." +msgstr "" + +#: tools/appstreamcli.c:894 +#, c-format +msgid "Compose binary '%s' was not found! Can not continue." +msgstr "" + +#. TRANSLATORS: this is a (usually shorter) command alias, shown after the command summary text +#: tools/appstreamcli.c:956 +#, c-format +msgid "(Alias: '%s')" +msgstr "" + +#. these are commands we can use with appstreamcli +#: tools/appstreamcli.c:983 +msgid "Subcommands:" +msgstr "" + +#: tools/appstreamcli.c:1029 +msgid "" +"You can find information about subcommand-specific options by passing \"--" +"help\" to the subcommand." +msgstr "" + +#. TRANSLATORS: ascli has been run with unknown command. '%s --help' is the command to receive help and should not be translated. +#: tools/appstreamcli.c:1052 +#, c-format +msgid "" +"Command '%s' is unknown. Run '%s --help' for a list of available commands." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --verbose +#: tools/appstreamcli.c:1082 +msgid "Show extra debugging information." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --profile +#: tools/appstreamcli.c:1090 +msgid "Enable profiling" +msgstr "" + +#. TRANSLATORS: `appstreamcli search` command description. +#: tools/appstreamcli.c:1102 +msgid "Search the component database." +msgstr "" + +#. TRANSLATORS: `appstreamcli get` command description. +#: tools/appstreamcli.c:1107 +msgid "Get information about a component by its ID." +msgstr "" + +#. TRANSLATORS: `appstreamcli what-provides` command description. +#: tools/appstreamcli.c:1112 +msgid "" +"Get components which provide the given item. Needs an item type (e.g. lib, " +"bin, python3, …) and item value as parameter." +msgstr "" + +#. TRANSLATORS: `appstreamcli dump` command description. +#: tools/appstreamcli.c:1118 +msgid "Dump raw XML metadata for a component matching the ID." +msgstr "" + +#. TRANSLATORS: `appstreamcli refresh-cache` command description. +#: tools/appstreamcli.c:1123 +msgid "Rebuild the component metadata cache." +msgstr "" + +#. TRANSLATORS: `appstreamcli validate` command description. +#: tools/appstreamcli.c:1129 +msgid "Validate AppStream XML files for issues." +msgstr "" + +#. TRANSLATORS: `appstreamcli validate-tree` command description. +#: tools/appstreamcli.c:1134 +msgid "Validate an installed file-tree of an application for valid metadata." +msgstr "" + +#. TRANSLATORS: `appstreamcli install` command description. +#: tools/appstreamcli.c:1140 +msgid "Install software matching the component-ID." +msgstr "" + +#. TRANSLATORS: `appstreamcli remove` command description. +#: tools/appstreamcli.c:1145 +msgid "Remove software matching the component-ID." +msgstr "" + +#. TRANSLATORS: `appstreamcli status` command description. +#: tools/appstreamcli.c:1151 +msgid "Display status information about available AppStream metadata." +msgstr "" + +#. TRANSLATORS: `appstreamcli os-info` command description. +#: tools/appstreamcli.c:1156 +msgid "" +"Show information about the current operating system from the metadata index." +msgstr "" + +#. TRANSLATORS: `appstreamcli put` command description. +#: tools/appstreamcli.c:1161 +msgid "Install a metadata file into the right location." +msgstr "" + +#. TRANSLATORS: `appstreamcli convert` command description. "Collection XML" is a term describing a specific type of AppStream XML data. +#: tools/appstreamcli.c:1166 +msgid "Convert collection XML to YAML or vice versa." +msgstr "" + +#. TRANSLATORS: `appstreamcli vercmp` command description. +#: tools/appstreamcli.c:1171 +msgid "Compare two version numbers." +msgstr "" + +#. TRANSLATORS: `appstreamcli new-template` command description. +#: tools/appstreamcli.c:1177 +msgid "" +"Create a template for a metainfo file (to be filled out by the upstream " +"project)." +msgstr "" + +#. TRANSLATORS: `appstreamcli make-desktop-file` command description. +#: tools/appstreamcli.c:1182 +msgid "Create a desktop-entry file from a metainfo file." +msgstr "" + +#. TRANSLATORS: `appstreamcli news-to-metainfo` command description. +#: tools/appstreamcli.c:1187 +msgid "Convert a YAML or text NEWS file into metainfo releases." +msgstr "" + +#. TRANSLATORS: `appstreamcli metainfo-to-news` command description. +#: tools/appstreamcli.c:1192 +msgid "Write NEWS text or YAML file with information from a metainfo file." +msgstr "" + +#. TRANSLATORS: `appstreamcli compose` command description. +#: tools/appstreamcli.c:1198 +msgid "Compose AppStream collection metadata from directory trees." +msgstr "" + +#. TRANSLATORS: ascli has been run without command. +#: tools/appstreamcli.c:1206 +msgid "You need to specify a command." +msgstr "" + +#. TRANSLATORS: In ascli: The requested action needs higher permissions. +#: tools/ascli-actions-mdata.c:70 +msgid "You might need superuser permissions to perform this action." +msgstr "" + +#. we performed a cache refresh +#. TRANSLATORS: Updating the metadata cache succeeded +#: tools/ascli-actions-mdata.c:80 +msgid "AppStream cache update completed successfully." +msgstr "" + +#. cache wasn't updated, so the update wasn't necessary +#: tools/ascli-actions-mdata.c:86 +msgid "AppStream cache update is not necessary." +msgstr "" + +#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments +#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. +#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:253 +#: tools/ascli-actions-pkgmgr.c:80 +msgid "You need to specify a component-ID." +msgstr "" + +#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:265 +#: tools/ascli-actions-pkgmgr.c:93 +#, c-format +msgid "Unable to find component with ID '%s'!" +msgstr "" + +#: tools/ascli-actions-mdata.c:164 +msgid "You need to specify a term to search for." +msgstr "" + +#. TRANSLATORS: We failed to find any component in the database, likely due to an error +#: tools/ascli-actions-mdata.c:177 +#, c-format +msgid "Unable to find component matching %s!" +msgstr "" + +#: tools/ascli-actions-mdata.c:182 +#, c-format +msgid "No component matching '%s' found." +msgstr "" + +#: tools/ascli-actions-mdata.c:206 +msgid "No value for the item to search for was defined." +msgstr "" + +#: tools/ascli-actions-mdata.c:212 +msgid "Invalid type for provided item selected. Valid values are:" +msgstr "" + +#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results +#: tools/ascli-actions-mdata.c:227 +#, c-format +msgid "Could not find component providing '%s::%s'." +msgstr "" + +#: tools/ascli-actions-mdata.c:306 +msgid "You need to specify a metadata file." +msgstr "" + +#: tools/ascli-actions-mdata.c:320 +#, c-format +msgid "Unable to install metadata file: %s" +msgstr "" + +#: tools/ascli-actions-mdata.c:340 +msgid "You need to specify an input and output file." +msgstr "" + +#: tools/ascli-actions-mdata.c:347 +#, c-format +msgid "Metadata file '%s' does not exist." +msgstr "" + +#. TRANSLATORS: User is trying to convert a file in ascli +#: tools/ascli-actions-mdata.c:387 +msgid "" +"Unable to convert file: Could not determine output format, please set it " +"explicitly using '--format='." +msgstr "" + +#: tools/ascli-actions-mdata.c:438 +#, c-format +msgid "Unable to find operating system component '%s'!" +msgstr "" + +#: tools/ascli-actions-mdata.c:443 +msgid "Version" +msgstr "" + +#: tools/ascli-actions-mdata.c:467 +msgid "" +"You need to give an AppStream software component type to generate a " +"template. Possible values are:" +msgstr "" + +#: tools/ascli-actions-mdata.c:469 +#, c-format +msgid "" +"The software component type '%s' is not valid in AppStream. Possible values " +"are:" +msgstr "" + +#: tools/ascli-actions-mdata.c:487 +#, c-format +msgid "The .desktop file '%s' does not exist." +msgstr "" + +#: tools/ascli-actions-mdata.c:493 +#, c-format +msgid "Unable to read the .desktop file: %s" +msgstr "" + +#: tools/ascli-actions-mdata.c:564 +#, c-format +msgid "Unable to build the template metainfo file: %s" +msgstr "" + +#: tools/ascli-actions-mdata.c:572 +#, c-format +msgid "Unable to save the template metainfo file: %s" +msgstr "" + +#. TRANSLATORS: In the status report of ascli: Header +#: tools/ascli-actions-misc.c:47 +msgid "AppStream Status:" +msgstr "" + +#: tools/ascli-actions-misc.c:48 +#, c-format +msgid "Version: %s" +msgstr "" + +#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions +#: tools/ascli-actions-misc.c:52 +msgid "Distribution metadata:" +msgstr "" + +#: tools/ascli-actions-misc.c:94 +msgid "Iconsets" +msgstr "" + +#: tools/ascli-actions-misc.c:105 +msgid "No icons." +msgstr "" + +#. TRANSLATORS: No metainfo files have been found +#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 +msgid "Empty." +msgstr "" + +#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report +#: tools/ascli-actions-misc.c:116 +msgid "Metainfo files:" +msgstr "" + +#: tools/ascli-actions-misc.c:123 +#, c-format +msgid "Found %i components." +msgstr "" + +#. TRANSLATORS: Found metainfo files in legacy directories +#: tools/ascli-actions-misc.c:138 +#, c-format +msgid "Found %i components in legacy paths." +msgstr "" + +#. TRANSLATORS: Status summary in ascli +#: tools/ascli-actions-misc.c:145 +msgid "Summary:" +msgstr "" + +#: tools/ascli-actions-misc.c:153 +#, c-format +msgid "We have information on %i software components." +msgstr "" + +#: tools/ascli-actions-misc.c:159 +#, c-format +msgid "Error while loading the metadata pool: %s" +msgstr "" + +#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 +msgid "You need to specify a metainfo file as input." +msgstr "" + +#: tools/ascli-actions-misc.c:188 +msgid "" +"You need to specify a desktop-entry file to create or augment as output." +msgstr "" + +#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 +#: tools/ascli-actions-misc.c:515 +#, c-format +msgid "Metainfo file '%s' does not exist." +msgstr "" + +#: tools/ascli-actions-misc.c:219 +#, c-format +msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." +msgstr "" + +#: tools/ascli-actions-misc.c:224 +#, c-format +msgid "Unable to load existing desktop-entry file template: %s" +msgstr "" + +#: tools/ascli-actions-misc.c:228 +#, c-format +msgid "Creating new desktop-entry file '%s' using data from '%s'" +msgstr "" + +#: tools/ascli-actions-misc.c:284 +msgid "No stock icon name was provided in the metainfo file. Can not continue." +msgstr "" + +#: tools/ascli-actions-misc.c:306 +msgid "" +"No provided binary specified in metainfo file, and no exec command specified " +"via '--exec'. Can not create 'Exec=' key." +msgstr "" + +#: tools/ascli-actions-misc.c:370 +#, c-format +msgid "Unable to save desktop entry file: %s" +msgstr "" + +#: tools/ascli-actions-misc.c:393 +msgid "You need to specify a NEWS file as input." +msgstr "" + +#: tools/ascli-actions-misc.c:397 +msgid "" +"You need to specify a metainfo file to augment, or '-' to print to stdout." +msgstr "" + +#: tools/ascli-actions-misc.c:402 +msgid "No output filename specified, modifying metainfo file directly." +msgstr "" + +#: tools/ascli-actions-misc.c:509 +msgid "You need to specify a NEWS file as output, or '-' to print to stdout." +msgstr "" + +#: tools/ascli-actions-misc.c:540 +msgid "You need to specify a NEWS format to write the output in." +msgstr "" + +#: tools/ascli-actions-pkgmgr.c:53 +msgid "" +"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" +"\" (part of PackageKit) is available." +msgstr "" + +#: tools/ascli-actions-pkgmgr.c:67 +#, c-format +msgid "Unable to spawn package manager: %s" +msgstr "" + +#. TRANSLATORS: We found no distribution package or bundle to install to make this software available +#: tools/ascli-actions-pkgmgr.c:106 +#, c-format +msgid "Component '%s' has no installation candidate." +msgstr "" + +#: tools/ascli-actions-validate.c:176 tools/ascli-actions-validate.c:354 +#, c-format +msgid "File '%s' does not exist." +msgstr "" + +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "error"-type hints +#: tools/ascli-actions-validate.c:228 +#, c-format +msgid "errors: %lu" +msgstr "" + +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "warning"-type hints +#: tools/ascli-actions-validate.c:235 +#, c-format +msgid "warnings: %lu" +msgstr "" + +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "info"-type hints +#: tools/ascli-actions-validate.c:242 +#, c-format +msgid "infos: %lu" +msgstr "" + +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "pedantic"-type hints +#: tools/ascli-actions-validate.c:249 +#, c-format +msgid "pedantic: %lu" +msgstr "" + +#: tools/ascli-actions-validate.c:268 tools/ascli-actions-validate.c:342 +msgid "You need to specify at least one file to validate!" +msgstr "" + +#: tools/ascli-actions-validate.c:294 tools/ascli-actions-validate.c:435 +msgid "Validation was successful." +msgstr "" + +#: tools/ascli-actions-validate.c:296 tools/ascli-actions-validate.c:437 +#, c-format +msgid "Validation was successful: %s" +msgstr "" + +#: tools/ascli-actions-validate.c:306 tools/ascli-actions-validate.c:447 +#, c-format +msgid "Validation failed: %s" +msgstr "" + +#: tools/ascli-actions-validate.c:368 tools/ascli-actions-validate.c:497 +#, c-format +msgid "" +"The validator can not create reports in the '%s' format. You may select " +"'yaml' or 'text' instead." +msgstr "" + +#: tools/ascli-actions-validate.c:390 tools/ascli-actions-validate.c:484 +msgid "You need to specify a root directory to start validation!" +msgstr "" + +#: tools/ascli-utils.c:266 +msgid "Identifier" +msgstr "" + +#: tools/ascli-utils.c:268 +msgid "Internal ID" +msgstr "" + +#: tools/ascli-utils.c:269 +msgid "Name" +msgstr "" + +#: tools/ascli-utils.c:270 +msgid "Summary" +msgstr "" + +#: tools/ascli-utils.c:271 +msgid "Package" +msgstr "" + +#: tools/ascli-utils.c:272 +msgid "Bundle" +msgstr "" + +#: tools/ascli-utils.c:273 +msgid "Homepage" +msgstr "" + +#: tools/ascli-utils.c:274 +msgid "Icon" +msgstr "" + +#. developer name +#: tools/ascli-utils.c:294 +msgid "Developer" +msgstr "" + +#: tools/ascli-utils.c:300 +msgid "Extends" +msgstr "" + +#: tools/ascli-utils.c:306 +msgid "Description" +msgstr "" + +#: tools/ascli-utils.c:326 +msgid "Default Screenshot URL" +msgstr "" + +#. project group +#: tools/ascli-utils.c:333 +msgid "Project Group" +msgstr "" + +#. license +#: tools/ascli-utils.c:336 +msgid "License" +msgstr "" + +#: tools/ascli-utils.c:342 +msgid "Categories" +msgstr "" + +#: tools/ascli-utils.c:350 +msgid "Compulsory for" +msgstr "" + +#: tools/ascli-utils.c:378 +msgid "Provided Items" +msgstr "" diff -Nru appstream-0.12.10/po/appstream.pot appstream-0.14.5/po/appstream.pot --- appstream-0.12.10/po/appstream.pot 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/po/appstream.pot 2021-08-28 20:15:28.000000000 +0000 @@ -7,7 +7,7 @@ msgid "" msgstr "Project-Id-Version: appstream\n" "Report-Msgid-Bugs-To: appstream@lists.freedesktop.org\n" - "POT-Creation-Date: 2020-01-14 01:44+0100\n" + "POT-Creation-Date: 2021-08-28 16:09+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -16,1554 +16,2395 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: tools/appstream-cli.c:157 +#: data/org.freedesktop.appstream.cli.metainfo.xml:8 +msgid "AppStream CLI" +msgstr "" + +#: data/org.freedesktop.appstream.cli.metainfo.xml:9 +msgid "An utility to work with AppStream metadata" +msgstr "" + +#: data/org.freedesktop.appstream.cli.metainfo.xml:12 +msgid "AppStream is a metadata specification which permits software components to provide information about themselves to automated systems and end-users before the software is actually installed. The AppStream project provides facilities to easily access and transform this metadata, as well as a few additional services for building feature-rich software centers and similar applications that make use of software metadata." +msgstr "" + +#: data/org.freedesktop.appstream.cli.metainfo.xml:18 +msgid "The appstreamcli command-line tool allows to read, write, and transform AppStream XML or YAML metadata as well as to validate it for compliance with the specification. It also provides easy access to the system metadata pool, for example to query for software that provides a specific Mediatype handler or for installing software by its component identifier." +msgstr "" + +#: src/as-category.c:66 +msgctxt "Category of AudioVideo" +msgid "Featured" +msgstr "" + +#: src/as-category.c:69 +msgctxt "Category of AudioVideo" +msgid "Audio Creation & Editing" +msgstr "" + +#: src/as-category.c:75 +msgctxt "Category of AudioVideo" +msgid "Music Players" +msgstr "" + +#: src/as-category.c:84 +msgctxt "Category of Development" +msgid "Featured" +msgstr "" + +#: src/as-category.c:87 +msgctxt "Category of Development" +msgid "Debuggers" +msgstr "" + +#: src/as-category.c:90 +msgctxt "Category of Development" +msgid "IDEs" +msgstr "" + +#: src/as-category.c:99 +msgctxt "Category of Education" +msgid "Featured" +msgstr "" + +#: src/as-category.c:102 +msgctxt "Category of Education" +msgid "Astronomy" +msgstr "" + +#: src/as-category.c:105 +msgctxt "Category of Education" +msgid "Chemistry" +msgstr "" + +#: src/as-category.c:108 +msgctxt "Category of Education" +msgid "Languages" +msgstr "" + +#: src/as-category.c:112 +msgctxt "Category of Education" +msgid "Math" +msgstr "" + +#: src/as-category.c:121 +msgctxt "Category of Games" +msgid "Featured" +msgstr "" + +#: src/as-category.c:124 +msgctxt "Category of Games" +msgid "Action" +msgstr "" + +#: src/as-category.c:127 +msgctxt "Category of Games" +msgid "Adventure" +msgstr "" + +#: src/as-category.c:130 +msgctxt "Category of Games" +msgid "Arcade" +msgstr "" + +#: src/as-category.c:133 +msgctxt "Category of Games" +msgid "Blocks" +msgstr "" + +#: src/as-category.c:136 +msgctxt "Category of Games" +msgid "Board" +msgstr "" + +#: src/as-category.c:139 +msgctxt "Category of Games" +msgid "Card" +msgstr "" + +#: src/as-category.c:142 +msgctxt "Category of Games" +msgid "Emulators" +msgstr "" + +#: src/as-category.c:145 +msgctxt "Category of Games" +msgid "Kids" +msgstr "" + +#: src/as-category.c:148 +msgctxt "Category of Games" +msgid "Logic" +msgstr "" + +#: src/as-category.c:151 +msgctxt "Category of Games" +msgid "Role Playing" +msgstr "" + +#: src/as-category.c:154 +msgctxt "Category of Games" +msgid "Sports" +msgstr "" + +#: src/as-category.c:158 +msgctxt "Category of Games" +msgid "Strategy" +msgstr "" + +#: src/as-category.c:166 +msgctxt "Category of Graphics" +msgid "Featured" +msgstr "" + +#: src/as-category.c:169 +msgctxt "Category of Graphics" +msgid "3D Graphics" +msgstr "" + +#: src/as-category.c:172 +msgctxt "Category of Graphics" +msgid "Photography" +msgstr "" + +#: src/as-category.c:175 +msgctxt "Category of Graphics" +msgid "Scanning" +msgstr "" + +#: src/as-category.c:178 +msgctxt "Category of Graphics" +msgid "Vector Graphics" +msgstr "" + +#: src/as-category.c:181 +msgctxt "Category of Graphics" +msgid "Viewers" +msgstr "" + +#: src/as-category.c:189 +msgctxt "Category of Office" +msgid "Featured" +msgstr "" + +#: src/as-category.c:192 +msgctxt "Category of Office" +msgid "Calendar" +msgstr "" + +#: src/as-category.c:196 +msgctxt "Category of Office" +msgid "Database" +msgstr "" + +#: src/as-category.c:199 +msgctxt "Category of Office" +msgid "Finance" +msgstr "" + +#: src/as-category.c:203 +msgctxt "Category of Office" +msgid "Word Processor" +msgstr "" + +#: src/as-category.c:212 +msgctxt "Category of Addons" +msgid "Fonts" +msgstr "" + +#: src/as-category.c:215 +msgctxt "Category of Addons" +msgid "Codecs" +msgstr "" + +#: src/as-category.c:218 +msgctxt "Category of Addons" +msgid "Input Sources" +msgstr "" + +#: src/as-category.c:221 +msgctxt "Category of Addons" +msgid "Language Packs" +msgstr "" + +#: src/as-category.c:224 +msgctxt "Category of Addons" +msgid "Localization" +msgstr "" + +#: src/as-category.c:232 +msgctxt "Category of Science" +msgid "Featured" +msgstr "" + +#: src/as-category.c:235 +msgctxt "Category of Science" +msgid "Artificial Intelligence" +msgstr "" + +#: src/as-category.c:238 +msgctxt "Category of Science" +msgid "Astronomy" +msgstr "" + +#: src/as-category.c:241 +msgctxt "Category of Science" +msgid "Chemistry" +msgstr "" + +#: src/as-category.c:244 +msgctxt "Category of Science" +msgid "Math" +msgstr "" + +#: src/as-category.c:249 +msgctxt "Category of Science" +msgid "Robotics" +msgstr "" + +#: src/as-category.c:257 +msgctxt "Category of Communication" +msgid "Featured" +msgstr "" + +#: src/as-category.c:260 +msgctxt "Category of Communication" +msgid "Chat" +msgstr "" + +#: src/as-category.c:267 +msgctxt "Category of Communication" +msgid "News" +msgstr "" + +#: src/as-category.c:271 +msgctxt "Category of Communication" +msgid "Web Browsers" +msgstr "" + +#: src/as-category.c:279 +msgctxt "Category of Utility" +msgid "Featured" +msgstr "" + +#: src/as-category.c:282 +msgctxt "Category of Utility" +msgid "Text Editors" +msgstr "" + +#: src/as-category.c:285 +msgctxt "Category of Utility" +msgid "Terminal Emulators" +msgstr "" + +#: src/as-category.c:288 +msgctxt "Category of Utility" +msgid "File System" +msgstr "" + +#: src/as-category.c:291 +msgctxt "Category of Utility" +msgid "System Monitoring" +msgstr "" + +#: src/as-category.c:294 +msgctxt "Category of Utility" +msgid "Security" +msgstr "" + +#. TRANSLATORS: this is the menu spec main category for Audio & Video +#: src/as-category.c:303 +msgid "Audio & Video" +msgstr "" + +#. TRANSLATORS: this is the menu spec main category for Development +#: src/as-category.c:306 +msgid "Developer Tools" +msgstr "" + +#. TRANSLATORS: this is the menu spec main category for Education +#: src/as-category.c:309 +msgid "Education" +msgstr "" + +#. TRANSLATORS: this is the menu spec main category for Game +#: src/as-category.c:312 +msgid "Games" +msgstr "" + +#. TRANSLATORS: this is the menu spec main category for Graphics +#: src/as-category.c:315 +msgid "Graphics & Photography" +msgstr "" + +#. TRANSLATORS: this is the menu spec main category for Office +#: src/as-category.c:318 +msgid "Office" +msgstr "" + +#. TRANSLATORS: this is the main category for Add-ons +#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor +#: src/as-category.c:321 tools/ascli-utils.c:371 +msgid "Add-ons" +msgstr "" + +#. TRANSLATORS: this is the menu spec main category for Science +#: src/as-category.c:324 +msgid "Science" +msgstr "" + +#. TRANSLATORS: this is the menu spec main category for Communication +#: src/as-category.c:327 +msgid "Communication & News" +msgstr "" + +#. TRANSLATORS: this is the menu spec main category for Utilities +#: src/as-category.c:330 +msgid "Utilities" +msgstr "" + +#. TRANSLATORS: This is the formatting of English and localized name +#. * of the rating e.g. "Adults Only (solo adultos)" +#: src/as-content-rating.c:298 #, c-format -msgid "'%s' command" +msgid "%s (%s)" +msgstr "" + +#: src/as-content-rating.c:444 +msgid "General" +msgstr "" + +#: src/as-content-rating.c:453 +msgid "ALL" +msgstr "" + +#: src/as-content-rating.c:457 src/as-content-rating.c:560 +msgid "Adults Only" +msgstr "" + +#: src/as-content-rating.c:459 src/as-content-rating.c:559 +msgid "Mature" +msgstr "" + +#: src/as-content-rating.c:461 src/as-content-rating.c:558 +msgid "Teen" +msgstr "" + +#: src/as-content-rating.c:463 src/as-content-rating.c:557 +msgid "Everyone 10+" +msgstr "" + +#: src/as-content-rating.c:465 src/as-content-rating.c:556 +msgid "Everyone" +msgstr "" + +#: src/as-content-rating.c:467 src/as-content-rating.c:555 +msgid "Early Childhood" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:839 +msgid "No cartoon violence" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:841 +msgid "Cartoon characters in unsafe situations" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:843 +msgid "Cartoon characters in aggressive conflict" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:845 +msgid "Graphic violence involving cartoon characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:850 +msgid "No fantasy violence" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:852 +msgid "Characters in unsafe situations easily distinguishable from reality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:854 +msgid "Characters in aggressive conflict easily distinguishable from reality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:856 +msgid "Graphic violence easily distinguishable from reality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:861 +msgid "No realistic violence" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:863 +msgid "Mildly realistic characters in unsafe situations" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:865 +msgid "Depictions of realistic characters in aggressive conflict" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:867 +msgid "Graphic violence involving realistic characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:872 +msgid "No bloodshed" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:874 +msgid "Unrealistic bloodshed" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:876 +msgid "Realistic bloodshed" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:878 +msgid "Depictions of bloodshed and the mutilation of body parts" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:883 +msgid "No sexual violence" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:885 +msgid "Rape or other violent sexual behavior" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:892 +msgid "No references to alcohol" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:894 +msgid "References to alcoholic beverages" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:896 +msgid "Use of alcoholic beverages" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:902 +msgid "No references to illicit drugs" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:904 +msgid "References to illicit drugs" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:906 +msgid "Use of illicit drugs" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:912 +msgid "No references to tobacco products" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:914 +msgid "References to tobacco products" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:916 +msgid "Use of tobacco products" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:922 +msgid "No nudity of any sort" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:924 +msgid "Brief artistic nudity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:926 +msgid "Prolonged nudity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:932 +msgid "No references to or depictions of sexual nature" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:934 +msgid "Provocative references or depictions" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:936 +msgid "Sexual references or depictions" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:938 +msgid "Graphic sexual behavior" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:943 +msgid "No profanity of any kind" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:945 +msgid "Mild or infrequent use of profanity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:947 +msgid "Moderate use of profanity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:949 +msgid "Strong or frequent use of profanity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:954 +msgid "No inappropriate humor" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:956 +msgid "Slapstick humor" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:958 +msgid "Vulgar or bathroom humor" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:960 +msgid "Mature or sexual humor" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:965 +msgid "No discriminatory language of any kind" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:967 +msgid "Negativity towards a specific group of people" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:969 +msgid "Discrimination designed to cause emotional harm" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:971 +msgid "Explicit discrimination based on gender, sexuality, race or religion" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:976 +msgid "No advertising of any kind" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:978 +msgid "Product placement" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:980 +msgid "Explicit references to specific brands or trademarked products" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:982 +msgid "Users are encouraged to purchase specific real-world items" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:987 +msgid "No gambling of any kind" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:989 +msgid "Gambling on random events using tokens or credits" msgstr "" -#: src/as-category.c:168 -msgctxt "Category of Graphics" -msgid "3D Graphics" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:991 +msgid "Gambling using “play” money" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:254 -msgid "A 'requires' or 'recommends' item requires a value to denote a valid relation." +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:993 +msgid "Gambling using real money" msgstr "" -#: src/as-validator-issue-tag.h:51 -msgid "A tag must not be localized in metainfo files (upstream metadata). Localize the individual paragraphs instead." +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:998 +msgid "No ability to spend money" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:195 -msgid "A screenshot must contain at least one image or video in order to be useful. Please add an to it." +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1000 +msgid "Users are encouraged to donate real money" msgstr "" -#: src/as-validator-issue-tag.h:200 -msgid "A screenshot must contain either images or videos, but not both at the same time. Please use this screenshot exclusively for either static images or for videos." +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1003 +msgid "Ability to spend real money in-app" msgstr "" -#: src/as-category.c:123 -msgctxt "Category of Games" -msgid "Action" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1008 +msgid "No way to chat with other users" msgstr "" -#. TRANSLATORS: this is the main category for Add-ons -#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor -#: src/as-category.c:320 tools/ascli-utils.c:398 -msgid "Add-ons" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1010 +msgid "User-to-user interactions without chat functionality" msgstr "" -#: src/as-category.c:126 -msgctxt "Category of Games" -msgid "Adventure" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1012 +msgid "Moderated chat functionality between users" msgstr "" -#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) -#: tools/appstream-cli.c:116 -msgid "Also show pedantic hints." +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1014 +msgid "Uncontrolled chat functionality between users" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:497 -msgid "An 'extends' tag is specified, but the component is not of type 'addon', 'localization' or 'repository'." +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1019 +msgid "No way to talk with other users" msgstr "" -#: tools/appstream-cli.c:850 -msgid "An item type (e.g. lib, bin, python3, …)" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1021 +msgid "Uncontrolled audio or video chat functionality between users" msgstr "" -#: data/org.freedesktop.appstream.cli.metainfo.xml:9 -msgid "An utility to work with AppStream metadata" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1028 +msgid "No sharing of social network usernames or email addresses" msgstr "" -#: data/org.freedesktop.appstream.cli.metainfo.xml:8 -msgid "AppStream CLI" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1030 +msgid "Sharing social network usernames or email addresses" msgstr "" -#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. -#: tools/appstream-cli.c:947 -#, c-format -msgid "AppStream CLI tool version: %s\n" - "AppStream library version: %s" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1037 +msgid "No sharing of user information with third parties" msgstr "" -#. TRANSLATORS: In the status report of ascli: Header -#: tools/ascli-actions-misc.c:47 -msgid "AppStream Status:" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1039 +msgid "Checking for the latest application version" msgstr "" -#. we performed a cache refresh -#. TRANSLATORS: Updating the metadata cache succeeded -#: tools/ascli-actions-mdata.c:80 -msgid "AppStream cache update completed successfully." +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1041 +msgid "Sharing diagnostic data that does not let others identify the user" msgstr "" -#. cache wasn't updated, so the update wasn't necessary -#: tools/ascli-actions-mdata.c:86 -msgid "AppStream cache update is not necessary." +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1043 +msgid "Sharing information that lets others identify the user" msgstr "" -#. TRANSLATORS: This is the header to the --help menu for subcommands -#. TRANSLATORS: This is the header to the --help menu -#: tools/appstream-cli.c:154 tools/appstream-cli.c:843 -msgid "AppStream command-line interface" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1048 +msgid "No sharing of physical location with other users" msgstr "" -#: src/as-validator-issue-tag.h:63 -msgid "AppStream descriptions support only a limited set of tags to format text: Paragraphs (

        ) and lists (

          ,
            ). This description markup contains an invalid XML tag that would not be rendered correctly in applications supporting the metainfo specification." +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1050 +msgid "Sharing physical location with other users" msgstr "" -#: data/org.freedesktop.appstream.cli.metainfo.xml:12 -msgid "AppStream is a cross-distribution specification to provide metadata about software components." +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1073 +msgid "No references to homosexuality" msgstr "" -#: src/as-pool.c:1937 -#, c-format -msgid "AppStream system cache refresh failed. Turn on verbose mode to get detailed issue information." +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1075 +msgid "Indirect references to homosexuality" msgstr "" -#. TRANSLATORS: Output if appstreamcli --version is executed. -#: tools/appstream-cli.c:944 -#, c-format -msgid "AppStream version: %s" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1077 +msgid "Kissing between people of the same gender" msgstr "" -#: src/as-category.c:129 -msgctxt "Category of Games" -msgid "Arcade" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1079 +msgid "Graphic sexual behavior between people of the same gender" msgstr "" -#: src/as-category.c:234 -msgctxt "Category of Science" -msgid "Artificial Intelligence" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1084 +msgid "No references to prostitution" msgstr "" -#: src/as-validator-issue-tag.h:91 -msgid "As per AppStream specification, the mentioned tag must only appear once in this context. Having multiple tags of this kind is not valid." +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1086 +msgid "Indirect references to prostitution" msgstr "" -#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command -#: tools/appstream-cli.c:766 -msgid "Assume the input file is in the selected format ('yaml' or 'text')." +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1088 +msgid "Direct references to prostitution" msgstr "" -#: src/as-category.c:101 -msgctxt "Category of Education" -msgid "Astronomy" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1090 +msgid "Graphic depictions of the act of prostitution" msgstr "" -#: src/as-category.c:237 -msgctxt "Category of Science" -msgid "Astronomy" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1095 +msgid "No references to adultery" msgstr "" -#. TRANSLATORS: this is the menu spec main category for Audio & Video -#: src/as-category.c:302 -msgid "Audio & Video" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1097 +msgid "Indirect references to adultery" msgstr "" -#: src/as-category.c:68 -msgctxt "Category of AudioVideo" -msgid "Audio Creation & Editing" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1099 +msgid "Direct references to adultery" msgstr "" -#: tools/ascli-actions-misc.c:219 +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1101 +msgid "Graphic depictions of the act of adultery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1106 +msgid "No sexualized characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1109 +msgid "Scantily clad human characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1111 +msgid "Overtly sexualized human characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1116 +msgid "No references to desecration" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1118 +msgid "Depictions of or references to historical desecration" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1120 +msgid "Depictions of modern-day human desecration" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1122 +msgid "Graphic depictions of modern-day desecration" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1127 +msgid "No visible dead human remains" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1129 +msgid "Visible dead human remains" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1131 +msgid "Dead human remains that are exposed to the elements" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1133 +msgid "Graphic depictions of desecration of human bodies" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1138 +msgid "No references to slavery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1140 +msgid "Depictions of or references to historical slavery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1142 +msgid "Depictions of modern-day slavery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1144 +msgid "Graphic depictions of modern-day slavery" +msgstr "" + +#. TRANSLATORS: We got a 429 error while trying to download data +#: src/as-curl.c:134 #, c-format -msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." +msgid "Failed to download due to server limit" msgstr "" -#: src/as-provided.c:146 -msgid "Binaries" +#: src/as-curl.c:141 src/as-curl.c:148 +#, c-format +msgid "Failed to download file: %s" msgstr "" -#: src/as-category.c:132 -msgctxt "Category of Games" -msgid "Blocks" +#. TRANSLATORS: We tried to download an URL, but received a 404 error code +#: src/as-curl.c:157 +#, c-format +msgid "URL was not found on the server." msgstr "" -#: src/as-category.c:135 -msgctxt "Category of Games" -msgid "Board" +#. TRANSLATORS: We received an uexpected HTTP status code while talking to a server, likely an error +#: src/as-curl.c:164 +#, c-format +msgid "Unexpected status code: %ld" msgstr "" -#: tools/ascli-utils.c:299 -msgid "Bundle" +#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty +#: src/as-curl.c:247 +#, c-format +msgid "Retrieved file size was zero." +msgstr "" + +#. TRANSLATORS: List of "grey-listed" words sperated with ";" +#. * Do not translate this list directly. Instead, +#. * provide a list of words in your language that people are likely +#. * to include in a search but that should normally be ignored in +#. * the search. +#. +#: src/as-pool.c:111 +msgid "app;application;package;program;programme;suite;tool" +msgstr "" + +#: src/as-pool.c:620 +msgid "Unable to remove old cache." +msgstr "" + +#: src/as-pool.c:963 +msgid "Metadata files have errors:" +msgstr "" + +#: src/as-pool.c:1370 +msgid "Many components have been recognized as invalid. See debug output for details." msgstr "" -#: src/as-pool.c:1828 +#: src/as-pool.c:1996 #, c-format msgid "Cache location '%s' is not writable." msgstr "" -#: src/as-category.c:191 -msgctxt "Category of Office" -msgid "Calendar" +#: src/as-pool.c:2109 +msgid "The AppStream system cache was updated, but some components were ignored. Refer to the verbose log for more information." msgstr "" -#: tools/ascli-actions-mdata.c:327 +#: src/as-pool.c:2111 #, c-format -msgid "Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' suffix." +msgid "The AppStream system cache was updated, but problems were found which resulted in metadata being ignored: %s" msgstr "" -#: src/as-category.c:138 -msgctxt "Category of Games" -msgid "Card" +#: src/as-pool.c:2125 +#, c-format +msgid "AppStream system cache refresh failed. Turn on verbose mode to get detailed issue information." msgstr "" -#: tools/ascli-utils.c:369 -msgid "Categories" +#: src/as-provided.c:144 +msgid "Libraries" msgstr "" -#: src/as-category.c:259 -msgctxt "Category of Communication" -msgid "Chat" +#: src/as-provided.c:146 +msgid "Binaries" msgstr "" -#: src/as-category.c:104 -msgctxt "Category of Education" -msgid "Chemistry" +#: src/as-provided.c:148 +msgid "Media types" msgstr "" -#: src/as-category.c:240 -msgctxt "Category of Science" -msgid "Chemistry" +#: src/as-provided.c:150 +msgid "Fonts" msgstr "" -#: src/as-category.c:214 -msgctxt "Category of Addons" -msgid "Codecs" +#: src/as-provided.c:152 +msgid "Modaliases" msgstr "" -#. TRANSLATORS: this is the menu spec main category for Communication -#: src/as-category.c:326 -msgid "Communication & News" +#: src/as-provided.c:154 +msgid "Python (Version 2)" msgstr "" -#: tools/appstream-cli.c:866 -msgid "Compare two version numbers." +#: src/as-provided.c:156 +msgid "Python 3" +msgstr "" + +#: src/as-provided.c:158 +msgid "D-Bus System Services" +msgstr "" + +#: src/as-provided.c:160 +msgid "D-Bus Session Services" +msgstr "" + +#: src/as-provided.c:162 +msgid "Runtime Firmware" +msgstr "" + +#: src/as-provided.c:164 +msgid "Flashed Firmware" msgstr "" #: src/as-provided.c:166 msgid "Component" msgstr "" -#. TRANSLATORS: We found no distribution package or bundle to install to make this software available -#: tools/ascli-actions-pkgmgr.c:106 -#, c-format -msgid "Component '%s' has no installation candidate." +#: src/as-validator-issue-tag.h:41 +msgid "This tag requires a type property." msgstr "" -#: tools/ascli-utils.c:377 -msgid "Compulsory for" +#: src/as-validator-issue-tag.h:46 +msgid "Tags of this name are not permitted in this section." msgstr "" -#: src/as-validator-issue-tag.h:361 -msgid "Consider using a secure (HTTPS) URL for the remote icon link." +#: src/as-validator-issue-tag.h:51 +msgid "A tag must not be localized in metainfo files (upstream metadata). Localize the individual paragraphs instead." msgstr "" -#: src/as-validator-issue-tag.h:383 -msgid "Consider using a secure (HTTPS) URL for this web link." +#: src/as-validator-issue-tag.h:57 +msgid "This element (paragraph, list, etc.) of a tag must not be localized individually in collection metadata. Localize the whole tag instead. The AppStream collection metadata generator (e.g. `appstream-generator`) will already do the right thing when compiling the data." msgstr "" -#: src/as-validator-issue-tag.h:189 -msgid "Consider using a secure (HTTPS) URL to reference this screenshot image or video." +#: src/as-validator-issue-tag.h:63 +msgid "AppStream descriptions support only a limited set of tags to format text: Paragraphs (

            ) and lists (

              ,
                ). This description markup contains an invalid XML tag that would not be rendered correctly in applications supporting the metainfo specification." msgstr "" -#: tools/appstream-cli.c:870 -msgid "Convert a YAML or text NEWS file into metainfo releases." +#: src/as-validator-issue-tag.h:69 +msgid "This description paragraph contains invalid markup. Currently, only and are permitted." msgstr "" -#. TRANSLATORS: "convert" command in ascli. "Collection XML" is a term describing a specific type of AppStream XML data. -#: tools/appstream-cli.c:865 -msgid "Convert collection XML to YAML or vice versa." +#: src/as-validator-issue-tag.h:74 +msgid "Enumerations must only have list items (
              1. ) as children." msgstr "" -#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results -#: tools/ascli-actions-mdata.c:228 -#, c-format -msgid "Could not find component providing '%s::%s'." +#: src/as-validator-issue-tag.h:79 +msgid "The first `description/p` paragraph of this component might be too short (< 80 characters). Please consider starting with a longer paragraph to improve how the description looks like in software centers and to provide more detailed information on this component immediately in the first paragraph." msgstr "" -#: tools/appstream-cli.c:869 -msgid "Create a XDG desktop-entry file from a metainfo file." +#: src/as-validator-issue-tag.h:86 +msgid "The description contains a web URL in plain text. This is not allowed, please use the tag instead to share links." msgstr "" -#: tools/appstream-cli.c:868 -msgid "Create a template for a metainfo file (to be filled out by the upstream project)." +#: src/as-validator-issue-tag.h:91 +msgid "As per AppStream specification, the mentioned tag must only appear once in this context. Having multiple tags of this kind is not valid." msgstr "" -#: tools/ascli-actions-misc.c:228 -#, c-format -msgid "Creating new desktop-entry file '%s' using data from '%s'" +#: src/as-validator-issue-tag.h:96 +msgid "The mentioned tag is empty, which is highly likely not intended as it should have content." msgstr "" -#: src/as-provided.c:160 -msgid "D-Bus Session Services" +#: src/as-validator-issue-tag.h:101 +msgid "The component ID is required to follow a reverse domain-name scheme for its name. See the AppStream specification for details." msgstr "" -#: src/as-provided.c:158 -msgid "D-Bus System Services" +#: src/as-validator-issue-tag.h:106 +msgid "The component ID is not a reverse domain-name. Please update the ID to avoid future issues and be compatible with all AppStream implementations.\n" + "You may also consider to update the name of the accompanying .desktop file to follow the latest version of the Desktop-Entry specification and use a rDNS name for it as well. In any case, do not forget to mention the new desktop-entry in a tag for this component to keep the application launchable from software centers and the .desktop file data associated with the metainfo data." +msgstr "" + +#: src/as-validator-issue-tag.h:114 +msgid "The component ID might not follow the reverse domain-name schema (the TLD used by it is not known to the validator)." +msgstr "" + +#: src/as-validator-issue-tag.h:119 +msgid "The component ID contains an invalid character. Only ASCII characters, dots and numbers are permitted." +msgstr "" + +#: src/as-validator-issue-tag.h:124 +msgid "The component ID contains a hyphen/minus. Using a hyphen is strongly discouraged, to improve interoperability with other tools such as D-Bus. A good option is to replace any hyphens with underscores (`_`)." +msgstr "" + +#: src/as-validator-issue-tag.h:130 +msgid "The component ID contains a segment starting with a number. Starting a segment of the reverse-DNS ID with a number is strongly discouraged, to keep interoperability with other tools such as D-Bus. Ideally, prefix these segments with an underscore." +msgstr "" + +#: src/as-validator-issue-tag.h:136 +msgid "The component ID should only contain lowercase letters." +msgstr "" + +#: src/as-validator-issue-tag.h:141 +msgid "The component is part of the Freedesktop project, but its ID does not start with fd.o's reverse-DNS name (\"org.freedesktop\")." +msgstr "" + +#: src/as-validator-issue-tag.h:146 +msgid "The component is part of the KDE project, but its ID does not start with KDEs reverse-DNS name (\"org.kde\")." +msgstr "" + +#: src/as-validator-issue-tag.h:151 +msgid "The component is part of the GNOME project, but its ID does not start with GNOMEs reverse-DNS name (\"org.gnome\")." msgstr "" -#: src/as-category.c:195 -msgctxt "Category of Office" -msgid "Database" +#: src/as-validator-issue-tag.h:156 +msgid "The SPDX license expression is invalid and could not be parsed." msgstr "" -#: src/as-category.c:86 -msgctxt "Category of Development" -msgid "Debuggers" +#: src/as-validator-issue-tag.h:161 +msgid "The license ID was not found in the SPDX database. Please check that the license ID is written in an SPDX-conformant way and is a valid free software license." msgstr "" -#: tools/ascli-utils.c:353 -msgid "Default Screenshot URL" +#: src/as-validator-issue-tag.h:167 +msgid "The metadata itself seems to be licensed under a complex collection of licenses. Please license the data under a simple permissive license, like FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data collections without the risk of license violations due to mutually incompatible licenses." msgstr "" -#. TRANSLATORS: ascli flag description for: --format -#: tools/appstream-cli.c:83 -msgid "Default metadata format (valid values are 'xml' and 'yaml')." +#: src/as-validator-issue-tag.h:173 +msgid "The metadata itself does not seem to be licensed under a permissive license. Please license the data under a permissive license, like FSFAP, CC0-1.0 or 0BSD to allow distributors to include it in mixed data collections without the risk of license violations due to mutually incompatible licenses." msgstr "" -#: tools/ascli-utils.c:333 -msgid "Description" +#: src/as-validator-issue-tag.h:179 +msgid "The update-contact does not appear to be a valid email address (escaping of `@` is only allowed as `_at_` or `_AT_`)." msgstr "" -#. developer name -#: tools/ascli-utils.c:321 -msgid "Developer" +#: src/as-validator-issue-tag.h:184 +msgid "Unable to reach the screenshot image on its remote location - does the image exist?" msgstr "" -#. TRANSLATORS: this is the menu spec main category for Development -#: src/as-category.c:305 -msgid "Developer Tools" +#: src/as-validator-issue-tag.h:189 +msgid "Unable to reach the screenshot video on its remote location - does the video file exist?" msgstr "" -#: tools/appstream-cli.c:862 -msgid "Display status information about available AppStream metadata." +#: src/as-validator-issue-tag.h:194 +msgid "Consider using a secure (HTTPS) URL to reference this screenshot image or video." msgstr "" -#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions -#: tools/ascli-actions-misc.c:52 -msgid "Distribution metadata:" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:200 +msgid "A screenshot must contain at least one image or video in order to be useful. Please add an to it." msgstr "" -#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) -#: tools/appstream-cli.c:126 -msgid "Do not use network access." +#: src/as-validator-issue-tag.h:205 +msgid "A screenshot must contain either images or videos, but not both at the same time. Please use this screenshot exclusively for either static images or for videos." msgstr "" -#. TRANSLATORS: ascli flag description for: --no-color -#: tools/appstream-cli.c:908 -msgid "Don't show colored output." +#: src/as-validator-issue-tag.h:211 +msgid "The screenshot does not have a caption text. Consider adding one." msgstr "" -#: tools/appstream-cli.c:853 -msgid "Dump raw XML metadata for a component matching the ID." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:217 +msgid "The screenshot video does not specify which video codec was used in a `codec` property." msgstr "" -#. TRANSLATORS: this is the menu spec main category for Education -#: src/as-category.c:308 -msgid "Education" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:223 +msgid "The screenshot video does not specify which container format was used in a `container` property." msgstr "" -#. TRANSLATORS: No metainfo files have been found -#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 -msgid "Empty." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:229 +msgid "The selected video codec is not supported by AppStream and software centers may not be able to play the video. Only the AV1 and VP9 codecs are currently supported, using `av1` and `vp9` as values for the `codec` property." msgstr "" -#: src/as-category.c:141 -msgctxt "Category of Games" -msgid "Emulators" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:236 +msgid "The selected video container format is not supported by AppStream and software centers may not be able to play the video. Only the WebM and Matroska video containers are currently supported, using `webm` and `mkv` as values for the `container` property." msgstr "" -#. TRANSLATORS: ascli flag description for: --force -#: tools/appstream-cli.c:245 -msgid "Enforce a cache refresh." +#: src/as-validator-issue-tag.h:242 +msgid "For videos, only the WebM and Matroska (.mkv) container formats are currently supported. The file extension of the referenced video does not belong to either of these formats." msgstr "" -#: src/as-validator-issue-tag.h:74 -msgid "Enumerations must only have list items (
              2. ) as children." +#: src/as-validator-issue-tag.h:248 +msgid "The default screenshot of a software component must not be a video. Use a static image as default screenshot and set the video as a secondary screenshot." msgstr "" -#: tools/ascli-actions-misc.c:159 -#, c-format -msgid "Error while loading the metadata pool: %s" +#: src/as-validator-issue-tag.h:253 +msgid "Found an unknown tag in a requires/recommends group. This is likely an error, because a component relation of this type is unknown." msgstr "" -#: tools/ascli-utils.c:327 -msgid "Extends" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:259 +msgid "A `requires` or `recommends` item requires a value to denote a valid relation." msgstr "" -#: src/as-category.c:65 -msgctxt "Category of AudioVideo" -msgid "Featured" +#. TRANSLATORS: `version` is an AppStream XML property. Please do not translate it. +#: src/as-validator-issue-tag.h:265 +msgid "Found `version` property on required/recommended item of a type that should not have or require a version." msgstr "" -#: src/as-category.c:256 -msgctxt "Category of Communication" -msgid "Featured" +#. TRANSLATORS: `version` and `compare` are AppStream XML properties. Please do not translate them. +#: src/as-validator-issue-tag.h:271 +msgid "Found `version` property on this required/recommended item, but not `compare` property. It is recommended to explicitly define a comparison operation." msgstr "" -#: src/as-category.c:83 -msgctxt "Category of Development" -msgid "Featured" +#: src/as-validator-issue-tag.h:276 +msgid "Invalid comparison operation on relation item. Only eq/ne/lt/gt/le/ge are permitted." msgstr "" -#: src/as-category.c:98 -msgctxt "Category of Education" -msgid "Featured" +#: src/as-validator-issue-tag.h:281 +msgid "The relation item has a comparison operation set, but does not support any comparisons." msgstr "" -#: src/as-category.c:120 -msgctxt "Category of Games" -msgid "Featured" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:287 +msgid "Found a memory size relation in a `requires` tag. This means users will not be able to even install the component without having enough RAM. This is usually not intended and you want to use `memory` in the `recommends` tag instead." msgstr "" -#: src/as-category.c:165 -msgctxt "Category of Graphics" -msgid "Featured" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:294 +msgid "Found a user input control relation in a `requires` tag. This means users will not be able to even install the component without having the defined input control available on the system. This is usually not intended and you want to use `control` in the `recommends` tag instead." msgstr "" -#: src/as-category.c:188 -msgctxt "Category of Office" -msgid "Featured" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:301 +msgid "This `control` item defines an unknown input method and is invalid. Check the specification for a list of permitted values." msgstr "" -#: src/as-category.c:231 -msgctxt "Category of Science" -msgid "Featured" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:307 +msgid "This `display_length` item contains an invalid display length. Its value must either be a shorthand string, or positive integer value denoting logical pixels. Please refer to the AppStream specification for more information on this tag." msgstr "" -#: src/as-category.c:278 -msgctxt "Category of Utility" -msgid "Featured" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:314 +msgid "This `side` property of this `display_length` item contains an invalid value. It must either be `shortest` or `longest`, or unset to imply `shortest` to make the item value refer to either the shortest or longest side of the display." msgstr "" -#: tools/ascli-actions-validate.c:171 tools/ascli-actions-validate.c:349 -#, c-format -msgid "File '%s' does not exist." +#: src/as-validator-issue-tag.h:320 +msgid "The set component type is not a recognized, valid AppStream component type." msgstr "" -#: src/as-category.c:287 -msgctxt "Category of Utility" -msgid "File System" +#: src/as-validator-issue-tag.h:325 +msgid "The component has a priority value set. This is not allowed in metainfo files." msgstr "" -#: src/as-category.c:198 -msgctxt "Category of Office" -msgid "Finance" +#: src/as-validator-issue-tag.h:330 +msgid "The component has a `merge` method defined. This is not allowed in metainfo files." msgstr "" -#: src/as-provided.c:164 -msgid "Flashed Firmware" +#: src/as-validator-issue-tag.h:335 +msgid "The component is missing an ID ( tag)." msgstr "" -#: src/as-provided.c:150 -msgid "Fonts" +#: src/as-validator-issue-tag.h:340 +msgid "The component is missing a name ( tag)." msgstr "" -#: src/as-category.c:211 -msgctxt "Category of Addons" -msgid "Fonts" +#: src/as-validator-issue-tag.h:345 +msgid "The component is missing a summary ( tag)." msgstr "" -#: src/as-validator-issue-tag.h:237 -msgid "For videos, only the WebM and Matroska (.mkv) container formats are currently supported. The file extension of the referenced video does not belong to either of these formats." +#: src/as-validator-issue-tag.h:350 +msgid "The tag still contains a `type` property, probably from an old conversion to the recent metainfo format." msgstr "" -#. TRANSLATORS: ascli flag description for: --format when validating XML files -#: tools/appstream-cli.c:131 -msgid "Format of the generated report (valid values are 'text' and 'yaml')." +#: src/as-validator-issue-tag.h:355 +msgid "The `pkgname` tag appears multiple times. You should evaluate creating a metapackage containing the metainfo and .desktop files in order to avoid defining multiple package names per component." msgstr "" -#. TRANSLATORS: Found metainfo files in legacy directories -#: tools/ascli-actions-misc.c:138 -#, c-format -msgid "Found %i components in legacy paths." +#: src/as-validator-issue-tag.h:360 +msgid "The component name should (likely) not end with a dot (`.`)." msgstr "" -#: tools/ascli-actions-misc.c:123 -#, c-format -msgid "Found %i components." +#: src/as-validator-issue-tag.h:365 +msgid "The component summary should not end with a dot (`.`)." msgstr "" -#. TRANSLATORS: 'version' is an AppStream XML property. Please do not translate it. -#: src/as-validator-issue-tag.h:260 -msgid "Found 'version' property on required/recommended item of a type that should not have or require a version." +#: src/as-validator-issue-tag.h:370 +msgid "The component summary must not contain tabs or linebreaks." msgstr "" -#. TRANSLATORS: 'version' and 'compare' are AppStream XML properties. Please do not translate them. -#: src/as-validator-issue-tag.h:266 -msgid "Found 'version' property on this required/recommended item, but not 'compare' property. It is recommended to explicitly define a comparison operation." +#: src/as-validator-issue-tag.h:375 +msgid "The summary must not contain any URL. Use the tags for links." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:277 -msgid "Found a memory size dependency in a 'requires' tag. This means users will not be able to even install the component without having enough RAM. This is usually not intended and you want to use 'memory' in the 'recommends' tag instead." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:381 +msgid "Icons of type `stock` or `cached` must not contain an URL, a full or an relative path to the icon. Only file basenames or stock names are allowed." msgstr "" -#: src/as-validator-issue-tag.h:248 -msgid "Found an unknown tag in a requires/recommends group. This is likely an error, because a component relation of this type is unknown." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:388 +msgid "Icons of type `remote` must contain an URL to the referenced icon." msgstr "" -#: src/as-validator-issue-tag.h:427 -msgid "Found invalid tag. Non-standard tags should be prefixed with 'x-'. AppStream also provides the tag to add arbitrary custom data to metainfo files. This tag is read by AppStream libraries and may be useful instead of defining new custom toplevel or 'x-'-prefixed tags if you just want to add custom data to a metainfo file." +#: src/as-validator-issue-tag.h:393 +msgid "Unable to reach remote icon at the given web location - does it exist?" msgstr "" -#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. -#: src/as-validator.c:526 src/as-validator.c:939 src/as-validator.c:1024 -#: src/as-validator.c:1237 -#, c-format -msgid "Found: %s - Allowed: %s" +#: src/as-validator-issue-tag.h:398 +msgid "Consider using a secure (HTTPS) URL for the remote icon link." msgstr "" -#. TRANSLATORS: this is the menu spec main category for Game -#: src/as-category.c:311 -msgid "Games" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:404 +msgid "Metainfo files may only contain icons of type `stock` or `remote`, the set type is not allowed." msgstr "" -#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command -#: tools/appstream-cli.c:814 -msgid "Generate the output in the selected format ('yaml' or 'text')." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:410 +msgid "Invalid `type` property for this `url` tag. URLs of this type are not known in the AppStream specification." msgstr "" -#: tools/appstream-cli.c:849 -msgid "Get components which provide the given item." +#: src/as-validator-issue-tag.h:415 +msgid "Unable to reach remote location that this URL references - does it exist?" msgstr "" -#: tools/appstream-cli.c:848 -msgid "Get information about a component by its ID." +#: src/as-validator-issue-tag.h:420 +msgid "Consider using a secure (HTTPS) URL for this web link." msgstr "" -#. TRANSLATORS: this is the menu spec main category for Graphics -#: src/as-category.c:314 -msgid "Graphics & Photography" +#: src/as-validator-issue-tag.h:425 +msgid "A web URL was expected for this value." msgstr "" -#: tools/ascli-utils.c:300 -msgid "Homepage" +#: src/as-validator-issue-tag.h:430 +msgid "This web link uses the FTP protocol. Consider switching to HTTP(S) instead." msgstr "" -#: src/as-category.c:89 -msgctxt "Category of Development" -msgid "IDEs" +#: src/as-validator-issue-tag.h:435 +msgid "The can not contain a hyperlink." msgstr "" -#: tools/ascli-utils.c:301 -msgid "Icon" +#: src/as-validator-issue-tag.h:440 +msgid "The set value is not an identifier for a desktop environment as registered with Freedesktop.org." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:351 -msgid "Icons of type 'remote' must contain an URL to the referenced icon." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:446 +msgid "This `launchable` tag has an unknown type and can not be used." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:344 -msgid "Icons of type 'stock' or 'cached' must not contain an URL, a full or an relative path to the icon. Only file basenames or stock names are allowed." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:452 +msgid "This `bundle` tag has an unknown type and can not be used." msgstr "" -#: tools/ascli-actions-misc.c:94 -msgid "Iconsets" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:458 +msgid "The `update_contact` tag should not be included in collection AppStream XML." msgstr "" -#: tools/ascli-utils.c:295 -msgid "Identifier" +#: src/as-validator-issue-tag.h:463 +msgid "This tag is a GNOME-specific extension to AppStream and not part of the official specification. Do not expect it to work in all implementations and in all software centers." msgstr "" -#: src/as-category.c:217 -msgctxt "Category of Addons" -msgid "Input Sources" +#: src/as-validator-issue-tag.h:469 +msgid "Found invalid tag. Non-standard tags should be prefixed with `x-`. AppStream also provides the tag to add arbitrary custom data to metainfo files. This tag is read by AppStream libraries and may be useful instead of defining new custom toplevel or `x-`-prefixed tags if you just want to add custom data to a metainfo file." msgstr "" -#: tools/appstream-cli.c:863 -msgid "Install a metadata file into the right location." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:477 +msgid "The essential tag `metadata_license` is missing. A license for the metadata itself always has to be defined." msgstr "" -#: tools/appstream-cli.c:859 -msgid "Install software matching the component-ID." +#: src/as-validator-issue-tag.h:482 +msgid "The component is missing a long description. Components of this type must have a long description." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:373 -msgid "Invalid 'type' property for this 'url' tag. URLs of this type are not known in the AppStream specification." +#: src/as-validator-issue-tag.h:487 +msgid "It would be useful to add a long description to this font to present it better to users." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:553 -msgid "Invalid tag found in collection metadata. Only 'component' tags are permitted." +#: src/as-validator-issue-tag.h:492 +msgid "It is recommended to add a long description to this component to present it better to users." msgstr "" -#: tools/ascli-actions-mdata.c:213 -msgid "Invalid type for provided item selected. Valid values are:" +#: src/as-validator-issue-tag.h:497 +msgid "This generic component is missing a long description. It may be useful to add one." msgstr "" -#: src/as-validator-issue-tag.h:271 -msgid "Invalid version comparison operation on relation item. Only eq/ne/lt/gt/le/ge are permitted." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:503 +msgid "Type `console-application` component, but no information about binaries in $PATH was provided via a `provides/binary` tag." msgstr "" -#: src/as-validator-issue-tag.h:450 -msgid "It is recommended to add a long description to this component to present it better to users." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:509 +msgid "This `web-application` component is missing a `launchable` tag of type `url`." msgstr "" -#: src/as-validator-issue-tag.h:445 -msgid "It would be useful to add a long description to this font to present it better to users." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:515 +msgid "This `web-application` component is missing a `icon` tag to specify a valid icon." msgstr "" -#: src/as-category.c:144 -msgctxt "Category of Games" -msgid "Kids" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:521 +msgid "This `web-application` component is missing categorizations. A `categories` block is likely missing." msgstr "" -#: src/as-category.c:220 -msgctxt "Category of Addons" -msgid "Language Packs" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:527 +msgid "Type `font` component, but no font information was provided via a `provides/font` tag." msgstr "" -#: src/as-category.c:107 -msgctxt "Category of Education" -msgid "Languages" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:533 +msgid "Type `driver` component, but no modalias information was provided via a `provides/modalias` tag." msgstr "" -#: src/as-provided.c:144 -msgid "Libraries" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:539 +msgid "An `extends` tag is specified, but the component is not of type `addon`, `localization` or `repository`." msgstr "" -#. license -#: tools/ascli-utils.c:363 -msgid "License" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:545 +msgid "The component is an addon, but no `extends` tag was specified." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:629 -msgid "Licenses for 'runtime' components are usually too complex to reflect them in a simple SPDX expression. Consider using a `LicenseRef` and a web URL as value for this component's 'project_license'. E.g. `LicenseRef-free=https://example.com/licenses.html`" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:551 +msgid "This `localization` component is missing an `extends` tag, to specify the components it adds localization to." msgstr "" -#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command -#: tools/appstream-cli.c:771 -msgid "Limit the number of release entries that end up in the metainfo file (0 for unlimited)." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:557 +msgid "This `localization` component does not define any languages this localization is for." msgstr "" -#: src/as-category.c:223 -msgctxt "Category of Addons" -msgid "Localization" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:563 +msgid "This `service` component is missing a `launchable` tag of type `service`." msgstr "" -#: src/as-category.c:147 -msgctxt "Category of Games" -msgid "Logic" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:569 +msgid "Suggestions of any type other than `upstream` are not allowed in metainfo files." msgstr "" -#. TRANSLATORS: ascli flag description for: --no-cache -#: tools/appstream-cli.c:67 -msgid "Make request without any caching." +#: src/as-validator-issue-tag.h:574 +msgid "The category name is not valid. Refer to the XDG Menu Specification for a list of valid category names." msgstr "" -#. TRANSLATORS: ascli flag description for: --cachepath -#: tools/appstream-cli.c:57 -msgid "Manually selected location of AppStream cache." +#: src/as-validator-issue-tag.h:579 +msgid "The screenshot caption is too long (should be <= 80 characters)" msgstr "" -#. TRANSLATORS: ascli flag description for: --datapath -#: tools/appstream-cli.c:62 -msgid "Manually selected location of AppStream metadata to scan." +#: src/as-validator-issue-tag.h:584 +msgid "Unable to read file." msgstr "" -#: src/as-pool.c:1280 -msgid "Many components have been recognized as invalid. See debug output for details." +#: src/as-validator-issue-tag.h:589 +msgid "The XML of this file is malformed." msgstr "" -#: src/as-category.c:111 -msgctxt "Category of Education" -msgid "Math" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:595 +msgid "Invalid tag found in collection metadata. Only `component` tags are permitted." msgstr "" -#: src/as-category.c:243 -msgctxt "Category of Science" -msgid "Math" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:601 +msgid "The metainfo file uses an ancient version of the AppStream specification, which can not be validated. Please migrate it to version 0.6 (or higher)." msgstr "" -#: src/as-provided.c:148 -msgid "Media types" +#: src/as-validator-issue-tag.h:606 +msgid "This XML document has an unknown root tag. Maybe this file is not a metainfo document?" msgstr "" -#: tools/ascli-actions-mdata.c:364 -#, c-format -msgid "Metadata file '%s' does not exist." +#: src/as-validator-issue-tag.h:611 +msgid "The metainfo filename does not match the component ID." msgstr "" -#: src/as-pool.c:881 -msgid "Metadata files have errors:" +#: src/as-validator-issue-tag.h:616 +msgid "Unable to read the .desktop file associated with this component." msgstr "" -#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 -#: tools/ascli-actions-misc.c:515 -#, c-format -msgid "Metainfo file '%s' does not exist." +#: src/as-validator-issue-tag.h:621 +msgid "This component metadata refers to a non-existing .desktop file." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:367 -msgid "Metainfo files may only contain icons of type 'stock' or 'remote', the set type is not allowed." +#: src/as-validator-issue-tag.h:626 +msgid "The category defined in the .desktop file is not valid. Refer to the XDG Menu Specification for a list of valid categories." msgstr "" -#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report -#: tools/ascli-actions-misc.c:116 -msgid "Metainfo files:" +#: src/as-validator-issue-tag.h:631 +msgid "No AppStream metadata was found in this directory or directory tree." msgstr "" -#: src/as-provided.c:152 -msgid "Modaliases" +#. pedantic because not everything which has metadata is an application +#: src/as-validator-issue-tag.h:636 +msgid "No XDG applications directory found." msgstr "" -#: src/as-category.c:74 -msgctxt "Category of AudioVideo" -msgid "Music Players" +#: src/as-validator-issue-tag.h:641 +msgid "The metainfo file is stored in a legacy path. Please place it in `/usr/share/metainfo/`." msgstr "" -#: tools/ascli-utils.c:296 -msgid "Name" +#: src/as-validator-issue-tag.h:646 +msgid "The metainfo file specifies multiple components. This is not allowed." msgstr "" -#: src/as-category.c:266 -msgctxt "Category of Communication" -msgid "News" +#: src/as-validator-issue-tag.h:651 +msgid "The releases are not sorted in a latest to oldest version order. This is required as some tools will assume that the latest version is always at the top. Sorting releases also increases overall readability of the metainfo file." msgstr "" -#: src/as-validator-issue-tag.h:589 -msgid "No AppStream metadata was found in this directory or directory tree." +#: src/as-validator-issue-tag.h:658 +msgid "The value set as release urgency is not a known urgency value." msgstr "" -#. pedantic because not everything which has metadata is an application -#: src/as-validator-issue-tag.h:594 -msgid "No XDG applications directory found." +#: src/as-validator-issue-tag.h:663 +msgid "The value set as release type is invalid." msgstr "" -#: tools/ascli-actions-mdata.c:182 -#, c-format -msgid "No component matching '%s' found." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:669 +msgid "The value set as artifact type is invalid. Must be either `source` or `binary`." msgstr "" -#: tools/ascli-actions-misc.c:105 -msgid "No icons." +#: src/as-validator-issue-tag.h:674 +msgid "The value set as artifact bundle type is invalid." msgstr "" -#: tools/ascli-actions-misc.c:402 -msgid "No output filename specified, modifying metainfo file directly." +#: src/as-validator-issue-tag.h:679 +msgid "The platform triplet for this release is invalid. It must be in the form of `architecture-oskernel-osenv` - refer to the AppStream documentation or information on normalized GNU triplets for more information and valid fields." msgstr "" -#: tools/ascli-actions-misc.c:306 -msgid "No provided binary specified in metainfo file, and no exec command specified via '--exec'. Can not create 'Exec=' key." +#: src/as-validator-issue-tag.h:686 +msgid "The selected checksumming algorithm is unsupported or unknown." msgstr "" -#: tools/ascli-actions-misc.c:284 -msgid "No stock icon name was provided in the metainfo file. Can not continue." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:692 +msgid "The size type is unknown. Must be `download` or `installed`." msgstr "" -#: tools/ascli-actions-pkgmgr.c:53 -msgid "No suitable package manager CLI found. Please make sure that e.g. \"pkcon\" (part of PackageKit) is available." +#: src/as-validator-issue-tag.h:697 +msgid "The artifact filename must be a file basename, not a (relative or absolute) path." msgstr "" -#: tools/ascli-actions-mdata.c:206 -msgid "No value for the item to search for was defined." +#: src/as-validator-issue-tag.h:702 +msgid "The value set as release issue type is invalid." msgstr "" -#. TRANSLATORS: this is the menu spec main category for Office -#: src/as-category.c:317 -msgid "Office" +#: src/as-validator-issue-tag.h:707 +msgid "The issue is tagged at security vulnerability with a CVE number, but its value does not look like a valid CVE identifier." msgstr "" -#. TRANSLATORS: An unknown option was passed to appstreamcli. -#: tools/appstream-cli.c:192 -#, c-format -msgid "Option '%s' is unknown." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:713 +msgid "This component is missing information about releases. Consider adding a `releases` tag to describe releases and their changes." msgstr "" -#: tools/ascli-utils.c:298 -msgid "Package" +#: src/as-validator-issue-tag.h:718 +msgid "The AppStream specification requires a complete, ISO 8601 date string with at least day-granularity to denote dates. Please ensure the date string is valid." msgstr "" -#: src/as-category.c:171 -msgctxt "Category of Graphics" -msgid "Photography" +#: src/as-validator-issue-tag.h:724 +msgid "This component extends, provides, requires or recommends itself, which is certainly not intended and may confuse users or machines dealing with this metadata." msgstr "" -#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) -#: tools/appstream-cli.c:121 -msgid "Print detailed explanation for found issues." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:731 +msgid "Licenses for `runtime` components are usually too complex to reflect them in a simple SPDX expression. Consider using a `LicenseRef` and a web URL as value for this component's `project_license`. E.g. `LicenseRef-free=https://example.com/licenses.html`" +msgstr "" + +#: src/as-validator-issue-tag.h:737 +msgid "Since a `runtime` component is comprised of multiple other software components, their component-IDs may be listed in a `` section for this runtime." msgstr "" -#. TRANSLATORS: ascli flag description for: --details -#: tools/appstream-cli.c:98 -msgid "Print detailed output about found components." +#: src/as-validator-issue-tag.h:742 +msgid "The type of the item that the component provides is not known to AppStream." msgstr "" -#. project group -#: tools/ascli-utils.c:360 -msgid "Project Group" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:748 +msgid "The toplevel `mimetypes` tag is deprecated. Please use `mediatype` tags in a `provides` block instead to indicate that your software provides a media handler for the given types." msgstr "" -#: tools/ascli-utils.c:405 -msgid "Provided Items" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks) and keep the URL intact. +#: src/as-validator-issue-tag.h:755 +msgid "This component has no `content_rating` tag to provide age rating information. You can generate the tag data online by answering a few questions at https://hughsie.github.io/oars/" msgstr "" -#: src/as-provided.c:154 -msgid "Python (Version 2)" +#: src/as-validator.c:150 +msgid "The emitted issue tag is unknown in the tag registry of AppStream. This is a bug in the validator itself, please report this issue in our bugtracker." msgstr "" -#: src/as-provided.c:156 -msgid "Python 3" +#: src/as-validator.c:344 +msgid "URL format is invalid." msgstr "" -#: tools/appstream-cli.c:854 -msgid "Rebuild the component metadata cache." +#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. +#: src/as-validator.c:522 src/as-validator.c:937 src/as-validator.c:1031 +#: src/as-validator.c:1428 src/as-validator.c:1448 src/as-validator.c:1481 +#, c-format +msgid "Found: %s - Allowed: %s" msgstr "" -#: tools/appstream-cli.c:860 -msgid "Remove software matching the component-ID." +#. TRANSLATORS: ascompose flag description for: --verbose +#: tools/appstream-compose.c:181 +msgid "Show extra debugging information" msgstr "" -#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty -#: src/as-validator.c:364 -msgid "Retrieved file size was zero." +#. TRANSLATORS: ascompose flag description for: --no-color +#. TRANSLATORS: ascli flag description for: --no-color +#: tools/appstream-compose.c:184 tools/appstreamcli.c:1087 +msgid "Don't show colored output." msgstr "" -#: src/as-category.c:248 -msgctxt "Category of Science" -msgid "Robotics" +#. TRANSLATORS: ascompose flag description for: --version +#. TRANSLATORS: ascli flag description for: --version +#: tools/appstream-compose.c:187 tools/appstreamcli.c:1076 +msgid "Show the program version." msgstr "" -#: src/as-category.c:150 -msgctxt "Category of Games" -msgid "Role Playing" +#. TRANSLATORS: ascompose flag description for: --full-report +#: tools/appstream-compose.c:190 +msgid "Set mode of the issue report that is printed to the console" msgstr "" -#: tools/appstream-cli.c:196 tools/appstream-cli.c:926 -#, c-format -msgid "Run '%s --help' to see a full list of available command line options." +#. TRANSLATORS: ascompose flag description for: --prefix +#: tools/appstream-compose.c:193 +msgid "Override the default prefix (`/usr` by default)" msgstr "" -#: tools/appstream-cli.c:198 -#, c-format -msgid "Run '%s --help' to see a list of available commands and options, and '%s %s --help' to see a list of options specific for this subcommand." +#. TRANSLATORS: ascompose flag description for: --result-root +#: tools/appstream-compose.c:196 +msgid "Set the result output directory" msgstr "" -#: src/as-provided.c:162 -msgid "Runtime Firmware" +#. TRANSLATORS: ascompose flag description for: --data-dir, `collection metadata` is an AppStream term +#: tools/appstream-compose.c:199 +msgid "Override the collection metadata output directory" msgstr "" -#: src/as-category.c:174 -msgctxt "Category of Graphics" -msgid "Scanning" +#. TRANSLATORS: ascompose flag description for: --icons-dir +#: tools/appstream-compose.c:202 +msgid "Override the icon output directory" msgstr "" -#. TRANSLATORS: this is the menu spec main category for Science -#: src/as-category.c:323 -msgid "Science" +#. TRANSLATORS: ascompose flag description for: --media-dir +#: tools/appstream-compose.c:205 +msgid "Set the media output directory (for media data to be served by a webserver)" msgstr "" -#: tools/appstream-cli.c:847 -msgid "Search the component database." +#. TRANSLATORS: ascompose flag description for: --hints-dir +#: tools/appstream-compose.c:208 +msgid "Set a directory where HTML and text issue reports will be stored" msgstr "" -#: src/as-category.c:293 -msgctxt "Category of Utility" -msgid "Security" +#. TRANSLATORS: ascompose flag description for: --origin +#. TRANSLATORS: ascompose flag description for: --media-baseurl +#: tools/appstream-compose.c:211 tools/appstream-compose.c:214 +msgid "Set the origin name" msgstr "" -#. TRANSLATORS: ascli flag description for: --verbose -#: tools/appstream-cli.c:903 -msgid "Show extra debugging information." +#. TRANSLATORS: ascompose flag description for: --components +#: tools/appstream-compose.c:217 +msgid "A comma-separated list of component-IDs to accept" msgstr "" -#. TRANSLATORS: ascli flag description for: --version -#: tools/appstream-cli.c:897 -msgid "Show the program version." +#. TRANSLATORS: error message +#: tools/appstream-compose.c:231 +msgid "Failed to parse arguments" msgstr "" -#: src/as-validator-issue-tag.h:635 -msgid "Since a 'runtime' component is comprised of multiple other software components, their component-IDs may be listed in a `` section for this runtime." +#. TRANSLATORS: Output if appstreamcli --version is executed. +#: tools/appstream-compose.c:242 tools/appstreamcli.c:1230 +#, c-format +msgid "AppStream version: %s" msgstr "" -#: src/as-category.c:153 -msgctxt "Category of Games" -msgid "Sports" +#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. +#: tools/appstream-compose.c:245 tools/appstreamcli.c:1233 +#, c-format +msgid "AppStream CLI tool version: %s\n" + "AppStream library version: %s" msgstr "" -#: src/as-category.c:157 -msgctxt "Category of Games" -msgid "Strategy" +#. TRANSLATORS: invalid value for the --print-report CLI option +#: tools/appstream-compose.c:264 +#, c-format +msgid "Invalid value for `--print-report` option: %s\n" + "Possible values are:\n" + "`on-error` - only prints a short report if the run failed (default)\n" + "`short` - generates an abridged report\n" + "`full` - a detailed report will be printed" msgstr "" -#. these are commands we can use with appstreamcli -#: tools/appstream-cli.c:845 -msgid "Subcommands:" +#: tools/appstream-compose.c:285 +#, c-format +msgid "Automatically selected '%s' as data output location." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:527 -msgid "Suggestions of any type other than 'upstream' are not allowed in metainfo files." +#. TRANSLATORS: we don't have a destination directory for compose +#: tools/appstream-compose.c:288 +msgid "No destination directory set, please provide a data output location!" msgstr "" -#: tools/ascli-utils.c:297 -msgid "Summary" +#: tools/appstream-compose.c:298 tools/appstream-compose.c:300 +msgid "WARNING" msgstr "" -#. TRANSLATORS: Status summary in ascli -#: tools/ascli-actions-misc.c:145 -msgid "Summary:" +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:337 +#, c-format +msgid "Only accepting components: %s" msgstr "" -#: src/as-category.c:290 -msgctxt "Category of Utility" -msgid "System Monitoring" +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:340 +#, c-format +msgid "Only accepting component: %s" msgstr "" -#: src/as-validator-issue-tag.h:46 -msgid "Tags of this name are not permitted in this section." +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:345 +msgid "Processing directories:" msgstr "" -#: src/as-category.c:284 -msgctxt "Category of Utility" -msgid "Terminal Emulators" +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:348 +msgid "Processing directory:" msgstr "" -#: src/as-category.c:281 -msgctxt "Category of Utility" -msgid "Text Editors" +#. TRANSLATORS: error message +#: tools/appstream-compose.c:357 +msgid "Can not process invalid directory" msgstr "" -#: src/as-validator-issue-tag.h:318 -msgid "The 'pkgname' tag appears multiple times. You should evaluate creating a metapackage containing the metainfo and .desktop files in order to avoid defining multiple package names per component." +#. TRANSLATORS: information message +#: tools/appstream-compose.c:369 +msgid "Composing metadata..." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:416 -msgid "The 'update_contact' tag should not be included in collection AppStream XML." +#. TRANSLATORS: error message +#: tools/appstream-compose.c:374 +msgid "Failed to compose AppStream metadata" msgstr "" -#: tools/ascli-actions-mdata.c:467 -#, c-format -msgid "The .desktop file '%s' does not exist." +#. TRANSLATORS: appstream-compose failed to include all data +#: tools/appstream-compose.c:380 +msgid "Run failed, some data was ignored." msgstr "" -#: src/as-validator-issue-tag.h:393 -msgid "The can not contain a hyperlink." +#. TRANSLATORS: information message of appstream-compose +#: tools/appstream-compose.c:382 +msgid "Errors were raised during this compose run:" msgstr "" -#: src/as-validator-issue-tag.h:313 -msgid "The tag still contains a 'type' property, probably from an old conversion to the recent metainfo format." +#: tools/appstream-compose.c:383 +msgid "Refer to the generated issue report data for details on the individual problems." msgstr "" -#: src/as-validator-issue-tag.h:616 -msgid "The AppStream specification requires a complete, ISO 8601 date string with at least day-granularity to denote dates. Please ensure the date string is valid." +#: tools/appstream-compose.c:386 +msgid "Overview of generated hints:" msgstr "" -#: src/as-pool.c:1924 -#, c-format -msgid "The AppStream system cache was updated, but problems were found which resulted in metadata being ignored: %s" +#. TRANSLATORS: information message +#: tools/appstream-compose.c:388 +msgid "Success!" msgstr "" -#: src/as-pool.c:1922 -msgid "The AppStream system cache was updated, but some components were ignored. Refer to the verbose log for more information." +#. TRANSLATORS: ascli flag description for: --cachepath +#: tools/appstreamcli.c:59 +msgid "Manually selected location of AppStream cache." msgstr "" -#: src/as-validator-issue-tag.h:151 -msgid "The SPDX license expression is invalid and could not be parsed." +#. TRANSLATORS: ascli flag description for: --datapath +#: tools/appstreamcli.c:64 +msgid "Manually selected location of AppStream metadata to scan." msgstr "" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows -#: tools/appstream-cli.c:683 -#, c-format -msgid "The TYPE must be a valid component-type, such as: %s" +#. TRANSLATORS: ascli flag description for: --no-cache +#: tools/appstreamcli.c:69 +msgid "Make request without any caching." msgstr "" -#: src/as-validator-issue-tag.h:547 -msgid "The XML of this file is malformed." +#. TRANSLATORS: ascli flag description for: --format +#: tools/appstreamcli.c:85 +msgid "Default metadata format (valid values are 'xml' and 'yaml')." msgstr "" -#: src/as-validator-issue-tag.h:584 -msgid "The category defined in the .desktop file is not valid. Refer to the XDG Menu Specification for a list of valid categories." +#. TRANSLATORS: ascli flag description for: --details +#: tools/appstreamcli.c:100 +msgid "Print detailed output about found components." msgstr "" -#: src/as-validator-issue-tag.h:532 -msgid "The category name is not valid. Refer to the XDG Menu Specification for a list of valid category names." +#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) +#: tools/appstreamcli.c:118 +msgid "Also show pedantic hints." msgstr "" -#: src/as-validator-issue-tag.h:124 -msgid "The component ID contains a hyphen/minus. Using a hyphen is strongly discouraged, to improve interoperability with other tools such as D-Bus. A good option is to replace any hyphens with underscores ('_')." +#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) +#: tools/appstreamcli.c:123 +msgid "Print detailed explanation for found issues." msgstr "" -#: src/as-validator-issue-tag.h:130 -msgid "The component ID contains a segment starting with a number. Starting a segment of the reverse-DNS ID with a number is strongly discouraged, to keep interoperability with other tools such as D-Bus. Ideally, prefix these segments with an underscore." +#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) +#: tools/appstreamcli.c:128 +msgid "Do not use network access." msgstr "" -#: src/as-validator-issue-tag.h:119 -msgid "The component ID contains an invalid character. Only ASCII characters, dots and numbers are permitted." +#. TRANSLATORS: ascli flag description for: --format when validating XML files +#: tools/appstreamcli.c:133 +msgid "Format of the generated report (valid values are 'text' and 'yaml')." msgstr "" -#: src/as-validator-issue-tag.h:106 -msgid "The component ID is not a reverse domain-name. Please update the ID to avoid future issues and be compatible with all AppStream implementations.\n" - "You may also consider to update the name of the accompanying .desktop file to follow the latest version of the Desktop-Entry specification and use a rDNS name for it as well. In any case, do not forget to mention the new desktop-entry in a tag for this component to keep the application launchable from software centers and the .desktop file data associated with the metainfo data." +#. TRANSLATORS: This is the header to the --help menu for subcommands +#. TRANSLATORS: This is the header to the --help menu +#: tools/appstreamcli.c:153 tools/appstreamcli.c:981 +msgid "AppStream command-line interface" msgstr "" -#: src/as-validator-issue-tag.h:101 -msgid "The component ID is required to follow a reverse domain-name scheme for its name. See the AppStream specification for details." +#: tools/appstreamcli.c:156 +#, c-format +msgid "'%s' command" msgstr "" -#: src/as-validator-issue-tag.h:114 -msgid "The component ID might not follow the reverse domain-name schema (the TLD used by it is not known to the validator)." +#. TRANSLATORS: An unknown option was passed to appstreamcli. +#: tools/appstreamcli.c:191 +#, c-format +msgid "Option '%s' is unknown." msgstr "" -#: src/as-validator-issue-tag.h:293 -msgid "The component has a 'merge' method defined. This is not allowed in metainfo files." +#: tools/appstreamcli.c:195 tools/appstreamcli.c:1207 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options." msgstr "" -#: src/as-validator-issue-tag.h:288 -msgid "The component has a priority value set. This is not allowed in metainfo files." +#: tools/appstreamcli.c:197 +#, c-format +msgid "Run '%s --help' to see a list of available commands and options, and '%s %s --help' to see a list of options specific for this subcommand." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:503 -msgid "The component is an addon, but no 'extends' tag was specified." +#. TRANSLATORS: ascli flag description for: --force +#: tools/appstreamcli.c:245 +msgid "Enforce a cache refresh." msgstr "" -#: src/as-validator-issue-tag.h:440 -msgid "The component is missing a long description. Components of this type must have a long description." +#. TRANSLATORS: ascli flag description for: --user +#: tools/appstreamcli.c:251 +msgid "Update the user-specific instead of the system-wide cache." msgstr "" -#: src/as-validator-issue-tag.h:303 -msgid "The component is missing a name ( tag)." +#. TRANSLATORS: ascli flag description for: --origin (part of the "put" subcommand) +#: tools/appstreamcli.c:477 +msgid "Set the data origin for the installed metadata collection file." msgstr "" -#: src/as-validator-issue-tag.h:308 -msgid "The component is missing a summary ( tag)." +#. TRANSLATORS: ascli flag description for: --user (part of the "put" subcommand) +#: tools/appstreamcli.c:482 +msgid "Install the file for the current user, instead of globally." msgstr "" -#: src/as-validator-issue-tag.h:298 -msgid "The component is missing an ID ( tag)." +#: tools/appstreamcli.c:631 +msgid "You need to provide at least two version numbers to compare as parameters." msgstr "" -#: src/as-validator-issue-tag.h:136 -msgid "The component is part of the Freedesktop project, but its ID does not start with fd.o's reverse-DNS name (\"org.freedesktop\")." +#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. +#: tools/appstreamcli.c:660 +#, c-format +msgid "Unknown compare relation '%s'. Valid values are:" msgstr "" -#: src/as-validator-issue-tag.h:146 -msgid "The component is part of the GNOME project, but its ID does not start with GNOMEs reverse-DNS name (\"org.gnome\")." +#: tools/appstreamcli.c:700 +msgid "Too many parameters: Need two version numbers or version numbers and a comparison operator." msgstr "" -#: src/as-validator-issue-tag.h:141 -msgid "The component is part of the KDE project, but its ID does not start with KDEs reverse-DNS name (\"org.kde\")." +#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) +#: tools/appstreamcli.c:726 +msgid "Use the given .desktop file to fill in the basic values of the metainfo file." msgstr "" -#: src/as-validator-issue-tag.h:323 -msgid "The component name should (likely) not end with a dot ('.')." +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand +#: tools/appstreamcli.c:731 +msgid "This command takes optional TYPE and FILE positional arguments, FILE being a file to write to (or \"-\" for standard output)." msgstr "" -#: src/as-validator-issue-tag.h:333 -msgid "The component summary must not contain tabs or linebreaks." +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows +#: tools/appstreamcli.c:734 +#, c-format +msgid "The TYPE must be a valid component-type, such as: %s" msgstr "" -#: src/as-validator-issue-tag.h:328 -msgid "The component summary should not end with a dot ('.')." +#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) +#: tools/appstreamcli.c:775 +msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." msgstr "" -#: src/as-validator-issue-tag.h:243 -msgid "The default screenshot of a software component must not be a video. Use a static image as default screenshot and set the video as a secondary screenshot." +#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command +#: tools/appstreamcli.c:815 +msgid "Assume the input file is in the selected format ('yaml' or 'text')." msgstr "" -#: src/as-validator-issue-tag.h:86 -msgid "The description contains a web URL in plain text. This is not allowed, please use the tag instead to share links." +#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command +#: tools/appstreamcli.c:820 +msgid "Limit the number of release entries that end up in the metainfo file (0 for unlimited)." msgstr "" -#: src/as-validator.c:152 -msgid "The emitted issue tag is unknown in the tag registry of AppStream. This is a bug in the validator itself, please report this issue in our bugtracker." +#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command +#: tools/appstreamcli.c:862 +msgid "Generate the output in the selected format ('yaml' or 'text')." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:435 -msgid "The essential tag 'metadata_license' is missing. A license for the metadata itself always has to be defined." +#: tools/appstreamcli.c:894 +#, c-format +msgid "Compose binary '%s' was not found! Can not continue." msgstr "" -#: src/as-validator-issue-tag.h:79 -msgid "The first 'description/p' paragraph of this component might be too short (< 80 characters). Please consider starting with a longer paragraph to improve how the description looks like in software centers and to provide more detailed information on this component immediately in the first paragraph." +#. TRANSLATORS: this is a (usually shorter) command alias, shown after the command summary text +#: tools/appstreamcli.c:956 +#, c-format +msgid "(Alias: '%s')" msgstr "" -#: src/as-validator-issue-tag.h:156 -msgid "The license ID was not found in the SPDX database. Please check that the license ID is written in an SPDX-conformant way and is a valid free software license." +#. these are commands we can use with appstreamcli +#: tools/appstreamcli.c:983 +msgid "Subcommands:" msgstr "" -#: src/as-validator-issue-tag.h:96 -msgid "The mentioned tag is empty, which is highly likely not intended as it should have content." +#: tools/appstreamcli.c:1029 +msgid "You can find information about subcommand-specific options by passing \"--help\" to the subcommand." msgstr "" -#: src/as-validator-issue-tag.h:168 -msgid "The metadata itself does not seem to be licensed under a permissive license. Please license the data under a permissive license, like FSFAP, CC0-1.0 or 0BSD to allow distributors to include it in mixed data collections without the risk of license violations due to mutually incompatible licenses." +#. TRANSLATORS: ascli has been run with unknown command. '%s --help' is the command to receive help and should not be translated. +#: tools/appstreamcli.c:1052 +#, c-format +msgid "Command '%s' is unknown. Run '%s --help' for a list of available commands." msgstr "" -#: src/as-validator-issue-tag.h:162 -msgid "The metadata itself seems to be licensed under a complex collection of licenses. Please license the data under a simple permissive license, like FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data collections without the risk of license violations due to mutually incompatible licenses." +#. TRANSLATORS: ascli flag description for: --verbose +#: tools/appstreamcli.c:1082 +msgid "Show extra debugging information." msgstr "" -#: src/as-validator-issue-tag.h:599 -msgid "The metainfo file is stored in a legacy path. Please place it in '/usr/share/metainfo'." +#. TRANSLATORS: ascli flag description for: --profile +#: tools/appstreamcli.c:1090 +msgid "Enable profiling" msgstr "" -#: src/as-validator-issue-tag.h:604 -msgid "The metainfo file specifies multiple components. This is not allowed." +#. TRANSLATORS: `appstreamcli search` command description. +#: tools/appstreamcli.c:1102 +msgid "Search the component database." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:559 -msgid "The metainfo file uses an ancient version of the AppStream specification, which can not be validated. Please migrate it to version 0.6 (or higher)." +#. TRANSLATORS: `appstreamcli get` command description. +#: tools/appstreamcli.c:1107 +msgid "Get information about a component by its ID." msgstr "" -#: src/as-validator-issue-tag.h:569 -msgid "The metainfo filename does not match the component ID." +#. TRANSLATORS: `appstreamcli what-provides` command description. +#: tools/appstreamcli.c:1112 +msgid "Get components which provide the given item. Needs an item type (e.g. lib, bin, python3, …) and item value as parameter." msgstr "" -#: src/as-validator-issue-tag.h:609 -msgid "The releases are not sorted in a latest to oldest version order. This is required as some tools will assume that the latest version is always at the top. Sorting releases also increases overall readability of the metainfo file." +#. TRANSLATORS: `appstreamcli dump` command description. +#: tools/appstreamcli.c:1118 +msgid "Dump raw XML metadata for a component matching the ID." msgstr "" -#: src/as-validator-issue-tag.h:537 -msgid "The screenshot caption is too long (should be <= 80 characters)" +#. TRANSLATORS: `appstreamcli refresh-cache` command description. +#: tools/appstreamcli.c:1123 +msgid "Rebuild the component metadata cache." msgstr "" -#: src/as-validator-issue-tag.h:206 -msgid "The screenshot does not have a caption text. Consider adding one." +#. TRANSLATORS: `appstreamcli validate` command description. +#: tools/appstreamcli.c:1129 +msgid "Validate AppStream XML files for issues." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:218 -msgid "The screenshot video does not specify which container format was used in a 'container' property." +#. TRANSLATORS: `appstreamcli validate-tree` command description. +#: tools/appstreamcli.c:1134 +msgid "Validate an installed file-tree of an application for valid metadata." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:212 -msgid "The screenshot video does not specify which video codec was used in a 'codec' property." +#. TRANSLATORS: `appstreamcli install` command description. +#: tools/appstreamcli.c:1140 +msgid "Install software matching the component-ID." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:224 -msgid "The selected video codec is not supported by AppStream and software centers may not be able to play the video. Only the AV1 and VP9 codecs are currently supported, using 'av1' and 'vp9' as values for the 'codec' property." +#. TRANSLATORS: `appstreamcli remove` command description. +#: tools/appstreamcli.c:1145 +msgid "Remove software matching the component-ID." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:231 -msgid "The selected video container format is not supported by AppStream and software centers may not be able to play the video. Only the WebM and Matroska video containers are currently supported, using 'webm' and 'mkv' as values for the 'container' property." +#. TRANSLATORS: `appstreamcli status` command description. +#: tools/appstreamcli.c:1151 +msgid "Display status information about available AppStream metadata." msgstr "" -#: src/as-validator-issue-tag.h:283 -msgid "The set component type is not a recognized, valid AppStream component type." +#. TRANSLATORS: `appstreamcli os-info` command description. +#: tools/appstreamcli.c:1156 +msgid "Show information about the current operating system from the metadata index." msgstr "" -#: src/as-validator-issue-tag.h:398 -msgid "The set value is not an identifier for a desktop environment as registered with Freedesktop.org." +#. TRANSLATORS: `appstreamcli put` command description. +#: tools/appstreamcli.c:1161 +msgid "Install a metadata file into the right location." msgstr "" -#: tools/ascli-actions-mdata.c:449 -#, c-format -msgid "The software component type '%s' is not valid in AppStream. Possible values are:" +#. TRANSLATORS: `appstreamcli convert` command description. "Collection XML" is a term describing a specific type of AppStream XML data. +#: tools/appstreamcli.c:1166 +msgid "Convert collection XML to YAML or vice versa." msgstr "" -#: src/as-validator-issue-tag.h:338 -msgid "The summary must not contain any URL. Use the tags for links." +#. TRANSLATORS: `appstreamcli vercmp` command description. +#: tools/appstreamcli.c:1171 +msgid "Compare two version numbers." msgstr "" -#: src/as-validator-issue-tag.h:640 -msgid "The type of the item that the component provides is not known to AppStream." +#. TRANSLATORS: `appstreamcli new-template` command description. +#: tools/appstreamcli.c:1177 +msgid "Create a template for a metainfo file (to be filled out by the upstream project)." msgstr "" -#: src/as-validator-issue-tag.h:174 -msgid "The update-contact does not appear to be a valid email address (escaping of '@' is only allowed as '_at_' or '_AT_')." +#. TRANSLATORS: `appstreamcli make-desktop-file` command description. +#: tools/appstreamcli.c:1182 +msgid "Create a desktop-entry file from a metainfo file." msgstr "" -#: tools/ascli-actions-validate.c:363 tools/ascli-actions-validate.c:492 -#, c-format -msgid "The validator can not create reports in the '%s' format. You may select 'yaml' or 'text' instead." +#. TRANSLATORS: `appstreamcli news-to-metainfo` command description. +#: tools/appstreamcli.c:1187 +msgid "Convert a YAML or text NEWS file into metainfo releases." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:410 -msgid "This 'bundle' tag has an unknown type and can not be used." +#. TRANSLATORS: `appstreamcli metainfo-to-news` command description. +#: tools/appstreamcli.c:1192 +msgid "Write NEWS text or YAML file with information from a metainfo file." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:404 -msgid "This 'launchable' tag has an unknown type and can not be used." +#. TRANSLATORS: `appstreamcli compose` command description. +#: tools/appstreamcli.c:1198 +msgid "Compose AppStream collection metadata from directory trees." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:515 -msgid "This 'localization' component does not define any languages this localization is for." +#. TRANSLATORS: ascli has been run without command. +#: tools/appstreamcli.c:1206 +msgid "You need to specify a command." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:509 -msgid "This 'localization' component is missing an 'extends' tag, to specify the components it adds localization to." +#. TRANSLATORS: In ascli: The requested action needs higher permissions. +#: tools/ascli-actions-mdata.c:70 +msgid "You might need superuser permissions to perform this action." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:521 -msgid "This 'service' component is missing a 'launchable' tag of type 'service'." +#. we performed a cache refresh +#. TRANSLATORS: Updating the metadata cache succeeded +#: tools/ascli-actions-mdata.c:80 +msgid "AppStream cache update completed successfully." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:473 -msgid "This 'web-application' component is missing a 'icon' tag to specify a valid icon." +#. cache wasn't updated, so the update wasn't necessary +#: tools/ascli-actions-mdata.c:86 +msgid "AppStream cache update is not necessary." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:467 -msgid "This 'web-application' component is missing a 'launchable' tag of type 'url'." +#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments +#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. +#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:253 +#: tools/ascli-actions-pkgmgr.c:80 +msgid "You need to specify a component-ID." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:479 -msgid "This 'web-application' component is missing categorizations. A 'categories' block is likely missing." +#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:265 +#: tools/ascli-actions-pkgmgr.c:93 +#, c-format +msgid "Unable to find component with ID '%s'!" msgstr "" -#: src/as-validator-issue-tag.h:564 -msgid "This XML document has an unknown root tag. Maybe this file is not a metainfo document?" +#: tools/ascli-actions-mdata.c:164 +msgid "You need to specify a term to search for." msgstr "" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand -#: tools/appstream-cli.c:680 -msgid "This command takes optional TYPE and FILE positional arguments, FILE being a file to write to (or \"-\" for standard output)." +#. TRANSLATORS: We failed to find any component in the database, likely due to an error +#: tools/ascli-actions-mdata.c:177 +#, c-format +msgid "Unable to find component matching %s!" msgstr "" -#: src/as-validator-issue-tag.h:622 -msgid "This component extends, provides, requires or recommends itself, which is certainly not intended and may confuse users or machines dealing with this metadata." +#: tools/ascli-actions-mdata.c:182 +#, c-format +msgid "No component matching '%s' found." msgstr "" -#: src/as-validator-issue-tag.h:579 -msgid "This component metadata refers to a non-existing .desktop file." +#: tools/ascli-actions-mdata.c:206 +msgid "No value for the item to search for was defined." msgstr "" -#: src/as-validator-issue-tag.h:69 -msgid "This description paragraph contains invalid markup. Currently, only and are permitted." +#: tools/ascli-actions-mdata.c:212 +msgid "Invalid type for provided item selected. Valid values are:" msgstr "" -#: src/as-validator-issue-tag.h:57 -msgid "This element (paragraph, list, etc.) of a tag must not be localized individually in collection metadata. Localize the whole tag instead. The AppStream collection metadata generator (e.g. `appstream-generator`) will already do the right thing when compiling the data." +#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results +#: tools/ascli-actions-mdata.c:227 +#, c-format +msgid "Could not find component providing '%s::%s'." msgstr "" -#: src/as-validator-issue-tag.h:455 -msgid "This generic component is missing a long description. It may be useful to add one." +#: tools/ascli-actions-mdata.c:306 +msgid "You need to specify a metadata file." msgstr "" -#: src/as-validator-issue-tag.h:421 -msgid "This tag is a GNOME-specific extension to AppStream and not part of the official specification. Do not expect it to work in all implementations and in all software centers." +#: tools/ascli-actions-mdata.c:320 +#, c-format +msgid "Unable to install metadata file: %s" msgstr "" -#: src/as-validator-issue-tag.h:41 -msgid "This tag requires a type property." +#: tools/ascli-actions-mdata.c:340 +msgid "You need to specify an input and output file." msgstr "" -#: data/org.freedesktop.appstream.cli.metainfo.xml:15 -msgid "This tool allows for reading, writing, validating and transformation of AppStream XML or YAML metadata. It also gives access to the system metadata pool, for example to query for software that provides a specific MIME-type, and installing it by its software component identifier." +#: tools/ascli-actions-mdata.c:347 +#, c-format +msgid "Metadata file '%s' does not exist." msgstr "" -#: src/as-validator-issue-tag.h:388 -msgid "This web link uses the FTP protocol. Consider switching to HTTP(S) instead." +#. TRANSLATORS: User is trying to convert a file in ascli +#: tools/ascli-actions-mdata.c:387 +msgid "Unable to convert file: Could not determine output format, please set it explicitly using '--format='." msgstr "" -#: tools/appstream-cli.c:648 -msgid "Too many parameters: Need two version numbers or version numbers and a comparison operator." +#: tools/ascli-actions-mdata.c:438 +#, c-format +msgid "Unable to find operating system component '%s'!" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:461 -msgid "Type 'console-application' component, but no information about binaries in $PATH was provided via a 'provides/binary' tag." +#: tools/ascli-actions-mdata.c:443 +msgid "Version" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:491 -msgid "Type 'driver' component, but no modalias information was provided via a provides/modalias tag." +#: tools/ascli-actions-mdata.c:467 +msgid "You need to give an AppStream software component type to generate a template. Possible values are:" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:485 -msgid "Type 'font' component, but no font information was provided via a 'provides/font' tag." +#: tools/ascli-actions-mdata.c:469 +#, c-format +msgid "The software component type '%s' is not valid in AppStream. Possible values are:" msgstr "" -#: src/as-validator.c:333 -msgid "URL format is invalid." +#: tools/ascli-actions-mdata.c:487 +#, c-format +msgid "The .desktop file '%s' does not exist." msgstr "" -#: tools/ascli-actions-mdata.c:544 +#: tools/ascli-actions-mdata.c:493 #, c-format -msgid "Unable to build the template metainfo file: %s" +msgid "Unable to read the .desktop file: %s" msgstr "" -#. TRANSLATORS: User is trying to convert a file in ascli -#: tools/ascli-actions-mdata.c:400 -msgid "Unable to convert file: Could not determine output format, please set it explicitly using '--format='." +#: tools/ascli-actions-mdata.c:564 +#, c-format +msgid "Unable to build the template metainfo file: %s" msgstr "" -#. TRANSLATORS: We failed to find any component in the database, likely due to an error -#: tools/ascli-actions-mdata.c:177 +#: tools/ascli-actions-mdata.c:572 #, c-format -msgid "Unable to find component matching %s!" +msgid "Unable to save the template metainfo file: %s" msgstr "" -#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:266 -#: tools/ascli-actions-pkgmgr.c:93 -#, c-format -msgid "Unable to find component with ID '%s'!" +#. TRANSLATORS: In the status report of ascli: Header +#: tools/ascli-actions-misc.c:47 +msgid "AppStream Status:" msgstr "" -#: tools/ascli-actions-misc.c:224 +#: tools/ascli-actions-misc.c:48 #, c-format -msgid "Unable to load existing desktop-entry file template: %s" +msgid "Version: %s" msgstr "" -#: src/as-validator-issue-tag.h:356 -msgid "Unable to reach remote icon at the given web location - does it exist?" +#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions +#: tools/ascli-actions-misc.c:52 +msgid "Distribution metadata:" msgstr "" -#: src/as-validator-issue-tag.h:378 -msgid "Unable to reach remote location that this URL references - does it exist?" +#: tools/ascli-actions-misc.c:94 +msgid "Iconsets" msgstr "" -#: src/as-validator-issue-tag.h:179 -msgid "Unable to reach the screenshot image on its remote location - does the image exist?" +#: tools/ascli-actions-misc.c:105 +msgid "No icons." msgstr "" -#: src/as-validator-issue-tag.h:184 -msgid "Unable to reach the screenshot video on its remote location - does the video file exist?" +#. TRANSLATORS: No metainfo files have been found +#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 +msgid "Empty." msgstr "" -#: src/as-validator-issue-tag.h:542 -msgid "Unable to read file." +#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report +#: tools/ascli-actions-misc.c:116 +msgid "Metainfo files:" msgstr "" -#: src/as-validator-issue-tag.h:574 -msgid "Unable to read the .desktop file associated with this component." +#: tools/ascli-actions-misc.c:123 +#, c-format +msgid "Found %i components." msgstr "" -#: tools/ascli-actions-mdata.c:473 +#. TRANSLATORS: Found metainfo files in legacy directories +#: tools/ascli-actions-misc.c:138 #, c-format -msgid "Unable to read the .desktop file: %s" +msgid "Found %i components in legacy paths." msgstr "" -#: src/as-pool.c:606 -msgid "Unable to remove old cache." +#. TRANSLATORS: Status summary in ascli +#: tools/ascli-actions-misc.c:145 +msgid "Summary:" msgstr "" -#: tools/ascli-actions-misc.c:370 +#: tools/ascli-actions-misc.c:153 #, c-format -msgid "Unable to save desktop entry file: %s" +msgid "We have information on %i software components." msgstr "" -#: tools/ascli-actions-mdata.c:552 +#: tools/ascli-actions-misc.c:159 #, c-format -msgid "Unable to save the template metainfo file: %s" +msgid "Error while loading the metadata pool: %s" msgstr "" -#: tools/ascli-actions-pkgmgr.c:67 +#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 +msgid "You need to specify a metainfo file as input." +msgstr "" + +#: tools/ascli-actions-misc.c:188 +msgid "You need to specify a desktop-entry file to create or augment as output." +msgstr "" + +#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 +#: tools/ascli-actions-misc.c:515 #, c-format -msgid "Unable to spawn package manager: %s" +msgid "Metainfo file '%s' does not exist." msgstr "" -#: tools/ascli-actions-mdata.c:322 +#: tools/ascli-actions-misc.c:219 #, c-format -msgid "Unable to write to '%s', can not install metainfo file." +msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." msgstr "" -#. TRANSLATORS: ascli has been run with unknown command. -#: tools/appstream-cli.c:1009 +#: tools/ascli-actions-misc.c:224 #, c-format -msgid "Unknown command '%s'." +msgid "Unable to load existing desktop-entry file template: %s" msgstr "" -#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. -#: tools/appstream-cli.c:608 +#: tools/ascli-actions-misc.c:228 #, c-format -msgid "Unknown compare relation '%s'. Valid values are:" +msgid "Creating new desktop-entry file '%s' using data from '%s'" msgstr "" -#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) -#: tools/appstream-cli.c:675 -msgid "Use the given .desktop file to fill in the basic values of the metainfo file." +#: tools/ascli-actions-misc.c:284 +msgid "No stock icon name was provided in the metainfo file. Can not continue." msgstr "" -#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) -#: tools/appstream-cli.c:725 -msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." +#: tools/ascli-actions-misc.c:306 +msgid "No provided binary specified in metainfo file, and no exec command specified via '--exec'. Can not create 'Exec=' key." msgstr "" -#. TRANSLATORS: this is the menu spec main category for Utilities -#: src/as-category.c:329 -msgid "Utilities" +#: tools/ascli-actions-misc.c:370 +#, c-format +msgid "Unable to save desktop entry file: %s" msgstr "" -#: tools/appstream-cli.c:856 -msgid "Validate AppStream XML files for issues." +#: tools/ascli-actions-misc.c:393 +msgid "You need to specify a NEWS file as input." msgstr "" -#: tools/appstream-cli.c:857 -msgid "Validate an installed file-tree of an application for valid metadata." +#: tools/ascli-actions-misc.c:397 +msgid "You need to specify a metainfo file to augment, or '-' to print to stdout." msgstr "" -#: tools/ascli-actions-validate.c:301 tools/ascli-actions-validate.c:442 -#, c-format -msgid "Validation failed: %s" +#: tools/ascli-actions-misc.c:402 +msgid "No output filename specified, modifying metainfo file directly." msgstr "" -#: tools/ascli-actions-validate.c:289 tools/ascli-actions-validate.c:430 -msgid "Validation was successful." +#: tools/ascli-actions-misc.c:509 +msgid "You need to specify a NEWS file as output, or '-' to print to stdout." msgstr "" -#: tools/ascli-actions-validate.c:291 tools/ascli-actions-validate.c:432 -#, c-format -msgid "Validation was successful: %s" +#: tools/ascli-actions-misc.c:540 +msgid "You need to specify a NEWS format to write the output in." msgstr "" -#: tools/appstream-cli.c:851 -msgid "Value of the item that should be found." +#: tools/ascli-actions-pkgmgr.c:53 +msgid "No suitable package manager CLI found. Please make sure that e.g. \"pkcon\" (part of PackageKit) is available." msgstr "" -#: src/as-category.c:177 -msgctxt "Category of Graphics" -msgid "Vector Graphics" +#: tools/ascli-actions-pkgmgr.c:67 +#, c-format +msgid "Unable to spawn package manager: %s" msgstr "" -#: tools/ascli-actions-misc.c:48 +#. TRANSLATORS: We found no distribution package or bundle to install to make this software available +#: tools/ascli-actions-pkgmgr.c:106 #, c-format -msgid "Version: %s" +msgid "Component '%s' has no installation candidate." msgstr "" -#: src/as-category.c:180 -msgctxt "Category of Graphics" -msgid "Viewers" +#: tools/ascli-actions-validate.c:176 tools/ascli-actions-validate.c:354 +#, c-format +msgid "File '%s' does not exist." msgstr "" -#: tools/ascli-actions-misc.c:153 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "error"-type hints +#: tools/ascli-actions-validate.c:228 #, c-format -msgid "We have information on %i software components." +msgid "errors: %lu" msgstr "" -#: src/as-category.c:270 -msgctxt "Category of Communication" -msgid "Web Browsers" +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "warning"-type hints +#: tools/ascli-actions-validate.c:235 +#, c-format +msgid "warnings: %lu" msgstr "" -#: src/as-category.c:202 -msgctxt "Category of Office" -msgid "Word Processor" +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "info"-type hints +#: tools/ascli-actions-validate.c:242 +#, c-format +msgid "infos: %lu" msgstr "" -#: tools/appstream-cli.c:871 -msgid "Write NEWS text or YAML file with information from a metainfo file." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "pedantic"-type hints +#: tools/ascli-actions-validate.c:249 +#, c-format +msgid "pedantic: %lu" msgstr "" -#: tools/appstream-cli.c:874 -msgid "You can find information about subcommand-specific options by passing \"--help\" to the subcommand." +#: tools/ascli-actions-validate.c:268 tools/ascli-actions-validate.c:342 +msgid "You need to specify at least one file to validate!" msgstr "" -#. TRANSLATORS: In ascli: The requested action needs higher permissions. -#: tools/ascli-actions-mdata.c:70 -msgid "You might need superuser permissions to perform this action." +#: tools/ascli-actions-validate.c:294 tools/ascli-actions-validate.c:435 +msgid "Validation was successful." msgstr "" -#: tools/ascli-actions-mdata.c:447 -msgid "You need to give an AppStream software component type to generate a template. Possible values are:" +#: tools/ascli-actions-validate.c:296 tools/ascli-actions-validate.c:437 +#, c-format +msgid "Validation was successful: %s" msgstr "" -#: tools/appstream-cli.c:579 -msgid "You need to provide at least two version numbers to compare as parameters." +#: tools/ascli-actions-validate.c:306 tools/ascli-actions-validate.c:447 +#, c-format +msgid "Validation failed: %s" msgstr "" -#: tools/ascli-actions-misc.c:393 -msgid "You need to specify a NEWS file as input." +#: tools/ascli-actions-validate.c:368 tools/ascli-actions-validate.c:497 +#, c-format +msgid "The validator can not create reports in the '%s' format. You may select 'yaml' or 'text' instead." msgstr "" -#: tools/ascli-actions-misc.c:509 -msgid "You need to specify a NEWS file as output, or '-' to print to stdout." +#: tools/ascli-actions-validate.c:390 tools/ascli-actions-validate.c:484 +msgid "You need to specify a root directory to start validation!" msgstr "" -#: tools/ascli-actions-misc.c:540 -msgid "You need to specify a NEWS format to write the output in." +#: tools/ascli-utils.c:266 +msgid "Identifier" msgstr "" -#. TRANSLATORS: ascli has been run without command. -#: tools/appstream-cli.c:925 -msgid "You need to specify a command." +#: tools/ascli-utils.c:268 +msgid "Internal ID" msgstr "" -#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments -#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. -#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:254 -#: tools/ascli-actions-pkgmgr.c:80 -msgid "You need to specify a component-ID." +#: tools/ascli-utils.c:269 +msgid "Name" msgstr "" -#: tools/ascli-actions-misc.c:188 -msgid "You need to specify a desktop-entry file to create or augment as output." +#: tools/ascli-utils.c:270 +msgid "Summary" msgstr "" -#: tools/ascli-actions-mdata.c:309 -msgid "You need to specify a metadata file." +#: tools/ascli-utils.c:271 +msgid "Package" msgstr "" -#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 -msgid "You need to specify a metainfo file as input." +#: tools/ascli-utils.c:272 +msgid "Bundle" msgstr "" -#: tools/ascli-actions-misc.c:397 -msgid "You need to specify a metainfo file to augment, or '-' to print to stdout." +#: tools/ascli-utils.c:273 +msgid "Homepage" msgstr "" -#: tools/ascli-actions-validate.c:385 tools/ascli-actions-validate.c:479 -msgid "You need to specify a root directory to start validation!" +#: tools/ascli-utils.c:274 +msgid "Icon" msgstr "" -#: tools/ascli-actions-mdata.c:164 -msgid "You need to specify a term to search for." +#. developer name +#: tools/ascli-utils.c:294 +msgid "Developer" msgstr "" -#: tools/ascli-actions-mdata.c:357 -msgid "You need to specify an input and output file." +#: tools/ascli-utils.c:300 +msgid "Extends" msgstr "" -#: tools/ascli-actions-validate.c:263 tools/ascli-actions-validate.c:337 -msgid "You need to specify at least one file to validate!" +#: tools/ascli-utils.c:306 +msgid "Description" msgstr "" -#. TRANSLATORS: List of "grey-listed" words sperated with ";" -#. * Do not translate this list directly. Instead, -#. * provide a list of words in your language that people are likely -#. * to include in a search but that should normally be ignored in -#. * the search. -#. -#: src/as-pool.c:107 -msgid "app;application;package;program;programme;suite;tool" +#: tools/ascli-utils.c:326 +msgid "Default Screenshot URL" msgstr "" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:223 -#, c-format -msgid "errors: %lu" +#. project group +#: tools/ascli-utils.c:333 +msgid "Project Group" msgstr "" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:237 -#, c-format -msgid "infos: %lu" +#. license +#: tools/ascli-utils.c:336 +msgid "License" msgstr "" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:244 -#, c-format -msgid "pedantic: %lu" +#: tools/ascli-utils.c:342 +msgid "Categories" msgstr "" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:230 -#, c-format -msgid "warnings: %lu" +#: tools/ascli-utils.c:350 +msgid "Compulsory for" +msgstr "" + +#: tools/ascli-utils.c:378 +msgid "Provided Items" msgstr "" diff -Nru appstream-0.12.10/po/ar.po appstream-0.14.5/po/ar.po --- appstream-0.12.10/po/ar.po 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/po/ar.po 2021-08-28 20:15:28.000000000 +0000 @@ -1,14 +1,15 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Matthias Klumpp # This file is distributed under the same license as the appstream package. -# FIRST AUTHOR , YEAR. -# +# Hahato Toshino , 2020. +# احمد الملاح , 2020. +# mohammadA , 2020. msgid "" msgstr "" "Project-Id-Version: appstream\n" "Report-Msgid-Bugs-To: appstream@lists.freedesktop.org\n" -"POT-Creation-Date: 2020-01-14 01:44+0100\n" -"PO-Revision-Date: 2018-11-24 10:08+0000\n" +"POT-Creation-Date: 2021-08-28 16:09+0200\n" +"PO-Revision-Date: 2020-10-15 00:26+0000\n" "Last-Translator: mohammadA \n" "Language-Team: Arabic \n" @@ -18,116 +19,1054 @@ "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " "&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" -"X-Generator: Weblate 3.3-dev\n" +"X-Generator: Weblate 4.3-dev\n" -#: tools/appstream-cli.c:157 +#: data/org.freedesktop.appstream.cli.metainfo.xml:8 +msgid "AppStream CLI" +msgstr "شاشة توجيه الأوامر إلى آب-ستريم" + +#: data/org.freedesktop.appstream.cli.metainfo.xml:9 +msgid "An utility to work with AppStream metadata" +msgstr "أداة للتعامل مع بيانات AppStream الوصفية" + +#: data/org.freedesktop.appstream.cli.metainfo.xml:12 +msgid "" +"AppStream is a metadata specification which permits software components to " +"provide information about themselves to automated systems and end-users " +"before the software is actually installed. The AppStream project provides " +"facilities to easily access and transform this metadata, as well as a few " +"additional services for building feature-rich software centers and similar " +"applications that make use of software metadata." +msgstr "" + +#: data/org.freedesktop.appstream.cli.metainfo.xml:18 +msgid "" +"The appstreamcli command-line tool allows to read, write, and " +"transform AppStream XML or YAML metadata as well as to validate it for " +"compliance with the specification. It also provides easy access to the " +"system metadata pool, for example to query for software that provides a " +"specific Mediatype handler or for installing software by its component " +"identifier." +msgstr "" + +#: src/as-category.c:66 +msgctxt "Category of AudioVideo" +msgid "Featured" +msgstr "مميزة" + +#: src/as-category.c:69 +msgctxt "Category of AudioVideo" +msgid "Audio Creation & Editing" +msgstr "إنشاء الصوتيات وتعديلها" + +#: src/as-category.c:75 +msgctxt "Category of AudioVideo" +msgid "Music Players" +msgstr "" + +#: src/as-category.c:84 +msgctxt "Category of Development" +msgid "Featured" +msgstr "مميزة" + +#: src/as-category.c:87 +msgctxt "Category of Development" +msgid "Debuggers" +msgstr "المنقحات" + +#: src/as-category.c:90 +msgctxt "Category of Development" +msgid "IDEs" +msgstr "بيئات التطوير" + +#: src/as-category.c:99 +msgctxt "Category of Education" +msgid "Featured" +msgstr "مميزة" + +#: src/as-category.c:102 +msgctxt "Category of Education" +msgid "Astronomy" +msgstr "علم الفلك" + +#: src/as-category.c:105 +msgctxt "Category of Education" +msgid "Chemistry" +msgstr "الإنسجام/الكيمياء" + +#: src/as-category.c:108 +msgctxt "Category of Education" +msgid "Languages" +msgstr "لغات" + +#: src/as-category.c:112 +msgctxt "Category of Education" +msgid "Math" +msgstr "رياضيات" + +#: src/as-category.c:121 +msgctxt "Category of Games" +msgid "Featured" +msgstr "مميزة" + +#: src/as-category.c:124 +msgctxt "Category of Games" +msgid "Action" +msgstr "إثارة" + +#: src/as-category.c:127 +msgctxt "Category of Games" +msgid "Adventure" +msgstr "مغامرة" + +#: src/as-category.c:130 +msgctxt "Category of Games" +msgid "Arcade" +msgstr "آركيد" + +#: src/as-category.c:133 +msgctxt "Category of Games" +msgid "Blocks" +msgstr "القوالب" + +#: src/as-category.c:136 +msgctxt "Category of Games" +msgid "Board" +msgstr "" + +#: src/as-category.c:139 +msgctxt "Category of Games" +msgid "Card" +msgstr "البطاقة" + +#: src/as-category.c:142 +msgctxt "Category of Games" +msgid "Emulators" +msgstr "محاكيات" + +#: src/as-category.c:145 +msgctxt "Category of Games" +msgid "Kids" +msgstr "أطفال" + +#: src/as-category.c:148 +msgctxt "Category of Games" +msgid "Logic" +msgstr "منطق" + +#: src/as-category.c:151 +msgctxt "Category of Games" +msgid "Role Playing" +msgstr "" + +#: src/as-category.c:154 +msgctxt "Category of Games" +msgid "Sports" +msgstr "الرياضية" + +#: src/as-category.c:158 +msgctxt "Category of Games" +msgid "Strategy" +msgstr "" + +#: src/as-category.c:166 +msgctxt "Category of Graphics" +msgid "Featured" +msgstr "مميزة" + +#: src/as-category.c:169 +msgctxt "Category of Graphics" +msgid "3D Graphics" +msgstr "رسومات ثلاثية الأبعاد" + +#: src/as-category.c:172 +msgctxt "Category of Graphics" +msgid "Photography" +msgstr "صور فوتوغرافية" + +#: src/as-category.c:175 +msgctxt "Category of Graphics" +msgid "Scanning" +msgstr "المسح" + +#: src/as-category.c:178 +msgctxt "Category of Graphics" +msgid "Vector Graphics" +msgstr "" + +#: src/as-category.c:181 +msgctxt "Category of Graphics" +msgid "Viewers" +msgstr "" + +#: src/as-category.c:189 +msgctxt "Category of Office" +msgid "Featured" +msgstr "مميزة" + +#: src/as-category.c:192 +msgctxt "Category of Office" +msgid "Calendar" +msgstr "التقويم" + +#: src/as-category.c:196 +msgctxt "Category of Office" +msgid "Database" +msgstr "قواعد البيانات" + +#: src/as-category.c:199 +msgctxt "Category of Office" +msgid "Finance" +msgstr "اقتصاد" + +#: src/as-category.c:203 +msgctxt "Category of Office" +msgid "Word Processor" +msgstr "" + +#: src/as-category.c:212 +msgctxt "Category of Addons" +msgid "Fonts" +msgstr "خطوط" + +#: src/as-category.c:215 +msgctxt "Category of Addons" +msgid "Codecs" +msgstr "برامج الترميز" + +#: src/as-category.c:218 +msgctxt "Category of Addons" +msgid "Input Sources" +msgstr "مصادر دخل" + +#: src/as-category.c:221 +msgctxt "Category of Addons" +msgid "Language Packs" +msgstr "حزم اللغات" + +#: src/as-category.c:224 +msgctxt "Category of Addons" +msgid "Localization" +msgstr "توطين" + +#: src/as-category.c:232 +msgctxt "Category of Science" +msgid "Featured" +msgstr "مميزة" + +#: src/as-category.c:235 +msgctxt "Category of Science" +msgid "Artificial Intelligence" +msgstr "الذكاء الاصطناعي" + +#: src/as-category.c:238 +msgctxt "Category of Science" +msgid "Astronomy" +msgstr "علم الفلك" + +#: src/as-category.c:241 +msgctxt "Category of Science" +msgid "Chemistry" +msgstr "" + +#: src/as-category.c:244 +msgctxt "Category of Science" +msgid "Math" +msgstr "رياضيات" + +#: src/as-category.c:249 +msgctxt "Category of Science" +msgid "Robotics" +msgstr "الروبوتات" + +#: src/as-category.c:257 +msgctxt "Category of Communication" +msgid "Featured" +msgstr "مميزة" + +#: src/as-category.c:260 +msgctxt "Category of Communication" +msgid "Chat" +msgstr "المحادثة" + +#: src/as-category.c:267 +msgctxt "Category of Communication" +msgid "News" +msgstr "الأخبار" + +#: src/as-category.c:271 +msgctxt "Category of Communication" +msgid "Web Browsers" +msgstr "" + +#: src/as-category.c:279 +msgctxt "Category of Utility" +msgid "Featured" +msgstr "مميزة" + +#: src/as-category.c:282 +msgctxt "Category of Utility" +msgid "Text Editors" +msgstr "محررات النصوص" + +#: src/as-category.c:285 +msgctxt "Category of Utility" +msgid "Terminal Emulators" +msgstr "محاكيات الطرفية" + +#: src/as-category.c:288 +msgctxt "Category of Utility" +msgid "File System" +msgstr "نظام الملفات" + +#: src/as-category.c:291 +msgctxt "Category of Utility" +msgid "System Monitoring" +msgstr "مراقبة النظام" + +#: src/as-category.c:294 +msgctxt "Category of Utility" +msgid "Security" +msgstr "الأمن" + +#. TRANSLATORS: this is the menu spec main category for Audio & Video +#: src/as-category.c:303 +msgid "Audio & Video" +msgstr "الصوت والصورة" + +#. TRANSLATORS: this is the menu spec main category for Development +#: src/as-category.c:306 +msgid "Developer Tools" +msgstr "أدوات المطور" + +#. TRANSLATORS: this is the menu spec main category for Education +#: src/as-category.c:309 +msgid "Education" +msgstr "تعليم" + +#. TRANSLATORS: this is the menu spec main category for Game +#: src/as-category.c:312 +msgid "Games" +msgstr "ألعاب" + +#. TRANSLATORS: this is the menu spec main category for Graphics +#: src/as-category.c:315 +msgid "Graphics & Photography" +msgstr "تصور ورسوميات" + +#. TRANSLATORS: this is the menu spec main category for Office +#: src/as-category.c:318 +msgid "Office" +msgstr "المكتب" + +#. TRANSLATORS: this is the main category for Add-ons +#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor +#: src/as-category.c:321 tools/ascli-utils.c:371 +msgid "Add-ons" +msgstr "الإضافات" + +#. TRANSLATORS: this is the menu spec main category for Science +#: src/as-category.c:324 +msgid "Science" +msgstr "العلوم" + +#. TRANSLATORS: this is the menu spec main category for Communication +#: src/as-category.c:327 +msgid "Communication & News" +msgstr "التواصل والأخبار" + +#. TRANSLATORS: this is the menu spec main category for Utilities +#: src/as-category.c:330 +msgid "Utilities" +msgstr "" + +#. TRANSLATORS: This is the formatting of English and localized name +#. * of the rating e.g. "Adults Only (solo adultos)" +#: src/as-content-rating.c:298 +#, c-format +msgid "%s (%s)" +msgstr "" + +#: src/as-content-rating.c:444 +msgid "General" +msgstr "" + +#: src/as-content-rating.c:453 +msgid "ALL" +msgstr "" + +#: src/as-content-rating.c:457 src/as-content-rating.c:560 +msgid "Adults Only" +msgstr "البالغون فقط" + +#: src/as-content-rating.c:459 src/as-content-rating.c:559 +#, fuzzy +msgid "Mature" +msgstr "مميزة" + +#: src/as-content-rating.c:461 src/as-content-rating.c:558 +msgid "Teen" +msgstr "" + +#: src/as-content-rating.c:463 src/as-content-rating.c:557 +msgid "Everyone 10+" +msgstr "" + +#: src/as-content-rating.c:465 src/as-content-rating.c:556 +msgid "Everyone" +msgstr "" + +#: src/as-content-rating.c:467 src/as-content-rating.c:555 +msgid "Early Childhood" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:839 +msgid "No cartoon violence" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:841 +msgid "Cartoon characters in unsafe situations" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:843 +msgid "Cartoon characters in aggressive conflict" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:845 +msgid "Graphic violence involving cartoon characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:850 +msgid "No fantasy violence" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:852 +msgid "Characters in unsafe situations easily distinguishable from reality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:854 +msgid "Characters in aggressive conflict easily distinguishable from reality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:856 +msgid "Graphic violence easily distinguishable from reality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:861 +msgid "No realistic violence" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:863 +msgid "Mildly realistic characters in unsafe situations" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:865 +msgid "Depictions of realistic characters in aggressive conflict" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:867 +msgid "Graphic violence involving realistic characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:872 +msgid "No bloodshed" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:874 +msgid "Unrealistic bloodshed" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:876 +msgid "Realistic bloodshed" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:878 +msgid "Depictions of bloodshed and the mutilation of body parts" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:883 +msgid "No sexual violence" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:885 +msgid "Rape or other violent sexual behavior" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:892 +msgid "No references to alcohol" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:894 +msgid "References to alcoholic beverages" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:896 +msgid "Use of alcoholic beverages" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:902 +msgid "No references to illicit drugs" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:904 +msgid "References to illicit drugs" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:906 +msgid "Use of illicit drugs" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:912 +msgid "No references to tobacco products" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:914 +msgid "References to tobacco products" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:916 +msgid "Use of tobacco products" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:922 +msgid "No nudity of any sort" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:924 +msgid "Brief artistic nudity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:926 +msgid "Prolonged nudity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:932 +msgid "No references to or depictions of sexual nature" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:934 +msgid "Provocative references or depictions" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:936 +msgid "Sexual references or depictions" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:938 +msgid "Graphic sexual behavior" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:943 +msgid "No profanity of any kind" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:945 +msgid "Mild or infrequent use of profanity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:947 +msgid "Moderate use of profanity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:949 +msgid "Strong or frequent use of profanity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:954 +msgid "No inappropriate humor" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:956 +msgid "Slapstick humor" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:958 +msgid "Vulgar or bathroom humor" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:960 +msgid "Mature or sexual humor" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:965 +msgid "No discriminatory language of any kind" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:967 +msgid "Negativity towards a specific group of people" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:969 +msgid "Discrimination designed to cause emotional harm" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:971 +msgid "Explicit discrimination based on gender, sexuality, race or religion" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:976 +msgid "No advertising of any kind" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:978 +msgid "Product placement" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:980 +msgid "Explicit references to specific brands or trademarked products" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:982 +msgid "Users are encouraged to purchase specific real-world items" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:987 +msgid "No gambling of any kind" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:989 +msgid "Gambling on random events using tokens or credits" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:991 +msgid "Gambling using “play” money" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:993 +msgid "Gambling using real money" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:998 +msgid "No ability to spend money" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1000 +msgid "Users are encouraged to donate real money" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1003 +msgid "Ability to spend real money in-app" +msgstr "إمكانية صرف نقود حقيقية داخل التطبيق" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1008 +msgid "No way to chat with other users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1010 +msgid "User-to-user interactions without chat functionality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1012 +msgid "Moderated chat functionality between users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1014 +msgid "Uncontrolled chat functionality between users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1019 +msgid "No way to talk with other users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1021 +msgid "Uncontrolled audio or video chat functionality between users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1028 +msgid "No sharing of social network usernames or email addresses" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1030 +msgid "Sharing social network usernames or email addresses" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1037 +msgid "No sharing of user information with third parties" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1039 +msgid "Checking for the latest application version" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1041 +msgid "Sharing diagnostic data that does not let others identify the user" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1043 +msgid "Sharing information that lets others identify the user" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1048 +msgid "No sharing of physical location with other users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1050 +msgid "Sharing physical location with other users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1073 +msgid "No references to homosexuality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1075 +msgid "Indirect references to homosexuality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1077 +msgid "Kissing between people of the same gender" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1079 +msgid "Graphic sexual behavior between people of the same gender" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1084 +msgid "No references to prostitution" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1086 +msgid "Indirect references to prostitution" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1088 +msgid "Direct references to prostitution" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1090 +msgid "Graphic depictions of the act of prostitution" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1095 +msgid "No references to adultery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1097 +msgid "Indirect references to adultery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1099 +msgid "Direct references to adultery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1101 +msgid "Graphic depictions of the act of adultery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1106 +msgid "No sexualized characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1109 +msgid "Scantily clad human characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1111 +msgid "Overtly sexualized human characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1116 +msgid "No references to desecration" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1118 +msgid "Depictions of or references to historical desecration" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1120 +msgid "Depictions of modern-day human desecration" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1122 +msgid "Graphic depictions of modern-day desecration" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1127 +msgid "No visible dead human remains" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1129 +msgid "Visible dead human remains" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1131 +msgid "Dead human remains that are exposed to the elements" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1133 +msgid "Graphic depictions of desecration of human bodies" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1138 +msgid "No references to slavery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1140 +msgid "Depictions of or references to historical slavery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1142 +msgid "Depictions of modern-day slavery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1144 +msgid "Graphic depictions of modern-day slavery" +msgstr "" + +#. TRANSLATORS: We got a 429 error while trying to download data +#: src/as-curl.c:134 #, c-format -msgid "'%s' command" -msgstr "أمر ’%s’" +msgid "Failed to download due to server limit" +msgstr "" -#: src/as-category.c:168 -msgctxt "Category of Graphics" -msgid "3D Graphics" -msgstr "رسومات ثلاثية الأبعاد" +#: src/as-curl.c:141 src/as-curl.c:148 +#, c-format +msgid "Failed to download file: %s" +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:254 -msgid "" -"A 'requires' or 'recommends' item requires a value to denote a valid " -"relation." +#. TRANSLATORS: We tried to download an URL, but received a 404 error code +#: src/as-curl.c:157 +#, c-format +msgid "URL was not found on the server." msgstr "" -#: src/as-validator-issue-tag.h:51 +#. TRANSLATORS: We received an uexpected HTTP status code while talking to a server, likely an error +#: src/as-curl.c:164 +#, c-format +msgid "Unexpected status code: %ld" +msgstr "" + +#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty +#: src/as-curl.c:247 +#, c-format +msgid "Retrieved file size was zero." +msgstr "" + +#. TRANSLATORS: List of "grey-listed" words sperated with ";" +#. * Do not translate this list directly. Instead, +#. * provide a list of words in your language that people are likely +#. * to include in a search but that should normally be ignored in +#. * the search. +#. +#: src/as-pool.c:111 +msgid "app;application;package;program;programme;suite;tool" +msgstr "" + +#: src/as-pool.c:620 +msgid "Unable to remove old cache." +msgstr "" + +#: src/as-pool.c:963 +msgid "Metadata files have errors:" +msgstr "ملفات البيانات الوصفية تحوي أخطاءً:" + +#: src/as-pool.c:1370 msgid "" -"A tag must not be localized in metainfo files (upstream " -"metadata). Localize the individual paragraphs instead." +"Many components have been recognized as invalid. See debug output for " +"details." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:195 +#: src/as-pool.c:1996 +#, c-format +msgid "Cache location '%s' is not writable." +msgstr "لا يمكن الكتابة في هذا الموقع من ذاكرة التخزين المؤقت '%s'." + +#: src/as-pool.c:2109 +#, fuzzy msgid "" -"A screenshot must contain at least one image or video in order to be useful. " -"Please add an to it." +"The AppStream system cache was updated, but some components were ignored. " +"Refer to the verbose log for more information." msgstr "" +"حُدثت خبيئة آب-ستريم لكنه اكتشف بعض الأخطاء سببها بيانات وصفية مفقودة. ارجع " +"إلى السجل المفصَّل لمعلومات أكثر." -#: src/as-validator-issue-tag.h:200 +#: src/as-pool.c:2111 +#, fuzzy, c-format msgid "" -"A screenshot must contain either images or videos, but not both at the same " -"time. Please use this screenshot exclusively for either static images or for " -"videos." +"The AppStream system cache was updated, but problems were found which " +"resulted in metadata being ignored: %s" +msgstr "حُدِّثت محتويات ذاكرة تخزين آب-ستريم المؤقتة، لكن وجدت مشكلة: %s" + +#: src/as-pool.c:2125 +#, fuzzy, c-format +msgid "" +"AppStream system cache refresh failed. Turn on verbose mode to get detailed " +"issue information." msgstr "" +"فشل تحديث ذاكرة تخزين آب-ستريم المؤقتة. فعّل وضع التفصيل (verbose) للحصول على " +"معلومات أكثر تفصيلاً عن المشكلة." -#: src/as-category.c:123 -#, fuzzy -msgctxt "Category of Games" -msgid "Action" -msgstr "عمل" +#: src/as-provided.c:144 +msgid "Libraries" +msgstr "مكتبات" -#. TRANSLATORS: this is the main category for Add-ons -#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor -#: src/as-category.c:320 tools/ascli-utils.c:398 -msgid "Add-ons" -msgstr "الإضافات" +#: src/as-provided.c:146 +msgid "Binaries" +msgstr "الثنائيات" -#: src/as-category.c:126 -msgctxt "Category of Games" -msgid "Adventure" -msgstr "مغامرة" +#: src/as-provided.c:148 +msgid "Media types" +msgstr "" -#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) -#: tools/appstream-cli.c:116 -msgid "Also show pedantic hints." -msgstr "أظهر التلميحات الإصطلاحية أيضًا." +#: src/as-provided.c:150 +msgid "Fonts" +msgstr "خطوط" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:497 -msgid "" -"An 'extends' tag is specified, but the component is not of type 'addon', " -"'localization' or 'repository'." +#: src/as-provided.c:152 +msgid "Modaliases" msgstr "" -#: tools/appstream-cli.c:850 -msgid "An item type (e.g. lib, bin, python3, …)" -msgstr "نوع العنصر (مثال lib، bin، python3، ...)" +#: src/as-provided.c:154 +msgid "Python (Version 2)" +msgstr "بايثون (نسخة ٢)" -#: data/org.freedesktop.appstream.cli.metainfo.xml:9 -msgid "An utility to work with AppStream metadata" -msgstr "أداة للتعامل مع بيانات AppStream الوصفية" +#: src/as-provided.c:156 +msgid "Python 3" +msgstr "بايثون ٣" -#: data/org.freedesktop.appstream.cli.metainfo.xml:8 +#: src/as-provided.c:158 #, fuzzy -msgid "AppStream CLI" -msgstr "حالة آب-ستريم:" +msgid "D-Bus System Services" +msgstr "خدمات نظام DBus" -#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. -#: tools/appstream-cli.c:947 -#, c-format -msgid "" -"AppStream CLI tool version: %s\n" -"AppStream library version: %s" +#: src/as-provided.c:160 +#, fuzzy +msgid "D-Bus Session Services" +msgstr "خدمات جلسة DBus" + +#: src/as-provided.c:162 +msgid "Runtime Firmware" +msgstr "" + +#: src/as-provided.c:164 +msgid "Flashed Firmware" +msgstr "" + +#: src/as-provided.c:166 +msgid "Component" +msgstr "مكون" + +#: src/as-validator-issue-tag.h:41 +msgid "This tag requires a type property." msgstr "" -#. TRANSLATORS: In the status report of ascli: Header -#: tools/ascli-actions-misc.c:47 -msgid "AppStream Status:" -msgstr "حالة آب-ستريم:" - -#. we performed a cache refresh -#. TRANSLATORS: Updating the metadata cache succeeded -#: tools/ascli-actions-mdata.c:80 -msgid "AppStream cache update completed successfully." +#: src/as-validator-issue-tag.h:46 +msgid "Tags of this name are not permitted in this section." msgstr "" -#. cache wasn't updated, so the update wasn't necessary -#: tools/ascli-actions-mdata.c:86 -msgid "AppStream cache update is not necessary." -msgstr "تحديث محتويات ذاكرة تخزين آب-ستريم المؤقتة ليس ضروريًّا." +#: src/as-validator-issue-tag.h:51 +msgid "" +"A tag must not be localized in metainfo files (upstream " +"metadata). Localize the individual paragraphs instead." +msgstr "" +"شعار لا يجب أن يتمركز في ملفات المعلومات التعريفية (البيانات " +"التعريفية المعاكسة). بدلاً مِن ذلك، مركِز الفقرات المستقلة." -#. TRANSLATORS: This is the header to the --help menu for subcommands -#. TRANSLATORS: This is the header to the --help menu -#: tools/appstream-cli.c:154 tools/appstream-cli.c:843 -msgid "AppStream command-line interface" -msgstr "شاشة توجيه الأوامر لآب-ستريم" +#: src/as-validator-issue-tag.h:57 +msgid "" +"This element (paragraph, list, etc.) of a tag must not be " +"localized individually in collection metadata. Localize the whole " +" tag instead. The AppStream collection metadata generator (e." +"g. `appstream-generator`) will already do the right thing when compiling the " +"data." +msgstr "" #: src/as-validator-issue-tag.h:63 msgid "" @@ -137,39 +1076,29 @@ "supporting the metainfo specification." msgstr "" -#: data/org.freedesktop.appstream.cli.metainfo.xml:12 -#, fuzzy +#: src/as-validator-issue-tag.h:69 msgid "" -"AppStream is a cross-distribution specification to provide metadata about " -"software components." +"This description paragraph contains invalid markup. Currently, only " +"and are permitted." msgstr "" -"آب-ستريم هو جزء من المواصفات المشتركة لجميع الإصدارات والذي يوفّر البيانات " -"الوصفية للمكوّنات البرمجية." -#: src/as-pool.c:1937 -#, fuzzy, c-format -msgid "" -"AppStream system cache refresh failed. Turn on verbose mode to get detailed " -"issue information." +#: src/as-validator-issue-tag.h:74 +msgid "Enumerations must only have list items (
              3. ) as children." msgstr "" -"فشل تحديث ذاكرة تخزين آب-ستريم المؤقتة. فعّل وضع التفصيل (verbose) للحصول على " -"معلومات أكثر تفصيلاً عن المشكلة." - -#. TRANSLATORS: Output if appstreamcli --version is executed. -#: tools/appstream-cli.c:944 -#, c-format -msgid "AppStream version: %s" -msgstr "إصدار آب-ستريم: %s" -#: src/as-category.c:129 -msgctxt "Category of Games" -msgid "Arcade" -msgstr "آركيد" +#: src/as-validator-issue-tag.h:79 +msgid "" +"The first `description/p` paragraph of this component might be too short (< " +"80 characters). Please consider starting with a longer paragraph to improve " +"how the description looks like in software centers and to provide more " +"detailed information on this component immediately in the first paragraph." +msgstr "" -#: src/as-category.c:234 -msgctxt "Category of Science" -msgid "Artificial Intelligence" -msgstr "الذكاء الاصطناعي" +#: src/as-validator-issue-tag.h:86 +msgid "" +"The description contains a web URL in plain text. This is not allowed, " +"please use the tag instead to share links." +msgstr "" #: src/as-validator-issue-tag.h:91 msgid "" @@ -177,1393 +1106,1429 @@ "this context. Having multiple tags of this kind is not valid." msgstr "" -#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command -#: tools/appstream-cli.c:766 -msgid "Assume the input file is in the selected format ('yaml' or 'text')." +#: src/as-validator-issue-tag.h:96 +msgid "" +"The mentioned tag is empty, which is highly likely not intended as it should " +"have content." msgstr "" -#: src/as-category.c:101 -msgctxt "Category of Education" -msgid "Astronomy" -msgstr "علم الفلك" +#: src/as-validator-issue-tag.h:101 +msgid "" +"The component ID is required to follow a reverse domain-name scheme for its " +"name. See the AppStream specification for details." +msgstr "" -#: src/as-category.c:237 -msgctxt "Category of Science" -msgid "Astronomy" -msgstr "علم الفلك" +#: src/as-validator-issue-tag.h:106 +msgid "" +"The component ID is not a reverse domain-name. Please update the ID to avoid " +"future issues and be compatible with all AppStream implementations.\n" +"You may also consider to update the name of the accompanying .desktop file " +"to follow the latest version of the Desktop-Entry specification and use a " +"rDNS name for it as well. In any case, do not forget to mention the new " +"desktop-entry in a tag for this component to keep the " +"application launchable from software centers and the .desktop file data " +"associated with the metainfo data." +msgstr "" -#. TRANSLATORS: this is the menu spec main category for Audio & Video -#: src/as-category.c:302 -msgid "Audio & Video" -msgstr "الصوت والصورة" +#: src/as-validator-issue-tag.h:114 +msgid "" +"The component ID might not follow the reverse domain-name schema (the TLD " +"used by it is not known to the validator)." +msgstr "" -#: src/as-category.c:68 -msgctxt "Category of AudioVideo" -msgid "Audio Creation & Editing" -msgstr "إنشاء الصوتيات وتعديلها" +#: src/as-validator-issue-tag.h:119 +msgid "" +"The component ID contains an invalid character. Only ASCII characters, dots " +"and numbers are permitted." +msgstr "" -#: tools/ascli-actions-misc.c:219 -#, c-format -msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." +#: src/as-validator-issue-tag.h:124 +msgid "" +"The component ID contains a hyphen/minus. Using a hyphen is strongly " +"discouraged, to improve interoperability with other tools such as D-Bus. A " +"good option is to replace any hyphens with underscores (`_`)." msgstr "" -#: src/as-provided.c:146 -msgid "Binaries" -msgstr "الثنائيات" +#: src/as-validator-issue-tag.h:130 +msgid "" +"The component ID contains a segment starting with a number. Starting a " +"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " +"interoperability with other tools such as D-Bus. Ideally, prefix these " +"segments with an underscore." +msgstr "" -#: src/as-category.c:132 -msgctxt "Category of Games" -msgid "Blocks" -msgstr "القوالب" +#: src/as-validator-issue-tag.h:136 +msgid "The component ID should only contain lowercase letters." +msgstr "" -#: src/as-category.c:135 -msgctxt "Category of Games" -msgid "Board" +#: src/as-validator-issue-tag.h:141 +msgid "" +"The component is part of the Freedesktop project, but its ID does not start " +"with fd.o's reverse-DNS name (\"org.freedesktop\")." msgstr "" -#: tools/ascli-utils.c:299 -msgid "Bundle" -msgstr "حزمة" +#: src/as-validator-issue-tag.h:146 +msgid "" +"The component is part of the KDE project, but its ID does not start with " +"KDEs reverse-DNS name (\"org.kde\")." +msgstr "" -#: src/as-pool.c:1828 -#, c-format -msgid "Cache location '%s' is not writable." -msgstr "لا يمكن الكتابة في هذا الموقع من ذاكرة التخزين المؤقت '%s'." +#: src/as-validator-issue-tag.h:151 +msgid "" +"The component is part of the GNOME project, but its ID does not start with " +"GNOMEs reverse-DNS name (\"org.gnome\")." +msgstr "" -#: src/as-category.c:191 -msgctxt "Category of Office" -msgid "Calendar" -msgstr "التقويم" +#: src/as-validator-issue-tag.h:156 +msgid "The SPDX license expression is invalid and could not be parsed." +msgstr "" -#: tools/ascli-actions-mdata.c:327 -#, c-format +#: src/as-validator-issue-tag.h:161 msgid "" -"Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " -"suffix." +"The license ID was not found in the SPDX database. Please check that the " +"license ID is written in an SPDX-conformant way and is a valid free software " +"license." msgstr "" -"لم نتمكن من نسخ ’%s‘: لا يحتوي الملف على تذييل '.metainfo.xml' ولا '.appdata." -"xml'." -#: src/as-category.c:138 -msgctxt "Category of Games" -msgid "Card" -msgstr "البطاقة" +#: src/as-validator-issue-tag.h:167 +msgid "" +"The metadata itself seems to be licensed under a complex collection of " +"licenses. Please license the data under a simple permissive license, like " +"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " +"collections without the risk of license violations due to mutually " +"incompatible licenses." +msgstr "" -#: tools/ascli-utils.c:369 -msgid "Categories" -msgstr "الفئات" +#: src/as-validator-issue-tag.h:173 +msgid "" +"The metadata itself does not seem to be licensed under a permissive license. " +"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " +"0BSD to allow distributors to include it in mixed data collections without " +"the risk of license violations due to mutually incompatible licenses." +msgstr "" -#: src/as-category.c:259 -msgctxt "Category of Communication" -msgid "Chat" -msgstr "المحادثة" +#: src/as-validator-issue-tag.h:179 +msgid "" +"The update-contact does not appear to be a valid email address (escaping of " +"`@` is only allowed as `_at_` or `_AT_`)." +msgstr "" -#: src/as-category.c:104 -msgctxt "Category of Education" -msgid "Chemistry" -msgstr "الإنسجام/الكيمياء" +#: src/as-validator-issue-tag.h:184 +msgid "" +"Unable to reach the screenshot image on its remote location - does the image " +"exist?" +msgstr "" -#: src/as-category.c:240 -msgctxt "Category of Science" -msgid "Chemistry" +#: src/as-validator-issue-tag.h:189 +msgid "" +"Unable to reach the screenshot video on its remote location - does the video " +"file exist?" msgstr "" -#: src/as-category.c:214 -msgctxt "Category of Addons" -msgid "Codecs" -msgstr "برامج الترميز" +#: src/as-validator-issue-tag.h:194 +msgid "" +"Consider using a secure (HTTPS) URL to reference this screenshot image or " +"video." +msgstr "" -#. TRANSLATORS: this is the menu spec main category for Communication -#: src/as-category.c:326 -msgid "Communication & News" -msgstr "التواصل والأخبار" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:200 +msgid "" +"A screenshot must contain at least one image or video in order to be useful. " +"Please add an to it." +msgstr "" +"يتوجب على لقطةِ الشاشة أن تحتوي على صورةٍ أو ڤيديو واحد على الأقل لتكونَ مفيدة. " +"رجاءً قم بإضافة إليه/إليها." -#: tools/appstream-cli.c:866 -msgid "Compare two version numbers." +#: src/as-validator-issue-tag.h:205 +msgid "" +"A screenshot must contain either images or videos, but not both at the same " +"time. Please use this screenshot exclusively for either static images or for " +"videos." msgstr "" +"يتوجبُ على لقطةِ الشاشة الإحتواءُ على صورٍ أو مقاطع ڤيديو، ولكن ليس الاثنين بنفسِ " +"الوقت. رجاءً استخدم لقطة الشاشة هذه حصراً من أجل الصور الثابتة، أو مقاطع " +"الڤيديو." -#: src/as-provided.c:166 -msgid "Component" -msgstr "مكون" +#: src/as-validator-issue-tag.h:211 +msgid "The screenshot does not have a caption text. Consider adding one." +msgstr "" -#. TRANSLATORS: We found no distribution package or bundle to install to make this software available -#: tools/ascli-actions-pkgmgr.c:106 -#, c-format -msgid "Component '%s' has no installation candidate." -msgstr "المكوّن '%s' ليس لديه أي وسيلة مرشًحة للتثبيت." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:217 +msgid "" +"The screenshot video does not specify which video codec was used in a " +"`codec` property." +msgstr "" -#: tools/ascli-utils.c:377 -msgid "Compulsory for" -msgstr "أساسي لـ" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:223 +msgid "" +"The screenshot video does not specify which container format was used in a " +"`container` property." +msgstr "" -#: src/as-validator-issue-tag.h:361 -msgid "Consider using a secure (HTTPS) URL for the remote icon link." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:229 +msgid "" +"The selected video codec is not supported by AppStream and software centers " +"may not be able to play the video. Only the AV1 and VP9 codecs are currently " +"supported, using `av1` and `vp9` as values for the `codec` property." msgstr "" -#: src/as-validator-issue-tag.h:383 -msgid "Consider using a secure (HTTPS) URL for this web link." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:236 +msgid "" +"The selected video container format is not supported by AppStream and " +"software centers may not be able to play the video. Only the WebM and " +"Matroska video containers are currently supported, using `webm` and `mkv` as " +"values for the `container` property." +msgstr "" + +#: src/as-validator-issue-tag.h:242 +msgid "" +"For videos, only the WebM and Matroska (.mkv) container formats are " +"currently supported. The file extension of the referenced video does not " +"belong to either of these formats." msgstr "" -#: src/as-validator-issue-tag.h:189 +#: src/as-validator-issue-tag.h:248 msgid "" -"Consider using a secure (HTTPS) URL to reference this screenshot image or " -"video." -msgstr "" - -#: tools/appstream-cli.c:870 -msgid "Convert a YAML or text NEWS file into metainfo releases." +"The default screenshot of a software component must not be a video. Use a " +"static image as default screenshot and set the video as a secondary " +"screenshot." msgstr "" -#. TRANSLATORS: "convert" command in ascli. "Collection XML" is a term describing a specific type of AppStream XML data. -#: tools/appstream-cli.c:865 -msgid "Convert collection XML to YAML or vice versa." +#: src/as-validator-issue-tag.h:253 +msgid "" +"Found an unknown tag in a requires/recommends group. This is likely an " +"error, because a component relation of this type is unknown." msgstr "" -#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results -#: tools/ascli-actions-mdata.c:228 -#, c-format -msgid "Could not find component providing '%s::%s'." -msgstr "تعذر إيجاد مكون يوفر '%s::%s'." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:259 +msgid "" +"A `requires` or `recommends` item requires a value to denote a valid " +"relation." +msgstr "عنصر 'requires' أو 'recommends' يتطلب قيمة للإشارة إلى علاقة صحيحة." -#: tools/appstream-cli.c:869 -msgid "Create a XDG desktop-entry file from a metainfo file." +#. TRANSLATORS: `version` is an AppStream XML property. Please do not translate it. +#: src/as-validator-issue-tag.h:265 +msgid "" +"Found `version` property on required/recommended item of a type that should " +"not have or require a version." msgstr "" -#: tools/appstream-cli.c:868 +#. TRANSLATORS: `version` and `compare` are AppStream XML properties. Please do not translate them. +#: src/as-validator-issue-tag.h:271 msgid "" -"Create a template for a metainfo file (to be filled out by the upstream " -"project)." +"Found `version` property on this required/recommended item, but not " +"`compare` property. It is recommended to explicitly define a comparison " +"operation." msgstr "" -#: tools/ascli-actions-misc.c:228 -#, c-format -msgid "Creating new desktop-entry file '%s' using data from '%s'" +#: src/as-validator-issue-tag.h:276 +msgid "" +"Invalid comparison operation on relation item. Only eq/ne/lt/gt/le/ge are " +"permitted." msgstr "" -#: src/as-provided.c:160 -#, fuzzy -msgid "D-Bus Session Services" -msgstr "خدمات جلسة DBus" - -#: src/as-provided.c:158 -#, fuzzy -msgid "D-Bus System Services" -msgstr "خدمات نظام DBus" - -#: src/as-category.c:195 -msgctxt "Category of Office" -msgid "Database" -msgstr "قواعد البيانات" - -#: src/as-category.c:86 -msgctxt "Category of Development" -msgid "Debuggers" -msgstr "المنقحات" - -#: tools/ascli-utils.c:353 -msgid "Default Screenshot URL" +#: src/as-validator-issue-tag.h:281 +msgid "" +"The relation item has a comparison operation set, but does not support any " +"comparisons." msgstr "" -#. TRANSLATORS: ascli flag description for: --format -#: tools/appstream-cli.c:83 -msgid "Default metadata format (valid values are 'xml' and 'yaml')." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:287 +msgid "" +"Found a memory size relation in a `requires` tag. This means users will not " +"be able to even install the component without having enough RAM. This is " +"usually not intended and you want to use `memory` in the `recommends` tag " +"instead." msgstr "" -#: tools/ascli-utils.c:333 -msgid "Description" -msgstr "الوصف" - -#. developer name -#: tools/ascli-utils.c:321 -msgid "Developer" -msgstr "المطور" - -#. TRANSLATORS: this is the menu spec main category for Development -#: src/as-category.c:305 -msgid "Developer Tools" -msgstr "أدوات المطور" - -#: tools/appstream-cli.c:862 -msgid "Display status information about available AppStream metadata." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:294 +msgid "" +"Found a user input control relation in a `requires` tag. This means users " +"will not be able to even install the component without having the defined " +"input control available on the system. This is usually not intended and you " +"want to use `control` in the `recommends` tag instead." msgstr "" -#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions -#: tools/ascli-actions-misc.c:52 -msgid "Distribution metadata:" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:301 +msgid "" +"This `control` item defines an unknown input method and is invalid. Check " +"the specification for a list of permitted values." msgstr "" -#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) -#: tools/appstream-cli.c:126 -msgid "Do not use network access." -msgstr "لا تستعمل النفاذ إلى الشبكة." - -#. TRANSLATORS: ascli flag description for: --no-color -#: tools/appstream-cli.c:908 -msgid "Don't show colored output." -msgstr "لا تُظهر خرجًا ملونا." - -#: tools/appstream-cli.c:853 -msgid "Dump raw XML metadata for a component matching the ID." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:307 +msgid "" +"This `display_length` item contains an invalid display length. Its value " +"must either be a shorthand string, or positive integer value denoting " +"logical pixels. Please refer to the AppStream specification for more " +"information on this tag." msgstr "" -#. TRANSLATORS: this is the menu spec main category for Education -#: src/as-category.c:308 -msgid "Education" -msgstr "تعليم" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:314 +msgid "" +"This `side` property of this `display_length` item contains an invalid " +"value. It must either be `shortest` or `longest`, or unset to imply " +"`shortest` to make the item value refer to either the shortest or longest " +"side of the display." +msgstr "" -#. TRANSLATORS: No metainfo files have been found -#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 -msgid "Empty." -msgstr "فارغ." +#: src/as-validator-issue-tag.h:320 +msgid "" +"The set component type is not a recognized, valid AppStream component type." +msgstr "" -#: src/as-category.c:141 -msgctxt "Category of Games" -msgid "Emulators" -msgstr "محاكيات" +#: src/as-validator-issue-tag.h:325 +msgid "" +"The component has a priority value set. This is not allowed in metainfo " +"files." +msgstr "" -#. TRANSLATORS: ascli flag description for: --force -#: tools/appstream-cli.c:245 -msgid "Enforce a cache refresh." +#: src/as-validator-issue-tag.h:330 +msgid "" +"The component has a `merge` method defined. This is not allowed in metainfo " +"files." msgstr "" -#: src/as-validator-issue-tag.h:74 -msgid "Enumerations must only have list items (
              4. ) as children." +#: src/as-validator-issue-tag.h:335 +msgid "The component is missing an ID ( tag)." msgstr "" -#: tools/ascli-actions-misc.c:159 -#, c-format -msgid "Error while loading the metadata pool: %s" +#: src/as-validator-issue-tag.h:340 +msgid "The component is missing a name ( tag)." msgstr "" -#: tools/ascli-utils.c:327 -msgid "Extends" +#: src/as-validator-issue-tag.h:345 +msgid "The component is missing a summary ( tag)." msgstr "" -#: src/as-category.c:65 -msgctxt "Category of AudioVideo" -msgid "Featured" -msgstr "مميزة" +#: src/as-validator-issue-tag.h:350 +msgid "" +"The tag still contains a `type` property, probably from an old " +"conversion to the recent metainfo format." +msgstr "" -#: src/as-category.c:256 -msgctxt "Category of Communication" -msgid "Featured" -msgstr "مميزة" +#: src/as-validator-issue-tag.h:355 +msgid "" +"The `pkgname` tag appears multiple times. You should evaluate creating a " +"metapackage containing the metainfo and .desktop files in order to avoid " +"defining multiple package names per component." +msgstr "" -#: src/as-category.c:83 -msgctxt "Category of Development" -msgid "Featured" -msgstr "مميزة" +#: src/as-validator-issue-tag.h:360 +msgid "The component name should (likely) not end with a dot (`.`)." +msgstr "" -#: src/as-category.c:98 -msgctxt "Category of Education" -msgid "Featured" -msgstr "مميزة" +#: src/as-validator-issue-tag.h:365 +msgid "The component summary should not end with a dot (`.`)." +msgstr "" -#: src/as-category.c:120 -msgctxt "Category of Games" -msgid "Featured" -msgstr "مميزة" +#: src/as-validator-issue-tag.h:370 +msgid "The component summary must not contain tabs or linebreaks." +msgstr "" -#: src/as-category.c:165 -msgctxt "Category of Graphics" -msgid "Featured" -msgstr "مميزة" +#: src/as-validator-issue-tag.h:375 +msgid "The summary must not contain any URL. Use the tags for links." +msgstr "" -#: src/as-category.c:188 -msgctxt "Category of Office" -msgid "Featured" -msgstr "مميزة" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:381 +msgid "" +"Icons of type `stock` or `cached` must not contain an URL, a full or an " +"relative path to the icon. Only file basenames or stock names are allowed." +msgstr "" -#: src/as-category.c:231 -msgctxt "Category of Science" -msgid "Featured" -msgstr "مميزة" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:388 +msgid "Icons of type `remote` must contain an URL to the referenced icon." +msgstr "" -#: src/as-category.c:278 -msgctxt "Category of Utility" -msgid "Featured" -msgstr "مميزة" +#: src/as-validator-issue-tag.h:393 +msgid "Unable to reach remote icon at the given web location - does it exist?" +msgstr "" -#: tools/ascli-actions-validate.c:171 tools/ascli-actions-validate.c:349 -#, fuzzy, c-format -msgid "File '%s' does not exist." -msgstr "ملف البيانات الوصفية '%s' غير موجود." +#: src/as-validator-issue-tag.h:398 +msgid "Consider using a secure (HTTPS) URL for the remote icon link." +msgstr "" -#: src/as-category.c:287 -msgctxt "Category of Utility" -msgid "File System" -msgstr "نظام الملفات" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:404 +msgid "" +"Metainfo files may only contain icons of type `stock` or `remote`, the set " +"type is not allowed." +msgstr "" -#: src/as-category.c:198 -msgctxt "Category of Office" -msgid "Finance" -msgstr "اقتصاد" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:410 +msgid "" +"Invalid `type` property for this `url` tag. URLs of this type are not known " +"in the AppStream specification." +msgstr "" -#: src/as-provided.c:164 -msgid "Flashed Firmware" +#: src/as-validator-issue-tag.h:415 +msgid "" +"Unable to reach remote location that this URL references - does it exist?" msgstr "" -#: src/as-provided.c:150 -msgid "Fonts" -msgstr "خطوط" +#: src/as-validator-issue-tag.h:420 +msgid "Consider using a secure (HTTPS) URL for this web link." +msgstr "" -#: src/as-category.c:211 -msgctxt "Category of Addons" -msgid "Fonts" -msgstr "خطوط" +#: src/as-validator-issue-tag.h:425 +msgid "A web URL was expected for this value." +msgstr "" -#: src/as-validator-issue-tag.h:237 +#: src/as-validator-issue-tag.h:430 msgid "" -"For videos, only the WebM and Matroska (.mkv) container formats are " -"currently supported. The file extension of the referenced video does not " -"belong to either of these formats." +"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." msgstr "" -#. TRANSLATORS: ascli flag description for: --format when validating XML files -#: tools/appstream-cli.c:131 -msgid "Format of the generated report (valid values are 'text' and 'yaml')." +#: src/as-validator-issue-tag.h:435 +msgid "The can not contain a hyperlink." msgstr "" -#. TRANSLATORS: Found metainfo files in legacy directories -#: tools/ascli-actions-misc.c:138 -#, c-format -msgid "Found %i components in legacy paths." -msgstr "وُجِد %i من المكونات في مسارات مهجورة." - -#: tools/ascli-actions-misc.c:123 -#, c-format -msgid "Found %i components." -msgstr "وُجِد %i من المكونات." - -#. TRANSLATORS: 'version' is an AppStream XML property. Please do not translate it. -#: src/as-validator-issue-tag.h:260 +#: src/as-validator-issue-tag.h:440 msgid "" -"Found 'version' property on required/recommended item of a type that should " -"not have or require a version." +"The set value is not an identifier for a desktop environment as registered " +"with Freedesktop.org." msgstr "" -#. TRANSLATORS: 'version' and 'compare' are AppStream XML properties. Please do not translate them. -#: src/as-validator-issue-tag.h:266 -msgid "" -"Found 'version' property on this required/recommended item, but not " -"'compare' property. It is recommended to explicitly define a comparison " -"operation." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:446 +msgid "This `launchable` tag has an unknown type and can not be used." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:452 +msgid "This `bundle` tag has an unknown type and can not be used." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:277 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:458 msgid "" -"Found a memory size dependency in a 'requires' tag. This means users will " -"not be able to even install the component without having enough RAM. This is " -"usually not intended and you want to use 'memory' in the 'recommends' tag " -"instead." +"The `update_contact` tag should not be included in collection AppStream XML." msgstr "" -#: src/as-validator-issue-tag.h:248 +#: src/as-validator-issue-tag.h:463 msgid "" -"Found an unknown tag in a requires/recommends group. This is likely an " -"error, because a component relation of this type is unknown." +"This tag is a GNOME-specific extension to AppStream and not part of the " +"official specification. Do not expect it to work in all implementations and " +"in all software centers." msgstr "" -#: src/as-validator-issue-tag.h:427 +#: src/as-validator-issue-tag.h:469 msgid "" -"Found invalid tag. Non-standard tags should be prefixed with 'x-'. AppStream " +"Found invalid tag. Non-standard tags should be prefixed with `x-`. AppStream " "also provides the tag to add arbitrary custom data to metainfo " "files. This tag is read by AppStream libraries and may be useful instead of " -"defining new custom toplevel or 'x-'-prefixed tags if you just want to add " +"defining new custom toplevel or `x-`-prefixed tags if you just want to add " "custom data to a metainfo file." msgstr "" -#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. -#: src/as-validator.c:526 src/as-validator.c:939 src/as-validator.c:1024 -#: src/as-validator.c:1237 -#, c-format -msgid "Found: %s - Allowed: %s" -msgstr "" - -#. TRANSLATORS: this is the menu spec main category for Game -#: src/as-category.c:311 -msgid "Games" -msgstr "ألعاب" - -#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command -#: tools/appstream-cli.c:814 -msgid "Generate the output in the selected format ('yaml' or 'text')." -msgstr "" - -#: tools/appstream-cli.c:849 -msgid "Get components which provide the given item." -msgstr "هاتِ المكونات التي توفر العنصر المُعطى." - -#: tools/appstream-cli.c:848 -msgid "Get information about a component by its ID." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:477 +msgid "" +"The essential tag `metadata_license` is missing. A license for the metadata " +"itself always has to be defined." msgstr "" -#. TRANSLATORS: this is the menu spec main category for Graphics -#: src/as-category.c:314 -msgid "Graphics & Photography" -msgstr "تصور ورسوميات" - -#: tools/ascli-utils.c:300 -msgid "Homepage" +#: src/as-validator-issue-tag.h:482 +msgid "" +"The component is missing a long description. Components of this type must " +"have a long description." msgstr "" -#: src/as-category.c:89 -msgctxt "Category of Development" -msgid "IDEs" -msgstr "بيئات التطوير" - -#: tools/ascli-utils.c:301 -msgid "Icon" +#: src/as-validator-issue-tag.h:487 +msgid "" +"It would be useful to add a long description to this font to present it " +"better to users." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:351 -msgid "Icons of type 'remote' must contain an URL to the referenced icon." +#: src/as-validator-issue-tag.h:492 +msgid "" +"It is recommended to add a long description to this component to present it " +"better to users." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:344 +#: src/as-validator-issue-tag.h:497 msgid "" -"Icons of type 'stock' or 'cached' must not contain an URL, a full or an " -"relative path to the icon. Only file basenames or stock names are allowed." +"This generic component is missing a long description. It may be useful to " +"add one." msgstr "" -#: tools/ascli-actions-misc.c:94 -msgid "Iconsets" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:503 +msgid "" +"Type `console-application` component, but no information about binaries in " +"$PATH was provided via a `provides/binary` tag." msgstr "" -#: tools/ascli-utils.c:295 -msgid "Identifier" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:509 +msgid "" +"This `web-application` component is missing a `launchable` tag of type `url`." msgstr "" -#: src/as-category.c:217 -msgctxt "Category of Addons" -msgid "Input Sources" -msgstr "مصادر دخل" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:515 +msgid "" +"This `web-application` component is missing a `icon` tag to specify a valid " +"icon." +msgstr "" -#: tools/appstream-cli.c:863 -msgid "Install a metadata file into the right location." -msgstr "ثبِّت ملف بيانات وصفية في الموقع الصحيح." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:521 +msgid "" +"This `web-application` component is missing categorizations. A `categories` " +"block is likely missing." +msgstr "" -#: tools/appstream-cli.c:859 -msgid "Install software matching the component-ID." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:527 +msgid "" +"Type `font` component, but no font information was provided via a `provides/" +"font` tag." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:373 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:533 msgid "" -"Invalid 'type' property for this 'url' tag. URLs of this type are not known " -"in the AppStream specification." +"Type `driver` component, but no modalias information was provided via a " +"`provides/modalias` tag." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:553 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:539 msgid "" -"Invalid tag found in collection metadata. Only 'component' tags are " -"permitted." +"An `extends` tag is specified, but the component is not of type `addon`, " +"`localization` or `repository`." msgstr "" -#: tools/ascli-actions-mdata.c:213 -msgid "Invalid type for provided item selected. Valid values are:" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:545 +msgid "The component is an addon, but no `extends` tag was specified." msgstr "" -#: src/as-validator-issue-tag.h:271 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:551 msgid "" -"Invalid version comparison operation on relation item. Only eq/ne/lt/gt/le/" -"ge are permitted." +"This `localization` component is missing an `extends` tag, to specify the " +"components it adds localization to." msgstr "" -#: src/as-validator-issue-tag.h:450 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:557 msgid "" -"It is recommended to add a long description to this component to present it " -"better to users." +"This `localization` component does not define any languages this " +"localization is for." msgstr "" -#: src/as-validator-issue-tag.h:445 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:563 msgid "" -"It would be useful to add a long description to this font to present it " -"better to users." +"This `service` component is missing a `launchable` tag of type `service`." msgstr "" -#: src/as-category.c:144 -msgctxt "Category of Games" -msgid "Kids" -msgstr "أطفال" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:569 +msgid "" +"Suggestions of any type other than `upstream` are not allowed in metainfo " +"files." +msgstr "" -#: src/as-category.c:220 -msgctxt "Category of Addons" -msgid "Language Packs" -msgstr "حزم اللغات" +#: src/as-validator-issue-tag.h:574 +msgid "" +"The category name is not valid. Refer to the XDG Menu Specification for a " +"list of valid category names." +msgstr "" -#: src/as-category.c:107 -msgctxt "Category of Education" -msgid "Languages" -msgstr "لغات" +#: src/as-validator-issue-tag.h:579 +msgid "The screenshot caption is too long (should be <= 80 characters)" +msgstr "" -#: src/as-provided.c:144 -msgid "Libraries" -msgstr "مكتبات" +#: src/as-validator-issue-tag.h:584 +msgid "Unable to read file." +msgstr "" -#. license -#: tools/ascli-utils.c:363 -msgid "License" -msgstr "الرخصة" +#: src/as-validator-issue-tag.h:589 +msgid "The XML of this file is malformed." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:629 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:595 msgid "" -"Licenses for 'runtime' components are usually too complex to reflect them in " -"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " -"value for this component's 'project_license'. E.g. `LicenseRef-free=https://" -"example.com/licenses.html`" +"Invalid tag found in collection metadata. Only `component` tags are " +"permitted." msgstr "" -#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command -#: tools/appstream-cli.c:771 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:601 msgid "" -"Limit the number of release entries that end up in the metainfo file (0 for " -"unlimited)." +"The metainfo file uses an ancient version of the AppStream specification, " +"which can not be validated. Please migrate it to version 0.6 (or higher)." msgstr "" -#: src/as-category.c:223 -msgctxt "Category of Addons" -msgid "Localization" -msgstr "توطين" - -#: src/as-category.c:147 -msgctxt "Category of Games" -msgid "Logic" -msgstr "منطق" +#: src/as-validator-issue-tag.h:606 +msgid "" +"This XML document has an unknown root tag. Maybe this file is not a metainfo " +"document?" +msgstr "" -#. TRANSLATORS: ascli flag description for: --no-cache -#: tools/appstream-cli.c:67 -msgid "Make request without any caching." +#: src/as-validator-issue-tag.h:611 +msgid "The metainfo filename does not match the component ID." msgstr "" -#. TRANSLATORS: ascli flag description for: --cachepath -#: tools/appstream-cli.c:57 -msgid "Manually selected location of AppStream cache." +#: src/as-validator-issue-tag.h:616 +msgid "Unable to read the .desktop file associated with this component." msgstr "" -#. TRANSLATORS: ascli flag description for: --datapath -#: tools/appstream-cli.c:62 -msgid "Manually selected location of AppStream metadata to scan." +#: src/as-validator-issue-tag.h:621 +msgid "This component metadata refers to a non-existing .desktop file." msgstr "" -#: src/as-pool.c:1280 +#: src/as-validator-issue-tag.h:626 msgid "" -"Many components have been recognized as invalid. See debug output for " -"details." +"The category defined in the .desktop file is not valid. Refer to the XDG " +"Menu Specification for a list of valid categories." msgstr "" -#: src/as-category.c:111 -msgctxt "Category of Education" -msgid "Math" -msgstr "رياضيات" - -#: src/as-category.c:243 -msgctxt "Category of Science" -msgid "Math" -msgstr "رياضيات" - -#: src/as-provided.c:148 -msgid "Media types" +#: src/as-validator-issue-tag.h:631 +msgid "No AppStream metadata was found in this directory or directory tree." msgstr "" -#: tools/ascli-actions-mdata.c:364 -#, c-format -msgid "Metadata file '%s' does not exist." -msgstr "ملف البيانات الوصفية '%s' غير موجود." +#. pedantic because not everything which has metadata is an application +#: src/as-validator-issue-tag.h:636 +msgid "No XDG applications directory found." +msgstr "" -#: src/as-pool.c:881 -msgid "Metadata files have errors:" -msgstr "ملفات البيانات الوصفية تحوي أخطاءً:" +#: src/as-validator-issue-tag.h:641 +msgid "" +"The metainfo file is stored in a legacy path. Please place it in `/usr/share/" +"metainfo/`." +msgstr "" -#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 -#: tools/ascli-actions-misc.c:515 -#, fuzzy, c-format -msgid "Metainfo file '%s' does not exist." -msgstr "ملف البيانات الوصفية '%s' غير موجود." +#: src/as-validator-issue-tag.h:646 +msgid "The metainfo file specifies multiple components. This is not allowed." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:367 +#: src/as-validator-issue-tag.h:651 msgid "" -"Metainfo files may only contain icons of type 'stock' or 'remote', the set " -"type is not allowed." +"The releases are not sorted in a latest to oldest version order. This is " +"required as some tools will assume that the latest version is always at the " +"top. Sorting releases also increases overall readability of the metainfo " +"file." msgstr "" -#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report -#: tools/ascli-actions-misc.c:116 -msgid "Metainfo files:" +#: src/as-validator-issue-tag.h:658 +msgid "The value set as release urgency is not a known urgency value." msgstr "" -#: src/as-provided.c:152 -msgid "Modaliases" +#: src/as-validator-issue-tag.h:663 +msgid "The value set as release type is invalid." msgstr "" -#: src/as-category.c:74 -msgctxt "Category of AudioVideo" -msgid "Music Players" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:669 +msgid "" +"The value set as artifact type is invalid. Must be either `source` or " +"`binary`." msgstr "" -#: tools/ascli-utils.c:296 -msgid "Name" -msgstr "الاسم" +#: src/as-validator-issue-tag.h:674 +msgid "The value set as artifact bundle type is invalid." +msgstr "" -#: src/as-category.c:266 -msgctxt "Category of Communication" -msgid "News" -msgstr "الأخبار" +#: src/as-validator-issue-tag.h:679 +msgid "" +"The platform triplet for this release is invalid. It must be in the form of " +"`architecture-oskernel-osenv` - refer to the AppStream documentation or " +"information on normalized GNU triplets for more information and valid fields." +msgstr "" -#: src/as-validator-issue-tag.h:589 -msgid "No AppStream metadata was found in this directory or directory tree." +#: src/as-validator-issue-tag.h:686 +msgid "The selected checksumming algorithm is unsupported or unknown." msgstr "" -#. pedantic because not everything which has metadata is an application -#: src/as-validator-issue-tag.h:594 -msgid "No XDG applications directory found." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:692 +msgid "The size type is unknown. Must be `download` or `installed`." msgstr "" -#: tools/ascli-actions-mdata.c:182 -#, c-format -msgid "No component matching '%s' found." -msgstr "لم أجد مكونا يطابق '%s'." +#: src/as-validator-issue-tag.h:697 +msgid "" +"The artifact filename must be a file basename, not a (relative or absolute) " +"path." +msgstr "" -#: tools/ascli-actions-misc.c:105 -msgid "No icons." -msgstr "لا أيقونات." +#: src/as-validator-issue-tag.h:702 +msgid "The value set as release issue type is invalid." +msgstr "" -#: tools/ascli-actions-misc.c:402 -msgid "No output filename specified, modifying metainfo file directly." +#: src/as-validator-issue-tag.h:707 +msgid "" +"The issue is tagged at security vulnerability with a CVE number, but its " +"value does not look like a valid CVE identifier." msgstr "" -#: tools/ascli-actions-misc.c:306 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:713 msgid "" -"No provided binary specified in metainfo file, and no exec command specified " -"via '--exec'. Can not create 'Exec=' key." +"This component is missing information about releases. Consider adding a " +"`releases` tag to describe releases and their changes." msgstr "" -#: tools/ascli-actions-misc.c:284 -msgid "No stock icon name was provided in the metainfo file. Can not continue." +#: src/as-validator-issue-tag.h:718 +msgid "" +"The AppStream specification requires a complete, ISO 8601 date string with " +"at least day-granularity to denote dates. Please ensure the date string is " +"valid." msgstr "" -#: tools/ascli-actions-pkgmgr.c:53 +#: src/as-validator-issue-tag.h:724 msgid "" -"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" -"\" (part of PackageKit) is available." +"This component extends, provides, requires or recommends itself, which is " +"certainly not intended and may confuse users or machines dealing with this " +"metadata." msgstr "" -#: tools/ascli-actions-mdata.c:206 -msgid "No value for the item to search for was defined." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:731 +msgid "" +"Licenses for `runtime` components are usually too complex to reflect them in " +"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " +"value for this component's `project_license`. E.g. `LicenseRef-free=https://" +"example.com/licenses.html`" msgstr "" -#. TRANSLATORS: this is the menu spec main category for Office -#: src/as-category.c:317 -msgid "Office" -msgstr "المكتب" +#: src/as-validator-issue-tag.h:737 +msgid "" +"Since a `runtime` component is comprised of multiple other software " +"components, their component-IDs may be listed in a `` section for " +"this runtime." +msgstr "" -#. TRANSLATORS: An unknown option was passed to appstreamcli. -#: tools/appstream-cli.c:192 -#, c-format -msgid "Option '%s' is unknown." -msgstr "الخيار '%s' غير معروف." +#: src/as-validator-issue-tag.h:742 +msgid "" +"The type of the item that the component provides is not known to AppStream." +msgstr "" -#: tools/ascli-utils.c:298 -msgid "Package" -msgstr "الحزمة" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:748 +msgid "" +"The toplevel `mimetypes` tag is deprecated. Please use `mediatype` tags in a " +"`provides` block instead to indicate that your software provides a media " +"handler for the given types." +msgstr "" -#: src/as-category.c:171 -msgctxt "Category of Graphics" -msgid "Photography" -msgstr "صور فوتوغرافية" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks) and keep the URL intact. +#: src/as-validator-issue-tag.h:755 +msgid "" +"This component has no `content_rating` tag to provide age rating " +"information. You can generate the tag data online by answering a few " +"questions at https://hughsie.github.io/oars/" +msgstr "" -#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) -#: tools/appstream-cli.c:121 -#, fuzzy -msgid "Print detailed explanation for found issues." -msgstr "اطبع خرجًا مفصلا عن المكون المعثور عليه." +#: src/as-validator.c:150 +msgid "" +"The emitted issue tag is unknown in the tag registry of AppStream. This is a " +"bug in the validator itself, please report this issue in our bugtracker." +msgstr "" -#. TRANSLATORS: ascli flag description for: --details -#: tools/appstream-cli.c:98 -msgid "Print detailed output about found components." -msgstr "اطبع خرجًا مفصلا عن المكون المعثور عليه." +#: src/as-validator.c:344 +msgid "URL format is invalid." +msgstr "" -#. project group -#: tools/ascli-utils.c:360 -msgid "Project Group" -msgstr "مجموعة المشروع" +#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. +#: src/as-validator.c:522 src/as-validator.c:937 src/as-validator.c:1031 +#: src/as-validator.c:1428 src/as-validator.c:1448 src/as-validator.c:1481 +#, c-format +msgid "Found: %s - Allowed: %s" +msgstr "" -#: tools/ascli-utils.c:405 -msgid "Provided Items" -msgstr "العناصر الموفَّرة" +#. TRANSLATORS: ascompose flag description for: --verbose +#: tools/appstream-compose.c:181 +#, fuzzy +msgid "Show extra debugging information" +msgstr "أظهر بيانات التنقيح الإضافية." -#: src/as-provided.c:154 -msgid "Python (Version 2)" -msgstr "بايثون (نسخة ٢)" +#. TRANSLATORS: ascompose flag description for: --no-color +#. TRANSLATORS: ascli flag description for: --no-color +#: tools/appstream-compose.c:184 tools/appstreamcli.c:1087 +msgid "Don't show colored output." +msgstr "لا تُظهر خرجًا ملونا." -#: src/as-provided.c:156 -msgid "Python 3" -msgstr "بايثون ٣" +#. TRANSLATORS: ascompose flag description for: --version +#. TRANSLATORS: ascli flag description for: --version +#: tools/appstream-compose.c:187 tools/appstreamcli.c:1076 +msgid "Show the program version." +msgstr "أظهر إصدار البرنامج." -#: tools/appstream-cli.c:854 -msgid "Rebuild the component metadata cache." +#. TRANSLATORS: ascompose flag description for: --full-report +#: tools/appstream-compose.c:190 +msgid "Set mode of the issue report that is printed to the console" msgstr "" -#: tools/appstream-cli.c:860 -msgid "Remove software matching the component-ID." +#. TRANSLATORS: ascompose flag description for: --prefix +#: tools/appstream-compose.c:193 +msgid "Override the default prefix (`/usr` by default)" msgstr "" -#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty -#: src/as-validator.c:364 -msgid "Retrieved file size was zero." +#. TRANSLATORS: ascompose flag description for: --result-root +#: tools/appstream-compose.c:196 +msgid "Set the result output directory" msgstr "" -#: src/as-category.c:248 -msgctxt "Category of Science" -msgid "Robotics" -msgstr "الروبوتات" - -#: src/as-category.c:150 -msgctxt "Category of Games" -msgid "Role Playing" +#. TRANSLATORS: ascompose flag description for: --data-dir, `collection metadata` is an AppStream term +#: tools/appstream-compose.c:199 +msgid "Override the collection metadata output directory" msgstr "" -#: tools/appstream-cli.c:196 tools/appstream-cli.c:926 -#, c-format -msgid "Run '%s --help' to see a full list of available command line options." -msgstr "شغِّل '%s --help' لرؤية قائمة كاملة بالخيارات المتاحة لسطر الأوامر." +#. TRANSLATORS: ascompose flag description for: --icons-dir +#: tools/appstream-compose.c:202 +msgid "Override the icon output directory" +msgstr "" -#: tools/appstream-cli.c:198 -#, c-format +#. TRANSLATORS: ascompose flag description for: --media-dir +#: tools/appstream-compose.c:205 msgid "" -"Run '%s --help' to see a list of available commands and options, and '%s %s " -"--help' to see a list of options specific for this subcommand." +"Set the media output directory (for media data to be served by a webserver)" msgstr "" -#: src/as-provided.c:162 -msgid "Runtime Firmware" +#. TRANSLATORS: ascompose flag description for: --hints-dir +#: tools/appstream-compose.c:208 +msgid "Set a directory where HTML and text issue reports will be stored" msgstr "" -#: src/as-category.c:174 -msgctxt "Category of Graphics" -msgid "Scanning" -msgstr "المسح" - -#. TRANSLATORS: this is the menu spec main category for Science -#: src/as-category.c:323 -msgid "Science" -msgstr "العلوم" +#. TRANSLATORS: ascompose flag description for: --origin +#. TRANSLATORS: ascompose flag description for: --media-baseurl +#: tools/appstream-compose.c:211 tools/appstream-compose.c:214 +msgid "Set the origin name" +msgstr "" -#: tools/appstream-cli.c:847 -msgid "Search the component database." +#. TRANSLATORS: ascompose flag description for: --components +#: tools/appstream-compose.c:217 +msgid "A comma-separated list of component-IDs to accept" msgstr "" -#: src/as-category.c:293 -msgctxt "Category of Utility" -msgid "Security" -msgstr "الأمن" +#. TRANSLATORS: error message +#: tools/appstream-compose.c:231 +msgid "Failed to parse arguments" +msgstr "" -#. TRANSLATORS: ascli flag description for: --verbose -#: tools/appstream-cli.c:903 -msgid "Show extra debugging information." -msgstr "أظهر بيانات التنقيح الإضافية." +#. TRANSLATORS: Output if appstreamcli --version is executed. +#: tools/appstream-compose.c:242 tools/appstreamcli.c:1230 +#, c-format +msgid "AppStream version: %s" +msgstr "إصدار آب-ستريم: %s" -#. TRANSLATORS: ascli flag description for: --version -#: tools/appstream-cli.c:897 -msgid "Show the program version." -msgstr "أظهر إصدار البرنامج." +#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. +#: tools/appstream-compose.c:245 tools/appstreamcli.c:1233 +#, c-format +msgid "" +"AppStream CLI tool version: %s\n" +"AppStream library version: %s" +msgstr "" +"إصدارة شاشة توجيه الأوامر لآب-ستريم: %s\n" +"إصدارة مكتبة آب-ستريم: %s" -#: src/as-validator-issue-tag.h:635 +#. TRANSLATORS: invalid value for the --print-report CLI option +#: tools/appstream-compose.c:264 +#, c-format msgid "" -"Since a 'runtime' component is comprised of multiple other software " -"components, their component-IDs may be listed in a `` section for " -"this runtime." +"Invalid value for `--print-report` option: %s\n" +"Possible values are:\n" +"`on-error` - only prints a short report if the run failed (default)\n" +"`short` - generates an abridged report\n" +"`full` - a detailed report will be printed" msgstr "" -#: src/as-category.c:153 -msgctxt "Category of Games" -msgid "Sports" -msgstr "الرياضية" +#: tools/appstream-compose.c:285 +#, c-format +msgid "Automatically selected '%s' as data output location." +msgstr "" -#: src/as-category.c:157 -msgctxt "Category of Games" -msgid "Strategy" +#. TRANSLATORS: we don't have a destination directory for compose +#: tools/appstream-compose.c:288 +msgid "No destination directory set, please provide a data output location!" msgstr "" -#. these are commands we can use with appstreamcli -#: tools/appstream-cli.c:845 -msgid "Subcommands:" -msgstr "الأوامر الفرعية:" +#: tools/appstream-compose.c:298 tools/appstream-compose.c:300 +msgid "WARNING" +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:527 -msgid "" -"Suggestions of any type other than 'upstream' are not allowed in metainfo " -"files." +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:337 +#, c-format +msgid "Only accepting components: %s" msgstr "" -#: tools/ascli-utils.c:297 -msgid "Summary" -msgstr "ملخص" +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:340 +#, c-format +msgid "Only accepting component: %s" +msgstr "" -#. TRANSLATORS: Status summary in ascli -#: tools/ascli-actions-misc.c:145 -msgid "Summary:" +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:345 +msgid "Processing directories:" msgstr "" -#: src/as-category.c:290 -msgctxt "Category of Utility" -msgid "System Monitoring" -msgstr "مراقبة النظام" +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:348 +msgid "Processing directory:" +msgstr "" -#: src/as-validator-issue-tag.h:46 -msgid "Tags of this name are not permitted in this section." +#. TRANSLATORS: error message +#: tools/appstream-compose.c:357 +msgid "Can not process invalid directory" msgstr "" -#: src/as-category.c:284 -msgctxt "Category of Utility" -msgid "Terminal Emulators" -msgstr "محاكيات الطرفية" +#. TRANSLATORS: information message +#: tools/appstream-compose.c:369 +msgid "Composing metadata..." +msgstr "" -#: src/as-category.c:281 -msgctxt "Category of Utility" -msgid "Text Editors" -msgstr "محررات النصوص" +#. TRANSLATORS: error message +#: tools/appstream-compose.c:374 +#, fuzzy +msgid "Failed to compose AppStream metadata" +msgstr "أداة للتعامل مع بيانات AppStream الوصفية" -#: src/as-validator-issue-tag.h:318 -msgid "" -"The 'pkgname' tag appears multiple times. You should evaluate creating a " -"metapackage containing the metainfo and .desktop files in order to avoid " -"defining multiple package names per component." +#. TRANSLATORS: appstream-compose failed to include all data +#: tools/appstream-compose.c:380 +msgid "Run failed, some data was ignored." +msgstr "" + +#. TRANSLATORS: information message of appstream-compose +#: tools/appstream-compose.c:382 +msgid "Errors were raised during this compose run:" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:416 +#: tools/appstream-compose.c:383 msgid "" -"The 'update_contact' tag should not be included in collection AppStream XML." +"Refer to the generated issue report data for details on the individual " +"problems." msgstr "" -#: tools/ascli-actions-mdata.c:467 -#, c-format -msgid "The .desktop file '%s' does not exist." +#: tools/appstream-compose.c:386 +msgid "Overview of generated hints:" msgstr "" -#: src/as-validator-issue-tag.h:393 -msgid "The can not contain a hyperlink." +#. TRANSLATORS: information message +#: tools/appstream-compose.c:388 +msgid "Success!" msgstr "" -#: src/as-validator-issue-tag.h:313 -msgid "" -"The tag still contains a 'type' property, probably from an old " -"conversion to the recent metainfo format." +#. TRANSLATORS: ascli flag description for: --cachepath +#: tools/appstreamcli.c:59 +msgid "Manually selected location of AppStream cache." msgstr "" -#: src/as-validator-issue-tag.h:616 -msgid "" -"The AppStream specification requires a complete, ISO 8601 date string with " -"at least day-granularity to denote dates. Please ensure the date string is " -"valid." +#. TRANSLATORS: ascli flag description for: --datapath +#: tools/appstreamcli.c:64 +msgid "Manually selected location of AppStream metadata to scan." msgstr "" -#: src/as-pool.c:1924 -#, fuzzy, c-format -msgid "" -"The AppStream system cache was updated, but problems were found which " -"resulted in metadata being ignored: %s" -msgstr "حُدِّثت محتويات ذاكرة تخزين آب-ستريم المؤقتة، لكن وجدت مشكلة: %s" +#. TRANSLATORS: ascli flag description for: --no-cache +#: tools/appstreamcli.c:69 +msgid "Make request without any caching." +msgstr "" -#: src/as-pool.c:1922 -#, fuzzy -msgid "" -"The AppStream system cache was updated, but some components were ignored. " -"Refer to the verbose log for more information." +#. TRANSLATORS: ascli flag description for: --format +#: tools/appstreamcli.c:85 +msgid "Default metadata format (valid values are 'xml' and 'yaml')." msgstr "" -"حُدثت خبيئة آب-ستريم لكنه اكتشف بعض الأخطاء سببها بيانات وصفية مفقودة. ارجع " -"إلى السجل المفصَّل لمعلومات أكثر." -#: src/as-validator-issue-tag.h:151 -msgid "The SPDX license expression is invalid and could not be parsed." +#. TRANSLATORS: ascli flag description for: --details +#: tools/appstreamcli.c:100 +msgid "Print detailed output about found components." +msgstr "اطبع خرجًا مفصلا عن المكون المعثور عليه." + +#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) +#: tools/appstreamcli.c:118 +msgid "Also show pedantic hints." +msgstr "أظهر التلميحات الإصطلاحية أيضًا." + +#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) +#: tools/appstreamcli.c:123 +#, fuzzy +msgid "Print detailed explanation for found issues." +msgstr "اطبع خرجًا مفصلا عن المكون المعثور عليه." + +#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) +#: tools/appstreamcli.c:128 +msgid "Do not use network access." +msgstr "لا تستعمل النفاذ إلى الشبكة." + +#. TRANSLATORS: ascli flag description for: --format when validating XML files +#: tools/appstreamcli.c:133 +msgid "Format of the generated report (valid values are 'text' and 'yaml')." msgstr "" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows -#: tools/appstream-cli.c:683 +#. TRANSLATORS: This is the header to the --help menu for subcommands +#. TRANSLATORS: This is the header to the --help menu +#: tools/appstreamcli.c:153 tools/appstreamcli.c:981 +msgid "AppStream command-line interface" +msgstr "شاشة توجيه الأوامر لآب-ستريم" + +#: tools/appstreamcli.c:156 #, c-format -msgid "The TYPE must be a valid component-type, such as: %s" +msgid "'%s' command" +msgstr "أمر ’%s’" + +#. TRANSLATORS: An unknown option was passed to appstreamcli. +#: tools/appstreamcli.c:191 +#, c-format +msgid "Option '%s' is unknown." +msgstr "الخيار '%s' غير معروف." + +#: tools/appstreamcli.c:195 tools/appstreamcli.c:1207 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options." +msgstr "شغِّل '%s --help' لرؤية قائمة كاملة بالخيارات المتاحة لسطر الأوامر." + +#: tools/appstreamcli.c:197 +#, c-format +msgid "" +"Run '%s --help' to see a list of available commands and options, and '%s %s " +"--help' to see a list of options specific for this subcommand." msgstr "" -#: src/as-validator-issue-tag.h:547 -msgid "The XML of this file is malformed." +#. TRANSLATORS: ascli flag description for: --force +#: tools/appstreamcli.c:245 +msgid "Enforce a cache refresh." msgstr "" -#: src/as-validator-issue-tag.h:584 -msgid "" -"The category defined in the .desktop file is not valid. Refer to the XDG " -"Menu Specification for a list of valid categories." +#. TRANSLATORS: ascli flag description for: --user +#: tools/appstreamcli.c:251 +msgid "Update the user-specific instead of the system-wide cache." msgstr "" -#: src/as-validator-issue-tag.h:532 -msgid "" -"The category name is not valid. Refer to the XDG Menu Specification for a " -"list of valid category names." +#. TRANSLATORS: ascli flag description for: --origin (part of the "put" subcommand) +#: tools/appstreamcli.c:477 +msgid "Set the data origin for the installed metadata collection file." msgstr "" -#: src/as-validator-issue-tag.h:124 -msgid "" -"The component ID contains a hyphen/minus. Using a hyphen is strongly " -"discouraged, to improve interoperability with other tools such as D-Bus. A " -"good option is to replace any hyphens with underscores ('_')." +#. TRANSLATORS: ascli flag description for: --user (part of the "put" subcommand) +#: tools/appstreamcli.c:482 +msgid "Install the file for the current user, instead of globally." msgstr "" -#: src/as-validator-issue-tag.h:130 +#: tools/appstreamcli.c:631 msgid "" -"The component ID contains a segment starting with a number. Starting a " -"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " -"interoperability with other tools such as D-Bus. Ideally, prefix these " -"segments with an underscore." +"You need to provide at least two version numbers to compare as parameters." msgstr "" -#: src/as-validator-issue-tag.h:119 -msgid "" -"The component ID contains an invalid character. Only ASCII characters, dots " -"and numbers are permitted." +#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. +#: tools/appstreamcli.c:660 +#, c-format +msgid "Unknown compare relation '%s'. Valid values are:" msgstr "" -#: src/as-validator-issue-tag.h:106 +#: tools/appstreamcli.c:700 msgid "" -"The component ID is not a reverse domain-name. Please update the ID to avoid " -"future issues and be compatible with all AppStream implementations.\n" -"You may also consider to update the name of the accompanying .desktop file " -"to follow the latest version of the Desktop-Entry specification and use a " -"rDNS name for it as well. In any case, do not forget to mention the new " -"desktop-entry in a tag for this component to keep the " -"application launchable from software centers and the .desktop file data " -"associated with the metainfo data." +"Too many parameters: Need two version numbers or version numbers and a " +"comparison operator." msgstr "" -#: src/as-validator-issue-tag.h:101 +#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) +#: tools/appstreamcli.c:726 msgid "" -"The component ID is required to follow a reverse domain-name scheme for its " -"name. See the AppStream specification for details." +"Use the given .desktop file to fill in the basic values of the metainfo file." msgstr "" -#: src/as-validator-issue-tag.h:114 +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand +#: tools/appstreamcli.c:731 msgid "" -"The component ID might not follow the reverse domain-name schema (the TLD " -"used by it is not known to the validator)." +"This command takes optional TYPE and FILE positional arguments, FILE being a " +"file to write to (or \"-\" for standard output)." msgstr "" -#: src/as-validator-issue-tag.h:293 -msgid "" -"The component has a 'merge' method defined. This is not allowed in metainfo " -"files." +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows +#: tools/appstreamcli.c:734 +#, c-format +msgid "The TYPE must be a valid component-type, such as: %s" msgstr "" -#: src/as-validator-issue-tag.h:288 -msgid "" -"The component has a priority value set. This is not allowed in metainfo " -"files." +#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) +#: tools/appstreamcli.c:775 +msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:503 -msgid "The component is an addon, but no 'extends' tag was specified." +#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command +#: tools/appstreamcli.c:815 +msgid "Assume the input file is in the selected format ('yaml' or 'text')." msgstr "" -#: src/as-validator-issue-tag.h:440 +#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command +#: tools/appstreamcli.c:820 msgid "" -"The component is missing a long description. Components of this type must " -"have a long description." +"Limit the number of release entries that end up in the metainfo file (0 for " +"unlimited)." msgstr "" -#: src/as-validator-issue-tag.h:303 -msgid "The component is missing a name ( tag)." +#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command +#: tools/appstreamcli.c:862 +msgid "Generate the output in the selected format ('yaml' or 'text')." msgstr "" -#: src/as-validator-issue-tag.h:308 -msgid "The component is missing a summary ( tag)." +#: tools/appstreamcli.c:894 +#, c-format +msgid "Compose binary '%s' was not found! Can not continue." msgstr "" -#: src/as-validator-issue-tag.h:298 -msgid "The component is missing an ID ( tag)." +#. TRANSLATORS: this is a (usually shorter) command alias, shown after the command summary text +#: tools/appstreamcli.c:956 +#, c-format +msgid "(Alias: '%s')" msgstr "" -#: src/as-validator-issue-tag.h:136 -msgid "" -"The component is part of the Freedesktop project, but its ID does not start " -"with fd.o's reverse-DNS name (\"org.freedesktop\")." -msgstr "" +#. these are commands we can use with appstreamcli +#: tools/appstreamcli.c:983 +msgid "Subcommands:" +msgstr "الأوامر الفرعية:" -#: src/as-validator-issue-tag.h:146 +#: tools/appstreamcli.c:1029 msgid "" -"The component is part of the GNOME project, but its ID does not start with " -"GNOMEs reverse-DNS name (\"org.gnome\")." +"You can find information about subcommand-specific options by passing \"--" +"help\" to the subcommand." msgstr "" -#: src/as-validator-issue-tag.h:141 +#. TRANSLATORS: ascli has been run with unknown command. '%s --help' is the command to receive help and should not be translated. +#: tools/appstreamcli.c:1052 +#, fuzzy, c-format msgid "" -"The component is part of the KDE project, but its ID does not start with " -"KDEs reverse-DNS name (\"org.kde\")." -msgstr "" +"Command '%s' is unknown. Run '%s --help' for a list of available commands." +msgstr "شغِّل '%s --help' لرؤية قائمة كاملة بالخيارات المتاحة لسطر الأوامر." + +#. TRANSLATORS: ascli flag description for: --verbose +#: tools/appstreamcli.c:1082 +msgid "Show extra debugging information." +msgstr "أظهر بيانات التنقيح الإضافية." -#: src/as-validator-issue-tag.h:323 -msgid "The component name should (likely) not end with a dot ('.')." +#. TRANSLATORS: ascli flag description for: --profile +#: tools/appstreamcli.c:1090 +msgid "Enable profiling" msgstr "" -#: src/as-validator-issue-tag.h:333 -msgid "The component summary must not contain tabs or linebreaks." +#. TRANSLATORS: `appstreamcli search` command description. +#: tools/appstreamcli.c:1102 +msgid "Search the component database." msgstr "" -#: src/as-validator-issue-tag.h:328 -msgid "The component summary should not end with a dot ('.')." +#. TRANSLATORS: `appstreamcli get` command description. +#: tools/appstreamcli.c:1107 +msgid "Get information about a component by its ID." msgstr "" -#: src/as-validator-issue-tag.h:243 +#. TRANSLATORS: `appstreamcli what-provides` command description. +#: tools/appstreamcli.c:1112 msgid "" -"The default screenshot of a software component must not be a video. Use a " -"static image as default screenshot and set the video as a secondary " -"screenshot." +"Get components which provide the given item. Needs an item type (e.g. lib, " +"bin, python3, …) and item value as parameter." msgstr "" -#: src/as-validator-issue-tag.h:86 -msgid "" -"The description contains a web URL in plain text. This is not allowed, " -"please use the tag instead to share links." +#. TRANSLATORS: `appstreamcli dump` command description. +#: tools/appstreamcli.c:1118 +msgid "Dump raw XML metadata for a component matching the ID." msgstr "" -#: src/as-validator.c:152 -msgid "" -"The emitted issue tag is unknown in the tag registry of AppStream. This is a " -"bug in the validator itself, please report this issue in our bugtracker." +#. TRANSLATORS: `appstreamcli refresh-cache` command description. +#: tools/appstreamcli.c:1123 +msgid "Rebuild the component metadata cache." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:435 -msgid "" -"The essential tag 'metadata_license' is missing. A license for the metadata " -"itself always has to be defined." +#. TRANSLATORS: `appstreamcli validate` command description. +#: tools/appstreamcli.c:1129 +msgid "Validate AppStream XML files for issues." msgstr "" -#: src/as-validator-issue-tag.h:79 -msgid "" -"The first 'description/p' paragraph of this component might be too short (< " -"80 characters). Please consider starting with a longer paragraph to improve " -"how the description looks like in software centers and to provide more " -"detailed information on this component immediately in the first paragraph." +#. TRANSLATORS: `appstreamcli validate-tree` command description. +#: tools/appstreamcli.c:1134 +msgid "Validate an installed file-tree of an application for valid metadata." msgstr "" -#: src/as-validator-issue-tag.h:156 -msgid "" -"The license ID was not found in the SPDX database. Please check that the " -"license ID is written in an SPDX-conformant way and is a valid free software " -"license." +#. TRANSLATORS: `appstreamcli install` command description. +#: tools/appstreamcli.c:1140 +msgid "Install software matching the component-ID." msgstr "" -#: src/as-validator-issue-tag.h:96 -msgid "" -"The mentioned tag is empty, which is highly likely not intended as it should " -"have content." +#. TRANSLATORS: `appstreamcli remove` command description. +#: tools/appstreamcli.c:1145 +msgid "Remove software matching the component-ID." msgstr "" -#: src/as-validator-issue-tag.h:168 -msgid "" -"The metadata itself does not seem to be licensed under a permissive license. " -"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " -"0BSD to allow distributors to include it in mixed data collections without " -"the risk of license violations due to mutually incompatible licenses." +#. TRANSLATORS: `appstreamcli status` command description. +#: tools/appstreamcli.c:1151 +msgid "Display status information about available AppStream metadata." msgstr "" -#: src/as-validator-issue-tag.h:162 +#. TRANSLATORS: `appstreamcli os-info` command description. +#: tools/appstreamcli.c:1156 msgid "" -"The metadata itself seems to be licensed under a complex collection of " -"licenses. Please license the data under a simple permissive license, like " -"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " -"collections without the risk of license violations due to mutually " -"incompatible licenses." +"Show information about the current operating system from the metadata index." msgstr "" -#: src/as-validator-issue-tag.h:599 -msgid "" -"The metainfo file is stored in a legacy path. Please place it in '/usr/share/" -"metainfo'." +#. TRANSLATORS: `appstreamcli put` command description. +#: tools/appstreamcli.c:1161 +msgid "Install a metadata file into the right location." +msgstr "ثبِّت ملف بيانات وصفية في الموقع الصحيح." + +#. TRANSLATORS: `appstreamcli convert` command description. "Collection XML" is a term describing a specific type of AppStream XML data. +#: tools/appstreamcli.c:1166 +msgid "Convert collection XML to YAML or vice versa." msgstr "" -#: src/as-validator-issue-tag.h:604 -msgid "The metainfo file specifies multiple components. This is not allowed." +#. TRANSLATORS: `appstreamcli vercmp` command description. +#: tools/appstreamcli.c:1171 +msgid "Compare two version numbers." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:559 +#. TRANSLATORS: `appstreamcli new-template` command description. +#: tools/appstreamcli.c:1177 msgid "" -"The metainfo file uses an ancient version of the AppStream specification, " -"which can not be validated. Please migrate it to version 0.6 (or higher)." +"Create a template for a metainfo file (to be filled out by the upstream " +"project)." msgstr "" -#: src/as-validator-issue-tag.h:569 -msgid "The metainfo filename does not match the component ID." +#. TRANSLATORS: `appstreamcli make-desktop-file` command description. +#: tools/appstreamcli.c:1182 +msgid "Create a desktop-entry file from a metainfo file." msgstr "" -#: src/as-validator-issue-tag.h:609 -msgid "" -"The releases are not sorted in a latest to oldest version order. This is " -"required as some tools will assume that the latest version is always at the " -"top. Sorting releases also increases overall readability of the metainfo " -"file." +#. TRANSLATORS: `appstreamcli news-to-metainfo` command description. +#: tools/appstreamcli.c:1187 +msgid "Convert a YAML or text NEWS file into metainfo releases." msgstr "" -#: src/as-validator-issue-tag.h:537 -msgid "The screenshot caption is too long (should be <= 80 characters)" +#. TRANSLATORS: `appstreamcli metainfo-to-news` command description. +#: tools/appstreamcli.c:1192 +msgid "Write NEWS text or YAML file with information from a metainfo file." msgstr "" -#: src/as-validator-issue-tag.h:206 -msgid "The screenshot does not have a caption text. Consider adding one." +#. TRANSLATORS: `appstreamcli compose` command description. +#: tools/appstreamcli.c:1198 +msgid "Compose AppStream collection metadata from directory trees." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:218 -msgid "" -"The screenshot video does not specify which container format was used in a " -"'container' property." +#. TRANSLATORS: ascli has been run without command. +#: tools/appstreamcli.c:1206 +msgid "You need to specify a command." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:212 -msgid "" -"The screenshot video does not specify which video codec was used in a " -"'codec' property." +#. TRANSLATORS: In ascli: The requested action needs higher permissions. +#: tools/ascli-actions-mdata.c:70 +msgid "You might need superuser permissions to perform this action." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:224 -msgid "" -"The selected video codec is not supported by AppStream and software centers " -"may not be able to play the video. Only the AV1 and VP9 codecs are currently " -"supported, using 'av1' and 'vp9' as values for the 'codec' property." +#. we performed a cache refresh +#. TRANSLATORS: Updating the metadata cache succeeded +#: tools/ascli-actions-mdata.c:80 +msgid "AppStream cache update completed successfully." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:231 -msgid "" -"The selected video container format is not supported by AppStream and " -"software centers may not be able to play the video. Only the WebM and " -"Matroska video containers are currently supported, using 'webm' and 'mkv' as " -"values for the 'container' property." +#. cache wasn't updated, so the update wasn't necessary +#: tools/ascli-actions-mdata.c:86 +msgid "AppStream cache update is not necessary." +msgstr "تحديث محتويات ذاكرة تخزين آب-ستريم المؤقتة ليس ضروريًّا." + +#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments +#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. +#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:253 +#: tools/ascli-actions-pkgmgr.c:80 +msgid "You need to specify a component-ID." msgstr "" -#: src/as-validator-issue-tag.h:283 -msgid "" -"The set component type is not a recognized, valid AppStream component type." +#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:265 +#: tools/ascli-actions-pkgmgr.c:93 +#, c-format +msgid "Unable to find component with ID '%s'!" msgstr "" -#: src/as-validator-issue-tag.h:398 -msgid "" -"The set value is not an identifier for a desktop environment as registered " -"with Freedesktop.org." +#: tools/ascli-actions-mdata.c:164 +msgid "You need to specify a term to search for." msgstr "" -#: tools/ascli-actions-mdata.c:449 +#. TRANSLATORS: We failed to find any component in the database, likely due to an error +#: tools/ascli-actions-mdata.c:177 #, c-format -msgid "" -"The software component type '%s' is not valid in AppStream. Possible values " -"are:" +msgid "Unable to find component matching %s!" msgstr "" -#: src/as-validator-issue-tag.h:338 -msgid "The summary must not contain any URL. Use the tags for links." -msgstr "" +#: tools/ascli-actions-mdata.c:182 +#, c-format +msgid "No component matching '%s' found." +msgstr "لم أجد مكونا يطابق '%s'." -#: src/as-validator-issue-tag.h:640 -msgid "" -"The type of the item that the component provides is not known to AppStream." +#: tools/ascli-actions-mdata.c:206 +msgid "No value for the item to search for was defined." msgstr "" -#: src/as-validator-issue-tag.h:174 -msgid "" -"The update-contact does not appear to be a valid email address (escaping of " -"'@' is only allowed as '_at_' or '_AT_')." +#: tools/ascli-actions-mdata.c:212 +msgid "Invalid type for provided item selected. Valid values are:" msgstr "" -#: tools/ascli-actions-validate.c:363 tools/ascli-actions-validate.c:492 +#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results +#: tools/ascli-actions-mdata.c:227 #, c-format -msgid "" -"The validator can not create reports in the '%s' format. You may select " -"'yaml' or 'text' instead." -msgstr "" +msgid "Could not find component providing '%s::%s'." +msgstr "تعذر إيجاد مكون يوفر '%s::%s'." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:410 -msgid "This 'bundle' tag has an unknown type and can not be used." +#: tools/ascli-actions-mdata.c:306 +msgid "You need to specify a metadata file." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:404 -msgid "This 'launchable' tag has an unknown type and can not be used." +#: tools/ascli-actions-mdata.c:320 +#, c-format +msgid "Unable to install metadata file: %s" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:515 -msgid "" -"This 'localization' component does not define any languages this " -"localization is for." +#: tools/ascli-actions-mdata.c:340 +msgid "You need to specify an input and output file." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:509 -msgid "" -"This 'localization' component is missing an 'extends' tag, to specify the " -"components it adds localization to." -msgstr "" +#: tools/ascli-actions-mdata.c:347 +#, c-format +msgid "Metadata file '%s' does not exist." +msgstr "ملف البيانات الوصفية '%s' غير موجود." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:521 +#. TRANSLATORS: User is trying to convert a file in ascli +#: tools/ascli-actions-mdata.c:387 msgid "" -"This 'service' component is missing a 'launchable' tag of type 'service'." +"Unable to convert file: Could not determine output format, please set it " +"explicitly using '--format='." msgstr "" +"تعذر تحويل الملف: تعذرت معرفة نسق الخرج، عيِّنه رجاءً تصريحًا باستعمال '--" +"format='." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:473 -msgid "" -"This 'web-application' component is missing a 'icon' tag to specify a valid " -"icon." +#: tools/ascli-actions-mdata.c:438 +#, c-format +msgid "Unable to find operating system component '%s'!" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:467 -msgid "" -"This 'web-application' component is missing a 'launchable' tag of type 'url'." +#: tools/ascli-actions-mdata.c:443 +msgid "Version" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:479 +#: tools/ascli-actions-mdata.c:467 msgid "" -"This 'web-application' component is missing categorizations. A 'categories' " -"block is likely missing." +"You need to give an AppStream software component type to generate a " +"template. Possible values are:" msgstr "" -#: src/as-validator-issue-tag.h:564 +#: tools/ascli-actions-mdata.c:469 +#, c-format msgid "" -"This XML document has an unknown root tag. Maybe this file is not a metainfo " -"document?" +"The software component type '%s' is not valid in AppStream. Possible values " +"are:" msgstr "" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand -#: tools/appstream-cli.c:680 -msgid "" -"This command takes optional TYPE and FILE positional arguments, FILE being a " -"file to write to (or \"-\" for standard output)." +#: tools/ascli-actions-mdata.c:487 +#, c-format +msgid "The .desktop file '%s' does not exist." msgstr "" -#: src/as-validator-issue-tag.h:622 -msgid "" -"This component extends, provides, requires or recommends itself, which is " -"certainly not intended and may confuse users or machines dealing with this " -"metadata." +#: tools/ascli-actions-mdata.c:493 +#, c-format +msgid "Unable to read the .desktop file: %s" msgstr "" -#: src/as-validator-issue-tag.h:579 -msgid "This component metadata refers to a non-existing .desktop file." +#: tools/ascli-actions-mdata.c:564 +#, c-format +msgid "Unable to build the template metainfo file: %s" msgstr "" -#: src/as-validator-issue-tag.h:69 -msgid "" -"This description paragraph contains invalid markup. Currently, only " -"and are permitted." +#: tools/ascli-actions-mdata.c:572 +#, c-format +msgid "Unable to save the template metainfo file: %s" msgstr "" -#: src/as-validator-issue-tag.h:57 -msgid "" -"This element (paragraph, list, etc.) of a tag must not be " -"localized individually in collection metadata. Localize the whole " -" tag instead. The AppStream collection metadata generator (e." -"g. `appstream-generator`) will already do the right thing when compiling the " -"data." -msgstr "" +#. TRANSLATORS: In the status report of ascli: Header +#: tools/ascli-actions-misc.c:47 +msgid "AppStream Status:" +msgstr "حالة آب-ستريم:" -#: src/as-validator-issue-tag.h:455 -msgid "" -"This generic component is missing a long description. It may be useful to " -"add one." +#: tools/ascli-actions-misc.c:48 +#, c-format +msgid "Version: %s" msgstr "" -#: src/as-validator-issue-tag.h:421 -msgid "" -"This tag is a GNOME-specific extension to AppStream and not part of the " -"official specification. Do not expect it to work in all implementations and " -"in all software centers." +#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions +#: tools/ascli-actions-misc.c:52 +msgid "Distribution metadata:" msgstr "" -#: src/as-validator-issue-tag.h:41 -msgid "This tag requires a type property." +#: tools/ascli-actions-misc.c:94 +msgid "Iconsets" msgstr "" -#: data/org.freedesktop.appstream.cli.metainfo.xml:15 -msgid "" -"This tool allows for reading, writing, validating and transformation of " -"AppStream XML or YAML metadata. It also gives access to the system metadata " -"pool, for example to query for software that provides a specific MIME-type, " -"and installing it by its software component identifier." -msgstr "" +#: tools/ascli-actions-misc.c:105 +msgid "No icons." +msgstr "لا أيقونات." -#: src/as-validator-issue-tag.h:388 -msgid "" -"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." -msgstr "" +#. TRANSLATORS: No metainfo files have been found +#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 +msgid "Empty." +msgstr "فارغ." -#: tools/appstream-cli.c:648 -msgid "" -"Too many parameters: Need two version numbers or version numbers and a " -"comparison operator." +#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report +#: tools/ascli-actions-misc.c:116 +msgid "Metainfo files:" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:461 -msgid "" -"Type 'console-application' component, but no information about binaries in " -"$PATH was provided via a 'provides/binary' tag." -msgstr "" +#: tools/ascli-actions-misc.c:123 +#, c-format +msgid "Found %i components." +msgstr "وُجِد %i من المكونات." + +#. TRANSLATORS: Found metainfo files in legacy directories +#: tools/ascli-actions-misc.c:138 +#, c-format +msgid "Found %i components in legacy paths." +msgstr "وُجِد %i من المكونات في مسارات مهجورة." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:491 -msgid "" -"Type 'driver' component, but no modalias information was provided via a " -"provides/modalias tag." +#. TRANSLATORS: Status summary in ascli +#: tools/ascli-actions-misc.c:145 +msgid "Summary:" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:485 -msgid "" -"Type 'font' component, but no font information was provided via a 'provides/" -"font' tag." +#: tools/ascli-actions-misc.c:153 +#, c-format +msgid "We have information on %i software components." msgstr "" -#: src/as-validator.c:333 -msgid "URL format is invalid." +#: tools/ascli-actions-misc.c:159 +#, c-format +msgid "Error while loading the metadata pool: %s" msgstr "" -#: tools/ascli-actions-mdata.c:544 -#, c-format -msgid "Unable to build the template metainfo file: %s" +#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 +msgid "You need to specify a metainfo file as input." msgstr "" -#. TRANSLATORS: User is trying to convert a file in ascli -#: tools/ascli-actions-mdata.c:400 +#: tools/ascli-actions-misc.c:188 msgid "" -"Unable to convert file: Could not determine output format, please set it " -"explicitly using '--format='." +"You need to specify a desktop-entry file to create or augment as output." msgstr "" -"تعذر تحويل الملف: تعذرت معرفة نسق الخرج، عيِّنه رجاءً تصريحًا باستعمال '--" -"format='." -#. TRANSLATORS: We failed to find any component in the database, likely due to an error -#: tools/ascli-actions-mdata.c:177 -#, c-format -msgid "Unable to find component matching %s!" -msgstr "" +#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 +#: tools/ascli-actions-misc.c:515 +#, fuzzy, c-format +msgid "Metainfo file '%s' does not exist." +msgstr "ملف البيانات الوصفية '%s' غير موجود." -#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:266 -#: tools/ascli-actions-pkgmgr.c:93 +#: tools/ascli-actions-misc.c:219 #, c-format -msgid "Unable to find component with ID '%s'!" +msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." msgstr "" #: tools/ascli-actions-misc.c:224 @@ -1571,52 +2536,51 @@ msgid "Unable to load existing desktop-entry file template: %s" msgstr "" -#: src/as-validator-issue-tag.h:356 -msgid "Unable to reach remote icon at the given web location - does it exist?" +#: tools/ascli-actions-misc.c:228 +#, c-format +msgid "Creating new desktop-entry file '%s' using data from '%s'" msgstr "" -#: src/as-validator-issue-tag.h:378 -msgid "" -"Unable to reach remote location that this URL references - does it exist?" +#: tools/ascli-actions-misc.c:284 +msgid "No stock icon name was provided in the metainfo file. Can not continue." msgstr "" -#: src/as-validator-issue-tag.h:179 +#: tools/ascli-actions-misc.c:306 msgid "" -"Unable to reach the screenshot image on its remote location - does the image " -"exist?" +"No provided binary specified in metainfo file, and no exec command specified " +"via '--exec'. Can not create 'Exec=' key." msgstr "" -#: src/as-validator-issue-tag.h:184 -msgid "" -"Unable to reach the screenshot video on its remote location - does the video " -"file exist?" +#: tools/ascli-actions-misc.c:370 +#, c-format +msgid "Unable to save desktop entry file: %s" msgstr "" -#: src/as-validator-issue-tag.h:542 -msgid "Unable to read file." +#: tools/ascli-actions-misc.c:393 +msgid "You need to specify a NEWS file as input." msgstr "" -#: src/as-validator-issue-tag.h:574 -msgid "Unable to read the .desktop file associated with this component." +#: tools/ascli-actions-misc.c:397 +msgid "" +"You need to specify a metainfo file to augment, or '-' to print to stdout." msgstr "" -#: tools/ascli-actions-mdata.c:473 -#, c-format -msgid "Unable to read the .desktop file: %s" +#: tools/ascli-actions-misc.c:402 +msgid "No output filename specified, modifying metainfo file directly." msgstr "" -#: src/as-pool.c:606 -msgid "Unable to remove old cache." +#: tools/ascli-actions-misc.c:509 +msgid "You need to specify a NEWS file as output, or '-' to print to stdout." msgstr "" -#: tools/ascli-actions-misc.c:370 -#, c-format -msgid "Unable to save desktop entry file: %s" +#: tools/ascli-actions-misc.c:540 +msgid "You need to specify a NEWS format to write the output in." msgstr "" -#: tools/ascli-actions-mdata.c:552 -#, c-format -msgid "Unable to save the template metainfo file: %s" +#: tools/ascli-actions-pkgmgr.c:53 +msgid "" +"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" +"\" (part of PackageKit) is available." msgstr "" #: tools/ascli-actions-pkgmgr.c:67 @@ -1624,209 +2588,159 @@ msgid "Unable to spawn package manager: %s" msgstr "" -#: tools/ascli-actions-mdata.c:322 +#. TRANSLATORS: We found no distribution package or bundle to install to make this software available +#: tools/ascli-actions-pkgmgr.c:106 #, c-format -msgid "Unable to write to '%s', can not install metainfo file." -msgstr "" +msgid "Component '%s' has no installation candidate." +msgstr "المكوّن '%s' ليس لديه أي وسيلة مرشًحة للتثبيت." -#. TRANSLATORS: ascli has been run with unknown command. -#: tools/appstream-cli.c:1009 -#, c-format -msgid "Unknown command '%s'." -msgstr "" +#: tools/ascli-actions-validate.c:176 tools/ascli-actions-validate.c:354 +#, fuzzy, c-format +msgid "File '%s' does not exist." +msgstr "ملف البيانات الوصفية '%s' غير موجود." -#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. -#: tools/appstream-cli.c:608 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "error"-type hints +#: tools/ascli-actions-validate.c:228 #, c-format -msgid "Unknown compare relation '%s'. Valid values are:" -msgstr "" - -#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) -#: tools/appstream-cli.c:675 -msgid "" -"Use the given .desktop file to fill in the basic values of the metainfo file." -msgstr "" - -#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) -#: tools/appstream-cli.c:725 -msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." +msgid "errors: %lu" msgstr "" -#. TRANSLATORS: this is the menu spec main category for Utilities -#: src/as-category.c:329 -msgid "Utilities" +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "warning"-type hints +#: tools/ascli-actions-validate.c:235 +#, c-format +msgid "warnings: %lu" msgstr "" -#: tools/appstream-cli.c:856 -msgid "Validate AppStream XML files for issues." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "info"-type hints +#: tools/ascli-actions-validate.c:242 +#, c-format +msgid "infos: %lu" msgstr "" -#: tools/appstream-cli.c:857 -msgid "Validate an installed file-tree of an application for valid metadata." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "pedantic"-type hints +#: tools/ascli-actions-validate.c:249 +#, c-format +msgid "pedantic: %lu" msgstr "" -#: tools/ascli-actions-validate.c:301 tools/ascli-actions-validate.c:442 -#, c-format -msgid "Validation failed: %s" +#: tools/ascli-actions-validate.c:268 tools/ascli-actions-validate.c:342 +msgid "You need to specify at least one file to validate!" msgstr "" -#: tools/ascli-actions-validate.c:289 tools/ascli-actions-validate.c:430 +#: tools/ascli-actions-validate.c:294 tools/ascli-actions-validate.c:435 msgid "Validation was successful." msgstr "" -#: tools/ascli-actions-validate.c:291 tools/ascli-actions-validate.c:432 +#: tools/ascli-actions-validate.c:296 tools/ascli-actions-validate.c:437 #, c-format msgid "Validation was successful: %s" msgstr "" -#: tools/appstream-cli.c:851 -msgid "Value of the item that should be found." -msgstr "" - -#: src/as-category.c:177 -msgctxt "Category of Graphics" -msgid "Vector Graphics" -msgstr "" - -#: tools/ascli-actions-misc.c:48 +#: tools/ascli-actions-validate.c:306 tools/ascli-actions-validate.c:447 #, c-format -msgid "Version: %s" -msgstr "" - -#: src/as-category.c:180 -msgctxt "Category of Graphics" -msgid "Viewers" +msgid "Validation failed: %s" msgstr "" -#: tools/ascli-actions-misc.c:153 +#: tools/ascli-actions-validate.c:368 tools/ascli-actions-validate.c:497 #, c-format -msgid "We have information on %i software components." -msgstr "" - -#: src/as-category.c:270 -msgctxt "Category of Communication" -msgid "Web Browsers" -msgstr "" - -#: src/as-category.c:202 -msgctxt "Category of Office" -msgid "Word Processor" -msgstr "" - -#: tools/appstream-cli.c:871 -msgid "Write NEWS text or YAML file with information from a metainfo file." -msgstr "" - -#: tools/appstream-cli.c:874 msgid "" -"You can find information about subcommand-specific options by passing \"--" -"help\" to the subcommand." +"The validator can not create reports in the '%s' format. You may select " +"'yaml' or 'text' instead." msgstr "" -#. TRANSLATORS: In ascli: The requested action needs higher permissions. -#: tools/ascli-actions-mdata.c:70 -msgid "You might need superuser permissions to perform this action." +#: tools/ascli-actions-validate.c:390 tools/ascli-actions-validate.c:484 +msgid "You need to specify a root directory to start validation!" msgstr "" -#: tools/ascli-actions-mdata.c:447 -msgid "" -"You need to give an AppStream software component type to generate a " -"template. Possible values are:" +#: tools/ascli-utils.c:266 +msgid "Identifier" msgstr "" -#: tools/appstream-cli.c:579 -msgid "" -"You need to provide at least two version numbers to compare as parameters." +#: tools/ascli-utils.c:268 +msgid "Internal ID" msgstr "" -#: tools/ascli-actions-misc.c:393 -msgid "You need to specify a NEWS file as input." -msgstr "" +#: tools/ascli-utils.c:269 +msgid "Name" +msgstr "الاسم" -#: tools/ascli-actions-misc.c:509 -msgid "You need to specify a NEWS file as output, or '-' to print to stdout." -msgstr "" +#: tools/ascli-utils.c:270 +msgid "Summary" +msgstr "ملخص" -#: tools/ascli-actions-misc.c:540 -msgid "You need to specify a NEWS format to write the output in." -msgstr "" +#: tools/ascli-utils.c:271 +msgid "Package" +msgstr "الحزمة" -#. TRANSLATORS: ascli has been run without command. -#: tools/appstream-cli.c:925 -msgid "You need to specify a command." -msgstr "" +#: tools/ascli-utils.c:272 +msgid "Bundle" +msgstr "حزمة" -#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments -#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. -#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:254 -#: tools/ascli-actions-pkgmgr.c:80 -msgid "You need to specify a component-ID." +#: tools/ascli-utils.c:273 +msgid "Homepage" msgstr "" -#: tools/ascli-actions-misc.c:188 -msgid "" -"You need to specify a desktop-entry file to create or augment as output." +#: tools/ascli-utils.c:274 +msgid "Icon" msgstr "" -#: tools/ascli-actions-mdata.c:309 -msgid "You need to specify a metadata file." -msgstr "" +#. developer name +#: tools/ascli-utils.c:294 +msgid "Developer" +msgstr "المطور" -#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 -msgid "You need to specify a metainfo file as input." +#: tools/ascli-utils.c:300 +msgid "Extends" msgstr "" -#: tools/ascli-actions-misc.c:397 -msgid "" -"You need to specify a metainfo file to augment, or '-' to print to stdout." -msgstr "" +#: tools/ascli-utils.c:306 +msgid "Description" +msgstr "الوصف" -#: tools/ascli-actions-validate.c:385 tools/ascli-actions-validate.c:479 -msgid "You need to specify a root directory to start validation!" +#: tools/ascli-utils.c:326 +msgid "Default Screenshot URL" msgstr "" -#: tools/ascli-actions-mdata.c:164 -msgid "You need to specify a term to search for." -msgstr "" +#. project group +#: tools/ascli-utils.c:333 +msgid "Project Group" +msgstr "مجموعة المشروع" -#: tools/ascli-actions-mdata.c:357 -msgid "You need to specify an input and output file." -msgstr "" +#. license +#: tools/ascli-utils.c:336 +msgid "License" +msgstr "الرخصة" -#: tools/ascli-actions-validate.c:263 tools/ascli-actions-validate.c:337 -msgid "You need to specify at least one file to validate!" -msgstr "" +#: tools/ascli-utils.c:342 +msgid "Categories" +msgstr "الفئات" -#. TRANSLATORS: List of "grey-listed" words sperated with ";" -#. * Do not translate this list directly. Instead, -#. * provide a list of words in your language that people are likely -#. * to include in a search but that should normally be ignored in -#. * the search. -#. -#: src/as-pool.c:107 -msgid "app;application;package;program;programme;suite;tool" -msgstr "" +#: tools/ascli-utils.c:350 +msgid "Compulsory for" +msgstr "أساسي لـ" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:223 -#, c-format -msgid "errors: %lu" -msgstr "" +#: tools/ascli-utils.c:378 +msgid "Provided Items" +msgstr "العناصر الموفَّرة" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:237 -#, c-format -msgid "infos: %lu" -msgstr "" +#, fuzzy +#~ msgid "" +#~ "AppStream is a cross-distribution specification to provide metadata about " +#~ "software components." +#~ msgstr "" +#~ "آب-ستريم هو جزء من المواصفات المشتركة لجميع الإصدارات والذي يوفّر البيانات " +#~ "الوصفية للمكوّنات البرمجية." + +#, c-format +#~ msgid "" +#~ "Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " +#~ "suffix." +#~ msgstr "" +#~ "لم نتمكن من نسخ ’%s‘: لا يحتوي الملف على تذييل '.metainfo.xml' ولا '." +#~ "appdata.xml'." -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:244 -#, c-format -msgid "pedantic: %lu" -msgstr "" +#~ msgid "An item type (e.g. lib, bin, python3, …)" +#~ msgstr "نوع العنصر (مثال lib، bin، python3، ...)" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:230 -#, c-format -msgid "warnings: %lu" -msgstr "" +#~ msgid "Get components which provide the given item." +#~ msgstr "هاتِ المكونات التي توفر العنصر المُعطى." diff -Nru appstream-0.12.10/po/bn_BD.po appstream-0.14.5/po/bn_BD.po --- appstream-0.12.10/po/bn_BD.po 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/po/bn_BD.po 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,2713 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR Matthias Klumpp +# This file is distributed under the same license as the appstream package. +# Oymate , 2020. +msgid "" +msgstr "" +"Project-Id-Version: appstream\n" +"Report-Msgid-Bugs-To: appstream@lists.freedesktop.org\n" +"POT-Creation-Date: 2021-08-28 16:09+0200\n" +"PO-Revision-Date: 2020-05-09 22:12+0000\n" +"Last-Translator: Oymate \n" +"Language-Team: Bengali (Bangladesh) \n" +"Language: bn_BD\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.1-dev\n" + +#: data/org.freedesktop.appstream.cli.metainfo.xml:8 +msgid "AppStream CLI" +msgstr "অ্যাপস্ট্রিম সিএলআই" + +#: data/org.freedesktop.appstream.cli.metainfo.xml:9 +msgid "An utility to work with AppStream metadata" +msgstr "অ্যাপস্ট্রিম মেটাডেটা নিয়ে কাজ করার একটি যন্ত্র" + +#: data/org.freedesktop.appstream.cli.metainfo.xml:12 +msgid "" +"AppStream is a metadata specification which permits software components to " +"provide information about themselves to automated systems and end-users " +"before the software is actually installed. The AppStream project provides " +"facilities to easily access and transform this metadata, as well as a few " +"additional services for building feature-rich software centers and similar " +"applications that make use of software metadata." +msgstr "" + +#: data/org.freedesktop.appstream.cli.metainfo.xml:18 +msgid "" +"The appstreamcli command-line tool allows to read, write, and " +"transform AppStream XML or YAML metadata as well as to validate it for " +"compliance with the specification. It also provides easy access to the " +"system metadata pool, for example to query for software that provides a " +"specific Mediatype handler or for installing software by its component " +"identifier." +msgstr "" + +#: src/as-category.c:66 +msgctxt "Category of AudioVideo" +msgid "Featured" +msgstr "" + +#: src/as-category.c:69 +msgctxt "Category of AudioVideo" +msgid "Audio Creation & Editing" +msgstr "" + +#: src/as-category.c:75 +msgctxt "Category of AudioVideo" +msgid "Music Players" +msgstr "" + +#: src/as-category.c:84 +msgctxt "Category of Development" +msgid "Featured" +msgstr "" + +#: src/as-category.c:87 +msgctxt "Category of Development" +msgid "Debuggers" +msgstr "" + +#: src/as-category.c:90 +msgctxt "Category of Development" +msgid "IDEs" +msgstr "" + +#: src/as-category.c:99 +msgctxt "Category of Education" +msgid "Featured" +msgstr "" + +#: src/as-category.c:102 +msgctxt "Category of Education" +msgid "Astronomy" +msgstr "" + +#: src/as-category.c:105 +msgctxt "Category of Education" +msgid "Chemistry" +msgstr "" + +#: src/as-category.c:108 +msgctxt "Category of Education" +msgid "Languages" +msgstr "" + +#: src/as-category.c:112 +msgctxt "Category of Education" +msgid "Math" +msgstr "" + +#: src/as-category.c:121 +msgctxt "Category of Games" +msgid "Featured" +msgstr "" + +#: src/as-category.c:124 +msgctxt "Category of Games" +msgid "Action" +msgstr "ক্রিয়া" + +#: src/as-category.c:127 +msgctxt "Category of Games" +msgid "Adventure" +msgstr "অ্যাডভেঞ্চার" + +#: src/as-category.c:130 +msgctxt "Category of Games" +msgid "Arcade" +msgstr "" + +#: src/as-category.c:133 +msgctxt "Category of Games" +msgid "Blocks" +msgstr "" + +#: src/as-category.c:136 +msgctxt "Category of Games" +msgid "Board" +msgstr "" + +#: src/as-category.c:139 +msgctxt "Category of Games" +msgid "Card" +msgstr "" + +#: src/as-category.c:142 +msgctxt "Category of Games" +msgid "Emulators" +msgstr "" + +#: src/as-category.c:145 +msgctxt "Category of Games" +msgid "Kids" +msgstr "" + +#: src/as-category.c:148 +msgctxt "Category of Games" +msgid "Logic" +msgstr "" + +#: src/as-category.c:151 +msgctxt "Category of Games" +msgid "Role Playing" +msgstr "" + +#: src/as-category.c:154 +msgctxt "Category of Games" +msgid "Sports" +msgstr "" + +#: src/as-category.c:158 +msgctxt "Category of Games" +msgid "Strategy" +msgstr "" + +#: src/as-category.c:166 +msgctxt "Category of Graphics" +msgid "Featured" +msgstr "" + +#: src/as-category.c:169 +msgctxt "Category of Graphics" +msgid "3D Graphics" +msgstr "৩ডি গ্রাফিক্স" + +#: src/as-category.c:172 +msgctxt "Category of Graphics" +msgid "Photography" +msgstr "" + +#: src/as-category.c:175 +msgctxt "Category of Graphics" +msgid "Scanning" +msgstr "" + +#: src/as-category.c:178 +msgctxt "Category of Graphics" +msgid "Vector Graphics" +msgstr "" + +#: src/as-category.c:181 +msgctxt "Category of Graphics" +msgid "Viewers" +msgstr "" + +#: src/as-category.c:189 +msgctxt "Category of Office" +msgid "Featured" +msgstr "" + +#: src/as-category.c:192 +msgctxt "Category of Office" +msgid "Calendar" +msgstr "" + +#: src/as-category.c:196 +msgctxt "Category of Office" +msgid "Database" +msgstr "" + +#: src/as-category.c:199 +msgctxt "Category of Office" +msgid "Finance" +msgstr "" + +#: src/as-category.c:203 +msgctxt "Category of Office" +msgid "Word Processor" +msgstr "" + +#: src/as-category.c:212 +msgctxt "Category of Addons" +msgid "Fonts" +msgstr "" + +#: src/as-category.c:215 +msgctxt "Category of Addons" +msgid "Codecs" +msgstr "" + +#: src/as-category.c:218 +msgctxt "Category of Addons" +msgid "Input Sources" +msgstr "" + +#: src/as-category.c:221 +msgctxt "Category of Addons" +msgid "Language Packs" +msgstr "" + +#: src/as-category.c:224 +msgctxt "Category of Addons" +msgid "Localization" +msgstr "" + +#: src/as-category.c:232 +msgctxt "Category of Science" +msgid "Featured" +msgstr "" + +#: src/as-category.c:235 +msgctxt "Category of Science" +msgid "Artificial Intelligence" +msgstr "" + +#: src/as-category.c:238 +msgctxt "Category of Science" +msgid "Astronomy" +msgstr "" + +#: src/as-category.c:241 +msgctxt "Category of Science" +msgid "Chemistry" +msgstr "" + +#: src/as-category.c:244 +msgctxt "Category of Science" +msgid "Math" +msgstr "" + +#: src/as-category.c:249 +msgctxt "Category of Science" +msgid "Robotics" +msgstr "" + +#: src/as-category.c:257 +msgctxt "Category of Communication" +msgid "Featured" +msgstr "" + +#: src/as-category.c:260 +msgctxt "Category of Communication" +msgid "Chat" +msgstr "" + +#: src/as-category.c:267 +msgctxt "Category of Communication" +msgid "News" +msgstr "" + +#: src/as-category.c:271 +msgctxt "Category of Communication" +msgid "Web Browsers" +msgstr "" + +#: src/as-category.c:279 +msgctxt "Category of Utility" +msgid "Featured" +msgstr "" + +#: src/as-category.c:282 +msgctxt "Category of Utility" +msgid "Text Editors" +msgstr "" + +#: src/as-category.c:285 +msgctxt "Category of Utility" +msgid "Terminal Emulators" +msgstr "" + +#: src/as-category.c:288 +msgctxt "Category of Utility" +msgid "File System" +msgstr "" + +#: src/as-category.c:291 +msgctxt "Category of Utility" +msgid "System Monitoring" +msgstr "" + +#: src/as-category.c:294 +msgctxt "Category of Utility" +msgid "Security" +msgstr "" + +#. TRANSLATORS: this is the menu spec main category for Audio & Video +#: src/as-category.c:303 +msgid "Audio & Video" +msgstr "" + +#. TRANSLATORS: this is the menu spec main category for Development +#: src/as-category.c:306 +msgid "Developer Tools" +msgstr "" + +#. TRANSLATORS: this is the menu spec main category for Education +#: src/as-category.c:309 +msgid "Education" +msgstr "" + +#. TRANSLATORS: this is the menu spec main category for Game +#: src/as-category.c:312 +msgid "Games" +msgstr "" + +#. TRANSLATORS: this is the menu spec main category for Graphics +#: src/as-category.c:315 +msgid "Graphics & Photography" +msgstr "" + +#. TRANSLATORS: this is the menu spec main category for Office +#: src/as-category.c:318 +msgid "Office" +msgstr "" + +#. TRANSLATORS: this is the main category for Add-ons +#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor +#: src/as-category.c:321 tools/ascli-utils.c:371 +msgid "Add-ons" +msgstr "অ্যাড-অন" + +#. TRANSLATORS: this is the menu spec main category for Science +#: src/as-category.c:324 +msgid "Science" +msgstr "" + +#. TRANSLATORS: this is the menu spec main category for Communication +#: src/as-category.c:327 +msgid "Communication & News" +msgstr "" + +#. TRANSLATORS: this is the menu spec main category for Utilities +#: src/as-category.c:330 +msgid "Utilities" +msgstr "" + +#. TRANSLATORS: This is the formatting of English and localized name +#. * of the rating e.g. "Adults Only (solo adultos)" +#: src/as-content-rating.c:298 +#, c-format +msgid "%s (%s)" +msgstr "" + +#: src/as-content-rating.c:444 +msgid "General" +msgstr "" + +#: src/as-content-rating.c:453 +msgid "ALL" +msgstr "" + +#: src/as-content-rating.c:457 src/as-content-rating.c:560 +msgid "Adults Only" +msgstr "" + +#: src/as-content-rating.c:459 src/as-content-rating.c:559 +msgid "Mature" +msgstr "" + +#: src/as-content-rating.c:461 src/as-content-rating.c:558 +msgid "Teen" +msgstr "" + +#: src/as-content-rating.c:463 src/as-content-rating.c:557 +msgid "Everyone 10+" +msgstr "" + +#: src/as-content-rating.c:465 src/as-content-rating.c:556 +msgid "Everyone" +msgstr "" + +#: src/as-content-rating.c:467 src/as-content-rating.c:555 +msgid "Early Childhood" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:839 +msgid "No cartoon violence" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:841 +msgid "Cartoon characters in unsafe situations" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:843 +msgid "Cartoon characters in aggressive conflict" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:845 +msgid "Graphic violence involving cartoon characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:850 +msgid "No fantasy violence" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:852 +msgid "Characters in unsafe situations easily distinguishable from reality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:854 +msgid "Characters in aggressive conflict easily distinguishable from reality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:856 +msgid "Graphic violence easily distinguishable from reality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:861 +msgid "No realistic violence" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:863 +msgid "Mildly realistic characters in unsafe situations" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:865 +msgid "Depictions of realistic characters in aggressive conflict" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:867 +msgid "Graphic violence involving realistic characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:872 +msgid "No bloodshed" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:874 +msgid "Unrealistic bloodshed" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:876 +msgid "Realistic bloodshed" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:878 +msgid "Depictions of bloodshed and the mutilation of body parts" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:883 +msgid "No sexual violence" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:885 +msgid "Rape or other violent sexual behavior" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:892 +msgid "No references to alcohol" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:894 +msgid "References to alcoholic beverages" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:896 +msgid "Use of alcoholic beverages" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:902 +msgid "No references to illicit drugs" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:904 +msgid "References to illicit drugs" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:906 +msgid "Use of illicit drugs" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:912 +msgid "No references to tobacco products" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:914 +msgid "References to tobacco products" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:916 +msgid "Use of tobacco products" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:922 +msgid "No nudity of any sort" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:924 +msgid "Brief artistic nudity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:926 +msgid "Prolonged nudity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:932 +msgid "No references to or depictions of sexual nature" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:934 +msgid "Provocative references or depictions" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:936 +msgid "Sexual references or depictions" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:938 +msgid "Graphic sexual behavior" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:943 +msgid "No profanity of any kind" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:945 +msgid "Mild or infrequent use of profanity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:947 +msgid "Moderate use of profanity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:949 +msgid "Strong or frequent use of profanity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:954 +msgid "No inappropriate humor" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:956 +msgid "Slapstick humor" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:958 +msgid "Vulgar or bathroom humor" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:960 +msgid "Mature or sexual humor" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:965 +msgid "No discriminatory language of any kind" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:967 +msgid "Negativity towards a specific group of people" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:969 +msgid "Discrimination designed to cause emotional harm" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:971 +msgid "Explicit discrimination based on gender, sexuality, race or religion" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:976 +msgid "No advertising of any kind" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:978 +msgid "Product placement" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:980 +msgid "Explicit references to specific brands or trademarked products" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:982 +msgid "Users are encouraged to purchase specific real-world items" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:987 +msgid "No gambling of any kind" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:989 +msgid "Gambling on random events using tokens or credits" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:991 +msgid "Gambling using “play” money" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:993 +msgid "Gambling using real money" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:998 +msgid "No ability to spend money" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1000 +msgid "Users are encouraged to donate real money" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1003 +msgid "Ability to spend real money in-app" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1008 +msgid "No way to chat with other users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1010 +msgid "User-to-user interactions without chat functionality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1012 +msgid "Moderated chat functionality between users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1014 +msgid "Uncontrolled chat functionality between users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1019 +msgid "No way to talk with other users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1021 +msgid "Uncontrolled audio or video chat functionality between users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1028 +msgid "No sharing of social network usernames or email addresses" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1030 +msgid "Sharing social network usernames or email addresses" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1037 +msgid "No sharing of user information with third parties" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1039 +msgid "Checking for the latest application version" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1041 +msgid "Sharing diagnostic data that does not let others identify the user" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1043 +msgid "Sharing information that lets others identify the user" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1048 +msgid "No sharing of physical location with other users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1050 +msgid "Sharing physical location with other users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1073 +msgid "No references to homosexuality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1075 +msgid "Indirect references to homosexuality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1077 +msgid "Kissing between people of the same gender" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1079 +msgid "Graphic sexual behavior between people of the same gender" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1084 +msgid "No references to prostitution" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1086 +msgid "Indirect references to prostitution" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1088 +msgid "Direct references to prostitution" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1090 +msgid "Graphic depictions of the act of prostitution" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1095 +msgid "No references to adultery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1097 +msgid "Indirect references to adultery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1099 +msgid "Direct references to adultery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1101 +msgid "Graphic depictions of the act of adultery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1106 +msgid "No sexualized characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1109 +msgid "Scantily clad human characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1111 +msgid "Overtly sexualized human characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1116 +msgid "No references to desecration" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1118 +msgid "Depictions of or references to historical desecration" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1120 +msgid "Depictions of modern-day human desecration" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1122 +msgid "Graphic depictions of modern-day desecration" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1127 +msgid "No visible dead human remains" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1129 +msgid "Visible dead human remains" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1131 +msgid "Dead human remains that are exposed to the elements" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1133 +msgid "Graphic depictions of desecration of human bodies" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1138 +msgid "No references to slavery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1140 +msgid "Depictions of or references to historical slavery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1142 +msgid "Depictions of modern-day slavery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1144 +msgid "Graphic depictions of modern-day slavery" +msgstr "" + +#. TRANSLATORS: We got a 429 error while trying to download data +#: src/as-curl.c:134 +#, c-format +msgid "Failed to download due to server limit" +msgstr "" + +#: src/as-curl.c:141 src/as-curl.c:148 +#, c-format +msgid "Failed to download file: %s" +msgstr "" + +#. TRANSLATORS: We tried to download an URL, but received a 404 error code +#: src/as-curl.c:157 +#, c-format +msgid "URL was not found on the server." +msgstr "" + +#. TRANSLATORS: We received an uexpected HTTP status code while talking to a server, likely an error +#: src/as-curl.c:164 +#, c-format +msgid "Unexpected status code: %ld" +msgstr "" + +#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty +#: src/as-curl.c:247 +#, c-format +msgid "Retrieved file size was zero." +msgstr "" + +#. TRANSLATORS: List of "grey-listed" words sperated with ";" +#. * Do not translate this list directly. Instead, +#. * provide a list of words in your language that people are likely +#. * to include in a search but that should normally be ignored in +#. * the search. +#. +#: src/as-pool.c:111 +msgid "app;application;package;program;programme;suite;tool" +msgstr "" + +#: src/as-pool.c:620 +msgid "Unable to remove old cache." +msgstr "" + +#: src/as-pool.c:963 +msgid "Metadata files have errors:" +msgstr "" + +#: src/as-pool.c:1370 +msgid "" +"Many components have been recognized as invalid. See debug output for " +"details." +msgstr "" + +#: src/as-pool.c:1996 +#, c-format +msgid "Cache location '%s' is not writable." +msgstr "" + +#: src/as-pool.c:2109 +msgid "" +"The AppStream system cache was updated, but some components were ignored. " +"Refer to the verbose log for more information." +msgstr "" + +#: src/as-pool.c:2111 +#, c-format +msgid "" +"The AppStream system cache was updated, but problems were found which " +"resulted in metadata being ignored: %s" +msgstr "" + +#: src/as-pool.c:2125 +#, c-format +msgid "" +"AppStream system cache refresh failed. Turn on verbose mode to get detailed " +"issue information." +msgstr "" + +#: src/as-provided.c:144 +msgid "Libraries" +msgstr "" + +#: src/as-provided.c:146 +msgid "Binaries" +msgstr "" + +#: src/as-provided.c:148 +msgid "Media types" +msgstr "" + +#: src/as-provided.c:150 +msgid "Fonts" +msgstr "" + +#: src/as-provided.c:152 +msgid "Modaliases" +msgstr "" + +#: src/as-provided.c:154 +msgid "Python (Version 2)" +msgstr "" + +#: src/as-provided.c:156 +msgid "Python 3" +msgstr "" + +#: src/as-provided.c:158 +msgid "D-Bus System Services" +msgstr "" + +#: src/as-provided.c:160 +msgid "D-Bus Session Services" +msgstr "" + +#: src/as-provided.c:162 +msgid "Runtime Firmware" +msgstr "" + +#: src/as-provided.c:164 +msgid "Flashed Firmware" +msgstr "" + +#: src/as-provided.c:166 +msgid "Component" +msgstr "" + +#: src/as-validator-issue-tag.h:41 +msgid "This tag requires a type property." +msgstr "" + +#: src/as-validator-issue-tag.h:46 +msgid "Tags of this name are not permitted in this section." +msgstr "" + +#: src/as-validator-issue-tag.h:51 +msgid "" +"A tag must not be localized in metainfo files (upstream " +"metadata). Localize the individual paragraphs instead." +msgstr "" +"একটি ট্যাগকে অবশ্যই মেটাইনফো ফাইলগুলিতে (আপস্ট্রিম মেটাডেটা) অনুবাদ " +"করা উচিত নয়। এর পরিবর্তে আলাদা অনুচ্ছেদ অনুবাদ করুন।" + +#: src/as-validator-issue-tag.h:57 +msgid "" +"This element (paragraph, list, etc.) of a tag must not be " +"localized individually in collection metadata. Localize the whole " +" tag instead. The AppStream collection metadata generator (e." +"g. `appstream-generator`) will already do the right thing when compiling the " +"data." +msgstr "" + +#: src/as-validator-issue-tag.h:63 +msgid "" +"AppStream descriptions support only a limited set of tags to format text: " +"Paragraphs (

                ) and lists (

                  ,
                    ). This description markup contains " +"an invalid XML tag that would not be rendered correctly in applications " +"supporting the metainfo specification." +msgstr "" + +#: src/as-validator-issue-tag.h:69 +msgid "" +"This description paragraph contains invalid markup. Currently, only " +"and are permitted." +msgstr "" + +#: src/as-validator-issue-tag.h:74 +msgid "Enumerations must only have list items (
                  1. ) as children." +msgstr "" + +#: src/as-validator-issue-tag.h:79 +msgid "" +"The first `description/p` paragraph of this component might be too short (< " +"80 characters). Please consider starting with a longer paragraph to improve " +"how the description looks like in software centers and to provide more " +"detailed information on this component immediately in the first paragraph." +msgstr "" + +#: src/as-validator-issue-tag.h:86 +msgid "" +"The description contains a web URL in plain text. This is not allowed, " +"please use the tag instead to share links." +msgstr "" + +#: src/as-validator-issue-tag.h:91 +msgid "" +"As per AppStream specification, the mentioned tag must only appear once in " +"this context. Having multiple tags of this kind is not valid." +msgstr "" + +#: src/as-validator-issue-tag.h:96 +msgid "" +"The mentioned tag is empty, which is highly likely not intended as it should " +"have content." +msgstr "" + +#: src/as-validator-issue-tag.h:101 +msgid "" +"The component ID is required to follow a reverse domain-name scheme for its " +"name. See the AppStream specification for details." +msgstr "" + +#: src/as-validator-issue-tag.h:106 +msgid "" +"The component ID is not a reverse domain-name. Please update the ID to avoid " +"future issues and be compatible with all AppStream implementations.\n" +"You may also consider to update the name of the accompanying .desktop file " +"to follow the latest version of the Desktop-Entry specification and use a " +"rDNS name for it as well. In any case, do not forget to mention the new " +"desktop-entry in a tag for this component to keep the " +"application launchable from software centers and the .desktop file data " +"associated with the metainfo data." +msgstr "" + +#: src/as-validator-issue-tag.h:114 +msgid "" +"The component ID might not follow the reverse domain-name schema (the TLD " +"used by it is not known to the validator)." +msgstr "" + +#: src/as-validator-issue-tag.h:119 +msgid "" +"The component ID contains an invalid character. Only ASCII characters, dots " +"and numbers are permitted." +msgstr "" + +#: src/as-validator-issue-tag.h:124 +msgid "" +"The component ID contains a hyphen/minus. Using a hyphen is strongly " +"discouraged, to improve interoperability with other tools such as D-Bus. A " +"good option is to replace any hyphens with underscores (`_`)." +msgstr "" + +#: src/as-validator-issue-tag.h:130 +msgid "" +"The component ID contains a segment starting with a number. Starting a " +"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " +"interoperability with other tools such as D-Bus. Ideally, prefix these " +"segments with an underscore." +msgstr "" + +#: src/as-validator-issue-tag.h:136 +msgid "The component ID should only contain lowercase letters." +msgstr "" + +#: src/as-validator-issue-tag.h:141 +msgid "" +"The component is part of the Freedesktop project, but its ID does not start " +"with fd.o's reverse-DNS name (\"org.freedesktop\")." +msgstr "" + +#: src/as-validator-issue-tag.h:146 +msgid "" +"The component is part of the KDE project, but its ID does not start with " +"KDEs reverse-DNS name (\"org.kde\")." +msgstr "" + +#: src/as-validator-issue-tag.h:151 +msgid "" +"The component is part of the GNOME project, but its ID does not start with " +"GNOMEs reverse-DNS name (\"org.gnome\")." +msgstr "" + +#: src/as-validator-issue-tag.h:156 +msgid "The SPDX license expression is invalid and could not be parsed." +msgstr "" + +#: src/as-validator-issue-tag.h:161 +msgid "" +"The license ID was not found in the SPDX database. Please check that the " +"license ID is written in an SPDX-conformant way and is a valid free software " +"license." +msgstr "" + +#: src/as-validator-issue-tag.h:167 +msgid "" +"The metadata itself seems to be licensed under a complex collection of " +"licenses. Please license the data under a simple permissive license, like " +"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " +"collections without the risk of license violations due to mutually " +"incompatible licenses." +msgstr "" + +#: src/as-validator-issue-tag.h:173 +msgid "" +"The metadata itself does not seem to be licensed under a permissive license. " +"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " +"0BSD to allow distributors to include it in mixed data collections without " +"the risk of license violations due to mutually incompatible licenses." +msgstr "" + +#: src/as-validator-issue-tag.h:179 +msgid "" +"The update-contact does not appear to be a valid email address (escaping of " +"`@` is only allowed as `_at_` or `_AT_`)." +msgstr "" + +#: src/as-validator-issue-tag.h:184 +msgid "" +"Unable to reach the screenshot image on its remote location - does the image " +"exist?" +msgstr "" + +#: src/as-validator-issue-tag.h:189 +msgid "" +"Unable to reach the screenshot video on its remote location - does the video " +"file exist?" +msgstr "" + +#: src/as-validator-issue-tag.h:194 +msgid "" +"Consider using a secure (HTTPS) URL to reference this screenshot image or " +"video." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:200 +msgid "" +"A screenshot must contain at least one image or video in order to be useful. " +"Please add an to it." +msgstr "" +"একটি স্ক্রিনশটকে অন্তত একটি ছবি বা ভিডিও ধারণ করতে হবে যাতে তা ব্যবহারযোগ্য হয়। " +"অনুগ্রহ করে এখানে একটি যোগ করুন।" + +#: src/as-validator-issue-tag.h:205 +msgid "" +"A screenshot must contain either images or videos, but not both at the same " +"time. Please use this screenshot exclusively for either static images or for " +"videos." +msgstr "" +"স্ক্রিনশটে অবশ্যই চিত্র বা ভিডিও থাকতে হবে, তবে উভয়ই একই সাথে নয়। অনুগ্রহ করে স্থির " +"চিত্র বা ভিডিওগুলির জন্যই শুধুমাত্র এই স্ক্রিনশটটি ব্যবহার করুন।" + +#: src/as-validator-issue-tag.h:211 +msgid "The screenshot does not have a caption text. Consider adding one." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:217 +msgid "" +"The screenshot video does not specify which video codec was used in a " +"`codec` property." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:223 +msgid "" +"The screenshot video does not specify which container format was used in a " +"`container` property." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:229 +msgid "" +"The selected video codec is not supported by AppStream and software centers " +"may not be able to play the video. Only the AV1 and VP9 codecs are currently " +"supported, using `av1` and `vp9` as values for the `codec` property." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:236 +msgid "" +"The selected video container format is not supported by AppStream and " +"software centers may not be able to play the video. Only the WebM and " +"Matroska video containers are currently supported, using `webm` and `mkv` as " +"values for the `container` property." +msgstr "" + +#: src/as-validator-issue-tag.h:242 +msgid "" +"For videos, only the WebM and Matroska (.mkv) container formats are " +"currently supported. The file extension of the referenced video does not " +"belong to either of these formats." +msgstr "" + +#: src/as-validator-issue-tag.h:248 +msgid "" +"The default screenshot of a software component must not be a video. Use a " +"static image as default screenshot and set the video as a secondary " +"screenshot." +msgstr "" + +#: src/as-validator-issue-tag.h:253 +msgid "" +"Found an unknown tag in a requires/recommends group. This is likely an " +"error, because a component relation of this type is unknown." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:259 +msgid "" +"A `requires` or `recommends` item requires a value to denote a valid " +"relation." +msgstr "" + +#. TRANSLATORS: `version` is an AppStream XML property. Please do not translate it. +#: src/as-validator-issue-tag.h:265 +msgid "" +"Found `version` property on required/recommended item of a type that should " +"not have or require a version." +msgstr "" + +#. TRANSLATORS: `version` and `compare` are AppStream XML properties. Please do not translate them. +#: src/as-validator-issue-tag.h:271 +msgid "" +"Found `version` property on this required/recommended item, but not " +"`compare` property. It is recommended to explicitly define a comparison " +"operation." +msgstr "" + +#: src/as-validator-issue-tag.h:276 +msgid "" +"Invalid comparison operation on relation item. Only eq/ne/lt/gt/le/ge are " +"permitted." +msgstr "" + +#: src/as-validator-issue-tag.h:281 +msgid "" +"The relation item has a comparison operation set, but does not support any " +"comparisons." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:287 +msgid "" +"Found a memory size relation in a `requires` tag. This means users will not " +"be able to even install the component without having enough RAM. This is " +"usually not intended and you want to use `memory` in the `recommends` tag " +"instead." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:294 +msgid "" +"Found a user input control relation in a `requires` tag. This means users " +"will not be able to even install the component without having the defined " +"input control available on the system. This is usually not intended and you " +"want to use `control` in the `recommends` tag instead." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:301 +msgid "" +"This `control` item defines an unknown input method and is invalid. Check " +"the specification for a list of permitted values." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:307 +msgid "" +"This `display_length` item contains an invalid display length. Its value " +"must either be a shorthand string, or positive integer value denoting " +"logical pixels. Please refer to the AppStream specification for more " +"information on this tag." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:314 +msgid "" +"This `side` property of this `display_length` item contains an invalid " +"value. It must either be `shortest` or `longest`, or unset to imply " +"`shortest` to make the item value refer to either the shortest or longest " +"side of the display." +msgstr "" + +#: src/as-validator-issue-tag.h:320 +msgid "" +"The set component type is not a recognized, valid AppStream component type." +msgstr "" + +#: src/as-validator-issue-tag.h:325 +msgid "" +"The component has a priority value set. This is not allowed in metainfo " +"files." +msgstr "" + +#: src/as-validator-issue-tag.h:330 +msgid "" +"The component has a `merge` method defined. This is not allowed in metainfo " +"files." +msgstr "" + +#: src/as-validator-issue-tag.h:335 +msgid "The component is missing an ID ( tag)." +msgstr "" + +#: src/as-validator-issue-tag.h:340 +msgid "The component is missing a name ( tag)." +msgstr "" + +#: src/as-validator-issue-tag.h:345 +msgid "The component is missing a summary ( tag)." +msgstr "" + +#: src/as-validator-issue-tag.h:350 +msgid "" +"The tag still contains a `type` property, probably from an old " +"conversion to the recent metainfo format." +msgstr "" + +#: src/as-validator-issue-tag.h:355 +msgid "" +"The `pkgname` tag appears multiple times. You should evaluate creating a " +"metapackage containing the metainfo and .desktop files in order to avoid " +"defining multiple package names per component." +msgstr "" + +#: src/as-validator-issue-tag.h:360 +msgid "The component name should (likely) not end with a dot (`.`)." +msgstr "" + +#: src/as-validator-issue-tag.h:365 +msgid "The component summary should not end with a dot (`.`)." +msgstr "" + +#: src/as-validator-issue-tag.h:370 +msgid "The component summary must not contain tabs or linebreaks." +msgstr "" + +#: src/as-validator-issue-tag.h:375 +msgid "The summary must not contain any URL. Use the tags for links." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:381 +msgid "" +"Icons of type `stock` or `cached` must not contain an URL, a full or an " +"relative path to the icon. Only file basenames or stock names are allowed." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:388 +msgid "Icons of type `remote` must contain an URL to the referenced icon." +msgstr "" + +#: src/as-validator-issue-tag.h:393 +msgid "Unable to reach remote icon at the given web location - does it exist?" +msgstr "" + +#: src/as-validator-issue-tag.h:398 +msgid "Consider using a secure (HTTPS) URL for the remote icon link." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:404 +msgid "" +"Metainfo files may only contain icons of type `stock` or `remote`, the set " +"type is not allowed." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:410 +msgid "" +"Invalid `type` property for this `url` tag. URLs of this type are not known " +"in the AppStream specification." +msgstr "" + +#: src/as-validator-issue-tag.h:415 +msgid "" +"Unable to reach remote location that this URL references - does it exist?" +msgstr "" + +#: src/as-validator-issue-tag.h:420 +msgid "Consider using a secure (HTTPS) URL for this web link." +msgstr "" + +#: src/as-validator-issue-tag.h:425 +msgid "A web URL was expected for this value." +msgstr "" + +#: src/as-validator-issue-tag.h:430 +msgid "" +"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." +msgstr "" + +#: src/as-validator-issue-tag.h:435 +msgid "The can not contain a hyperlink." +msgstr "" + +#: src/as-validator-issue-tag.h:440 +msgid "" +"The set value is not an identifier for a desktop environment as registered " +"with Freedesktop.org." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:446 +msgid "This `launchable` tag has an unknown type and can not be used." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:452 +msgid "This `bundle` tag has an unknown type and can not be used." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:458 +msgid "" +"The `update_contact` tag should not be included in collection AppStream XML." +msgstr "" + +#: src/as-validator-issue-tag.h:463 +msgid "" +"This tag is a GNOME-specific extension to AppStream and not part of the " +"official specification. Do not expect it to work in all implementations and " +"in all software centers." +msgstr "" + +#: src/as-validator-issue-tag.h:469 +msgid "" +"Found invalid tag. Non-standard tags should be prefixed with `x-`. AppStream " +"also provides the tag to add arbitrary custom data to metainfo " +"files. This tag is read by AppStream libraries and may be useful instead of " +"defining new custom toplevel or `x-`-prefixed tags if you just want to add " +"custom data to a metainfo file." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:477 +msgid "" +"The essential tag `metadata_license` is missing. A license for the metadata " +"itself always has to be defined." +msgstr "" + +#: src/as-validator-issue-tag.h:482 +msgid "" +"The component is missing a long description. Components of this type must " +"have a long description." +msgstr "" + +#: src/as-validator-issue-tag.h:487 +msgid "" +"It would be useful to add a long description to this font to present it " +"better to users." +msgstr "" + +#: src/as-validator-issue-tag.h:492 +msgid "" +"It is recommended to add a long description to this component to present it " +"better to users." +msgstr "" + +#: src/as-validator-issue-tag.h:497 +msgid "" +"This generic component is missing a long description. It may be useful to " +"add one." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:503 +msgid "" +"Type `console-application` component, but no information about binaries in " +"$PATH was provided via a `provides/binary` tag." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:509 +msgid "" +"This `web-application` component is missing a `launchable` tag of type `url`." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:515 +msgid "" +"This `web-application` component is missing a `icon` tag to specify a valid " +"icon." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:521 +msgid "" +"This `web-application` component is missing categorizations. A `categories` " +"block is likely missing." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:527 +msgid "" +"Type `font` component, but no font information was provided via a `provides/" +"font` tag." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:533 +msgid "" +"Type `driver` component, but no modalias information was provided via a " +"`provides/modalias` tag." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:539 +msgid "" +"An `extends` tag is specified, but the component is not of type `addon`, " +"`localization` or `repository`." +msgstr "" +"একটি `extends` ট্যাগ নির্দিষ্ট করা হয়েছে, কিন্তু জিনিসটা কোনো ধরনের `addon`, " +"`localization` বা `repository` নয়।" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:545 +msgid "The component is an addon, but no `extends` tag was specified." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:551 +msgid "" +"This `localization` component is missing an `extends` tag, to specify the " +"components it adds localization to." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:557 +msgid "" +"This `localization` component does not define any languages this " +"localization is for." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:563 +msgid "" +"This `service` component is missing a `launchable` tag of type `service`." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:569 +msgid "" +"Suggestions of any type other than `upstream` are not allowed in metainfo " +"files." +msgstr "" + +#: src/as-validator-issue-tag.h:574 +msgid "" +"The category name is not valid. Refer to the XDG Menu Specification for a " +"list of valid category names." +msgstr "" + +#: src/as-validator-issue-tag.h:579 +msgid "The screenshot caption is too long (should be <= 80 characters)" +msgstr "" + +#: src/as-validator-issue-tag.h:584 +msgid "Unable to read file." +msgstr "" + +#: src/as-validator-issue-tag.h:589 +msgid "The XML of this file is malformed." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:595 +msgid "" +"Invalid tag found in collection metadata. Only `component` tags are " +"permitted." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:601 +msgid "" +"The metainfo file uses an ancient version of the AppStream specification, " +"which can not be validated. Please migrate it to version 0.6 (or higher)." +msgstr "" + +#: src/as-validator-issue-tag.h:606 +msgid "" +"This XML document has an unknown root tag. Maybe this file is not a metainfo " +"document?" +msgstr "" + +#: src/as-validator-issue-tag.h:611 +msgid "The metainfo filename does not match the component ID." +msgstr "" + +#: src/as-validator-issue-tag.h:616 +msgid "Unable to read the .desktop file associated with this component." +msgstr "" + +#: src/as-validator-issue-tag.h:621 +msgid "This component metadata refers to a non-existing .desktop file." +msgstr "" + +#: src/as-validator-issue-tag.h:626 +msgid "" +"The category defined in the .desktop file is not valid. Refer to the XDG " +"Menu Specification for a list of valid categories." +msgstr "" + +#: src/as-validator-issue-tag.h:631 +msgid "No AppStream metadata was found in this directory or directory tree." +msgstr "" + +#. pedantic because not everything which has metadata is an application +#: src/as-validator-issue-tag.h:636 +msgid "No XDG applications directory found." +msgstr "" + +#: src/as-validator-issue-tag.h:641 +msgid "" +"The metainfo file is stored in a legacy path. Please place it in `/usr/share/" +"metainfo/`." +msgstr "" + +#: src/as-validator-issue-tag.h:646 +msgid "The metainfo file specifies multiple components. This is not allowed." +msgstr "" + +#: src/as-validator-issue-tag.h:651 +msgid "" +"The releases are not sorted in a latest to oldest version order. This is " +"required as some tools will assume that the latest version is always at the " +"top. Sorting releases also increases overall readability of the metainfo " +"file." +msgstr "" + +#: src/as-validator-issue-tag.h:658 +msgid "The value set as release urgency is not a known urgency value." +msgstr "" + +#: src/as-validator-issue-tag.h:663 +msgid "The value set as release type is invalid." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:669 +msgid "" +"The value set as artifact type is invalid. Must be either `source` or " +"`binary`." +msgstr "" + +#: src/as-validator-issue-tag.h:674 +msgid "The value set as artifact bundle type is invalid." +msgstr "" + +#: src/as-validator-issue-tag.h:679 +msgid "" +"The platform triplet for this release is invalid. It must be in the form of " +"`architecture-oskernel-osenv` - refer to the AppStream documentation or " +"information on normalized GNU triplets for more information and valid fields." +msgstr "" + +#: src/as-validator-issue-tag.h:686 +msgid "The selected checksumming algorithm is unsupported or unknown." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:692 +msgid "The size type is unknown. Must be `download` or `installed`." +msgstr "" + +#: src/as-validator-issue-tag.h:697 +msgid "" +"The artifact filename must be a file basename, not a (relative or absolute) " +"path." +msgstr "" + +#: src/as-validator-issue-tag.h:702 +msgid "The value set as release issue type is invalid." +msgstr "" + +#: src/as-validator-issue-tag.h:707 +msgid "" +"The issue is tagged at security vulnerability with a CVE number, but its " +"value does not look like a valid CVE identifier." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:713 +msgid "" +"This component is missing information about releases. Consider adding a " +"`releases` tag to describe releases and their changes." +msgstr "" + +#: src/as-validator-issue-tag.h:718 +msgid "" +"The AppStream specification requires a complete, ISO 8601 date string with " +"at least day-granularity to denote dates. Please ensure the date string is " +"valid." +msgstr "" + +#: src/as-validator-issue-tag.h:724 +msgid "" +"This component extends, provides, requires or recommends itself, which is " +"certainly not intended and may confuse users or machines dealing with this " +"metadata." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:731 +msgid "" +"Licenses for `runtime` components are usually too complex to reflect them in " +"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " +"value for this component's `project_license`. E.g. `LicenseRef-free=https://" +"example.com/licenses.html`" +msgstr "" + +#: src/as-validator-issue-tag.h:737 +msgid "" +"Since a `runtime` component is comprised of multiple other software " +"components, their component-IDs may be listed in a `` section for " +"this runtime." +msgstr "" + +#: src/as-validator-issue-tag.h:742 +msgid "" +"The type of the item that the component provides is not known to AppStream." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:748 +msgid "" +"The toplevel `mimetypes` tag is deprecated. Please use `mediatype` tags in a " +"`provides` block instead to indicate that your software provides a media " +"handler for the given types." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks) and keep the URL intact. +#: src/as-validator-issue-tag.h:755 +msgid "" +"This component has no `content_rating` tag to provide age rating " +"information. You can generate the tag data online by answering a few " +"questions at https://hughsie.github.io/oars/" +msgstr "" + +#: src/as-validator.c:150 +msgid "" +"The emitted issue tag is unknown in the tag registry of AppStream. This is a " +"bug in the validator itself, please report this issue in our bugtracker." +msgstr "" + +#: src/as-validator.c:344 +msgid "URL format is invalid." +msgstr "" + +#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. +#: src/as-validator.c:522 src/as-validator.c:937 src/as-validator.c:1031 +#: src/as-validator.c:1428 src/as-validator.c:1448 src/as-validator.c:1481 +#, c-format +msgid "Found: %s - Allowed: %s" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --verbose +#: tools/appstream-compose.c:181 +msgid "Show extra debugging information" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --no-color +#. TRANSLATORS: ascli flag description for: --no-color +#: tools/appstream-compose.c:184 tools/appstreamcli.c:1087 +msgid "Don't show colored output." +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --version +#. TRANSLATORS: ascli flag description for: --version +#: tools/appstream-compose.c:187 tools/appstreamcli.c:1076 +msgid "Show the program version." +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --full-report +#: tools/appstream-compose.c:190 +msgid "Set mode of the issue report that is printed to the console" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --prefix +#: tools/appstream-compose.c:193 +msgid "Override the default prefix (`/usr` by default)" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --result-root +#: tools/appstream-compose.c:196 +msgid "Set the result output directory" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --data-dir, `collection metadata` is an AppStream term +#: tools/appstream-compose.c:199 +msgid "Override the collection metadata output directory" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --icons-dir +#: tools/appstream-compose.c:202 +msgid "Override the icon output directory" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --media-dir +#: tools/appstream-compose.c:205 +msgid "" +"Set the media output directory (for media data to be served by a webserver)" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --hints-dir +#: tools/appstream-compose.c:208 +msgid "Set a directory where HTML and text issue reports will be stored" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --origin +#. TRANSLATORS: ascompose flag description for: --media-baseurl +#: tools/appstream-compose.c:211 tools/appstream-compose.c:214 +msgid "Set the origin name" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --components +#: tools/appstream-compose.c:217 +msgid "A comma-separated list of component-IDs to accept" +msgstr "" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:231 +msgid "Failed to parse arguments" +msgstr "" + +#. TRANSLATORS: Output if appstreamcli --version is executed. +#: tools/appstream-compose.c:242 tools/appstreamcli.c:1230 +#, c-format +msgid "AppStream version: %s" +msgstr "" + +#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. +#: tools/appstream-compose.c:245 tools/appstreamcli.c:1233 +#, c-format +msgid "" +"AppStream CLI tool version: %s\n" +"AppStream library version: %s" +msgstr "" +"অ্যাপস্ট্রিম সিএলআই যন্ত্র সংস্করণ: %s\n" +"অ্যাপস্ট্রিম লাইব্রেরি সংস্করণ: %s" + +#. TRANSLATORS: invalid value for the --print-report CLI option +#: tools/appstream-compose.c:264 +#, c-format +msgid "" +"Invalid value for `--print-report` option: %s\n" +"Possible values are:\n" +"`on-error` - only prints a short report if the run failed (default)\n" +"`short` - generates an abridged report\n" +"`full` - a detailed report will be printed" +msgstr "" + +#: tools/appstream-compose.c:285 +#, c-format +msgid "Automatically selected '%s' as data output location." +msgstr "" + +#. TRANSLATORS: we don't have a destination directory for compose +#: tools/appstream-compose.c:288 +msgid "No destination directory set, please provide a data output location!" +msgstr "" + +#: tools/appstream-compose.c:298 tools/appstream-compose.c:300 +msgid "WARNING" +msgstr "" + +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:337 +#, c-format +msgid "Only accepting components: %s" +msgstr "" + +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:340 +#, c-format +msgid "Only accepting component: %s" +msgstr "" + +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:345 +msgid "Processing directories:" +msgstr "" + +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:348 +msgid "Processing directory:" +msgstr "" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:357 +msgid "Can not process invalid directory" +msgstr "" + +#. TRANSLATORS: information message +#: tools/appstream-compose.c:369 +msgid "Composing metadata..." +msgstr "" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:374 +#, fuzzy +msgid "Failed to compose AppStream metadata" +msgstr "অ্যাপস্ট্রিম মেটাডেটা নিয়ে কাজ করার একটি যন্ত্র" + +#. TRANSLATORS: appstream-compose failed to include all data +#: tools/appstream-compose.c:380 +msgid "Run failed, some data was ignored." +msgstr "" + +#. TRANSLATORS: information message of appstream-compose +#: tools/appstream-compose.c:382 +msgid "Errors were raised during this compose run:" +msgstr "" + +#: tools/appstream-compose.c:383 +msgid "" +"Refer to the generated issue report data for details on the individual " +"problems." +msgstr "" + +#: tools/appstream-compose.c:386 +msgid "Overview of generated hints:" +msgstr "" + +#. TRANSLATORS: information message +#: tools/appstream-compose.c:388 +msgid "Success!" +msgstr "" + +#. TRANSLATORS: ascli flag description for: --cachepath +#: tools/appstreamcli.c:59 +msgid "Manually selected location of AppStream cache." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --datapath +#: tools/appstreamcli.c:64 +msgid "Manually selected location of AppStream metadata to scan." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --no-cache +#: tools/appstreamcli.c:69 +msgid "Make request without any caching." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --format +#: tools/appstreamcli.c:85 +msgid "Default metadata format (valid values are 'xml' and 'yaml')." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --details +#: tools/appstreamcli.c:100 +msgid "Print detailed output about found components." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) +#: tools/appstreamcli.c:118 +msgid "Also show pedantic hints." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) +#: tools/appstreamcli.c:123 +msgid "Print detailed explanation for found issues." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) +#: tools/appstreamcli.c:128 +msgid "Do not use network access." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --format when validating XML files +#: tools/appstreamcli.c:133 +msgid "Format of the generated report (valid values are 'text' and 'yaml')." +msgstr "" + +#. TRANSLATORS: This is the header to the --help menu for subcommands +#. TRANSLATORS: This is the header to the --help menu +#: tools/appstreamcli.c:153 tools/appstreamcli.c:981 +msgid "AppStream command-line interface" +msgstr "" + +#: tools/appstreamcli.c:156 +#, c-format +msgid "'%s' command" +msgstr "কমান্ড '%s'" + +#. TRANSLATORS: An unknown option was passed to appstreamcli. +#: tools/appstreamcli.c:191 +#, c-format +msgid "Option '%s' is unknown." +msgstr "" + +#: tools/appstreamcli.c:195 tools/appstreamcli.c:1207 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options." +msgstr "" + +#: tools/appstreamcli.c:197 +#, c-format +msgid "" +"Run '%s --help' to see a list of available commands and options, and '%s %s " +"--help' to see a list of options specific for this subcommand." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --force +#: tools/appstreamcli.c:245 +msgid "Enforce a cache refresh." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --user +#: tools/appstreamcli.c:251 +msgid "Update the user-specific instead of the system-wide cache." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --origin (part of the "put" subcommand) +#: tools/appstreamcli.c:477 +msgid "Set the data origin for the installed metadata collection file." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --user (part of the "put" subcommand) +#: tools/appstreamcli.c:482 +msgid "Install the file for the current user, instead of globally." +msgstr "" + +#: tools/appstreamcli.c:631 +msgid "" +"You need to provide at least two version numbers to compare as parameters." +msgstr "" + +#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. +#: tools/appstreamcli.c:660 +#, c-format +msgid "Unknown compare relation '%s'. Valid values are:" +msgstr "" + +#: tools/appstreamcli.c:700 +msgid "" +"Too many parameters: Need two version numbers or version numbers and a " +"comparison operator." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) +#: tools/appstreamcli.c:726 +msgid "" +"Use the given .desktop file to fill in the basic values of the metainfo file." +msgstr "" + +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand +#: tools/appstreamcli.c:731 +msgid "" +"This command takes optional TYPE and FILE positional arguments, FILE being a " +"file to write to (or \"-\" for standard output)." +msgstr "" + +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows +#: tools/appstreamcli.c:734 +#, c-format +msgid "The TYPE must be a valid component-type, such as: %s" +msgstr "" + +#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) +#: tools/appstreamcli.c:775 +msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command +#: tools/appstreamcli.c:815 +msgid "Assume the input file is in the selected format ('yaml' or 'text')." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command +#: tools/appstreamcli.c:820 +msgid "" +"Limit the number of release entries that end up in the metainfo file (0 for " +"unlimited)." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command +#: tools/appstreamcli.c:862 +msgid "Generate the output in the selected format ('yaml' or 'text')." +msgstr "" + +#: tools/appstreamcli.c:894 +#, c-format +msgid "Compose binary '%s' was not found! Can not continue." +msgstr "" + +#. TRANSLATORS: this is a (usually shorter) command alias, shown after the command summary text +#: tools/appstreamcli.c:956 +#, c-format +msgid "(Alias: '%s')" +msgstr "" + +#. these are commands we can use with appstreamcli +#: tools/appstreamcli.c:983 +msgid "Subcommands:" +msgstr "" + +#: tools/appstreamcli.c:1029 +msgid "" +"You can find information about subcommand-specific options by passing \"--" +"help\" to the subcommand." +msgstr "" + +#. TRANSLATORS: ascli has been run with unknown command. '%s --help' is the command to receive help and should not be translated. +#: tools/appstreamcli.c:1052 +#, c-format +msgid "" +"Command '%s' is unknown. Run '%s --help' for a list of available commands." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --verbose +#: tools/appstreamcli.c:1082 +msgid "Show extra debugging information." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --profile +#: tools/appstreamcli.c:1090 +msgid "Enable profiling" +msgstr "" + +#. TRANSLATORS: `appstreamcli search` command description. +#: tools/appstreamcli.c:1102 +msgid "Search the component database." +msgstr "" + +#. TRANSLATORS: `appstreamcli get` command description. +#: tools/appstreamcli.c:1107 +msgid "Get information about a component by its ID." +msgstr "" + +#. TRANSLATORS: `appstreamcli what-provides` command description. +#: tools/appstreamcli.c:1112 +msgid "" +"Get components which provide the given item. Needs an item type (e.g. lib, " +"bin, python3, …) and item value as parameter." +msgstr "" + +#. TRANSLATORS: `appstreamcli dump` command description. +#: tools/appstreamcli.c:1118 +msgid "Dump raw XML metadata for a component matching the ID." +msgstr "" + +#. TRANSLATORS: `appstreamcli refresh-cache` command description. +#: tools/appstreamcli.c:1123 +msgid "Rebuild the component metadata cache." +msgstr "" + +#. TRANSLATORS: `appstreamcli validate` command description. +#: tools/appstreamcli.c:1129 +msgid "Validate AppStream XML files for issues." +msgstr "" + +#. TRANSLATORS: `appstreamcli validate-tree` command description. +#: tools/appstreamcli.c:1134 +msgid "Validate an installed file-tree of an application for valid metadata." +msgstr "" + +#. TRANSLATORS: `appstreamcli install` command description. +#: tools/appstreamcli.c:1140 +msgid "Install software matching the component-ID." +msgstr "" + +#. TRANSLATORS: `appstreamcli remove` command description. +#: tools/appstreamcli.c:1145 +msgid "Remove software matching the component-ID." +msgstr "" + +#. TRANSLATORS: `appstreamcli status` command description. +#: tools/appstreamcli.c:1151 +msgid "Display status information about available AppStream metadata." +msgstr "" + +#. TRANSLATORS: `appstreamcli os-info` command description. +#: tools/appstreamcli.c:1156 +msgid "" +"Show information about the current operating system from the metadata index." +msgstr "" + +#. TRANSLATORS: `appstreamcli put` command description. +#: tools/appstreamcli.c:1161 +msgid "Install a metadata file into the right location." +msgstr "" + +#. TRANSLATORS: `appstreamcli convert` command description. "Collection XML" is a term describing a specific type of AppStream XML data. +#: tools/appstreamcli.c:1166 +msgid "Convert collection XML to YAML or vice versa." +msgstr "" + +#. TRANSLATORS: `appstreamcli vercmp` command description. +#: tools/appstreamcli.c:1171 +msgid "Compare two version numbers." +msgstr "" + +#. TRANSLATORS: `appstreamcli new-template` command description. +#: tools/appstreamcli.c:1177 +msgid "" +"Create a template for a metainfo file (to be filled out by the upstream " +"project)." +msgstr "" + +#. TRANSLATORS: `appstreamcli make-desktop-file` command description. +#: tools/appstreamcli.c:1182 +msgid "Create a desktop-entry file from a metainfo file." +msgstr "" + +#. TRANSLATORS: `appstreamcli news-to-metainfo` command description. +#: tools/appstreamcli.c:1187 +msgid "Convert a YAML or text NEWS file into metainfo releases." +msgstr "" + +#. TRANSLATORS: `appstreamcli metainfo-to-news` command description. +#: tools/appstreamcli.c:1192 +msgid "Write NEWS text or YAML file with information from a metainfo file." +msgstr "" + +#. TRANSLATORS: `appstreamcli compose` command description. +#: tools/appstreamcli.c:1198 +msgid "Compose AppStream collection metadata from directory trees." +msgstr "" + +#. TRANSLATORS: ascli has been run without command. +#: tools/appstreamcli.c:1206 +msgid "You need to specify a command." +msgstr "" + +#. TRANSLATORS: In ascli: The requested action needs higher permissions. +#: tools/ascli-actions-mdata.c:70 +msgid "You might need superuser permissions to perform this action." +msgstr "" + +#. we performed a cache refresh +#. TRANSLATORS: Updating the metadata cache succeeded +#: tools/ascli-actions-mdata.c:80 +msgid "AppStream cache update completed successfully." +msgstr "অ্যাপস্ট্রিমের ক্যাশ আপডেট সফলভাবে সম্পন্ন হয়েছে।" + +#. cache wasn't updated, so the update wasn't necessary +#: tools/ascli-actions-mdata.c:86 +msgid "AppStream cache update is not necessary." +msgstr "" + +#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments +#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. +#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:253 +#: tools/ascli-actions-pkgmgr.c:80 +msgid "You need to specify a component-ID." +msgstr "" + +#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:265 +#: tools/ascli-actions-pkgmgr.c:93 +#, c-format +msgid "Unable to find component with ID '%s'!" +msgstr "" + +#: tools/ascli-actions-mdata.c:164 +msgid "You need to specify a term to search for." +msgstr "" + +#. TRANSLATORS: We failed to find any component in the database, likely due to an error +#: tools/ascli-actions-mdata.c:177 +#, c-format +msgid "Unable to find component matching %s!" +msgstr "" + +#: tools/ascli-actions-mdata.c:182 +#, c-format +msgid "No component matching '%s' found." +msgstr "" + +#: tools/ascli-actions-mdata.c:206 +msgid "No value for the item to search for was defined." +msgstr "" + +#: tools/ascli-actions-mdata.c:212 +msgid "Invalid type for provided item selected. Valid values are:" +msgstr "" + +#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results +#: tools/ascli-actions-mdata.c:227 +#, c-format +msgid "Could not find component providing '%s::%s'." +msgstr "" + +#: tools/ascli-actions-mdata.c:306 +msgid "You need to specify a metadata file." +msgstr "" + +#: tools/ascli-actions-mdata.c:320 +#, c-format +msgid "Unable to install metadata file: %s" +msgstr "" + +#: tools/ascli-actions-mdata.c:340 +msgid "You need to specify an input and output file." +msgstr "" + +#: tools/ascli-actions-mdata.c:347 +#, c-format +msgid "Metadata file '%s' does not exist." +msgstr "" + +#. TRANSLATORS: User is trying to convert a file in ascli +#: tools/ascli-actions-mdata.c:387 +msgid "" +"Unable to convert file: Could not determine output format, please set it " +"explicitly using '--format='." +msgstr "" + +#: tools/ascli-actions-mdata.c:438 +#, c-format +msgid "Unable to find operating system component '%s'!" +msgstr "" + +#: tools/ascli-actions-mdata.c:443 +msgid "Version" +msgstr "" + +#: tools/ascli-actions-mdata.c:467 +msgid "" +"You need to give an AppStream software component type to generate a " +"template. Possible values are:" +msgstr "" + +#: tools/ascli-actions-mdata.c:469 +#, c-format +msgid "" +"The software component type '%s' is not valid in AppStream. Possible values " +"are:" +msgstr "" + +#: tools/ascli-actions-mdata.c:487 +#, c-format +msgid "The .desktop file '%s' does not exist." +msgstr "" + +#: tools/ascli-actions-mdata.c:493 +#, c-format +msgid "Unable to read the .desktop file: %s" +msgstr "" + +#: tools/ascli-actions-mdata.c:564 +#, c-format +msgid "Unable to build the template metainfo file: %s" +msgstr "" + +#: tools/ascli-actions-mdata.c:572 +#, c-format +msgid "Unable to save the template metainfo file: %s" +msgstr "" + +#. TRANSLATORS: In the status report of ascli: Header +#: tools/ascli-actions-misc.c:47 +msgid "AppStream Status:" +msgstr "অ্যাপস্ট্রিমের অবস্থা:" + +#: tools/ascli-actions-misc.c:48 +#, c-format +msgid "Version: %s" +msgstr "" + +#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions +#: tools/ascli-actions-misc.c:52 +msgid "Distribution metadata:" +msgstr "" + +#: tools/ascli-actions-misc.c:94 +msgid "Iconsets" +msgstr "" + +#: tools/ascli-actions-misc.c:105 +msgid "No icons." +msgstr "" + +#. TRANSLATORS: No metainfo files have been found +#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 +msgid "Empty." +msgstr "" + +#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report +#: tools/ascli-actions-misc.c:116 +msgid "Metainfo files:" +msgstr "" + +#: tools/ascli-actions-misc.c:123 +#, c-format +msgid "Found %i components." +msgstr "" + +#. TRANSLATORS: Found metainfo files in legacy directories +#: tools/ascli-actions-misc.c:138 +#, c-format +msgid "Found %i components in legacy paths." +msgstr "" + +#. TRANSLATORS: Status summary in ascli +#: tools/ascli-actions-misc.c:145 +msgid "Summary:" +msgstr "" + +#: tools/ascli-actions-misc.c:153 +#, c-format +msgid "We have information on %i software components." +msgstr "" + +#: tools/ascli-actions-misc.c:159 +#, c-format +msgid "Error while loading the metadata pool: %s" +msgstr "" + +#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 +msgid "You need to specify a metainfo file as input." +msgstr "" + +#: tools/ascli-actions-misc.c:188 +msgid "" +"You need to specify a desktop-entry file to create or augment as output." +msgstr "" + +#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 +#: tools/ascli-actions-misc.c:515 +#, c-format +msgid "Metainfo file '%s' does not exist." +msgstr "" + +#: tools/ascli-actions-misc.c:219 +#, c-format +msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." +msgstr "" + +#: tools/ascli-actions-misc.c:224 +#, c-format +msgid "Unable to load existing desktop-entry file template: %s" +msgstr "" + +#: tools/ascli-actions-misc.c:228 +#, c-format +msgid "Creating new desktop-entry file '%s' using data from '%s'" +msgstr "" + +#: tools/ascli-actions-misc.c:284 +msgid "No stock icon name was provided in the metainfo file. Can not continue." +msgstr "" + +#: tools/ascli-actions-misc.c:306 +msgid "" +"No provided binary specified in metainfo file, and no exec command specified " +"via '--exec'. Can not create 'Exec=' key." +msgstr "" + +#: tools/ascli-actions-misc.c:370 +#, c-format +msgid "Unable to save desktop entry file: %s" +msgstr "" + +#: tools/ascli-actions-misc.c:393 +msgid "You need to specify a NEWS file as input." +msgstr "" + +#: tools/ascli-actions-misc.c:397 +msgid "" +"You need to specify a metainfo file to augment, or '-' to print to stdout." +msgstr "" + +#: tools/ascli-actions-misc.c:402 +msgid "No output filename specified, modifying metainfo file directly." +msgstr "" + +#: tools/ascli-actions-misc.c:509 +msgid "You need to specify a NEWS file as output, or '-' to print to stdout." +msgstr "" + +#: tools/ascli-actions-misc.c:540 +msgid "You need to specify a NEWS format to write the output in." +msgstr "" + +#: tools/ascli-actions-pkgmgr.c:53 +msgid "" +"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" +"\" (part of PackageKit) is available." +msgstr "" + +#: tools/ascli-actions-pkgmgr.c:67 +#, c-format +msgid "Unable to spawn package manager: %s" +msgstr "" + +#. TRANSLATORS: We found no distribution package or bundle to install to make this software available +#: tools/ascli-actions-pkgmgr.c:106 +#, c-format +msgid "Component '%s' has no installation candidate." +msgstr "" + +#: tools/ascli-actions-validate.c:176 tools/ascli-actions-validate.c:354 +#, c-format +msgid "File '%s' does not exist." +msgstr "" + +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "error"-type hints +#: tools/ascli-actions-validate.c:228 +#, c-format +msgid "errors: %lu" +msgstr "" + +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "warning"-type hints +#: tools/ascli-actions-validate.c:235 +#, c-format +msgid "warnings: %lu" +msgstr "" + +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "info"-type hints +#: tools/ascli-actions-validate.c:242 +#, c-format +msgid "infos: %lu" +msgstr "" + +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "pedantic"-type hints +#: tools/ascli-actions-validate.c:249 +#, c-format +msgid "pedantic: %lu" +msgstr "" + +#: tools/ascli-actions-validate.c:268 tools/ascli-actions-validate.c:342 +msgid "You need to specify at least one file to validate!" +msgstr "" + +#: tools/ascli-actions-validate.c:294 tools/ascli-actions-validate.c:435 +msgid "Validation was successful." +msgstr "" + +#: tools/ascli-actions-validate.c:296 tools/ascli-actions-validate.c:437 +#, c-format +msgid "Validation was successful: %s" +msgstr "" + +#: tools/ascli-actions-validate.c:306 tools/ascli-actions-validate.c:447 +#, c-format +msgid "Validation failed: %s" +msgstr "" + +#: tools/ascli-actions-validate.c:368 tools/ascli-actions-validate.c:497 +#, c-format +msgid "" +"The validator can not create reports in the '%s' format. You may select " +"'yaml' or 'text' instead." +msgstr "" + +#: tools/ascli-actions-validate.c:390 tools/ascli-actions-validate.c:484 +msgid "You need to specify a root directory to start validation!" +msgstr "" + +#: tools/ascli-utils.c:266 +msgid "Identifier" +msgstr "" + +#: tools/ascli-utils.c:268 +msgid "Internal ID" +msgstr "" + +#: tools/ascli-utils.c:269 +msgid "Name" +msgstr "" + +#: tools/ascli-utils.c:270 +msgid "Summary" +msgstr "" + +#: tools/ascli-utils.c:271 +msgid "Package" +msgstr "" + +#: tools/ascli-utils.c:272 +msgid "Bundle" +msgstr "" + +#: tools/ascli-utils.c:273 +msgid "Homepage" +msgstr "" + +#: tools/ascli-utils.c:274 +msgid "Icon" +msgstr "" + +#. developer name +#: tools/ascli-utils.c:294 +msgid "Developer" +msgstr "" + +#: tools/ascli-utils.c:300 +msgid "Extends" +msgstr "" + +#: tools/ascli-utils.c:306 +msgid "Description" +msgstr "" + +#: tools/ascli-utils.c:326 +msgid "Default Screenshot URL" +msgstr "" + +#. project group +#: tools/ascli-utils.c:333 +msgid "Project Group" +msgstr "" + +#. license +#: tools/ascli-utils.c:336 +msgid "License" +msgstr "" + +#: tools/ascli-utils.c:342 +msgid "Categories" +msgstr "" + +#: tools/ascli-utils.c:350 +msgid "Compulsory for" +msgstr "" + +#: tools/ascli-utils.c:378 +msgid "Provided Items" +msgstr "" + +#~ msgid "An item type (e.g. lib, bin, python3, …)" +#~ msgstr "একটি আইটেমের ধরণ (যেমন lib, bin, python3, ...)" diff -Nru appstream-0.12.10/po/ca.po appstream-0.14.5/po/ca.po --- appstream-0.12.10/po/ca.po 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/po/ca.po 2021-08-28 20:15:28.000000000 +0000 @@ -1,3 +1,4 @@ +# #-#-#-#-# ca.po (AppStream) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Matthias Klumpp # This file is distributed under the same license as the appstream package. @@ -5,13 +6,26 @@ # Translators: # Robert Antoni Buj Gelonch , 2016 # Robert Antoni Buj Gelonch , 2015-2016 +# Xomin , 2020. +# #-#-#-#-# ca.po (appstream-glib) #-#-#-#-# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Robert Antoni Buj i Gelonch , 2015-2016 +# Richard Hughes , 2016. #zanata +# Robert Antoni Buj Gelonch , 2016. #zanata +# Robert Antoni Buj Gelonch , 2017. #zanata +# Robert Antoni Buj Gelonch , 2018. #zanata +# phlostically , 2021. +# +# Translators: msgid "" msgstr "" -"Project-Id-Version: AppStream\n" +"Project-Id-Version: appstream-glib\n" "Report-Msgid-Bugs-To: appstream@lists.freedesktop.org\n" -"POT-Creation-Date: 2020-01-14 01:44+0100\n" -"PO-Revision-Date: 2019-01-26 15:44+0000\n" -"Last-Translator: Robert Antoni Buj Gelonch \n" +"POT-Creation-Date: 2021-08-28 16:09+0200\n" +"PO-Revision-Date: 2021-03-23 13:29+0000\n" +"Last-Translator: phlostically \n" "Language-Team: Catalan \n" "Language: ca\n" @@ -19,1580 +33,2427 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 3.5-dev\n" - -#: tools/appstream-cli.c:157 -#, c-format -msgid "'%s' command" -msgstr "Ordre «%s»" - -#: src/as-category.c:168 -msgctxt "Category of Graphics" -msgid "3D Graphics" -msgstr "Gràfics 3D" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:254 -msgid "" -"A 'requires' or 'recommends' item requires a value to denote a valid " -"relation." -msgstr "" - -#: src/as-validator-issue-tag.h:51 -msgid "" -"A tag must not be localized in metainfo files (upstream " -"metadata). Localize the individual paragraphs instead." -msgstr "" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:195 -msgid "" -"A screenshot must contain at least one image or video in order to be useful. " -"Please add an to it." -msgstr "" - -#: src/as-validator-issue-tag.h:200 -msgid "" -"A screenshot must contain either images or videos, but not both at the same " -"time. Please use this screenshot exclusively for either static images or for " -"videos." -msgstr "" - -#: src/as-category.c:123 -msgctxt "Category of Games" -msgid "Action" -msgstr "Acció" - -#. TRANSLATORS: this is the main category for Add-ons -#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor -#: src/as-category.c:320 tools/ascli-utils.c:398 -msgid "Add-ons" -msgstr "Complements" - -#: src/as-category.c:126 -msgctxt "Category of Games" -msgid "Adventure" -msgstr "Aventura" - -#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) -#: tools/appstream-cli.c:116 -msgid "Also show pedantic hints." -msgstr "Mostra també els consells redundants." - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:497 -msgid "" -"An 'extends' tag is specified, but the component is not of type 'addon', " -"'localization' or 'repository'." -msgstr "" - -#: tools/appstream-cli.c:850 -msgid "An item type (e.g. lib, bin, python3, …)" -msgstr "Un tipus d'element (p. ex. lib, bin, python3, ...)" - -#: data/org.freedesktop.appstream.cli.metainfo.xml:9 -msgid "An utility to work with AppStream metadata" -msgstr "Una utilitat per treballar amb les metadades AppStream" +"X-Generator: Weblate 4.5.2-dev\n" #: data/org.freedesktop.appstream.cli.metainfo.xml:8 msgid "AppStream CLI" msgstr "Interfície de línia d'ordres d'AppStream" -#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. -#: tools/appstream-cli.c:947 -#, c-format -msgid "" -"AppStream CLI tool version: %s\n" -"AppStream library version: %s" -msgstr "" -"Versió de l'eina de la interfície de línia d'ordres d'AppStream: %s\n" -"Versió de la biblioteca d'AppStream: %s" - -#. TRANSLATORS: In the status report of ascli: Header -#: tools/ascli-actions-misc.c:47 -msgid "AppStream Status:" -msgstr "Estat d'AppStream:" - -#. we performed a cache refresh -#. TRANSLATORS: Updating the metadata cache succeeded -#: tools/ascli-actions-mdata.c:80 -msgid "AppStream cache update completed successfully." -msgstr "" -"S'ha completat correctament l'actualització de la memòria cau d'AppStream." - -#. cache wasn't updated, so the update wasn't necessary -#: tools/ascli-actions-mdata.c:86 -msgid "AppStream cache update is not necessary." -msgstr "L'actualització de memòria cau d'AppStream no és necessària." - -#. TRANSLATORS: This is the header to the --help menu for subcommands -#. TRANSLATORS: This is the header to the --help menu -#: tools/appstream-cli.c:154 tools/appstream-cli.c:843 -msgid "AppStream command-line interface" -msgstr "Interfície de línia d'ordres d'AppStream" - -#: src/as-validator-issue-tag.h:63 -msgid "" -"AppStream descriptions support only a limited set of tags to format text: " -"Paragraphs (

                    ) and lists (

                      ,
                        ). This description markup contains " -"an invalid XML tag that would not be rendered correctly in applications " -"supporting the metainfo specification." -msgstr "" +#: data/org.freedesktop.appstream.cli.metainfo.xml:9 +msgid "An utility to work with AppStream metadata" +msgstr "Una utilitat per treballar amb les metadades AppStream" #: data/org.freedesktop.appstream.cli.metainfo.xml:12 -#, fuzzy msgid "" -"AppStream is a cross-distribution specification to provide metadata about " -"software components." +"AppStream is a metadata specification which permits software components to " +"provide information about themselves to automated systems and end-users " +"before the software is actually installed. The AppStream project provides " +"facilities to easily access and transform this metadata, as well as a few " +"additional services for building feature-rich software centers and similar " +"applications that make use of software metadata." +msgstr "" + +#: data/org.freedesktop.appstream.cli.metainfo.xml:18 +#, fuzzy +msgid "" +"The appstreamcli command-line tool allows to read, write, and " +"transform AppStream XML or YAML metadata as well as to validate it for " +"compliance with the specification. It also provides easy access to the " +"system metadata pool, for example to query for software that provides a " +"specific Mediatype handler or for installing software by its component " +"identifier." msgstr "" -"AppStream és una especificació independent de la distribució que proporciona " -"metadades quant als components de programari." +"Aquesta eina permet llegir, escriure, validar i transformar les metadades " +"XML o YAML d'AppStream. També dóna accés a l'agrupació de metadades del " +"sistema, per exemple consultar quin programari proporciona un tipus MIME " +"específic i instal·lar-lo pel seu identificador de component de programari." -#: src/as-pool.c:1937 -#, fuzzy, c-format -msgid "" -"AppStream system cache refresh failed. Turn on verbose mode to get detailed " -"issue information." -msgstr "" -"Ha fallat l'actualització de la memòria cau d'AppStream. Activeu el mode " -"detallat per obtenir informació detallada de la incidència." +#: src/as-category.c:66 +msgctxt "Category of AudioVideo" +msgid "Featured" +msgstr "Destacat" -#. TRANSLATORS: Output if appstreamcli --version is executed. -#: tools/appstream-cli.c:944 -#, c-format -msgid "AppStream version: %s" -msgstr "Versió d'AppStream: %s" +#: src/as-category.c:69 +msgctxt "Category of AudioVideo" +msgid "Audio Creation & Editing" +msgstr "Creació i edició d'àudio" -#: src/as-category.c:129 -msgctxt "Category of Games" -msgid "Arcade" -msgstr "Videojoc recreatiu" +#: src/as-category.c:75 +msgctxt "Category of AudioVideo" +msgid "Music Players" +msgstr "Reproductors de música" -#: src/as-category.c:234 -msgctxt "Category of Science" -msgid "Artificial Intelligence" -msgstr "Intel·ligència artificial" +#: src/as-category.c:84 +msgctxt "Category of Development" +msgid "Featured" +msgstr "Destacat" -#: src/as-validator-issue-tag.h:91 -msgid "" -"As per AppStream specification, the mentioned tag must only appear once in " -"this context. Having multiple tags of this kind is not valid." -msgstr "" +#: src/as-category.c:87 +msgctxt "Category of Development" +msgid "Debuggers" +msgstr "Depuradors" -#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command -#: tools/appstream-cli.c:766 -msgid "Assume the input file is in the selected format ('yaml' or 'text')." -msgstr "" +#: src/as-category.c:90 +msgctxt "Category of Development" +msgid "IDEs" +msgstr "Entorns de desenvolupament integrat" -#: src/as-category.c:101 +#: src/as-category.c:99 msgctxt "Category of Education" -msgid "Astronomy" -msgstr "Astronomia" +msgid "Featured" +msgstr "Destacat" -#: src/as-category.c:237 -msgctxt "Category of Science" +#: src/as-category.c:102 +msgctxt "Category of Education" msgid "Astronomy" msgstr "Astronomia" -#. TRANSLATORS: this is the menu spec main category for Audio & Video -#: src/as-category.c:302 -msgid "Audio & Video" -msgstr "Àudio i vídeo" +#: src/as-category.c:105 +msgctxt "Category of Education" +msgid "Chemistry" +msgstr "Química" -#: src/as-category.c:68 -msgctxt "Category of AudioVideo" -msgid "Audio Creation & Editing" -msgstr "Creació i edició d'àudio" +#: src/as-category.c:108 +msgctxt "Category of Education" +msgid "Languages" +msgstr "Idiomes" -#: tools/ascli-actions-misc.c:219 -#, c-format -msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." -msgstr "" +#: src/as-category.c:112 +msgctxt "Category of Education" +msgid "Math" +msgstr "Matemàtiques" -#: src/as-provided.c:146 -msgid "Binaries" -msgstr "Binaris" +#: src/as-category.c:121 +msgctxt "Category of Games" +msgid "Featured" +msgstr "Destacat" + +#: src/as-category.c:124 +msgctxt "Category of Games" +msgid "Action" +msgstr "Acció" + +#: src/as-category.c:127 +msgctxt "Category of Games" +msgid "Adventure" +msgstr "Aventura" + +#: src/as-category.c:130 +msgctxt "Category of Games" +msgid "Arcade" +msgstr "Videojoc recreatiu" -#: src/as-category.c:132 +#: src/as-category.c:133 msgctxt "Category of Games" msgid "Blocks" msgstr "Blocs" -#: src/as-category.c:135 +#: src/as-category.c:136 msgctxt "Category of Games" msgid "Board" msgstr "Placa" -#: tools/ascli-utils.c:299 -msgid "Bundle" -msgstr "Agrupació" - -#: src/as-pool.c:1828 -#, c-format -msgid "Cache location '%s' is not writable." -msgstr "L'àrea d'emmagatzematge temporal «%s» no és d'escriptura." - -#: src/as-category.c:191 -msgctxt "Category of Office" -msgid "Calendar" -msgstr "Calendari" - -#: tools/ascli-actions-mdata.c:327 -#, c-format -msgid "" -"Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " -"suffix." -msgstr "" -"No es pot copiar «%s»: El fitxer no té un sufix «.metainfo.xml» o «.appdata." -"xml»." - -#: src/as-category.c:138 +#: src/as-category.c:139 msgctxt "Category of Games" msgid "Card" msgstr "Targeta" -#: tools/ascli-utils.c:369 -msgid "Categories" -msgstr "Categories" +#: src/as-category.c:142 +msgctxt "Category of Games" +msgid "Emulators" +msgstr "Emuladors" -#: src/as-category.c:259 -msgctxt "Category of Communication" -msgid "Chat" -msgstr "Xat" +#: src/as-category.c:145 +msgctxt "Category of Games" +msgid "Kids" +msgstr "Nens" -#: src/as-category.c:104 -msgctxt "Category of Education" -msgid "Chemistry" -msgstr "Química" +#: src/as-category.c:148 +msgctxt "Category of Games" +msgid "Logic" +msgstr "Lògica" -#: src/as-category.c:240 -msgctxt "Category of Science" -msgid "Chemistry" -msgstr "Química" +#: src/as-category.c:151 +msgctxt "Category of Games" +msgid "Role Playing" +msgstr "Jocs de rol" -#: src/as-category.c:214 -msgctxt "Category of Addons" -msgid "Codecs" -msgstr "Còdecs" +#: src/as-category.c:154 +msgctxt "Category of Games" +msgid "Sports" +msgstr "Esports" -#. TRANSLATORS: this is the menu spec main category for Communication -#: src/as-category.c:326 -msgid "Communication & News" -msgstr "Comunicació i notícies" +#: src/as-category.c:158 +msgctxt "Category of Games" +msgid "Strategy" +msgstr "Estratègia" -#: tools/appstream-cli.c:866 -msgid "Compare two version numbers." -msgstr "Compara dos números de versió." +#: src/as-category.c:166 +msgctxt "Category of Graphics" +msgid "Featured" +msgstr "Destacat" -#: src/as-provided.c:166 -msgid "Component" -msgstr "Component" +#: src/as-category.c:169 +msgctxt "Category of Graphics" +msgid "3D Graphics" +msgstr "Gràfics 3D" -#. TRANSLATORS: We found no distribution package or bundle to install to make this software available -#: tools/ascli-actions-pkgmgr.c:106 -#, c-format -msgid "Component '%s' has no installation candidate." -msgstr "El component «%s» no té cap candidat d'instal·lació." +#: src/as-category.c:172 +msgctxt "Category of Graphics" +msgid "Photography" +msgstr "Fotografia" -#: tools/ascli-utils.c:377 -msgid "Compulsory for" -msgstr "Obligatori per" +#: src/as-category.c:175 +msgctxt "Category of Graphics" +msgid "Scanning" +msgstr "Escaneig" -#: src/as-validator-issue-tag.h:361 -msgid "Consider using a secure (HTTPS) URL for the remote icon link." +#: src/as-category.c:178 +msgctxt "Category of Graphics" +msgid "Vector Graphics" +msgstr "Gràfics vectorials" + +#: src/as-category.c:181 +msgctxt "Category of Graphics" +msgid "Viewers" +msgstr "Visualitzadors" + +#: src/as-category.c:189 +msgctxt "Category of Office" +msgid "Featured" +msgstr "Destacat" + +#: src/as-category.c:192 +msgctxt "Category of Office" +msgid "Calendar" +msgstr "Calendari" + +#: src/as-category.c:196 +msgctxt "Category of Office" +msgid "Database" +msgstr "Base de dades" + +#: src/as-category.c:199 +msgctxt "Category of Office" +msgid "Finance" +msgstr "Finances" + +#: src/as-category.c:203 +msgctxt "Category of Office" +msgid "Word Processor" +msgstr "Processadors de text" + +#: src/as-category.c:212 +msgctxt "Category of Addons" +msgid "Fonts" +msgstr "Tipus de lletres" + +#: src/as-category.c:215 +msgctxt "Category of Addons" +msgid "Codecs" +msgstr "Còdecs" + +#: src/as-category.c:218 +msgctxt "Category of Addons" +msgid "Input Sources" +msgstr "Orígens d'entrada" + +#: src/as-category.c:221 +msgctxt "Category of Addons" +msgid "Language Packs" +msgstr "Paquets d'idiomes" + +#: src/as-category.c:224 +msgctxt "Category of Addons" +msgid "Localization" +msgstr "Localització" + +#: src/as-category.c:232 +msgctxt "Category of Science" +msgid "Featured" +msgstr "Destacat" + +#: src/as-category.c:235 +msgctxt "Category of Science" +msgid "Artificial Intelligence" +msgstr "Intel·ligència artificial" + +#: src/as-category.c:238 +msgctxt "Category of Science" +msgid "Astronomy" +msgstr "Astronomia" + +#: src/as-category.c:241 +msgctxt "Category of Science" +msgid "Chemistry" +msgstr "Química" + +#: src/as-category.c:244 +msgctxt "Category of Science" +msgid "Math" +msgstr "Matemàtiques" + +#: src/as-category.c:249 +msgctxt "Category of Science" +msgid "Robotics" +msgstr "Robòtica" + +#: src/as-category.c:257 +msgctxt "Category of Communication" +msgid "Featured" +msgstr "Destacat" + +#: src/as-category.c:260 +msgctxt "Category of Communication" +msgid "Chat" +msgstr "Xat" + +#: src/as-category.c:267 +msgctxt "Category of Communication" +msgid "News" +msgstr "Notícies" + +#: src/as-category.c:271 +msgctxt "Category of Communication" +msgid "Web Browsers" +msgstr "Navegadors web" + +#: src/as-category.c:279 +msgctxt "Category of Utility" +msgid "Featured" +msgstr "Destacat" + +#: src/as-category.c:282 +msgctxt "Category of Utility" +msgid "Text Editors" +msgstr "Editors de text" + +#: src/as-category.c:285 +msgctxt "Category of Utility" +msgid "Terminal Emulators" +msgstr "Emuladors de terminals" + +#: src/as-category.c:288 +msgctxt "Category of Utility" +msgid "File System" +msgstr "Sistema de fitxers" + +#: src/as-category.c:291 +msgctxt "Category of Utility" +msgid "System Monitoring" +msgstr "Monitoratge del sistema" + +#: src/as-category.c:294 +msgctxt "Category of Utility" +msgid "Security" +msgstr "Seguretat" + +#. TRANSLATORS: this is the menu spec main category for Audio & Video +#: src/as-category.c:303 +msgid "Audio & Video" +msgstr "Àudio i vídeo" + +#. TRANSLATORS: this is the menu spec main category for Development +#: src/as-category.c:306 +msgid "Developer Tools" +msgstr "Eines de desenvolupador" + +#. TRANSLATORS: this is the menu spec main category for Education +#: src/as-category.c:309 +msgid "Education" +msgstr "Educació" + +#. TRANSLATORS: this is the menu spec main category for Game +#: src/as-category.c:312 +msgid "Games" +msgstr "Jocs" + +#. TRANSLATORS: this is the menu spec main category for Graphics +#: src/as-category.c:315 +msgid "Graphics & Photography" +msgstr "Gràfics i fotografia" + +#. TRANSLATORS: this is the menu spec main category for Office +#: src/as-category.c:318 +msgid "Office" +msgstr "Ofimàtica" + +#. TRANSLATORS: this is the main category for Add-ons +#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor +#: src/as-category.c:321 tools/ascli-utils.c:371 +msgid "Add-ons" +msgstr "Complements" + +#. TRANSLATORS: this is the menu spec main category for Science +#: src/as-category.c:324 +msgid "Science" +msgstr "Ciència" + +#. TRANSLATORS: this is the menu spec main category for Communication +#: src/as-category.c:327 +msgid "Communication & News" +msgstr "Comunicació i notícies" + +#. TRANSLATORS: this is the menu spec main category for Utilities +#: src/as-category.c:330 +msgid "Utilities" +msgstr "Utilitats" + +#. TRANSLATORS: This is the formatting of English and localized name +#. * of the rating e.g. "Adults Only (solo adultos)" +#: src/as-content-rating.c:298 +#, c-format +msgid "%s (%s)" +msgstr "%s (%s)" + +#: src/as-content-rating.c:444 +msgid "General" +msgstr "General" + +#: src/as-content-rating.c:453 +msgid "ALL" +msgstr "Tots" + +#: src/as-content-rating.c:457 src/as-content-rating.c:560 +msgid "Adults Only" +msgstr "Només adults" + +#: src/as-content-rating.c:459 src/as-content-rating.c:559 +msgid "Mature" +msgstr "Madur" + +#: src/as-content-rating.c:461 src/as-content-rating.c:558 +msgid "Teen" +msgstr "Adolescents" + +#: src/as-content-rating.c:463 src/as-content-rating.c:557 +msgid "Everyone 10+" +msgstr "Majors de 10 anys" + +#: src/as-content-rating.c:465 src/as-content-rating.c:556 +msgid "Everyone" +msgstr "Tothom" + +#: src/as-content-rating.c:467 src/as-content-rating.c:555 +msgid "Early Childhood" +msgstr "Infantesa" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:839 +msgid "No cartoon violence" +msgstr "Sense violència en personatges animats" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:841 +msgid "Cartoon characters in unsafe situations" +msgstr "Personatges animats en situacions insegures" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:843 +msgid "Cartoon characters in aggressive conflict" +msgstr "Personatges animats en conflictes agressius" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:845 +msgid "Graphic violence involving cartoon characters" +msgstr "Violència gràfica amb personatges animats" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:850 +msgid "No fantasy violence" +msgstr "Sense violència fantàstica" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:852 +msgid "Characters in unsafe situations easily distinguishable from reality" +msgstr "" +"Personatges en situacions insegures fàcilment distingibles de la realitat" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:854 +msgid "Characters in aggressive conflict easily distinguishable from reality" +msgstr "" +"Personatges en conflictes agressius fàcilment distingibles de la realitat" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:856 +msgid "Graphic violence easily distinguishable from reality" +msgstr "Violència gràfica fàcilment distingible de la realitat" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:861 +msgid "No realistic violence" +msgstr "Sense violència realista" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:863 +msgid "Mildly realistic characters in unsafe situations" +msgstr "Personatges mig reals en situacions insegures" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:865 +msgid "Depictions of realistic characters in aggressive conflict" +msgstr "Representacions de personatges realistes en conflictes agressius" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:867 +msgid "Graphic violence involving realistic characters" +msgstr "Violència gràfica amb personatges realistes" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:872 +msgid "No bloodshed" +msgstr "Sense matances" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:874 +msgid "Unrealistic bloodshed" +msgstr "Matances no realistes" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:876 +msgid "Realistic bloodshed" +msgstr "Matances realistes" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:878 +msgid "Depictions of bloodshed and the mutilation of body parts" +msgstr "Representacions de matances i mutilacions de parts del cos" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:883 +msgid "No sexual violence" +msgstr "Sense violència sexual" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:885 +msgid "Rape or other violent sexual behavior" +msgstr "Violació o altres comportaments sexuals violents" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:892 +msgid "No references to alcohol" +msgstr "Sense referències a l'alcohol" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:894 +msgid "References to alcoholic beverages" +msgstr "Referències a begudes alcohòliques" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:896 +msgid "Use of alcoholic beverages" +msgstr "Ús de begudes alcohòliques" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:902 +msgid "No references to illicit drugs" +msgstr "Sense referències a drogues il·legals" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:904 +msgid "References to illicit drugs" +msgstr "Referències a drogues il·legals" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:906 +msgid "Use of illicit drugs" +msgstr "Ús de drogues il·legals" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:912 +msgid "No references to tobacco products" +msgstr "Sense referències als productes del tàbac" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:914 +msgid "References to tobacco products" +msgstr "Referències als productes del tàbac" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:916 +msgid "Use of tobacco products" +msgstr "Ús de productes del tàbac" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:922 +msgid "No nudity of any sort" +msgstr "Sense nuesa de cap tipus" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:924 +msgid "Brief artistic nudity" +msgstr "Nuesa artística breu" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:926 +msgid "Prolonged nudity" +msgstr "Nuesa prolongada" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:932 +msgid "No references to or depictions of sexual nature" +msgstr "Sense referències o representacions sexuals" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:934 +msgid "Provocative references or depictions" +msgstr "Referències o representacions provocatives" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:936 +msgid "Sexual references or depictions" +msgstr "Referències o representacions sexuals" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:938 +msgid "Graphic sexual behavior" +msgstr "Comportament sexual gràfic" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:943 +msgid "No profanity of any kind" +msgstr "Sense blasfèmia de cap tipus" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:945 +msgid "Mild or infrequent use of profanity" +msgstr "Ús lleu o poc freqüent de la blasfèmia" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:947 +msgid "Moderate use of profanity" +msgstr "Ús moderat de la blasfèmia" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:949 +msgid "Strong or frequent use of profanity" +msgstr "Ús extensiu o freqüent de la blasfèmia" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:954 +msgid "No inappropriate humor" +msgstr "Sense humor inapropiat" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:956 +msgid "Slapstick humor" +msgstr "Humor vulgar" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:958 +msgid "Vulgar or bathroom humor" +msgstr "Humor groller" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:960 +msgid "Mature or sexual humor" +msgstr "Humor adult o sexual" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:965 +msgid "No discriminatory language of any kind" +msgstr "Sense llenguatge discriminatori de cap tipus" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:967 +msgid "Negativity towards a specific group of people" +msgstr "Negatiu respecte a un grup específic de gent" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:969 +msgid "Discrimination designed to cause emotional harm" +msgstr "Discriminació pensada per causar dany emocional" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:971 +msgid "Explicit discrimination based on gender, sexuality, race or religion" +msgstr "Discriminació explicita basada en gènere, sexualitat, raça o religió" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:976 +msgid "No advertising of any kind" +msgstr "Sense publicitat de cap tipus" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:978 +msgid "Product placement" +msgstr "Emplaçament de producte" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:980 +msgid "Explicit references to specific brands or trademarked products" +msgstr "" +"Referències explícites a marques específiques o productes de marques " +"registrades" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:982 +msgid "Users are encouraged to purchase specific real-world items" +msgstr "S'anima als usuaris a comprar coses específiques del món real" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:987 +msgid "No gambling of any kind" +msgstr "Sense apostes de cap tipus" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:989 +msgid "Gambling on random events using tokens or credits" +msgstr "Apostes en esdeveniments aleatoris utilitzant testimonis o crèdits" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:991 +msgid "Gambling using “play” money" +msgstr "Apostes usant moneda virtual al joc" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:993 +msgid "Gambling using real money" +msgstr "Apostes usant diners reals" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:998 +msgid "No ability to spend money" +msgstr "Sense possibilitat de gastar diners" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1000 +msgid "Users are encouraged to donate real money" +msgstr "S'anima als usuaris a comprar coses específiques del món real" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1003 +msgid "Ability to spend real money in-app" +msgstr "Possibilitat de gastar diners de veritat al joc" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1008 +msgid "No way to chat with other users" +msgstr "Sense possibilitat de fer xat amb els altres usuaris" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1010 +msgid "User-to-user interactions without chat functionality" +msgstr "Interaccions usuari a usuari sense funcionalitat xat" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1012 +msgid "Moderated chat functionality between users" +msgstr "Funcionalitat de xat no supervisada entre usuaris" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1014 +msgid "Uncontrolled chat functionality between users" +msgstr "Funcionalitat de xat no supervisada entre usuaris" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1019 +msgid "No way to talk with other users" +msgstr "Sense possibilitat de parlar amb els altres usuaris" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1021 +msgid "Uncontrolled audio or video chat functionality between users" +msgstr "Funcionalitat de xat d'àudio o vídeo no supervisada entre usuaris" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1028 +msgid "No sharing of social network usernames or email addresses" +msgstr "" +"Sense compartició en les xarxes socials de noms d'usuari ni adreces de " +"correu electrònic" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1030 +msgid "Sharing social network usernames or email addresses" +msgstr "" +"Compartició en les xarxes socials de noms d'usuari o adreces de correu " +"electrònic" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1037 +msgid "No sharing of user information with third parties" +msgstr "No es comparteix informació de l'usuari amb terceres parts" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1039 +msgid "Checking for the latest application version" +msgstr "Comprova si hi ha una versió més nova de l'aplicació" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1041 +msgid "Sharing diagnostic data that does not let others identify the user" +msgstr "" +"La compartició de dades de diagnòstic no permet a altres identificar l'usuari" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1043 +msgid "Sharing information that lets others identify the user" +msgstr "" +"La compartició de dades de diagnòstic permet a altres identificar l'usuari" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1048 +msgid "No sharing of physical location with other users" +msgstr "No es comparteix la ubicació física amb altres usuaris" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1050 +msgid "Sharing physical location with other users" +msgstr "Es comparteix la ubicació física amb altres usuaris" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1073 +msgid "No references to homosexuality" +msgstr "Sense referències a homosexualitat" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1075 +msgid "Indirect references to homosexuality" +msgstr "Referències indirectes a l'homosexualitat" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1077 +msgid "Kissing between people of the same gender" +msgstr "Petons entre persones del mateix sexe" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1079 +msgid "Graphic sexual behavior between people of the same gender" +msgstr "Comportament sexual gràfic entre gent del mateix sexe" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1084 +msgid "No references to prostitution" +msgstr "Sense referències a la prostitució" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1086 +msgid "Indirect references to prostitution" +msgstr "Referències indirectes a la prostitució" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1088 +msgid "Direct references to prostitution" +msgstr "Referències directes a la prostitució" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1090 +msgid "Graphic depictions of the act of prostitution" +msgstr "Representacions gràfiques de l'acte de prostitució" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1095 +msgid "No references to adultery" +msgstr "Sense referències a l'adulteri" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1097 +msgid "Indirect references to adultery" +msgstr "Referències indirectes a l'adulteri" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1099 +msgid "Direct references to adultery" +msgstr "Referències directes a l'adulteri" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1101 +msgid "Graphic depictions of the act of adultery" +msgstr "Representacions gràfiques de l'acte d'adulteri" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1106 +msgid "No sexualized characters" +msgstr "Sense personatges sexualitzats" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1109 +msgid "Scantily clad human characters" +msgstr "Personatges humans lleugers de roba" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1111 +msgid "Overtly sexualized human characters" +msgstr "Personatges humans obertament sexualitzats" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1116 +msgid "No references to desecration" +msgstr "Sense referències a la profanació" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1118 +msgid "Depictions of or references to historical desecration" +msgstr "Representacions o referències històriques de profanació" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1120 +msgid "Depictions of modern-day human desecration" +msgstr "Representacions d'avui en dia de profanació" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1122 +msgid "Graphic depictions of modern-day desecration" +msgstr "Representacions gràfiques d'avui en dia de profanació" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1127 +msgid "No visible dead human remains" +msgstr "Sense restes mortals humanes visibles" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1129 +msgid "Visible dead human remains" +msgstr "Restes mortals humanes visibles" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1131 +msgid "Dead human remains that are exposed to the elements" +msgstr "Restes mortals humanes són exposades als elements" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1133 +msgid "Graphic depictions of desecration of human bodies" +msgstr "Representacions gràfiques de profanació de cossos humans" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1138 +msgid "No references to slavery" +msgstr "Sense referències a l'esclavitud" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1140 +msgid "Depictions of or references to historical slavery" +msgstr "Representacions o referències històriques d'esclavitud" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1142 +msgid "Depictions of modern-day slavery" +msgstr "Representacions de l'esclavitud avui en dia" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1144 +msgid "Graphic depictions of modern-day slavery" +msgstr "Representacions gràfiques de l'esclavitud avui en dia" + +#. TRANSLATORS: We got a 429 error while trying to download data +#: src/as-curl.c:134 +#, c-format +msgid "Failed to download due to server limit" msgstr "" -#: src/as-validator-issue-tag.h:383 -msgid "Consider using a secure (HTTPS) URL for this web link." +#: src/as-curl.c:141 src/as-curl.c:148 +#, fuzzy, c-format +msgid "Failed to download file: %s" +msgstr "No es pot llegir el fitxer .desktop: %s" + +#. TRANSLATORS: We tried to download an URL, but received a 404 error code +#: src/as-curl.c:157 +#, c-format +msgid "URL was not found on the server." msgstr "" -#: src/as-validator-issue-tag.h:189 -msgid "" -"Consider using a secure (HTTPS) URL to reference this screenshot image or " -"video." +#. TRANSLATORS: We received an uexpected HTTP status code while talking to a server, likely an error +#: src/as-curl.c:164 +#, c-format +msgid "Unexpected status code: %ld" msgstr "" -#: tools/appstream-cli.c:870 -msgid "Convert a YAML or text NEWS file into metainfo releases." +#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty +#: src/as-curl.c:247 +#, c-format +msgid "Retrieved file size was zero." msgstr "" -#. TRANSLATORS: "convert" command in ascli. "Collection XML" is a term describing a specific type of AppStream XML data. -#: tools/appstream-cli.c:865 -msgid "Convert collection XML to YAML or vice versa." -msgstr "Converteix la col·lecció XML a YAML o viceversa." +#. TRANSLATORS: List of "grey-listed" words sperated with ";" +#. * Do not translate this list directly. Instead, +#. * provide a list of words in your language that people are likely +#. * to include in a search but that should normally be ignored in +#. * the search. +#. +#: src/as-pool.c:111 +msgid "app;application;package;program;programme;suite;tool" +msgstr "aplicació;programari;paquet;aplicació;programa" -#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results -#: tools/ascli-actions-mdata.c:228 +#: src/as-pool.c:620 +msgid "Unable to remove old cache." +msgstr "" + +#: src/as-pool.c:963 +msgid "Metadata files have errors:" +msgstr "Els fitxers de metadades tenen errors:" + +#: src/as-pool.c:1370 +msgid "" +"Many components have been recognized as invalid. See debug output for " +"details." +msgstr "" +"S'han reconegut molts components com no vàlids. Consulteu la sortida de " +"depuració per obtenir més detalls." + +#: src/as-pool.c:1996 #, c-format -msgid "Could not find component providing '%s::%s'." -msgstr "No s'ha pogut trobar el component que proporciona «%s::%s»." +msgid "Cache location '%s' is not writable." +msgstr "L'àrea d'emmagatzematge temporal «%s» no és d'escriptura." -#: tools/appstream-cli.c:869 -msgid "Create a XDG desktop-entry file from a metainfo file." +#: src/as-pool.c:2109 +#, fuzzy +msgid "" +"The AppStream system cache was updated, but some components were ignored. " +"Refer to the verbose log for more information." msgstr "" +"S'ha actualitzat la memòria cau del sistema d'AppStream, però s'han detectat " +"alguns errors, aquests errors poden provocar la pèrdua de metadades. " +"Consulteu el registre per obtenir informació més detallada." -#: tools/appstream-cli.c:868 +#: src/as-pool.c:2111 +#, fuzzy, c-format msgid "" -"Create a template for a metainfo file (to be filled out by the upstream " -"project)." +"The AppStream system cache was updated, but problems were found which " +"resulted in metadata being ignored: %s" msgstr "" -"Crea una plantilla per a un fitxer metainfo (per ser omplert pel projecte de " -"desenvolupament)." +"S'ha actualitzat la memòria cau de sistema d'AppStream, però s'han trobat " +"problemes: %s" -#: tools/ascli-actions-misc.c:228 -#, c-format -msgid "Creating new desktop-entry file '%s' using data from '%s'" +#: src/as-pool.c:2125 +#, fuzzy, c-format +msgid "" +"AppStream system cache refresh failed. Turn on verbose mode to get detailed " +"issue information." msgstr "" +"Ha fallat l'actualització de la memòria cau d'AppStream. Activeu el mode " +"detallat per obtenir informació detallada de la incidència." -#: src/as-provided.c:160 -#, fuzzy -msgid "D-Bus Session Services" -msgstr "Serveis de sistema de DBus" +#: src/as-provided.c:144 +msgid "Libraries" +msgstr "Biblioteques" -#: src/as-provided.c:158 -#, fuzzy -msgid "D-Bus System Services" -msgstr "Serveis de sistema de DBus" +#: src/as-provided.c:146 +msgid "Binaries" +msgstr "Binaris" -#: src/as-category.c:195 -msgctxt "Category of Office" -msgid "Database" -msgstr "Base de dades" +#: src/as-provided.c:148 +#, fuzzy +msgid "Media types" +msgstr "Tipus MIME" -#: src/as-category.c:86 -msgctxt "Category of Development" -msgid "Debuggers" -msgstr "Depuradors" +#: src/as-provided.c:150 +msgid "Fonts" +msgstr "Tipus de lletres" -#: tools/ascli-utils.c:353 -msgid "Default Screenshot URL" -msgstr "URL de la captura de pantalla predeterminada" +#: src/as-provided.c:152 +msgid "Modaliases" +msgstr "Modaliases" -#. TRANSLATORS: ascli flag description for: --format -#: tools/appstream-cli.c:83 -msgid "Default metadata format (valid values are 'xml' and 'yaml')." -msgstr "" -"Format predeterminat de les metadades (els valors vàlids són 'xml' i 'yaml')." +#: src/as-provided.c:154 +msgid "Python (Version 2)" +msgstr "Python (versió 2)" -#: tools/ascli-utils.c:333 -msgid "Description" -msgstr "Descripció" +#: src/as-provided.c:156 +msgid "Python 3" +msgstr "Python 3" -#. developer name -#: tools/ascli-utils.c:321 -msgid "Developer" -msgstr "Desenvolupador" +#: src/as-provided.c:158 +#, fuzzy +msgid "D-Bus System Services" +msgstr "Serveis de sistema de DBus" -#. TRANSLATORS: this is the menu spec main category for Development -#: src/as-category.c:305 -msgid "Developer Tools" -msgstr "Eines de desenvolupador" +#: src/as-provided.c:160 +msgid "D-Bus Session Services" +msgstr "Serveis de sessió de D-Bus" -#: tools/appstream-cli.c:862 -msgid "Display status information about available AppStream metadata." -msgstr "" -"Mostra informació de l'estat sobre les metadades disponibles d'AppStream." +#: src/as-provided.c:162 +msgid "Runtime Firmware" +msgstr "Microprogramari en temps d'execució" -#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions -#: tools/ascli-actions-misc.c:52 -msgid "Distribution metadata:" -msgstr "Metadades de la distribució:" +#: src/as-provided.c:164 +msgid "Flashed Firmware" +msgstr "Microprogramari flaix" -#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) -#: tools/appstream-cli.c:126 -msgid "Do not use network access." -msgstr "No utilitzis l'accés a la xarxa." +#: src/as-provided.c:166 +msgid "Component" +msgstr "Component" -#. TRANSLATORS: ascli flag description for: --no-color -#: tools/appstream-cli.c:908 -msgid "Don't show colored output." -msgstr "No mostris la sortida amb colors." +#: src/as-validator-issue-tag.h:41 +msgid "This tag requires a type property." +msgstr "" -#: tools/appstream-cli.c:853 -msgid "Dump raw XML metadata for a component matching the ID." +#: src/as-validator-issue-tag.h:46 +msgid "Tags of this name are not permitted in this section." msgstr "" -"Bolca les metadades XML en pla per a un component que coincideixi amb l'id." -#. TRANSLATORS: this is the menu spec main category for Education -#: src/as-category.c:308 -msgid "Education" -msgstr "Educació" +#: src/as-validator-issue-tag.h:51 +msgid "" +"A tag must not be localized in metainfo files (upstream " +"metadata). Localize the individual paragraphs instead." +msgstr "" -#. TRANSLATORS: No metainfo files have been found -#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 -msgid "Empty." -msgstr "Buit." +#: src/as-validator-issue-tag.h:57 +msgid "" +"This element (paragraph, list, etc.) of a tag must not be " +"localized individually in collection metadata. Localize the whole " +" tag instead. The AppStream collection metadata generator (e." +"g. `appstream-generator`) will already do the right thing when compiling the " +"data." +msgstr "" -#: src/as-category.c:141 -msgctxt "Category of Games" -msgid "Emulators" -msgstr "Emuladors" +#: src/as-validator-issue-tag.h:63 +msgid "" +"AppStream descriptions support only a limited set of tags to format text: " +"Paragraphs (

                        ) and lists (

                          ,
                            ). This description markup contains " +"an invalid XML tag that would not be rendered correctly in applications " +"supporting the metainfo specification." +msgstr "" +"Les descripcions d'AppStream admeten només un conjunt limitat d'etiquetes " +"del format de text: paràgrafs (

                            ) i llistes (

                              ,
                                ). Aquesta conté " +"una etiqueta XML no vàlida que no es representarà correctament en " +"aplicacions compatibles amb l'especificació de metainformació." -#. TRANSLATORS: ascli flag description for: --force -#: tools/appstream-cli.c:245 -msgid "Enforce a cache refresh." -msgstr "Força una actualització de la memòria cau." +#: src/as-validator-issue-tag.h:69 +msgid "" +"This description paragraph contains invalid markup. Currently, only " +"and are permitted." +msgstr "" #: src/as-validator-issue-tag.h:74 msgid "Enumerations must only have list items (
                              1. ) as children." msgstr "" +"Les enumeracions només han de tenir elements de llista (
                              2. ) com a " +"elements secundaris." -#: tools/ascli-actions-misc.c:159 -#, c-format -msgid "Error while loading the metadata pool: %s" +#: src/as-validator-issue-tag.h:79 +msgid "" +"The first `description/p` paragraph of this component might be too short (< " +"80 characters). Please consider starting with a longer paragraph to improve " +"how the description looks like in software centers and to provide more " +"detailed information on this component immediately in the first paragraph." msgstr "" -"S'ha produït un error mentre es carregava l'agrupació de les metadades: %s" - -#: tools/ascli-utils.c:327 -msgid "Extends" -msgstr "Estén" - -#: src/as-category.c:65 -msgctxt "Category of AudioVideo" -msgid "Featured" -msgstr "Destacat" - -#: src/as-category.c:256 -msgctxt "Category of Communication" -msgid "Featured" -msgstr "Destacat" - -#: src/as-category.c:83 -msgctxt "Category of Development" -msgid "Featured" -msgstr "Destacat" - -#: src/as-category.c:98 -msgctxt "Category of Education" -msgid "Featured" -msgstr "Destacat" - -#: src/as-category.c:120 -msgctxt "Category of Games" -msgid "Featured" -msgstr "Destacat" -#: src/as-category.c:165 -msgctxt "Category of Graphics" -msgid "Featured" -msgstr "Destacat" +#: src/as-validator-issue-tag.h:86 +msgid "" +"The description contains a web URL in plain text. This is not allowed, " +"please use the tag instead to share links." +msgstr "" -#: src/as-category.c:188 -msgctxt "Category of Office" -msgid "Featured" -msgstr "Destacat" +#: src/as-validator-issue-tag.h:91 +msgid "" +"As per AppStream specification, the mentioned tag must only appear once in " +"this context. Having multiple tags of this kind is not valid." +msgstr "" +"D'acord amb l'especifiació AppStream, l'etiqueta esmentada ha d'aparèixer " +"només una vegada en aquest context. No és vàlid tenir diverses etiquetes " +"d'aquest tipus." -#: src/as-category.c:231 -msgctxt "Category of Science" -msgid "Featured" -msgstr "Destacat" +#: src/as-validator-issue-tag.h:96 +msgid "" +"The mentioned tag is empty, which is highly likely not intended as it should " +"have content." +msgstr "" -#: src/as-category.c:278 -msgctxt "Category of Utility" -msgid "Featured" -msgstr "Destacat" +#: src/as-validator-issue-tag.h:101 +msgid "" +"The component ID is required to follow a reverse domain-name scheme for its " +"name. See the AppStream specification for details." +msgstr "" -#: tools/ascli-actions-validate.c:171 tools/ascli-actions-validate.c:349 -#, fuzzy, c-format -msgid "File '%s' does not exist." -msgstr "No existeix el fitxer de metadades «%s»." +#: src/as-validator-issue-tag.h:106 +msgid "" +"The component ID is not a reverse domain-name. Please update the ID to avoid " +"future issues and be compatible with all AppStream implementations.\n" +"You may also consider to update the name of the accompanying .desktop file " +"to follow the latest version of the Desktop-Entry specification and use a " +"rDNS name for it as well. In any case, do not forget to mention the new " +"desktop-entry in a tag for this component to keep the " +"application launchable from software centers and the .desktop file data " +"associated with the metainfo data." +msgstr "" -#: src/as-category.c:287 -msgctxt "Category of Utility" -msgid "File System" -msgstr "Sistema de fitxers" +#: src/as-validator-issue-tag.h:114 +msgid "" +"The component ID might not follow the reverse domain-name schema (the TLD " +"used by it is not known to the validator)." +msgstr "" -#: src/as-category.c:198 -msgctxt "Category of Office" -msgid "Finance" -msgstr "Finances" +#: src/as-validator-issue-tag.h:119 +msgid "" +"The component ID contains an invalid character. Only ASCII characters, dots " +"and numbers are permitted." +msgstr "" -#: src/as-provided.c:164 -msgid "Flashed Firmware" -msgstr "Microprogramari flaix" +#: src/as-validator-issue-tag.h:124 +msgid "" +"The component ID contains a hyphen/minus. Using a hyphen is strongly " +"discouraged, to improve interoperability with other tools such as D-Bus. A " +"good option is to replace any hyphens with underscores (`_`)." +msgstr "" -#: src/as-provided.c:150 -msgid "Fonts" -msgstr "Tipus de lletres" +#: src/as-validator-issue-tag.h:130 +msgid "" +"The component ID contains a segment starting with a number. Starting a " +"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " +"interoperability with other tools such as D-Bus. Ideally, prefix these " +"segments with an underscore." +msgstr "" -#: src/as-category.c:211 -msgctxt "Category of Addons" -msgid "Fonts" -msgstr "Tipus de lletres" +#: src/as-validator-issue-tag.h:136 +msgid "The component ID should only contain lowercase letters." +msgstr "" -#: src/as-validator-issue-tag.h:237 +#: src/as-validator-issue-tag.h:141 msgid "" -"For videos, only the WebM and Matroska (.mkv) container formats are " -"currently supported. The file extension of the referenced video does not " -"belong to either of these formats." +"The component is part of the Freedesktop project, but its ID does not start " +"with fd.o's reverse-DNS name (\"org.freedesktop\")." msgstr "" -#. TRANSLATORS: ascli flag description for: --format when validating XML files -#: tools/appstream-cli.c:131 -#, fuzzy -msgid "Format of the generated report (valid values are 'text' and 'yaml')." +#: src/as-validator-issue-tag.h:146 +msgid "" +"The component is part of the KDE project, but its ID does not start with " +"KDEs reverse-DNS name (\"org.kde\")." msgstr "" -"Format predeterminat de les metadades (els valors vàlids són 'xml' i 'yaml')." -#. TRANSLATORS: Found metainfo files in legacy directories -#: tools/ascli-actions-misc.c:138 -#, c-format -msgid "Found %i components in legacy paths." -msgstr "S'han trobat %i components als camins del llegat." +#: src/as-validator-issue-tag.h:151 +msgid "" +"The component is part of the GNOME project, but its ID does not start with " +"GNOMEs reverse-DNS name (\"org.gnome\")." +msgstr "" -#: tools/ascli-actions-misc.c:123 -#, c-format -msgid "Found %i components." -msgstr "S'han trobat %i components." +#: src/as-validator-issue-tag.h:156 +msgid "The SPDX license expression is invalid and could not be parsed." +msgstr "" -#. TRANSLATORS: 'version' is an AppStream XML property. Please do not translate it. -#: src/as-validator-issue-tag.h:260 +#: src/as-validator-issue-tag.h:161 msgid "" -"Found 'version' property on required/recommended item of a type that should " -"not have or require a version." +"The license ID was not found in the SPDX database. Please check that the " +"license ID is written in an SPDX-conformant way and is a valid free software " +"license." msgstr "" -#. TRANSLATORS: 'version' and 'compare' are AppStream XML properties. Please do not translate them. -#: src/as-validator-issue-tag.h:266 +#: src/as-validator-issue-tag.h:167 msgid "" -"Found 'version' property on this required/recommended item, but not " -"'compare' property. It is recommended to explicitly define a comparison " -"operation." +"The metadata itself seems to be licensed under a complex collection of " +"licenses. Please license the data under a simple permissive license, like " +"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " +"collections without the risk of license violations due to mutually " +"incompatible licenses." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:277 +#: src/as-validator-issue-tag.h:173 msgid "" -"Found a memory size dependency in a 'requires' tag. This means users will " -"not be able to even install the component without having enough RAM. This is " -"usually not intended and you want to use 'memory' in the 'recommends' tag " -"instead." +"The metadata itself does not seem to be licensed under a permissive license. " +"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " +"0BSD to allow distributors to include it in mixed data collections without " +"the risk of license violations due to mutually incompatible licenses." msgstr "" -#: src/as-validator-issue-tag.h:248 +#: src/as-validator-issue-tag.h:179 msgid "" -"Found an unknown tag in a requires/recommends group. This is likely an " -"error, because a component relation of this type is unknown." +"The update-contact does not appear to be a valid email address (escaping of " +"`@` is only allowed as `_at_` or `_AT_`)." msgstr "" -#: src/as-validator-issue-tag.h:427 +#: src/as-validator-issue-tag.h:184 msgid "" -"Found invalid tag. Non-standard tags should be prefixed with 'x-'. AppStream " -"also provides the tag to add arbitrary custom data to metainfo " -"files. This tag is read by AppStream libraries and may be useful instead of " -"defining new custom toplevel or 'x-'-prefixed tags if you just want to add " -"custom data to a metainfo file." +"Unable to reach the screenshot image on its remote location - does the image " +"exist?" msgstr "" -#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. -#: src/as-validator.c:526 src/as-validator.c:939 src/as-validator.c:1024 -#: src/as-validator.c:1237 -#, c-format -msgid "Found: %s - Allowed: %s" +#: src/as-validator-issue-tag.h:189 +msgid "" +"Unable to reach the screenshot video on its remote location - does the video " +"file exist?" msgstr "" -#. TRANSLATORS: this is the menu spec main category for Game -#: src/as-category.c:311 -msgid "Games" -msgstr "Jocs" - -#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command -#: tools/appstream-cli.c:814 -msgid "Generate the output in the selected format ('yaml' or 'text')." +#: src/as-validator-issue-tag.h:194 +msgid "" +"Consider using a secure (HTTPS) URL to reference this screenshot image or " +"video." msgstr "" +"Considereu d'utilitzar un URL segur (HTTPS) per a fer referència a aquesta " +"captura d'imatge o de vídeo." -#: tools/appstream-cli.c:849 -msgid "Get components which provide the given item." -msgstr "Obté els components que proporcionen un element indicat." - -#: tools/appstream-cli.c:848 -msgid "Get information about a component by its ID." -msgstr "Obté la informació sobre un component amb el seu id." - -#. TRANSLATORS: this is the menu spec main category for Graphics -#: src/as-category.c:314 -msgid "Graphics & Photography" -msgstr "Gràfics i fotografia" - -#: tools/ascli-utils.c:300 -msgid "Homepage" -msgstr "Pàgina inicial" - -#: src/as-category.c:89 -msgctxt "Category of Development" -msgid "IDEs" -msgstr "Entorns de desenvolupament integrat" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:200 +msgid "" +"A screenshot must contain at least one image or video in order to be useful. " +"Please add an to it." +msgstr "" +"Una captura de pantalla ha de contenir almenys una imatge o un vídeo per a " +"ser útil. Si us plau, afegiu-hi una ." -#: tools/ascli-utils.c:301 -msgid "Icon" -msgstr "Icona" +#: src/as-validator-issue-tag.h:205 +msgid "" +"A screenshot must contain either images or videos, but not both at the same " +"time. Please use this screenshot exclusively for either static images or for " +"videos." +msgstr "" +"Una captura de pantalla ha de contenir imatges o vídeos, però no tots dos " +"alhora. Si us plau, utilitzeu aquesta captura de pantalla exclusivament per " +"a imatges estàtiques o per a vídeos." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:351 -msgid "Icons of type 'remote' must contain an URL to the referenced icon." +#: src/as-validator-issue-tag.h:211 +msgid "The screenshot does not have a caption text. Consider adding one." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:344 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:217 msgid "" -"Icons of type 'stock' or 'cached' must not contain an URL, a full or an " -"relative path to the icon. Only file basenames or stock names are allowed." +"The screenshot video does not specify which video codec was used in a " +"`codec` property." msgstr "" -#: tools/ascli-actions-misc.c:94 -msgid "Iconsets" -msgstr "Conjunts d'icones" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:223 +msgid "" +"The screenshot video does not specify which container format was used in a " +"`container` property." +msgstr "" -#: tools/ascli-utils.c:295 -msgid "Identifier" -msgstr "Identificador" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:229 +msgid "" +"The selected video codec is not supported by AppStream and software centers " +"may not be able to play the video. Only the AV1 and VP9 codecs are currently " +"supported, using `av1` and `vp9` as values for the `codec` property." +msgstr "" -#: src/as-category.c:217 -msgctxt "Category of Addons" -msgid "Input Sources" -msgstr "Orígens d'entrada" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:236 +msgid "" +"The selected video container format is not supported by AppStream and " +"software centers may not be able to play the video. Only the WebM and " +"Matroska video containers are currently supported, using `webm` and `mkv` as " +"values for the `container` property." +msgstr "" -#: tools/appstream-cli.c:863 -msgid "Install a metadata file into the right location." -msgstr "Instal·la un fitxer de metadades al lloc correcte." +#: src/as-validator-issue-tag.h:242 +msgid "" +"For videos, only the WebM and Matroska (.mkv) container formats are " +"currently supported. The file extension of the referenced video does not " +"belong to either of these formats." +msgstr "" +"Per a vídeos, de moment només són admesos els formats contenidors WebM i " +"Matroska (.mkv). L'extensió del fitxer del vídeo en qüestió no pertany a cap " +"d'aquests formats." -#: tools/appstream-cli.c:859 -msgid "Install software matching the component-ID." -msgstr "Instal·la el programari que coincideixi amb «component-ID»." +#: src/as-validator-issue-tag.h:248 +msgid "" +"The default screenshot of a software component must not be a video. Use a " +"static image as default screenshot and set the video as a secondary " +"screenshot." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:373 +#: src/as-validator-issue-tag.h:253 msgid "" -"Invalid 'type' property for this 'url' tag. URLs of this type are not known " -"in the AppStream specification." +"Found an unknown tag in a requires/recommends group. This is likely an " +"error, because a component relation of this type is unknown." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:553 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:259 msgid "" -"Invalid tag found in collection metadata. Only 'component' tags are " -"permitted." +"A `requires` or `recommends` item requires a value to denote a valid " +"relation." msgstr "" -#: tools/ascli-actions-mdata.c:213 -msgid "Invalid type for provided item selected. Valid values are:" +#. TRANSLATORS: `version` is an AppStream XML property. Please do not translate it. +#: src/as-validator-issue-tag.h:265 +#, fuzzy +msgid "" +"Found `version` property on required/recommended item of a type that should " +"not have or require a version." msgstr "" -"Tipus no vàlid per a l'ítem proporcionat que s'ha seleccionat. Els valors " -"vàlids són:" +"S'ha trobat la propietat 'version' en l'element requerit/recomanat d'un " +"tipus que no hauria de tenir ni requerir una versió." +#. TRANSLATORS: `version` and `compare` are AppStream XML properties. Please do not translate them. #: src/as-validator-issue-tag.h:271 +#, fuzzy msgid "" -"Invalid version comparison operation on relation item. Only eq/ne/lt/gt/le/" -"ge are permitted." +"Found `version` property on this required/recommended item, but not " +"`compare` property. It is recommended to explicitly define a comparison " +"operation." msgstr "" +"S'ha trobat la propietat 'version' en aquest element requerit/recomanat, " +"però no la propietat 'compare'. Recomanem definir explícitament una operació " +"de comparació." -#: src/as-validator-issue-tag.h:450 +#: src/as-validator-issue-tag.h:276 msgid "" -"It is recommended to add a long description to this component to present it " -"better to users." +"Invalid comparison operation on relation item. Only eq/ne/lt/gt/le/ge are " +"permitted." msgstr "" -#: src/as-validator-issue-tag.h:445 +#: src/as-validator-issue-tag.h:281 msgid "" -"It would be useful to add a long description to this font to present it " -"better to users." +"The relation item has a comparison operation set, but does not support any " +"comparisons." msgstr "" -#: src/as-category.c:144 -msgctxt "Category of Games" -msgid "Kids" -msgstr "Nens" - -#: src/as-category.c:220 -msgctxt "Category of Addons" -msgid "Language Packs" -msgstr "Paquets d'idiomes" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:287 +msgid "" +"Found a memory size relation in a `requires` tag. This means users will not " +"be able to even install the component without having enough RAM. This is " +"usually not intended and you want to use `memory` in the `recommends` tag " +"instead." +msgstr "" -#: src/as-category.c:107 -msgctxt "Category of Education" -msgid "Languages" -msgstr "Idiomes" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:294 +msgid "" +"Found a user input control relation in a `requires` tag. This means users " +"will not be able to even install the component without having the defined " +"input control available on the system. This is usually not intended and you " +"want to use `control` in the `recommends` tag instead." +msgstr "" -#: src/as-provided.c:144 -msgid "Libraries" -msgstr "Biblioteques" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:301 +msgid "" +"This `control` item defines an unknown input method and is invalid. Check " +"the specification for a list of permitted values." +msgstr "" -#. license -#: tools/ascli-utils.c:363 -msgid "License" -msgstr "Llicència" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:307 +msgid "" +"This `display_length` item contains an invalid display length. Its value " +"must either be a shorthand string, or positive integer value denoting " +"logical pixels. Please refer to the AppStream specification for more " +"information on this tag." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:629 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:314 msgid "" -"Licenses for 'runtime' components are usually too complex to reflect them in " -"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " -"value for this component's 'project_license'. E.g. `LicenseRef-free=https://" -"example.com/licenses.html`" +"This `side` property of this `display_length` item contains an invalid " +"value. It must either be `shortest` or `longest`, or unset to imply " +"`shortest` to make the item value refer to either the shortest or longest " +"side of the display." msgstr "" -#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command -#: tools/appstream-cli.c:771 +#: src/as-validator-issue-tag.h:320 +#, fuzzy msgid "" -"Limit the number of release entries that end up in the metainfo file (0 for " -"unlimited)." +"The set component type is not a recognized, valid AppStream component type." msgstr "" +"El tipus de component de programari «%s» no és vàlid a AppStream. Els valors " +"possibles són:" -#: src/as-category.c:223 -msgctxt "Category of Addons" -msgid "Localization" -msgstr "Localització" +#: src/as-validator-issue-tag.h:325 +msgid "" +"The component has a priority value set. This is not allowed in metainfo " +"files." +msgstr "" -#: src/as-category.c:147 -msgctxt "Category of Games" -msgid "Logic" -msgstr "Lògica" +#: src/as-validator-issue-tag.h:330 +msgid "" +"The component has a `merge` method defined. This is not allowed in metainfo " +"files." +msgstr "" -#. TRANSLATORS: ascli flag description for: --no-cache -#: tools/appstream-cli.c:67 -msgid "Make request without any caching." -msgstr "Fes la sol·licitud sense cap emmagatzematge en memòria cau." +#: src/as-validator-issue-tag.h:335 +msgid "The component is missing an ID ( tag)." +msgstr "" -#. TRANSLATORS: ascli flag description for: --cachepath -#: tools/appstream-cli.c:57 -msgid "Manually selected location of AppStream cache." -msgstr "Ubicació seleccionada manualment de la memòria cau d'AppStream." +#: src/as-validator-issue-tag.h:340 +msgid "The component is missing a name ( tag)." +msgstr "" -#. TRANSLATORS: ascli flag description for: --datapath -#: tools/appstream-cli.c:62 -msgid "Manually selected location of AppStream metadata to scan." +#: src/as-validator-issue-tag.h:345 +msgid "The component is missing a summary ( tag)." msgstr "" -"Ubicació seleccionada manualment de les metadades d'AppStream a explorar." -#: src/as-pool.c:1280 +#: src/as-validator-issue-tag.h:350 msgid "" -"Many components have been recognized as invalid. See debug output for " -"details." +"The tag still contains a `type` property, probably from an old " +"conversion to the recent metainfo format." msgstr "" -"S'han reconegut molts components com no vàlids. Consulteu la sortida de " -"depuració per obtenir més detalls." - -#: src/as-category.c:111 -msgctxt "Category of Education" -msgid "Math" -msgstr "Matemàtiques" -#: src/as-category.c:243 -msgctxt "Category of Science" -msgid "Math" -msgstr "Matemàtiques" +#: src/as-validator-issue-tag.h:355 +msgid "" +"The `pkgname` tag appears multiple times. You should evaluate creating a " +"metapackage containing the metainfo and .desktop files in order to avoid " +"defining multiple package names per component." +msgstr "" -#: src/as-provided.c:148 -#, fuzzy -msgid "Media types" -msgstr "Tipus MIME" +#: src/as-validator-issue-tag.h:360 +msgid "The component name should (likely) not end with a dot (`.`)." +msgstr "" -#: tools/ascli-actions-mdata.c:364 -#, c-format -msgid "Metadata file '%s' does not exist." -msgstr "No existeix el fitxer de metadades «%s»." +#: src/as-validator-issue-tag.h:365 +msgid "The component summary should not end with a dot (`.`)." +msgstr "" -#: src/as-pool.c:881 -msgid "Metadata files have errors:" -msgstr "Els fitxers de metadades tenen errors:" +#: src/as-validator-issue-tag.h:370 +msgid "The component summary must not contain tabs or linebreaks." +msgstr "" -#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 -#: tools/ascli-actions-misc.c:515 -#, fuzzy, c-format -msgid "Metainfo file '%s' does not exist." -msgstr "No existeix el fitxer de metadades «%s»." +#: src/as-validator-issue-tag.h:375 +msgid "The summary must not contain any URL. Use the tags for links." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:367 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:381 msgid "" -"Metainfo files may only contain icons of type 'stock' or 'remote', the set " -"type is not allowed." +"Icons of type `stock` or `cached` must not contain an URL, a full or an " +"relative path to the icon. Only file basenames or stock names are allowed." msgstr "" -#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report -#: tools/ascli-actions-misc.c:116 -msgid "Metainfo files:" -msgstr "Fitxers Metainfo:" - -#: src/as-provided.c:152 -msgid "Modaliases" -msgstr "Modaliases" - -#: src/as-category.c:74 -msgctxt "Category of AudioVideo" -msgid "Music Players" -msgstr "Reproductors de música" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:388 +msgid "Icons of type `remote` must contain an URL to the referenced icon." +msgstr "" -#: tools/ascli-utils.c:296 -msgid "Name" -msgstr "Nom" +#: src/as-validator-issue-tag.h:393 +msgid "Unable to reach remote icon at the given web location - does it exist?" +msgstr "" -#: src/as-category.c:266 -msgctxt "Category of Communication" -msgid "News" -msgstr "Notícies" +#: src/as-validator-issue-tag.h:398 +msgid "Consider using a secure (HTTPS) URL for the remote icon link." +msgstr "" +"Considereu d'utilitzar un URL segur (HTTPS) per a l'enllaç de la icona " +"remota." -#: src/as-validator-issue-tag.h:589 -msgid "No AppStream metadata was found in this directory or directory tree." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:404 +msgid "" +"Metainfo files may only contain icons of type `stock` or `remote`, the set " +"type is not allowed." msgstr "" -#. pedantic because not everything which has metadata is an application -#: src/as-validator-issue-tag.h:594 -msgid "No XDG applications directory found." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:410 +msgid "" +"Invalid `type` property for this `url` tag. URLs of this type are not known " +"in the AppStream specification." msgstr "" -#: tools/ascli-actions-mdata.c:182 -#, c-format -msgid "No component matching '%s' found." -msgstr "No s'ha trobat cap component que coincideixi «%s»." +#: src/as-validator-issue-tag.h:415 +msgid "" +"Unable to reach remote location that this URL references - does it exist?" +msgstr "" -#: tools/ascli-actions-misc.c:105 -msgid "No icons." -msgstr "Sense icones." +#: src/as-validator-issue-tag.h:420 +msgid "Consider using a secure (HTTPS) URL for this web link." +msgstr "Considereu d'utilitzar un URL segur (HTTPS) per a aquest enllaç web." -#: tools/ascli-actions-misc.c:402 -msgid "No output filename specified, modifying metainfo file directly." +#: src/as-validator-issue-tag.h:425 +msgid "A web URL was expected for this value." msgstr "" -#: tools/ascli-actions-misc.c:306 +#: src/as-validator-issue-tag.h:430 msgid "" -"No provided binary specified in metainfo file, and no exec command specified " -"via '--exec'. Can not create 'Exec=' key." +"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." msgstr "" -#: tools/ascli-actions-misc.c:284 -msgid "No stock icon name was provided in the metainfo file. Can not continue." +#: src/as-validator-issue-tag.h:435 +msgid "The can not contain a hyperlink." msgstr "" -#: tools/ascli-actions-pkgmgr.c:53 +#: src/as-validator-issue-tag.h:440 msgid "" -"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" -"\" (part of PackageKit) is available." +"The set value is not an identifier for a desktop environment as registered " +"with Freedesktop.org." msgstr "" -"No s'ha trobat cap interfície de línia d'ordres adequada. Si us plau, " -"assegureu-vos que p. ex. «pkcon» (part de PackageKit) estigui disponible." -#: tools/ascli-actions-mdata.c:206 -msgid "No value for the item to search for was defined." -msgstr "No s'ha definit cap valor per a l'element a cercar." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:446 +msgid "This `launchable` tag has an unknown type and can not be used." +msgstr "" -#. TRANSLATORS: this is the menu spec main category for Office -#: src/as-category.c:317 -msgid "Office" -msgstr "Ofimàtica" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:452 +msgid "This `bundle` tag has an unknown type and can not be used." +msgstr "" -#. TRANSLATORS: An unknown option was passed to appstreamcli. -#: tools/appstream-cli.c:192 -#, c-format -msgid "Option '%s' is unknown." -msgstr "Es desconeix l'opció «%s»." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:458 +msgid "" +"The `update_contact` tag should not be included in collection AppStream XML." +msgstr "" -#: tools/ascli-utils.c:298 -msgid "Package" -msgstr "Paquet" +#: src/as-validator-issue-tag.h:463 +msgid "" +"This tag is a GNOME-specific extension to AppStream and not part of the " +"official specification. Do not expect it to work in all implementations and " +"in all software centers." +msgstr "" -#: src/as-category.c:171 -msgctxt "Category of Graphics" -msgid "Photography" -msgstr "Fotografia" +#: src/as-validator-issue-tag.h:469 +msgid "" +"Found invalid tag. Non-standard tags should be prefixed with `x-`. AppStream " +"also provides the tag to add arbitrary custom data to metainfo " +"files. This tag is read by AppStream libraries and may be useful instead of " +"defining new custom toplevel or `x-`-prefixed tags if you just want to add " +"custom data to a metainfo file." +msgstr "" -#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) -#: tools/appstream-cli.c:121 -#, fuzzy -msgid "Print detailed explanation for found issues." -msgstr "Imprimeix la sortida detallada quant als components trobats." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:477 +msgid "" +"The essential tag `metadata_license` is missing. A license for the metadata " +"itself always has to be defined." +msgstr "" -#. TRANSLATORS: ascli flag description for: --details -#: tools/appstream-cli.c:98 -msgid "Print detailed output about found components." -msgstr "Imprimeix la sortida detallada quant als components trobats." +#: src/as-validator-issue-tag.h:482 +msgid "" +"The component is missing a long description. Components of this type must " +"have a long description." +msgstr "" -#. project group -#: tools/ascli-utils.c:360 -msgid "Project Group" -msgstr "Grup del projecte" +#: src/as-validator-issue-tag.h:487 +msgid "" +"It would be useful to add a long description to this font to present it " +"better to users." +msgstr "" -#: tools/ascli-utils.c:405 -msgid "Provided Items" -msgstr "Elements proporcionats" +#: src/as-validator-issue-tag.h:492 +msgid "" +"It is recommended to add a long description to this component to present it " +"better to users." +msgstr "" -#: src/as-provided.c:154 -msgid "Python (Version 2)" -msgstr "Python (versió 2)" +#: src/as-validator-issue-tag.h:497 +msgid "" +"This generic component is missing a long description. It may be useful to " +"add one." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:503 +msgid "" +"Type `console-application` component, but no information about binaries in " +"$PATH was provided via a `provides/binary` tag." +msgstr "" -#: src/as-provided.c:156 -msgid "Python 3" -msgstr "Python 3" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:509 +msgid "" +"This `web-application` component is missing a `launchable` tag of type `url`." +msgstr "" -#: tools/appstream-cli.c:854 -msgid "Rebuild the component metadata cache." -msgstr "Reconstrueix la memòria cau de les metadades del component." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:515 +msgid "" +"This `web-application` component is missing a `icon` tag to specify a valid " +"icon." +msgstr "" -#: tools/appstream-cli.c:860 -msgid "Remove software matching the component-ID." -msgstr "Suprimeix el programari que coincideixi amb «component-ID»." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:521 +msgid "" +"This `web-application` component is missing categorizations. A `categories` " +"block is likely missing." +msgstr "" -#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty -#: src/as-validator.c:364 -msgid "Retrieved file size was zero." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:527 +msgid "" +"Type `font` component, but no font information was provided via a `provides/" +"font` tag." msgstr "" -#: src/as-category.c:248 -msgctxt "Category of Science" -msgid "Robotics" -msgstr "Robòtica" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:533 +msgid "" +"Type `driver` component, but no modalias information was provided via a " +"`provides/modalias` tag." +msgstr "" -#: src/as-category.c:150 -msgctxt "Category of Games" -msgid "Role Playing" -msgstr "Jocs de rol" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:539 +#, fuzzy +msgid "" +"An `extends` tag is specified, but the component is not of type `addon`, " +"`localization` or `repository`." +msgstr "" +"S'ha especificat una etiqueta 'extends', però el component no és el tipus " +"'addon', 'localization' o 'repository'." -#: tools/appstream-cli.c:196 tools/appstream-cli.c:926 -#, c-format -msgid "Run '%s --help' to see a full list of available command line options." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:545 +msgid "The component is an addon, but no `extends` tag was specified." msgstr "" -"Executeu «%s --help» per veure una llista completa de les opcions " -"disponibles de la línia d'ordres." -#: tools/appstream-cli.c:198 -#, c-format +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:551 msgid "" -"Run '%s --help' to see a list of available commands and options, and '%s %s " -"--help' to see a list of options specific for this subcommand." +"This `localization` component is missing an `extends` tag, to specify the " +"components it adds localization to." msgstr "" -"Executeu «%s --help» per veure una llista completa de les ordres i opcions " -"disponibles, i «%s %s --help» per veure les opcions específiques per a " -"aquesta subordre." -#: src/as-provided.c:162 -msgid "Runtime Firmware" -msgstr "Microprogramari en temps d'execució" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:557 +msgid "" +"This `localization` component does not define any languages this " +"localization is for." +msgstr "" -#: src/as-category.c:174 -msgctxt "Category of Graphics" -msgid "Scanning" -msgstr "Escaneig" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:563 +msgid "" +"This `service` component is missing a `launchable` tag of type `service`." +msgstr "" -#. TRANSLATORS: this is the menu spec main category for Science -#: src/as-category.c:323 -msgid "Science" -msgstr "Ciència" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:569 +msgid "" +"Suggestions of any type other than `upstream` are not allowed in metainfo " +"files." +msgstr "" -#: tools/appstream-cli.c:847 -msgid "Search the component database." -msgstr "Cerca a la base de dades de components." +#: src/as-validator-issue-tag.h:574 +msgid "" +"The category name is not valid. Refer to the XDG Menu Specification for a " +"list of valid category names." +msgstr "" -#: src/as-category.c:293 -msgctxt "Category of Utility" -msgid "Security" -msgstr "Seguretat" +#: src/as-validator-issue-tag.h:579 +msgid "The screenshot caption is too long (should be <= 80 characters)" +msgstr "" -#. TRANSLATORS: ascli flag description for: --verbose -#: tools/appstream-cli.c:903 -msgid "Show extra debugging information." -msgstr "Mostra informació extra de depuració." +#: src/as-validator-issue-tag.h:584 +#, fuzzy +msgid "Unable to read file." +msgstr "No es pot llegir el fitxer .desktop: %s" -#. TRANSLATORS: ascli flag description for: --version -#: tools/appstream-cli.c:897 -msgid "Show the program version." -msgstr "Mostra la versió de l'aplicació." +#: src/as-validator-issue-tag.h:589 +msgid "The XML of this file is malformed." +msgstr "" -#: src/as-validator-issue-tag.h:635 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:595 msgid "" -"Since a 'runtime' component is comprised of multiple other software " -"components, their component-IDs may be listed in a `` section for " -"this runtime." +"Invalid tag found in collection metadata. Only `component` tags are " +"permitted." msgstr "" -#: src/as-category.c:153 -msgctxt "Category of Games" -msgid "Sports" -msgstr "Esports" - -#: src/as-category.c:157 -msgctxt "Category of Games" -msgid "Strategy" -msgstr "Estratègia" - -#. these are commands we can use with appstreamcli -#: tools/appstream-cli.c:845 -msgid "Subcommands:" -msgstr "Subordres:" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:601 +msgid "" +"The metainfo file uses an ancient version of the AppStream specification, " +"which can not be validated. Please migrate it to version 0.6 (or higher)." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:527 +#: src/as-validator-issue-tag.h:606 msgid "" -"Suggestions of any type other than 'upstream' are not allowed in metainfo " -"files." +"This XML document has an unknown root tag. Maybe this file is not a metainfo " +"document?" msgstr "" -#: tools/ascli-utils.c:297 -msgid "Summary" -msgstr "Resum" +#: src/as-validator-issue-tag.h:611 +#, fuzzy +msgid "The metainfo filename does not match the component ID." +msgstr "Suprimeix el programari que coincideixi amb «component-ID»." -#. TRANSLATORS: Status summary in ascli -#: tools/ascli-actions-misc.c:145 -msgid "Summary:" -msgstr "Resum:" +#: src/as-validator-issue-tag.h:616 +#, fuzzy +msgid "Unable to read the .desktop file associated with this component." +msgstr "No es pot llegir el fitxer .desktop: %s" -#: src/as-category.c:290 -msgctxt "Category of Utility" -msgid "System Monitoring" -msgstr "Monitoratge del sistema" +#: src/as-validator-issue-tag.h:621 +msgid "This component metadata refers to a non-existing .desktop file." +msgstr "" -#: src/as-validator-issue-tag.h:46 -msgid "Tags of this name are not permitted in this section." +#: src/as-validator-issue-tag.h:626 +msgid "" +"The category defined in the .desktop file is not valid. Refer to the XDG " +"Menu Specification for a list of valid categories." msgstr "" -#: src/as-category.c:284 -msgctxt "Category of Utility" -msgid "Terminal Emulators" -msgstr "Emuladors de terminals" +#: src/as-validator-issue-tag.h:631 +msgid "No AppStream metadata was found in this directory or directory tree." +msgstr "" -#: src/as-category.c:281 -msgctxt "Category of Utility" -msgid "Text Editors" -msgstr "Editors de text" +#. pedantic because not everything which has metadata is an application +#: src/as-validator-issue-tag.h:636 +msgid "No XDG applications directory found." +msgstr "" -#: src/as-validator-issue-tag.h:318 +#: src/as-validator-issue-tag.h:641 msgid "" -"The 'pkgname' tag appears multiple times. You should evaluate creating a " -"metapackage containing the metainfo and .desktop files in order to avoid " -"defining multiple package names per component." +"The metainfo file is stored in a legacy path. Please place it in `/usr/share/" +"metainfo/`." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:416 +#: src/as-validator-issue-tag.h:646 +msgid "The metainfo file specifies multiple components. This is not allowed." +msgstr "" + +#: src/as-validator-issue-tag.h:651 msgid "" -"The 'update_contact' tag should not be included in collection AppStream XML." +"The releases are not sorted in a latest to oldest version order. This is " +"required as some tools will assume that the latest version is always at the " +"top. Sorting releases also increases overall readability of the metainfo " +"file." msgstr "" -#: tools/ascli-actions-mdata.c:467 -#, c-format -msgid "The .desktop file '%s' does not exist." -msgstr "No existeix el fitxer .desktop «%s»." +#: src/as-validator-issue-tag.h:658 +msgid "The value set as release urgency is not a known urgency value." +msgstr "" -#: src/as-validator-issue-tag.h:393 -msgid "The can not contain a hyperlink." +#: src/as-validator-issue-tag.h:663 +msgid "The value set as release type is invalid." msgstr "" -#: src/as-validator-issue-tag.h:313 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:669 msgid "" -"The tag still contains a 'type' property, probably from an old " -"conversion to the recent metainfo format." +"The value set as artifact type is invalid. Must be either `source` or " +"`binary`." msgstr "" -#: src/as-validator-issue-tag.h:616 -msgid "" -"The AppStream specification requires a complete, ISO 8601 date string with " -"at least day-granularity to denote dates. Please ensure the date string is " -"valid." +#: src/as-validator-issue-tag.h:674 +msgid "The value set as artifact bundle type is invalid." msgstr "" -#: src/as-pool.c:1924 -#, fuzzy, c-format +#: src/as-validator-issue-tag.h:679 msgid "" -"The AppStream system cache was updated, but problems were found which " -"resulted in metadata being ignored: %s" +"The platform triplet for this release is invalid. It must be in the form of " +"`architecture-oskernel-osenv` - refer to the AppStream documentation or " +"information on normalized GNU triplets for more information and valid fields." msgstr "" -"S'ha actualitzat la memòria cau de sistema d'AppStream, però s'han trobat " -"problemes: %s" -#: src/as-pool.c:1922 -#, fuzzy -msgid "" -"The AppStream system cache was updated, but some components were ignored. " -"Refer to the verbose log for more information." +#: src/as-validator-issue-tag.h:686 +msgid "The selected checksumming algorithm is unsupported or unknown." msgstr "" -"S'ha actualitzat la memòria cau del sistema d'AppStream, però s'han detectat " -"alguns errors, aquests errors poden provocar la pèrdua de metadades. " -"Consulteu el registre per obtenir informació més detallada." -#: src/as-validator-issue-tag.h:151 -msgid "The SPDX license expression is invalid and could not be parsed." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:692 +msgid "The size type is unknown. Must be `download` or `installed`." msgstr "" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows -#: tools/appstream-cli.c:683 -#, c-format -msgid "The TYPE must be a valid component-type, such as: %s" -msgstr "El TIPUS ha de ser un tipus de component vàlid, com ara: %s" +#: src/as-validator-issue-tag.h:697 +msgid "" +"The artifact filename must be a file basename, not a (relative or absolute) " +"path." +msgstr "" -#: src/as-validator-issue-tag.h:547 -msgid "The XML of this file is malformed." +#: src/as-validator-issue-tag.h:702 +msgid "The value set as release issue type is invalid." msgstr "" -#: src/as-validator-issue-tag.h:584 +#: src/as-validator-issue-tag.h:707 msgid "" -"The category defined in the .desktop file is not valid. Refer to the XDG " -"Menu Specification for a list of valid categories." +"The issue is tagged at security vulnerability with a CVE number, but its " +"value does not look like a valid CVE identifier." msgstr "" -#: src/as-validator-issue-tag.h:532 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:713 msgid "" -"The category name is not valid. Refer to the XDG Menu Specification for a " -"list of valid category names." +"This component is missing information about releases. Consider adding a " +"`releases` tag to describe releases and their changes." msgstr "" -#: src/as-validator-issue-tag.h:124 +#: src/as-validator-issue-tag.h:718 msgid "" -"The component ID contains a hyphen/minus. Using a hyphen is strongly " -"discouraged, to improve interoperability with other tools such as D-Bus. A " -"good option is to replace any hyphens with underscores ('_')." +"The AppStream specification requires a complete, ISO 8601 date string with " +"at least day-granularity to denote dates. Please ensure the date string is " +"valid." msgstr "" -#: src/as-validator-issue-tag.h:130 +#: src/as-validator-issue-tag.h:724 msgid "" -"The component ID contains a segment starting with a number. Starting a " -"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " -"interoperability with other tools such as D-Bus. Ideally, prefix these " -"segments with an underscore." +"This component extends, provides, requires or recommends itself, which is " +"certainly not intended and may confuse users or machines dealing with this " +"metadata." msgstr "" -#: src/as-validator-issue-tag.h:119 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:731 msgid "" -"The component ID contains an invalid character. Only ASCII characters, dots " -"and numbers are permitted." +"Licenses for `runtime` components are usually too complex to reflect them in " +"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " +"value for this component's `project_license`. E.g. `LicenseRef-free=https://" +"example.com/licenses.html`" msgstr "" -#: src/as-validator-issue-tag.h:106 +#: src/as-validator-issue-tag.h:737 msgid "" -"The component ID is not a reverse domain-name. Please update the ID to avoid " -"future issues and be compatible with all AppStream implementations.\n" -"You may also consider to update the name of the accompanying .desktop file " -"to follow the latest version of the Desktop-Entry specification and use a " -"rDNS name for it as well. In any case, do not forget to mention the new " -"desktop-entry in a tag for this component to keep the " -"application launchable from software centers and the .desktop file data " -"associated with the metainfo data." +"Since a `runtime` component is comprised of multiple other software " +"components, their component-IDs may be listed in a `` section for " +"this runtime." msgstr "" -#: src/as-validator-issue-tag.h:101 +#: src/as-validator-issue-tag.h:742 msgid "" -"The component ID is required to follow a reverse domain-name scheme for its " -"name. See the AppStream specification for details." +"The type of the item that the component provides is not known to AppStream." msgstr "" -#: src/as-validator-issue-tag.h:114 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:748 msgid "" -"The component ID might not follow the reverse domain-name schema (the TLD " -"used by it is not known to the validator)." +"The toplevel `mimetypes` tag is deprecated. Please use `mediatype` tags in a " +"`provides` block instead to indicate that your software provides a media " +"handler for the given types." msgstr "" -#: src/as-validator-issue-tag.h:293 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks) and keep the URL intact. +#: src/as-validator-issue-tag.h:755 msgid "" -"The component has a 'merge' method defined. This is not allowed in metainfo " -"files." +"This component has no `content_rating` tag to provide age rating " +"information. You can generate the tag data online by answering a few " +"questions at https://hughsie.github.io/oars/" msgstr "" -#: src/as-validator-issue-tag.h:288 +#: src/as-validator.c:150 msgid "" -"The component has a priority value set. This is not allowed in metainfo " -"files." +"The emitted issue tag is unknown in the tag registry of AppStream. This is a " +"bug in the validator itself, please report this issue in our bugtracker." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:503 -msgid "The component is an addon, but no 'extends' tag was specified." +#: src/as-validator.c:344 +msgid "URL format is invalid." msgstr "" -#: src/as-validator-issue-tag.h:440 -msgid "" -"The component is missing a long description. Components of this type must " -"have a long description." +#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. +#: src/as-validator.c:522 src/as-validator.c:937 src/as-validator.c:1031 +#: src/as-validator.c:1428 src/as-validator.c:1448 src/as-validator.c:1481 +#, c-format +msgid "Found: %s - Allowed: %s" msgstr "" -#: src/as-validator-issue-tag.h:303 -msgid "The component is missing a name ( tag)." +#. TRANSLATORS: ascompose flag description for: --verbose +#: tools/appstream-compose.c:181 +#, fuzzy +msgid "Show extra debugging information" +msgstr "Mostra informació extra de depuració." + +#. TRANSLATORS: ascompose flag description for: --no-color +#. TRANSLATORS: ascli flag description for: --no-color +#: tools/appstream-compose.c:184 tools/appstreamcli.c:1087 +msgid "Don't show colored output." +msgstr "No mostris la sortida amb colors." + +#. TRANSLATORS: ascompose flag description for: --version +#. TRANSLATORS: ascli flag description for: --version +#: tools/appstream-compose.c:187 tools/appstreamcli.c:1076 +msgid "Show the program version." +msgstr "Mostra la versió de l'aplicació." + +#. TRANSLATORS: ascompose flag description for: --full-report +#: tools/appstream-compose.c:190 +msgid "Set mode of the issue report that is printed to the console" msgstr "" -#: src/as-validator-issue-tag.h:308 -msgid "The component is missing a summary ( tag)." +#. TRANSLATORS: ascompose flag description for: --prefix +#: tools/appstream-compose.c:193 +msgid "Override the default prefix (`/usr` by default)" msgstr "" -#: src/as-validator-issue-tag.h:298 -msgid "The component is missing an ID ( tag)." +#. TRANSLATORS: ascompose flag description for: --result-root +#: tools/appstream-compose.c:196 +msgid "Set the result output directory" msgstr "" -#: src/as-validator-issue-tag.h:136 -msgid "" -"The component is part of the Freedesktop project, but its ID does not start " -"with fd.o's reverse-DNS name (\"org.freedesktop\")." +#. TRANSLATORS: ascompose flag description for: --data-dir, `collection metadata` is an AppStream term +#: tools/appstream-compose.c:199 +msgid "Override the collection metadata output directory" msgstr "" -#: src/as-validator-issue-tag.h:146 -msgid "" -"The component is part of the GNOME project, but its ID does not start with " -"GNOMEs reverse-DNS name (\"org.gnome\")." +#. TRANSLATORS: ascompose flag description for: --icons-dir +#: tools/appstream-compose.c:202 +msgid "Override the icon output directory" msgstr "" -#: src/as-validator-issue-tag.h:141 +#. TRANSLATORS: ascompose flag description for: --media-dir +#: tools/appstream-compose.c:205 msgid "" -"The component is part of the KDE project, but its ID does not start with " -"KDEs reverse-DNS name (\"org.kde\")." +"Set the media output directory (for media data to be served by a webserver)" msgstr "" -#: src/as-validator-issue-tag.h:323 -msgid "The component name should (likely) not end with a dot ('.')." +#. TRANSLATORS: ascompose flag description for: --hints-dir +#: tools/appstream-compose.c:208 +msgid "Set a directory where HTML and text issue reports will be stored" msgstr "" -#: src/as-validator-issue-tag.h:333 -msgid "The component summary must not contain tabs or linebreaks." +#. TRANSLATORS: ascompose flag description for: --origin +#. TRANSLATORS: ascompose flag description for: --media-baseurl +#: tools/appstream-compose.c:211 tools/appstream-compose.c:214 +msgid "Set the origin name" msgstr "" -#: src/as-validator-issue-tag.h:328 -msgid "The component summary should not end with a dot ('.')." +#. TRANSLATORS: ascompose flag description for: --components +#: tools/appstream-compose.c:217 +msgid "A comma-separated list of component-IDs to accept" msgstr "" -#: src/as-validator-issue-tag.h:243 -msgid "" -"The default screenshot of a software component must not be a video. Use a " -"static image as default screenshot and set the video as a secondary " -"screenshot." +#. TRANSLATORS: error message +#: tools/appstream-compose.c:231 +msgid "Failed to parse arguments" msgstr "" -#: src/as-validator-issue-tag.h:86 +#. TRANSLATORS: Output if appstreamcli --version is executed. +#: tools/appstream-compose.c:242 tools/appstreamcli.c:1230 +#, c-format +msgid "AppStream version: %s" +msgstr "Versió d'AppStream: %s" + +#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. +#: tools/appstream-compose.c:245 tools/appstreamcli.c:1233 +#, c-format msgid "" -"The description contains a web URL in plain text. This is not allowed, " -"please use the tag instead to share links." +"AppStream CLI tool version: %s\n" +"AppStream library version: %s" msgstr "" +"Versió de l'eina de la interfície de línia d'ordres d'AppStream: %s\n" +"Versió de la biblioteca d'AppStream: %s" -#: src/as-validator.c:152 +#. TRANSLATORS: invalid value for the --print-report CLI option +#: tools/appstream-compose.c:264 +#, c-format msgid "" -"The emitted issue tag is unknown in the tag registry of AppStream. This is a " -"bug in the validator itself, please report this issue in our bugtracker." +"Invalid value for `--print-report` option: %s\n" +"Possible values are:\n" +"`on-error` - only prints a short report if the run failed (default)\n" +"`short` - generates an abridged report\n" +"`full` - a detailed report will be printed" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:435 -msgid "" -"The essential tag 'metadata_license' is missing. A license for the metadata " -"itself always has to be defined." +#: tools/appstream-compose.c:285 +#, c-format +msgid "Automatically selected '%s' as data output location." msgstr "" -#: src/as-validator-issue-tag.h:79 -msgid "" -"The first 'description/p' paragraph of this component might be too short (< " -"80 characters). Please consider starting with a longer paragraph to improve " -"how the description looks like in software centers and to provide more " -"detailed information on this component immediately in the first paragraph." +#. TRANSLATORS: we don't have a destination directory for compose +#: tools/appstream-compose.c:288 +msgid "No destination directory set, please provide a data output location!" msgstr "" -#: src/as-validator-issue-tag.h:156 -msgid "" -"The license ID was not found in the SPDX database. Please check that the " -"license ID is written in an SPDX-conformant way and is a valid free software " -"license." +#: tools/appstream-compose.c:298 tools/appstream-compose.c:300 +msgid "WARNING" msgstr "" -#: src/as-validator-issue-tag.h:96 -msgid "" -"The mentioned tag is empty, which is highly likely not intended as it should " -"have content." +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:337 +#, c-format +msgid "Only accepting components: %s" msgstr "" -#: src/as-validator-issue-tag.h:168 -msgid "" -"The metadata itself does not seem to be licensed under a permissive license. " -"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " -"0BSD to allow distributors to include it in mixed data collections without " -"the risk of license violations due to mutually incompatible licenses." +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:340 +#, c-format +msgid "Only accepting component: %s" msgstr "" -#: src/as-validator-issue-tag.h:162 -msgid "" -"The metadata itself seems to be licensed under a complex collection of " -"licenses. Please license the data under a simple permissive license, like " -"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " -"collections without the risk of license violations due to mutually " -"incompatible licenses." +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:345 +msgid "Processing directories:" msgstr "" -#: src/as-validator-issue-tag.h:599 -msgid "" -"The metainfo file is stored in a legacy path. Please place it in '/usr/share/" -"metainfo'." +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:348 +msgid "Processing directory:" msgstr "" -#: src/as-validator-issue-tag.h:604 -msgid "The metainfo file specifies multiple components. This is not allowed." +#. TRANSLATORS: error message +#: tools/appstream-compose.c:357 +msgid "Can not process invalid directory" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:559 -msgid "" -"The metainfo file uses an ancient version of the AppStream specification, " -"which can not be validated. Please migrate it to version 0.6 (or higher)." +#. TRANSLATORS: information message +#: tools/appstream-compose.c:369 +msgid "Composing metadata..." msgstr "" -#: src/as-validator-issue-tag.h:569 +#. TRANSLATORS: error message +#: tools/appstream-compose.c:374 #, fuzzy -msgid "The metainfo filename does not match the component ID." -msgstr "Suprimeix el programari que coincideixi amb «component-ID»." +msgid "Failed to compose AppStream metadata" +msgstr "Una utilitat per treballar amb les metadades AppStream" -#: src/as-validator-issue-tag.h:609 -msgid "" -"The releases are not sorted in a latest to oldest version order. This is " -"required as some tools will assume that the latest version is always at the " -"top. Sorting releases also increases overall readability of the metainfo " -"file." +#. TRANSLATORS: appstream-compose failed to include all data +#: tools/appstream-compose.c:380 +msgid "Run failed, some data was ignored." msgstr "" -#: src/as-validator-issue-tag.h:537 -msgid "The screenshot caption is too long (should be <= 80 characters)" +#. TRANSLATORS: information message of appstream-compose +#: tools/appstream-compose.c:382 +msgid "Errors were raised during this compose run:" msgstr "" -#: src/as-validator-issue-tag.h:206 -msgid "The screenshot does not have a caption text. Consider adding one." +#: tools/appstream-compose.c:383 +msgid "" +"Refer to the generated issue report data for details on the individual " +"problems." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:218 -msgid "" -"The screenshot video does not specify which container format was used in a " -"'container' property." +#: tools/appstream-compose.c:386 +msgid "Overview of generated hints:" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:212 -msgid "" -"The screenshot video does not specify which video codec was used in a " -"'codec' property." +#. TRANSLATORS: information message +#: tools/appstream-compose.c:388 +msgid "Success!" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:224 -msgid "" -"The selected video codec is not supported by AppStream and software centers " -"may not be able to play the video. Only the AV1 and VP9 codecs are currently " -"supported, using 'av1' and 'vp9' as values for the 'codec' property." +#. TRANSLATORS: ascli flag description for: --cachepath +#: tools/appstreamcli.c:59 +msgid "Manually selected location of AppStream cache." +msgstr "Ubicació seleccionada manualment de la memòria cau d'AppStream." + +#. TRANSLATORS: ascli flag description for: --datapath +#: tools/appstreamcli.c:64 +msgid "Manually selected location of AppStream metadata to scan." msgstr "" +"Ubicació seleccionada manualment de les metadades d'AppStream a explorar." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:231 -msgid "" -"The selected video container format is not supported by AppStream and " -"software centers may not be able to play the video. Only the WebM and " -"Matroska video containers are currently supported, using 'webm' and 'mkv' as " -"values for the 'container' property." +#. TRANSLATORS: ascli flag description for: --no-cache +#: tools/appstreamcli.c:69 +msgid "Make request without any caching." +msgstr "Fes la sol·licitud sense cap emmagatzematge en memòria cau." + +#. TRANSLATORS: ascli flag description for: --format +#: tools/appstreamcli.c:85 +msgid "Default metadata format (valid values are 'xml' and 'yaml')." msgstr "" +"Format predeterminat de les metadades (els valors vàlids són 'xml' i 'yaml')." + +#. TRANSLATORS: ascli flag description for: --details +#: tools/appstreamcli.c:100 +msgid "Print detailed output about found components." +msgstr "Imprimeix la sortida detallada quant als components trobats." -#: src/as-validator-issue-tag.h:283 +#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) +#: tools/appstreamcli.c:118 +msgid "Also show pedantic hints." +msgstr "Mostra també els consells redundants." + +#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) +#: tools/appstreamcli.c:123 #, fuzzy -msgid "" -"The set component type is not a recognized, valid AppStream component type." -msgstr "" -"El tipus de component de programari «%s» no és vàlid a AppStream. Els valors " -"possibles són:" +msgid "Print detailed explanation for found issues." +msgstr "Imprimeix la sortida detallada quant als components trobats." -#: src/as-validator-issue-tag.h:398 -msgid "" -"The set value is not an identifier for a desktop environment as registered " -"with Freedesktop.org." +#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) +#: tools/appstreamcli.c:128 +msgid "Do not use network access." +msgstr "No utilitzis l'accés a la xarxa." + +#. TRANSLATORS: ascli flag description for: --format when validating XML files +#: tools/appstreamcli.c:133 +msgid "Format of the generated report (valid values are 'text' and 'yaml')." +msgstr "Format de l'informe generat (els valors vàlids són 'text' i 'yaml')." + +#. TRANSLATORS: This is the header to the --help menu for subcommands +#. TRANSLATORS: This is the header to the --help menu +#: tools/appstreamcli.c:153 tools/appstreamcli.c:981 +msgid "AppStream command-line interface" +msgstr "Interfície de línia d'ordres d'AppStream" + +#: tools/appstreamcli.c:156 +#, c-format +msgid "'%s' command" +msgstr "Ordre «%s»" + +#. TRANSLATORS: An unknown option was passed to appstreamcli. +#: tools/appstreamcli.c:191 +#, c-format +msgid "Option '%s' is unknown." +msgstr "Es desconeix l'opció «%s»." + +#: tools/appstreamcli.c:195 tools/appstreamcli.c:1207 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options." msgstr "" +"Executeu «%s --help» per veure una llista completa de les opcions " +"disponibles de la línia d'ordres." -#: tools/ascli-actions-mdata.c:449 +#: tools/appstreamcli.c:197 #, c-format msgid "" -"The software component type '%s' is not valid in AppStream. Possible values " -"are:" +"Run '%s --help' to see a list of available commands and options, and '%s %s " +"--help' to see a list of options specific for this subcommand." msgstr "" -"El tipus de component de programari «%s» no és vàlid a AppStream. Els valors " -"possibles són:" +"Executeu «%s --help» per veure una llista completa de les ordres i opcions " +"disponibles, i «%s %s --help» per veure les opcions específiques per a " +"aquesta subordre." -#: src/as-validator-issue-tag.h:338 -msgid "The summary must not contain any URL. Use the tags for links." +#. TRANSLATORS: ascli flag description for: --force +#: tools/appstreamcli.c:245 +msgid "Enforce a cache refresh." +msgstr "Força una actualització de la memòria cau." + +#. TRANSLATORS: ascli flag description for: --user +#: tools/appstreamcli.c:251 +msgid "Update the user-specific instead of the system-wide cache." msgstr "" -#: src/as-validator-issue-tag.h:640 -msgid "" -"The type of the item that the component provides is not known to AppStream." +#. TRANSLATORS: ascli flag description for: --origin (part of the "put" subcommand) +#: tools/appstreamcli.c:477 +msgid "Set the data origin for the installed metadata collection file." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --user (part of the "put" subcommand) +#: tools/appstreamcli.c:482 +msgid "Install the file for the current user, instead of globally." msgstr "" -#: src/as-validator-issue-tag.h:174 +#: tools/appstreamcli.c:631 msgid "" -"The update-contact does not appear to be a valid email address (escaping of " -"'@' is only allowed as '_at_' or '_AT_')." +"You need to provide at least two version numbers to compare as parameters." msgstr "" +"Heu de proporcionar almenys dos números de versió per comparar-los com a " +"paràmetres." -#: tools/ascli-actions-validate.c:363 tools/ascli-actions-validate.c:492 +#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. +#: tools/appstreamcli.c:660 #, c-format +msgid "Unknown compare relation '%s'. Valid values are:" +msgstr "Relació de comparació desconeguda «%s». Els valors vàlids són:" + +#: tools/appstreamcli.c:700 msgid "" -"The validator can not create reports in the '%s' format. You may select " -"'yaml' or 'text' instead." +"Too many parameters: Need two version numbers or version numbers and a " +"comparison operator." msgstr "" +"Massa paràmetres: necessiteu dos números de versió o números de versió i un " +"operador de comparació." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:410 -msgid "This 'bundle' tag has an unknown type and can not be used." +#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) +#: tools/appstreamcli.c:726 +msgid "" +"Use the given .desktop file to fill in the basic values of the metainfo file." msgstr "" +"Utilitza el fitxer .desktop que s'indica com a base per omplir els valors " +"del fitxer metainfo." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:404 -msgid "This 'launchable' tag has an unknown type and can not be used." +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand +#: tools/appstreamcli.c:731 +msgid "" +"This command takes optional TYPE and FILE positional arguments, FILE being a " +"file to write to (or \"-\" for standard output)." msgstr "" +"Aquesta ordre pren els arguments posicionals i opcionals TIPUS i FITXER, " +"FITXER és un fitxer on s'hi escriu (o \"-\" per a la sortida estàndard)." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:515 -msgid "" -"This 'localization' component does not define any languages this " -"localization is for." +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows +#: tools/appstreamcli.c:734 +#, c-format +msgid "The TYPE must be a valid component-type, such as: %s" +msgstr "El TIPUS ha de ser un tipus de component vàlid, com ara: %s" + +#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) +#: tools/appstreamcli.c:775 +msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:509 -msgid "" -"This 'localization' component is missing an 'extends' tag, to specify the " -"components it adds localization to." +#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command +#: tools/appstreamcli.c:815 +msgid "Assume the input file is in the selected format ('yaml' or 'text')." msgstr "" +"Assumiu que l'arxiu d'entrada està en el format seleccionat ('yalm' o " +"'text')." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:521 +#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command +#: tools/appstreamcli.c:820 msgid "" -"This 'service' component is missing a 'launchable' tag of type 'service'." +"Limit the number of release entries that end up in the metainfo file (0 for " +"unlimited)." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:473 -msgid "" -"This 'web-application' component is missing a 'icon' tag to specify a valid " -"icon." +#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command +#: tools/appstreamcli.c:862 +msgid "Generate the output in the selected format ('yaml' or 'text')." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:467 -msgid "" -"This 'web-application' component is missing a 'launchable' tag of type 'url'." +#: tools/appstreamcli.c:894 +#, c-format +msgid "Compose binary '%s' was not found! Can not continue." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:479 -msgid "" -"This 'web-application' component is missing categorizations. A 'categories' " -"block is likely missing." +#. TRANSLATORS: this is a (usually shorter) command alias, shown after the command summary text +#: tools/appstreamcli.c:956 +#, c-format +msgid "(Alias: '%s')" msgstr "" -#: src/as-validator-issue-tag.h:564 +#. these are commands we can use with appstreamcli +#: tools/appstreamcli.c:983 +msgid "Subcommands:" +msgstr "Subordres:" + +#: tools/appstreamcli.c:1029 msgid "" -"This XML document has an unknown root tag. Maybe this file is not a metainfo " -"document?" +"You can find information about subcommand-specific options by passing \"--" +"help\" to the subcommand." msgstr "" +"Podeu trobar informació sobre les opcions específiques de la subordre en " +"passar \"--help\" a la subordre." -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand -#: tools/appstream-cli.c:680 +#. TRANSLATORS: ascli has been run with unknown command. '%s --help' is the command to receive help and should not be translated. +#: tools/appstreamcli.c:1052 +#, fuzzy, c-format msgid "" -"This command takes optional TYPE and FILE positional arguments, FILE being a " -"file to write to (or \"-\" for standard output)." +"Command '%s' is unknown. Run '%s --help' for a list of available commands." msgstr "" -"Aquesta ordre pren els arguments posicionals i opcionals TIPUS i FITXER, " -"FITXER és un fitxer on s'hi escriu (o \"-\" per a la sortida estàndard)." +"Executeu «%s --help» per veure una llista completa de les opcions " +"disponibles de la línia d'ordres." + +#. TRANSLATORS: ascli flag description for: --verbose +#: tools/appstreamcli.c:1082 +msgid "Show extra debugging information." +msgstr "Mostra informació extra de depuració." + +#. TRANSLATORS: ascli flag description for: --profile +#: tools/appstreamcli.c:1090 +msgid "Enable profiling" +msgstr "" + +#. TRANSLATORS: `appstreamcli search` command description. +#: tools/appstreamcli.c:1102 +msgid "Search the component database." +msgstr "Cerca a la base de dades de components." + +#. TRANSLATORS: `appstreamcli get` command description. +#: tools/appstreamcli.c:1107 +msgid "Get information about a component by its ID." +msgstr "Obté la informació sobre un component amb el seu id." -#: src/as-validator-issue-tag.h:622 +#. TRANSLATORS: `appstreamcli what-provides` command description. +#: tools/appstreamcli.c:1112 msgid "" -"This component extends, provides, requires or recommends itself, which is " -"certainly not intended and may confuse users or machines dealing with this " -"metadata." +"Get components which provide the given item. Needs an item type (e.g. lib, " +"bin, python3, …) and item value as parameter." msgstr "" -#: src/as-validator-issue-tag.h:579 -msgid "This component metadata refers to a non-existing .desktop file." +#. TRANSLATORS: `appstreamcli dump` command description. +#: tools/appstreamcli.c:1118 +msgid "Dump raw XML metadata for a component matching the ID." msgstr "" +"Bolca les metadades XML en pla per a un component que coincideixi amb l'id." -#: src/as-validator-issue-tag.h:69 -msgid "" -"This description paragraph contains invalid markup. Currently, only " -"and are permitted." -msgstr "" +#. TRANSLATORS: `appstreamcli refresh-cache` command description. +#: tools/appstreamcli.c:1123 +msgid "Rebuild the component metadata cache." +msgstr "Reconstrueix la memòria cau de les metadades del component." -#: src/as-validator-issue-tag.h:57 -msgid "" -"This element (paragraph, list, etc.) of a tag must not be " -"localized individually in collection metadata. Localize the whole " -" tag instead. The AppStream collection metadata generator (e." -"g. `appstream-generator`) will already do the right thing when compiling the " -"data." +#. TRANSLATORS: `appstreamcli validate` command description. +#: tools/appstreamcli.c:1129 +msgid "Validate AppStream XML files for issues." +msgstr "Valida els fitxers XML d'AppStream per incidències." + +#. TRANSLATORS: `appstreamcli validate-tree` command description. +#: tools/appstreamcli.c:1134 +msgid "Validate an installed file-tree of an application for valid metadata." msgstr "" +"Valida un arbre de fitxers instal·lats d'una aplicació per validar-ne les " +"metadades." -#: src/as-validator-issue-tag.h:455 -msgid "" -"This generic component is missing a long description. It may be useful to " -"add one." +#. TRANSLATORS: `appstreamcli install` command description. +#: tools/appstreamcli.c:1140 +msgid "Install software matching the component-ID." +msgstr "Instal·la el programari que coincideixi amb «component-ID»." + +#. TRANSLATORS: `appstreamcli remove` command description. +#: tools/appstreamcli.c:1145 +msgid "Remove software matching the component-ID." +msgstr "Suprimeix el programari que coincideixi amb «component-ID»." + +#. TRANSLATORS: `appstreamcli status` command description. +#: tools/appstreamcli.c:1151 +msgid "Display status information about available AppStream metadata." msgstr "" +"Mostra informació de l'estat sobre les metadades disponibles d'AppStream." -#: src/as-validator-issue-tag.h:421 +#. TRANSLATORS: `appstreamcli os-info` command description. +#: tools/appstreamcli.c:1156 msgid "" -"This tag is a GNOME-specific extension to AppStream and not part of the " -"official specification. Do not expect it to work in all implementations and " -"in all software centers." +"Show information about the current operating system from the metadata index." msgstr "" -#: src/as-validator-issue-tag.h:41 -msgid "This tag requires a type property." -msgstr "" +#. TRANSLATORS: `appstreamcli put` command description. +#: tools/appstreamcli.c:1161 +msgid "Install a metadata file into the right location." +msgstr "Instal·la un fitxer de metadades al lloc correcte." + +#. TRANSLATORS: `appstreamcli convert` command description. "Collection XML" is a term describing a specific type of AppStream XML data. +#: tools/appstreamcli.c:1166 +msgid "Convert collection XML to YAML or vice versa." +msgstr "Converteix la col·lecció XML a YAML o viceversa." + +#. TRANSLATORS: `appstreamcli vercmp` command description. +#: tools/appstreamcli.c:1171 +msgid "Compare two version numbers." +msgstr "Compara dos números de versió." -#: data/org.freedesktop.appstream.cli.metainfo.xml:15 +#. TRANSLATORS: `appstreamcli new-template` command description. +#: tools/appstreamcli.c:1177 msgid "" -"This tool allows for reading, writing, validating and transformation of " -"AppStream XML or YAML metadata. It also gives access to the system metadata " -"pool, for example to query for software that provides a specific MIME-type, " -"and installing it by its software component identifier." +"Create a template for a metainfo file (to be filled out by the upstream " +"project)." msgstr "" -"Aquesta eina permet llegir, escriure, validar i transformar les metadades " -"XML o YAML d'AppStream. També dóna accés a l'agrupació de metadades del " -"sistema, per exemple consultar quin programari proporciona un tipus MIME " -"específic i instal·lar-lo pel seu identificador de component de programari." +"Crea una plantilla per a un fitxer metainfo (per ser omplert pel projecte de " +"desenvolupament)." -#: src/as-validator-issue-tag.h:388 -msgid "" -"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." +#. TRANSLATORS: `appstreamcli make-desktop-file` command description. +#: tools/appstreamcli.c:1182 +#, fuzzy +msgid "Create a desktop-entry file from a metainfo file." msgstr "" +"Creeu un arxiu d'entrada d'escriptori XDG des d'un arxiu de metainformació." -#: tools/appstream-cli.c:648 -msgid "" -"Too many parameters: Need two version numbers or version numbers and a " -"comparison operator." +#. TRANSLATORS: `appstreamcli news-to-metainfo` command description. +#: tools/appstreamcli.c:1187 +msgid "Convert a YAML or text NEWS file into metainfo releases." msgstr "" -"Massa paràmetres: necessiteu dos números de versió o números de versió i un " -"operador de comparació." +"Convertiu un arxiu YALM o un arxiu de text NEWS en alliberaments de " +"metainformació." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:461 -msgid "" -"Type 'console-application' component, but no information about binaries in " -"$PATH was provided via a 'provides/binary' tag." +#. TRANSLATORS: `appstreamcli metainfo-to-news` command description. +#: tools/appstreamcli.c:1192 +msgid "Write NEWS text or YAML file with information from a metainfo file." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:491 -msgid "" -"Type 'driver' component, but no modalias information was provided via a " -"provides/modalias tag." +#. TRANSLATORS: `appstreamcli compose` command description. +#: tools/appstreamcli.c:1198 +msgid "Compose AppStream collection metadata from directory trees." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:485 -msgid "" -"Type 'font' component, but no font information was provided via a 'provides/" -"font' tag." +#. TRANSLATORS: ascli has been run without command. +#: tools/appstreamcli.c:1206 +msgid "You need to specify a command." +msgstr "Heu d'especificar una ordre." + +#. TRANSLATORS: In ascli: The requested action needs higher permissions. +#: tools/ascli-actions-mdata.c:70 +msgid "You might need superuser permissions to perform this action." msgstr "" +"És probable que es necessitin els permisos de superusuari per realitzar " +"aquesta acció." -#: src/as-validator.c:333 -msgid "URL format is invalid." +#. we performed a cache refresh +#. TRANSLATORS: Updating the metadata cache succeeded +#: tools/ascli-actions-mdata.c:80 +msgid "AppStream cache update completed successfully." msgstr "" +"S'ha completat correctament l'actualització de la memòria cau d'AppStream." + +#. cache wasn't updated, so the update wasn't necessary +#: tools/ascli-actions-mdata.c:86 +msgid "AppStream cache update is not necessary." +msgstr "L'actualització de memòria cau d'AppStream no és necessària." + +#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments +#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. +#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:253 +#: tools/ascli-actions-pkgmgr.c:80 +msgid "You need to specify a component-ID." +msgstr "Heu d'especificar un ID-component." -#: tools/ascli-actions-mdata.c:544 +#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:265 +#: tools/ascli-actions-pkgmgr.c:93 #, c-format -msgid "Unable to build the template metainfo file: %s" -msgstr "No es pot construir el fitxer metainfo de la plantilla: %s" +msgid "Unable to find component with ID '%s'!" +msgstr "No s'ha pogut trobar el component amb l'id. «%s»!" -#. TRANSLATORS: User is trying to convert a file in ascli -#: tools/ascli-actions-mdata.c:400 -msgid "" -"Unable to convert file: Could not determine output format, please set it " -"explicitly using '--format='." -msgstr "" -"No es pot convertir el fitxer: No s'ha pogut determinar el format de " -"sortida, establiu-ho de forma explícita amb '--format='." +#: tools/ascli-actions-mdata.c:164 +msgid "You need to specify a term to search for." +msgstr "Heu d'especificar un terme per a la cerca." #. TRANSLATORS: We failed to find any component in the database, likely due to an error #: tools/ascli-actions-mdata.c:177 @@ -1600,204 +2461,224 @@ msgid "Unable to find component matching %s!" msgstr "No es pot trobar la coincidència del component %s!" -#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:266 -#: tools/ascli-actions-pkgmgr.c:93 +#: tools/ascli-actions-mdata.c:182 #, c-format -msgid "Unable to find component with ID '%s'!" -msgstr "No s'ha pogut trobar el component amb l'id. «%s»!" - -#: tools/ascli-actions-misc.c:224 -#, fuzzy, c-format -msgid "Unable to load existing desktop-entry file template: %s" -msgstr "No es pot llegir el fitxer .desktop: %s" +msgid "No component matching '%s' found." +msgstr "No s'ha trobat cap component que coincideixi «%s»." -#: src/as-validator-issue-tag.h:356 -msgid "Unable to reach remote icon at the given web location - does it exist?" -msgstr "" +#: tools/ascli-actions-mdata.c:206 +msgid "No value for the item to search for was defined." +msgstr "No s'ha definit cap valor per a l'element a cercar." -#: src/as-validator-issue-tag.h:378 -msgid "" -"Unable to reach remote location that this URL references - does it exist?" +#: tools/ascli-actions-mdata.c:212 +msgid "Invalid type for provided item selected. Valid values are:" msgstr "" +"Tipus no vàlid per a l'ítem proporcionat que s'ha seleccionat. Els valors " +"vàlids són:" -#: src/as-validator-issue-tag.h:179 -msgid "" -"Unable to reach the screenshot image on its remote location - does the image " -"exist?" -msgstr "" +#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results +#: tools/ascli-actions-mdata.c:227 +#, c-format +msgid "Could not find component providing '%s::%s'." +msgstr "No s'ha pogut trobar el component que proporciona «%s::%s»." -#: src/as-validator-issue-tag.h:184 -msgid "" -"Unable to reach the screenshot video on its remote location - does the video " -"file exist?" -msgstr "" +#: tools/ascli-actions-mdata.c:306 +msgid "You need to specify a metadata file." +msgstr "Heu d'especificar un fitxer de metadades." -#: src/as-validator-issue-tag.h:542 -#, fuzzy -msgid "Unable to read file." +#: tools/ascli-actions-mdata.c:320 +#, fuzzy, c-format +msgid "Unable to install metadata file: %s" msgstr "No es pot llegir el fitxer .desktop: %s" -#: src/as-validator-issue-tag.h:574 -#, fuzzy -msgid "Unable to read the .desktop file associated with this component." -msgstr "No es pot llegir el fitxer .desktop: %s" +#: tools/ascli-actions-mdata.c:340 +msgid "You need to specify an input and output file." +msgstr "Heu d'especificar un fitxer d'entrada i de sortida." -#: tools/ascli-actions-mdata.c:473 +#: tools/ascli-actions-mdata.c:347 #, c-format -msgid "Unable to read the .desktop file: %s" -msgstr "No es pot llegir el fitxer .desktop: %s" +msgid "Metadata file '%s' does not exist." +msgstr "No existeix el fitxer de metadades «%s»." -#: src/as-pool.c:606 -msgid "Unable to remove old cache." +#. TRANSLATORS: User is trying to convert a file in ascli +#: tools/ascli-actions-mdata.c:387 +msgid "" +"Unable to convert file: Could not determine output format, please set it " +"explicitly using '--format='." msgstr "" +"No es pot convertir el fitxer: No s'ha pogut determinar el format de " +"sortida, establiu-ho de forma explícita amb '--format='." -#: tools/ascli-actions-misc.c:370 +#: tools/ascli-actions-mdata.c:438 #, fuzzy, c-format -msgid "Unable to save desktop entry file: %s" -msgstr "No es pot llegir el fitxer .desktop: %s" +msgid "Unable to find operating system component '%s'!" +msgstr "No s'ha pogut trobar el component amb l'id. «%s»!" -#: tools/ascli-actions-mdata.c:552 +#: tools/ascli-actions-mdata.c:443 +msgid "Version" +msgstr "Versió" + +#: tools/ascli-actions-mdata.c:467 +msgid "" +"You need to give an AppStream software component type to generate a " +"template. Possible values are:" +msgstr "" +"Heu d'indicar un tipus de component de programari d'AppStream per generar " +"una plantilla. Els valors possibles són:" + +#: tools/ascli-actions-mdata.c:469 #, c-format -msgid "Unable to save the template metainfo file: %s" -msgstr "No es pot desar el fitxer metainfo de plantilla: %s" +msgid "" +"The software component type '%s' is not valid in AppStream. Possible values " +"are:" +msgstr "" +"El tipus de component de programari «%s» no és vàlid a AppStream. Els valors " +"possibles són:" -#: tools/ascli-actions-pkgmgr.c:67 +#: tools/ascli-actions-mdata.c:487 #, c-format -msgid "Unable to spawn package manager: %s" -msgstr "No s'ha pogut generar el gestor de paquets: %s" +msgid "The .desktop file '%s' does not exist." +msgstr "No existeix el fitxer .desktop «%s»." -#: tools/ascli-actions-mdata.c:322 +#: tools/ascli-actions-mdata.c:493 #, c-format -msgid "Unable to write to '%s', can not install metainfo file." -msgstr "No es pot escriure a «%s», no es pot instal·lar el fitxer metainfo." +msgid "Unable to read the .desktop file: %s" +msgstr "No es pot llegir el fitxer .desktop: %s" -#. TRANSLATORS: ascli has been run with unknown command. -#: tools/appstream-cli.c:1009 +#: tools/ascli-actions-mdata.c:564 #, c-format -msgid "Unknown command '%s'." -msgstr "Ordre desconeguda «%s»." +msgid "Unable to build the template metainfo file: %s" +msgstr "No es pot construir el fitxer metainfo de la plantilla: %s" -#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. -#: tools/appstream-cli.c:608 +#: tools/ascli-actions-mdata.c:572 #, c-format -msgid "Unknown compare relation '%s'. Valid values are:" -msgstr "Relació de comparació desconeguda «%s». Els valors vàlids són:" +msgid "Unable to save the template metainfo file: %s" +msgstr "No es pot desar el fitxer metainfo de plantilla: %s" -#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) -#: tools/appstream-cli.c:675 -msgid "" -"Use the given .desktop file to fill in the basic values of the metainfo file." -msgstr "" -"Utilitza el fitxer .desktop que s'indica com a base per omplir els valors " -"del fitxer metainfo." +#. TRANSLATORS: In the status report of ascli: Header +#: tools/ascli-actions-misc.c:47 +msgid "AppStream Status:" +msgstr "Estat d'AppStream:" -#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) -#: tools/appstream-cli.c:725 -msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." -msgstr "" +#: tools/ascli-actions-misc.c:48 +#, c-format +msgid "Version: %s" +msgstr "Versió: %s" -#. TRANSLATORS: this is the menu spec main category for Utilities -#: src/as-category.c:329 -msgid "Utilities" -msgstr "Utilitats" +#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions +#: tools/ascli-actions-misc.c:52 +msgid "Distribution metadata:" +msgstr "Metadades de la distribució:" -#: tools/appstream-cli.c:856 -msgid "Validate AppStream XML files for issues." -msgstr "Valida els fitxers XML d'AppStream per incidències." +#: tools/ascli-actions-misc.c:94 +msgid "Iconsets" +msgstr "Conjunts d'icones" -#: tools/appstream-cli.c:857 -msgid "Validate an installed file-tree of an application for valid metadata." -msgstr "" -"Valida un arbre de fitxers instal·lats d'una aplicació per validar-ne les " -"metadades." +#: tools/ascli-actions-misc.c:105 +msgid "No icons." +msgstr "Sense icones." -#: tools/ascli-actions-validate.c:301 tools/ascli-actions-validate.c:442 -#, c-format -msgid "Validation failed: %s" -msgstr "Ha fallat la validació: %s" +#. TRANSLATORS: No metainfo files have been found +#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 +msgid "Empty." +msgstr "Buit." -#: tools/ascli-actions-validate.c:289 tools/ascli-actions-validate.c:430 -msgid "Validation was successful." -msgstr "S'ha validat correctament." +#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report +#: tools/ascli-actions-misc.c:116 +msgid "Metainfo files:" +msgstr "Fitxers Metainfo:" -#: tools/ascli-actions-validate.c:291 tools/ascli-actions-validate.c:432 +#: tools/ascli-actions-misc.c:123 #, c-format -msgid "Validation was successful: %s" -msgstr "S'ha validat correctament: %s" - -#: tools/appstream-cli.c:851 -msgid "Value of the item that should be found." -msgstr "El valor de l'element que s'ha de trobar." - -#: src/as-category.c:177 -msgctxt "Category of Graphics" -msgid "Vector Graphics" -msgstr "Gràfics vectorials" +msgid "Found %i components." +msgstr "S'han trobat %i components." -#: tools/ascli-actions-misc.c:48 +#. TRANSLATORS: Found metainfo files in legacy directories +#: tools/ascli-actions-misc.c:138 #, c-format -msgid "Version: %s" -msgstr "Versió: %s" +msgid "Found %i components in legacy paths." +msgstr "S'han trobat %i components als camins del llegat." -#: src/as-category.c:180 -msgctxt "Category of Graphics" -msgid "Viewers" -msgstr "Visualitzadors" +#. TRANSLATORS: Status summary in ascli +#: tools/ascli-actions-misc.c:145 +msgid "Summary:" +msgstr "Resum:" #: tools/ascli-actions-misc.c:153 #, c-format msgid "We have information on %i software components." msgstr "Tenim informació sobre %i components de programari." -#: src/as-category.c:270 -msgctxt "Category of Communication" -msgid "Web Browsers" -msgstr "Navegadors web" - -#: src/as-category.c:202 -msgctxt "Category of Office" -msgid "Word Processor" -msgstr "Processadors de text" - -#: tools/appstream-cli.c:871 -msgid "Write NEWS text or YAML file with information from a metainfo file." +#: tools/ascli-actions-misc.c:159 +#, c-format +msgid "Error while loading the metadata pool: %s" msgstr "" +"S'ha produït un error mentre es carregava l'agrupació de les metadades: %s" + +#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 +#, fuzzy +msgid "You need to specify a metainfo file as input." +msgstr "Heu d'especificar un fitxer de metadades." -#: tools/appstream-cli.c:874 +#: tools/ascli-actions-misc.c:188 +#, fuzzy msgid "" -"You can find information about subcommand-specific options by passing \"--" -"help\" to the subcommand." +"You need to specify a desktop-entry file to create or augment as output." +msgstr "Heu d'especificar un fitxer per validar!" + +#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 +#: tools/ascli-actions-misc.c:515 +#, fuzzy, c-format +msgid "Metainfo file '%s' does not exist." +msgstr "No existeix el fitxer de metadades «%s»." + +#: tools/ascli-actions-misc.c:219 +#, c-format +msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." msgstr "" -"Podeu trobar informació sobre les opcions específiques de la subordre en " -"passar \"--help\" a la subordre." +"Augmentant l'arxiu existent d'entrada a l'escriptori '%s' amb dades de '%s'." -#. TRANSLATORS: In ascli: The requested action needs higher permissions. -#: tools/ascli-actions-mdata.c:70 -msgid "You might need superuser permissions to perform this action." +#: tools/ascli-actions-misc.c:224 +#, fuzzy, c-format +msgid "Unable to load existing desktop-entry file template: %s" +msgstr "No es pot llegir el fitxer .desktop: %s" + +#: tools/ascli-actions-misc.c:228 +#, c-format +msgid "Creating new desktop-entry file '%s' using data from '%s'" msgstr "" -"És probable que es necessitin els permisos de superusuari per realitzar " -"aquesta acció." +"Creant el nou arxiu d'entrada d'escriptori '%s' utilitzant dades de '%s'" -#: tools/ascli-actions-mdata.c:447 -msgid "" -"You need to give an AppStream software component type to generate a " -"template. Possible values are:" +#: tools/ascli-actions-misc.c:284 +msgid "No stock icon name was provided in the metainfo file. Can not continue." msgstr "" -"Heu d'indicar un tipus de component de programari d'AppStream per generar " -"una plantilla. Els valors possibles són:" -#: tools/appstream-cli.c:579 +#: tools/ascli-actions-misc.c:306 msgid "" -"You need to provide at least two version numbers to compare as parameters." +"No provided binary specified in metainfo file, and no exec command specified " +"via '--exec'. Can not create 'Exec=' key." msgstr "" -"Heu de proporcionar almenys dos números de versió per comparar-los com a " -"paràmetres." + +#: tools/ascli-actions-misc.c:370 +#, fuzzy, c-format +msgid "Unable to save desktop entry file: %s" +msgstr "No es pot llegir el fitxer .desktop: %s" #: tools/ascli-actions-misc.c:393 #, fuzzy msgid "You need to specify a NEWS file as input." msgstr "Heu d'especificar un fitxer de metadades." +#: tools/ascli-actions-misc.c:397 +#, fuzzy +msgid "" +"You need to specify a metainfo file to augment, or '-' to print to stdout." +msgstr "Heu d'especificar un fitxer de metadades." + +#: tools/ascli-actions-misc.c:402 +msgid "No output filename specified, modifying metainfo file directly." +msgstr "" + #: tools/ascli-actions-misc.c:509 #, fuzzy msgid "You need to specify a NEWS file as output, or '-' to print to stdout." @@ -1808,130 +2689,188 @@ msgid "You need to specify a NEWS format to write the output in." msgstr "Heu d'especificar un fitxer d'entrada i de sortida." -#. TRANSLATORS: ascli has been run without command. -#: tools/appstream-cli.c:925 -msgid "You need to specify a command." -msgstr "Heu d'especificar una ordre." - -#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments -#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. -#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:254 -#: tools/ascli-actions-pkgmgr.c:80 -msgid "You need to specify a component-ID." -msgstr "Heu d'especificar un ID-component." - -#: tools/ascli-actions-misc.c:188 -#, fuzzy +#: tools/ascli-actions-pkgmgr.c:53 msgid "" -"You need to specify a desktop-entry file to create or augment as output." -msgstr "Heu d'especificar un fitxer per validar!" +"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" +"\" (part of PackageKit) is available." +msgstr "" +"No s'ha trobat cap interfície de línia d'ordres adequada. Si us plau, " +"assegureu-vos que p. ex. «pkcon» (part de PackageKit) estigui disponible." -#: tools/ascli-actions-mdata.c:309 -msgid "You need to specify a metadata file." -msgstr "Heu d'especificar un fitxer de metadades." +#: tools/ascli-actions-pkgmgr.c:67 +#, c-format +msgid "Unable to spawn package manager: %s" +msgstr "No s'ha pogut generar el gestor de paquets: %s" -#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 -#, fuzzy -msgid "You need to specify a metainfo file as input." -msgstr "Heu d'especificar un fitxer de metadades." +#. TRANSLATORS: We found no distribution package or bundle to install to make this software available +#: tools/ascli-actions-pkgmgr.c:106 +#, c-format +msgid "Component '%s' has no installation candidate." +msgstr "El component «%s» no té cap candidat d'instal·lació." -#: tools/ascli-actions-misc.c:397 -#, fuzzy -msgid "" -"You need to specify a metainfo file to augment, or '-' to print to stdout." -msgstr "Heu d'especificar un fitxer de metadades." +#: tools/ascli-actions-validate.c:176 tools/ascli-actions-validate.c:354 +#, c-format +msgid "File '%s' does not exist." +msgstr "No existeix el fitxer '%s'." -#: tools/ascli-actions-validate.c:385 tools/ascli-actions-validate.c:479 -msgid "You need to specify a root directory to start validation!" -msgstr "Heu d'especificar un directori arrel per iniciar la validació!" +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "error"-type hints +#: tools/ascli-actions-validate.c:228 +#, c-format +msgid "errors: %lu" +msgstr "errors: %lu" -#: tools/ascli-actions-mdata.c:164 -msgid "You need to specify a term to search for." -msgstr "Heu d'especificar un terme per a la cerca." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "warning"-type hints +#: tools/ascli-actions-validate.c:235 +#, c-format +msgid "warnings: %lu" +msgstr "advertències: %lu" -#: tools/ascli-actions-mdata.c:357 -msgid "You need to specify an input and output file." -msgstr "Heu d'especificar un fitxer d'entrada i de sortida." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "info"-type hints +#: tools/ascli-actions-validate.c:242 +#, c-format +msgid "infos: %lu" +msgstr "informació: %lu" + +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "pedantic"-type hints +#: tools/ascli-actions-validate.c:249 +#, c-format +msgid "pedantic: %lu" +msgstr "redundant: %lu" -#: tools/ascli-actions-validate.c:263 tools/ascli-actions-validate.c:337 +#: tools/ascli-actions-validate.c:268 tools/ascli-actions-validate.c:342 #, fuzzy msgid "You need to specify at least one file to validate!" msgstr "Heu d'especificar un fitxer per validar!" -#. TRANSLATORS: List of "grey-listed" words sperated with ";" -#. * Do not translate this list directly. Instead, -#. * provide a list of words in your language that people are likely -#. * to include in a search but that should normally be ignored in -#. * the search. -#. -#: src/as-pool.c:107 -msgid "app;application;package;program;programme;suite;tool" -msgstr "aplicació;programari;paquet;aplicació;programa" +#: tools/ascli-actions-validate.c:294 tools/ascli-actions-validate.c:435 +msgid "Validation was successful." +msgstr "S'ha validat correctament." -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:223 +#: tools/ascli-actions-validate.c:296 tools/ascli-actions-validate.c:437 #, c-format -msgid "errors: %lu" -msgstr "errors: %lu" +msgid "Validation was successful: %s" +msgstr "S'ha validat correctament: %s" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:237 +#: tools/ascli-actions-validate.c:306 tools/ascli-actions-validate.c:447 #, c-format -msgid "infos: %lu" -msgstr "informació: %lu" +msgid "Validation failed: %s" +msgstr "Ha fallat la validació: %s" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:244 +#: tools/ascli-actions-validate.c:368 tools/ascli-actions-validate.c:497 #, c-format -msgid "pedantic: %lu" -msgstr "redundant: %lu" +msgid "" +"The validator can not create reports in the '%s' format. You may select " +"'yaml' or 'text' instead." +msgstr "" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:230 -#, c-format -msgid "warnings: %lu" -msgstr "advertències: %lu" +#: tools/ascli-actions-validate.c:390 tools/ascli-actions-validate.c:484 +msgid "You need to specify a root directory to start validation!" +msgstr "Heu d'especificar un directori arrel per iniciar la validació!" -#~ msgid "Command '%s' is unknown." -#~ msgstr "Es desconeix l'ordre «%s»." +#: tools/ascli-utils.c:266 +msgid "Identifier" +msgstr "Identificador" -#~ msgid "Do not use any caches when performing the request." -#~ msgstr "No utilitzis cap memòria cau quan es realitza la petició." +#: tools/ascli-utils.c:268 +msgid "Internal ID" +msgstr "" -#~ msgid "AppStream cache update failed." -#~ msgstr "Ha fallat l'actualització de la memòria cau d'AppStream." +#: tools/ascli-utils.c:269 +msgid "Name" +msgstr "Nom" -#~ msgid "" -#~ "AppStream data pool was loaded, but some metadata was ignored due to " -#~ "errors." -#~ msgstr "" -#~ "S'han carregat l'agrupació de dades d'AppStream, però s'han ignorat " -#~ "algunes metadades a causa d'errors." +#: tools/ascli-utils.c:270 +msgid "Summary" +msgstr "Resum" -#~ msgid "Can not search for unknown component type." -#~ msgstr "No es pot cercar un tipus de component desconegut." +#: tools/ascli-utils.c:271 +msgid "Package" +msgstr "Paquet" -#, fuzzy -#~ msgid "Category of Games" -#~ msgstr "Categories" +#: tools/ascli-utils.c:272 +msgid "Bundle" +msgstr "Agrupació" -#, fuzzy -#~ msgid "Category of Office" -#~ msgstr "Categories" +#: tools/ascli-utils.c:273 +msgid "Homepage" +msgstr "Pàgina inicial" -#, fuzzy -#~ msgid "Category of Science" -#~ msgstr "Categories" +#: tools/ascli-utils.c:274 +msgid "Icon" +msgstr "Icona" + +#. developer name +#: tools/ascli-utils.c:294 +msgid "Developer" +msgstr "Desenvolupador" + +#: tools/ascli-utils.c:300 +msgid "Extends" +msgstr "Estén" + +#: tools/ascli-utils.c:306 +msgid "Description" +msgstr "Descripció" + +#: tools/ascli-utils.c:326 +msgid "Default Screenshot URL" +msgstr "URL de la captura de pantalla predeterminada" + +#. project group +#: tools/ascli-utils.c:333 +msgid "Project Group" +msgstr "Grup del projecte" + +#. license +#: tools/ascli-utils.c:336 +msgid "License" +msgstr "Llicència" + +#: tools/ascli-utils.c:342 +msgid "Categories" +msgstr "Categories" + +#: tools/ascli-utils.c:350 +msgid "Compulsory for" +msgstr "Obligatori per" -#~ msgid "Extensions" -#~ msgstr "Extensions" +#: tools/ascli-utils.c:378 +msgid "Provided Items" +msgstr "Elements proporcionats" -#~ msgid "File %s not found or permission denied!" -#~ msgstr "No es va trobar el fitxer %s o es va denegar el permís!" +#, fuzzy, c-format +#~ msgid "Unable to open new cache file: %s" +#~ msgstr "No es pot llegir el fitxer .desktop: %s" #, fuzzy -#~ msgid "No component providing '%s::%s' found." -#~ msgstr "No s'ha trobat cap component que proporcioni '%s;%s'." +#~ msgid "" +#~ "AppStream is a cross-distribution specification to provide metadata about " +#~ "software components." +#~ msgstr "" +#~ "AppStream és una especificació independent de la distribució que " +#~ "proporciona metadades quant als components de programari." + +#, c-format +#~ msgid "Unable to write to '%s', can not install metainfo file." +#~ msgstr "No es pot escriure a «%s», no es pot instal·lar el fitxer metainfo." + +#, c-format +#~ msgid "" +#~ "Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " +#~ "suffix." +#~ msgstr "" +#~ "No es pot copiar «%s»: El fitxer no té un sufix «.metainfo.xml» o «." +#~ "appdata.xml»." + +#~ msgid "An item type (e.g. lib, bin, python3, …)" +#~ msgstr "Un tipus d'element (p. ex. lib, bin, python3, ...)" + +#~ msgid "Get components which provide the given item." +#~ msgstr "Obté els components que proporcionen un element indicat." + +#, c-format +#~ msgid "Unknown command '%s'." +#~ msgstr "Ordre desconeguda «%s»." -#~ msgid "XDG Menu XML file '%s' is damaged." -#~ msgstr "El fitxer XML del menú XDG «%s» està malmès." +#~ msgid "Value of the item that should be found." +#~ msgstr "El valor de l'element que s'ha de trobar." diff -Nru appstream-0.12.10/po/ckb.po appstream-0.14.5/po/ckb.po --- appstream-0.12.10/po/ckb.po 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/po/ckb.po 2021-08-28 20:15:28.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: appstream\n" "Report-Msgid-Bugs-To: appstream@lists.freedesktop.org\n" -"POT-Creation-Date: 2020-01-14 01:44+0100\n" +"POT-Creation-Date: 2021-08-28 16:09+0200\n" "PO-Revision-Date: 2016-09-06 13:56+0000\n" "Last-Translator: Rasti K5 \n" "Language-Team: Kurdish Sorani appstreamcli command-line tool allows to read, write, and " +"transform AppStream XML or YAML metadata as well as to validate it for " +"compliance with the specification. It also provides easy access to the " +"system metadata pool, for example to query for software that provides a " +"specific Mediatype handler or for installing software by its component " +"identifier." +msgstr "" + +#: src/as-category.c:66 +msgctxt "Category of AudioVideo" +msgid "Featured" +msgstr "" + +#: src/as-category.c:69 +msgctxt "Category of AudioVideo" +msgid "Audio Creation & Editing" +msgstr "دروستکردن و دەستکاریکردنی دەنگ" + +#: src/as-category.c:75 +msgctxt "Category of AudioVideo" +msgid "Music Players" +msgstr "لێدەری مۆسیقا" + +#: src/as-category.c:84 +msgctxt "Category of Development" +msgid "Featured" +msgstr "" + +#: src/as-category.c:87 +msgctxt "Category of Development" +msgid "Debuggers" +msgstr "هەڵەدۆزەکان" + +#: src/as-category.c:90 +#, fuzzy +msgctxt "Category of Development" +msgid "IDEs" +msgstr "IDEs" + +#: src/as-category.c:99 +msgctxt "Category of Education" +msgid "Featured" +msgstr "" + +#: src/as-category.c:102 +msgctxt "Category of Education" +msgid "Astronomy" +msgstr "گەردوونناسی" + +#: src/as-category.c:105 +msgctxt "Category of Education" +msgid "Chemistry" +msgstr "کیمیا" + +#: src/as-category.c:108 +msgctxt "Category of Education" +msgid "Languages" +msgstr "زمانەکان" + +#: src/as-category.c:112 +msgctxt "Category of Education" +msgid "Math" +msgstr "بیرکاری" + +#: src/as-category.c:121 +msgctxt "Category of Games" +msgid "Featured" +msgstr "" + +#: src/as-category.c:124 +msgctxt "Category of Games" +msgid "Action" +msgstr "" + +#: src/as-category.c:127 +msgctxt "Category of Games" +msgid "Adventure" +msgstr "سەرکێشی" + +#: src/as-category.c:130 +msgctxt "Category of Games" +msgid "Arcade" +msgstr "" + +#: src/as-category.c:133 +msgctxt "Category of Games" +msgid "Blocks" +msgstr "" + +#: src/as-category.c:136 +msgctxt "Category of Games" +msgid "Board" +msgstr "تەختە" + +#: src/as-category.c:139 +msgctxt "Category of Games" +msgid "Card" +msgstr "کارت" + +#: src/as-category.c:142 +msgctxt "Category of Games" +msgid "Emulators" +msgstr "لاسایکردنەوە" + +#: src/as-category.c:145 +msgctxt "Category of Games" +msgid "Kids" +msgstr "منداڵان" + +#: src/as-category.c:148 +msgctxt "Category of Games" +msgid "Logic" +msgstr "ژیربێژی" + +#: src/as-category.c:151 +msgctxt "Category of Games" +msgid "Role Playing" +msgstr "" + +#: src/as-category.c:154 +msgctxt "Category of Games" +msgid "Sports" +msgstr "وەرزش" + +#: src/as-category.c:158 +msgctxt "Category of Games" +msgid "Strategy" +msgstr "ستراتیژی" + +#: src/as-category.c:166 +msgctxt "Category of Graphics" +msgid "Featured" +msgstr "" + +#: src/as-category.c:169 +msgctxt "Category of Graphics" +msgid "3D Graphics" +msgstr "وێنەی سێ دووری" + +#: src/as-category.c:172 +msgctxt "Category of Graphics" +msgid "Photography" +msgstr "فۆتۆگرافی" + +#: src/as-category.c:175 +msgctxt "Category of Graphics" +msgid "Scanning" +msgstr "" + +#: src/as-category.c:178 +msgctxt "Category of Graphics" +msgid "Vector Graphics" +msgstr "" + +#: src/as-category.c:181 +msgctxt "Category of Graphics" +msgid "Viewers" +msgstr "بینەر" + +#: src/as-category.c:189 +msgctxt "Category of Office" +msgid "Featured" +msgstr "" + +#: src/as-category.c:192 +msgctxt "Category of Office" +msgid "Calendar" +msgstr "ساڵنامە" + +#: src/as-category.c:196 +msgctxt "Category of Office" +msgid "Database" +msgstr "بنکەدراوە" + +#: src/as-category.c:199 +msgctxt "Category of Office" +msgid "Finance" +msgstr "سەرمایەگوزاری" + +#: src/as-category.c:203 +msgctxt "Category of Office" +msgid "Word Processor" +msgstr "" + +#: src/as-category.c:212 +msgctxt "Category of Addons" +msgid "Fonts" +msgstr "جۆرەپیت" + +#: src/as-category.c:215 +msgctxt "Category of Addons" +msgid "Codecs" +msgstr "" + +#: src/as-category.c:218 +msgctxt "Category of Addons" +msgid "Input Sources" +msgstr "" + +#: src/as-category.c:221 +msgctxt "Category of Addons" +msgid "Language Packs" +msgstr "گورزەی زمان" + +#: src/as-category.c:224 +msgctxt "Category of Addons" +msgid "Localization" +msgstr "" + +#: src/as-category.c:232 +msgctxt "Category of Science" +msgid "Featured" +msgstr "" + +#: src/as-category.c:235 +msgctxt "Category of Science" +msgid "Artificial Intelligence" +msgstr "زیرەکی دەستکرد" + +#: src/as-category.c:238 +msgctxt "Category of Science" +msgid "Astronomy" +msgstr "گەردوونناسی" + +#: src/as-category.c:241 +msgctxt "Category of Science" +msgid "Chemistry" +msgstr "کیمیا" + +#: src/as-category.c:244 +msgctxt "Category of Science" +msgid "Math" +msgstr "بیرکاری" + +#: src/as-category.c:249 +msgctxt "Category of Science" +msgid "Robotics" +msgstr "ڕۆبۆتی" + +#: src/as-category.c:257 +msgctxt "Category of Communication" +msgid "Featured" +msgstr "" + +#: src/as-category.c:260 +msgctxt "Category of Communication" +msgid "Chat" +msgstr "پەیڤین" + +#: src/as-category.c:267 +msgctxt "Category of Communication" +msgid "News" +msgstr "هەواڵ" + +#: src/as-category.c:271 +msgctxt "Category of Communication" +msgid "Web Browsers" +msgstr "وێبگەڕ" + +#: src/as-category.c:279 +msgctxt "Category of Utility" +msgid "Featured" +msgstr "" + +#: src/as-category.c:282 +msgctxt "Category of Utility" +msgid "Text Editors" +msgstr "دەستکاریکەری دەق" + +#: src/as-category.c:285 +msgctxt "Category of Utility" +msgid "Terminal Emulators" +msgstr "" + +#: src/as-category.c:288 +msgctxt "Category of Utility" +msgid "File System" +msgstr "پەڕگەی سیستەم" + +#: src/as-category.c:291 +msgctxt "Category of Utility" +msgid "System Monitoring" +msgstr "" + +#: src/as-category.c:294 +msgctxt "Category of Utility" +msgid "Security" +msgstr "پاراستن" + +#. TRANSLATORS: this is the menu spec main category for Audio & Video +#: src/as-category.c:303 +msgid "Audio & Video" +msgstr "دەنگ و ڤیدیۆ" + +#. TRANSLATORS: this is the menu spec main category for Development +#: src/as-category.c:306 +msgid "Developer Tools" +msgstr "ئامرازەکانی گەشەپێدەر" + +#. TRANSLATORS: this is the menu spec main category for Education +#: src/as-category.c:309 +msgid "Education" +msgstr "پەروەردە" + +#. TRANSLATORS: this is the menu spec main category for Game +#: src/as-category.c:312 +msgid "Games" +msgstr "یارییەکان" + +#. TRANSLATORS: this is the menu spec main category for Graphics +#: src/as-category.c:315 +msgid "Graphics & Photography" +msgstr "وێنە و فۆتۆگرافی" + +#. TRANSLATORS: this is the menu spec main category for Office +#: src/as-category.c:318 +msgid "Office" +msgstr "نووسینگە" + +#. TRANSLATORS: this is the main category for Add-ons +#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor +#: src/as-category.c:321 tools/ascli-utils.c:371 +msgid "Add-ons" +msgstr "زیادکراوەکان" + +#. TRANSLATORS: this is the menu spec main category for Science +#: src/as-category.c:324 +msgid "Science" +msgstr "زانست" + +#. TRANSLATORS: this is the menu spec main category for Communication +#: src/as-category.c:327 +msgid "Communication & News" +msgstr "هەواڵ و گەیاندن" + +#. TRANSLATORS: this is the menu spec main category for Utilities +#: src/as-category.c:330 +msgid "Utilities" +msgstr "کاربەری" + +#. TRANSLATORS: This is the formatting of English and localized name +#. * of the rating e.g. "Adults Only (solo adultos)" +#: src/as-content-rating.c:298 #, c-format -msgid "'%s' command" +msgid "%s (%s)" +msgstr "" + +#: src/as-content-rating.c:444 +msgid "General" +msgstr "" + +#: src/as-content-rating.c:453 +msgid "ALL" +msgstr "" + +#: src/as-content-rating.c:457 src/as-content-rating.c:560 +msgid "Adults Only" +msgstr "" + +#: src/as-content-rating.c:459 src/as-content-rating.c:559 +msgid "Mature" +msgstr "" + +#: src/as-content-rating.c:461 src/as-content-rating.c:558 +msgid "Teen" +msgstr "" + +#: src/as-content-rating.c:463 src/as-content-rating.c:557 +msgid "Everyone 10+" +msgstr "" + +#: src/as-content-rating.c:465 src/as-content-rating.c:556 +msgid "Everyone" +msgstr "" + +#: src/as-content-rating.c:467 src/as-content-rating.c:555 +msgid "Early Childhood" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:839 +msgid "No cartoon violence" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:841 +msgid "Cartoon characters in unsafe situations" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:843 +msgid "Cartoon characters in aggressive conflict" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:845 +msgid "Graphic violence involving cartoon characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:850 +msgid "No fantasy violence" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:852 +msgid "Characters in unsafe situations easily distinguishable from reality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:854 +msgid "Characters in aggressive conflict easily distinguishable from reality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:856 +msgid "Graphic violence easily distinguishable from reality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:861 +msgid "No realistic violence" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:863 +msgid "Mildly realistic characters in unsafe situations" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:865 +msgid "Depictions of realistic characters in aggressive conflict" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:867 +msgid "Graphic violence involving realistic characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:872 +msgid "No bloodshed" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:874 +msgid "Unrealistic bloodshed" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:876 +msgid "Realistic bloodshed" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:878 +msgid "Depictions of bloodshed and the mutilation of body parts" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:883 +msgid "No sexual violence" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:885 +msgid "Rape or other violent sexual behavior" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:892 +msgid "No references to alcohol" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:894 +msgid "References to alcoholic beverages" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:896 +msgid "Use of alcoholic beverages" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:902 +msgid "No references to illicit drugs" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:904 +msgid "References to illicit drugs" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:906 +msgid "Use of illicit drugs" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:912 +msgid "No references to tobacco products" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:914 +msgid "References to tobacco products" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:916 +msgid "Use of tobacco products" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:922 +msgid "No nudity of any sort" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:924 +msgid "Brief artistic nudity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:926 +msgid "Prolonged nudity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:932 +msgid "No references to or depictions of sexual nature" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:934 +msgid "Provocative references or depictions" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:936 +msgid "Sexual references or depictions" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:938 +msgid "Graphic sexual behavior" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:943 +msgid "No profanity of any kind" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:945 +msgid "Mild or infrequent use of profanity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:947 +msgid "Moderate use of profanity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:949 +msgid "Strong or frequent use of profanity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:954 +msgid "No inappropriate humor" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:956 +msgid "Slapstick humor" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:958 +msgid "Vulgar or bathroom humor" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:960 +msgid "Mature or sexual humor" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:965 +msgid "No discriminatory language of any kind" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:967 +msgid "Negativity towards a specific group of people" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:969 +msgid "Discrimination designed to cause emotional harm" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:971 +msgid "Explicit discrimination based on gender, sexuality, race or religion" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:976 +msgid "No advertising of any kind" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:978 +msgid "Product placement" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:980 +msgid "Explicit references to specific brands or trademarked products" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:982 +msgid "Users are encouraged to purchase specific real-world items" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:987 +msgid "No gambling of any kind" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:989 +msgid "Gambling on random events using tokens or credits" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:991 +msgid "Gambling using “play” money" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:993 +msgid "Gambling using real money" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:998 +msgid "No ability to spend money" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1000 +msgid "Users are encouraged to donate real money" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1003 +msgid "Ability to spend real money in-app" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1008 +msgid "No way to chat with other users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1010 +msgid "User-to-user interactions without chat functionality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1012 +msgid "Moderated chat functionality between users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1014 +msgid "Uncontrolled chat functionality between users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1019 +msgid "No way to talk with other users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1021 +msgid "Uncontrolled audio or video chat functionality between users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1028 +msgid "No sharing of social network usernames or email addresses" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1030 +msgid "Sharing social network usernames or email addresses" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1037 +msgid "No sharing of user information with third parties" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1039 +msgid "Checking for the latest application version" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1041 +msgid "Sharing diagnostic data that does not let others identify the user" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1043 +msgid "Sharing information that lets others identify the user" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1048 +msgid "No sharing of physical location with other users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1050 +msgid "Sharing physical location with other users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1073 +msgid "No references to homosexuality" msgstr "" -#: src/as-category.c:168 -msgctxt "Category of Graphics" -msgid "3D Graphics" -msgstr "وێنەی سێ دووری" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1075 +msgid "Indirect references to homosexuality" +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:254 -msgid "" -"A 'requires' or 'recommends' item requires a value to denote a valid " -"relation." +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1077 +msgid "Kissing between people of the same gender" msgstr "" -#: src/as-validator-issue-tag.h:51 -msgid "" -"A tag must not be localized in metainfo files (upstream " -"metadata). Localize the individual paragraphs instead." +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1079 +msgid "Graphic sexual behavior between people of the same gender" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:195 -msgid "" -"A screenshot must contain at least one image or video in order to be useful. " -"Please add an to it." +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1084 +msgid "No references to prostitution" msgstr "" -#: src/as-validator-issue-tag.h:200 -msgid "" -"A screenshot must contain either images or videos, but not both at the same " -"time. Please use this screenshot exclusively for either static images or for " -"videos." +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1086 +msgid "Indirect references to prostitution" msgstr "" -#: src/as-category.c:123 -msgctxt "Category of Games" -msgid "Action" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1088 +msgid "Direct references to prostitution" msgstr "" -#. TRANSLATORS: this is the main category for Add-ons -#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor -#: src/as-category.c:320 tools/ascli-utils.c:398 -msgid "Add-ons" -msgstr "زیادکراوەکان" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1090 +msgid "Graphic depictions of the act of prostitution" +msgstr "" -#: src/as-category.c:126 -msgctxt "Category of Games" -msgid "Adventure" -msgstr "سەرکێشی" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1095 +msgid "No references to adultery" +msgstr "" -#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) -#: tools/appstream-cli.c:116 -msgid "Also show pedantic hints." +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1097 +msgid "Indirect references to adultery" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:497 -msgid "" -"An 'extends' tag is specified, but the component is not of type 'addon', " -"'localization' or 'repository'." +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1099 +msgid "Direct references to adultery" msgstr "" -#: tools/appstream-cli.c:850 -msgid "An item type (e.g. lib, bin, python3, …)" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1101 +msgid "Graphic depictions of the act of adultery" msgstr "" -#: data/org.freedesktop.appstream.cli.metainfo.xml:9 -msgid "An utility to work with AppStream metadata" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1106 +msgid "No sexualized characters" msgstr "" -#: data/org.freedesktop.appstream.cli.metainfo.xml:8 -#, fuzzy -msgid "AppStream CLI" -msgstr "دۆخی AppStream:" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1109 +msgid "Scantily clad human characters" +msgstr "" -#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. -#: tools/appstream-cli.c:947 -#, fuzzy, c-format -msgid "" -"AppStream CLI tool version: %s\n" -"AppStream library version: %s" -msgstr "AppStream CLI وەشانی ئامراز: %s" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1111 +msgid "Overtly sexualized human characters" +msgstr "" -#. TRANSLATORS: In the status report of ascli: Header -#: tools/ascli-actions-misc.c:47 -msgid "AppStream Status:" -msgstr "دۆخی AppStream:" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1116 +msgid "No references to desecration" +msgstr "" -#. we performed a cache refresh -#. TRANSLATORS: Updating the metadata cache succeeded -#: tools/ascli-actions-mdata.c:80 -msgid "AppStream cache update completed successfully." +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1118 +msgid "Depictions of or references to historical desecration" msgstr "" -#. cache wasn't updated, so the update wasn't necessary -#: tools/ascli-actions-mdata.c:86 -msgid "AppStream cache update is not necessary." +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1120 +msgid "Depictions of modern-day human desecration" msgstr "" -#. TRANSLATORS: This is the header to the --help menu for subcommands -#. TRANSLATORS: This is the header to the --help menu -#: tools/appstream-cli.c:154 tools/appstream-cli.c:843 -msgid "AppStream command-line interface" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1122 +msgid "Graphic depictions of modern-day desecration" msgstr "" -#: src/as-validator-issue-tag.h:63 -msgid "" -"AppStream descriptions support only a limited set of tags to format text: " -"Paragraphs (

                                ) and lists (

                                  ,
                                    ). This description markup contains " -"an invalid XML tag that would not be rendered correctly in applications " -"supporting the metainfo specification." +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1127 +msgid "No visible dead human remains" msgstr "" -#: data/org.freedesktop.appstream.cli.metainfo.xml:12 -msgid "" -"AppStream is a cross-distribution specification to provide metadata about " -"software components." +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1129 +msgid "Visible dead human remains" msgstr "" -#: src/as-pool.c:1937 -#, c-format -msgid "" -"AppStream system cache refresh failed. Turn on verbose mode to get detailed " -"issue information." +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1131 +msgid "Dead human remains that are exposed to the elements" msgstr "" -#. TRANSLATORS: Output if appstreamcli --version is executed. -#: tools/appstream-cli.c:944 -#, fuzzy, c-format -msgid "AppStream version: %s" -msgstr "AppStream CLI وەشانی ئامراز: %s" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1133 +msgid "Graphic depictions of desecration of human bodies" +msgstr "" -#: src/as-category.c:129 -msgctxt "Category of Games" -msgid "Arcade" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1138 +msgid "No references to slavery" msgstr "" -#: src/as-category.c:234 -msgctxt "Category of Science" -msgid "Artificial Intelligence" -msgstr "زیرەکی دەستکرد" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1140 +msgid "Depictions of or references to historical slavery" +msgstr "" -#: src/as-validator-issue-tag.h:91 -msgid "" -"As per AppStream specification, the mentioned tag must only appear once in " -"this context. Having multiple tags of this kind is not valid." +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1142 +msgid "Depictions of modern-day slavery" msgstr "" -#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command -#: tools/appstream-cli.c:766 -msgid "Assume the input file is in the selected format ('yaml' or 'text')." +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1144 +msgid "Graphic depictions of modern-day slavery" msgstr "" -#: src/as-category.c:101 -msgctxt "Category of Education" -msgid "Astronomy" -msgstr "گەردوونناسی" +#. TRANSLATORS: We got a 429 error while trying to download data +#: src/as-curl.c:134 +#, c-format +msgid "Failed to download due to server limit" +msgstr "" -#: src/as-category.c:237 -msgctxt "Category of Science" -msgid "Astronomy" -msgstr "گەردوونناسی" +#: src/as-curl.c:141 src/as-curl.c:148 +#, c-format +msgid "Failed to download file: %s" +msgstr "" -#. TRANSLATORS: this is the menu spec main category for Audio & Video -#: src/as-category.c:302 -msgid "Audio & Video" -msgstr "دەنگ و ڤیدیۆ" +#. TRANSLATORS: We tried to download an URL, but received a 404 error code +#: src/as-curl.c:157 +#, c-format +msgid "URL was not found on the server." +msgstr "" -#: src/as-category.c:68 -msgctxt "Category of AudioVideo" -msgid "Audio Creation & Editing" -msgstr "دروستکردن و دەستکاریکردنی دەنگ" +#. TRANSLATORS: We received an uexpected HTTP status code while talking to a server, likely an error +#: src/as-curl.c:164 +#, c-format +msgid "Unexpected status code: %ld" +msgstr "" -#: tools/ascli-actions-misc.c:219 +#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty +#: src/as-curl.c:247 #, c-format -msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." +msgid "Retrieved file size was zero." msgstr "" -#: src/as-provided.c:146 -msgid "Binaries" -msgstr "دووانەیی" +#. TRANSLATORS: List of "grey-listed" words sperated with ";" +#. * Do not translate this list directly. Instead, +#. * provide a list of words in your language that people are likely +#. * to include in a search but that should normally be ignored in +#. * the search. +#. +#: src/as-pool.c:111 +msgid "app;application;package;program;programme;suite;tool" +msgstr "" -#: src/as-category.c:132 -msgctxt "Category of Games" -msgid "Blocks" +#: src/as-pool.c:620 +msgid "Unable to remove old cache." msgstr "" -#: src/as-category.c:135 -msgctxt "Category of Games" -msgid "Board" -msgstr "تەختە" +#: src/as-pool.c:963 +msgid "Metadata files have errors:" +msgstr "" -#: tools/ascli-utils.c:299 -msgid "Bundle" +#: src/as-pool.c:1370 +msgid "" +"Many components have been recognized as invalid. See debug output for " +"details." msgstr "" -#: src/as-pool.c:1828 +#: src/as-pool.c:1996 #, c-format msgid "Cache location '%s' is not writable." msgstr "" -#: src/as-category.c:191 -msgctxt "Category of Office" -msgid "Calendar" -msgstr "ساڵنامە" +#: src/as-pool.c:2109 +msgid "" +"The AppStream system cache was updated, but some components were ignored. " +"Refer to the verbose log for more information." +msgstr "" -#: tools/ascli-actions-mdata.c:327 +#: src/as-pool.c:2111 #, c-format msgid "" -"Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " -"suffix." +"The AppStream system cache was updated, but problems were found which " +"resulted in metadata being ignored: %s" msgstr "" -#: src/as-category.c:138 -msgctxt "Category of Games" -msgid "Card" -msgstr "کارت" +#: src/as-pool.c:2125 +#, c-format +msgid "" +"AppStream system cache refresh failed. Turn on verbose mode to get detailed " +"issue information." +msgstr "" -#: tools/ascli-utils.c:369 -msgid "Categories" -msgstr "هاوپۆلەکان" +#: src/as-provided.c:144 +msgid "Libraries" +msgstr "پەڕتووکخانە" -#: src/as-category.c:259 -msgctxt "Category of Communication" -msgid "Chat" -msgstr "پەیڤین" +#: src/as-provided.c:146 +msgid "Binaries" +msgstr "دووانەیی" -#: src/as-category.c:104 -msgctxt "Category of Education" -msgid "Chemistry" -msgstr "کیمیا" +#: src/as-provided.c:148 +msgid "Media types" +msgstr "" -#: src/as-category.c:240 -msgctxt "Category of Science" -msgid "Chemistry" -msgstr "کیمیا" +#: src/as-provided.c:150 +msgid "Fonts" +msgstr "جۆرەپیت" -#: src/as-category.c:214 -msgctxt "Category of Addons" -msgid "Codecs" +#: src/as-provided.c:152 +msgid "Modaliases" msgstr "" -#. TRANSLATORS: this is the menu spec main category for Communication -#: src/as-category.c:326 -msgid "Communication & News" -msgstr "هەواڵ و گەیاندن" +#: src/as-provided.c:154 +msgid "Python (Version 2)" +msgstr "پایسۆن )وەشانی 2(" -#: tools/appstream-cli.c:866 -msgid "Compare two version numbers." +#: src/as-provided.c:156 +msgid "Python 3" +msgstr "پایسۆن 3" + +#: src/as-provided.c:158 +msgid "D-Bus System Services" +msgstr "" + +#: src/as-provided.c:160 +msgid "D-Bus Session Services" +msgstr "" + +#: src/as-provided.c:162 +msgid "Runtime Firmware" +msgstr "" + +#: src/as-provided.c:164 +msgid "Flashed Firmware" msgstr "" #: src/as-provided.c:166 msgid "Component" msgstr "" -#. TRANSLATORS: We found no distribution package or bundle to install to make this software available -#: tools/ascli-actions-pkgmgr.c:106 -#, c-format -msgid "Component '%s' has no installation candidate." +#: src/as-validator-issue-tag.h:41 +msgid "This tag requires a type property." +msgstr "" + +#: src/as-validator-issue-tag.h:46 +msgid "Tags of this name are not permitted in this section." +msgstr "" + +#: src/as-validator-issue-tag.h:51 +msgid "" +"A tag must not be localized in metainfo files (upstream " +"metadata). Localize the individual paragraphs instead." +msgstr "" + +#: src/as-validator-issue-tag.h:57 +msgid "" +"This element (paragraph, list, etc.) of a tag must not be " +"localized individually in collection metadata. Localize the whole " +" tag instead. The AppStream collection metadata generator (e." +"g. `appstream-generator`) will already do the right thing when compiling the " +"data." +msgstr "" + +#: src/as-validator-issue-tag.h:63 +msgid "" +"AppStream descriptions support only a limited set of tags to format text: " +"Paragraphs (

                                    ) and lists (

                                      ,
                                        ). This description markup contains " +"an invalid XML tag that would not be rendered correctly in applications " +"supporting the metainfo specification." +msgstr "" + +#: src/as-validator-issue-tag.h:69 +msgid "" +"This description paragraph contains invalid markup. Currently, only " +"and are permitted." +msgstr "" + +#: src/as-validator-issue-tag.h:74 +msgid "Enumerations must only have list items (
                                      1. ) as children." +msgstr "" + +#: src/as-validator-issue-tag.h:79 +msgid "" +"The first `description/p` paragraph of this component might be too short (< " +"80 characters). Please consider starting with a longer paragraph to improve " +"how the description looks like in software centers and to provide more " +"detailed information on this component immediately in the first paragraph." msgstr "" -#: tools/ascli-utils.c:377 -msgid "Compulsory for" +#: src/as-validator-issue-tag.h:86 +msgid "" +"The description contains a web URL in plain text. This is not allowed, " +"please use the tag instead to share links." msgstr "" -#: src/as-validator-issue-tag.h:361 -msgid "Consider using a secure (HTTPS) URL for the remote icon link." +#: src/as-validator-issue-tag.h:91 +msgid "" +"As per AppStream specification, the mentioned tag must only appear once in " +"this context. Having multiple tags of this kind is not valid." msgstr "" -#: src/as-validator-issue-tag.h:383 -msgid "Consider using a secure (HTTPS) URL for this web link." +#: src/as-validator-issue-tag.h:96 +msgid "" +"The mentioned tag is empty, which is highly likely not intended as it should " +"have content." msgstr "" -#: src/as-validator-issue-tag.h:189 +#: src/as-validator-issue-tag.h:101 msgid "" -"Consider using a secure (HTTPS) URL to reference this screenshot image or " -"video." +"The component ID is required to follow a reverse domain-name scheme for its " +"name. See the AppStream specification for details." msgstr "" -#: tools/appstream-cli.c:870 -msgid "Convert a YAML or text NEWS file into metainfo releases." +#: src/as-validator-issue-tag.h:106 +msgid "" +"The component ID is not a reverse domain-name. Please update the ID to avoid " +"future issues and be compatible with all AppStream implementations.\n" +"You may also consider to update the name of the accompanying .desktop file " +"to follow the latest version of the Desktop-Entry specification and use a " +"rDNS name for it as well. In any case, do not forget to mention the new " +"desktop-entry in a tag for this component to keep the " +"application launchable from software centers and the .desktop file data " +"associated with the metainfo data." msgstr "" -#. TRANSLATORS: "convert" command in ascli. "Collection XML" is a term describing a specific type of AppStream XML data. -#: tools/appstream-cli.c:865 -msgid "Convert collection XML to YAML or vice versa." +#: src/as-validator-issue-tag.h:114 +msgid "" +"The component ID might not follow the reverse domain-name schema (the TLD " +"used by it is not known to the validator)." msgstr "" -#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results -#: tools/ascli-actions-mdata.c:228 -#, c-format -msgid "Could not find component providing '%s::%s'." +#: src/as-validator-issue-tag.h:119 +msgid "" +"The component ID contains an invalid character. Only ASCII characters, dots " +"and numbers are permitted." msgstr "" -#: tools/appstream-cli.c:869 -msgid "Create a XDG desktop-entry file from a metainfo file." +#: src/as-validator-issue-tag.h:124 +msgid "" +"The component ID contains a hyphen/minus. Using a hyphen is strongly " +"discouraged, to improve interoperability with other tools such as D-Bus. A " +"good option is to replace any hyphens with underscores (`_`)." msgstr "" -#: tools/appstream-cli.c:868 +#: src/as-validator-issue-tag.h:130 msgid "" -"Create a template for a metainfo file (to be filled out by the upstream " -"project)." +"The component ID contains a segment starting with a number. Starting a " +"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " +"interoperability with other tools such as D-Bus. Ideally, prefix these " +"segments with an underscore." msgstr "" -#: tools/ascli-actions-misc.c:228 -#, c-format -msgid "Creating new desktop-entry file '%s' using data from '%s'" +#: src/as-validator-issue-tag.h:136 +msgid "The component ID should only contain lowercase letters." msgstr "" -#: src/as-provided.c:160 -msgid "D-Bus Session Services" +#: src/as-validator-issue-tag.h:141 +msgid "" +"The component is part of the Freedesktop project, but its ID does not start " +"with fd.o's reverse-DNS name (\"org.freedesktop\")." msgstr "" -#: src/as-provided.c:158 -msgid "D-Bus System Services" +#: src/as-validator-issue-tag.h:146 +msgid "" +"The component is part of the KDE project, but its ID does not start with " +"KDEs reverse-DNS name (\"org.kde\")." msgstr "" -#: src/as-category.c:195 -msgctxt "Category of Office" -msgid "Database" -msgstr "بنکەدراوە" - -#: src/as-category.c:86 -msgctxt "Category of Development" -msgid "Debuggers" -msgstr "هەڵەدۆزەکان" - -#: tools/ascli-utils.c:353 -msgid "Default Screenshot URL" +#: src/as-validator-issue-tag.h:151 +msgid "" +"The component is part of the GNOME project, but its ID does not start with " +"GNOMEs reverse-DNS name (\"org.gnome\")." msgstr "" -#. TRANSLATORS: ascli flag description for: --format -#: tools/appstream-cli.c:83 -msgid "Default metadata format (valid values are 'xml' and 'yaml')." +#: src/as-validator-issue-tag.h:156 +msgid "The SPDX license expression is invalid and could not be parsed." msgstr "" -#: tools/ascli-utils.c:333 -msgid "Description" -msgstr "پێناسە" - -#. developer name -#: tools/ascli-utils.c:321 -msgid "Developer" -msgstr "گەشەپێدەر" - -#. TRANSLATORS: this is the menu spec main category for Development -#: src/as-category.c:305 -msgid "Developer Tools" -msgstr "ئامرازەکانی گەشەپێدەر" - -#: tools/appstream-cli.c:862 -msgid "Display status information about available AppStream metadata." +#: src/as-validator-issue-tag.h:161 +msgid "" +"The license ID was not found in the SPDX database. Please check that the " +"license ID is written in an SPDX-conformant way and is a valid free software " +"license." msgstr "" -#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions -#: tools/ascli-actions-misc.c:52 -msgid "Distribution metadata:" +#: src/as-validator-issue-tag.h:167 +msgid "" +"The metadata itself seems to be licensed under a complex collection of " +"licenses. Please license the data under a simple permissive license, like " +"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " +"collections without the risk of license violations due to mutually " +"incompatible licenses." msgstr "" -#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) -#: tools/appstream-cli.c:126 -msgid "Do not use network access." +#: src/as-validator-issue-tag.h:173 +msgid "" +"The metadata itself does not seem to be licensed under a permissive license. " +"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " +"0BSD to allow distributors to include it in mixed data collections without " +"the risk of license violations due to mutually incompatible licenses." msgstr "" -#. TRANSLATORS: ascli flag description for: --no-color -#: tools/appstream-cli.c:908 -msgid "Don't show colored output." +#: src/as-validator-issue-tag.h:179 +msgid "" +"The update-contact does not appear to be a valid email address (escaping of " +"`@` is only allowed as `_at_` or `_AT_`)." msgstr "" -#: tools/appstream-cli.c:853 -msgid "Dump raw XML metadata for a component matching the ID." +#: src/as-validator-issue-tag.h:184 +msgid "" +"Unable to reach the screenshot image on its remote location - does the image " +"exist?" msgstr "" -#. TRANSLATORS: this is the menu spec main category for Education -#: src/as-category.c:308 -msgid "Education" -msgstr "پەروەردە" - -#. TRANSLATORS: No metainfo files have been found -#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 -msgid "Empty." -msgstr "بەتاڵ." - -#: src/as-category.c:141 -msgctxt "Category of Games" -msgid "Emulators" -msgstr "لاسایکردنەوە" - -#. TRANSLATORS: ascli flag description for: --force -#: tools/appstream-cli.c:245 -msgid "Enforce a cache refresh." +#: src/as-validator-issue-tag.h:189 +msgid "" +"Unable to reach the screenshot video on its remote location - does the video " +"file exist?" msgstr "" -#: src/as-validator-issue-tag.h:74 -msgid "Enumerations must only have list items (
                                      2. ) as children." +#: src/as-validator-issue-tag.h:194 +msgid "" +"Consider using a secure (HTTPS) URL to reference this screenshot image or " +"video." msgstr "" -#: tools/ascli-actions-misc.c:159 -#, c-format -msgid "Error while loading the metadata pool: %s" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:200 +msgid "" +"A screenshot must contain at least one image or video in order to be useful. " +"Please add an to it." msgstr "" -#: tools/ascli-utils.c:327 -msgid "Extends" -msgstr "درێژکردنەوەکان" - -#: src/as-category.c:65 -msgctxt "Category of AudioVideo" -msgid "Featured" +#: src/as-validator-issue-tag.h:205 +msgid "" +"A screenshot must contain either images or videos, but not both at the same " +"time. Please use this screenshot exclusively for either static images or for " +"videos." msgstr "" -#: src/as-category.c:256 -msgctxt "Category of Communication" -msgid "Featured" +#: src/as-validator-issue-tag.h:211 +msgid "The screenshot does not have a caption text. Consider adding one." msgstr "" -#: src/as-category.c:83 -msgctxt "Category of Development" -msgid "Featured" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:217 +msgid "" +"The screenshot video does not specify which video codec was used in a " +"`codec` property." msgstr "" -#: src/as-category.c:98 -msgctxt "Category of Education" -msgid "Featured" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:223 +msgid "" +"The screenshot video does not specify which container format was used in a " +"`container` property." msgstr "" -#: src/as-category.c:120 -msgctxt "Category of Games" -msgid "Featured" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:229 +msgid "" +"The selected video codec is not supported by AppStream and software centers " +"may not be able to play the video. Only the AV1 and VP9 codecs are currently " +"supported, using `av1` and `vp9` as values for the `codec` property." msgstr "" -#: src/as-category.c:165 -msgctxt "Category of Graphics" -msgid "Featured" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:236 +msgid "" +"The selected video container format is not supported by AppStream and " +"software centers may not be able to play the video. Only the WebM and " +"Matroska video containers are currently supported, using `webm` and `mkv` as " +"values for the `container` property." msgstr "" -#: src/as-category.c:188 -msgctxt "Category of Office" -msgid "Featured" +#: src/as-validator-issue-tag.h:242 +msgid "" +"For videos, only the WebM and Matroska (.mkv) container formats are " +"currently supported. The file extension of the referenced video does not " +"belong to either of these formats." msgstr "" -#: src/as-category.c:231 -msgctxt "Category of Science" -msgid "Featured" +#: src/as-validator-issue-tag.h:248 +msgid "" +"The default screenshot of a software component must not be a video. Use a " +"static image as default screenshot and set the video as a secondary " +"screenshot." msgstr "" -#: src/as-category.c:278 -msgctxt "Category of Utility" -msgid "Featured" +#: src/as-validator-issue-tag.h:253 +msgid "" +"Found an unknown tag in a requires/recommends group. This is likely an " +"error, because a component relation of this type is unknown." msgstr "" -#: tools/ascli-actions-validate.c:171 tools/ascli-actions-validate.c:349 -#, c-format -msgid "File '%s' does not exist." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:259 +msgid "" +"A `requires` or `recommends` item requires a value to denote a valid " +"relation." msgstr "" -#: src/as-category.c:287 -msgctxt "Category of Utility" -msgid "File System" -msgstr "پەڕگەی سیستەم" - -#: src/as-category.c:198 -msgctxt "Category of Office" -msgid "Finance" -msgstr "سەرمایەگوزاری" - -#: src/as-provided.c:164 -msgid "Flashed Firmware" +#. TRANSLATORS: `version` is an AppStream XML property. Please do not translate it. +#: src/as-validator-issue-tag.h:265 +msgid "" +"Found `version` property on required/recommended item of a type that should " +"not have or require a version." msgstr "" -#: src/as-provided.c:150 -msgid "Fonts" -msgstr "جۆرەپیت" - -#: src/as-category.c:211 -msgctxt "Category of Addons" -msgid "Fonts" -msgstr "جۆرەپیت" - -#: src/as-validator-issue-tag.h:237 +#. TRANSLATORS: `version` and `compare` are AppStream XML properties. Please do not translate them. +#: src/as-validator-issue-tag.h:271 msgid "" -"For videos, only the WebM and Matroska (.mkv) container formats are " -"currently supported. The file extension of the referenced video does not " -"belong to either of these formats." +"Found `version` property on this required/recommended item, but not " +"`compare` property. It is recommended to explicitly define a comparison " +"operation." msgstr "" -#. TRANSLATORS: ascli flag description for: --format when validating XML files -#: tools/appstream-cli.c:131 -msgid "Format of the generated report (valid values are 'text' and 'yaml')." +#: src/as-validator-issue-tag.h:276 +msgid "" +"Invalid comparison operation on relation item. Only eq/ne/lt/gt/le/ge are " +"permitted." msgstr "" -#. TRANSLATORS: Found metainfo files in legacy directories -#: tools/ascli-actions-misc.c:138 -#, c-format -msgid "Found %i components in legacy paths." +#: src/as-validator-issue-tag.h:281 +msgid "" +"The relation item has a comparison operation set, but does not support any " +"comparisons." msgstr "" -#: tools/ascli-actions-misc.c:123 -#, c-format -msgid "Found %i components." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:287 +msgid "" +"Found a memory size relation in a `requires` tag. This means users will not " +"be able to even install the component without having enough RAM. This is " +"usually not intended and you want to use `memory` in the `recommends` tag " +"instead." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:294 +msgid "" +"Found a user input control relation in a `requires` tag. This means users " +"will not be able to even install the component without having the defined " +"input control available on the system. This is usually not intended and you " +"want to use `control` in the `recommends` tag instead." msgstr "" -#. TRANSLATORS: 'version' is an AppStream XML property. Please do not translate it. -#: src/as-validator-issue-tag.h:260 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:301 msgid "" -"Found 'version' property on required/recommended item of a type that should " -"not have or require a version." +"This `control` item defines an unknown input method and is invalid. Check " +"the specification for a list of permitted values." msgstr "" -#. TRANSLATORS: 'version' and 'compare' are AppStream XML properties. Please do not translate them. -#: src/as-validator-issue-tag.h:266 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:307 msgid "" -"Found 'version' property on this required/recommended item, but not " -"'compare' property. It is recommended to explicitly define a comparison " -"operation." +"This `display_length` item contains an invalid display length. Its value " +"must either be a shorthand string, or positive integer value denoting " +"logical pixels. Please refer to the AppStream specification for more " +"information on this tag." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:277 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:314 msgid "" -"Found a memory size dependency in a 'requires' tag. This means users will " -"not be able to even install the component without having enough RAM. This is " -"usually not intended and you want to use 'memory' in the 'recommends' tag " -"instead." +"This `side` property of this `display_length` item contains an invalid " +"value. It must either be `shortest` or `longest`, or unset to imply " +"`shortest` to make the item value refer to either the shortest or longest " +"side of the display." msgstr "" -#: src/as-validator-issue-tag.h:248 +#: src/as-validator-issue-tag.h:320 msgid "" -"Found an unknown tag in a requires/recommends group. This is likely an " -"error, because a component relation of this type is unknown." +"The set component type is not a recognized, valid AppStream component type." msgstr "" -#: src/as-validator-issue-tag.h:427 +#: src/as-validator-issue-tag.h:325 msgid "" -"Found invalid tag. Non-standard tags should be prefixed with 'x-'. AppStream " -"also provides the tag to add arbitrary custom data to metainfo " -"files. This tag is read by AppStream libraries and may be useful instead of " -"defining new custom toplevel or 'x-'-prefixed tags if you just want to add " -"custom data to a metainfo file." +"The component has a priority value set. This is not allowed in metainfo " +"files." msgstr "" -#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. -#: src/as-validator.c:526 src/as-validator.c:939 src/as-validator.c:1024 -#: src/as-validator.c:1237 -#, c-format -msgid "Found: %s - Allowed: %s" +#: src/as-validator-issue-tag.h:330 +msgid "" +"The component has a `merge` method defined. This is not allowed in metainfo " +"files." msgstr "" -#. TRANSLATORS: this is the menu spec main category for Game -#: src/as-category.c:311 -msgid "Games" -msgstr "یارییەکان" +#: src/as-validator-issue-tag.h:335 +msgid "The component is missing an ID ( tag)." +msgstr "" -#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command -#: tools/appstream-cli.c:814 -msgid "Generate the output in the selected format ('yaml' or 'text')." +#: src/as-validator-issue-tag.h:340 +msgid "The component is missing a name ( tag)." msgstr "" -#: tools/appstream-cli.c:849 -msgid "Get components which provide the given item." +#: src/as-validator-issue-tag.h:345 +msgid "The component is missing a summary ( tag)." msgstr "" -#: tools/appstream-cli.c:848 -msgid "Get information about a component by its ID." +#: src/as-validator-issue-tag.h:350 +msgid "" +"The tag still contains a `type` property, probably from an old " +"conversion to the recent metainfo format." msgstr "" -#. TRANSLATORS: this is the menu spec main category for Graphics -#: src/as-category.c:314 -msgid "Graphics & Photography" -msgstr "وێنە و فۆتۆگرافی" +#: src/as-validator-issue-tag.h:355 +msgid "" +"The `pkgname` tag appears multiple times. You should evaluate creating a " +"metapackage containing the metainfo and .desktop files in order to avoid " +"defining multiple package names per component." +msgstr "" -#: tools/ascli-utils.c:300 -msgid "Homepage" -msgstr "ماڵپەڕ" +#: src/as-validator-issue-tag.h:360 +msgid "The component name should (likely) not end with a dot (`.`)." +msgstr "" -#: src/as-category.c:89 -#, fuzzy -msgctxt "Category of Development" -msgid "IDEs" -msgstr "IDEs" +#: src/as-validator-issue-tag.h:365 +msgid "The component summary should not end with a dot (`.`)." +msgstr "" -#: tools/ascli-utils.c:301 -msgid "Icon" -msgstr "وێنۆچکە" +#: src/as-validator-issue-tag.h:370 +msgid "The component summary must not contain tabs or linebreaks." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:351 -msgid "Icons of type 'remote' must contain an URL to the referenced icon." +#: src/as-validator-issue-tag.h:375 +msgid "The summary must not contain any URL. Use the tags for links." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:344 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:381 msgid "" -"Icons of type 'stock' or 'cached' must not contain an URL, a full or an " +"Icons of type `stock` or `cached` must not contain an URL, a full or an " "relative path to the icon. Only file basenames or stock names are allowed." msgstr "" -#: tools/ascli-actions-misc.c:94 -msgid "Iconsets" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:388 +msgid "Icons of type `remote` must contain an URL to the referenced icon." msgstr "" -#: tools/ascli-utils.c:295 -msgid "Identifier" -msgstr "ناسێنەر" - -#: src/as-category.c:217 -msgctxt "Category of Addons" -msgid "Input Sources" +#: src/as-validator-issue-tag.h:393 +msgid "Unable to reach remote icon at the given web location - does it exist?" msgstr "" -#: tools/appstream-cli.c:863 -msgid "Install a metadata file into the right location." +#: src/as-validator-issue-tag.h:398 +msgid "Consider using a secure (HTTPS) URL for the remote icon link." msgstr "" -#: tools/appstream-cli.c:859 -msgid "Install software matching the component-ID." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:404 +msgid "" +"Metainfo files may only contain icons of type `stock` or `remote`, the set " +"type is not allowed." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:373 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:410 msgid "" -"Invalid 'type' property for this 'url' tag. URLs of this type are not known " +"Invalid `type` property for this `url` tag. URLs of this type are not known " "in the AppStream specification." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:553 +#: src/as-validator-issue-tag.h:415 msgid "" -"Invalid tag found in collection metadata. Only 'component' tags are " -"permitted." +"Unable to reach remote location that this URL references - does it exist?" msgstr "" -#: tools/ascli-actions-mdata.c:213 -msgid "Invalid type for provided item selected. Valid values are:" +#: src/as-validator-issue-tag.h:420 +msgid "Consider using a secure (HTTPS) URL for this web link." msgstr "" -#: src/as-validator-issue-tag.h:271 -msgid "" -"Invalid version comparison operation on relation item. Only eq/ne/lt/gt/le/" -"ge are permitted." +#: src/as-validator-issue-tag.h:425 +msgid "A web URL was expected for this value." msgstr "" -#: src/as-validator-issue-tag.h:450 +#: src/as-validator-issue-tag.h:430 msgid "" -"It is recommended to add a long description to this component to present it " -"better to users." +"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." msgstr "" -#: src/as-validator-issue-tag.h:445 -msgid "" -"It would be useful to add a long description to this font to present it " -"better to users." +#: src/as-validator-issue-tag.h:435 +msgid "The can not contain a hyperlink." msgstr "" -#: src/as-category.c:144 -msgctxt "Category of Games" -msgid "Kids" -msgstr "منداڵان" - -#: src/as-category.c:220 -msgctxt "Category of Addons" -msgid "Language Packs" -msgstr "گورزەی زمان" - -#: src/as-category.c:107 -msgctxt "Category of Education" -msgid "Languages" -msgstr "زمانەکان" +#: src/as-validator-issue-tag.h:440 +msgid "" +"The set value is not an identifier for a desktop environment as registered " +"with Freedesktop.org." +msgstr "" -#: src/as-provided.c:144 -msgid "Libraries" -msgstr "پەڕتووکخانە" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:446 +msgid "This `launchable` tag has an unknown type and can not be used." +msgstr "" -#. license -#: tools/ascli-utils.c:363 -msgid "License" -msgstr "بڕوانامە" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:452 +msgid "This `bundle` tag has an unknown type and can not be used." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:629 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:458 msgid "" -"Licenses for 'runtime' components are usually too complex to reflect them in " -"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " -"value for this component's 'project_license'. E.g. `LicenseRef-free=https://" -"example.com/licenses.html`" +"The `update_contact` tag should not be included in collection AppStream XML." msgstr "" -#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command -#: tools/appstream-cli.c:771 +#: src/as-validator-issue-tag.h:463 msgid "" -"Limit the number of release entries that end up in the metainfo file (0 for " -"unlimited)." +"This tag is a GNOME-specific extension to AppStream and not part of the " +"official specification. Do not expect it to work in all implementations and " +"in all software centers." msgstr "" -#: src/as-category.c:223 -msgctxt "Category of Addons" -msgid "Localization" +#: src/as-validator-issue-tag.h:469 +msgid "" +"Found invalid tag. Non-standard tags should be prefixed with `x-`. AppStream " +"also provides the tag to add arbitrary custom data to metainfo " +"files. This tag is read by AppStream libraries and may be useful instead of " +"defining new custom toplevel or `x-`-prefixed tags if you just want to add " +"custom data to a metainfo file." msgstr "" -#: src/as-category.c:147 -msgctxt "Category of Games" -msgid "Logic" -msgstr "ژیربێژی" - -#. TRANSLATORS: ascli flag description for: --no-cache -#: tools/appstream-cli.c:67 -msgid "Make request without any caching." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:477 +msgid "" +"The essential tag `metadata_license` is missing. A license for the metadata " +"itself always has to be defined." msgstr "" -#. TRANSLATORS: ascli flag description for: --cachepath -#: tools/appstream-cli.c:57 -msgid "Manually selected location of AppStream cache." +#: src/as-validator-issue-tag.h:482 +msgid "" +"The component is missing a long description. Components of this type must " +"have a long description." msgstr "" -#. TRANSLATORS: ascli flag description for: --datapath -#: tools/appstream-cli.c:62 -msgid "Manually selected location of AppStream metadata to scan." +#: src/as-validator-issue-tag.h:487 +msgid "" +"It would be useful to add a long description to this font to present it " +"better to users." msgstr "" -#: src/as-pool.c:1280 +#: src/as-validator-issue-tag.h:492 msgid "" -"Many components have been recognized as invalid. See debug output for " -"details." +"It is recommended to add a long description to this component to present it " +"better to users." msgstr "" -#: src/as-category.c:111 -msgctxt "Category of Education" -msgid "Math" -msgstr "بیرکاری" +#: src/as-validator-issue-tag.h:497 +msgid "" +"This generic component is missing a long description. It may be useful to " +"add one." +msgstr "" -#: src/as-category.c:243 -msgctxt "Category of Science" -msgid "Math" -msgstr "بیرکاری" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:503 +msgid "" +"Type `console-application` component, but no information about binaries in " +"$PATH was provided via a `provides/binary` tag." +msgstr "" -#: src/as-provided.c:148 -msgid "Media types" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:509 +msgid "" +"This `web-application` component is missing a `launchable` tag of type `url`." msgstr "" -#: tools/ascli-actions-mdata.c:364 -#, c-format -msgid "Metadata file '%s' does not exist." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:515 +msgid "" +"This `web-application` component is missing a `icon` tag to specify a valid " +"icon." msgstr "" -#: src/as-pool.c:881 -msgid "Metadata files have errors:" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:521 +msgid "" +"This `web-application` component is missing categorizations. A `categories` " +"block is likely missing." msgstr "" -#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 -#: tools/ascli-actions-misc.c:515 -#, c-format -msgid "Metainfo file '%s' does not exist." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:527 +msgid "" +"Type `font` component, but no font information was provided via a `provides/" +"font` tag." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:367 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:533 msgid "" -"Metainfo files may only contain icons of type 'stock' or 'remote', the set " -"type is not allowed." +"Type `driver` component, but no modalias information was provided via a " +"`provides/modalias` tag." msgstr "" -#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report -#: tools/ascli-actions-misc.c:116 -msgid "Metainfo files:" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:539 +msgid "" +"An `extends` tag is specified, but the component is not of type `addon`, " +"`localization` or `repository`." msgstr "" -#: src/as-provided.c:152 -msgid "Modaliases" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:545 +msgid "The component is an addon, but no `extends` tag was specified." msgstr "" -#: src/as-category.c:74 -msgctxt "Category of AudioVideo" -msgid "Music Players" -msgstr "لێدەری مۆسیقا" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:551 +msgid "" +"This `localization` component is missing an `extends` tag, to specify the " +"components it adds localization to." +msgstr "" -#: tools/ascli-utils.c:296 -msgid "Name" -msgstr "ناو" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:557 +msgid "" +"This `localization` component does not define any languages this " +"localization is for." +msgstr "" -#: src/as-category.c:266 -msgctxt "Category of Communication" -msgid "News" -msgstr "هەواڵ" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:563 +msgid "" +"This `service` component is missing a `launchable` tag of type `service`." +msgstr "" -#: src/as-validator-issue-tag.h:589 -msgid "No AppStream metadata was found in this directory or directory tree." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:569 +msgid "" +"Suggestions of any type other than `upstream` are not allowed in metainfo " +"files." msgstr "" -#. pedantic because not everything which has metadata is an application -#: src/as-validator-issue-tag.h:594 -msgid "No XDG applications directory found." +#: src/as-validator-issue-tag.h:574 +msgid "" +"The category name is not valid. Refer to the XDG Menu Specification for a " +"list of valid category names." msgstr "" -#: tools/ascli-actions-mdata.c:182 -#, c-format -msgid "No component matching '%s' found." +#: src/as-validator-issue-tag.h:579 +msgid "The screenshot caption is too long (should be <= 80 characters)" msgstr "" -#: tools/ascli-actions-misc.c:105 -msgid "No icons." -msgstr "هیچ وێنۆچکەیەک نییە." +#: src/as-validator-issue-tag.h:584 +msgid "Unable to read file." +msgstr "" -#: tools/ascli-actions-misc.c:402 -msgid "No output filename specified, modifying metainfo file directly." +#: src/as-validator-issue-tag.h:589 +msgid "The XML of this file is malformed." msgstr "" -#: tools/ascli-actions-misc.c:306 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:595 msgid "" -"No provided binary specified in metainfo file, and no exec command specified " -"via '--exec'. Can not create 'Exec=' key." +"Invalid tag found in collection metadata. Only `component` tags are " +"permitted." msgstr "" -#: tools/ascli-actions-misc.c:284 -msgid "No stock icon name was provided in the metainfo file. Can not continue." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:601 +msgid "" +"The metainfo file uses an ancient version of the AppStream specification, " +"which can not be validated. Please migrate it to version 0.6 (or higher)." msgstr "" -#: tools/ascli-actions-pkgmgr.c:53 +#: src/as-validator-issue-tag.h:606 msgid "" -"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" -"\" (part of PackageKit) is available." +"This XML document has an unknown root tag. Maybe this file is not a metainfo " +"document?" msgstr "" -#: tools/ascli-actions-mdata.c:206 -msgid "No value for the item to search for was defined." +#: src/as-validator-issue-tag.h:611 +msgid "The metainfo filename does not match the component ID." msgstr "" -#. TRANSLATORS: this is the menu spec main category for Office -#: src/as-category.c:317 -msgid "Office" -msgstr "نووسینگە" - -#. TRANSLATORS: An unknown option was passed to appstreamcli. -#: tools/appstream-cli.c:192 -#, fuzzy, c-format -msgid "Option '%s' is unknown." -msgstr "فرمانی '%s' نەناسراوە." +#: src/as-validator-issue-tag.h:616 +msgid "Unable to read the .desktop file associated with this component." +msgstr "" -#: tools/ascli-utils.c:298 -msgid "Package" -msgstr "گورزە" +#: src/as-validator-issue-tag.h:621 +msgid "This component metadata refers to a non-existing .desktop file." +msgstr "" -#: src/as-category.c:171 -msgctxt "Category of Graphics" -msgid "Photography" -msgstr "فۆتۆگرافی" +#: src/as-validator-issue-tag.h:626 +msgid "" +"The category defined in the .desktop file is not valid. Refer to the XDG " +"Menu Specification for a list of valid categories." +msgstr "" -#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) -#: tools/appstream-cli.c:121 -msgid "Print detailed explanation for found issues." +#: src/as-validator-issue-tag.h:631 +msgid "No AppStream metadata was found in this directory or directory tree." msgstr "" -#. TRANSLATORS: ascli flag description for: --details -#: tools/appstream-cli.c:98 -msgid "Print detailed output about found components." +#. pedantic because not everything which has metadata is an application +#: src/as-validator-issue-tag.h:636 +msgid "No XDG applications directory found." msgstr "" -#. project group -#: tools/ascli-utils.c:360 -msgid "Project Group" -msgstr "دەستەی پڕۆژە" +#: src/as-validator-issue-tag.h:641 +msgid "" +"The metainfo file is stored in a legacy path. Please place it in `/usr/share/" +"metainfo/`." +msgstr "" -#: tools/ascli-utils.c:405 -msgid "Provided Items" +#: src/as-validator-issue-tag.h:646 +msgid "The metainfo file specifies multiple components. This is not allowed." msgstr "" -#: src/as-provided.c:154 -msgid "Python (Version 2)" -msgstr "پایسۆن )وەشانی 2(" +#: src/as-validator-issue-tag.h:651 +msgid "" +"The releases are not sorted in a latest to oldest version order. This is " +"required as some tools will assume that the latest version is always at the " +"top. Sorting releases also increases overall readability of the metainfo " +"file." +msgstr "" -#: src/as-provided.c:156 -msgid "Python 3" -msgstr "پایسۆن 3" +#: src/as-validator-issue-tag.h:658 +msgid "The value set as release urgency is not a known urgency value." +msgstr "" -#: tools/appstream-cli.c:854 -msgid "Rebuild the component metadata cache." +#: src/as-validator-issue-tag.h:663 +msgid "The value set as release type is invalid." msgstr "" -#: tools/appstream-cli.c:860 -msgid "Remove software matching the component-ID." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:669 +msgid "" +"The value set as artifact type is invalid. Must be either `source` or " +"`binary`." msgstr "" -#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty -#: src/as-validator.c:364 -msgid "Retrieved file size was zero." +#: src/as-validator-issue-tag.h:674 +msgid "The value set as artifact bundle type is invalid." msgstr "" -#: src/as-category.c:248 -msgctxt "Category of Science" -msgid "Robotics" -msgstr "ڕۆبۆتی" +#: src/as-validator-issue-tag.h:679 +msgid "" +"The platform triplet for this release is invalid. It must be in the form of " +"`architecture-oskernel-osenv` - refer to the AppStream documentation or " +"information on normalized GNU triplets for more information and valid fields." +msgstr "" -#: src/as-category.c:150 -msgctxt "Category of Games" -msgid "Role Playing" +#: src/as-validator-issue-tag.h:686 +msgid "The selected checksumming algorithm is unsupported or unknown." msgstr "" -#: tools/appstream-cli.c:196 tools/appstream-cli.c:926 -#, c-format -msgid "Run '%s --help' to see a full list of available command line options." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:692 +msgid "The size type is unknown. Must be `download` or `installed`." msgstr "" -#: tools/appstream-cli.c:198 -#, c-format +#: src/as-validator-issue-tag.h:697 msgid "" -"Run '%s --help' to see a list of available commands and options, and '%s %s " -"--help' to see a list of options specific for this subcommand." +"The artifact filename must be a file basename, not a (relative or absolute) " +"path." msgstr "" -#: src/as-provided.c:162 -msgid "Runtime Firmware" +#: src/as-validator-issue-tag.h:702 +msgid "The value set as release issue type is invalid." msgstr "" -#: src/as-category.c:174 -msgctxt "Category of Graphics" -msgid "Scanning" +#: src/as-validator-issue-tag.h:707 +msgid "" +"The issue is tagged at security vulnerability with a CVE number, but its " +"value does not look like a valid CVE identifier." msgstr "" -#. TRANSLATORS: this is the menu spec main category for Science -#: src/as-category.c:323 -msgid "Science" -msgstr "زانست" - -#: tools/appstream-cli.c:847 -msgid "Search the component database." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:713 +msgid "" +"This component is missing information about releases. Consider adding a " +"`releases` tag to describe releases and their changes." msgstr "" -#: src/as-category.c:293 -msgctxt "Category of Utility" -msgid "Security" -msgstr "پاراستن" +#: src/as-validator-issue-tag.h:718 +msgid "" +"The AppStream specification requires a complete, ISO 8601 date string with " +"at least day-granularity to denote dates. Please ensure the date string is " +"valid." +msgstr "" -#. TRANSLATORS: ascli flag description for: --verbose -#: tools/appstream-cli.c:903 -msgid "Show extra debugging information." +#: src/as-validator-issue-tag.h:724 +msgid "" +"This component extends, provides, requires or recommends itself, which is " +"certainly not intended and may confuse users or machines dealing with this " +"metadata." msgstr "" -#. TRANSLATORS: ascli flag description for: --version -#: tools/appstream-cli.c:897 -msgid "Show the program version." -msgstr "پیشاندانی وەشانی بەرنامە." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:731 +msgid "" +"Licenses for `runtime` components are usually too complex to reflect them in " +"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " +"value for this component's `project_license`. E.g. `LicenseRef-free=https://" +"example.com/licenses.html`" +msgstr "" -#: src/as-validator-issue-tag.h:635 +#: src/as-validator-issue-tag.h:737 msgid "" -"Since a 'runtime' component is comprised of multiple other software " +"Since a `runtime` component is comprised of multiple other software " "components, their component-IDs may be listed in a `` section for " "this runtime." msgstr "" -#: src/as-category.c:153 -msgctxt "Category of Games" -msgid "Sports" -msgstr "وەرزش" - -#: src/as-category.c:157 -msgctxt "Category of Games" -msgid "Strategy" -msgstr "ستراتیژی" +#: src/as-validator-issue-tag.h:742 +msgid "" +"The type of the item that the component provides is not known to AppStream." +msgstr "" -#. these are commands we can use with appstreamcli -#: tools/appstream-cli.c:845 -msgid "Subcommands:" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:748 +msgid "" +"The toplevel `mimetypes` tag is deprecated. Please use `mediatype` tags in a " +"`provides` block instead to indicate that your software provides a media " +"handler for the given types." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:527 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks) and keep the URL intact. +#: src/as-validator-issue-tag.h:755 msgid "" -"Suggestions of any type other than 'upstream' are not allowed in metainfo " -"files." +"This component has no `content_rating` tag to provide age rating " +"information. You can generate the tag data online by answering a few " +"questions at https://hughsie.github.io/oars/" msgstr "" -#: tools/ascli-utils.c:297 -msgid "Summary" -msgstr "پوختە" +#: src/as-validator.c:150 +msgid "" +"The emitted issue tag is unknown in the tag registry of AppStream. This is a " +"bug in the validator itself, please report this issue in our bugtracker." +msgstr "" -#. TRANSLATORS: Status summary in ascli -#: tools/ascli-actions-misc.c:145 -msgid "Summary:" -msgstr "پوختە:" +#: src/as-validator.c:344 +msgid "URL format is invalid." +msgstr "" -#: src/as-category.c:290 -msgctxt "Category of Utility" -msgid "System Monitoring" +#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. +#: src/as-validator.c:522 src/as-validator.c:937 src/as-validator.c:1031 +#: src/as-validator.c:1428 src/as-validator.c:1448 src/as-validator.c:1481 +#, c-format +msgid "Found: %s - Allowed: %s" msgstr "" -#: src/as-validator-issue-tag.h:46 -msgid "Tags of this name are not permitted in this section." +#. TRANSLATORS: ascompose flag description for: --verbose +#: tools/appstream-compose.c:181 +msgid "Show extra debugging information" msgstr "" -#: src/as-category.c:284 -msgctxt "Category of Utility" -msgid "Terminal Emulators" +#. TRANSLATORS: ascompose flag description for: --no-color +#. TRANSLATORS: ascli flag description for: --no-color +#: tools/appstream-compose.c:184 tools/appstreamcli.c:1087 +msgid "Don't show colored output." msgstr "" -#: src/as-category.c:281 -msgctxt "Category of Utility" -msgid "Text Editors" -msgstr "دەستکاریکەری دەق" +#. TRANSLATORS: ascompose flag description for: --version +#. TRANSLATORS: ascli flag description for: --version +#: tools/appstream-compose.c:187 tools/appstreamcli.c:1076 +msgid "Show the program version." +msgstr "پیشاندانی وەشانی بەرنامە." -#: src/as-validator-issue-tag.h:318 -msgid "" -"The 'pkgname' tag appears multiple times. You should evaluate creating a " -"metapackage containing the metainfo and .desktop files in order to avoid " -"defining multiple package names per component." +#. TRANSLATORS: ascompose flag description for: --full-report +#: tools/appstream-compose.c:190 +msgid "Set mode of the issue report that is printed to the console" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:416 -msgid "" -"The 'update_contact' tag should not be included in collection AppStream XML." +#. TRANSLATORS: ascompose flag description for: --prefix +#: tools/appstream-compose.c:193 +msgid "Override the default prefix (`/usr` by default)" msgstr "" -#: tools/ascli-actions-mdata.c:467 -#, c-format -msgid "The .desktop file '%s' does not exist." +#. TRANSLATORS: ascompose flag description for: --result-root +#: tools/appstream-compose.c:196 +msgid "Set the result output directory" msgstr "" -#: src/as-validator-issue-tag.h:393 -msgid "The can not contain a hyperlink." +#. TRANSLATORS: ascompose flag description for: --data-dir, `collection metadata` is an AppStream term +#: tools/appstream-compose.c:199 +msgid "Override the collection metadata output directory" msgstr "" -#: src/as-validator-issue-tag.h:313 -msgid "" -"The tag still contains a 'type' property, probably from an old " -"conversion to the recent metainfo format." +#. TRANSLATORS: ascompose flag description for: --icons-dir +#: tools/appstream-compose.c:202 +msgid "Override the icon output directory" msgstr "" -#: src/as-validator-issue-tag.h:616 +#. TRANSLATORS: ascompose flag description for: --media-dir +#: tools/appstream-compose.c:205 msgid "" -"The AppStream specification requires a complete, ISO 8601 date string with " -"at least day-granularity to denote dates. Please ensure the date string is " -"valid." +"Set the media output directory (for media data to be served by a webserver)" msgstr "" -#: src/as-pool.c:1924 -#, c-format -msgid "" -"The AppStream system cache was updated, but problems were found which " -"resulted in metadata being ignored: %s" +#. TRANSLATORS: ascompose flag description for: --hints-dir +#: tools/appstream-compose.c:208 +msgid "Set a directory where HTML and text issue reports will be stored" msgstr "" -#: src/as-pool.c:1922 -msgid "" -"The AppStream system cache was updated, but some components were ignored. " -"Refer to the verbose log for more information." +#. TRANSLATORS: ascompose flag description for: --origin +#. TRANSLATORS: ascompose flag description for: --media-baseurl +#: tools/appstream-compose.c:211 tools/appstream-compose.c:214 +msgid "Set the origin name" msgstr "" -#: src/as-validator-issue-tag.h:151 -msgid "The SPDX license expression is invalid and could not be parsed." +#. TRANSLATORS: ascompose flag description for: --components +#: tools/appstream-compose.c:217 +msgid "A comma-separated list of component-IDs to accept" msgstr "" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows -#: tools/appstream-cli.c:683 -#, c-format -msgid "The TYPE must be a valid component-type, such as: %s" +#. TRANSLATORS: error message +#: tools/appstream-compose.c:231 +msgid "Failed to parse arguments" msgstr "" -#: src/as-validator-issue-tag.h:547 -msgid "The XML of this file is malformed." -msgstr "" +#. TRANSLATORS: Output if appstreamcli --version is executed. +#: tools/appstream-compose.c:242 tools/appstreamcli.c:1230 +#, fuzzy, c-format +msgid "AppStream version: %s" +msgstr "AppStream CLI وەشانی ئامراز: %s" -#: src/as-validator-issue-tag.h:584 +#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. +#: tools/appstream-compose.c:245 tools/appstreamcli.c:1233 +#, fuzzy, c-format msgid "" -"The category defined in the .desktop file is not valid. Refer to the XDG " -"Menu Specification for a list of valid categories." -msgstr "" +"AppStream CLI tool version: %s\n" +"AppStream library version: %s" +msgstr "AppStream CLI وەشانی ئامراز: %s" -#: src/as-validator-issue-tag.h:532 +#. TRANSLATORS: invalid value for the --print-report CLI option +#: tools/appstream-compose.c:264 +#, c-format msgid "" -"The category name is not valid. Refer to the XDG Menu Specification for a " -"list of valid category names." +"Invalid value for `--print-report` option: %s\n" +"Possible values are:\n" +"`on-error` - only prints a short report if the run failed (default)\n" +"`short` - generates an abridged report\n" +"`full` - a detailed report will be printed" msgstr "" -#: src/as-validator-issue-tag.h:124 -msgid "" -"The component ID contains a hyphen/minus. Using a hyphen is strongly " -"discouraged, to improve interoperability with other tools such as D-Bus. A " -"good option is to replace any hyphens with underscores ('_')." +#: tools/appstream-compose.c:285 +#, c-format +msgid "Automatically selected '%s' as data output location." msgstr "" -#: src/as-validator-issue-tag.h:130 -msgid "" -"The component ID contains a segment starting with a number. Starting a " -"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " -"interoperability with other tools such as D-Bus. Ideally, prefix these " -"segments with an underscore." +#. TRANSLATORS: we don't have a destination directory for compose +#: tools/appstream-compose.c:288 +msgid "No destination directory set, please provide a data output location!" msgstr "" -#: src/as-validator-issue-tag.h:119 -msgid "" -"The component ID contains an invalid character. Only ASCII characters, dots " -"and numbers are permitted." +#: tools/appstream-compose.c:298 tools/appstream-compose.c:300 +msgid "WARNING" msgstr "" -#: src/as-validator-issue-tag.h:106 -msgid "" -"The component ID is not a reverse domain-name. Please update the ID to avoid " -"future issues and be compatible with all AppStream implementations.\n" -"You may also consider to update the name of the accompanying .desktop file " -"to follow the latest version of the Desktop-Entry specification and use a " -"rDNS name for it as well. In any case, do not forget to mention the new " -"desktop-entry in a tag for this component to keep the " -"application launchable from software centers and the .desktop file data " -"associated with the metainfo data." +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:337 +#, c-format +msgid "Only accepting components: %s" msgstr "" -#: src/as-validator-issue-tag.h:101 -msgid "" -"The component ID is required to follow a reverse domain-name scheme for its " -"name. See the AppStream specification for details." +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:340 +#, c-format +msgid "Only accepting component: %s" msgstr "" -#: src/as-validator-issue-tag.h:114 -msgid "" -"The component ID might not follow the reverse domain-name schema (the TLD " -"used by it is not known to the validator)." +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:345 +msgid "Processing directories:" msgstr "" -#: src/as-validator-issue-tag.h:293 -msgid "" -"The component has a 'merge' method defined. This is not allowed in metainfo " -"files." +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:348 +msgid "Processing directory:" msgstr "" -#: src/as-validator-issue-tag.h:288 -msgid "" -"The component has a priority value set. This is not allowed in metainfo " -"files." +#. TRANSLATORS: error message +#: tools/appstream-compose.c:357 +msgid "Can not process invalid directory" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:503 -msgid "The component is an addon, but no 'extends' tag was specified." +#. TRANSLATORS: information message +#: tools/appstream-compose.c:369 +msgid "Composing metadata..." msgstr "" -#: src/as-validator-issue-tag.h:440 -msgid "" -"The component is missing a long description. Components of this type must " -"have a long description." +#. TRANSLATORS: error message +#: tools/appstream-compose.c:374 +msgid "Failed to compose AppStream metadata" msgstr "" -#: src/as-validator-issue-tag.h:303 -msgid "The component is missing a name ( tag)." +#. TRANSLATORS: appstream-compose failed to include all data +#: tools/appstream-compose.c:380 +msgid "Run failed, some data was ignored." msgstr "" -#: src/as-validator-issue-tag.h:308 -msgid "The component is missing a summary ( tag)." +#. TRANSLATORS: information message of appstream-compose +#: tools/appstream-compose.c:382 +msgid "Errors were raised during this compose run:" msgstr "" -#: src/as-validator-issue-tag.h:298 -msgid "The component is missing an ID ( tag)." +#: tools/appstream-compose.c:383 +msgid "" +"Refer to the generated issue report data for details on the individual " +"problems." msgstr "" -#: src/as-validator-issue-tag.h:136 -msgid "" -"The component is part of the Freedesktop project, but its ID does not start " -"with fd.o's reverse-DNS name (\"org.freedesktop\")." +#: tools/appstream-compose.c:386 +msgid "Overview of generated hints:" msgstr "" -#: src/as-validator-issue-tag.h:146 -msgid "" -"The component is part of the GNOME project, but its ID does not start with " -"GNOMEs reverse-DNS name (\"org.gnome\")." +#. TRANSLATORS: information message +#: tools/appstream-compose.c:388 +msgid "Success!" msgstr "" -#: src/as-validator-issue-tag.h:141 -msgid "" -"The component is part of the KDE project, but its ID does not start with " -"KDEs reverse-DNS name (\"org.kde\")." +#. TRANSLATORS: ascli flag description for: --cachepath +#: tools/appstreamcli.c:59 +msgid "Manually selected location of AppStream cache." msgstr "" -#: src/as-validator-issue-tag.h:323 -msgid "The component name should (likely) not end with a dot ('.')." +#. TRANSLATORS: ascli flag description for: --datapath +#: tools/appstreamcli.c:64 +msgid "Manually selected location of AppStream metadata to scan." msgstr "" -#: src/as-validator-issue-tag.h:333 -msgid "The component summary must not contain tabs or linebreaks." +#. TRANSLATORS: ascli flag description for: --no-cache +#: tools/appstreamcli.c:69 +msgid "Make request without any caching." msgstr "" -#: src/as-validator-issue-tag.h:328 -msgid "The component summary should not end with a dot ('.')." +#. TRANSLATORS: ascli flag description for: --format +#: tools/appstreamcli.c:85 +msgid "Default metadata format (valid values are 'xml' and 'yaml')." msgstr "" -#: src/as-validator-issue-tag.h:243 -msgid "" -"The default screenshot of a software component must not be a video. Use a " -"static image as default screenshot and set the video as a secondary " -"screenshot." +#. TRANSLATORS: ascli flag description for: --details +#: tools/appstreamcli.c:100 +msgid "Print detailed output about found components." msgstr "" -#: src/as-validator-issue-tag.h:86 -msgid "" -"The description contains a web URL in plain text. This is not allowed, " -"please use the tag instead to share links." +#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) +#: tools/appstreamcli.c:118 +msgid "Also show pedantic hints." msgstr "" -#: src/as-validator.c:152 -msgid "" -"The emitted issue tag is unknown in the tag registry of AppStream. This is a " -"bug in the validator itself, please report this issue in our bugtracker." +#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) +#: tools/appstreamcli.c:123 +msgid "Print detailed explanation for found issues." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:435 -msgid "" -"The essential tag 'metadata_license' is missing. A license for the metadata " -"itself always has to be defined." +#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) +#: tools/appstreamcli.c:128 +msgid "Do not use network access." msgstr "" -#: src/as-validator-issue-tag.h:79 -msgid "" -"The first 'description/p' paragraph of this component might be too short (< " -"80 characters). Please consider starting with a longer paragraph to improve " -"how the description looks like in software centers and to provide more " -"detailed information on this component immediately in the first paragraph." +#. TRANSLATORS: ascli flag description for: --format when validating XML files +#: tools/appstreamcli.c:133 +msgid "Format of the generated report (valid values are 'text' and 'yaml')." msgstr "" -#: src/as-validator-issue-tag.h:156 -msgid "" -"The license ID was not found in the SPDX database. Please check that the " -"license ID is written in an SPDX-conformant way and is a valid free software " -"license." +#. TRANSLATORS: This is the header to the --help menu for subcommands +#. TRANSLATORS: This is the header to the --help menu +#: tools/appstreamcli.c:153 tools/appstreamcli.c:981 +msgid "AppStream command-line interface" msgstr "" -#: src/as-validator-issue-tag.h:96 -msgid "" -"The mentioned tag is empty, which is highly likely not intended as it should " -"have content." +#: tools/appstreamcli.c:156 +#, c-format +msgid "'%s' command" msgstr "" -#: src/as-validator-issue-tag.h:168 -msgid "" -"The metadata itself does not seem to be licensed under a permissive license. " -"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " -"0BSD to allow distributors to include it in mixed data collections without " -"the risk of license violations due to mutually incompatible licenses." +#. TRANSLATORS: An unknown option was passed to appstreamcli. +#: tools/appstreamcli.c:191 +#, fuzzy, c-format +msgid "Option '%s' is unknown." +msgstr "فرمانی '%s' نەناسراوە." + +#: tools/appstreamcli.c:195 tools/appstreamcli.c:1207 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options." msgstr "" -#: src/as-validator-issue-tag.h:162 +#: tools/appstreamcli.c:197 +#, c-format msgid "" -"The metadata itself seems to be licensed under a complex collection of " -"licenses. Please license the data under a simple permissive license, like " -"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " -"collections without the risk of license violations due to mutually " -"incompatible licenses." +"Run '%s --help' to see a list of available commands and options, and '%s %s " +"--help' to see a list of options specific for this subcommand." msgstr "" -#: src/as-validator-issue-tag.h:599 -msgid "" -"The metainfo file is stored in a legacy path. Please place it in '/usr/share/" -"metainfo'." +#. TRANSLATORS: ascli flag description for: --force +#: tools/appstreamcli.c:245 +msgid "Enforce a cache refresh." msgstr "" -#: src/as-validator-issue-tag.h:604 -msgid "The metainfo file specifies multiple components. This is not allowed." +#. TRANSLATORS: ascli flag description for: --user +#: tools/appstreamcli.c:251 +msgid "Update the user-specific instead of the system-wide cache." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:559 -msgid "" -"The metainfo file uses an ancient version of the AppStream specification, " -"which can not be validated. Please migrate it to version 0.6 (or higher)." +#. TRANSLATORS: ascli flag description for: --origin (part of the "put" subcommand) +#: tools/appstreamcli.c:477 +msgid "Set the data origin for the installed metadata collection file." msgstr "" -#: src/as-validator-issue-tag.h:569 -msgid "The metainfo filename does not match the component ID." +#. TRANSLATORS: ascli flag description for: --user (part of the "put" subcommand) +#: tools/appstreamcli.c:482 +msgid "Install the file for the current user, instead of globally." msgstr "" -#: src/as-validator-issue-tag.h:609 +#: tools/appstreamcli.c:631 msgid "" -"The releases are not sorted in a latest to oldest version order. This is " -"required as some tools will assume that the latest version is always at the " -"top. Sorting releases also increases overall readability of the metainfo " -"file." +"You need to provide at least two version numbers to compare as parameters." msgstr "" -#: src/as-validator-issue-tag.h:537 -msgid "The screenshot caption is too long (should be <= 80 characters)" +#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. +#: tools/appstreamcli.c:660 +#, c-format +msgid "Unknown compare relation '%s'. Valid values are:" msgstr "" -#: src/as-validator-issue-tag.h:206 -msgid "The screenshot does not have a caption text. Consider adding one." +#: tools/appstreamcli.c:700 +msgid "" +"Too many parameters: Need two version numbers or version numbers and a " +"comparison operator." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:218 +#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) +#: tools/appstreamcli.c:726 msgid "" -"The screenshot video does not specify which container format was used in a " -"'container' property." +"Use the given .desktop file to fill in the basic values of the metainfo file." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:212 +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand +#: tools/appstreamcli.c:731 msgid "" -"The screenshot video does not specify which video codec was used in a " -"'codec' property." +"This command takes optional TYPE and FILE positional arguments, FILE being a " +"file to write to (or \"-\" for standard output)." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:224 -msgid "" -"The selected video codec is not supported by AppStream and software centers " -"may not be able to play the video. Only the AV1 and VP9 codecs are currently " -"supported, using 'av1' and 'vp9' as values for the 'codec' property." +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows +#: tools/appstreamcli.c:734 +#, c-format +msgid "The TYPE must be a valid component-type, such as: %s" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:231 -msgid "" -"The selected video container format is not supported by AppStream and " -"software centers may not be able to play the video. Only the WebM and " -"Matroska video containers are currently supported, using 'webm' and 'mkv' as " -"values for the 'container' property." +#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) +#: tools/appstreamcli.c:775 +msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." msgstr "" -#: src/as-validator-issue-tag.h:283 -msgid "" -"The set component type is not a recognized, valid AppStream component type." +#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command +#: tools/appstreamcli.c:815 +msgid "Assume the input file is in the selected format ('yaml' or 'text')." msgstr "" -#: src/as-validator-issue-tag.h:398 +#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command +#: tools/appstreamcli.c:820 msgid "" -"The set value is not an identifier for a desktop environment as registered " -"with Freedesktop.org." +"Limit the number of release entries that end up in the metainfo file (0 for " +"unlimited)." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command +#: tools/appstreamcli.c:862 +msgid "Generate the output in the selected format ('yaml' or 'text')." msgstr "" -#: tools/ascli-actions-mdata.c:449 +#: tools/appstreamcli.c:894 #, c-format -msgid "" -"The software component type '%s' is not valid in AppStream. Possible values " -"are:" +msgid "Compose binary '%s' was not found! Can not continue." msgstr "" -#: src/as-validator-issue-tag.h:338 -msgid "The summary must not contain any URL. Use the tags for links." +#. TRANSLATORS: this is a (usually shorter) command alias, shown after the command summary text +#: tools/appstreamcli.c:956 +#, c-format +msgid "(Alias: '%s')" msgstr "" -#: src/as-validator-issue-tag.h:640 -msgid "" -"The type of the item that the component provides is not known to AppStream." +#. these are commands we can use with appstreamcli +#: tools/appstreamcli.c:983 +msgid "Subcommands:" msgstr "" -#: src/as-validator-issue-tag.h:174 +#: tools/appstreamcli.c:1029 msgid "" -"The update-contact does not appear to be a valid email address (escaping of " -"'@' is only allowed as '_at_' or '_AT_')." +"You can find information about subcommand-specific options by passing \"--" +"help\" to the subcommand." msgstr "" -#: tools/ascli-actions-validate.c:363 tools/ascli-actions-validate.c:492 +#. TRANSLATORS: ascli has been run with unknown command. '%s --help' is the command to receive help and should not be translated. +#: tools/appstreamcli.c:1052 #, c-format msgid "" -"The validator can not create reports in the '%s' format. You may select " -"'yaml' or 'text' instead." +"Command '%s' is unknown. Run '%s --help' for a list of available commands." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:410 -msgid "This 'bundle' tag has an unknown type and can not be used." +#. TRANSLATORS: ascli flag description for: --verbose +#: tools/appstreamcli.c:1082 +msgid "Show extra debugging information." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:404 -msgid "This 'launchable' tag has an unknown type and can not be used." +#. TRANSLATORS: ascli flag description for: --profile +#: tools/appstreamcli.c:1090 +msgid "Enable profiling" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:515 -msgid "" -"This 'localization' component does not define any languages this " -"localization is for." +#. TRANSLATORS: `appstreamcli search` command description. +#: tools/appstreamcli.c:1102 +msgid "Search the component database." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:509 -msgid "" -"This 'localization' component is missing an 'extends' tag, to specify the " -"components it adds localization to." +#. TRANSLATORS: `appstreamcli get` command description. +#: tools/appstreamcli.c:1107 +msgid "Get information about a component by its ID." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:521 +#. TRANSLATORS: `appstreamcli what-provides` command description. +#: tools/appstreamcli.c:1112 msgid "" -"This 'service' component is missing a 'launchable' tag of type 'service'." +"Get components which provide the given item. Needs an item type (e.g. lib, " +"bin, python3, …) and item value as parameter." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:473 -msgid "" -"This 'web-application' component is missing a 'icon' tag to specify a valid " -"icon." +#. TRANSLATORS: `appstreamcli dump` command description. +#: tools/appstreamcli.c:1118 +msgid "Dump raw XML metadata for a component matching the ID." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:467 -msgid "" -"This 'web-application' component is missing a 'launchable' tag of type 'url'." +#. TRANSLATORS: `appstreamcli refresh-cache` command description. +#: tools/appstreamcli.c:1123 +msgid "Rebuild the component metadata cache." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:479 -msgid "" -"This 'web-application' component is missing categorizations. A 'categories' " -"block is likely missing." +#. TRANSLATORS: `appstreamcli validate` command description. +#: tools/appstreamcli.c:1129 +msgid "Validate AppStream XML files for issues." msgstr "" -#: src/as-validator-issue-tag.h:564 -msgid "" -"This XML document has an unknown root tag. Maybe this file is not a metainfo " -"document?" +#. TRANSLATORS: `appstreamcli validate-tree` command description. +#: tools/appstreamcli.c:1134 +msgid "Validate an installed file-tree of an application for valid metadata." msgstr "" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand -#: tools/appstream-cli.c:680 -msgid "" -"This command takes optional TYPE and FILE positional arguments, FILE being a " -"file to write to (or \"-\" for standard output)." +#. TRANSLATORS: `appstreamcli install` command description. +#: tools/appstreamcli.c:1140 +msgid "Install software matching the component-ID." msgstr "" -#: src/as-validator-issue-tag.h:622 -msgid "" -"This component extends, provides, requires or recommends itself, which is " -"certainly not intended and may confuse users or machines dealing with this " -"metadata." +#. TRANSLATORS: `appstreamcli remove` command description. +#: tools/appstreamcli.c:1145 +msgid "Remove software matching the component-ID." msgstr "" -#: src/as-validator-issue-tag.h:579 -msgid "This component metadata refers to a non-existing .desktop file." +#. TRANSLATORS: `appstreamcli status` command description. +#: tools/appstreamcli.c:1151 +msgid "Display status information about available AppStream metadata." msgstr "" -#: src/as-validator-issue-tag.h:69 +#. TRANSLATORS: `appstreamcli os-info` command description. +#: tools/appstreamcli.c:1156 msgid "" -"This description paragraph contains invalid markup. Currently, only " -"and are permitted." +"Show information about the current operating system from the metadata index." msgstr "" -#: src/as-validator-issue-tag.h:57 -msgid "" -"This element (paragraph, list, etc.) of a tag must not be " -"localized individually in collection metadata. Localize the whole " -" tag instead. The AppStream collection metadata generator (e." -"g. `appstream-generator`) will already do the right thing when compiling the " -"data." +#. TRANSLATORS: `appstreamcli put` command description. +#: tools/appstreamcli.c:1161 +msgid "Install a metadata file into the right location." msgstr "" -#: src/as-validator-issue-tag.h:455 -msgid "" -"This generic component is missing a long description. It may be useful to " -"add one." +#. TRANSLATORS: `appstreamcli convert` command description. "Collection XML" is a term describing a specific type of AppStream XML data. +#: tools/appstreamcli.c:1166 +msgid "Convert collection XML to YAML or vice versa." msgstr "" -#: src/as-validator-issue-tag.h:421 +#. TRANSLATORS: `appstreamcli vercmp` command description. +#: tools/appstreamcli.c:1171 +msgid "Compare two version numbers." +msgstr "" + +#. TRANSLATORS: `appstreamcli new-template` command description. +#: tools/appstreamcli.c:1177 msgid "" -"This tag is a GNOME-specific extension to AppStream and not part of the " -"official specification. Do not expect it to work in all implementations and " -"in all software centers." +"Create a template for a metainfo file (to be filled out by the upstream " +"project)." msgstr "" -#: src/as-validator-issue-tag.h:41 -msgid "This tag requires a type property." +#. TRANSLATORS: `appstreamcli make-desktop-file` command description. +#: tools/appstreamcli.c:1182 +msgid "Create a desktop-entry file from a metainfo file." msgstr "" -#: data/org.freedesktop.appstream.cli.metainfo.xml:15 -msgid "" -"This tool allows for reading, writing, validating and transformation of " -"AppStream XML or YAML metadata. It also gives access to the system metadata " -"pool, for example to query for software that provides a specific MIME-type, " -"and installing it by its software component identifier." +#. TRANSLATORS: `appstreamcli news-to-metainfo` command description. +#: tools/appstreamcli.c:1187 +msgid "Convert a YAML or text NEWS file into metainfo releases." msgstr "" -#: src/as-validator-issue-tag.h:388 -msgid "" -"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." +#. TRANSLATORS: `appstreamcli metainfo-to-news` command description. +#: tools/appstreamcli.c:1192 +msgid "Write NEWS text or YAML file with information from a metainfo file." msgstr "" -#: tools/appstream-cli.c:648 -msgid "" -"Too many parameters: Need two version numbers or version numbers and a " -"comparison operator." +#. TRANSLATORS: `appstreamcli compose` command description. +#: tools/appstreamcli.c:1198 +msgid "Compose AppStream collection metadata from directory trees." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:461 -msgid "" -"Type 'console-application' component, but no information about binaries in " -"$PATH was provided via a 'provides/binary' tag." +#. TRANSLATORS: ascli has been run without command. +#: tools/appstreamcli.c:1206 +msgid "You need to specify a command." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:491 -msgid "" -"Type 'driver' component, but no modalias information was provided via a " -"provides/modalias tag." +#. TRANSLATORS: In ascli: The requested action needs higher permissions. +#: tools/ascli-actions-mdata.c:70 +msgid "You might need superuser permissions to perform this action." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:485 -msgid "" -"Type 'font' component, but no font information was provided via a 'provides/" -"font' tag." +#. we performed a cache refresh +#. TRANSLATORS: Updating the metadata cache succeeded +#: tools/ascli-actions-mdata.c:80 +msgid "AppStream cache update completed successfully." msgstr "" -#: src/as-validator.c:333 -msgid "URL format is invalid." +#. cache wasn't updated, so the update wasn't necessary +#: tools/ascli-actions-mdata.c:86 +msgid "AppStream cache update is not necessary." +msgstr "" + +#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments +#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. +#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:253 +#: tools/ascli-actions-pkgmgr.c:80 +msgid "You need to specify a component-ID." msgstr "" -#: tools/ascli-actions-mdata.c:544 +#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:265 +#: tools/ascli-actions-pkgmgr.c:93 #, c-format -msgid "Unable to build the template metainfo file: %s" +msgid "Unable to find component with ID '%s'!" msgstr "" -#. TRANSLATORS: User is trying to convert a file in ascli -#: tools/ascli-actions-mdata.c:400 -msgid "" -"Unable to convert file: Could not determine output format, please set it " -"explicitly using '--format='." +#: tools/ascli-actions-mdata.c:164 +msgid "You need to specify a term to search for." msgstr "" #. TRANSLATORS: We failed to find any component in the database, likely due to an error @@ -1544,187 +2344,208 @@ msgid "Unable to find component matching %s!" msgstr "" -#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:266 -#: tools/ascli-actions-pkgmgr.c:93 +#: tools/ascli-actions-mdata.c:182 #, c-format -msgid "Unable to find component with ID '%s'!" +msgid "No component matching '%s' found." msgstr "" -#: tools/ascli-actions-misc.c:224 -#, c-format -msgid "Unable to load existing desktop-entry file template: %s" +#: tools/ascli-actions-mdata.c:206 +msgid "No value for the item to search for was defined." msgstr "" -#: src/as-validator-issue-tag.h:356 -msgid "Unable to reach remote icon at the given web location - does it exist?" +#: tools/ascli-actions-mdata.c:212 +msgid "Invalid type for provided item selected. Valid values are:" msgstr "" -#: src/as-validator-issue-tag.h:378 -msgid "" -"Unable to reach remote location that this URL references - does it exist?" +#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results +#: tools/ascli-actions-mdata.c:227 +#, c-format +msgid "Could not find component providing '%s::%s'." msgstr "" -#: src/as-validator-issue-tag.h:179 -msgid "" -"Unable to reach the screenshot image on its remote location - does the image " -"exist?" +#: tools/ascli-actions-mdata.c:306 +msgid "You need to specify a metadata file." msgstr "" -#: src/as-validator-issue-tag.h:184 -msgid "" -"Unable to reach the screenshot video on its remote location - does the video " -"file exist?" +#: tools/ascli-actions-mdata.c:320 +#, c-format +msgid "Unable to install metadata file: %s" msgstr "" -#: src/as-validator-issue-tag.h:542 -msgid "Unable to read file." +#: tools/ascli-actions-mdata.c:340 +msgid "You need to specify an input and output file." msgstr "" -#: src/as-validator-issue-tag.h:574 -msgid "Unable to read the .desktop file associated with this component." +#: tools/ascli-actions-mdata.c:347 +#, c-format +msgid "Metadata file '%s' does not exist." +msgstr "" + +#. TRANSLATORS: User is trying to convert a file in ascli +#: tools/ascli-actions-mdata.c:387 +msgid "" +"Unable to convert file: Could not determine output format, please set it " +"explicitly using '--format='." msgstr "" -#: tools/ascli-actions-mdata.c:473 +#: tools/ascli-actions-mdata.c:438 #, c-format -msgid "Unable to read the .desktop file: %s" +msgid "Unable to find operating system component '%s'!" msgstr "" -#: src/as-pool.c:606 -msgid "Unable to remove old cache." +#: tools/ascli-actions-mdata.c:443 +#, fuzzy +msgid "Version" +msgstr "وەشان: %s" + +#: tools/ascli-actions-mdata.c:467 +msgid "" +"You need to give an AppStream software component type to generate a " +"template. Possible values are:" msgstr "" -#: tools/ascli-actions-misc.c:370 +#: tools/ascli-actions-mdata.c:469 #, c-format -msgid "Unable to save desktop entry file: %s" +msgid "" +"The software component type '%s' is not valid in AppStream. Possible values " +"are:" msgstr "" -#: tools/ascli-actions-mdata.c:552 +#: tools/ascli-actions-mdata.c:487 #, c-format -msgid "Unable to save the template metainfo file: %s" +msgid "The .desktop file '%s' does not exist." msgstr "" -#: tools/ascli-actions-pkgmgr.c:67 +#: tools/ascli-actions-mdata.c:493 #, c-format -msgid "Unable to spawn package manager: %s" +msgid "Unable to read the .desktop file: %s" msgstr "" -#: tools/ascli-actions-mdata.c:322 +#: tools/ascli-actions-mdata.c:564 #, c-format -msgid "Unable to write to '%s', can not install metainfo file." +msgid "Unable to build the template metainfo file: %s" msgstr "" -#. TRANSLATORS: ascli has been run with unknown command. -#: tools/appstream-cli.c:1009 +#: tools/ascli-actions-mdata.c:572 #, c-format -msgid "Unknown command '%s'." +msgid "Unable to save the template metainfo file: %s" msgstr "" -#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. -#: tools/appstream-cli.c:608 +#. TRANSLATORS: In the status report of ascli: Header +#: tools/ascli-actions-misc.c:47 +msgid "AppStream Status:" +msgstr "دۆخی AppStream:" + +#: tools/ascli-actions-misc.c:48 #, c-format -msgid "Unknown compare relation '%s'. Valid values are:" -msgstr "" +msgid "Version: %s" +msgstr "وەشان: %s" -#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) -#: tools/appstream-cli.c:675 -msgid "" -"Use the given .desktop file to fill in the basic values of the metainfo file." +#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions +#: tools/ascli-actions-misc.c:52 +msgid "Distribution metadata:" msgstr "" -#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) -#: tools/appstream-cli.c:725 -msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." +#: tools/ascli-actions-misc.c:94 +msgid "Iconsets" msgstr "" -#. TRANSLATORS: this is the menu spec main category for Utilities -#: src/as-category.c:329 -msgid "Utilities" -msgstr "کاربەری" +#: tools/ascli-actions-misc.c:105 +msgid "No icons." +msgstr "هیچ وێنۆچکەیەک نییە." -#: tools/appstream-cli.c:856 -msgid "Validate AppStream XML files for issues." +#. TRANSLATORS: No metainfo files have been found +#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 +msgid "Empty." +msgstr "بەتاڵ." + +#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report +#: tools/ascli-actions-misc.c:116 +msgid "Metainfo files:" msgstr "" -#: tools/appstream-cli.c:857 -msgid "Validate an installed file-tree of an application for valid metadata." +#: tools/ascli-actions-misc.c:123 +#, c-format +msgid "Found %i components." msgstr "" -#: tools/ascli-actions-validate.c:301 tools/ascli-actions-validate.c:442 +#. TRANSLATORS: Found metainfo files in legacy directories +#: tools/ascli-actions-misc.c:138 #, c-format -msgid "Validation failed: %s" +msgid "Found %i components in legacy paths." msgstr "" -#: tools/ascli-actions-validate.c:289 tools/ascli-actions-validate.c:430 -msgid "Validation was successful." +#. TRANSLATORS: Status summary in ascli +#: tools/ascli-actions-misc.c:145 +msgid "Summary:" +msgstr "پوختە:" + +#: tools/ascli-actions-misc.c:153 +#, c-format +msgid "We have information on %i software components." msgstr "" -#: tools/ascli-actions-validate.c:291 tools/ascli-actions-validate.c:432 +#: tools/ascli-actions-misc.c:159 #, c-format -msgid "Validation was successful: %s" +msgid "Error while loading the metadata pool: %s" msgstr "" -#: tools/appstream-cli.c:851 -msgid "Value of the item that should be found." +#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 +msgid "You need to specify a metainfo file as input." msgstr "" -#: src/as-category.c:177 -msgctxt "Category of Graphics" -msgid "Vector Graphics" +#: tools/ascli-actions-misc.c:188 +msgid "" +"You need to specify a desktop-entry file to create or augment as output." msgstr "" -#: tools/ascli-actions-misc.c:48 +#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 +#: tools/ascli-actions-misc.c:515 #, c-format -msgid "Version: %s" -msgstr "وەشان: %s" - -#: src/as-category.c:180 -msgctxt "Category of Graphics" -msgid "Viewers" -msgstr "بینەر" +msgid "Metainfo file '%s' does not exist." +msgstr "" -#: tools/ascli-actions-misc.c:153 +#: tools/ascli-actions-misc.c:219 #, c-format -msgid "We have information on %i software components." +msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." msgstr "" -#: src/as-category.c:270 -msgctxt "Category of Communication" -msgid "Web Browsers" -msgstr "وێبگەڕ" +#: tools/ascli-actions-misc.c:224 +#, c-format +msgid "Unable to load existing desktop-entry file template: %s" +msgstr "" -#: src/as-category.c:202 -msgctxt "Category of Office" -msgid "Word Processor" +#: tools/ascli-actions-misc.c:228 +#, c-format +msgid "Creating new desktop-entry file '%s' using data from '%s'" msgstr "" -#: tools/appstream-cli.c:871 -msgid "Write NEWS text or YAML file with information from a metainfo file." +#: tools/ascli-actions-misc.c:284 +msgid "No stock icon name was provided in the metainfo file. Can not continue." msgstr "" -#: tools/appstream-cli.c:874 +#: tools/ascli-actions-misc.c:306 msgid "" -"You can find information about subcommand-specific options by passing \"--" -"help\" to the subcommand." +"No provided binary specified in metainfo file, and no exec command specified " +"via '--exec'. Can not create 'Exec=' key." msgstr "" -#. TRANSLATORS: In ascli: The requested action needs higher permissions. -#: tools/ascli-actions-mdata.c:70 -msgid "You might need superuser permissions to perform this action." +#: tools/ascli-actions-misc.c:370 +#, c-format +msgid "Unable to save desktop entry file: %s" msgstr "" -#: tools/ascli-actions-mdata.c:447 -msgid "" -"You need to give an AppStream software component type to generate a " -"template. Possible values are:" +#: tools/ascli-actions-misc.c:393 +msgid "You need to specify a NEWS file as input." msgstr "" -#: tools/appstream-cli.c:579 +#: tools/ascli-actions-misc.c:397 msgid "" -"You need to provide at least two version numbers to compare as parameters." +"You need to specify a metainfo file to augment, or '-' to print to stdout." msgstr "" -#: tools/ascli-actions-misc.c:393 -msgid "You need to specify a NEWS file as input." +#: tools/ascli-actions-misc.c:402 +msgid "No output filename specified, modifying metainfo file directly." msgstr "" #: tools/ascli-actions-misc.c:509 @@ -1735,85 +2556,148 @@ msgid "You need to specify a NEWS format to write the output in." msgstr "" -#. TRANSLATORS: ascli has been run without command. -#: tools/appstream-cli.c:925 -msgid "You need to specify a command." -msgstr "" - -#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments -#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. -#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:254 -#: tools/ascli-actions-pkgmgr.c:80 -msgid "You need to specify a component-ID." +#: tools/ascli-actions-pkgmgr.c:53 +msgid "" +"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" +"\" (part of PackageKit) is available." msgstr "" -#: tools/ascli-actions-misc.c:188 -msgid "" -"You need to specify a desktop-entry file to create or augment as output." +#: tools/ascli-actions-pkgmgr.c:67 +#, c-format +msgid "Unable to spawn package manager: %s" msgstr "" -#: tools/ascli-actions-mdata.c:309 -msgid "You need to specify a metadata file." +#. TRANSLATORS: We found no distribution package or bundle to install to make this software available +#: tools/ascli-actions-pkgmgr.c:106 +#, c-format +msgid "Component '%s' has no installation candidate." msgstr "" -#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 -msgid "You need to specify a metainfo file as input." +#: tools/ascli-actions-validate.c:176 tools/ascli-actions-validate.c:354 +#, c-format +msgid "File '%s' does not exist." msgstr "" -#: tools/ascli-actions-misc.c:397 -msgid "" -"You need to specify a metainfo file to augment, or '-' to print to stdout." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "error"-type hints +#: tools/ascli-actions-validate.c:228 +#, c-format +msgid "errors: %lu" msgstr "" -#: tools/ascli-actions-validate.c:385 tools/ascli-actions-validate.c:479 -msgid "You need to specify a root directory to start validation!" +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "warning"-type hints +#: tools/ascli-actions-validate.c:235 +#, c-format +msgid "warnings: %lu" msgstr "" -#: tools/ascli-actions-mdata.c:164 -msgid "You need to specify a term to search for." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "info"-type hints +#: tools/ascli-actions-validate.c:242 +#, c-format +msgid "infos: %lu" msgstr "" -#: tools/ascli-actions-mdata.c:357 -msgid "You need to specify an input and output file." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "pedantic"-type hints +#: tools/ascli-actions-validate.c:249 +#, c-format +msgid "pedantic: %lu" msgstr "" -#: tools/ascli-actions-validate.c:263 tools/ascli-actions-validate.c:337 +#: tools/ascli-actions-validate.c:268 tools/ascli-actions-validate.c:342 msgid "You need to specify at least one file to validate!" msgstr "" -#. TRANSLATORS: List of "grey-listed" words sperated with ";" -#. * Do not translate this list directly. Instead, -#. * provide a list of words in your language that people are likely -#. * to include in a search but that should normally be ignored in -#. * the search. -#. -#: src/as-pool.c:107 -msgid "app;application;package;program;programme;suite;tool" +#: tools/ascli-actions-validate.c:294 tools/ascli-actions-validate.c:435 +msgid "Validation was successful." msgstr "" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:223 +#: tools/ascli-actions-validate.c:296 tools/ascli-actions-validate.c:437 #, c-format -msgid "errors: %lu" +msgid "Validation was successful: %s" msgstr "" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:237 +#: tools/ascli-actions-validate.c:306 tools/ascli-actions-validate.c:447 #, c-format -msgid "infos: %lu" +msgid "Validation failed: %s" msgstr "" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:244 +#: tools/ascli-actions-validate.c:368 tools/ascli-actions-validate.c:497 #, c-format -msgid "pedantic: %lu" +msgid "" +"The validator can not create reports in the '%s' format. You may select " +"'yaml' or 'text' instead." msgstr "" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:230 -#, c-format -msgid "warnings: %lu" +#: tools/ascli-actions-validate.c:390 tools/ascli-actions-validate.c:484 +msgid "You need to specify a root directory to start validation!" +msgstr "" + +#: tools/ascli-utils.c:266 +msgid "Identifier" +msgstr "ناسێنەر" + +#: tools/ascli-utils.c:268 +msgid "Internal ID" +msgstr "" + +#: tools/ascli-utils.c:269 +msgid "Name" +msgstr "ناو" + +#: tools/ascli-utils.c:270 +msgid "Summary" +msgstr "پوختە" + +#: tools/ascli-utils.c:271 +msgid "Package" +msgstr "گورزە" + +#: tools/ascli-utils.c:272 +msgid "Bundle" +msgstr "" + +#: tools/ascli-utils.c:273 +msgid "Homepage" +msgstr "ماڵپەڕ" + +#: tools/ascli-utils.c:274 +msgid "Icon" +msgstr "وێنۆچکە" + +#. developer name +#: tools/ascli-utils.c:294 +msgid "Developer" +msgstr "گەشەپێدەر" + +#: tools/ascli-utils.c:300 +msgid "Extends" +msgstr "درێژکردنەوەکان" + +#: tools/ascli-utils.c:306 +msgid "Description" +msgstr "پێناسە" + +#: tools/ascli-utils.c:326 +msgid "Default Screenshot URL" +msgstr "" + +#. project group +#: tools/ascli-utils.c:333 +msgid "Project Group" +msgstr "دەستەی پڕۆژە" + +#. license +#: tools/ascli-utils.c:336 +msgid "License" +msgstr "بڕوانامە" + +#: tools/ascli-utils.c:342 +msgid "Categories" +msgstr "هاوپۆلەکان" + +#: tools/ascli-utils.c:350 +msgid "Compulsory for" msgstr "" -#~ msgid "Command '%s' is unknown." -#~ msgstr "فرمانی '%s' نەناسراوە." +#: tools/ascli-utils.c:378 +msgid "Provided Items" +msgstr "" diff -Nru appstream-0.12.10/po/cs.po appstream-0.14.5/po/cs.po --- appstream-0.12.10/po/cs.po 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/po/cs.po 2021-08-28 20:15:28.000000000 +0000 @@ -1,3 +1,4 @@ +# #-#-#-#-# cs.po (AppStream) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Matthias Klumpp # This file is distributed under the same license as the appstream package. @@ -5,1580 +6,2417 @@ # Translators: # Jozef Mlích , 2015 # Marek Černocký , 2016 +# František Svoboda , 2020. +# #-#-#-#-# cs.po (appstream-glib) #-#-#-#-# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Jozef Mlích , 2015 +# Marek Černocký , 2016 +# Richard Hughes , 2016. #zanata +# Zdenek , 2016. #zanata +# Daniel Rusek , 2017. #zanata +# Zdenek , 2017. #zanata +# Michal Konečný , 2018. #zanata +#, fuzzy msgid "" msgstr "" -"Project-Id-Version: AppStream\n" +"Project-Id-Version: appstream-glib\n" "Report-Msgid-Bugs-To: appstream@lists.freedesktop.org\n" -"POT-Creation-Date: 2020-01-14 01:44+0100\n" -"PO-Revision-Date: 2018-12-28 10:08+0000\n" -"Last-Translator: Pavel Borecki \n" -"Language-Team: Czech \n" +"POT-Creation-Date: 2021-08-28 16:09+0200\n" +"PO-Revision-Date: 2018-06-06 02:23+0000\n" +"Last-Translator: Michal Konečný \n" +"Language-Team: Czech (http://www.transifex.com/freedesktop/appstream-glib/" +"language/cs/)\n" "Language: cs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"#-#-#-#-# cs.po (AppStream) #-#-#-#-#\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -"X-Generator: Weblate 3.4-dev\n" - -#: tools/appstream-cli.c:157 -#, c-format -msgid "'%s' command" -msgstr "Příkaz „%s“" - -#: src/as-category.c:168 -msgctxt "Category of Graphics" -msgid "3D Graphics" -msgstr "3D grafika" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:254 -msgid "" -"A 'requires' or 'recommends' item requires a value to denote a valid " -"relation." -msgstr "" - -#: src/as-validator-issue-tag.h:51 -msgid "" -"A tag must not be localized in metainfo files (upstream " -"metadata). Localize the individual paragraphs instead." -msgstr "" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:195 -msgid "" -"A screenshot must contain at least one image or video in order to be useful. " -"Please add an to it." -msgstr "" - -#: src/as-validator-issue-tag.h:200 -msgid "" -"A screenshot must contain either images or videos, but not both at the same " -"time. Please use this screenshot exclusively for either static images or for " -"videos." -msgstr "" - -#: src/as-category.c:123 -msgctxt "Category of Games" -msgid "Action" -msgstr "Akce" - -#. TRANSLATORS: this is the main category for Add-ons -#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor -#: src/as-category.c:320 tools/ascli-utils.c:398 -msgid "Add-ons" -msgstr "Doplňky" - -#: src/as-category.c:126 -msgctxt "Category of Games" -msgid "Adventure" -msgstr "Dobrodružství" - -#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) -#: tools/appstream-cli.c:116 -msgid "Also show pedantic hints." -msgstr "Při ověřování vypisovat i nalezené drobnosti." - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:497 -msgid "" -"An 'extends' tag is specified, but the component is not of type 'addon', " -"'localization' or 'repository'." -msgstr "" - -#: tools/appstream-cli.c:850 -msgid "An item type (e.g. lib, bin, python3, …)" -msgstr "Typ položky (např. lib, bin, python3, …)" - -#: data/org.freedesktop.appstream.cli.metainfo.xml:9 -msgid "An utility to work with AppStream metadata" -msgstr "Nástroj pro práci s AppStream metadaty" +"X-Generator: Weblate 4.0-dev\n" +"#-#-#-#-# cs.po (appstream-glib) #-#-#-#-#\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +"X-Generator: Zanata 4.6.2\n" #: data/org.freedesktop.appstream.cli.metainfo.xml:8 msgid "AppStream CLI" msgstr "Textové uživatelské rozhraní pro AppStream" -#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. -#: tools/appstream-cli.c:947 -#, c-format -msgid "" -"AppStream CLI tool version: %s\n" -"AppStream library version: %s" -msgstr "" -"Verze nástroje AppStream pro textové uživatelské rozhraní: %s\n" -"Verze knihovny AppStream: %s" - -#. TRANSLATORS: In the status report of ascli: Header -#: tools/ascli-actions-misc.c:47 -msgid "AppStream Status:" -msgstr "Stav nástroje AppStream:" - -#. we performed a cache refresh -#. TRANSLATORS: Updating the metadata cache succeeded -#: tools/ascli-actions-mdata.c:80 -msgid "AppStream cache update completed successfully." -msgstr "Aktualizace mezipaměti AppStream byla úspěšně dokončena." - -#. cache wasn't updated, so the update wasn't necessary -#: tools/ascli-actions-mdata.c:86 -msgid "AppStream cache update is not necessary." -msgstr "Aktualizace mezipaměti AppStream není v tuto chvíli zapotřebí." - -#. TRANSLATORS: This is the header to the --help menu for subcommands -#. TRANSLATORS: This is the header to the --help menu -#: tools/appstream-cli.c:154 tools/appstream-cli.c:843 -msgid "AppStream command-line interface" -msgstr "Rozhraní příkazového řádku pro AppStream" - -#: src/as-validator-issue-tag.h:63 -msgid "" -"AppStream descriptions support only a limited set of tags to format text: " -"Paragraphs (

                                        ) and lists (

                                          ,
                                            ). This description markup contains " -"an invalid XML tag that would not be rendered correctly in applications " -"supporting the metainfo specification." -msgstr "" +#: data/org.freedesktop.appstream.cli.metainfo.xml:9 +msgid "An utility to work with AppStream metadata" +msgstr "Nástroj pro práci s AppStream metadaty" #: data/org.freedesktop.appstream.cli.metainfo.xml:12 -#, fuzzy msgid "" -"AppStream is a cross-distribution specification to provide metadata about " -"software components." +"AppStream is a metadata specification which permits software components to " +"provide information about themselves to automated systems and end-users " +"before the software is actually installed. The AppStream project provides " +"facilities to easily access and transform this metadata, as well as a few " +"additional services for building feature-rich software centers and similar " +"applications that make use of software metadata." +msgstr "" + +#: data/org.freedesktop.appstream.cli.metainfo.xml:18 +#, fuzzy +msgid "" +"The appstreamcli command-line tool allows to read, write, and " +"transform AppStream XML or YAML metadata as well as to validate it for " +"compliance with the specification. It also provides easy access to the " +"system metadata pool, for example to query for software that provides a " +"specific Mediatype handler or for installing software by its component " +"identifier." msgstr "" -"AppStream je standard pro poskytování metadat o programovém vybavení, " -"používaný napříč linuxovými distribucemi." +"Tento nástroj umožňuje čtení, zápis, ověřování a přeměnu AppStream XML nebo " +"YAML metadat. Také zpřístupňuje systémový fond metadat například pro " +"dotazování se na software, poskytující konkrétní MIME typ a jeho instalaci " +"na základě identifikátoru softwarové součásti." -#: src/as-pool.c:1937 -#, fuzzy, c-format -msgid "" -"AppStream system cache refresh failed. Turn on verbose mode to get detailed " -"issue information." -msgstr "" -"Aktualizace mezipaměti AppStream se nezdařila. Zapněte výřečnější režim, ze " -"kterého obdržíte podrobnější informace." +#: src/as-category.c:66 +msgctxt "Category of AudioVideo" +msgid "Featured" +msgstr "Zajímavé" -#. TRANSLATORS: Output if appstreamcli --version is executed. -#: tools/appstream-cli.c:944 -#, c-format -msgid "AppStream version: %s" -msgstr "Verze nástroje AppStream: %s" +#: src/as-category.c:69 +msgctxt "Category of AudioVideo" +msgid "Audio Creation & Editing" +msgstr "Vytváření a úprava zvuku" -#: src/as-category.c:129 -msgctxt "Category of Games" -msgid "Arcade" -msgstr "Arkády" +#: src/as-category.c:75 +msgctxt "Category of AudioVideo" +msgid "Music Players" +msgstr "Přehrávače hudby" -#: src/as-category.c:234 -msgctxt "Category of Science" -msgid "Artificial Intelligence" -msgstr "Umělá inteligence" +#: src/as-category.c:84 +msgctxt "Category of Development" +msgid "Featured" +msgstr "Zajímavé" -#: src/as-validator-issue-tag.h:91 -msgid "" -"As per AppStream specification, the mentioned tag must only appear once in " -"this context. Having multiple tags of this kind is not valid." -msgstr "" +#: src/as-category.c:87 +msgctxt "Category of Development" +msgid "Debuggers" +msgstr "Ladící nástroje" -#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command -#: tools/appstream-cli.c:766 -msgid "Assume the input file is in the selected format ('yaml' or 'text')." -msgstr "" +#: src/as-category.c:90 +msgctxt "Category of Development" +msgid "IDEs" +msgstr "Integrovaná vývojová prostředí" -#: src/as-category.c:101 +#: src/as-category.c:99 msgctxt "Category of Education" -msgid "Astronomy" -msgstr "Astronomie" +msgid "Featured" +msgstr "Zajímavé" -#: src/as-category.c:237 -msgctxt "Category of Science" +#: src/as-category.c:102 +msgctxt "Category of Education" msgid "Astronomy" msgstr "Astronomie" -#. TRANSLATORS: this is the menu spec main category for Audio & Video -#: src/as-category.c:302 -msgid "Audio & Video" -msgstr "Zvuk a video" +#: src/as-category.c:105 +msgctxt "Category of Education" +msgid "Chemistry" +msgstr "Chemie" -#: src/as-category.c:68 -msgctxt "Category of AudioVideo" -msgid "Audio Creation & Editing" -msgstr "Vytváření a úprava zvuku" +#: src/as-category.c:108 +msgctxt "Category of Education" +msgid "Languages" +msgstr "Jazyky" -#: tools/ascli-actions-misc.c:219 -#, c-format -msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." -msgstr "" +#: src/as-category.c:112 +msgctxt "Category of Education" +msgid "Math" +msgstr "Matematika" -#: src/as-provided.c:146 -msgid "Binaries" -msgstr "Spustitelné soubory" +#: src/as-category.c:121 +msgctxt "Category of Games" +msgid "Featured" +msgstr "Zajímavé" + +#: src/as-category.c:124 +msgctxt "Category of Games" +msgid "Action" +msgstr "Akce" + +#: src/as-category.c:127 +msgctxt "Category of Games" +msgid "Adventure" +msgstr "Dobrodružství" + +#: src/as-category.c:130 +msgctxt "Category of Games" +msgid "Arcade" +msgstr "Arkády" -#: src/as-category.c:132 +#: src/as-category.c:133 msgctxt "Category of Games" msgid "Blocks" msgstr "Bloky" -#: src/as-category.c:135 +#: src/as-category.c:136 msgctxt "Category of Games" msgid "Board" msgstr "Deskové" -#: tools/ascli-utils.c:299 -msgid "Bundle" -msgstr "Zabaleno s" - -#: src/as-pool.c:1828 -#, c-format -msgid "Cache location '%s' is not writable." -msgstr "Do umístění mezipaměti „%s“ se nedaří zapisovat." - -#: src/as-category.c:191 -msgctxt "Category of Office" -msgid "Calendar" -msgstr "Kalendář" - -#: tools/ascli-actions-mdata.c:327 -#, c-format -msgid "" -"Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " -"suffix." -msgstr "" -"Nedaří se zkopírovat „%s“: Soubor nemá příponu „.metainfo.xml“ nebo „." -"appdata.xml“." - -#: src/as-category.c:138 +#: src/as-category.c:139 msgctxt "Category of Games" msgid "Card" msgstr "Karetní" -#: tools/ascli-utils.c:369 -msgid "Categories" -msgstr "Kategorie" +#: src/as-category.c:142 +msgctxt "Category of Games" +msgid "Emulators" +msgstr "Emulátory" -#: src/as-category.c:259 -msgctxt "Category of Communication" -msgid "Chat" -msgstr "Okamžitá textová komunikace" +#: src/as-category.c:145 +msgctxt "Category of Games" +msgid "Kids" +msgstr "Dětské" -#: src/as-category.c:104 -msgctxt "Category of Education" -msgid "Chemistry" -msgstr "Chemie" +#: src/as-category.c:148 +msgctxt "Category of Games" +msgid "Logic" +msgstr "Logické" -#: src/as-category.c:240 -msgctxt "Category of Science" -msgid "Chemistry" -msgstr "Chemie" +#: src/as-category.c:151 +msgctxt "Category of Games" +msgid "Role Playing" +msgstr "RPG" -#: src/as-category.c:214 -msgctxt "Category of Addons" -msgid "Codecs" -msgstr "Kodeky" +#: src/as-category.c:154 +msgctxt "Category of Games" +msgid "Sports" +msgstr "Sporty" -#. TRANSLATORS: this is the menu spec main category for Communication -#: src/as-category.c:326 -msgid "Communication & News" -msgstr "Komunikace a novinky" +#: src/as-category.c:158 +msgctxt "Category of Games" +msgid "Strategy" +msgstr "Strategie" -#: tools/appstream-cli.c:866 -msgid "Compare two version numbers." -msgstr "Porovnat dvě čísla verzí." +#: src/as-category.c:166 +msgctxt "Category of Graphics" +msgid "Featured" +msgstr "Zajímavé" -#: src/as-provided.c:166 -msgid "Component" -msgstr "Součást" +#: src/as-category.c:169 +msgctxt "Category of Graphics" +msgid "3D Graphics" +msgstr "3D grafika" -#. TRANSLATORS: We found no distribution package or bundle to install to make this software available -#: tools/ascli-actions-pkgmgr.c:106 +#: src/as-category.c:172 +msgctxt "Category of Graphics" +msgid "Photography" +msgstr "Fotografie" + +#: src/as-category.c:175 +msgctxt "Category of Graphics" +msgid "Scanning" +msgstr "Skenování" + +#: src/as-category.c:178 +msgctxt "Category of Graphics" +msgid "Vector Graphics" +msgstr "Vektorová grafika" + +#: src/as-category.c:181 +msgctxt "Category of Graphics" +msgid "Viewers" +msgstr "Prohlížeče" + +#: src/as-category.c:189 +msgctxt "Category of Office" +msgid "Featured" +msgstr "Zajímavé" + +#: src/as-category.c:192 +msgctxt "Category of Office" +msgid "Calendar" +msgstr "Kalendář" + +#: src/as-category.c:196 +msgctxt "Category of Office" +msgid "Database" +msgstr "Databáze" + +#: src/as-category.c:199 +msgctxt "Category of Office" +msgid "Finance" +msgstr "Finance" + +#: src/as-category.c:203 +msgctxt "Category of Office" +msgid "Word Processor" +msgstr "Textový procesor" + +#: src/as-category.c:212 +msgctxt "Category of Addons" +msgid "Fonts" +msgstr "Písma" + +#: src/as-category.c:215 +msgctxt "Category of Addons" +msgid "Codecs" +msgstr "Kodeky" + +#: src/as-category.c:218 +msgctxt "Category of Addons" +msgid "Input Sources" +msgstr "Vstupní zdroje" + +#: src/as-category.c:221 +msgctxt "Category of Addons" +msgid "Language Packs" +msgstr "Jazyková data" + +#: src/as-category.c:224 +msgctxt "Category of Addons" +msgid "Localization" +msgstr "Překlady" + +#: src/as-category.c:232 +msgctxt "Category of Science" +msgid "Featured" +msgstr "Zajímavé" + +#: src/as-category.c:235 +msgctxt "Category of Science" +msgid "Artificial Intelligence" +msgstr "Umělá inteligence" + +#: src/as-category.c:238 +msgctxt "Category of Science" +msgid "Astronomy" +msgstr "Astronomie" + +#: src/as-category.c:241 +msgctxt "Category of Science" +msgid "Chemistry" +msgstr "Chemie" + +#: src/as-category.c:244 +msgctxt "Category of Science" +msgid "Math" +msgstr "Matematika" + +#: src/as-category.c:249 +msgctxt "Category of Science" +msgid "Robotics" +msgstr "Robotika" + +#: src/as-category.c:257 +msgctxt "Category of Communication" +msgid "Featured" +msgstr "Zajímavé" + +#: src/as-category.c:260 +msgctxt "Category of Communication" +msgid "Chat" +msgstr "Okamžitá textová komunikace" + +#: src/as-category.c:267 +msgctxt "Category of Communication" +msgid "News" +msgstr "Novinky" + +#: src/as-category.c:271 +msgctxt "Category of Communication" +msgid "Web Browsers" +msgstr "Webové prohlížeče" + +#: src/as-category.c:279 +msgctxt "Category of Utility" +msgid "Featured" +msgstr "Zajímavé" + +#: src/as-category.c:282 +msgctxt "Category of Utility" +msgid "Text Editors" +msgstr "Textové editory" + +#: src/as-category.c:285 +msgctxt "Category of Utility" +msgid "Terminal Emulators" +msgstr "Emulátory terminálu" + +#: src/as-category.c:288 +msgctxt "Category of Utility" +msgid "File System" +msgstr "Souborový systém" + +#: src/as-category.c:291 +msgctxt "Category of Utility" +msgid "System Monitoring" +msgstr "Dohledování systému" + +#: src/as-category.c:294 +msgctxt "Category of Utility" +msgid "Security" +msgstr "Zabezpečení" + +#. TRANSLATORS: this is the menu spec main category for Audio & Video +#: src/as-category.c:303 +msgid "Audio & Video" +msgstr "Zvuk a video" + +#. TRANSLATORS: this is the menu spec main category for Development +#: src/as-category.c:306 +msgid "Developer Tools" +msgstr "Nástroje pro vývoj" + +#. TRANSLATORS: this is the menu spec main category for Education +#: src/as-category.c:309 +msgid "Education" +msgstr "Výuka" + +#. TRANSLATORS: this is the menu spec main category for Game +#: src/as-category.c:312 +msgid "Games" +msgstr "Hry" + +#. TRANSLATORS: this is the menu spec main category for Graphics +#: src/as-category.c:315 +msgid "Graphics & Photography" +msgstr "Grafika a fotografie" + +#. TRANSLATORS: this is the menu spec main category for Office +#: src/as-category.c:318 +msgid "Office" +msgstr "Kancelář" + +#. TRANSLATORS: this is the main category for Add-ons +#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor +#: src/as-category.c:321 tools/ascli-utils.c:371 +msgid "Add-ons" +msgstr "Doplňky" + +#. TRANSLATORS: this is the menu spec main category for Science +#: src/as-category.c:324 +msgid "Science" +msgstr "Věda" + +#. TRANSLATORS: this is the menu spec main category for Communication +#: src/as-category.c:327 +msgid "Communication & News" +msgstr "Komunikace a novinky" + +#. TRANSLATORS: this is the menu spec main category for Utilities +#: src/as-category.c:330 +msgid "Utilities" +msgstr "Nástroje" + +#. TRANSLATORS: This is the formatting of English and localized name +#. * of the rating e.g. "Adults Only (solo adultos)" +#: src/as-content-rating.c:298 +#, c-format +msgid "%s (%s)" +msgstr "%s (%s)" + +#: src/as-content-rating.c:444 +msgid "General" +msgstr "Obecné" + +#: src/as-content-rating.c:453 +msgid "ALL" +msgstr "VŠECHNY" + +#: src/as-content-rating.c:457 src/as-content-rating.c:560 +msgid "Adults Only" +msgstr "pouze dospělé" + +#: src/as-content-rating.c:459 src/as-content-rating.c:559 +msgid "Mature" +msgstr "plnoleté" + +#: src/as-content-rating.c:461 src/as-content-rating.c:558 +msgid "Teen" +msgstr "mládež" + +#: src/as-content-rating.c:463 src/as-content-rating.c:557 +msgid "Everyone 10+" +msgstr "všechny 10+" + +#: src/as-content-rating.c:465 src/as-content-rating.c:556 +msgid "Everyone" +msgstr "všechny" + +#: src/as-content-rating.c:467 src/as-content-rating.c:555 +msgid "Early Childhood" +msgstr "malé děti" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:839 +msgid "No cartoon violence" +msgstr "Žádné kreslené násilí" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:841 +msgid "Cartoon characters in unsafe situations" +msgstr "Kreslené postavy v nebezpečných situacích" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:843 +msgid "Cartoon characters in aggressive conflict" +msgstr "Kreslené postavy v agresivních střetech" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:845 +msgid "Graphic violence involving cartoon characters" +msgstr "Grafické vyobrazení násilí páchaného na kreslených postavách" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:850 +msgid "No fantasy violence" +msgstr "Žádné fantazie o násilí" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:852 +msgid "Characters in unsafe situations easily distinguishable from reality" +msgstr "Osoby v nebezpečných situacích snadno odlišitelných od skutečnosti" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:854 +msgid "Characters in aggressive conflict easily distinguishable from reality" +msgstr "Osoby v agresivních střetech snadno odlišitelných od skutečnosti" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:856 +msgid "Graphic violence easily distinguishable from reality" +msgstr "Grafické násilí snadno odlišitelné od reality" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:861 +msgid "No realistic violence" +msgstr "Žádné realistické násilí" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:863 +msgid "Mildly realistic characters in unsafe situations" +msgstr "Mírně realistické osoby v nebezpečných situacích" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:865 +msgid "Depictions of realistic characters in aggressive conflict" +msgstr "Vyobrazení skutečných osob v agresivních konfliktech" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:867 +msgid "Graphic violence involving realistic characters" +msgstr "Grafické násilí páchané na skutečných osobách" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:872 +msgid "No bloodshed" +msgstr "Žádné zabíjení" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:874 +msgid "Unrealistic bloodshed" +msgstr "Nerealistické zabíjení" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:876 +msgid "Realistic bloodshed" +msgstr "Realistické zabíjení" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:878 +msgid "Depictions of bloodshed and the mutilation of body parts" +msgstr "Vyobrazení krveprolití a mrzačení lidí" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:883 +msgid "No sexual violence" +msgstr "Žádné sexuální násilí" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:885 +msgid "Rape or other violent sexual behavior" +msgstr "Znásilnění nebo jiné násilné sexuální chování" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:892 +msgid "No references to alcohol" +msgstr "Žádné zmínky o alkoholu" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:894 +msgid "References to alcoholic beverages" +msgstr "Zmínky o alkoholických nápojích" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:896 +msgid "Use of alcoholic beverages" +msgstr "Požívání alkoholických nápojů" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:902 +msgid "No references to illicit drugs" +msgstr "Žádné zmínky o zakázaných drogách" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:904 +msgid "References to illicit drugs" +msgstr "Zmínky o zakázaných drogách" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:906 +msgid "Use of illicit drugs" +msgstr "Používání zakázaných drog" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:912 +msgid "No references to tobacco products" +msgstr "Žádné zmínky o tabákových výrobcích" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:914 +msgid "References to tobacco products" +msgstr "Zmínky o tabákových výrobcích" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:916 +msgid "Use of tobacco products" +msgstr "Používání tabákových výrobků" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:922 +msgid "No nudity of any sort" +msgstr "Žádná nahota jakéhokoliv typu" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:924 +msgid "Brief artistic nudity" +msgstr "Občasná umělecká nahota" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:926 +msgid "Prolonged nudity" +msgstr "Dlouhotrvající nahota" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:932 +msgid "No references to or depictions of sexual nature" +msgstr "Žádné zmínky o sexu nebo jeho vyobrazení" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:934 +msgid "Provocative references or depictions" +msgstr "Provokativní zmínky nebo vyobrazení" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:936 +msgid "Sexual references or depictions" +msgstr "Zmínky o sexu nebo jeho vyobrazení" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:938 +msgid "Graphic sexual behavior" +msgstr "Grafické znázornění sexuálního chování" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:943 +msgid "No profanity of any kind" +msgstr "Žádné vulgární výrazy jakéhokoliv typu" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:945 +msgid "Mild or infrequent use of profanity" +msgstr "Lehké nebo občasné používání vulgárních výrazů" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:947 +msgid "Moderate use of profanity" +msgstr "Střídmé používání vulgárních výrazů" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:949 +msgid "Strong or frequent use of profanity" +msgstr "Hrubé nebo časté používání vulgárních výrazů" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:954 +msgid "No inappropriate humor" +msgstr "Žádný nevhodný humor" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:956 +msgid "Slapstick humor" +msgstr "Bláznivý humor" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:958 +msgid "Vulgar or bathroom humor" +msgstr "Vulgární nebo postelový humor" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:960 +msgid "Mature or sexual humor" +msgstr "Humor o sexu a pro dospělé" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:965 +msgid "No discriminatory language of any kind" +msgstr "Žádné diskriminační řeči jakéhokoliv druhu" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:967 +msgid "Negativity towards a specific group of people" +msgstr "Špatný pohled na konkrétní skupinu lidí" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:969 +msgid "Discrimination designed to cause emotional harm" +msgstr "Diskriminace cílící na způsobení citové újmy" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:971 +msgid "Explicit discrimination based on gender, sexuality, race or religion" +msgstr "" +"Výslovná diskriminace založená na pohlaví, sexuální orientaci, rase nebo " +"náboženství" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:976 +msgid "No advertising of any kind" +msgstr "Žádná reklama jakéhokoliv druhu" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:978 +msgid "Product placement" +msgstr "Vyobrazení produktů" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:980 +msgid "Explicit references to specific brands or trademarked products" +msgstr "Výslovné odkazy na konkrétní výrobce nebo značky výrobků" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:982 +msgid "Users are encouraged to purchase specific real-world items" +msgstr "Uživatelé jsou vybízení k nákupu konkrétního skutečného zboží" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:987 +msgid "No gambling of any kind" +msgstr "Žádné hraní jakéhokoliv druhu" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:989 +msgid "Gambling on random events using tokens or credits" +msgstr "Příležitostné hraní s žetony nebo kreditem" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:991 +msgid "Gambling using “play” money" +msgstr "Hraní o fiktivní peníze" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:993 +msgid "Gambling using real money" +msgstr "Hraní o skutečné peníze" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:998 +msgid "No ability to spend money" +msgstr "Žádná možnost prohrát skutečné peníze" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1000 +msgid "Users are encouraged to donate real money" +msgstr "Uživatelé jsou vybízení k přispění skutečnými penězi" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1003 +msgid "Ability to spend real money in-app" +msgstr "Možnost prohrát v aplikaci skutečné peníze" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1008 +msgid "No way to chat with other users" +msgstr "Žádný způsob, jak komunikovat s ostatními uživateli" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1010 +msgid "User-to-user interactions without chat functionality" +msgstr "Interakce uživatel s uživatelem, bez textové komunikace" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1012 +msgid "Moderated chat functionality between users" +msgstr "Moderovaná textová komunikace mezi uživateli" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1014 +msgid "Uncontrolled chat functionality between users" +msgstr "Neřízená textová komunikace mezi uživateli" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1019 +msgid "No way to talk with other users" +msgstr "Žádný způsob, jako hovořit s ostatními uživateli" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1021 +msgid "Uncontrolled audio or video chat functionality between users" +msgstr "Neřízená zvuková nebo obrazová komunikace mezi uživateli" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1028 +msgid "No sharing of social network usernames or email addresses" +msgstr "" +"Žádné sdílení uživatelských jmen ze sociálních sítí a e-mailových adres" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1030 +msgid "Sharing social network usernames or email addresses" +msgstr "Sdílení uživatelských jmen ze sociálních sítí a e-mailových adres" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1037 +msgid "No sharing of user information with third parties" +msgstr "Žádné sdílení informací o uživateli se třetími stranami" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1039 +msgid "Checking for the latest application version" +msgstr "Zjišťuje se nejnovější verze aplikace" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1041 +msgid "Sharing diagnostic data that does not let others identify the user" +msgstr "Sdílení diagnostických dat, dle kterých se nedá identifikovat uživatel" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1043 +msgid "Sharing information that lets others identify the user" +msgstr "Sdílení informací, dle kterých se dá identifikovat uživatel" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1048 +msgid "No sharing of physical location with other users" +msgstr "Žádné sdílení fyzické polohy s ostatními uživateli" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1050 +msgid "Sharing physical location with other users" +msgstr "Sdílení fyzické polohy s ostatními uživateli" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1073 +msgid "No references to homosexuality" +msgstr "Žádné zmínky o homosexualitě" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1075 +msgid "Indirect references to homosexuality" +msgstr "Nepřímé zmínky o homosexualitě" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1077 +msgid "Kissing between people of the same gender" +msgstr "Polibky dvou lidí stejného pohlaví" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1079 +msgid "Graphic sexual behavior between people of the same gender" +msgstr "Grafické vyobrazení sexuálního chování mezi lidmi stejného pohlaví" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1084 +msgid "No references to prostitution" +msgstr "Žádné zmínky o prostituci" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1086 +msgid "Indirect references to prostitution" +msgstr "Nepřímé zmínky o prostituci" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1088 +msgid "Direct references to prostitution" +msgstr "Přímé zmínky o prostituci" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1090 +msgid "Graphic depictions of the act of prostitution" +msgstr "Grafické vyobrazení aktu prostituce" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1095 +msgid "No references to adultery" +msgstr "Žádné zmínky o cizoložství" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1097 +msgid "Indirect references to adultery" +msgstr "Nepřímé zmínky o cizoložství" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1099 +msgid "Direct references to adultery" +msgstr "Přímé zmínky o cizoložství" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1101 +msgid "Graphic depictions of the act of adultery" +msgstr "Grafické vyobrazení aktu cizoložství" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1106 +msgid "No sexualized characters" +msgstr "Žádné sexualizované postavy" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1109 +msgid "Scantily clad human characters" +msgstr "Skrovně oděné lidské postavy" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1111 +msgid "Overtly sexualized human characters" +msgstr "Otevřeně sexualizované lidské postavy" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1116 +msgid "No references to desecration" +msgstr "Žádné zmínky o znesvěcení" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1118 +msgid "Depictions of or references to historical desecration" +msgstr "Vyobrazení nebo zmínky o znesvěcení v dávné minulosti" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1120 +msgid "Depictions of modern-day human desecration" +msgstr "Vyobrazení znesvěcení lidmi v moderní době" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1122 +msgid "Graphic depictions of modern-day desecration" +msgstr "Grafické vyobrazení znesvěcení v moderní době" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1127 +msgid "No visible dead human remains" +msgstr "Žádné viditelné pozůstatky lidských mrtvol" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1129 +msgid "Visible dead human remains" +msgstr "Viditelné pozůstatky lidských mrtvol" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1131 +msgid "Dead human remains that are exposed to the elements" +msgstr "Ostatky lidských mrtvol zabrané do detailů" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1133 +msgid "Graphic depictions of desecration of human bodies" +msgstr "Grafické vyobrazení znesvěcení lidských těl" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1138 +msgid "No references to slavery" +msgstr "Žádné zmínky o otroctví" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1140 +msgid "Depictions of or references to historical slavery" +msgstr "Vyobrazení nebo zmínky o otroctví v dávné minulosti" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1142 +msgid "Depictions of modern-day slavery" +msgstr "Vyobrazení otroctví v moderní době" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1144 +msgid "Graphic depictions of modern-day slavery" +msgstr "Grafické vyobrazení otroctví v moderní době" + +#. TRANSLATORS: We got a 429 error while trying to download data +#: src/as-curl.c:134 #, c-format -msgid "Component '%s' has no installation candidate." -msgstr "Součást „%s“ nemá kandidáta na instalaci." +msgid "Failed to download due to server limit" +msgstr "" -#: tools/ascli-utils.c:377 -msgid "Compulsory for" -msgstr "Povinné pro" +#: src/as-curl.c:141 src/as-curl.c:148 +#, fuzzy, c-format +msgid "Failed to download file: %s" +msgstr "Nedaří se načíst .desktop soubor: %s" -#: src/as-validator-issue-tag.h:361 -msgid "Consider using a secure (HTTPS) URL for the remote icon link." +#. TRANSLATORS: We tried to download an URL, but received a 404 error code +#: src/as-curl.c:157 +#, c-format +msgid "URL was not found on the server." msgstr "" -#: src/as-validator-issue-tag.h:383 -msgid "Consider using a secure (HTTPS) URL for this web link." +#. TRANSLATORS: We received an uexpected HTTP status code while talking to a server, likely an error +#: src/as-curl.c:164 +#, c-format +msgid "Unexpected status code: %ld" msgstr "" -#: src/as-validator-issue-tag.h:189 -msgid "" -"Consider using a secure (HTTPS) URL to reference this screenshot image or " -"video." +#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty +#: src/as-curl.c:247 +#, c-format +msgid "Retrieved file size was zero." msgstr "" -#: tools/appstream-cli.c:870 -msgid "Convert a YAML or text NEWS file into metainfo releases." +#. TRANSLATORS: List of "grey-listed" words sperated with ";" +#. * Do not translate this list directly. Instead, +#. * provide a list of words in your language that people are likely +#. * to include in a search but that should normally be ignored in +#. * the search. +#. +#: src/as-pool.c:111 +msgid "app;application;package;program;programme;suite;tool" msgstr "" +"app;apka;aplikace;balíček;balík;program;sada;příslušenství;nástroj;pomůcka" -#. TRANSLATORS: "convert" command in ascli. "Collection XML" is a term describing a specific type of AppStream XML data. -#: tools/appstream-cli.c:865 -msgid "Convert collection XML to YAML or vice versa." -msgstr "Převádí z XML na YAML formát a obráceně." +#: src/as-pool.c:620 +msgid "Unable to remove old cache." +msgstr "" -#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results -#: tools/ascli-actions-mdata.c:228 +#: src/as-pool.c:963 +msgid "Metadata files have errors:" +msgstr "Soubory s metadaty obsahují chyby:" + +#: src/as-pool.c:1370 +msgid "" +"Many components have been recognized as invalid. See debug output for " +"details." +msgstr "" +"Mnohé součásti byl rozpoznány jako neplatné. Podrobnosti viz ladící výstup." + +#: src/as-pool.c:1996 #, c-format -msgid "Could not find component providing '%s::%s'." -msgstr "Nepodařilo se najít součást poskytující „%s::%s“." +msgid "Cache location '%s' is not writable." +msgstr "Do umístění mezipaměti „%s“ se nedaří zapisovat." -#: tools/appstream-cli.c:869 -msgid "Create a XDG desktop-entry file from a metainfo file." +#: src/as-pool.c:2109 +#, fuzzy +msgid "" +"The AppStream system cache was updated, but some components were ignored. " +"Refer to the verbose log for more information." msgstr "" +"Mezipaměť systému AppStream byla aktualizována, ale byly zjištěny některé " +"chyby, což může vést k chybějícím metadatům. Podrobnější informace naleznete " +"ve výřečněji nastaveném záznamu událostí." -#: tools/appstream-cli.c:868 +#: src/as-pool.c:2111 +#, fuzzy, c-format msgid "" -"Create a template for a metainfo file (to be filled out by the upstream " -"project)." +"The AppStream system cache was updated, but problems were found which " +"resulted in metadata being ignored: %s" msgstr "" -"Vytvořit šablonu pro metainfo soubor (pro vyplnění v upstream projektu)." +"Systémová mezipaměť AppStream byla aktualizována, ale byly zjištěny " +"problémy: %s" -#: tools/ascli-actions-misc.c:228 -#, c-format -msgid "Creating new desktop-entry file '%s' using data from '%s'" +#: src/as-pool.c:2125 +#, fuzzy, c-format +msgid "" +"AppStream system cache refresh failed. Turn on verbose mode to get detailed " +"issue information." msgstr "" +"Aktualizace mezipaměti AppStream se nezdařila. Zapněte výřečnější režim, ze " +"kterého obdržíte podrobnější informace." -#: src/as-provided.c:160 -#, fuzzy -msgid "D-Bus Session Services" -msgstr "Služby relace D-Bus" +#: src/as-provided.c:144 +msgid "Libraries" +msgstr "Knihovny" -#: src/as-provided.c:158 -#, fuzzy -msgid "D-Bus System Services" -msgstr "Systémové služby D-Bus" +#: src/as-provided.c:146 +msgid "Binaries" +msgstr "Spustitelné soubory" -#: src/as-category.c:195 -msgctxt "Category of Office" -msgid "Database" -msgstr "Databáze" +#: src/as-provided.c:148 +#, fuzzy +msgid "Media types" +msgstr "MIME typy" -#: src/as-category.c:86 -msgctxt "Category of Development" -msgid "Debuggers" -msgstr "Ladící nástroje" +#: src/as-provided.c:150 +msgid "Fonts" +msgstr "Písma" -#: tools/ascli-utils.c:353 -msgid "Default Screenshot URL" -msgstr "URL výchozího ukázkového snímku obrazovky" +#: src/as-provided.c:152 +msgid "Modaliases" +msgstr "Alternativní názvy modulů" -#. TRANSLATORS: ascli flag description for: --format -#: tools/appstream-cli.c:83 -msgid "Default metadata format (valid values are 'xml' and 'yaml')." -msgstr "Výchozí formát metadat (platné hodnoty jsou „xml“ a „yaml“)." +#: src/as-provided.c:154 +msgid "Python (Version 2)" +msgstr "Python (veze 2)" -#: tools/ascli-utils.c:333 -msgid "Description" -msgstr "Popis" +#: src/as-provided.c:156 +msgid "Python 3" +msgstr "Python 3" -#. developer name -#: tools/ascli-utils.c:321 -msgid "Developer" -msgstr "Vývojáři" +#: src/as-provided.c:158 +#, fuzzy +msgid "D-Bus System Services" +msgstr "Systémové služby D-Bus" -#. TRANSLATORS: this is the menu spec main category for Development -#: src/as-category.c:305 -msgid "Developer Tools" -msgstr "Nástroje pro vývoj" +#: src/as-provided.c:160 +#, fuzzy +msgid "D-Bus Session Services" +msgstr "Služby relace D-Bus" -#: tools/appstream-cli.c:862 -msgid "Display status information about available AppStream metadata." -msgstr "Zobrazit stavové informace o dostupných AppStream metadatech." +#: src/as-provided.c:162 +msgid "Runtime Firmware" +msgstr "Dočasně nahrávaný firmware" -#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions -#: tools/ascli-actions-misc.c:52 -msgid "Distribution metadata:" -msgstr "Metadata distribuce:" +#: src/as-provided.c:164 +msgid "Flashed Firmware" +msgstr "Trvalý firmware" -#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) -#: tools/appstream-cli.c:126 -msgid "Do not use network access." -msgstr "Nepoužívat síť." +#: src/as-provided.c:166 +msgid "Component" +msgstr "Součást" -#. TRANSLATORS: ascli flag description for: --no-color -#: tools/appstream-cli.c:908 -msgid "Don't show colored output." -msgstr "Neobarvovat výstup." +#: src/as-validator-issue-tag.h:41 +msgid "This tag requires a type property." +msgstr "" -#: tools/appstream-cli.c:853 -msgid "Dump raw XML metadata for a component matching the ID." -msgstr "Vypsat surová XML metadata součásti s tímto identifikátorem." +#: src/as-validator-issue-tag.h:46 +msgid "Tags of this name are not permitted in this section." +msgstr "" -#. TRANSLATORS: this is the menu spec main category for Education -#: src/as-category.c:308 -msgid "Education" -msgstr "Výuka" +#: src/as-validator-issue-tag.h:51 +msgid "" +"A tag must not be localized in metainfo files (upstream " +"metadata). Localize the individual paragraphs instead." +msgstr "" +"Tag se v metainfo souborech (upstream metadatech) nesmí " +"překládat. Místo toho lokalizujte jednotlivé odstavce." -#. TRANSLATORS: No metainfo files have been found -#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 -msgid "Empty." -msgstr "Prázdné." +#: src/as-validator-issue-tag.h:57 +msgid "" +"This element (paragraph, list, etc.) of a tag must not be " +"localized individually in collection metadata. Localize the whole " +" tag instead. The AppStream collection metadata generator (e." +"g. `appstream-generator`) will already do the right thing when compiling the " +"data." +msgstr "" -#: src/as-category.c:141 -msgctxt "Category of Games" -msgid "Emulators" -msgstr "Emulátory" +#: src/as-validator-issue-tag.h:63 +msgid "" +"AppStream descriptions support only a limited set of tags to format text: " +"Paragraphs (

                                            ) and lists (

                                              ,
                                                ). This description markup contains " +"an invalid XML tag that would not be rendered correctly in applications " +"supporting the metainfo specification." +msgstr "" -#. TRANSLATORS: ascli flag description for: --force -#: tools/appstream-cli.c:245 -msgid "Enforce a cache refresh." -msgstr "Vynutit aktualizaci mezipaměti." +#: src/as-validator-issue-tag.h:69 +msgid "" +"This description paragraph contains invalid markup. Currently, only " +"and are permitted." +msgstr "" #: src/as-validator-issue-tag.h:74 msgid "Enumerations must only have list items (
                                              1. ) as children." msgstr "" -#: tools/ascli-actions-misc.c:159 -#, c-format -msgid "Error while loading the metadata pool: %s" -msgstr "Chyba při načítání fondu metadat: %s" - -#: tools/ascli-utils.c:327 -msgid "Extends" -msgstr "Rozšiřuje" - -#: src/as-category.c:65 -msgctxt "Category of AudioVideo" -msgid "Featured" -msgstr "Zajímavé" +#: src/as-validator-issue-tag.h:79 +msgid "" +"The first `description/p` paragraph of this component might be too short (< " +"80 characters). Please consider starting with a longer paragraph to improve " +"how the description looks like in software centers and to provide more " +"detailed information on this component immediately in the first paragraph." +msgstr "" -#: src/as-category.c:256 -msgctxt "Category of Communication" -msgid "Featured" -msgstr "Zajímavé" +#: src/as-validator-issue-tag.h:86 +msgid "" +"The description contains a web URL in plain text. This is not allowed, " +"please use the tag instead to share links." +msgstr "" -#: src/as-category.c:83 -msgctxt "Category of Development" -msgid "Featured" -msgstr "Zajímavé" +#: src/as-validator-issue-tag.h:91 +msgid "" +"As per AppStream specification, the mentioned tag must only appear once in " +"this context. Having multiple tags of this kind is not valid." +msgstr "" -#: src/as-category.c:98 -msgctxt "Category of Education" -msgid "Featured" -msgstr "Zajímavé" +#: src/as-validator-issue-tag.h:96 +msgid "" +"The mentioned tag is empty, which is highly likely not intended as it should " +"have content." +msgstr "" -#: src/as-category.c:120 -msgctxt "Category of Games" -msgid "Featured" -msgstr "Zajímavé" +#: src/as-validator-issue-tag.h:101 +msgid "" +"The component ID is required to follow a reverse domain-name scheme for its " +"name. See the AppStream specification for details." +msgstr "" -#: src/as-category.c:165 -msgctxt "Category of Graphics" -msgid "Featured" -msgstr "Zajímavé" +#: src/as-validator-issue-tag.h:106 +msgid "" +"The component ID is not a reverse domain-name. Please update the ID to avoid " +"future issues and be compatible with all AppStream implementations.\n" +"You may also consider to update the name of the accompanying .desktop file " +"to follow the latest version of the Desktop-Entry specification and use a " +"rDNS name for it as well. In any case, do not forget to mention the new " +"desktop-entry in a tag for this component to keep the " +"application launchable from software centers and the .desktop file data " +"associated with the metainfo data." +msgstr "" -#: src/as-category.c:188 -msgctxt "Category of Office" -msgid "Featured" -msgstr "Zajímavé" +#: src/as-validator-issue-tag.h:114 +msgid "" +"The component ID might not follow the reverse domain-name schema (the TLD " +"used by it is not known to the validator)." +msgstr "" -#: src/as-category.c:231 -msgctxt "Category of Science" -msgid "Featured" -msgstr "Zajímavé" +#: src/as-validator-issue-tag.h:119 +msgid "" +"The component ID contains an invalid character. Only ASCII characters, dots " +"and numbers are permitted." +msgstr "" -#: src/as-category.c:278 -msgctxt "Category of Utility" -msgid "Featured" -msgstr "Zajímavé" +#: src/as-validator-issue-tag.h:124 +msgid "" +"The component ID contains a hyphen/minus. Using a hyphen is strongly " +"discouraged, to improve interoperability with other tools such as D-Bus. A " +"good option is to replace any hyphens with underscores (`_`)." +msgstr "" -#: tools/ascli-actions-validate.c:171 tools/ascli-actions-validate.c:349 -#, fuzzy, c-format -msgid "File '%s' does not exist." -msgstr "Soubor s metadaty „%s“ neexistuje." +#: src/as-validator-issue-tag.h:130 +msgid "" +"The component ID contains a segment starting with a number. Starting a " +"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " +"interoperability with other tools such as D-Bus. Ideally, prefix these " +"segments with an underscore." +msgstr "" -#: src/as-category.c:287 -msgctxt "Category of Utility" -msgid "File System" -msgstr "Souborový systém" +#: src/as-validator-issue-tag.h:136 +msgid "The component ID should only contain lowercase letters." +msgstr "" -#: src/as-category.c:198 -msgctxt "Category of Office" -msgid "Finance" -msgstr "Finance" +#: src/as-validator-issue-tag.h:141 +msgid "" +"The component is part of the Freedesktop project, but its ID does not start " +"with fd.o's reverse-DNS name (\"org.freedesktop\")." +msgstr "" -#: src/as-provided.c:164 -msgid "Flashed Firmware" -msgstr "Trvalý firmware" +#: src/as-validator-issue-tag.h:146 +msgid "" +"The component is part of the KDE project, but its ID does not start with " +"KDEs reverse-DNS name (\"org.kde\")." +msgstr "" -#: src/as-provided.c:150 -msgid "Fonts" -msgstr "Písma" +#: src/as-validator-issue-tag.h:151 +msgid "" +"The component is part of the GNOME project, but its ID does not start with " +"GNOMEs reverse-DNS name (\"org.gnome\")." +msgstr "" -#: src/as-category.c:211 -msgctxt "Category of Addons" -msgid "Fonts" -msgstr "Písma" +#: src/as-validator-issue-tag.h:156 +msgid "The SPDX license expression is invalid and could not be parsed." +msgstr "" -#: src/as-validator-issue-tag.h:237 +#: src/as-validator-issue-tag.h:161 msgid "" -"For videos, only the WebM and Matroska (.mkv) container formats are " -"currently supported. The file extension of the referenced video does not " -"belong to either of these formats." +"The license ID was not found in the SPDX database. Please check that the " +"license ID is written in an SPDX-conformant way and is a valid free software " +"license." msgstr "" -#. TRANSLATORS: ascli flag description for: --format when validating XML files -#: tools/appstream-cli.c:131 -#, fuzzy -msgid "Format of the generated report (valid values are 'text' and 'yaml')." -msgstr "Výchozí formát metadat (platné hodnoty jsou „xml“ a „yaml“)." - -#. TRANSLATORS: Found metainfo files in legacy directories -#: tools/ascli-actions-misc.c:138 -#, c-format -msgid "Found %i components in legacy paths." -msgstr "Nalezeno %i součástí v umístěních, jak se už nově nepoužívají." +#: src/as-validator-issue-tag.h:167 +msgid "" +"The metadata itself seems to be licensed under a complex collection of " +"licenses. Please license the data under a simple permissive license, like " +"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " +"collections without the risk of license violations due to mutually " +"incompatible licenses." +msgstr "" -#: tools/ascli-actions-misc.c:123 -#, c-format -msgid "Found %i components." -msgstr "Nalezeno %i součástí." +#: src/as-validator-issue-tag.h:173 +msgid "" +"The metadata itself does not seem to be licensed under a permissive license. " +"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " +"0BSD to allow distributors to include it in mixed data collections without " +"the risk of license violations due to mutually incompatible licenses." +msgstr "" -#. TRANSLATORS: 'version' is an AppStream XML property. Please do not translate it. -#: src/as-validator-issue-tag.h:260 +#: src/as-validator-issue-tag.h:179 msgid "" -"Found 'version' property on required/recommended item of a type that should " -"not have or require a version." +"The update-contact does not appear to be a valid email address (escaping of " +"`@` is only allowed as `_at_` or `_AT_`)." msgstr "" -#. TRANSLATORS: 'version' and 'compare' are AppStream XML properties. Please do not translate them. -#: src/as-validator-issue-tag.h:266 +#: src/as-validator-issue-tag.h:184 msgid "" -"Found 'version' property on this required/recommended item, but not " -"'compare' property. It is recommended to explicitly define a comparison " -"operation." +"Unable to reach the screenshot image on its remote location - does the image " +"exist?" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:277 +#: src/as-validator-issue-tag.h:189 msgid "" -"Found a memory size dependency in a 'requires' tag. This means users will " -"not be able to even install the component without having enough RAM. This is " -"usually not intended and you want to use 'memory' in the 'recommends' tag " -"instead." +"Unable to reach the screenshot video on its remote location - does the video " +"file exist?" msgstr "" -#: src/as-validator-issue-tag.h:248 +#: src/as-validator-issue-tag.h:194 msgid "" -"Found an unknown tag in a requires/recommends group. This is likely an " -"error, because a component relation of this type is unknown." +"Consider using a secure (HTTPS) URL to reference this screenshot image or " +"video." msgstr "" -#: src/as-validator-issue-tag.h:427 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:200 msgid "" -"Found invalid tag. Non-standard tags should be prefixed with 'x-'. AppStream " -"also provides the tag to add arbitrary custom data to metainfo " -"files. This tag is read by AppStream libraries and may be useful instead of " -"defining new custom toplevel or 'x-'-prefixed tags if you just want to add " -"custom data to a metainfo file." +"A screenshot must contain at least one image or video in order to be useful. " +"Please add an to it." msgstr "" +"Screenshot musí obsahovat alespoň jeden obrázek nebo video aby byl užitečný. " +"Přidejte k němu prosím ." -#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. -#: src/as-validator.c:526 src/as-validator.c:939 src/as-validator.c:1024 -#: src/as-validator.c:1237 -#, c-format -msgid "Found: %s - Allowed: %s" +#: src/as-validator-issue-tag.h:205 +msgid "" +"A screenshot must contain either images or videos, but not both at the same " +"time. Please use this screenshot exclusively for either static images or for " +"videos." msgstr "" +"Screenshot musí obsahovat obrázky, nebo videa, ale ne obojí zároveň. " +"Prosíme, abyste využívali tento screenshot buď pouze na statické obrázky, " +"nebo na videa." -#. TRANSLATORS: this is the menu spec main category for Game -#: src/as-category.c:311 -msgid "Games" -msgstr "Hry" +#: src/as-validator-issue-tag.h:211 +msgid "The screenshot does not have a caption text. Consider adding one." +msgstr "" -#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command -#: tools/appstream-cli.c:814 -msgid "Generate the output in the selected format ('yaml' or 'text')." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:217 +msgid "" +"The screenshot video does not specify which video codec was used in a " +"`codec` property." msgstr "" -#: tools/appstream-cli.c:849 -msgid "Get components which provide the given item." -msgstr "Získat součásti, které poskytují danou položku." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:223 +msgid "" +"The screenshot video does not specify which container format was used in a " +"`container` property." +msgstr "" -#: tools/appstream-cli.c:848 -msgid "Get information about a component by its ID." -msgstr "Získat informace o součásti podle jejího identifikátoru." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:229 +msgid "" +"The selected video codec is not supported by AppStream and software centers " +"may not be able to play the video. Only the AV1 and VP9 codecs are currently " +"supported, using `av1` and `vp9` as values for the `codec` property." +msgstr "" -#. TRANSLATORS: this is the menu spec main category for Graphics -#: src/as-category.c:314 -msgid "Graphics & Photography" -msgstr "Grafika a fotografie" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:236 +msgid "" +"The selected video container format is not supported by AppStream and " +"software centers may not be able to play the video. Only the WebM and " +"Matroska video containers are currently supported, using `webm` and `mkv` as " +"values for the `container` property." +msgstr "" -#: tools/ascli-utils.c:300 -msgid "Homepage" -msgstr "Domovská stránka" +#: src/as-validator-issue-tag.h:242 +msgid "" +"For videos, only the WebM and Matroska (.mkv) container formats are " +"currently supported. The file extension of the referenced video does not " +"belong to either of these formats." +msgstr "" -#: src/as-category.c:89 -msgctxt "Category of Development" -msgid "IDEs" -msgstr "Integrovaná vývojová prostředí" +#: src/as-validator-issue-tag.h:248 +msgid "" +"The default screenshot of a software component must not be a video. Use a " +"static image as default screenshot and set the video as a secondary " +"screenshot." +msgstr "" -#: tools/ascli-utils.c:301 -msgid "Icon" -msgstr "Ikona" +#: src/as-validator-issue-tag.h:253 +msgid "" +"Found an unknown tag in a requires/recommends group. This is likely an " +"error, because a component relation of this type is unknown." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:351 -msgid "Icons of type 'remote' must contain an URL to the referenced icon." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:259 +#, fuzzy +msgid "" +"A `requires` or `recommends` item requires a value to denote a valid " +"relation." msgstr "" +"Položka 'požaduje' nebo 'doporučuje' vyžaduje hodnotu aby popsala platný " +"vztah." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:344 +#. TRANSLATORS: `version` is an AppStream XML property. Please do not translate it. +#: src/as-validator-issue-tag.h:265 msgid "" -"Icons of type 'stock' or 'cached' must not contain an URL, a full or an " -"relative path to the icon. Only file basenames or stock names are allowed." +"Found `version` property on required/recommended item of a type that should " +"not have or require a version." msgstr "" -#: tools/ascli-actions-misc.c:94 -msgid "Iconsets" -msgstr "Sady ikon" - -#: tools/ascli-utils.c:295 -msgid "Identifier" -msgstr "Identifikátor" - -#: src/as-category.c:217 -msgctxt "Category of Addons" -msgid "Input Sources" -msgstr "Vstupní zdroje" +#. TRANSLATORS: `version` and `compare` are AppStream XML properties. Please do not translate them. +#: src/as-validator-issue-tag.h:271 +msgid "" +"Found `version` property on this required/recommended item, but not " +"`compare` property. It is recommended to explicitly define a comparison " +"operation." +msgstr "" -#: tools/appstream-cli.c:863 -msgid "Install a metadata file into the right location." -msgstr "Nainstalovat soubor s metadaty na správné místo." +#: src/as-validator-issue-tag.h:276 +msgid "" +"Invalid comparison operation on relation item. Only eq/ne/lt/gt/le/ge are " +"permitted." +msgstr "" -#: tools/appstream-cli.c:859 -msgid "Install software matching the component-ID." -msgstr "Nainstalovat software odpovídající identifikátoru součásti." +#: src/as-validator-issue-tag.h:281 +msgid "" +"The relation item has a comparison operation set, but does not support any " +"comparisons." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:373 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:287 msgid "" -"Invalid 'type' property for this 'url' tag. URLs of this type are not known " -"in the AppStream specification." +"Found a memory size relation in a `requires` tag. This means users will not " +"be able to even install the component without having enough RAM. This is " +"usually not intended and you want to use `memory` in the `recommends` tag " +"instead." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:553 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:294 msgid "" -"Invalid tag found in collection metadata. Only 'component' tags are " -"permitted." +"Found a user input control relation in a `requires` tag. This means users " +"will not be able to even install the component without having the defined " +"input control available on the system. This is usually not intended and you " +"want to use `control` in the `recommends` tag instead." msgstr "" -#: tools/ascli-actions-mdata.c:213 -msgid "Invalid type for provided item selected. Valid values are:" -msgstr "Vybrán neplatný typ pro poskytovanou položku. Platné hodnoty jsou:" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:301 +msgid "" +"This `control` item defines an unknown input method and is invalid. Check " +"the specification for a list of permitted values." +msgstr "" -#: src/as-validator-issue-tag.h:271 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:307 msgid "" -"Invalid version comparison operation on relation item. Only eq/ne/lt/gt/le/" -"ge are permitted." +"This `display_length` item contains an invalid display length. Its value " +"must either be a shorthand string, or positive integer value denoting " +"logical pixels. Please refer to the AppStream specification for more " +"information on this tag." msgstr "" -#: src/as-validator-issue-tag.h:450 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:314 msgid "" -"It is recommended to add a long description to this component to present it " -"better to users." +"This `side` property of this `display_length` item contains an invalid " +"value. It must either be `shortest` or `longest`, or unset to imply " +"`shortest` to make the item value refer to either the shortest or longest " +"side of the display." msgstr "" -#: src/as-validator-issue-tag.h:445 +#: src/as-validator-issue-tag.h:320 +#, fuzzy msgid "" -"It would be useful to add a long description to this font to present it " -"better to users." +"The set component type is not a recognized, valid AppStream component type." msgstr "" +"Typ „%s“ softwarové součásti není platný pro AppStream. Možné hodnoty jsou:" -#: src/as-category.c:144 -msgctxt "Category of Games" -msgid "Kids" -msgstr "Dětské" +#: src/as-validator-issue-tag.h:325 +msgid "" +"The component has a priority value set. This is not allowed in metainfo " +"files." +msgstr "" -#: src/as-category.c:220 -msgctxt "Category of Addons" -msgid "Language Packs" -msgstr "Jazyková data" +#: src/as-validator-issue-tag.h:330 +msgid "" +"The component has a `merge` method defined. This is not allowed in metainfo " +"files." +msgstr "" -#: src/as-category.c:107 -msgctxt "Category of Education" -msgid "Languages" -msgstr "Jazyky" +#: src/as-validator-issue-tag.h:335 +msgid "The component is missing an ID ( tag)." +msgstr "" -#: src/as-provided.c:144 -msgid "Libraries" -msgstr "Knihovny" +#: src/as-validator-issue-tag.h:340 +msgid "The component is missing a name ( tag)." +msgstr "" -#. license -#: tools/ascli-utils.c:363 -msgid "License" -msgstr "Licence" +#: src/as-validator-issue-tag.h:345 +msgid "The component is missing a summary ( tag)." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:629 +#: src/as-validator-issue-tag.h:350 msgid "" -"Licenses for 'runtime' components are usually too complex to reflect them in " -"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " -"value for this component's 'project_license'. E.g. `LicenseRef-free=https://" -"example.com/licenses.html`" +"The tag still contains a `type` property, probably from an old " +"conversion to the recent metainfo format." msgstr "" -#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command -#: tools/appstream-cli.c:771 +#: src/as-validator-issue-tag.h:355 msgid "" -"Limit the number of release entries that end up in the metainfo file (0 for " -"unlimited)." +"The `pkgname` tag appears multiple times. You should evaluate creating a " +"metapackage containing the metainfo and .desktop files in order to avoid " +"defining multiple package names per component." msgstr "" -#: src/as-category.c:223 -msgctxt "Category of Addons" -msgid "Localization" -msgstr "Překlady" - -#: src/as-category.c:147 -msgctxt "Category of Games" -msgid "Logic" -msgstr "Logické" +#: src/as-validator-issue-tag.h:360 +msgid "The component name should (likely) not end with a dot (`.`)." +msgstr "" -#. TRANSLATORS: ascli flag description for: --no-cache -#: tools/appstream-cli.c:67 -msgid "Make request without any caching." -msgstr "Vytvářet požadavky bez použití mezipaměti." +#: src/as-validator-issue-tag.h:365 +msgid "The component summary should not end with a dot (`.`)." +msgstr "" -#. TRANSLATORS: ascli flag description for: --cachepath -#: tools/appstream-cli.c:57 -msgid "Manually selected location of AppStream cache." -msgstr "Ručně nastavené umístění mezipaměti AppStream." +#: src/as-validator-issue-tag.h:370 +msgid "The component summary must not contain tabs or linebreaks." +msgstr "" -#. TRANSLATORS: ascli flag description for: --datapath -#: tools/appstream-cli.c:62 -msgid "Manually selected location of AppStream metadata to scan." -msgstr "Ručně nastavené umístění, ve kterém hledat metadata AppStream." +#: src/as-validator-issue-tag.h:375 +msgid "The summary must not contain any URL. Use the tags for links." +msgstr "" -#: src/as-pool.c:1280 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:381 msgid "" -"Many components have been recognized as invalid. See debug output for " -"details." +"Icons of type `stock` or `cached` must not contain an URL, a full or an " +"relative path to the icon. Only file basenames or stock names are allowed." msgstr "" -"Mnohé součásti byl rozpoznány jako neplatné. Podrobnosti viz ladící výstup." - -#: src/as-category.c:111 -msgctxt "Category of Education" -msgid "Math" -msgstr "Matematika" - -#: src/as-category.c:243 -msgctxt "Category of Science" -msgid "Math" -msgstr "Matematika" - -#: src/as-provided.c:148 -#, fuzzy -msgid "Media types" -msgstr "MIME typy" -#: tools/ascli-actions-mdata.c:364 -#, c-format -msgid "Metadata file '%s' does not exist." -msgstr "Soubor s metadaty „%s“ neexistuje." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:388 +msgid "Icons of type `remote` must contain an URL to the referenced icon." +msgstr "" -#: src/as-pool.c:881 -msgid "Metadata files have errors:" -msgstr "Soubory s metadaty obsahují chyby:" +#: src/as-validator-issue-tag.h:393 +msgid "Unable to reach remote icon at the given web location - does it exist?" +msgstr "" -#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 -#: tools/ascli-actions-misc.c:515 -#, fuzzy, c-format -msgid "Metainfo file '%s' does not exist." -msgstr "Soubor s metadaty „%s“ neexistuje." +#: src/as-validator-issue-tag.h:398 +msgid "Consider using a secure (HTTPS) URL for the remote icon link." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:367 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:404 msgid "" -"Metainfo files may only contain icons of type 'stock' or 'remote', the set " +"Metainfo files may only contain icons of type `stock` or `remote`, the set " "type is not allowed." msgstr "" -#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report -#: tools/ascli-actions-misc.c:116 -msgid "Metainfo files:" -msgstr "Soubory s metainformacemi:" - -#: src/as-provided.c:152 -msgid "Modaliases" -msgstr "Alternativní názvy modulů" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:410 +msgid "" +"Invalid `type` property for this `url` tag. URLs of this type are not known " +"in the AppStream specification." +msgstr "" -#: src/as-category.c:74 -msgctxt "Category of AudioVideo" -msgid "Music Players" -msgstr "Přehrávače hudby" +#: src/as-validator-issue-tag.h:415 +msgid "" +"Unable to reach remote location that this URL references - does it exist?" +msgstr "" -#: tools/ascli-utils.c:296 -msgid "Name" -msgstr "Název" +#: src/as-validator-issue-tag.h:420 +msgid "Consider using a secure (HTTPS) URL for this web link." +msgstr "" -#: src/as-category.c:266 -msgctxt "Category of Communication" -msgid "News" -msgstr "Novinky" +#: src/as-validator-issue-tag.h:425 +msgid "A web URL was expected for this value." +msgstr "" -#: src/as-validator-issue-tag.h:589 -msgid "No AppStream metadata was found in this directory or directory tree." +#: src/as-validator-issue-tag.h:430 +msgid "" +"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." msgstr "" -#. pedantic because not everything which has metadata is an application -#: src/as-validator-issue-tag.h:594 -msgid "No XDG applications directory found." +#: src/as-validator-issue-tag.h:435 +msgid "The can not contain a hyperlink." msgstr "" -#: tools/ascli-actions-mdata.c:182 -#, c-format -msgid "No component matching '%s' found." -msgstr "Nebyla nalezena žádná komponenta odpovídající „%s“." +#: src/as-validator-issue-tag.h:440 +msgid "" +"The set value is not an identifier for a desktop environment as registered " +"with Freedesktop.org." +msgstr "" -#: tools/ascli-actions-misc.c:105 -msgid "No icons." -msgstr "Žádné ikony." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:446 +msgid "This `launchable` tag has an unknown type and can not be used." +msgstr "" -#: tools/ascli-actions-misc.c:402 -msgid "No output filename specified, modifying metainfo file directly." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:452 +msgid "This `bundle` tag has an unknown type and can not be used." msgstr "" -#: tools/ascli-actions-misc.c:306 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:458 msgid "" -"No provided binary specified in metainfo file, and no exec command specified " -"via '--exec'. Can not create 'Exec=' key." +"The `update_contact` tag should not be included in collection AppStream XML." msgstr "" -#: tools/ascli-actions-misc.c:284 -msgid "No stock icon name was provided in the metainfo file. Can not continue." +#: src/as-validator-issue-tag.h:463 +msgid "" +"This tag is a GNOME-specific extension to AppStream and not part of the " +"official specification. Do not expect it to work in all implementations and " +"in all software centers." msgstr "" -#: tools/ascli-actions-pkgmgr.c:53 +#: src/as-validator-issue-tag.h:469 msgid "" -"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" -"\" (part of PackageKit) is available." +"Found invalid tag. Non-standard tags should be prefixed with `x-`. AppStream " +"also provides the tag to add arbitrary custom data to metainfo " +"files. This tag is read by AppStream libraries and may be useful instead of " +"defining new custom toplevel or `x-`-prefixed tags if you just want to add " +"custom data to a metainfo file." msgstr "" -"Nebyl nalezen žádný použitelný správné balíčků pro příkazový řádek. " -"Zajistěte, aby byl k dispozici například „pkcon“ (součást PackageKit)." -#: tools/ascli-actions-mdata.c:206 -msgid "No value for the item to search for was defined." -msgstr "Nezadali jste co se má hledat." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:477 +msgid "" +"The essential tag `metadata_license` is missing. A license for the metadata " +"itself always has to be defined." +msgstr "" -#. TRANSLATORS: this is the menu spec main category for Office -#: src/as-category.c:317 -msgid "Office" -msgstr "Kancelář" +#: src/as-validator-issue-tag.h:482 +msgid "" +"The component is missing a long description. Components of this type must " +"have a long description." +msgstr "" -#. TRANSLATORS: An unknown option was passed to appstreamcli. -#: tools/appstream-cli.c:192 -#, c-format -msgid "Option '%s' is unknown." -msgstr "Neznámá předvolba „%s“." +#: src/as-validator-issue-tag.h:487 +msgid "" +"It would be useful to add a long description to this font to present it " +"better to users." +msgstr "" -#: tools/ascli-utils.c:298 -msgid "Package" -msgstr "Balíček" +#: src/as-validator-issue-tag.h:492 +msgid "" +"It is recommended to add a long description to this component to present it " +"better to users." +msgstr "" -#: src/as-category.c:171 -msgctxt "Category of Graphics" -msgid "Photography" -msgstr "Fotografie" +#: src/as-validator-issue-tag.h:497 +msgid "" +"This generic component is missing a long description. It may be useful to " +"add one." +msgstr "" -#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) -#: tools/appstream-cli.c:121 -#, fuzzy -msgid "Print detailed explanation for found issues." -msgstr "Vypsat podrobnosti o nalezené součásti." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:503 +msgid "" +"Type `console-application` component, but no information about binaries in " +"$PATH was provided via a `provides/binary` tag." +msgstr "" -#. TRANSLATORS: ascli flag description for: --details -#: tools/appstream-cli.c:98 -msgid "Print detailed output about found components." -msgstr "Vypsat podrobnosti o nalezené součásti." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:509 +msgid "" +"This `web-application` component is missing a `launchable` tag of type `url`." +msgstr "" -#. project group -#: tools/ascli-utils.c:360 -msgid "Project Group" -msgstr "Skupina projektu" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:515 +msgid "" +"This `web-application` component is missing a `icon` tag to specify a valid " +"icon." +msgstr "" -#: tools/ascli-utils.c:405 -msgid "Provided Items" -msgstr "Poskytované položky" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:521 +msgid "" +"This `web-application` component is missing categorizations. A `categories` " +"block is likely missing." +msgstr "" -#: src/as-provided.c:154 -msgid "Python (Version 2)" -msgstr "Python (veze 2)" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:527 +msgid "" +"Type `font` component, but no font information was provided via a `provides/" +"font` tag." +msgstr "" -#: src/as-provided.c:156 -msgid "Python 3" -msgstr "Python 3" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:533 +msgid "" +"Type `driver` component, but no modalias information was provided via a " +"`provides/modalias` tag." +msgstr "" -#: tools/appstream-cli.c:854 -msgid "Rebuild the component metadata cache." -msgstr "Znovu vytvořit mezipaměť metadat součástí." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:539 +msgid "" +"An `extends` tag is specified, but the component is not of type `addon`, " +"`localization` or `repository`." +msgstr "" -#: tools/appstream-cli.c:860 -msgid "Remove software matching the component-ID." -msgstr "Odebrat software odpovídající identifikátoru součásti." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:545 +msgid "The component is an addon, but no `extends` tag was specified." +msgstr "" -#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty -#: src/as-validator.c:364 -msgid "Retrieved file size was zero." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:551 +msgid "" +"This `localization` component is missing an `extends` tag, to specify the " +"components it adds localization to." msgstr "" -#: src/as-category.c:248 -msgctxt "Category of Science" -msgid "Robotics" -msgstr "Robotika" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:557 +msgid "" +"This `localization` component does not define any languages this " +"localization is for." +msgstr "" -#: src/as-category.c:150 -msgctxt "Category of Games" -msgid "Role Playing" -msgstr "RPG" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:563 +msgid "" +"This `service` component is missing a `launchable` tag of type `service`." +msgstr "" -#: tools/appstream-cli.c:196 tools/appstream-cli.c:926 -#, c-format -msgid "Run '%s --help' to see a full list of available command line options." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:569 +msgid "" +"Suggestions of any type other than `upstream` are not allowed in metainfo " +"files." msgstr "" -"Spuštěním „%s --help“ si zobrazíte úplný seznam možných předvoleb " -"příkazového řádku." -#: tools/appstream-cli.c:198 -#, c-format +#: src/as-validator-issue-tag.h:574 msgid "" -"Run '%s --help' to see a list of available commands and options, and '%s %s " -"--help' to see a list of options specific for this subcommand." +"The category name is not valid. Refer to the XDG Menu Specification for a " +"list of valid category names." msgstr "" -"Spuštěním „%s --help“ si zobrazíte úplný seznam možných předvoleb " -"příkazového řádku a „%s %s --help“ těch pro konkrétní dílčí příkaz." -#: src/as-provided.c:162 -msgid "Runtime Firmware" -msgstr "Dočasně nahrávaný firmware" +#: src/as-validator-issue-tag.h:579 +msgid "The screenshot caption is too long (should be <= 80 characters)" +msgstr "" -#: src/as-category.c:174 -msgctxt "Category of Graphics" -msgid "Scanning" -msgstr "Skenování" +#: src/as-validator-issue-tag.h:584 +#, fuzzy +msgid "Unable to read file." +msgstr "Nedaří se načíst .desktop soubor: %s" -#. TRANSLATORS: this is the menu spec main category for Science -#: src/as-category.c:323 -msgid "Science" -msgstr "Věda" +#: src/as-validator-issue-tag.h:589 +msgid "The XML of this file is malformed." +msgstr "" -#: tools/appstream-cli.c:847 -msgid "Search the component database." -msgstr "Prohledat databázi součástí." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:595 +msgid "" +"Invalid tag found in collection metadata. Only `component` tags are " +"permitted." +msgstr "" -#: src/as-category.c:293 -msgctxt "Category of Utility" -msgid "Security" -msgstr "Zabezpečení" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:601 +msgid "" +"The metainfo file uses an ancient version of the AppStream specification, " +"which can not be validated. Please migrate it to version 0.6 (or higher)." +msgstr "" -#. TRANSLATORS: ascli flag description for: --verbose -#: tools/appstream-cli.c:903 -msgid "Show extra debugging information." -msgstr "Zobrazovat doplňující informace pro ladění." +#: src/as-validator-issue-tag.h:606 +msgid "" +"This XML document has an unknown root tag. Maybe this file is not a metainfo " +"document?" +msgstr "" -#. TRANSLATORS: ascli flag description for: --version -#: tools/appstream-cli.c:897 -msgid "Show the program version." -msgstr "Zobrazit verzi programu." +#: src/as-validator-issue-tag.h:611 +#, fuzzy +msgid "The metainfo filename does not match the component ID." +msgstr "Odebrat software odpovídající identifikátoru součásti." -#: src/as-validator-issue-tag.h:635 -msgid "" -"Since a 'runtime' component is comprised of multiple other software " -"components, their component-IDs may be listed in a `` section for " -"this runtime." +#: src/as-validator-issue-tag.h:616 +#, fuzzy +msgid "Unable to read the .desktop file associated with this component." +msgstr "Nedaří se načíst .desktop soubor: %s" + +#: src/as-validator-issue-tag.h:621 +msgid "This component metadata refers to a non-existing .desktop file." msgstr "" -#: src/as-category.c:153 -msgctxt "Category of Games" -msgid "Sports" -msgstr "Sporty" +#: src/as-validator-issue-tag.h:626 +msgid "" +"The category defined in the .desktop file is not valid. Refer to the XDG " +"Menu Specification for a list of valid categories." +msgstr "" -#: src/as-category.c:157 -msgctxt "Category of Games" -msgid "Strategy" -msgstr "Strategie" +#: src/as-validator-issue-tag.h:631 +msgid "No AppStream metadata was found in this directory or directory tree." +msgstr "" -#. these are commands we can use with appstreamcli -#: tools/appstream-cli.c:845 -msgid "Subcommands:" -msgstr "Dílčí příkazy:" +#. pedantic because not everything which has metadata is an application +#: src/as-validator-issue-tag.h:636 +msgid "No XDG applications directory found." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:527 +#: src/as-validator-issue-tag.h:641 msgid "" -"Suggestions of any type other than 'upstream' are not allowed in metainfo " -"files." +"The metainfo file is stored in a legacy path. Please place it in `/usr/share/" +"metainfo/`." msgstr "" -#: tools/ascli-utils.c:297 -msgid "Summary" -msgstr "Shrnutí" +#: src/as-validator-issue-tag.h:646 +msgid "The metainfo file specifies multiple components. This is not allowed." +msgstr "" -#. TRANSLATORS: Status summary in ascli -#: tools/ascli-actions-misc.c:145 -msgid "Summary:" -msgstr "Shrnutí:" +#: src/as-validator-issue-tag.h:651 +msgid "" +"The releases are not sorted in a latest to oldest version order. This is " +"required as some tools will assume that the latest version is always at the " +"top. Sorting releases also increases overall readability of the metainfo " +"file." +msgstr "" -#: src/as-category.c:290 -msgctxt "Category of Utility" -msgid "System Monitoring" -msgstr "Dohledování systému" +#: src/as-validator-issue-tag.h:658 +msgid "The value set as release urgency is not a known urgency value." +msgstr "" -#: src/as-validator-issue-tag.h:46 -msgid "Tags of this name are not permitted in this section." +#: src/as-validator-issue-tag.h:663 +msgid "The value set as release type is invalid." msgstr "" -#: src/as-category.c:284 -msgctxt "Category of Utility" -msgid "Terminal Emulators" -msgstr "Emulátory terminálu" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:669 +msgid "" +"The value set as artifact type is invalid. Must be either `source` or " +"`binary`." +msgstr "" -#: src/as-category.c:281 -msgctxt "Category of Utility" -msgid "Text Editors" -msgstr "Textové editory" +#: src/as-validator-issue-tag.h:674 +msgid "The value set as artifact bundle type is invalid." +msgstr "" -#: src/as-validator-issue-tag.h:318 +#: src/as-validator-issue-tag.h:679 msgid "" -"The 'pkgname' tag appears multiple times. You should evaluate creating a " -"metapackage containing the metainfo and .desktop files in order to avoid " -"defining multiple package names per component." +"The platform triplet for this release is invalid. It must be in the form of " +"`architecture-oskernel-osenv` - refer to the AppStream documentation or " +"information on normalized GNU triplets for more information and valid fields." +msgstr "" + +#: src/as-validator-issue-tag.h:686 +msgid "The selected checksumming algorithm is unsupported or unknown." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:416 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:692 +msgid "The size type is unknown. Must be `download` or `installed`." +msgstr "" + +#: src/as-validator-issue-tag.h:697 msgid "" -"The 'update_contact' tag should not be included in collection AppStream XML." +"The artifact filename must be a file basename, not a (relative or absolute) " +"path." msgstr "" -#: tools/ascli-actions-mdata.c:467 -#, c-format -msgid "The .desktop file '%s' does not exist." -msgstr "Soubor .desktop pro „%s“ neexistuje." +#: src/as-validator-issue-tag.h:702 +msgid "The value set as release issue type is invalid." +msgstr "" -#: src/as-validator-issue-tag.h:393 -msgid "The can not contain a hyperlink." +#: src/as-validator-issue-tag.h:707 +msgid "" +"The issue is tagged at security vulnerability with a CVE number, but its " +"value does not look like a valid CVE identifier." msgstr "" -#: src/as-validator-issue-tag.h:313 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:713 msgid "" -"The tag still contains a 'type' property, probably from an old " -"conversion to the recent metainfo format." +"This component is missing information about releases. Consider adding a " +"`releases` tag to describe releases and their changes." msgstr "" -#: src/as-validator-issue-tag.h:616 +#: src/as-validator-issue-tag.h:718 msgid "" "The AppStream specification requires a complete, ISO 8601 date string with " "at least day-granularity to denote dates. Please ensure the date string is " "valid." msgstr "" -#: src/as-pool.c:1924 -#, fuzzy, c-format +#: src/as-validator-issue-tag.h:724 msgid "" -"The AppStream system cache was updated, but problems were found which " -"resulted in metadata being ignored: %s" +"This component extends, provides, requires or recommends itself, which is " +"certainly not intended and may confuse users or machines dealing with this " +"metadata." msgstr "" -"Systémová mezipaměť AppStream byla aktualizována, ale byly zjištěny " -"problémy: %s" -#: src/as-pool.c:1922 -#, fuzzy +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:731 msgid "" -"The AppStream system cache was updated, but some components were ignored. " -"Refer to the verbose log for more information." -msgstr "" -"Mezipaměť systému AppStream byla aktualizována, ale byly zjištěny některé " -"chyby, což může vést k chybějícím metadatům. Podrobnější informace naleznete " -"ve výřečněji nastaveném záznamu událostí." - -#: src/as-validator-issue-tag.h:151 -msgid "The SPDX license expression is invalid and could not be parsed." +"Licenses for `runtime` components are usually too complex to reflect them in " +"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " +"value for this component's `project_license`. E.g. `LicenseRef-free=https://" +"example.com/licenses.html`" msgstr "" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows -#: tools/appstream-cli.c:683 -#, c-format -msgid "The TYPE must be a valid component-type, such as: %s" -msgstr "Je třeba, aby TYPE (typ) byl platný typ komponenty, jako např.: %s" - -#: src/as-validator-issue-tag.h:547 -msgid "The XML of this file is malformed." +#: src/as-validator-issue-tag.h:737 +msgid "" +"Since a `runtime` component is comprised of multiple other software " +"components, their component-IDs may be listed in a `` section for " +"this runtime." msgstr "" -#: src/as-validator-issue-tag.h:584 +#: src/as-validator-issue-tag.h:742 msgid "" -"The category defined in the .desktop file is not valid. Refer to the XDG " -"Menu Specification for a list of valid categories." +"The type of the item that the component provides is not known to AppStream." msgstr "" -#: src/as-validator-issue-tag.h:532 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:748 msgid "" -"The category name is not valid. Refer to the XDG Menu Specification for a " -"list of valid category names." +"The toplevel `mimetypes` tag is deprecated. Please use `mediatype` tags in a " +"`provides` block instead to indicate that your software provides a media " +"handler for the given types." msgstr "" -#: src/as-validator-issue-tag.h:124 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks) and keep the URL intact. +#: src/as-validator-issue-tag.h:755 msgid "" -"The component ID contains a hyphen/minus. Using a hyphen is strongly " -"discouraged, to improve interoperability with other tools such as D-Bus. A " -"good option is to replace any hyphens with underscores ('_')." +"This component has no `content_rating` tag to provide age rating " +"information. You can generate the tag data online by answering a few " +"questions at https://hughsie.github.io/oars/" msgstr "" -#: src/as-validator-issue-tag.h:130 +#: src/as-validator.c:150 msgid "" -"The component ID contains a segment starting with a number. Starting a " -"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " -"interoperability with other tools such as D-Bus. Ideally, prefix these " -"segments with an underscore." +"The emitted issue tag is unknown in the tag registry of AppStream. This is a " +"bug in the validator itself, please report this issue in our bugtracker." msgstr "" -#: src/as-validator-issue-tag.h:119 -msgid "" -"The component ID contains an invalid character. Only ASCII characters, dots " -"and numbers are permitted." +#: src/as-validator.c:344 +msgid "URL format is invalid." msgstr "" -#: src/as-validator-issue-tag.h:106 -msgid "" -"The component ID is not a reverse domain-name. Please update the ID to avoid " -"future issues and be compatible with all AppStream implementations.\n" -"You may also consider to update the name of the accompanying .desktop file " -"to follow the latest version of the Desktop-Entry specification and use a " -"rDNS name for it as well. In any case, do not forget to mention the new " -"desktop-entry in a tag for this component to keep the " -"application launchable from software centers and the .desktop file data " -"associated with the metainfo data." +#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. +#: src/as-validator.c:522 src/as-validator.c:937 src/as-validator.c:1031 +#: src/as-validator.c:1428 src/as-validator.c:1448 src/as-validator.c:1481 +#, c-format +msgid "Found: %s - Allowed: %s" msgstr "" -#: src/as-validator-issue-tag.h:101 -msgid "" -"The component ID is required to follow a reverse domain-name scheme for its " -"name. See the AppStream specification for details." +#. TRANSLATORS: ascompose flag description for: --verbose +#: tools/appstream-compose.c:181 +#, fuzzy +msgid "Show extra debugging information" +msgstr "Zobrazovat doplňující informace pro ladění." + +#. TRANSLATORS: ascompose flag description for: --no-color +#. TRANSLATORS: ascli flag description for: --no-color +#: tools/appstream-compose.c:184 tools/appstreamcli.c:1087 +msgid "Don't show colored output." +msgstr "Neobarvovat výstup." + +#. TRANSLATORS: ascompose flag description for: --version +#. TRANSLATORS: ascli flag description for: --version +#: tools/appstream-compose.c:187 tools/appstreamcli.c:1076 +msgid "Show the program version." +msgstr "Zobrazit verzi programu." + +#. TRANSLATORS: ascompose flag description for: --full-report +#: tools/appstream-compose.c:190 +msgid "Set mode of the issue report that is printed to the console" msgstr "" -#: src/as-validator-issue-tag.h:114 -msgid "" -"The component ID might not follow the reverse domain-name schema (the TLD " -"used by it is not known to the validator)." +#. TRANSLATORS: ascompose flag description for: --prefix +#: tools/appstream-compose.c:193 +msgid "Override the default prefix (`/usr` by default)" msgstr "" -#: src/as-validator-issue-tag.h:293 -msgid "" -"The component has a 'merge' method defined. This is not allowed in metainfo " -"files." +#. TRANSLATORS: ascompose flag description for: --result-root +#: tools/appstream-compose.c:196 +msgid "Set the result output directory" msgstr "" -#: src/as-validator-issue-tag.h:288 -msgid "" -"The component has a priority value set. This is not allowed in metainfo " -"files." +#. TRANSLATORS: ascompose flag description for: --data-dir, `collection metadata` is an AppStream term +#: tools/appstream-compose.c:199 +msgid "Override the collection metadata output directory" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:503 -msgid "The component is an addon, but no 'extends' tag was specified." +#. TRANSLATORS: ascompose flag description for: --icons-dir +#: tools/appstream-compose.c:202 +msgid "Override the icon output directory" msgstr "" -#: src/as-validator-issue-tag.h:440 +#. TRANSLATORS: ascompose flag description for: --media-dir +#: tools/appstream-compose.c:205 msgid "" -"The component is missing a long description. Components of this type must " -"have a long description." +"Set the media output directory (for media data to be served by a webserver)" msgstr "" -#: src/as-validator-issue-tag.h:303 -msgid "The component is missing a name ( tag)." +#. TRANSLATORS: ascompose flag description for: --hints-dir +#: tools/appstream-compose.c:208 +msgid "Set a directory where HTML and text issue reports will be stored" msgstr "" -#: src/as-validator-issue-tag.h:308 -msgid "The component is missing a summary ( tag)." +#. TRANSLATORS: ascompose flag description for: --origin +#. TRANSLATORS: ascompose flag description for: --media-baseurl +#: tools/appstream-compose.c:211 tools/appstream-compose.c:214 +msgid "Set the origin name" msgstr "" -#: src/as-validator-issue-tag.h:298 -msgid "The component is missing an ID ( tag)." +#. TRANSLATORS: ascompose flag description for: --components +#: tools/appstream-compose.c:217 +msgid "A comma-separated list of component-IDs to accept" msgstr "" -#: src/as-validator-issue-tag.h:136 -msgid "" -"The component is part of the Freedesktop project, but its ID does not start " -"with fd.o's reverse-DNS name (\"org.freedesktop\")." +#. TRANSLATORS: error message +#: tools/appstream-compose.c:231 +msgid "Failed to parse arguments" msgstr "" -#: src/as-validator-issue-tag.h:146 +#. TRANSLATORS: Output if appstreamcli --version is executed. +#: tools/appstream-compose.c:242 tools/appstreamcli.c:1230 +#, c-format +msgid "AppStream version: %s" +msgstr "Verze nástroje AppStream: %s" + +#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. +#: tools/appstream-compose.c:245 tools/appstreamcli.c:1233 +#, c-format msgid "" -"The component is part of the GNOME project, but its ID does not start with " -"GNOMEs reverse-DNS name (\"org.gnome\")." +"AppStream CLI tool version: %s\n" +"AppStream library version: %s" msgstr "" +"Verze nástroje AppStream pro textové uživatelské rozhraní: %s\n" +"Verze knihovny AppStream: %s" -#: src/as-validator-issue-tag.h:141 +#. TRANSLATORS: invalid value for the --print-report CLI option +#: tools/appstream-compose.c:264 +#, c-format msgid "" -"The component is part of the KDE project, but its ID does not start with " -"KDEs reverse-DNS name (\"org.kde\")." +"Invalid value for `--print-report` option: %s\n" +"Possible values are:\n" +"`on-error` - only prints a short report if the run failed (default)\n" +"`short` - generates an abridged report\n" +"`full` - a detailed report will be printed" msgstr "" -#: src/as-validator-issue-tag.h:323 -msgid "The component name should (likely) not end with a dot ('.')." +#: tools/appstream-compose.c:285 +#, c-format +msgid "Automatically selected '%s' as data output location." msgstr "" -#: src/as-validator-issue-tag.h:333 -msgid "The component summary must not contain tabs or linebreaks." +#. TRANSLATORS: we don't have a destination directory for compose +#: tools/appstream-compose.c:288 +msgid "No destination directory set, please provide a data output location!" msgstr "" -#: src/as-validator-issue-tag.h:328 -msgid "The component summary should not end with a dot ('.')." +#: tools/appstream-compose.c:298 tools/appstream-compose.c:300 +msgid "WARNING" msgstr "" -#: src/as-validator-issue-tag.h:243 -msgid "" -"The default screenshot of a software component must not be a video. Use a " -"static image as default screenshot and set the video as a secondary " -"screenshot." +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:337 +#, c-format +msgid "Only accepting components: %s" msgstr "" -#: src/as-validator-issue-tag.h:86 -msgid "" -"The description contains a web URL in plain text. This is not allowed, " -"please use the tag instead to share links." +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:340 +#, c-format +msgid "Only accepting component: %s" msgstr "" -#: src/as-validator.c:152 -msgid "" -"The emitted issue tag is unknown in the tag registry of AppStream. This is a " -"bug in the validator itself, please report this issue in our bugtracker." +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:345 +msgid "Processing directories:" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:435 -msgid "" -"The essential tag 'metadata_license' is missing. A license for the metadata " -"itself always has to be defined." +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:348 +msgid "Processing directory:" msgstr "" -#: src/as-validator-issue-tag.h:79 -msgid "" -"The first 'description/p' paragraph of this component might be too short (< " -"80 characters). Please consider starting with a longer paragraph to improve " -"how the description looks like in software centers and to provide more " -"detailed information on this component immediately in the first paragraph." +#. TRANSLATORS: error message +#: tools/appstream-compose.c:357 +msgid "Can not process invalid directory" msgstr "" -#: src/as-validator-issue-tag.h:156 -msgid "" -"The license ID was not found in the SPDX database. Please check that the " -"license ID is written in an SPDX-conformant way and is a valid free software " -"license." +#. TRANSLATORS: information message +#: tools/appstream-compose.c:369 +msgid "Composing metadata..." msgstr "" -#: src/as-validator-issue-tag.h:96 -msgid "" -"The mentioned tag is empty, which is highly likely not intended as it should " -"have content." -msgstr "" +#. TRANSLATORS: error message +#: tools/appstream-compose.c:374 +#, fuzzy +msgid "Failed to compose AppStream metadata" +msgstr "Nástroj pro práci s AppStream metadaty" -#: src/as-validator-issue-tag.h:168 -msgid "" -"The metadata itself does not seem to be licensed under a permissive license. " -"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " -"0BSD to allow distributors to include it in mixed data collections without " -"the risk of license violations due to mutually incompatible licenses." +#. TRANSLATORS: appstream-compose failed to include all data +#: tools/appstream-compose.c:380 +msgid "Run failed, some data was ignored." msgstr "" -#: src/as-validator-issue-tag.h:162 -msgid "" -"The metadata itself seems to be licensed under a complex collection of " -"licenses. Please license the data under a simple permissive license, like " -"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " -"collections without the risk of license violations due to mutually " -"incompatible licenses." +#. TRANSLATORS: information message of appstream-compose +#: tools/appstream-compose.c:382 +msgid "Errors were raised during this compose run:" msgstr "" -#: src/as-validator-issue-tag.h:599 +#: tools/appstream-compose.c:383 msgid "" -"The metainfo file is stored in a legacy path. Please place it in '/usr/share/" -"metainfo'." +"Refer to the generated issue report data for details on the individual " +"problems." msgstr "" -#: src/as-validator-issue-tag.h:604 -msgid "The metainfo file specifies multiple components. This is not allowed." +#: tools/appstream-compose.c:386 +msgid "Overview of generated hints:" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:559 -msgid "" -"The metainfo file uses an ancient version of the AppStream specification, " -"which can not be validated. Please migrate it to version 0.6 (or higher)." +#. TRANSLATORS: information message +#: tools/appstream-compose.c:388 +msgid "Success!" msgstr "" -#: src/as-validator-issue-tag.h:569 +#. TRANSLATORS: ascli flag description for: --cachepath +#: tools/appstreamcli.c:59 +msgid "Manually selected location of AppStream cache." +msgstr "Ručně nastavené umístění mezipaměti AppStream." + +#. TRANSLATORS: ascli flag description for: --datapath +#: tools/appstreamcli.c:64 +msgid "Manually selected location of AppStream metadata to scan." +msgstr "Ručně nastavené umístění, ve kterém hledat metadata AppStream." + +#. TRANSLATORS: ascli flag description for: --no-cache +#: tools/appstreamcli.c:69 +msgid "Make request without any caching." +msgstr "Vytvářet požadavky bez použití mezipaměti." + +#. TRANSLATORS: ascli flag description for: --format +#: tools/appstreamcli.c:85 +msgid "Default metadata format (valid values are 'xml' and 'yaml')." +msgstr "Výchozí formát metadat (platné hodnoty jsou „xml“ a „yaml“)." + +#. TRANSLATORS: ascli flag description for: --details +#: tools/appstreamcli.c:100 +msgid "Print detailed output about found components." +msgstr "Vypsat podrobnosti o nalezené součásti." + +#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) +#: tools/appstreamcli.c:118 +msgid "Also show pedantic hints." +msgstr "Při ověřování vypisovat i nalezené drobnosti." + +#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) +#: tools/appstreamcli.c:123 #, fuzzy -msgid "The metainfo filename does not match the component ID." -msgstr "Odebrat software odpovídající identifikátoru součásti." +msgid "Print detailed explanation for found issues." +msgstr "Vypsat podrobnosti o nalezené součásti." -#: src/as-validator-issue-tag.h:609 -msgid "" -"The releases are not sorted in a latest to oldest version order. This is " -"required as some tools will assume that the latest version is always at the " -"top. Sorting releases also increases overall readability of the metainfo " -"file." +#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) +#: tools/appstreamcli.c:128 +msgid "Do not use network access." +msgstr "Nepoužívat síť." + +#. TRANSLATORS: ascli flag description for: --format when validating XML files +#: tools/appstreamcli.c:133 +#, fuzzy +msgid "Format of the generated report (valid values are 'text' and 'yaml')." +msgstr "Výchozí formát metadat (platné hodnoty jsou „xml“ a „yaml“)." + +#. TRANSLATORS: This is the header to the --help menu for subcommands +#. TRANSLATORS: This is the header to the --help menu +#: tools/appstreamcli.c:153 tools/appstreamcli.c:981 +msgid "AppStream command-line interface" +msgstr "Rozhraní příkazového řádku pro AppStream" + +#: tools/appstreamcli.c:156 +#, c-format +msgid "'%s' command" +msgstr "Příkaz „%s“" + +#. TRANSLATORS: An unknown option was passed to appstreamcli. +#: tools/appstreamcli.c:191 +#, c-format +msgid "Option '%s' is unknown." +msgstr "Neznámá předvolba „%s“." + +#: tools/appstreamcli.c:195 tools/appstreamcli.c:1207 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options." msgstr "" +"Spuštěním „%s --help“ si zobrazíte úplný seznam možných předvoleb " +"příkazového řádku." -#: src/as-validator-issue-tag.h:537 -msgid "The screenshot caption is too long (should be <= 80 characters)" +#: tools/appstreamcli.c:197 +#, c-format +msgid "" +"Run '%s --help' to see a list of available commands and options, and '%s %s " +"--help' to see a list of options specific for this subcommand." msgstr "" +"Spuštěním „%s --help“ si zobrazíte úplný seznam možných předvoleb " +"příkazového řádku a „%s %s --help“ těch pro konkrétní dílčí příkaz." -#: src/as-validator-issue-tag.h:206 -msgid "The screenshot does not have a caption text. Consider adding one." +#. TRANSLATORS: ascli flag description for: --force +#: tools/appstreamcli.c:245 +msgid "Enforce a cache refresh." +msgstr "Vynutit aktualizaci mezipaměti." + +#. TRANSLATORS: ascli flag description for: --user +#: tools/appstreamcli.c:251 +msgid "Update the user-specific instead of the system-wide cache." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:218 -msgid "" -"The screenshot video does not specify which container format was used in a " -"'container' property." +#. TRANSLATORS: ascli flag description for: --origin (part of the "put" subcommand) +#: tools/appstreamcli.c:477 +msgid "Set the data origin for the installed metadata collection file." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:212 -msgid "" -"The screenshot video does not specify which video codec was used in a " -"'codec' property." +#. TRANSLATORS: ascli flag description for: --user (part of the "put" subcommand) +#: tools/appstreamcli.c:482 +msgid "Install the file for the current user, instead of globally." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:224 +#: tools/appstreamcli.c:631 msgid "" -"The selected video codec is not supported by AppStream and software centers " -"may not be able to play the video. Only the AV1 and VP9 codecs are currently " -"supported, using 'av1' and 'vp9' as values for the 'codec' property." +"You need to provide at least two version numbers to compare as parameters." msgstr "" +"Jako parametry je třeba zadat přinejmenším dvě čísla verzí pro porovnání." + +#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. +#: tools/appstreamcli.c:660 +#, c-format +msgid "Unknown compare relation '%s'. Valid values are:" +msgstr "Neznámá deklarace porovnání „%s“. Platné hodnoty jsou:" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:231 +#: tools/appstreamcli.c:700 msgid "" -"The selected video container format is not supported by AppStream and " -"software centers may not be able to play the video. Only the WebM and " -"Matroska video containers are currently supported, using 'webm' and 'mkv' as " -"values for the 'container' property." +"Too many parameters: Need two version numbers or version numbers and a " +"comparison operator." msgstr "" +"Příliš mnoho parametrů: potřebuje dvě čísla verzí nebo čísla verzí a " +"porovnávací operátor." -#: src/as-validator-issue-tag.h:283 -#, fuzzy +#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) +#: tools/appstreamcli.c:726 msgid "" -"The set component type is not a recognized, valid AppStream component type." +"Use the given .desktop file to fill in the basic values of the metainfo file." msgstr "" -"Typ „%s“ softwarové součásti není platný pro AppStream. Možné hodnoty jsou:" +"Použít daný .desktop soubor pro vyplnění základních hodnot do souboru s " +"metainformacemi." -#: src/as-validator-issue-tag.h:398 +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand +#: tools/appstreamcli.c:731 msgid "" -"The set value is not an identifier for a desktop environment as registered " -"with Freedesktop.org." +"This command takes optional TYPE and FILE positional arguments, FILE being a " +"file to write to (or \"-\" for standard output)." msgstr "" +"Tento příkaz přijímá volitelné poziční parametry TYPE (typ) a FILE (soubor), " +"kde FILE je soubor do kterého zapsat (nebo „-“ pro standardní výstup)." -#: tools/ascli-actions-mdata.c:449 +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows +#: tools/appstreamcli.c:734 #, c-format -msgid "" -"The software component type '%s' is not valid in AppStream. Possible values " -"are:" +msgid "The TYPE must be a valid component-type, such as: %s" +msgstr "Je třeba, aby TYPE (typ) byl platný typ komponenty, jako např.: %s" + +#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) +#: tools/appstreamcli.c:775 +msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." msgstr "" -"Typ „%s“ softwarové součásti není platný pro AppStream. Možné hodnoty jsou:" -#: src/as-validator-issue-tag.h:338 -msgid "The summary must not contain any URL. Use the tags for links." +#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command +#: tools/appstreamcli.c:815 +msgid "Assume the input file is in the selected format ('yaml' or 'text')." msgstr "" -#: src/as-validator-issue-tag.h:640 +#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command +#: tools/appstreamcli.c:820 msgid "" -"The type of the item that the component provides is not known to AppStream." +"Limit the number of release entries that end up in the metainfo file (0 for " +"unlimited)." msgstr "" -#: src/as-validator-issue-tag.h:174 -msgid "" -"The update-contact does not appear to be a valid email address (escaping of " -"'@' is only allowed as '_at_' or '_AT_')." +#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command +#: tools/appstreamcli.c:862 +msgid "Generate the output in the selected format ('yaml' or 'text')." msgstr "" -#: tools/ascli-actions-validate.c:363 tools/ascli-actions-validate.c:492 +#: tools/appstreamcli.c:894 #, c-format -msgid "" -"The validator can not create reports in the '%s' format. You may select " -"'yaml' or 'text' instead." +msgid "Compose binary '%s' was not found! Can not continue." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:410 -msgid "This 'bundle' tag has an unknown type and can not be used." +#. TRANSLATORS: this is a (usually shorter) command alias, shown after the command summary text +#: tools/appstreamcli.c:956 +#, c-format +msgid "(Alias: '%s')" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:404 -msgid "This 'launchable' tag has an unknown type and can not be used." -msgstr "" +#. these are commands we can use with appstreamcli +#: tools/appstreamcli.c:983 +msgid "Subcommands:" +msgstr "Dílčí příkazy:" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:515 +#: tools/appstreamcli.c:1029 msgid "" -"This 'localization' component does not define any languages this " -"localization is for." +"You can find information about subcommand-specific options by passing \"--" +"help\" to the subcommand." msgstr "" +"Informace o přepínačích pro konkrétní dílčí příkazy obdržíte připojením „--" +"help“ (nápověda) k dílčímu příkazu." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:509 +#. TRANSLATORS: ascli has been run with unknown command. '%s --help' is the command to receive help and should not be translated. +#: tools/appstreamcli.c:1052 +#, fuzzy, c-format msgid "" -"This 'localization' component is missing an 'extends' tag, to specify the " -"components it adds localization to." +"Command '%s' is unknown. Run '%s --help' for a list of available commands." msgstr "" +"Spuštěním „%s --help“ si zobrazíte úplný seznam možných předvoleb " +"příkazového řádku." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:521 -msgid "" -"This 'service' component is missing a 'launchable' tag of type 'service'." +#. TRANSLATORS: ascli flag description for: --verbose +#: tools/appstreamcli.c:1082 +msgid "Show extra debugging information." +msgstr "Zobrazovat doplňující informace pro ladění." + +#. TRANSLATORS: ascli flag description for: --profile +#: tools/appstreamcli.c:1090 +msgid "Enable profiling" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:473 +#. TRANSLATORS: `appstreamcli search` command description. +#: tools/appstreamcli.c:1102 +msgid "Search the component database." +msgstr "Prohledat databázi součástí." + +#. TRANSLATORS: `appstreamcli get` command description. +#: tools/appstreamcli.c:1107 +msgid "Get information about a component by its ID." +msgstr "Získat informace o součásti podle jejího identifikátoru." + +#. TRANSLATORS: `appstreamcli what-provides` command description. +#: tools/appstreamcli.c:1112 msgid "" -"This 'web-application' component is missing a 'icon' tag to specify a valid " -"icon." +"Get components which provide the given item. Needs an item type (e.g. lib, " +"bin, python3, …) and item value as parameter." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:467 -msgid "" -"This 'web-application' component is missing a 'launchable' tag of type 'url'." +#. TRANSLATORS: `appstreamcli dump` command description. +#: tools/appstreamcli.c:1118 +msgid "Dump raw XML metadata for a component matching the ID." +msgstr "Vypsat surová XML metadata součásti s tímto identifikátorem." + +#. TRANSLATORS: `appstreamcli refresh-cache` command description. +#: tools/appstreamcli.c:1123 +msgid "Rebuild the component metadata cache." +msgstr "Znovu vytvořit mezipaměť metadat součástí." + +#. TRANSLATORS: `appstreamcli validate` command description. +#: tools/appstreamcli.c:1129 +msgid "Validate AppStream XML files for issues." +msgstr "Ověřit zda XML AppStream soubor neobsahuje chyby." + +#. TRANSLATORS: `appstreamcli validate-tree` command description. +#: tools/appstreamcli.c:1134 +msgid "Validate an installed file-tree of an application for valid metadata." msgstr "" +"Ověřit zda nainstalovaný strom souborů aplikace obsahuje platná metadata." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:479 -msgid "" -"This 'web-application' component is missing categorizations. A 'categories' " -"block is likely missing." -msgstr "" +#. TRANSLATORS: `appstreamcli install` command description. +#: tools/appstreamcli.c:1140 +msgid "Install software matching the component-ID." +msgstr "Nainstalovat software odpovídající identifikátoru součásti." -#: src/as-validator-issue-tag.h:564 -msgid "" -"This XML document has an unknown root tag. Maybe this file is not a metainfo " -"document?" -msgstr "" +#. TRANSLATORS: `appstreamcli remove` command description. +#: tools/appstreamcli.c:1145 +msgid "Remove software matching the component-ID." +msgstr "Odebrat software odpovídající identifikátoru součásti." -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand -#: tools/appstream-cli.c:680 -msgid "" -"This command takes optional TYPE and FILE positional arguments, FILE being a " -"file to write to (or \"-\" for standard output)." -msgstr "" -"Tento příkaz přijímá volitelné poziční parametry TYPE (typ) a FILE (soubor), " -"kde FILE je soubor do kterého zapsat (nebo „-“ pro standardní výstup)." +#. TRANSLATORS: `appstreamcli status` command description. +#: tools/appstreamcli.c:1151 +msgid "Display status information about available AppStream metadata." +msgstr "Zobrazit stavové informace o dostupných AppStream metadatech." -#: src/as-validator-issue-tag.h:622 +#. TRANSLATORS: `appstreamcli os-info` command description. +#: tools/appstreamcli.c:1156 msgid "" -"This component extends, provides, requires or recommends itself, which is " -"certainly not intended and may confuse users or machines dealing with this " -"metadata." +"Show information about the current operating system from the metadata index." msgstr "" -#: src/as-validator-issue-tag.h:579 -msgid "This component metadata refers to a non-existing .desktop file." -msgstr "" +#. TRANSLATORS: `appstreamcli put` command description. +#: tools/appstreamcli.c:1161 +msgid "Install a metadata file into the right location." +msgstr "Nainstalovat soubor s metadaty na správné místo." -#: src/as-validator-issue-tag.h:69 -msgid "" -"This description paragraph contains invalid markup. Currently, only " -"and are permitted." -msgstr "" +#. TRANSLATORS: `appstreamcli convert` command description. "Collection XML" is a term describing a specific type of AppStream XML data. +#: tools/appstreamcli.c:1166 +msgid "Convert collection XML to YAML or vice versa." +msgstr "Převádí z XML na YAML formát a obráceně." -#: src/as-validator-issue-tag.h:57 -msgid "" -"This element (paragraph, list, etc.) of a tag must not be " -"localized individually in collection metadata. Localize the whole " -" tag instead. The AppStream collection metadata generator (e." -"g. `appstream-generator`) will already do the right thing when compiling the " -"data." -msgstr "" +#. TRANSLATORS: `appstreamcli vercmp` command description. +#: tools/appstreamcli.c:1171 +msgid "Compare two version numbers." +msgstr "Porovnat dvě čísla verzí." -#: src/as-validator-issue-tag.h:455 +#. TRANSLATORS: `appstreamcli new-template` command description. +#: tools/appstreamcli.c:1177 msgid "" -"This generic component is missing a long description. It may be useful to " -"add one." +"Create a template for a metainfo file (to be filled out by the upstream " +"project)." msgstr "" +"Vytvořit šablonu pro metainfo soubor (pro vyplnění v upstream projektu)." -#: src/as-validator-issue-tag.h:421 -msgid "" -"This tag is a GNOME-specific extension to AppStream and not part of the " -"official specification. Do not expect it to work in all implementations and " -"in all software centers." +#. TRANSLATORS: `appstreamcli make-desktop-file` command description. +#: tools/appstreamcli.c:1182 +msgid "Create a desktop-entry file from a metainfo file." msgstr "" -#: src/as-validator-issue-tag.h:41 -msgid "This tag requires a type property." +#. TRANSLATORS: `appstreamcli news-to-metainfo` command description. +#: tools/appstreamcli.c:1187 +msgid "Convert a YAML or text NEWS file into metainfo releases." msgstr "" -#: data/org.freedesktop.appstream.cli.metainfo.xml:15 -msgid "" -"This tool allows for reading, writing, validating and transformation of " -"AppStream XML or YAML metadata. It also gives access to the system metadata " -"pool, for example to query for software that provides a specific MIME-type, " -"and installing it by its software component identifier." +#. TRANSLATORS: `appstreamcli metainfo-to-news` command description. +#: tools/appstreamcli.c:1192 +msgid "Write NEWS text or YAML file with information from a metainfo file." msgstr "" -"Tento nástroj umožňuje čtení, zápis, ověřování a přeměnu AppStream XML nebo " -"YAML metadat. Také zpřístupňuje systémový fond metadat například pro " -"dotazování se na software, poskytující konkrétní MIME typ a jeho instalaci " -"na základě identifikátoru softwarové součásti." -#: src/as-validator-issue-tag.h:388 -msgid "" -"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." +#. TRANSLATORS: `appstreamcli compose` command description. +#: tools/appstreamcli.c:1198 +msgid "Compose AppStream collection metadata from directory trees." msgstr "" -#: tools/appstream-cli.c:648 -msgid "" -"Too many parameters: Need two version numbers or version numbers and a " -"comparison operator." -msgstr "" -"Příliš mnoho parametrů: potřebuje dvě čísla verzí nebo čísla verzí a " -"porovnávací operátor." +#. TRANSLATORS: ascli has been run without command. +#: tools/appstreamcli.c:1206 +msgid "You need to specify a command." +msgstr "Je třeba zadat příkaz." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:461 -msgid "" -"Type 'console-application' component, but no information about binaries in " -"$PATH was provided via a 'provides/binary' tag." +#. TRANSLATORS: In ascli: The requested action needs higher permissions. +#: tools/ascli-actions-mdata.c:70 +msgid "You might need superuser permissions to perform this action." msgstr "" +"K provedení této činnosti možná budete potřebovat oprávnění správce systému." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:491 -msgid "" -"Type 'driver' component, but no modalias information was provided via a " -"provides/modalias tag." -msgstr "" +#. we performed a cache refresh +#. TRANSLATORS: Updating the metadata cache succeeded +#: tools/ascli-actions-mdata.c:80 +msgid "AppStream cache update completed successfully." +msgstr "Aktualizace mezipaměti AppStream byla úspěšně dokončena." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:485 -msgid "" -"Type 'font' component, but no font information was provided via a 'provides/" -"font' tag." -msgstr "" +#. cache wasn't updated, so the update wasn't necessary +#: tools/ascli-actions-mdata.c:86 +msgid "AppStream cache update is not necessary." +msgstr "Aktualizace mezipaměti AppStream není v tuto chvíli zapotřebí." -#: src/as-validator.c:333 -msgid "URL format is invalid." -msgstr "" +#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments +#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. +#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:253 +#: tools/ascli-actions-pkgmgr.c:80 +msgid "You need to specify a component-ID." +msgstr "Je třeba zadat identifikátor součásti." -#: tools/ascli-actions-mdata.c:544 +#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:265 +#: tools/ascli-actions-pkgmgr.c:93 #, c-format -msgid "Unable to build the template metainfo file: %s" -msgstr "Nepodařilo se vytvořit soubor s šablonou metainformací: „%s“" +msgid "Unable to find component with ID '%s'!" +msgstr "Nepodařilo se nalézt součást s identifikátorem „%s“!" -#. TRANSLATORS: User is trying to convert a file in ascli -#: tools/ascli-actions-mdata.c:400 -msgid "" -"Unable to convert file: Could not determine output format, please set it " -"explicitly using '--format='." -msgstr "" -"Nedaří se převést soubor: Nepodařilo se zjistit výstupní formát, nastavte ho " -"výslovně pomocí přepínače „--format“." +#: tools/ascli-actions-mdata.c:164 +msgid "You need to specify a term to search for." +msgstr "Je třeba zadat výraz, který se má hledat." #. TRANSLATORS: We failed to find any component in the database, likely due to an error #: tools/ascli-actions-mdata.c:177 @@ -1586,203 +2424,219 @@ msgid "Unable to find component matching %s!" msgstr "Nepodařilo se nalézt součást odpovídající %s!" -#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:266 -#: tools/ascli-actions-pkgmgr.c:93 +#: tools/ascli-actions-mdata.c:182 #, c-format -msgid "Unable to find component with ID '%s'!" -msgstr "Nepodařilo se nalézt součást s identifikátorem „%s“!" - -#: tools/ascli-actions-misc.c:224 -#, fuzzy, c-format -msgid "Unable to load existing desktop-entry file template: %s" -msgstr "Nedaří se načíst .desktop soubor: %s" +msgid "No component matching '%s' found." +msgstr "Nebyla nalezena žádná komponenta odpovídající „%s“." -#: src/as-validator-issue-tag.h:356 -msgid "Unable to reach remote icon at the given web location - does it exist?" -msgstr "" +#: tools/ascli-actions-mdata.c:206 +msgid "No value for the item to search for was defined." +msgstr "Nezadali jste co se má hledat." -#: src/as-validator-issue-tag.h:378 -msgid "" -"Unable to reach remote location that this URL references - does it exist?" -msgstr "" +#: tools/ascli-actions-mdata.c:212 +msgid "Invalid type for provided item selected. Valid values are:" +msgstr "Vybrán neplatný typ pro poskytovanou položku. Platné hodnoty jsou:" -#: src/as-validator-issue-tag.h:179 -msgid "" -"Unable to reach the screenshot image on its remote location - does the image " -"exist?" -msgstr "" +#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results +#: tools/ascli-actions-mdata.c:227 +#, c-format +msgid "Could not find component providing '%s::%s'." +msgstr "Nepodařilo se najít součást poskytující „%s::%s“." -#: src/as-validator-issue-tag.h:184 -msgid "" -"Unable to reach the screenshot video on its remote location - does the video " -"file exist?" -msgstr "" +#: tools/ascli-actions-mdata.c:306 +msgid "You need to specify a metadata file." +msgstr "Je třeba určit soubor s metadaty." -#: src/as-validator-issue-tag.h:542 -#, fuzzy -msgid "Unable to read file." +#: tools/ascli-actions-mdata.c:320 +#, fuzzy, c-format +msgid "Unable to install metadata file: %s" msgstr "Nedaří se načíst .desktop soubor: %s" -#: src/as-validator-issue-tag.h:574 -#, fuzzy -msgid "Unable to read the .desktop file associated with this component." -msgstr "Nedaří se načíst .desktop soubor: %s" +#: tools/ascli-actions-mdata.c:340 +msgid "You need to specify an input and output file." +msgstr "Je třeba zadat vstupní a výstupní soubor." -#: tools/ascli-actions-mdata.c:473 +#: tools/ascli-actions-mdata.c:347 #, c-format -msgid "Unable to read the .desktop file: %s" -msgstr "Nedaří se načíst .desktop soubor: %s" +msgid "Metadata file '%s' does not exist." +msgstr "Soubor s metadaty „%s“ neexistuje." -#: src/as-pool.c:606 -msgid "Unable to remove old cache." +#. TRANSLATORS: User is trying to convert a file in ascli +#: tools/ascli-actions-mdata.c:387 +msgid "" +"Unable to convert file: Could not determine output format, please set it " +"explicitly using '--format='." msgstr "" +"Nedaří se převést soubor: Nepodařilo se zjistit výstupní formát, nastavte ho " +"výslovně pomocí přepínače „--format“." -#: tools/ascli-actions-misc.c:370 +#: tools/ascli-actions-mdata.c:438 #, fuzzy, c-format -msgid "Unable to save desktop entry file: %s" -msgstr "Nedaří se načíst .desktop soubor: %s" +msgid "Unable to find operating system component '%s'!" +msgstr "Nepodařilo se nalézt součást s identifikátorem „%s“!" -#: tools/ascli-actions-mdata.c:552 -#, c-format -msgid "Unable to save the template metainfo file: %s" -msgstr "Nedaří se uložit soubor s metainformacemi šablony: %s" +#: tools/ascli-actions-mdata.c:443 +#, fuzzy +msgid "Version" +msgstr "Verze: %s" -#: tools/ascli-actions-pkgmgr.c:67 -#, c-format -msgid "Unable to spawn package manager: %s" -msgstr "Nepodařilo se spustit správce balíčků: %s" +#: tools/ascli-actions-mdata.c:467 +msgid "" +"You need to give an AppStream software component type to generate a " +"template. Possible values are:" +msgstr "" +"Aby bylo možné vytvořit šablonu, je třeba zadat typ softwarové součásti " +"AppStream. Možné hodnoty jsou:" -#: tools/ascli-actions-mdata.c:322 +#: tools/ascli-actions-mdata.c:469 #, c-format -msgid "Unable to write to '%s', can not install metainfo file." +msgid "" +"The software component type '%s' is not valid in AppStream. Possible values " +"are:" msgstr "" -"Nedaří se zapisovat do „%s“, proto nelze nainstalovat soubor s " -"metainformacemi." +"Typ „%s“ softwarové součásti není platný pro AppStream. Možné hodnoty jsou:" -#. TRANSLATORS: ascli has been run with unknown command. -#: tools/appstream-cli.c:1009 +#: tools/ascli-actions-mdata.c:487 #, c-format -msgid "Unknown command '%s'." -msgstr "Neznámý příkaz „%s“." +msgid "The .desktop file '%s' does not exist." +msgstr "Soubor .desktop pro „%s“ neexistuje." -#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. -#: tools/appstream-cli.c:608 +#: tools/ascli-actions-mdata.c:493 #, c-format -msgid "Unknown compare relation '%s'. Valid values are:" -msgstr "Neznámá deklarace porovnání „%s“. Platné hodnoty jsou:" +msgid "Unable to read the .desktop file: %s" +msgstr "Nedaří se načíst .desktop soubor: %s" -#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) -#: tools/appstream-cli.c:675 -msgid "" -"Use the given .desktop file to fill in the basic values of the metainfo file." -msgstr "" -"Použít daný .desktop soubor pro vyplnění základních hodnot do souboru s " -"metainformacemi." +#: tools/ascli-actions-mdata.c:564 +#, c-format +msgid "Unable to build the template metainfo file: %s" +msgstr "Nepodařilo se vytvořit soubor s šablonou metainformací: „%s“" -#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) -#: tools/appstream-cli.c:725 -msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." -msgstr "" +#: tools/ascli-actions-mdata.c:572 +#, c-format +msgid "Unable to save the template metainfo file: %s" +msgstr "Nedaří se uložit soubor s metainformacemi šablony: %s" -#. TRANSLATORS: this is the menu spec main category for Utilities -#: src/as-category.c:329 -msgid "Utilities" -msgstr "Nástroje" +#. TRANSLATORS: In the status report of ascli: Header +#: tools/ascli-actions-misc.c:47 +msgid "AppStream Status:" +msgstr "Stav nástroje AppStream:" -#: tools/appstream-cli.c:856 -msgid "Validate AppStream XML files for issues." -msgstr "Ověřit zda XML AppStream soubor neobsahuje chyby." +#: tools/ascli-actions-misc.c:48 +#, c-format +msgid "Version: %s" +msgstr "Verze: %s" -#: tools/appstream-cli.c:857 -msgid "Validate an installed file-tree of an application for valid metadata." -msgstr "" -"Ověřit zda nainstalovaný strom souborů aplikace obsahuje platná metadata." +#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions +#: tools/ascli-actions-misc.c:52 +msgid "Distribution metadata:" +msgstr "Metadata distribuce:" -#: tools/ascli-actions-validate.c:301 tools/ascli-actions-validate.c:442 -#, c-format -msgid "Validation failed: %s" -msgstr "Ověření se nezdařilo: %s" +#: tools/ascli-actions-misc.c:94 +msgid "Iconsets" +msgstr "Sady ikon" -#: tools/ascli-actions-validate.c:289 tools/ascli-actions-validate.c:430 -msgid "Validation was successful." -msgstr "Ověření bylo úspěšné." +#: tools/ascli-actions-misc.c:105 +msgid "No icons." +msgstr "Žádné ikony." -#: tools/ascli-actions-validate.c:291 tools/ascli-actions-validate.c:432 -#, c-format -msgid "Validation was successful: %s" -msgstr "Ověření bylo úspěšné: %s" +#. TRANSLATORS: No metainfo files have been found +#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 +msgid "Empty." +msgstr "Prázdné." -#: tools/appstream-cli.c:851 -msgid "Value of the item that should be found." -msgstr "Hodnota položky která má být nalezena." +#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report +#: tools/ascli-actions-misc.c:116 +msgid "Metainfo files:" +msgstr "Soubory s metainformacemi:" -#: src/as-category.c:177 -msgctxt "Category of Graphics" -msgid "Vector Graphics" -msgstr "Vektorová grafika" +#: tools/ascli-actions-misc.c:123 +#, c-format +msgid "Found %i components." +msgstr "Nalezeno %i součástí." -#: tools/ascli-actions-misc.c:48 +#. TRANSLATORS: Found metainfo files in legacy directories +#: tools/ascli-actions-misc.c:138 #, c-format -msgid "Version: %s" -msgstr "Verze: %s" +msgid "Found %i components in legacy paths." +msgstr "Nalezeno %i součástí v umístěních, jak se už nově nepoužívají." -#: src/as-category.c:180 -msgctxt "Category of Graphics" -msgid "Viewers" -msgstr "Prohlížeče" +#. TRANSLATORS: Status summary in ascli +#: tools/ascli-actions-misc.c:145 +msgid "Summary:" +msgstr "Shrnutí:" #: tools/ascli-actions-misc.c:153 #, c-format msgid "We have information on %i software components." msgstr "Je k dispozici informace o %i softwarové součásti." -#: src/as-category.c:270 -msgctxt "Category of Communication" -msgid "Web Browsers" -msgstr "Webové prohlížeče" - -#: src/as-category.c:202 -msgctxt "Category of Office" -msgid "Word Processor" -msgstr "Textový procesor" +#: tools/ascli-actions-misc.c:159 +#, c-format +msgid "Error while loading the metadata pool: %s" +msgstr "Chyba při načítání fondu metadat: %s" -#: tools/appstream-cli.c:871 -msgid "Write NEWS text or YAML file with information from a metainfo file." -msgstr "" +#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 +#, fuzzy +msgid "You need to specify a metainfo file as input." +msgstr "Je třeba určit soubor s metadaty." -#: tools/appstream-cli.c:874 +#: tools/ascli-actions-misc.c:188 +#, fuzzy msgid "" -"You can find information about subcommand-specific options by passing \"--" -"help\" to the subcommand." +"You need to specify a desktop-entry file to create or augment as output." +msgstr "Je třeba určit soubor, který má být ověřen!" + +#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 +#: tools/ascli-actions-misc.c:515 +#, fuzzy, c-format +msgid "Metainfo file '%s' does not exist." +msgstr "Soubor s metadaty „%s“ neexistuje." + +#: tools/ascli-actions-misc.c:219 +#, c-format +msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." msgstr "" -"Informace o přepínačích pro konkrétní dílčí příkazy obdržíte připojením „--" -"help“ (nápověda) k dílčímu příkazu." -#. TRANSLATORS: In ascli: The requested action needs higher permissions. -#: tools/ascli-actions-mdata.c:70 -msgid "You might need superuser permissions to perform this action." +#: tools/ascli-actions-misc.c:224 +#, fuzzy, c-format +msgid "Unable to load existing desktop-entry file template: %s" +msgstr "Nedaří se načíst .desktop soubor: %s" + +#: tools/ascli-actions-misc.c:228 +#, c-format +msgid "Creating new desktop-entry file '%s' using data from '%s'" msgstr "" -"K provedení této činnosti možná budete potřebovat oprávnění správce systému." -#: tools/ascli-actions-mdata.c:447 -msgid "" -"You need to give an AppStream software component type to generate a " -"template. Possible values are:" +#: tools/ascli-actions-misc.c:284 +msgid "No stock icon name was provided in the metainfo file. Can not continue." msgstr "" -"Aby bylo možné vytvořit šablonu, je třeba zadat typ softwarové součásti " -"AppStream. Možné hodnoty jsou:" -#: tools/appstream-cli.c:579 +#: tools/ascli-actions-misc.c:306 msgid "" -"You need to provide at least two version numbers to compare as parameters." +"No provided binary specified in metainfo file, and no exec command specified " +"via '--exec'. Can not create 'Exec=' key." msgstr "" -"Jako parametry je třeba zadat přinejmenším dvě čísla verzí pro porovnání." + +#: tools/ascli-actions-misc.c:370 +#, fuzzy, c-format +msgid "Unable to save desktop entry file: %s" +msgstr "Nedaří se načíst .desktop soubor: %s" #: tools/ascli-actions-misc.c:393 #, fuzzy msgid "You need to specify a NEWS file as input." msgstr "Je třeba určit soubor s metadaty." +#: tools/ascli-actions-misc.c:397 +#, fuzzy +msgid "" +"You need to specify a metainfo file to augment, or '-' to print to stdout." +msgstr "Je třeba určit soubor s metadaty." + +#: tools/ascli-actions-misc.c:402 +msgid "No output filename specified, modifying metainfo file directly." +msgstr "" + #: tools/ascli-actions-misc.c:509 #, fuzzy msgid "You need to specify a NEWS file as output, or '-' to print to stdout." @@ -1793,121 +2647,190 @@ msgid "You need to specify a NEWS format to write the output in." msgstr "Je třeba zadat vstupní a výstupní soubor." -#. TRANSLATORS: ascli has been run without command. -#: tools/appstream-cli.c:925 -msgid "You need to specify a command." -msgstr "Je třeba zadat příkaz." - -#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments -#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. -#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:254 -#: tools/ascli-actions-pkgmgr.c:80 -msgid "You need to specify a component-ID." -msgstr "Je třeba zadat identifikátor součásti." - -#: tools/ascli-actions-misc.c:188 -#, fuzzy +#: tools/ascli-actions-pkgmgr.c:53 msgid "" -"You need to specify a desktop-entry file to create or augment as output." -msgstr "Je třeba určit soubor, který má být ověřen!" +"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" +"\" (part of PackageKit) is available." +msgstr "" +"Nebyl nalezen žádný použitelný správné balíčků pro příkazový řádek. " +"Zajistěte, aby byl k dispozici například „pkcon“ (součást PackageKit)." -#: tools/ascli-actions-mdata.c:309 -msgid "You need to specify a metadata file." -msgstr "Je třeba určit soubor s metadaty." +#: tools/ascli-actions-pkgmgr.c:67 +#, c-format +msgid "Unable to spawn package manager: %s" +msgstr "Nepodařilo se spustit správce balíčků: %s" -#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 -#, fuzzy -msgid "You need to specify a metainfo file as input." -msgstr "Je třeba určit soubor s metadaty." +#. TRANSLATORS: We found no distribution package or bundle to install to make this software available +#: tools/ascli-actions-pkgmgr.c:106 +#, c-format +msgid "Component '%s' has no installation candidate." +msgstr "Součást „%s“ nemá kandidáta na instalaci." -#: tools/ascli-actions-misc.c:397 -#, fuzzy -msgid "" -"You need to specify a metainfo file to augment, or '-' to print to stdout." -msgstr "Je třeba určit soubor s metadaty." +#: tools/ascli-actions-validate.c:176 tools/ascli-actions-validate.c:354 +#, fuzzy, c-format +msgid "File '%s' does not exist." +msgstr "Soubor s metadaty „%s“ neexistuje." -#: tools/ascli-actions-validate.c:385 tools/ascli-actions-validate.c:479 -msgid "You need to specify a root directory to start validation!" -msgstr "Aby mohlo začít ověřování, je třeba zadat kořenovou složku!" +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "error"-type hints +#: tools/ascli-actions-validate.c:228 +#, c-format +msgid "errors: %lu" +msgstr "chyby: %lu" -#: tools/ascli-actions-mdata.c:164 -msgid "You need to specify a term to search for." -msgstr "Je třeba zadat výraz, který se má hledat." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "warning"-type hints +#: tools/ascli-actions-validate.c:235 +#, c-format +msgid "warnings: %lu" +msgstr "varování: %lu" -#: tools/ascli-actions-mdata.c:357 -msgid "You need to specify an input and output file." -msgstr "Je třeba zadat vstupní a výstupní soubor." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "info"-type hints +#: tools/ascli-actions-validate.c:242 +#, c-format +msgid "infos: %lu" +msgstr "informace: %lu" -#: tools/ascli-actions-validate.c:263 tools/ascli-actions-validate.c:337 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "pedantic"-type hints +#: tools/ascli-actions-validate.c:249 +#, c-format +msgid "pedantic: %lu" +msgstr "drobnosti: %lu" + +#: tools/ascli-actions-validate.c:268 tools/ascli-actions-validate.c:342 #, fuzzy msgid "You need to specify at least one file to validate!" msgstr "Je třeba určit soubor, který má být ověřen!" -#. TRANSLATORS: List of "grey-listed" words sperated with ";" -#. * Do not translate this list directly. Instead, -#. * provide a list of words in your language that people are likely -#. * to include in a search but that should normally be ignored in -#. * the search. -#. -#: src/as-pool.c:107 -msgid "app;application;package;program;programme;suite;tool" -msgstr "" -"app;apka;aplikace;balíček;balík;program;sada;příslušenství;nástroj;pomůcka" +#: tools/ascli-actions-validate.c:294 tools/ascli-actions-validate.c:435 +msgid "Validation was successful." +msgstr "Ověření bylo úspěšné." -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:223 +#: tools/ascli-actions-validate.c:296 tools/ascli-actions-validate.c:437 #, c-format -msgid "errors: %lu" -msgstr "chyby: %lu" +msgid "Validation was successful: %s" +msgstr "Ověření bylo úspěšné: %s" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:237 +#: tools/ascli-actions-validate.c:306 tools/ascli-actions-validate.c:447 #, c-format -msgid "infos: %lu" -msgstr "informace: %lu" +msgid "Validation failed: %s" +msgstr "Ověření se nezdařilo: %s" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:244 +#: tools/ascli-actions-validate.c:368 tools/ascli-actions-validate.c:497 #, c-format -msgid "pedantic: %lu" -msgstr "drobnosti: %lu" +msgid "" +"The validator can not create reports in the '%s' format. You may select " +"'yaml' or 'text' instead." +msgstr "" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:230 -#, c-format -msgid "warnings: %lu" -msgstr "varování: %lu" +#: tools/ascli-actions-validate.c:390 tools/ascli-actions-validate.c:484 +msgid "You need to specify a root directory to start validation!" +msgstr "Aby mohlo začít ověřování, je třeba zadat kořenovou složku!" -#~ msgid "Command '%s' is unknown." -#~ msgstr "Neznámý příkaz „%s“." +#: tools/ascli-utils.c:266 +msgid "Identifier" +msgstr "Identifikátor" -#~ msgid "Do not use any caches when performing the request." -#~ msgstr "Při dotazování nepoužívat žádné mezipaměti." +#: tools/ascli-utils.c:268 +msgid "Internal ID" +msgstr "" -#~ msgid "AppStream cache update failed." -#~ msgstr "Aktualizace mezipaměti AppStreamu selhala." +#: tools/ascli-utils.c:269 +msgid "Name" +msgstr "Název" -#, fuzzy -#~ msgid "Category of Games" -#~ msgstr "Kategorie" +#: tools/ascli-utils.c:270 +msgid "Summary" +msgstr "Shrnutí" -#, fuzzy -#~ msgid "Category of Office" -#~ msgstr "Kategorie" +#: tools/ascli-utils.c:271 +msgid "Package" +msgstr "Balíček" -#, fuzzy -#~ msgid "Category of Science" -#~ msgstr "Kategorie" +#: tools/ascli-utils.c:272 +msgid "Bundle" +msgstr "Zabaleno s" + +#: tools/ascli-utils.c:273 +msgid "Homepage" +msgstr "Domovská stránka" + +#: tools/ascli-utils.c:274 +msgid "Icon" +msgstr "Ikona" + +#. developer name +#: tools/ascli-utils.c:294 +msgid "Developer" +msgstr "Vývojáři" + +#: tools/ascli-utils.c:300 +msgid "Extends" +msgstr "Rozšiřuje" + +#: tools/ascli-utils.c:306 +msgid "Description" +msgstr "Popis" + +#: tools/ascli-utils.c:326 +msgid "Default Screenshot URL" +msgstr "URL výchozího ukázkového snímku obrazovky" + +#. project group +#: tools/ascli-utils.c:333 +msgid "Project Group" +msgstr "Skupina projektu" + +#. license +#: tools/ascli-utils.c:336 +msgid "License" +msgstr "Licence" + +#: tools/ascli-utils.c:342 +msgid "Categories" +msgstr "Kategorie" + +#: tools/ascli-utils.c:350 +msgid "Compulsory for" +msgstr "Povinné pro" -#~ msgid "Extensions" -#~ msgstr "Rozšíření" +#: tools/ascli-utils.c:378 +msgid "Provided Items" +msgstr "Poskytované položky" -#~ msgid "File %s not found or permission denied!" -#~ msgstr "Soubor %s nebyl nalezen nebo byl odepřen přístup!" +#, fuzzy, c-format +#~ msgid "Unable to open new cache file: %s" +#~ msgstr "Nedaří se načíst .desktop soubor: %s" #, fuzzy -#~ msgid "No component providing '%s::%s' found." -#~ msgstr "Nebyla nalezena žádná komponenta poskytující „%s;%s“." +#~ msgid "" +#~ "AppStream is a cross-distribution specification to provide metadata about " +#~ "software components." +#~ msgstr "" +#~ "AppStream je standard pro poskytování metadat o programovém vybavení, " +#~ "používaný napříč linuxovými distribucemi." + +#, c-format +#~ msgid "Unable to write to '%s', can not install metainfo file." +#~ msgstr "" +#~ "Nedaří se zapisovat do „%s“, proto nelze nainstalovat soubor s " +#~ "metainformacemi." + +#, c-format +#~ msgid "" +#~ "Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " +#~ "suffix." +#~ msgstr "" +#~ "Nedaří se zkopírovat „%s“: Soubor nemá příponu „.metainfo.xml“ nebo „." +#~ "appdata.xml“." + +#~ msgid "An item type (e.g. lib, bin, python3, …)" +#~ msgstr "Typ položky (např. lib, bin, python3, …)" + +#~ msgid "Get components which provide the given item." +#~ msgstr "Získat součásti, které poskytují danou položku." + +#, c-format +#~ msgid "Unknown command '%s'." +#~ msgstr "Neznámý příkaz „%s“." -#~ msgid "XDG Menu XML file '%s' is damaged." -#~ msgstr "Soubor XML „%s“ s XDG Menu je poškozený." +#~ msgid "Value of the item that should be found." +#~ msgstr "Hodnota položky která má být nalezena." diff -Nru appstream-0.12.10/po/da.po appstream-0.14.5/po/da.po --- appstream-0.12.10/po/da.po 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/po/da.po 2021-08-28 20:15:28.000000000 +0000 @@ -1,16 +1,26 @@ +# #-#-#-#-# da.po (AppStream) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Matthias Klumpp # This file is distributed under the same license as the appstream package. # Translators: # Joe Hansen , 2014 -# scootergrisen , 2019, 2020. -# Henrik Dankvardt , 2019. +# scootergrisen , 2019, 2020, 2021. +# Henrik Dankvardt , 2019, 2020, 2021. +# #-#-#-#-# da.po (appstream-glib) #-#-#-#-# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Joe Hansen , 2015 +# Richard Hughes , 2016. #zanata +# scootergrisen , 2019. #zanata, 2021. +# +# Translators: msgid "" msgstr "" -"Project-Id-Version: AppStream\n" +"Project-Id-Version: appstream-glib\n" "Report-Msgid-Bugs-To: appstream@lists.freedesktop.org\n" -"POT-Creation-Date: 2020-01-14 01:44+0100\n" -"PO-Revision-Date: 2020-01-09 15:37+0000\n" +"POT-Creation-Date: 2021-08-28 16:09+0200\n" +"PO-Revision-Date: 2021-06-03 10:33+0000\n" "Last-Translator: scootergrisen \n" "Language-Team: Danish \n" @@ -19,1118 +29,1995 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 3.10.1\n" - -#: tools/appstream-cli.c:157 -#, c-format -msgid "'%s' command" -msgstr "'%s'-kommando" - -#: src/as-category.c:168 -msgctxt "Category of Graphics" -msgid "3D Graphics" -msgstr "3D-grafik" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:254 -msgid "" -"A 'requires' or 'recommends' item requires a value to denote a valid " -"relation." -msgstr "" -"Et 'requires'- eller 'recommends'-punkt kræver en værdi for at betegne en " -"gyldig relation." - -#: src/as-validator-issue-tag.h:51 -msgid "" -"A tag must not be localized in metainfo files (upstream " -"metadata). Localize the individual paragraphs instead." -msgstr "" -"Et -tag skal ikke lokaliseres i metainfo-filer " -"(opstrømsmetadata). Lokaliser i stedet de enkelte afsnit." - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:195 -msgid "" -"A screenshot must contain at least one image or video in order to be useful. " -"Please add an to it." -msgstr "" -"Et skærmbillede skal indeholde mindst ét billede eller én video for at være " -"nyttig. Tilføj venligst et til det." - -#: src/as-validator-issue-tag.h:200 -msgid "" -"A screenshot must contain either images or videos, but not both at the same " -"time. Please use this screenshot exclusively for either static images or for " -"videos." -msgstr "" -"Et skærmbillede skal enten indeholde billeder eller videoer, men ikke begge " -"dele på samme tid. Brug venligst kun skærmbilledet til enten statiske " -"billeder eller til videoer." - -#: src/as-category.c:123 -msgctxt "Category of Games" -msgid "Action" -msgstr "Handling" - -#. TRANSLATORS: this is the main category for Add-ons -#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor -#: src/as-category.c:320 tools/ascli-utils.c:398 -msgid "Add-ons" -msgstr "Tilføjelser" - -#: src/as-category.c:126 -msgctxt "Category of Games" -msgid "Adventure" -msgstr "Eventyr" - -#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) -#: tools/appstream-cli.c:116 -msgid "Also show pedantic hints." -msgstr "Vis også pedantiske tips." - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:497 -msgid "" -"An 'extends' tag is specified, but the component is not of type 'addon', " -"'localization' or 'repository'." -msgstr "" -"Et 'extends'-tag er angivet, men komponenten er ikke af typen 'addon', " -"'localization' eller 'repository'." - -#: tools/appstream-cli.c:850 -msgid "An item type (e.g. lib, bin, python3, …)" -msgstr "En elementtype (f.eks. lib, bin, python3 …)" - -#: data/org.freedesktop.appstream.cli.metainfo.xml:9 -msgid "An utility to work with AppStream metadata" -msgstr "Et redskab til at arbejde med AppStream-metadata" +"X-Generator: Weblate 4.7-dev\n" #: data/org.freedesktop.appstream.cli.metainfo.xml:8 msgid "AppStream CLI" msgstr "AppStream CLI" -#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. -#: tools/appstream-cli.c:947 -#, c-format -msgid "" -"AppStream CLI tool version: %s\n" -"AppStream library version: %s" -msgstr "" -"Version for AppStream CLI-værktøj: %s\n" -"Version for AppStream-bibliotek: %s" - -#. TRANSLATORS: In the status report of ascli: Header -#: tools/ascli-actions-misc.c:47 -msgid "AppStream Status:" -msgstr "AppStream-status:" - -#. we performed a cache refresh -#. TRANSLATORS: Updating the metadata cache succeeded -#: tools/ascli-actions-mdata.c:80 -msgid "AppStream cache update completed successfully." -msgstr "Opdatering af AppStreams mellemlager blev gennemført." - -#. cache wasn't updated, so the update wasn't necessary -#: tools/ascli-actions-mdata.c:86 -msgid "AppStream cache update is not necessary." -msgstr "Det er ikke nødvendigt at opdatere AppStreams mellemlager." - -#. TRANSLATORS: This is the header to the --help menu for subcommands -#. TRANSLATORS: This is the header to the --help menu -#: tools/appstream-cli.c:154 tools/appstream-cli.c:843 -msgid "AppStream command-line interface" -msgstr "AppStream-kommandolinjegrænseflade" - -#: src/as-validator-issue-tag.h:63 -msgid "" -"AppStream descriptions support only a limited set of tags to format text: " -"Paragraphs (

                                                ) and lists (

                                                  ,
                                                    ). This description markup contains " -"an invalid XML tag that would not be rendered correctly in applications " -"supporting the metainfo specification." -msgstr "" -"AppStream-beskrivelser understøtter kun et begrænset sæt tags til " -"formatering af tekst: Afsnit (

                                                    ) og lister (

                                                      ,
                                                        ). Beskrivelsens " -"opmærkning indeholder et ugyldigt XML-tag som ikke vil blive gengivet " -"korrekt i programmer som understøtter metainfo-specifikationen." +#: data/org.freedesktop.appstream.cli.metainfo.xml:9 +msgid "An utility to work with AppStream metadata" +msgstr "Et redskab til at arbejde med AppStream-metadata" #: data/org.freedesktop.appstream.cli.metainfo.xml:12 msgid "" -"AppStream is a cross-distribution specification to provide metadata about " -"software components." -msgstr "" -"AppStream er en specifikation på tværs af distributioner, som leverer " -"metadata om softwarekomponenter." +"AppStream is a metadata specification which permits software components to " +"provide information about themselves to automated systems and end-users " +"before the software is actually installed. The AppStream project provides " +"facilities to easily access and transform this metadata, as well as a few " +"additional services for building feature-rich software centers and similar " +"applications that make use of software metadata." +msgstr "" +"AppStream er en metadata-specifikation, der tillader softwarekomponenter at " +"give oplysninger om sig selv til automatiserede systemer og slutbrugere, før " +"softwaren faktisk installeres. AppStream-projektet giver faciliteter til let " +"adgang til og omdannelse af disse metadata samt et par ekstra tjenester til " +"opbygning af funktionsrige softwarecentre og lignende applikationer, der gør " +"brug af softwaremetadata." + +#: data/org.freedesktop.appstream.cli.metainfo.xml:18 +msgid "" +"The appstreamcli command-line tool allows to read, write, and " +"transform AppStream XML or YAML metadata as well as to validate it for " +"compliance with the specification. It also provides easy access to the " +"system metadata pool, for example to query for software that provides a " +"specific Mediatype handler or for installing software by its component " +"identifier." +msgstr "" +"Kommandolinjeærktøjet appstreamcli gør det muligt at læse, skrive, " +"validere og transformere AppStream XML- eller YAML-metadata samt validere " +"den for overholdelse af specifikationen. Det giver også let adgang til " +"systemets metadatasamling, f.eks. til at forespørge software der håndtere en " +"bestemt MIME-type eller for at installere software med dens " +"komponentidentifikator." -#: src/as-pool.c:1937 -#, c-format -msgid "" -"AppStream system cache refresh failed. Turn on verbose mode to get detailed " -"issue information." -msgstr "" -"Opdatering af AppStreams systemmellemlager mislykkedes. Slå uddybende " -"tilstand til for at få detaljer information om problemet." +#: src/as-category.c:66 +msgctxt "Category of AudioVideo" +msgid "Featured" +msgstr "Udvalgte" -#. TRANSLATORS: Output if appstreamcli --version is executed. -#: tools/appstream-cli.c:944 -#, c-format -msgid "AppStream version: %s" -msgstr "AppStream-version: %s" +#: src/as-category.c:69 +msgctxt "Category of AudioVideo" +msgid "Audio Creation & Editing" +msgstr "Oprettelse og redigering af lyd" -#: src/as-category.c:129 -msgctxt "Category of Games" -msgid "Arcade" -msgstr "Arkade" +#: src/as-category.c:75 +msgctxt "Category of AudioVideo" +msgid "Music Players" +msgstr "Musikafspillere" -#: src/as-category.c:234 -msgctxt "Category of Science" -msgid "Artificial Intelligence" -msgstr "Kunstig intelligens" +#: src/as-category.c:84 +msgctxt "Category of Development" +msgid "Featured" +msgstr "Udvalgte" -#: src/as-validator-issue-tag.h:91 -msgid "" -"As per AppStream specification, the mentioned tag must only appear once in " -"this context. Having multiple tags of this kind is not valid." -msgstr "" -"I henhold til AppStream-specifikationen må det omtalte tag kun findes én " -"gang i dette sammenhæng. Det er ikke gyldigt at have flere tags af denne " -"type." +#: src/as-category.c:87 +msgctxt "Category of Development" +msgid "Debuggers" +msgstr "Fejlrettere" -#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command -#: tools/appstream-cli.c:766 -msgid "Assume the input file is in the selected format ('yaml' or 'text')." -msgstr "Formod at inputfilen er i det valgte format ('yaml' eller 'text')." +#: src/as-category.c:90 +msgctxt "Category of Development" +msgid "IDEs" +msgstr "IDE'er" -#: src/as-category.c:101 +#: src/as-category.c:99 msgctxt "Category of Education" -msgid "Astronomy" -msgstr "Astronomi" +msgid "Featured" +msgstr "Udvalgte" -#: src/as-category.c:237 -msgctxt "Category of Science" +#: src/as-category.c:102 +msgctxt "Category of Education" msgid "Astronomy" msgstr "Astronomi" -#. TRANSLATORS: this is the menu spec main category for Audio & Video -#: src/as-category.c:302 -msgid "Audio & Video" -msgstr "Lyd og video" +#: src/as-category.c:105 +msgctxt "Category of Education" +msgid "Chemistry" +msgstr "Kemi" -#: src/as-category.c:68 -msgctxt "Category of AudioVideo" -msgid "Audio Creation & Editing" -msgstr "Oprettelse og redigering af lyd" +#: src/as-category.c:108 +msgctxt "Category of Education" +msgid "Languages" +msgstr "Sprog" -#: tools/ascli-actions-misc.c:219 -#, c-format -msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." -msgstr "Tilføjer til eksisterende desktop-entry-fil '%s' med data fra '%s'." +#: src/as-category.c:112 +msgctxt "Category of Education" +msgid "Math" +msgstr "Matematik" -#: src/as-provided.c:146 -msgid "Binaries" -msgstr "Binære" +#: src/as-category.c:121 +msgctxt "Category of Games" +msgid "Featured" +msgstr "Udvalgte" + +#: src/as-category.c:124 +msgctxt "Category of Games" +msgid "Action" +msgstr "Handling" + +#: src/as-category.c:127 +msgctxt "Category of Games" +msgid "Adventure" +msgstr "Eventyr" + +#: src/as-category.c:130 +msgctxt "Category of Games" +msgid "Arcade" +msgstr "Arkade" -#: src/as-category.c:132 +#: src/as-category.c:133 msgctxt "Category of Games" msgid "Blocks" msgstr "Blokke" -#: src/as-category.c:135 +#: src/as-category.c:136 msgctxt "Category of Games" msgid "Board" msgstr "Bræt" -#: tools/ascli-utils.c:299 -msgid "Bundle" -msgstr "Samling" - -#: src/as-pool.c:1828 -#, c-format -msgid "Cache location '%s' is not writable." -msgstr "Mellemlagerets placering '%s' er skrivebeskyttet." - -#: src/as-category.c:191 -msgctxt "Category of Office" -msgid "Calendar" -msgstr "Kalender" - -#: tools/ascli-actions-mdata.c:327 -#, c-format -msgid "" -"Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " -"suffix." -msgstr "" -"Kan ikke kopiere '%s': filen har ikke et '.metainfo.xml'- eller '.appdata." -"xml'-suffiks." - -#: src/as-category.c:138 +#: src/as-category.c:139 msgctxt "Category of Games" msgid "Card" msgstr "Kort" -#: tools/ascli-utils.c:369 -msgid "Categories" -msgstr "Kategorier" - -#: src/as-category.c:259 -msgctxt "Category of Communication" -msgid "Chat" -msgstr "Chat" +#: src/as-category.c:142 +msgctxt "Category of Games" +msgid "Emulators" +msgstr "Emulatore" -#: src/as-category.c:104 -msgctxt "Category of Education" -msgid "Chemistry" -msgstr "Kemi" +#: src/as-category.c:145 +msgctxt "Category of Games" +msgid "Kids" +msgstr "Børn" -#: src/as-category.c:240 -msgctxt "Category of Science" -msgid "Chemistry" -msgstr "Kemi" +#: src/as-category.c:148 +msgctxt "Category of Games" +msgid "Logic" +msgstr "Logik" -#: src/as-category.c:214 -msgctxt "Category of Addons" -msgid "Codecs" -msgstr "Codecs" +#: src/as-category.c:151 +msgctxt "Category of Games" +msgid "Role Playing" +msgstr "Rollespil" -#. TRANSLATORS: this is the menu spec main category for Communication -#: src/as-category.c:326 -msgid "Communication & News" -msgstr "Kommunikation og nyheder" +#: src/as-category.c:154 +msgctxt "Category of Games" +msgid "Sports" +msgstr "Sport" -#: tools/appstream-cli.c:866 -msgid "Compare two version numbers." -msgstr "Sammenlign to versionsnumre." +#: src/as-category.c:158 +msgctxt "Category of Games" +msgid "Strategy" +msgstr "Strategi" -#: src/as-provided.c:166 -msgid "Component" -msgstr "Komponent" - -#. TRANSLATORS: We found no distribution package or bundle to install to make this software available -#: tools/ascli-actions-pkgmgr.c:106 -#, c-format -msgid "Component '%s' has no installation candidate." -msgstr "Komponenten '%s' har ikke nogen installationskandidaten." - -#: tools/ascli-utils.c:377 -msgid "Compulsory for" -msgstr "Obligatorisk for" - -#: src/as-validator-issue-tag.h:361 -msgid "Consider using a secure (HTTPS) URL for the remote icon link." -msgstr "Overvej at bruge en sikker (HTTPS) URL til fjern-ikonlinket." - -#: src/as-validator-issue-tag.h:383 -msgid "Consider using a secure (HTTPS) URL for this web link." -msgstr "Overvej at bruge en sikker (HTTPS) URL til weblinket." - -#: src/as-validator-issue-tag.h:189 -msgid "" -"Consider using a secure (HTTPS) URL to reference this screenshot image or " -"video." -msgstr "" -"Overvej at bruge en sikker (HTTPS) URL til at henvise til skærmbilledet " -"eller videoen." - -#: tools/appstream-cli.c:870 -msgid "Convert a YAML or text NEWS file into metainfo releases." -msgstr "Konvertér en YAML- eller tekst NEWS-fil i metainfo-udgivelser." +#: src/as-category.c:166 +msgctxt "Category of Graphics" +msgid "Featured" +msgstr "Udvalgte" -#. TRANSLATORS: "convert" command in ascli. "Collection XML" is a term describing a specific type of AppStream XML data. -#: tools/appstream-cli.c:865 -msgid "Convert collection XML to YAML or vice versa." -msgstr "Konvertér samlings-XML til -YAML eller omvendt." +#: src/as-category.c:169 +msgctxt "Category of Graphics" +msgid "3D Graphics" +msgstr "3D-grafik" -#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results -#: tools/ascli-actions-mdata.c:228 -#, c-format -msgid "Could not find component providing '%s::%s'." -msgstr "Kan ikke finde komponent som leverer '%s::%s'." +#: src/as-category.c:172 +msgctxt "Category of Graphics" +msgid "Photography" +msgstr "Fotografi" -#: tools/appstream-cli.c:869 -msgid "Create a XDG desktop-entry file from a metainfo file." -msgstr "Opret en XDG desktop-entry fil fra en metainfo fil." +#: src/as-category.c:175 +msgctxt "Category of Graphics" +msgid "Scanning" +msgstr "Skanning" -#: tools/appstream-cli.c:868 -msgid "" -"Create a template for a metainfo file (to be filled out by the upstream " -"project)." -msgstr "Opret en skabelon til en metainfofil (udfyldes af opstrømsprojektet)." +#: src/as-category.c:178 +msgctxt "Category of Graphics" +msgid "Vector Graphics" +msgstr "Vektorgrafik" -#: tools/ascli-actions-misc.c:228 -#, c-format -msgid "Creating new desktop-entry file '%s' using data from '%s'" -msgstr "Opretter ny desktop-entry-fil '%s' med data fra '%s'" +#: src/as-category.c:181 +msgctxt "Category of Graphics" +msgid "Viewers" +msgstr "Fremvisere" -#: src/as-provided.c:160 -msgid "D-Bus Session Services" -msgstr "Tjenester for D-Bus-session" +#: src/as-category.c:189 +msgctxt "Category of Office" +msgid "Featured" +msgstr "Udvalgte" -#: src/as-provided.c:158 -msgid "D-Bus System Services" -msgstr "Tjenester for D-Bus-system" +#: src/as-category.c:192 +msgctxt "Category of Office" +msgid "Calendar" +msgstr "Kalender" -#: src/as-category.c:195 +#: src/as-category.c:196 msgctxt "Category of Office" msgid "Database" msgstr "Database" -#: src/as-category.c:86 -msgctxt "Category of Development" -msgid "Debuggers" -msgstr "Fejlrettere" - -#: tools/ascli-utils.c:353 -msgid "Default Screenshot URL" -msgstr "URL for standardskærmbillede" - -#. TRANSLATORS: ascli flag description for: --format -#: tools/appstream-cli.c:83 -msgid "Default metadata format (valid values are 'xml' and 'yaml')." -msgstr "Standardmetadataformat (gyldige værdier er 'xml' og 'yaml')." - -#: tools/ascli-utils.c:333 -msgid "Description" -msgstr "Beskrivelse" - -#. developer name -#: tools/ascli-utils.c:321 -msgid "Developer" -msgstr "Udvikler" - -#. TRANSLATORS: this is the menu spec main category for Development -#: src/as-category.c:305 -msgid "Developer Tools" -msgstr "Udviklerværktøjer" - -#: tools/appstream-cli.c:862 -msgid "Display status information about available AppStream metadata." -msgstr "Vis statusinformation om tilgængelige AppStream-metadata." +#: src/as-category.c:199 +msgctxt "Category of Office" +msgid "Finance" +msgstr "Finans" -#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions -#: tools/ascli-actions-misc.c:52 -msgid "Distribution metadata:" -msgstr "Distributionsmetadata:" +#: src/as-category.c:203 +msgctxt "Category of Office" +msgid "Word Processor" +msgstr "Tekstbehandler" -#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) -#: tools/appstream-cli.c:126 -msgid "Do not use network access." -msgstr "Brug ikke netværksadgang." +#: src/as-category.c:212 +msgctxt "Category of Addons" +msgid "Fonts" +msgstr "Skrifttyper" -#. TRANSLATORS: ascli flag description for: --no-color -#: tools/appstream-cli.c:908 -msgid "Don't show colored output." -msgstr "Vis ikke farver i output." +#: src/as-category.c:215 +msgctxt "Category of Addons" +msgid "Codecs" +msgstr "Codecs" -#: tools/appstream-cli.c:853 -msgid "Dump raw XML metadata for a component matching the ID." -msgstr "Dump rå XML-metadata for en komponent som matcher id'et." +#: src/as-category.c:218 +msgctxt "Category of Addons" +msgid "Input Sources" +msgstr "Inputkilder" -#. TRANSLATORS: this is the menu spec main category for Education -#: src/as-category.c:308 -msgid "Education" -msgstr "Læring" +#: src/as-category.c:221 +msgctxt "Category of Addons" +msgid "Language Packs" +msgstr "Sprogpakker" -#. TRANSLATORS: No metainfo files have been found -#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 -msgid "Empty." -msgstr "Tom." +#: src/as-category.c:224 +msgctxt "Category of Addons" +msgid "Localization" +msgstr "Lokalisering" -#: src/as-category.c:141 -msgctxt "Category of Games" -msgid "Emulators" -msgstr "Emulatore" +#: src/as-category.c:232 +msgctxt "Category of Science" +msgid "Featured" +msgstr "Udvalgte" -#. TRANSLATORS: ascli flag description for: --force -#: tools/appstream-cli.c:245 -msgid "Enforce a cache refresh." -msgstr "Gennemtving en opdatering af mellemlageret." +#: src/as-category.c:235 +msgctxt "Category of Science" +msgid "Artificial Intelligence" +msgstr "Kunstig intelligens" -#: src/as-validator-issue-tag.h:74 -msgid "Enumerations must only have list items (
                                                      1. ) as children." -msgstr "Oplistninger må kun have listepunkter (
                                                      2. ) som børn." +#: src/as-category.c:238 +msgctxt "Category of Science" +msgid "Astronomy" +msgstr "Astronomi" -#: tools/ascli-actions-misc.c:159 -#, c-format -msgid "Error while loading the metadata pool: %s" -msgstr "Fejl ved indlæsning af metadatasamingen: %s" +#: src/as-category.c:241 +msgctxt "Category of Science" +msgid "Chemistry" +msgstr "Kemi" -#: tools/ascli-utils.c:327 -msgid "Extends" -msgstr "Udvider" +#: src/as-category.c:244 +msgctxt "Category of Science" +msgid "Math" +msgstr "Matematik" -#: src/as-category.c:65 -msgctxt "Category of AudioVideo" -msgid "Featured" -msgstr "Udvalgte" +#: src/as-category.c:249 +msgctxt "Category of Science" +msgid "Robotics" +msgstr "Robotteknologi" -#: src/as-category.c:256 +#: src/as-category.c:257 msgctxt "Category of Communication" msgid "Featured" msgstr "Udvalgte" -#: src/as-category.c:83 -msgctxt "Category of Development" -msgid "Featured" -msgstr "Udvalgte" - -#: src/as-category.c:98 -msgctxt "Category of Education" -msgid "Featured" -msgstr "Udvalgte" - -#: src/as-category.c:120 -msgctxt "Category of Games" -msgid "Featured" -msgstr "Udvalgte" +#: src/as-category.c:260 +msgctxt "Category of Communication" +msgid "Chat" +msgstr "Chat" -#: src/as-category.c:165 -msgctxt "Category of Graphics" -msgid "Featured" -msgstr "Udvalgte" +#: src/as-category.c:267 +msgctxt "Category of Communication" +msgid "News" +msgstr "Nyheder" -#: src/as-category.c:188 -msgctxt "Category of Office" -msgid "Featured" -msgstr "Udvalgte" +#: src/as-category.c:271 +msgctxt "Category of Communication" +msgid "Web Browsers" +msgstr "Webbrowsere" -#: src/as-category.c:231 -msgctxt "Category of Science" +#: src/as-category.c:279 +msgctxt "Category of Utility" msgid "Featured" msgstr "Udvalgte" -#: src/as-category.c:278 +#: src/as-category.c:282 msgctxt "Category of Utility" -msgid "Featured" -msgstr "Udvalgte" +msgid "Text Editors" +msgstr "Tekstredigeringer" -#: tools/ascli-actions-validate.c:171 tools/ascli-actions-validate.c:349 -#, c-format -msgid "File '%s' does not exist." -msgstr "Filen '%s' findes ikke." +#: src/as-category.c:285 +msgctxt "Category of Utility" +msgid "Terminal Emulators" +msgstr "Terminalemulatore" -#: src/as-category.c:287 +#: src/as-category.c:288 msgctxt "Category of Utility" msgid "File System" msgstr "Filsystem" -#: src/as-category.c:198 -msgctxt "Category of Office" -msgid "Finance" -msgstr "Finans" +#: src/as-category.c:291 +msgctxt "Category of Utility" +msgid "System Monitoring" +msgstr "Systemovervågning" -#: src/as-provided.c:164 -msgid "Flashed Firmware" -msgstr "Flashet firmware" +#: src/as-category.c:294 +msgctxt "Category of Utility" +msgid "Security" +msgstr "Sikkerhed" -#: src/as-provided.c:150 -msgid "Fonts" -msgstr "Skrifttyper" +#. TRANSLATORS: this is the menu spec main category for Audio & Video +#: src/as-category.c:303 +msgid "Audio & Video" +msgstr "Lyd og video" -#: src/as-category.c:211 -msgctxt "Category of Addons" -msgid "Fonts" -msgstr "Skrifttyper" +#. TRANSLATORS: this is the menu spec main category for Development +#: src/as-category.c:306 +msgid "Developer Tools" +msgstr "Udviklerværktøjer" -#: src/as-validator-issue-tag.h:237 -msgid "" -"For videos, only the WebM and Matroska (.mkv) container formats are " -"currently supported. The file extension of the referenced video does not " -"belong to either of these formats." -msgstr "" -"Hvad videoer angår, så understøttes på nuværende tidspunkt kun WebM- og " -"Matroska- (.mkv) containerformater. Filendelsen på den video der henvises " -"til tilhører ikke disse formater." +#. TRANSLATORS: this is the menu spec main category for Education +#: src/as-category.c:309 +msgid "Education" +msgstr "Læring" -#. TRANSLATORS: ascli flag description for: --format when validating XML files -#: tools/appstream-cli.c:131 -msgid "Format of the generated report (valid values are 'text' and 'yaml')." -msgstr "" -"Formatet på den genererede rapport (gyldige værdier er 'text' og 'yaml')." +#. TRANSLATORS: this is the menu spec main category for Game +#: src/as-category.c:312 +msgid "Games" +msgstr "Spil" -#. TRANSLATORS: Found metainfo files in legacy directories -#: tools/ascli-actions-misc.c:138 +#. TRANSLATORS: this is the menu spec main category for Graphics +#: src/as-category.c:315 +msgid "Graphics & Photography" +msgstr "Grafik og fotografi" + +#. TRANSLATORS: this is the menu spec main category for Office +#: src/as-category.c:318 +msgid "Office" +msgstr "Kontor" + +#. TRANSLATORS: this is the main category for Add-ons +#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor +#: src/as-category.c:321 tools/ascli-utils.c:371 +msgid "Add-ons" +msgstr "Tilføjelser" + +#. TRANSLATORS: this is the menu spec main category for Science +#: src/as-category.c:324 +msgid "Science" +msgstr "Videnskab" + +#. TRANSLATORS: this is the menu spec main category for Communication +#: src/as-category.c:327 +msgid "Communication & News" +msgstr "Kommunikation og nyheder" + +#. TRANSLATORS: this is the menu spec main category for Utilities +#: src/as-category.c:330 +msgid "Utilities" +msgstr "Redskaber" + +#. TRANSLATORS: This is the formatting of English and localized name +#. * of the rating e.g. "Adults Only (solo adultos)" +#: src/as-content-rating.c:298 +#, c-format +msgid "%s (%s)" +msgstr "%s (%s)" + +#: src/as-content-rating.c:444 +msgid "General" +msgstr "Generelt" + +#: src/as-content-rating.c:453 +msgid "ALL" +msgstr "ALLE" + +#: src/as-content-rating.c:457 src/as-content-rating.c:560 +msgid "Adults Only" +msgstr "Kun for voksne" + +#: src/as-content-rating.c:459 src/as-content-rating.c:559 +msgid "Mature" +msgstr "Voksne" + +#: src/as-content-rating.c:461 src/as-content-rating.c:558 +msgid "Teen" +msgstr "Teen" + +#: src/as-content-rating.c:463 src/as-content-rating.c:557 +msgid "Everyone 10+" +msgstr "10+" + +#: src/as-content-rating.c:465 src/as-content-rating.c:556 +msgid "Everyone" +msgstr "Alle" + +#: src/as-content-rating.c:467 src/as-content-rating.c:555 +msgid "Early Childhood" +msgstr "Småbørn" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:839 +msgid "No cartoon violence" +msgstr "Ingen tegneserie-vold" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:841 +msgid "Cartoon characters in unsafe situations" +msgstr "Tegneseriefigurer i farlige situationer" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:843 +msgid "Cartoon characters in aggressive conflict" +msgstr "Tegneseriefigurer i aggressiv konflikt" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:845 +msgid "Graphic violence involving cartoon characters" +msgstr "Visuel fremstilling af vold som involverer tegneseriefigurer" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:850 +msgid "No fantasy violence" +msgstr "Ingen fantasy-vold" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:852 +msgid "Characters in unsafe situations easily distinguishable from reality" +msgstr "" +"Karakterer, som er nemme at skelne fra virkeligheden, i farlige situationer" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:854 +msgid "Characters in aggressive conflict easily distinguishable from reality" +msgstr "" +"Karakterer, som er nemme at skelne fra virkeligheden, i aggressiv konflikt" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:856 +msgid "Graphic violence easily distinguishable from reality" +msgstr "Visuel fremstilling af vold som er nemt at skelne fra virkeligheden" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:861 +msgid "No realistic violence" +msgstr "Ingen realistisk vold" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:863 +msgid "Mildly realistic characters in unsafe situations" +msgstr "Lettere realistiske karakterer i farlige situationer" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:865 +msgid "Depictions of realistic characters in aggressive conflict" +msgstr "Skildringer af realistiske karakterer i aggressiv konflikt" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:867 +msgid "Graphic violence involving realistic characters" +msgstr "Visuel fremstilling af vold som involverer realistiske karakterer" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:872 +msgid "No bloodshed" +msgstr "Ingen blodsudgydelser" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:874 +msgid "Unrealistic bloodshed" +msgstr "Urealistiske blodsudgydelser" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:876 +msgid "Realistic bloodshed" +msgstr "Realistiske blodsudgydelser" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:878 +msgid "Depictions of bloodshed and the mutilation of body parts" +msgstr "Skildringer af blodsudgydelser og lemlæstelse af kropsdele" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:883 +msgid "No sexual violence" +msgstr "Ingen seksuel vold" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:885 +msgid "Rape or other violent sexual behavior" +msgstr "Voldtægt eller anden voldelig seksuel opførsel" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:892 +msgid "No references to alcohol" +msgstr "Ingen referencer til alkohol" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:894 +msgid "References to alcoholic beverages" +msgstr "Referencer til alkoholiske drikke" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:896 +msgid "Use of alcoholic beverages" +msgstr "Brug af alkoholiske drikke" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:902 +msgid "No references to illicit drugs" +msgstr "Ingen referencer til ulovlige stoffer" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:904 +msgid "References to illicit drugs" +msgstr "Referencer til ulovlige stoffer" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:906 +msgid "Use of illicit drugs" +msgstr "Brug af ulovlige stoffer" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:912 +msgid "No references to tobacco products" +msgstr "Ingen referencer til tobaksvarer" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:914 +msgid "References to tobacco products" +msgstr "Referencer til tobaksvarer" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:916 +msgid "Use of tobacco products" +msgstr "Brug af tobaksvarer" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:922 +msgid "No nudity of any sort" +msgstr "Ingen nøgenhed af nogen art" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:924 +msgid "Brief artistic nudity" +msgstr "Kortvarig kunstnerisk nøgenhed" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:926 +msgid "Prolonged nudity" +msgstr "Længerevarende nøgenhed" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:932 +msgid "No references to or depictions of sexual nature" +msgstr "Ingen referencer til eller skildringer af seksuel art" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:934 +msgid "Provocative references or depictions" +msgstr "Provokerende referencer eller skildringer" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:936 +msgid "Sexual references or depictions" +msgstr "Seksuelle referencer eller skildringer" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:938 +msgid "Graphic sexual behavior" +msgstr "Visuel fremstilling af seksuel opførsel" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:943 +msgid "No profanity of any kind" +msgstr "Ingen bandeord af nogen art" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:945 +msgid "Mild or infrequent use of profanity" +msgstr "Lettere eller sjælden brug af bandeord" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:947 +msgid "Moderate use of profanity" +msgstr "Moderat brug af bandeord" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:949 +msgid "Strong or frequent use of profanity" +msgstr "Stærk eller udbredt brug af bandeord" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:954 +msgid "No inappropriate humor" +msgstr "Ingen upassende humor" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:956 +msgid "Slapstick humor" +msgstr "Slapstick-humor" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:958 +msgid "Vulgar or bathroom humor" +msgstr "Toilet- eller vulgær humor" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:960 +msgid "Mature or sexual humor" +msgstr "Voksen- eller seksuel humor" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:965 +msgid "No discriminatory language of any kind" +msgstr "Intet diskriminerende sprog af nogen art" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:967 +msgid "Negativity towards a specific group of people" +msgstr "Negativitet mod en specifik gruppe af mennesker" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:969 +msgid "Discrimination designed to cause emotional harm" +msgstr "Diskriminering med følelsesmæssig skade som formål" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:971 +msgid "Explicit discrimination based on gender, sexuality, race or religion" +msgstr "" +"Eksplicit diskriminering baseret på køn, seksualitet, race eller religion" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:976 +msgid "No advertising of any kind" +msgstr "Ingen reklamer af nogen art" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:978 +msgid "Product placement" +msgstr "Product placement" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:980 +msgid "Explicit references to specific brands or trademarked products" +msgstr "" +"Eksplicitte referencer til specifikke brands eller varemærkede produkter" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:982 +msgid "Users are encouraged to purchase specific real-world items" +msgstr "Brugere opfordres til at købe specifikke ting fra den virkelige verden" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:987 +msgid "No gambling of any kind" +msgstr "Ingen hasardspil af nogen art" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:989 +msgid "Gambling on random events using tokens or credits" +msgstr "" +"Hasardspil om tilfældige lejligheder, med brug af spille-tokens eller kredit" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:991 +msgid "Gambling using “play” money" +msgstr "Hasardspil med “legetøjs”-penge" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:993 +msgid "Gambling using real money" +msgstr "Hasardspil med rigtige penge" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:998 +msgid "No ability to spend money" +msgstr "Ingen mulighed for at bruge penge" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1000 +msgid "Users are encouraged to donate real money" +msgstr "Brugere opfordres til at donere virkelige penge" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1003 +msgid "Ability to spend real money in-app" +msgstr "Mulighed for at bruge rigtige penge i programmet" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1008 +msgid "No way to chat with other users" +msgstr "Ingen mulighed for at chatte med andre brugere" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1010 +msgid "User-to-user interactions without chat functionality" +msgstr "Bruger til bruger-interaktioner uden chatfunktionalitet" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1012 +msgid "Moderated chat functionality between users" +msgstr "Modereret chat-funktionalitet mellem brugere" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1014 +msgid "Uncontrolled chat functionality between users" +msgstr "Ubegrænset chat-funktionalitet mellem brugere" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1019 +msgid "No way to talk with other users" +msgstr "Ingen mulighed for at tale med andre brugere" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1021 +msgid "Uncontrolled audio or video chat functionality between users" +msgstr "Ubegrænset lyd- eller video-chat-funktionalitet mellem brugere" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1028 +msgid "No sharing of social network usernames or email addresses" +msgstr "Ingen deling af brugernavne eller e-mailadresser fra sociale netværk" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1030 +msgid "Sharing social network usernames or email addresses" +msgstr "Deling af brugernavne eller e-mailadresser fra sociale netværk" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1037 +msgid "No sharing of user information with third parties" +msgstr "Ingen deling af brugerinformation med tredjeparter" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1039 +msgid "Checking for the latest application version" +msgstr "Søger efter den seneste version af programmet" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1041 +msgid "Sharing diagnostic data that does not let others identify the user" +msgstr "Deling af diagnostiske data som ikke lader andre identificere brugeren" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1043 +msgid "Sharing information that lets others identify the user" +msgstr "Deling af information som lader andre identificere brugeren" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1048 +msgid "No sharing of physical location with other users" +msgstr "Ingen deling af fysisk placering med andre brugere" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1050 +msgid "Sharing physical location with other users" +msgstr "Deler fysisk placering med andre brugere" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1073 +msgid "No references to homosexuality" +msgstr "Ingen referencer til homoseksualitet" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1075 +msgid "Indirect references to homosexuality" +msgstr "Indirekte referencer til homoseksualitet" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1077 +msgid "Kissing between people of the same gender" +msgstr "Personer af samme køn som kysser" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1079 +msgid "Graphic sexual behavior between people of the same gender" +msgstr "Visuel fremstilling af seksuel opførsel mellem mennesker af samme køn" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1084 +msgid "No references to prostitution" +msgstr "Ingen referencer til prostitution" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1086 +msgid "Indirect references to prostitution" +msgstr "Indirekte referencer til prostitution" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1088 +msgid "Direct references to prostitution" +msgstr "Direkte referencer til prostitution" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1090 +msgid "Graphic depictions of the act of prostitution" +msgstr "Visuel fremstilling af prostitution" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1095 +msgid "No references to adultery" +msgstr "Ingen referencer til utroskab" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1097 +msgid "Indirect references to adultery" +msgstr "Indirekte referencer til utroskab" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1099 +msgid "Direct references to adultery" +msgstr "Direkte referencer til utroskab" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1101 +msgid "Graphic depictions of the act of adultery" +msgstr "Visuel fremstilling af utroskab" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1106 +msgid "No sexualized characters" +msgstr "Ingen seksualiserede personer" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1109 +msgid "Scantily clad human characters" +msgstr "Sparsomt påklædte personer" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1111 +msgid "Overtly sexualized human characters" +msgstr "Åbenlyst seksualiserede personer" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1116 +msgid "No references to desecration" +msgstr "Ingen referencer til vanhelligelse" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1118 +msgid "Depictions of or references to historical desecration" +msgstr "Fremstilling af eller referencer til historisk vanhelligelse" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1120 +msgid "Depictions of modern-day human desecration" +msgstr "Fremstilling af nutidig vanhelligelse" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1122 +msgid "Graphic depictions of modern-day desecration" +msgstr "Visuel fremstilling af nutidig vanhelligelse" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1127 +msgid "No visible dead human remains" +msgstr "Ingen synlige ligdele" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1129 +msgid "Visible dead human remains" +msgstr "Synlige ligdele" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1131 +msgid "Dead human remains that are exposed to the elements" +msgstr "Ligdele i forfald" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1133 +msgid "Graphic depictions of desecration of human bodies" +msgstr "Visuel fremstilling af ligskænding" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1138 +msgid "No references to slavery" +msgstr "Ingen referencer til slaveri" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1140 +msgid "Depictions of or references to historical slavery" +msgstr "Fremstilling af eller referencer til historisk slaveri" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1142 +msgid "Depictions of modern-day slavery" +msgstr "Fremstilling af nutidigt slaveri" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1144 +msgid "Graphic depictions of modern-day slavery" +msgstr "Visuel fremstilling af nutidigt slaveri" + +#. TRANSLATORS: We got a 429 error while trying to download data +#: src/as-curl.c:134 +#, c-format +msgid "Failed to download due to server limit" +msgstr "Download mislykkedes på grund af server-grænse" + +#: src/as-curl.c:141 src/as-curl.c:148 +#, c-format +msgid "Failed to download file: %s" +msgstr "Kunne ikke downloade fil: %s" + +#. TRANSLATORS: We tried to download an URL, but received a 404 error code +#: src/as-curl.c:157 #, c-format -msgid "Found %i components in legacy paths." -msgstr "Fandt %i komponenter i udgåede stier." +msgid "URL was not found on the server." +msgstr "URL blev ikke fundet på serveren." -#: tools/ascli-actions-misc.c:123 +#. TRANSLATORS: We received an uexpected HTTP status code while talking to a server, likely an error +#: src/as-curl.c:164 #, c-format -msgid "Found %i components." -msgstr "Fandt %i komponenter." +msgid "Unexpected status code: %ld" +msgstr "Uventet statuskode: %ld" -#. TRANSLATORS: 'version' is an AppStream XML property. Please do not translate it. -#: src/as-validator-issue-tag.h:260 -msgid "" -"Found 'version' property on required/recommended item of a type that should " -"not have or require a version." -msgstr "" -"Fandt 'version'-egenskab på krævet/anbefalet punkt på en type som ikke skal " -"have eller kræve en version." +#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty +#: src/as-curl.c:247 +#, c-format +msgid "Retrieved file size was zero." +msgstr "Hentede filstørrelse var nul." + +#. TRANSLATORS: List of "grey-listed" words sperated with ";" +#. * Do not translate this list directly. Instead, +#. * provide a list of words in your language that people are likely +#. * to include in a search but that should normally be ignored in +#. * the search. +#. +#: src/as-pool.c:111 +msgid "app;application;package;program;programme;suite;tool" +msgstr "app;applikation;pakke;program;programpakke;værktøj;redskab" -#. TRANSLATORS: 'version' and 'compare' are AppStream XML properties. Please do not translate them. -#: src/as-validator-issue-tag.h:266 +#: src/as-pool.c:620 +msgid "Unable to remove old cache." +msgstr "Kan ikke fjerne gammelt mellemlager." + +#: src/as-pool.c:963 +msgid "Metadata files have errors:" +msgstr "Metadatafilen har fejl:" + +#: src/as-pool.c:1370 msgid "" -"Found 'version' property on this required/recommended item, but not " -"'compare' property. It is recommended to explicitly define a comparison " -"operation." +"Many components have been recognized as invalid. See debug output for " +"details." msgstr "" -"Fandt 'version'-egenskab på dette krævet/anbefalet punkt, men ikke 'compare'-" -"egenskab. Det anbefales udtrykkeligt at angive en sammenligningsoperation." +"Mange komponenter blev genkendte som ugyldige. Se fejlretningsoutput for " +"detaljer." + +#: src/as-pool.c:1996 +#, c-format +msgid "Cache location '%s' is not writable." +msgstr "Mellemlagerets placering '%s' er skrivebeskyttet." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:277 +#: src/as-pool.c:2109 msgid "" -"Found a memory size dependency in a 'requires' tag. This means users will " -"not be able to even install the component without having enough RAM. This is " -"usually not intended and you want to use 'memory' in the 'recommends' tag " -"instead." +"The AppStream system cache was updated, but some components were ignored. " +"Refer to the verbose log for more information." msgstr "" -"Fandt en hukommelsesstørrelse-afhængighed i et 'requires'-tag. Det betyder " -"at brugerne ikke engang kan installere komponenten uden nok RAM. Det er " -"typisk ikke hensigten og du vil måske i stedet bruge 'memory' i 'recommends'-" -"tagget." +"AppStreams systemmellemlager blev opdateret, men nogle komponenter blev " +"ignoreret. Se den uddybende log for mere information." -#: src/as-validator-issue-tag.h:248 +#: src/as-pool.c:2111 +#, c-format msgid "" -"Found an unknown tag in a requires/recommends group. This is likely an " -"error, because a component relation of this type is unknown." +"The AppStream system cache was updated, but problems were found which " +"resulted in metadata being ignored: %s" msgstr "" -"Fandt et ukendt tag i en krævet/anbefalet gruppe. Det er sandsynligvis en " -"fejl da en komponentrelation af denne type er ukendt." +"AppStreams systemmellemlager blev opdateret, men der var problemer som " +"resulterede i at metadata blev ignoreret: %s" -#: src/as-validator-issue-tag.h:427 +#: src/as-pool.c:2125 +#, c-format msgid "" -"Found invalid tag. Non-standard tags should be prefixed with 'x-'. AppStream " -"also provides the tag to add arbitrary custom data to metainfo " -"files. This tag is read by AppStream libraries and may be useful instead of " -"defining new custom toplevel or 'x-'-prefixed tags if you just want to add " -"custom data to a metainfo file." +"AppStream system cache refresh failed. Turn on verbose mode to get detailed " +"issue information." msgstr "" -"Fandt et ugyldigt tag. Tags som ikke er standard skal præfikset med 'x-'. " -"AppStream leverer også -tagget til at tilføje vilkårlig tilpasset " -"data til metainfo-filer. Tagget læses af AppStream-biblioteket og kan være " -"nyttig i stedet for at definere et nyt tilpasset topniveau eller tags " -"præfikset med 'x-', hvis du vil tilføje tilpasset data til en metainfo-fil." +"Opdatering af AppStreams systemmellemlager mislykkedes. Slå uddybende " +"tilstand til for at få detaljer information om problemet." -#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. -#: src/as-validator.c:526 src/as-validator.c:939 src/as-validator.c:1024 -#: src/as-validator.c:1237 -#, c-format -msgid "Found: %s - Allowed: %s" -msgstr "Fandt: %s - Tilladt: %s" +#: src/as-provided.c:144 +msgid "Libraries" +msgstr "Biblioteker" -#. TRANSLATORS: this is the menu spec main category for Game -#: src/as-category.c:311 -msgid "Games" -msgstr "Spil" +#: src/as-provided.c:146 +msgid "Binaries" +msgstr "Binære" -#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command -#: tools/appstream-cli.c:814 -msgid "Generate the output in the selected format ('yaml' or 'text')." -msgstr "Generer outputtet i det valgte format ('yaml' eller 'text')." +#: src/as-provided.c:148 +msgid "Media types" +msgstr "Medietyper" -#: tools/appstream-cli.c:849 -msgid "Get components which provide the given item." -msgstr "Hent komponenter som leverer det givne element." +#: src/as-provided.c:150 +msgid "Fonts" +msgstr "Skrifttyper" -#: tools/appstream-cli.c:848 -msgid "Get information about a component by its ID." -msgstr "Hent information om en komponent efter dets id." +#: src/as-provided.c:152 +msgid "Modaliases" +msgstr "Modaliaser" -#. TRANSLATORS: this is the menu spec main category for Graphics -#: src/as-category.c:314 -msgid "Graphics & Photography" -msgstr "Grafik og fotografi" +#: src/as-provided.c:154 +msgid "Python (Version 2)" +msgstr "Python (version 2)" -#: tools/ascli-utils.c:300 -msgid "Homepage" -msgstr "Hjemmeside" +#: src/as-provided.c:156 +msgid "Python 3" +msgstr "Python 3" -#: src/as-category.c:89 -msgctxt "Category of Development" -msgid "IDEs" -msgstr "IDE'er" +#: src/as-provided.c:158 +msgid "D-Bus System Services" +msgstr "Tjenester for D-Bus-system" -#: tools/ascli-utils.c:301 -msgid "Icon" -msgstr "Ikon" +#: src/as-provided.c:160 +msgid "D-Bus Session Services" +msgstr "Tjenester for D-Bus-session" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:351 -msgid "Icons of type 'remote' must contain an URL to the referenced icon." -msgstr "" -"Ikoner af typen 'remote' skal indeholde en URL til det ikon der henvises til." +#: src/as-provided.c:162 +msgid "Runtime Firmware" +msgstr "Runtime-firmware" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:344 -msgid "" -"Icons of type 'stock' or 'cached' must not contain an URL, a full or an " -"relative path to the icon. Only file basenames or stock names are allowed." -msgstr "" -"Ikoner af typen 'stock' eller 'cached' må ikke indeholde en URL, en fuld " -"eller en relativ sti til ikonet. Kun filens grundnavne eller stocknavne er " -"tilladt." +#: src/as-provided.c:164 +msgid "Flashed Firmware" +msgstr "Flashet firmware" -#: tools/ascli-actions-misc.c:94 -msgid "Iconsets" -msgstr "Ikonsæt" +#: src/as-provided.c:166 +msgid "Component" +msgstr "Komponent" -#: tools/ascli-utils.c:295 -msgid "Identifier" -msgstr "Identifikator" +#: src/as-validator-issue-tag.h:41 +msgid "This tag requires a type property." +msgstr "Tagget kræver en type-egenskab." -#: src/as-category.c:217 -msgctxt "Category of Addons" -msgid "Input Sources" -msgstr "Inputkilder" +#: src/as-validator-issue-tag.h:46 +msgid "Tags of this name are not permitted in this section." +msgstr "Tags med dette navn tillades ikke i sektionen." -#: tools/appstream-cli.c:863 -msgid "Install a metadata file into the right location." -msgstr "Installer en metadatafil i den rette placering." +#: src/as-validator-issue-tag.h:51 +msgid "" +"A tag must not be localized in metainfo files (upstream " +"metadata). Localize the individual paragraphs instead." +msgstr "" +"Et -tag skal ikke lokaliseres i metainfo-filer " +"(opstrømsmetadata). Lokaliser i stedet de enkelte afsnit." -#: tools/appstream-cli.c:859 -msgid "Install software matching the component-ID." -msgstr "Installer software som matcher komponent-id'et." +#: src/as-validator-issue-tag.h:57 +msgid "" +"This element (paragraph, list, etc.) of a tag must not be " +"localized individually in collection metadata. Localize the whole " +" tag instead. The AppStream collection metadata generator (e." +"g. `appstream-generator`) will already do the right thing when compiling the " +"data." +msgstr "" +"Elementet (afsnit, liste osv.) af et -tag skal ikke " +"lokaliseres hver for sig i samlingens metadata. Lokaliser i stedet hele " +"-tagget. AppStream-samlingens metadatagenerator (f.eks. " +"`appstream-generator`) gør det allerede det rette når dataene kompileres." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:373 +#: src/as-validator-issue-tag.h:63 msgid "" -"Invalid 'type' property for this 'url' tag. URLs of this type are not known " -"in the AppStream specification." +"AppStream descriptions support only a limited set of tags to format text: " +"Paragraphs (

                                                        ) and lists (

                                                          ,
                                                            ). This description markup contains " +"an invalid XML tag that would not be rendered correctly in applications " +"supporting the metainfo specification." msgstr "" -"Ugyldig 'type'-egenskab til 'url'-tagget. URL'er af denne type er ikke kendt " -"i AppStream-specifikationen." +"AppStream-beskrivelser understøtter kun et begrænset sæt tags til " +"formatering af tekst: Afsnit (

                                                            ) og lister (

                                                              ,
                                                                ). Beskrivelsens " +"opmærkning indeholder et ugyldigt XML-tag som ikke vil blive gengivet " +"korrekt i programmer som understøtter metainfo-specifikationen." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:553 +#: src/as-validator-issue-tag.h:69 msgid "" -"Invalid tag found in collection metadata. Only 'component' tags are " -"permitted." +"This description paragraph contains invalid markup. Currently, only " +"and are permitted." msgstr "" -"Ugyldigt tag fundet i samlingens metadata. Kun 'component'-tags er tilladt." +"Beskrivelsesafsnittet indeholder ugyldig opmærkning. På nuværende tidspunkt " +"er det kun og som er tilladt." -#: tools/ascli-actions-mdata.c:213 -msgid "Invalid type for provided item selected. Valid values are:" -msgstr "Ugyldig type valgt for angivne element. Gyldige værdier er:" +#: src/as-validator-issue-tag.h:74 +msgid "Enumerations must only have list items (
                                                              1. ) as children." +msgstr "Oplistninger må kun have listepunkter (
                                                              2. ) som børn." -#: src/as-validator-issue-tag.h:271 +#: src/as-validator-issue-tag.h:79 msgid "" -"Invalid version comparison operation on relation item. Only eq/ne/lt/gt/le/" -"ge are permitted." +"The first `description/p` paragraph of this component might be too short (< " +"80 characters). Please consider starting with a longer paragraph to improve " +"how the description looks like in software centers and to provide more " +"detailed information on this component immediately in the first paragraph." msgstr "" -"Ugyldig versionssammenligningsoperation på relationspunkt. Kun eq/ne/lt/gt/" -"le/ge er tilladt." +"Det første 'description/p'-afsnit i komponenten er måske for kort (< 80 " +"tegn). Overvej venligst at begynde med et længere afsnit for at forbedre " +"beskrivelsens udseende i softwarecentre og for at levere mere detaljeret " +"information om komponenten straks i det første afsnit." -#: src/as-validator-issue-tag.h:450 +#: src/as-validator-issue-tag.h:86 msgid "" -"It is recommended to add a long description to this component to present it " -"better to users." +"The description contains a web URL in plain text. This is not allowed, " +"please use the tag instead to share links." msgstr "" -"Det anbefales at tilføje en lang beskrivelse til komponenten for at " -"præsentere den bedre til brugerne." +"Beskrivelsen indeholdet en web-URL i ren tekst. Det er ikke tilladt. Brug " +"venligst -tagget i stedet til at dele links." -#: src/as-validator-issue-tag.h:445 +#: src/as-validator-issue-tag.h:91 msgid "" -"It would be useful to add a long description to this font to present it " -"better to users." +"As per AppStream specification, the mentioned tag must only appear once in " +"this context. Having multiple tags of this kind is not valid." msgstr "" -"Det vil være nyttigt at tilføje en lang beskrivelse til skrifttypen for at " -"præsentere den bedre til brugerne." +"I henhold til AppStream-specifikationen må det omtalte tag kun findes én " +"gang i dette sammenhæng. Det er ikke gyldigt at have flere tags af denne " +"type." -#: src/as-category.c:144 -msgctxt "Category of Games" -msgid "Kids" -msgstr "Børn" +#: src/as-validator-issue-tag.h:96 +msgid "" +"The mentioned tag is empty, which is highly likely not intended as it should " +"have content." +msgstr "" +"mentioned-tagget er tomt, men det er højst sandsynligt tilsigtet da det skal " +"have indhold." -#: src/as-category.c:220 -msgctxt "Category of Addons" -msgid "Language Packs" -msgstr "Sprogpakker" +#: src/as-validator-issue-tag.h:101 +msgid "" +"The component ID is required to follow a reverse domain-name scheme for its " +"name. See the AppStream specification for details." +msgstr "" +"Komponent-id'et skal følge et skema med omvendt domænenavn til sit navn. Se " +"AppStream-specifikationen for detaljer." -#: src/as-category.c:107 -msgctxt "Category of Education" -msgid "Languages" -msgstr "Sprog" +#: src/as-validator-issue-tag.h:106 +msgid "" +"The component ID is not a reverse domain-name. Please update the ID to avoid " +"future issues and be compatible with all AppStream implementations.\n" +"You may also consider to update the name of the accompanying .desktop file " +"to follow the latest version of the Desktop-Entry specification and use a " +"rDNS name for it as well. In any case, do not forget to mention the new " +"desktop-entry in a tag for this component to keep the " +"application launchable from software centers and the .desktop file data " +"associated with the metainfo data." +msgstr "" +"Komponent-id'et er ikke et omvendt domænenavn. Opdater venligst id'et for at " +"undgå yderligere problemer og for at være kompatibel med alle AppStream-" +"implementeringer.\n" +"Du kan også overveje at opdatere navnet på den tilhørende .desktop-fil for " +"at følge den seneste version af Desktop-Entry-specifikationen og også bruge " +"et rDNS-navn til den. Husk under alle omstændigheder at nævne den nye " +"desktop-entry i et -tag til komponenten for at holde " +"programmets launchable fra softwarecenter og data som er tilknyttet .desktop-" +"filen med metainfo-dataen." -#: src/as-provided.c:144 -msgid "Libraries" -msgstr "Biblioteker" +#: src/as-validator-issue-tag.h:114 +msgid "" +"The component ID might not follow the reverse domain-name schema (the TLD " +"used by it is not known to the validator)." +msgstr "" +"Komponent-id'et følger måske ikke skemaet for omvendt domænenavn " +"(validatoren kender ikke TLD'en som bruges af det)." -#. license -#: tools/ascli-utils.c:363 -msgid "License" -msgstr "Licens" +#: src/as-validator-issue-tag.h:119 +msgid "" +"The component ID contains an invalid character. Only ASCII characters, dots " +"and numbers are permitted." +msgstr "" +"Komponent-id'et indeholder et ugyldigt tegn. Kun ASCII-tegn, punktummer og " +"tal er tilladt." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:629 +#: src/as-validator-issue-tag.h:124 msgid "" -"Licenses for 'runtime' components are usually too complex to reflect them in " -"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " -"value for this component's 'project_license'. E.g. `LicenseRef-free=https://" -"example.com/licenses.html`" +"The component ID contains a hyphen/minus. Using a hyphen is strongly " +"discouraged, to improve interoperability with other tools such as D-Bus. A " +"good option is to replace any hyphens with underscores (`_`)." msgstr "" +"Komponent-id'et indeholer en bindestreg/minus. Det frarådes kraftigt at " +"bruge en bindestreg for at få bedre samkørsel med andre værktøjer såsom D-" +"Bus. Et godt valg er at erstatte bindestreger med understregninger ('_')." -#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command -#: tools/appstream-cli.c:771 +#: src/as-validator-issue-tag.h:130 msgid "" -"Limit the number of release entries that end up in the metainfo file (0 for " -"unlimited)." +"The component ID contains a segment starting with a number. Starting a " +"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " +"interoperability with other tools such as D-Bus. Ideally, prefix these " +"segments with an underscore." msgstr "" -"Begræns antallet af udgivelsesposter som kan ende i metainfo-filen (0 for " -"ubegrænset)." +"Komponent-id'et indeholdet et segment som begynder med et tal. Det frarådes " +"kraftigt at begynde et segment med det omvendte DNS-id med et tal, for at " +"beholde samkørsel med andre værktøjer såsom D-Bus. Ideelt præfikses " +"segmenterne med en understregning." -#: src/as-category.c:223 -msgctxt "Category of Addons" -msgid "Localization" -msgstr "Lokalisering" +#: src/as-validator-issue-tag.h:136 +msgid "The component ID should only contain lowercase letters." +msgstr "Komponent-id'et må kun indeholde små bogstaver." -#: src/as-category.c:147 -msgctxt "Category of Games" -msgid "Logic" -msgstr "Logik" +#: src/as-validator-issue-tag.h:141 +msgid "" +"The component is part of the Freedesktop project, but its ID does not start " +"with fd.o's reverse-DNS name (\"org.freedesktop\")." +msgstr "" +"Komponenten er del af Freedesktop-projektet, men dets id begynder ikke med " +"fd.o's omvendte DNS-navn (\"org.freedesktop\")." -#. TRANSLATORS: ascli flag description for: --no-cache -#: tools/appstream-cli.c:67 -msgid "Make request without any caching." -msgstr "Foretag anmodning uden at bruge mellemlager." +#: src/as-validator-issue-tag.h:146 +msgid "" +"The component is part of the KDE project, but its ID does not start with " +"KDEs reverse-DNS name (\"org.kde\")." +msgstr "" +"Komponenten er del af KDE-projektet, men dets id begynder ikke med KDEs " +"omvendte DNS-navn (\"org.kde\")." -#. TRANSLATORS: ascli flag description for: --cachepath -#: tools/appstream-cli.c:57 -msgid "Manually selected location of AppStream cache." -msgstr "Placeringen af AppStreams mellemlager som blev valgt manuelt." +#: src/as-validator-issue-tag.h:151 +msgid "" +"The component is part of the GNOME project, but its ID does not start with " +"GNOMEs reverse-DNS name (\"org.gnome\")." +msgstr "" +"Komponenten er del af GNOME-projektet, men dets id begynder ikke med GNOMEs " +"omvendte DNS-navn (\"org.gnome\")." -#. TRANSLATORS: ascli flag description for: --datapath -#: tools/appstream-cli.c:62 -msgid "Manually selected location of AppStream metadata to scan." +#: src/as-validator-issue-tag.h:156 +msgid "The SPDX license expression is invalid and could not be parsed." +msgstr "SPDX-licensudtrykket er ugyldigt og kan ikke fortolkes." + +#: src/as-validator-issue-tag.h:161 +msgid "" +"The license ID was not found in the SPDX database. Please check that the " +"license ID is written in an SPDX-conformant way and is a valid free software " +"license." msgstr "" -"Placeringen af AppStream-metadata som skal skannes som blev valgt manuelt." +"Licens-id'et blev ikke fundet i SPDX-databasen. Tjek venligst at licens-" +"id'et er skrevet på en måde som overholder SPDX og er en gyldig fri " +"softwarelicens." -#: src/as-pool.c:1280 +#: src/as-validator-issue-tag.h:167 msgid "" -"Many components have been recognized as invalid. See debug output for " -"details." +"The metadata itself seems to be licensed under a complex collection of " +"licenses. Please license the data under a simple permissive license, like " +"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " +"collections without the risk of license violations due to mutually " +"incompatible licenses." msgstr "" -"Mange komponenter blev genkendte som ugyldige. Se fejlretningsoutput for " -"detaljer." +"Selve metadataen ser ud til at være licenseret under en kompleks samling af " +"licenser. Licensér venligst dataene under en eftergivende licens såsom " +"FSFAP, MIT eller CC0-1.0 for at give distributioner tilladelse til at " +"medtage den i samlinger med blandet data uden risiko for licensovertrædelser " +"pga. indbyrdes inkompatible licenser." -#: src/as-category.c:111 -msgctxt "Category of Education" -msgid "Math" -msgstr "Matematik" +#: src/as-validator-issue-tag.h:173 +msgid "" +"The metadata itself does not seem to be licensed under a permissive license. " +"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " +"0BSD to allow distributors to include it in mixed data collections without " +"the risk of license violations due to mutually incompatible licenses." +msgstr "" +"Selve metadataen ser ikke ud til at være licenseret under en eftergivende " +"licens. Licensér venligst dataene under en eftergivende license såsom FSFAP, " +"CC0-1.0 eller 0BSD for at give distributioner tilladelse til at medtage den " +"i samlinger med blandet data uden risiko for licensovertrædelser pga. " +"indbyrdes inkompatible licenser." -#: src/as-category.c:243 -msgctxt "Category of Science" -msgid "Math" -msgstr "Matematik" +#: src/as-validator-issue-tag.h:179 +msgid "" +"The update-contact does not appear to be a valid email address (escaping of " +"`@` is only allowed as `_at_` or `_AT_`)." +msgstr "" +"update-contact ser ikke ud til at være en gyldig e-mailadresse (undvigelse " +"af '@' tillades kun som '_at_' eller '_AT_')." -#: src/as-provided.c:148 -msgid "Media types" -msgstr "Medietyper" +#: src/as-validator-issue-tag.h:184 +msgid "" +"Unable to reach the screenshot image on its remote location - does the image " +"exist?" +msgstr "" +"Kan ikke hente skærmbilledets billede på dets fjernplacering - findes " +"billedet?" -#: tools/ascli-actions-mdata.c:364 -#, c-format -msgid "Metadata file '%s' does not exist." -msgstr "Metadatafilen '%s' findes ikke." +#: src/as-validator-issue-tag.h:189 +msgid "" +"Unable to reach the screenshot video on its remote location - does the video " +"file exist?" +msgstr "" +"Kan ikke hente skærmbilledets video på dets fjernplacering - findes " +"videofilen?" -#: src/as-pool.c:881 -msgid "Metadata files have errors:" -msgstr "Metadatafilen har fejl:" +#: src/as-validator-issue-tag.h:194 +msgid "" +"Consider using a secure (HTTPS) URL to reference this screenshot image or " +"video." +msgstr "" +"Overvej at bruge en sikker (HTTPS) URL til at henvise til skærmbilledet " +"eller videoen." -#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 -#: tools/ascli-actions-misc.c:515 -#, c-format -msgid "Metainfo file '%s' does not exist." -msgstr "Metainfofilen '%s' findes ikke." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:200 +msgid "" +"A screenshot must contain at least one image or video in order to be useful. " +"Please add an to it." +msgstr "" +"Et skærmbillede skal indeholde mindst ét billede eller én video for at være " +"nyttig. Tilføj venligst et til det." + +#: src/as-validator-issue-tag.h:205 +msgid "" +"A screenshot must contain either images or videos, but not both at the same " +"time. Please use this screenshot exclusively for either static images or for " +"videos." +msgstr "" +"Et skærmbillede skal enten indeholde billeder eller videoer, men ikke begge " +"dele på samme tid. Brug venligst kun skærmbilledet til enten statiske " +"billeder eller til videoer." + +#: src/as-validator-issue-tag.h:211 +msgid "The screenshot does not have a caption text. Consider adding one." +msgstr "Skærmbilledet har ikke en billedtekst. Overvej at tilføje en." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:217 +msgid "" +"The screenshot video does not specify which video codec was used in a " +"`codec` property." +msgstr "" +"Skærmbilledets video angiver ikke det anvendte videocodec i en 'codec'-" +"egenskab." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:223 +msgid "" +"The screenshot video does not specify which container format was used in a " +"`container` property." +msgstr "" +"Skærmbilledets video angiver ikke det anvendte containerformat i en " +"'container'-egenskab." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:229 +msgid "" +"The selected video codec is not supported by AppStream and software centers " +"may not be able to play the video. Only the AV1 and VP9 codecs are currently " +"supported, using `av1` and `vp9` as values for the `codec` property." +msgstr "" +"Det valgte videocodec understøttes ikke af AppStream, og softwarecentre vil " +"måske ikke være i stand til at afspille videoen. På nuværende tidspunkt " +"understøttes kun AV1- og VP9-codecs, som bruger 'av1' og 'vp9' som værdier " +"til 'codec'-egenskaben." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:236 +msgid "" +"The selected video container format is not supported by AppStream and " +"software centers may not be able to play the video. Only the WebM and " +"Matroska video containers are currently supported, using `webm` and `mkv` as " +"values for the `container` property." +msgstr "" +"Det valgte videocontainerformat understøttes ikke af AppStream, og " +"softwarecentre vil måske ikke være i stand til at afspille videoen. På " +"nuværende tidspunkt understøttes kun WebM- og Matroska-videocontainere, som " +"bruger 'webm' og 'mkv' som værdier til 'container'-egenskaben." + +#: src/as-validator-issue-tag.h:242 +msgid "" +"For videos, only the WebM and Matroska (.mkv) container formats are " +"currently supported. The file extension of the referenced video does not " +"belong to either of these formats." +msgstr "" +"Hvad videoer angår, så understøttes på nuværende tidspunkt kun WebM- og " +"Matroska- (.mkv) containerformater. Filendelsen på den video der henvises " +"til tilhører ikke disse formater." + +#: src/as-validator-issue-tag.h:248 +msgid "" +"The default screenshot of a software component must not be a video. Use a " +"static image as default screenshot and set the video as a secondary " +"screenshot." +msgstr "" +"Standardskærmbilledet til en softwarekomponent må ikke være en video. Brug " +"et statisk billede som standardskærmbillede og indstil videoen som et " +"sekundært skærmbillede." + +#: src/as-validator-issue-tag.h:253 +msgid "" +"Found an unknown tag in a requires/recommends group. This is likely an " +"error, because a component relation of this type is unknown." +msgstr "" +"Fandt et ukendt tag i en krævet/anbefalet gruppe. Det er sandsynligvis en " +"fejl da en komponentrelation af denne type er ukendt." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:259 +msgid "" +"A `requires` or `recommends` item requires a value to denote a valid " +"relation." +msgstr "" +"Et 'requires'- eller 'recommends'-punkt kræver en værdi for at betegne en " +"gyldig relation." + +#. TRANSLATORS: `version` is an AppStream XML property. Please do not translate it. +#: src/as-validator-issue-tag.h:265 +msgid "" +"Found `version` property on required/recommended item of a type that should " +"not have or require a version." +msgstr "" +"Fandt 'version'-egenskab på krævet/anbefalet punkt på en type som ikke skal " +"have eller kræve en version." + +#. TRANSLATORS: `version` and `compare` are AppStream XML properties. Please do not translate them. +#: src/as-validator-issue-tag.h:271 +msgid "" +"Found `version` property on this required/recommended item, but not " +"`compare` property. It is recommended to explicitly define a comparison " +"operation." +msgstr "" +"Fandt 'version'-egenskab på dette krævet/anbefalet punkt, men ikke 'compare'-" +"egenskab. Det anbefales udtrykkeligt at angive en sammenligningsoperation." + +#: src/as-validator-issue-tag.h:276 +msgid "" +"Invalid comparison operation on relation item. Only eq/ne/lt/gt/le/ge are " +"permitted." +msgstr "" +"Ugyldig sammenligningshandling på relationspunkt. Kun eq/ne/lt/gt/le/ge er " +"tilladt." + +#: src/as-validator-issue-tag.h:281 +msgid "" +"The relation item has a comparison operation set, but does not support any " +"comparisons." +msgstr "" +"Relationselementet har et sammenligningshandlingssæt, men understøtter ingen " +"sammenligninger." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:287 +msgid "" +"Found a memory size relation in a `requires` tag. This means users will not " +"be able to even install the component without having enough RAM. This is " +"usually not intended and you want to use `memory` in the `recommends` tag " +"instead." +msgstr "" +"Fandt en hukommelsesstørrelse-relation i et 'requires'-tag. Det betyder at " +"brugerne ikke engang kan installere komponenten uden nok RAM. Det er typisk " +"ikke hensigten og du vil måske i stedet bruge 'memory' i 'recommends'-tagget." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:294 +msgid "" +"Found a user input control relation in a `requires` tag. This means users " +"will not be able to even install the component without having the defined " +"input control available on the system. This is usually not intended and you " +"want to use `control` in the `recommends` tag instead." +msgstr "" +"Fandt en hukommelsesstørrelse-relation i et 'requires'-tag. Det betyder at " +"brugerne ikke engang kan installere komponenten uden at have den angivne " +"inputstyring tilgængelig på systemet. Det er typisk ikke hensigten og du vil " +"måske i stedet bruge 'control' i 'recommends'-tagget." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:301 +msgid "" +"This `control` item defines an unknown input method and is invalid. Check " +"the specification for a list of permitted values." +msgstr "" +"`control`-punktet angiver en ukendt inputmetode og er ugyldigt. Tjek " +"specifikationen for at få en liste over tilladte værdier." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:307 +msgid "" +"This `display_length` item contains an invalid display length. Its value " +"must either be a shorthand string, or positive integer value denoting " +"logical pixels. Please refer to the AppStream specification for more " +"information on this tag." +msgstr "" +"Dette `display_length`-element indeholder en ugyldig visningslængde. Værdien " +"skal enten være en stenstreng eller et positivt heltal, der angiver logiske " +"pixels. Der henvises til AppStream-specifikationen for yderligere " +"oplysninger om dette tag." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:314 +msgid "" +"This `side` property of this `display_length` item contains an invalid " +"value. It must either be `shortest` or `longest`, or unset to imply " +"`shortest` to make the item value refer to either the shortest or longest " +"side of the display." +msgstr "" +"Denne `side`-egenskab for dette `display_length`-element indeholder en " +"ugyldig værdi. Den skal enten være `shortest` eller `longest`, eller den " +"skal være usat for at betyde `shortest`, så elementets værdi henviser til " +"enten den korteste eller længste side af displayet." + +#: src/as-validator-issue-tag.h:320 +msgid "" +"The set component type is not a recognized, valid AppStream component type." +msgstr "" +"Den indstillet komponenttype genkendes ikke, gyldig AppStream-komponenttype." + +#: src/as-validator-issue-tag.h:325 +msgid "" +"The component has a priority value set. This is not allowed in metainfo " +"files." +msgstr "" +"Komponenten har indstillet en prioritetsværdi. Det er ikke tilladt i " +"metainfo-filer." + +#: src/as-validator-issue-tag.h:330 +msgid "" +"The component has a `merge` method defined. This is not allowed in metainfo " +"files." +msgstr "" +"Komponenten har angivet en 'merge'-metode. Det er ikke tilladt i metainfo-" +"filer." + +#: src/as-validator-issue-tag.h:335 +msgid "The component is missing an ID ( tag)." +msgstr "Komponenten mangler et id (-tag)." + +#: src/as-validator-issue-tag.h:340 +msgid "The component is missing a name ( tag)." +msgstr "Komponenten mangler et navn (-tag)." + +#: src/as-validator-issue-tag.h:345 +msgid "The component is missing a summary ( tag)." +msgstr "Komponenten mangler en opsummering (-tag)." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:367 +#: src/as-validator-issue-tag.h:350 msgid "" -"Metainfo files may only contain icons of type 'stock' or 'remote', the set " +"The tag still contains a `type` property, probably from an old " +"conversion to the recent metainfo format." +msgstr "" +"-tagget indeholder stadig en 'type'-egenskab, formodentligt fra en " +"gammel konvertering til det nye metainfo-format." + +#: src/as-validator-issue-tag.h:355 +msgid "" +"The `pkgname` tag appears multiple times. You should evaluate creating a " +"metapackage containing the metainfo and .desktop files in order to avoid " +"defining multiple package names per component." +msgstr "" +"'pkgname'-tagget findes flere gange. Du bør overveje at oprette en metapakke " +"med metainfo- og .desktop-filerne for at undgå at skulle definere flere " +"pakkenavne pr. komponent." + +#: src/as-validator-issue-tag.h:360 +msgid "The component name should (likely) not end with a dot (`.`)." +msgstr "" +"Komponentens navn skal (sandsynligvis) ikke slutte med et punktum ('.')." + +#: src/as-validator-issue-tag.h:365 +msgid "The component summary should not end with a dot (`.`)." +msgstr "Komponentens opsummering skal ikke slutte med et punktum ('.')." + +#: src/as-validator-issue-tag.h:370 +msgid "The component summary must not contain tabs or linebreaks." +msgstr "" +"Komponentens opsummering kan ikke indeholde tabulatorer eller linjeskift." + +#: src/as-validator-issue-tag.h:375 +msgid "The summary must not contain any URL. Use the tags for links." +msgstr "" +"Opsummeringen må ikke indeholde nogen URL. Brug -taggene til links." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:381 +msgid "" +"Icons of type `stock` or `cached` must not contain an URL, a full or an " +"relative path to the icon. Only file basenames or stock names are allowed." +msgstr "" +"Ikoner af typen 'stock' eller 'cached' må ikke indeholde en URL, en fuld " +"eller en relativ sti til ikonet. Kun filens grundnavne eller stocknavne er " +"tilladt." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:388 +msgid "Icons of type `remote` must contain an URL to the referenced icon." +msgstr "" +"Ikoner af typen 'remote' skal indeholde en URL til det ikon der henvises til." + +#: src/as-validator-issue-tag.h:393 +msgid "Unable to reach remote icon at the given web location - does it exist?" +msgstr "Kan ikke hente fjernikon på den givne webplacering - findes den?" + +#: src/as-validator-issue-tag.h:398 +msgid "Consider using a secure (HTTPS) URL for the remote icon link." +msgstr "Overvej at bruge en sikker (HTTPS) URL til fjern-ikonlinket." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:404 +msgid "" +"Metainfo files may only contain icons of type `stock` or `remote`, the set " "type is not allowed." msgstr "" "Metainfo-filer må kun indeholde ikoner af typen 'stock' eller 'remote', den " "indstillet type er ikke tilladt." -#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report -#: tools/ascli-actions-misc.c:116 -msgid "Metainfo files:" -msgstr "Metainfofiler:" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:410 +msgid "" +"Invalid `type` property for this `url` tag. URLs of this type are not known " +"in the AppStream specification." +msgstr "" +"Ugyldig 'type'-egenskab til 'url'-tagget. URL'er af denne type er ikke kendt " +"i AppStream-specifikationen." -#: src/as-provided.c:152 -msgid "Modaliases" -msgstr "Modaliaser" +#: src/as-validator-issue-tag.h:415 +msgid "" +"Unable to reach remote location that this URL references - does it exist?" +msgstr "Kan ikke hente fjernplacering som URL'en henviser til - findes den?" -#: src/as-category.c:74 -msgctxt "Category of AudioVideo" -msgid "Music Players" -msgstr "Musikafspillere" +#: src/as-validator-issue-tag.h:420 +msgid "Consider using a secure (HTTPS) URL for this web link." +msgstr "Overvej at bruge en sikker (HTTPS) URL til weblinket." -#: tools/ascli-utils.c:296 -msgid "Name" -msgstr "Navn" +#: src/as-validator-issue-tag.h:425 +msgid "A web URL was expected for this value." +msgstr "En web-URL var ventet til denne værdi." -#: src/as-category.c:266 -msgctxt "Category of Communication" -msgid "News" -msgstr "Nyheder" +#: src/as-validator-issue-tag.h:430 +msgid "" +"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." +msgstr "" +"Weblinket bruger FTP-protokollen. Overvej at skifte til HTTP(S) i stedet." -#: src/as-validator-issue-tag.h:589 -msgid "No AppStream metadata was found in this directory or directory tree." +#: src/as-validator-issue-tag.h:435 +msgid "The can not contain a hyperlink." +msgstr " må ikke indeholde et hyperlink." + +#: src/as-validator-issue-tag.h:440 +msgid "" +"The set value is not an identifier for a desktop environment as registered " +"with Freedesktop.org." msgstr "" -"Der blev ikke fundet nogen AppStream-metadata i mappen eller mappetræet." +"De givne værdier er ikke en identifikator for et skrivebordsmiljø som er " +"registreret på Freedesktop.org." -#. pedantic because not everything which has metadata is an application -#: src/as-validator-issue-tag.h:594 -msgid "No XDG applications directory found." -msgstr "Ingen XDG-programmappe fundet." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:446 +msgid "This `launchable` tag has an unknown type and can not be used." +msgstr "'launchable'-tagget har en ukendt type og kan ikke bruges." -#: tools/ascli-actions-mdata.c:182 -#, c-format -msgid "No component matching '%s' found." -msgstr "Fandt ikke nogen komponent som matcher '%s'." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:452 +msgid "This `bundle` tag has an unknown type and can not be used." +msgstr "'bundle'-tagget har en ukendt type og kan ikke bruges." -#: tools/ascli-actions-misc.c:105 -msgid "No icons." -msgstr "Ingen ikoner." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:458 +msgid "" +"The `update_contact` tag should not be included in collection AppStream XML." +msgstr "'update_contact'-tagget skal ikke medtages i samlingens AppStream-XML." -#: tools/ascli-actions-misc.c:402 -msgid "No output filename specified, modifying metainfo file directly." -msgstr "Intet outputfilnavn angivet. Redigerer metainfo-fil direkte." +#: src/as-validator-issue-tag.h:463 +msgid "" +"This tag is a GNOME-specific extension to AppStream and not part of the " +"official specification. Do not expect it to work in all implementations and " +"in all software centers." +msgstr "" +"Tagget er en GNOME-specifik udvidelse til AppStream og ikke del af den " +"officielle specifikation. Forvent ikke at det virker i alle implementeringer " +"og i alle softwarecentre." + +#: src/as-validator-issue-tag.h:469 +msgid "" +"Found invalid tag. Non-standard tags should be prefixed with `x-`. AppStream " +"also provides the tag to add arbitrary custom data to metainfo " +"files. This tag is read by AppStream libraries and may be useful instead of " +"defining new custom toplevel or `x-`-prefixed tags if you just want to add " +"custom data to a metainfo file." +msgstr "" +"Fandt ugyldigt tag. Tags som ikke er standard skal præfikset med 'x-'. " +"AppStream leverer også -tagget til at tilføje vilkårlig tilpasset " +"data til metainfo-filer. Tagget læses af AppStream-biblioteker og kan være " +"nyttig i stedet for at definere nyt tilpasset topniveau eller tags præfikset " +"med 'x-', hvis du vil tilføje tilpasset data til en metainfo-fil." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:477 +msgid "" +"The essential tag `metadata_license` is missing. A license for the metadata " +"itself always has to be defined." +msgstr "" +"Det essentielle tag 'metadata_license' mangler. Der skal altid være angivet " +"en licens til selve metadataene." + +#: src/as-validator-issue-tag.h:482 +msgid "" +"The component is missing a long description. Components of this type must " +"have a long description." +msgstr "" +"Komponenten mangler en lang beskrivelse. Komponenter af denne type skal have " +"en lang beskrivelse." + +#: src/as-validator-issue-tag.h:487 +msgid "" +"It would be useful to add a long description to this font to present it " +"better to users." +msgstr "" +"Det vil være nyttigt at tilføje en lang beskrivelse til skrifttypen for at " +"præsentere den bedre til brugerne." + +#: src/as-validator-issue-tag.h:492 +msgid "" +"It is recommended to add a long description to this component to present it " +"better to users." +msgstr "" +"Det anbefales at tilføje en lang beskrivelse til komponenten for at " +"præsentere den bedre til brugerne." + +#: src/as-validator-issue-tag.h:497 +msgid "" +"This generic component is missing a long description. It may be useful to " +"add one." +msgstr "" +"Den generiske komponent mangler en lang beskrivelse. Det kan være nyttigt at " +"tilføje en." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:503 +msgid "" +"Type `console-application` component, but no information about binaries in " +"$PATH was provided via a `provides/binary` tag." +msgstr "" +"Typen er 'console-application'-komponent men der blev ikke angivet nogen " +"information om binære i $PATH via et 'provides/binary'-tag." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:509 +msgid "" +"This `web-application` component is missing a `launchable` tag of type `url`." +msgstr "" +"'web-application'-komponenten mangler et 'launchable'-tag af typen 'url'." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:515 +msgid "" +"This `web-application` component is missing a `icon` tag to specify a valid " +"icon." +msgstr "" +"'web-application'-komponenten mangler et 'icon'-tag til at angive et gyldigt " +"ikon." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:521 +msgid "" +"This `web-application` component is missing categorizations. A `categories` " +"block is likely missing." +msgstr "" +"'web-application'-komponenten mangler kategoriseringer. Der mangler " +"sandsynligvis en 'categories'-blok." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:527 +msgid "" +"Type `font` component, but no font information was provided via a `provides/" +"font` tag." +msgstr "" +"Typen er 'font'-komponent men der blev ikke angivet nogen information om " +"skrifttype via et 'provides/font'-tag." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:533 +msgid "" +"Type `driver` component, but no modalias information was provided via a " +"`provides/modalias` tag." +msgstr "" +"Typen er 'driver'-komponent men der blev ikke angivet nogen information om " +"modalias via et 'provides/modalias'-tag." -#: tools/ascli-actions-misc.c:306 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:539 msgid "" -"No provided binary specified in metainfo file, and no exec command specified " -"via '--exec'. Can not create 'Exec=' key." +"An `extends` tag is specified, but the component is not of type `addon`, " +"`localization` or `repository`." msgstr "" -"Ingen leveret binær angivet i metainfo-fil og ingen exec-kommando angivet " -"via '--exec'. Kan ikke oprette 'Exec='-nøgle." +"Et 'extends'-tag er angivet, men komponenten er ikke af typen 'addon', " +"'localization' eller 'repository'." -#: tools/ascli-actions-misc.c:284 -msgid "No stock icon name was provided in the metainfo file. Can not continue." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:545 +msgid "The component is an addon, but no `extends` tag was specified." msgstr "" -"Intet stock-ikonnavn blev angivet i metainfo-filen. Kan ikke fortsætte." +"Komponenten er en tilføjelse men der er ikke angivet noget 'extends'-tag." -#: tools/ascli-actions-pkgmgr.c:53 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:551 msgid "" -"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" -"\" (part of PackageKit) is available." +"This `localization` component is missing an `extends` tag, to specify the " +"components it adds localization to." msgstr "" -"Fandt ikke noget egnet CLI til pakkehåndtering. Sørg venligst for at f.eks. " -"\"pkcon\" (del af PackageKit) er tilgængelig." - -#: tools/ascli-actions-mdata.c:206 -msgid "No value for the item to search for was defined." -msgstr "Der blev ikke defineret nogen værdi af elementet til at søge efter." - -#. TRANSLATORS: this is the menu spec main category for Office -#: src/as-category.c:317 -msgid "Office" -msgstr "Kontor" - -#. TRANSLATORS: An unknown option was passed to appstreamcli. -#: tools/appstream-cli.c:192 -#, c-format -msgid "Option '%s' is unknown." -msgstr "Tilvalget '%s' er ukendt." - -#: tools/ascli-utils.c:298 -msgid "Package" -msgstr "Pakke" - -#: src/as-category.c:171 -msgctxt "Category of Graphics" -msgid "Photography" -msgstr "Fotografi" - -#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) -#: tools/appstream-cli.c:121 -msgid "Print detailed explanation for found issues." -msgstr "Vis detaljeret forklaring om fundne problemer." - -#. TRANSLATORS: ascli flag description for: --details -#: tools/appstream-cli.c:98 -msgid "Print detailed output about found components." -msgstr "Vis detaljeret output om fundne komponenter." - -#. project group -#: tools/ascli-utils.c:360 -msgid "Project Group" -msgstr "Projektgruppe" - -#: tools/ascli-utils.c:405 -msgid "Provided Items" -msgstr "Angivne elementer" +"'localization'-komponenten mangler et 'extends'-tag til at angive de " +"komponenter den tilføjer lokalisering til." -#: src/as-provided.c:154 -msgid "Python (Version 2)" -msgstr "Python (version 2)" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:557 +msgid "" +"This `localization` component does not define any languages this " +"localization is for." +msgstr "" +"'localization'-komponenten definerer ikke nogen sprog som lokaliseringen er " +"til." -#: src/as-provided.c:156 -msgid "Python 3" -msgstr "Python 3" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:563 +msgid "" +"This `service` component is missing a `launchable` tag of type `service`." +msgstr "'service'-komponenten mangler et 'launchable'-tag af typen 'service'." -#: tools/appstream-cli.c:854 -msgid "Rebuild the component metadata cache." -msgstr "Genbyg komponentens metadata-mellemlager." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:569 +msgid "" +"Suggestions of any type other than `upstream` are not allowed in metainfo " +"files." +msgstr "Forslag af anden type end 'upstream' tillades ikke i metainfo-filer." -#: tools/appstream-cli.c:860 -msgid "Remove software matching the component-ID." -msgstr "Fjern software som matcher komponent-id'et." +#: src/as-validator-issue-tag.h:574 +msgid "" +"The category name is not valid. Refer to the XDG Menu Specification for a " +"list of valid category names." +msgstr "" +"Kategorinavnet er ikke gyldigt. Se XDG-menuspeficikationen for en liste over " +"gyldige kategorinavne." -#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty -#: src/as-validator.c:364 -msgid "Retrieved file size was zero." -msgstr "Hentede filstørrelse var nul." +#: src/as-validator-issue-tag.h:579 +msgid "The screenshot caption is too long (should be <= 80 characters)" +msgstr "Skærmbilledets billedtekst er for lang (skal være <= 80 tegn)" -#: src/as-category.c:248 -msgctxt "Category of Science" -msgid "Robotics" -msgstr "Robotteknologi" +#: src/as-validator-issue-tag.h:584 +msgid "Unable to read file." +msgstr "Kan ikke læse filen." -#: src/as-category.c:150 -msgctxt "Category of Games" -msgid "Role Playing" -msgstr "Rollespil" +#: src/as-validator-issue-tag.h:589 +msgid "The XML of this file is malformed." +msgstr "XML'en i filen er forkert udformet." -#: tools/appstream-cli.c:196 tools/appstream-cli.c:926 -#, c-format -msgid "Run '%s --help' to see a full list of available command line options." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:595 +msgid "" +"Invalid tag found in collection metadata. Only `component` tags are " +"permitted." msgstr "" -"Kør '%s --help' for at se en fuld liste over tilgængelige tilvalg for " -"kommandolinjen." +"Ugyldigt tag fundet i samlingens metadata. Kun 'component'-tags er tilladt." -#: tools/appstream-cli.c:198 -#, c-format +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:601 msgid "" -"Run '%s --help' to see a list of available commands and options, and '%s %s " -"--help' to see a list of options specific for this subcommand." +"The metainfo file uses an ancient version of the AppStream specification, " +"which can not be validated. Please migrate it to version 0.6 (or higher)." msgstr "" -"Kør '%s --help' for at se en fuld liste over tilgængelige tilvalg og '%s %s " -"--help' for at se en liste over tilvalg som gælder til denne underkommando." - -#: src/as-provided.c:162 -msgid "Runtime Firmware" -msgstr "Runtime-firmware" - -#: src/as-category.c:174 -msgctxt "Category of Graphics" -msgid "Scanning" -msgstr "Skanning" - -#. TRANSLATORS: this is the menu spec main category for Science -#: src/as-category.c:323 -msgid "Science" -msgstr "Videnskab" +"Metainfo-filen bruger en ældgammel AppStream-specifikation som ikke kan " +"valideres. Migrer den venligst til version 0.6 (eller højere)." -#: tools/appstream-cli.c:847 -msgid "Search the component database." -msgstr "Søg i komponentdatabasen." +#: src/as-validator-issue-tag.h:606 +msgid "" +"This XML document has an unknown root tag. Maybe this file is not a metainfo " +"document?" +msgstr "" +"XML-dokumentet har et ukendt rod-tag. Måske er filen ikke et metainfo-" +"dokument?" -#: src/as-category.c:293 -msgctxt "Category of Utility" -msgid "Security" -msgstr "Sikkerhed" +#: src/as-validator-issue-tag.h:611 +msgid "The metainfo filename does not match the component ID." +msgstr "Metainfo-filnavnet matcher ikke komponent-id'et." -#. TRANSLATORS: ascli flag description for: --verbose -#: tools/appstream-cli.c:903 -msgid "Show extra debugging information." -msgstr "Vis ekstra fejlretningsinformation." +#: src/as-validator-issue-tag.h:616 +msgid "Unable to read the .desktop file associated with this component." +msgstr "Kan ikke læse .desktop-filen som er tilknyttet komponenten." -#. TRANSLATORS: ascli flag description for: --version -#: tools/appstream-cli.c:897 -msgid "Show the program version." -msgstr "Vis programversionen." +#: src/as-validator-issue-tag.h:621 +msgid "This component metadata refers to a non-existing .desktop file." +msgstr "Komponentens metadata henviser til en ikkeeksisterende .desktop-fil." -#: src/as-validator-issue-tag.h:635 +#: src/as-validator-issue-tag.h:626 msgid "" -"Since a 'runtime' component is comprised of multiple other software " -"components, their component-IDs may be listed in a `` section for " -"this runtime." +"The category defined in the .desktop file is not valid. Refer to the XDG " +"Menu Specification for a list of valid categories." msgstr "" +"Kategorien som er defineret i .desktop-filen er ikke gyldig. Se XDG-" +"menuspeficikationen for en liste over gyldige kategorier." -#: src/as-category.c:153 -msgctxt "Category of Games" -msgid "Sports" -msgstr "Sport" - -#: src/as-category.c:157 -msgctxt "Category of Games" -msgid "Strategy" -msgstr "Strategi" +#: src/as-validator-issue-tag.h:631 +msgid "No AppStream metadata was found in this directory or directory tree." +msgstr "" +"Der blev ikke fundet nogen AppStream-metadata i mappen eller mappetræet." -#. these are commands we can use with appstreamcli -#: tools/appstream-cli.c:845 -msgid "Subcommands:" -msgstr "Underkommandoer:" +#. pedantic because not everything which has metadata is an application +#: src/as-validator-issue-tag.h:636 +msgid "No XDG applications directory found." +msgstr "Ingen XDG-programmappe fundet." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:527 +#: src/as-validator-issue-tag.h:641 msgid "" -"Suggestions of any type other than 'upstream' are not allowed in metainfo " -"files." -msgstr "Forslag af anden type end 'upstream' tillades ikke i metainfo-filer." +"The metainfo file is stored in a legacy path. Please place it in `/usr/share/" +"metainfo/`." +msgstr "" +"Metainfo-filen er gemt i en forældet sti. Placer den venligst i '/usr/share/" +"metainfo/'." -#: tools/ascli-utils.c:297 -msgid "Summary" -msgstr "Opsummering" +#: src/as-validator-issue-tag.h:646 +msgid "The metainfo file specifies multiple components. This is not allowed." +msgstr "Metainfo-filen angiver flere komponenter. Det er ikke tilladt." -#. TRANSLATORS: Status summary in ascli -#: tools/ascli-actions-misc.c:145 -msgid "Summary:" -msgstr "Opsummering:" +#: src/as-validator-issue-tag.h:651 +msgid "" +"The releases are not sorted in a latest to oldest version order. This is " +"required as some tools will assume that the latest version is always at the " +"top. Sorting releases also increases overall readability of the metainfo " +"file." +msgstr "" +"Udgivelserne er ikke sorteret i seneste til ældste. Det er et krav da nogen " +"værktøjer forventer at den seneste version altid er øverst. Når udgivelserne " +"er sorteret øger det også den samlede læsbarhed af metainfo-filen." -#: src/as-category.c:290 -msgctxt "Category of Utility" -msgid "System Monitoring" -msgstr "Systemovervågning" +#: src/as-validator-issue-tag.h:658 +msgid "The value set as release urgency is not a known urgency value." +msgstr "" +"Værdien der er indstillet som udgivelsens travlhed er ikke en kendt " +"travlhedsværdi." -#: src/as-validator-issue-tag.h:46 -msgid "Tags of this name are not permitted in this section." -msgstr "Tags med dette navn tillades ikke i afsnittet." +#: src/as-validator-issue-tag.h:663 +msgid "The value set as release type is invalid." +msgstr "Værdien, der er angivet som udgivelsens type, er ugyldig." -#: src/as-category.c:284 -msgctxt "Category of Utility" -msgid "Terminal Emulators" -msgstr "Terminalemulatore" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:669 +msgid "" +"The value set as artifact type is invalid. Must be either `source` or " +"`binary`." +msgstr "" +"Værdien, der er angivet som artefakttype, er ugyldig. Skal være enten " +"`source` eller `binary`." -#: src/as-category.c:281 -msgctxt "Category of Utility" -msgid "Text Editors" -msgstr "Tekstredigeringer" +#: src/as-validator-issue-tag.h:674 +msgid "The value set as artifact bundle type is invalid." +msgstr "Værdien, der er angivet som artefaktgruppetype, er ugyldig." -#: src/as-validator-issue-tag.h:318 +#: src/as-validator-issue-tag.h:679 msgid "" -"The 'pkgname' tag appears multiple times. You should evaluate creating a " -"metapackage containing the metainfo and .desktop files in order to avoid " -"defining multiple package names per component." +"The platform triplet for this release is invalid. It must be in the form of " +"`architecture-oskernel-osenv` - refer to the AppStream documentation or " +"information on normalized GNU triplets for more information and valid fields." msgstr "" -"'pkgname'-tagget findes flere gange. Du bør overveje at oprette en metapakke " -"med metainfo- og .desktop-filerne for at undgå at skulle definere flere " -"pakkenavne pr. komponent." +"Platformstripletten for denne udgave er ugyldig. Den skal være i form af " +"`architecture-oskernel-osenv` - se AppStream-dokumentationen eller " +"oplysninger om normaliserede GNU-tripletter for at få flere oplysninger og " +"gyldige felter." + +#: src/as-validator-issue-tag.h:686 +msgid "The selected checksumming algorithm is unsupported or unknown." +msgstr "Den valgte checksums-algoritme er ikke understøttet eller ukendt." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:416 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:692 +msgid "The size type is unknown. Must be `download` or `installed`." +msgstr "Størrelsestypen er ukendt. Skal være 'download' eller 'installed'." + +#: src/as-validator-issue-tag.h:697 msgid "" -"The 'update_contact' tag should not be included in collection AppStream XML." -msgstr "'update_contact'-tagget skal ikke medtages i samlingens AppStream XML." +"The artifact filename must be a file basename, not a (relative or absolute) " +"path." +msgstr "" +"Artefaktfilnavnet skal være et filgrundnavn, ikke en (relativ eller absolut) " +"sti." -#: tools/ascli-actions-mdata.c:467 -#, c-format -msgid "The .desktop file '%s' does not exist." -msgstr ".desktop-filen '%s' findes ikke." +#: src/as-validator-issue-tag.h:702 +msgid "The value set as release issue type is invalid." +msgstr "Værdien der er indstillet som udgivelsens problemtype er ugyldig." -#: src/as-validator-issue-tag.h:393 -msgid "The can not contain a hyperlink." -msgstr " må ikke indeholde et hyperlink." +#: src/as-validator-issue-tag.h:707 +msgid "" +"The issue is tagged at security vulnerability with a CVE number, but its " +"value does not look like a valid CVE identifier." +msgstr "" +"Problemet er tagget som sikkerhedssårbarhed med et CVE-nummer, men dets " +"værdi ligner ikke en gyldig CVE-identidikator." -#: src/as-validator-issue-tag.h:313 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:713 msgid "" -"The tag still contains a 'type' property, probably from an old " -"conversion to the recent metainfo format." +"This component is missing information about releases. Consider adding a " +"`releases` tag to describe releases and their changes." msgstr "" -"-tagget indeholder stadig en 'type'-egenskab, formodentligt fra en " -"gammel konvertering til det nye metainfo-format." -#: src/as-validator-issue-tag.h:616 +#: src/as-validator-issue-tag.h:718 msgid "" "The AppStream specification requires a complete, ISO 8601 date string with " "at least day-granularity to denote dates. Please ensure the date string is " @@ -1140,951 +2027,1021 @@ "minimum af detaljegrad i dage til at betegne datoer. Sørg venligst for at " "datostrengen er gyldig." -#: src/as-pool.c:1924 -#, c-format +#: src/as-validator-issue-tag.h:724 +msgid "" +"This component extends, provides, requires or recommends itself, which is " +"certainly not intended and may confuse users or machines dealing with this " +"metadata." +msgstr "" +"Komponenten udvidder, leverer, kræver eller anbefaler sig selv, hvilket " +"bestemt ikke er hensigten og kan forvirre de brugere eller maskiner som " +"bruger metadataene." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:731 +msgid "" +"Licenses for `runtime` components are usually too complex to reflect them in " +"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " +"value for this component's `project_license`. E.g. `LicenseRef-free=https://" +"example.com/licenses.html`" +msgstr "" +"Licenser til 'runtime'-komponenter er normalt for komplekse til at afspejle " +"dem i et simpelt SPDX-udtryk. Overvej at bruge en 'LicenseRef' og en web-URL " +"som værdi for denne komponents 'project_license'. F.eks. 'LicenseRef-" +"free=https://example.com/licenses.html'" + +#: src/as-validator-issue-tag.h:737 +msgid "" +"Since a `runtime` component is comprised of multiple other software " +"components, their component-IDs may be listed in a `` section for " +"this runtime." +msgstr "" +"Da en 'runtime'-komponent består af flere andre softwarekomponenter, kan " +"deres komponent-ID'er, for denne runtime, være listet i et ''-" +"sektion." + +#: src/as-validator-issue-tag.h:742 +msgid "" +"The type of the item that the component provides is not known to AppStream." +msgstr "Typen af punktet som komponenten leverer er ikke kendt af AppStream." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:748 +msgid "" +"The toplevel `mimetypes` tag is deprecated. Please use `mediatype` tags in a " +"`provides` block instead to indicate that your software provides a media " +"handler for the given types." +msgstr "" +"Topniveaustagget `mimetypes` er udgået. Brug venligst `mediatype`-tags i en " +"`provides`-blok i stedet, for at indikere at din software leverer en " +"mediebehandler til de angine typer." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks) and keep the URL intact. +#: src/as-validator-issue-tag.h:755 msgid "" -"The AppStream system cache was updated, but problems were found which " -"resulted in metadata being ignored: %s" +"This component has no `content_rating` tag to provide age rating " +"information. You can generate the tag data online by answering a few " +"questions at https://hughsie.github.io/oars/" msgstr "" -"AppStreams systemmellemlager blev opdateret, men der var problemer som " -"resulterede i at metadata blev ignoreret: %s" -#: src/as-pool.c:1922 +#: src/as-validator.c:150 msgid "" -"The AppStream system cache was updated, but some components were ignored. " -"Refer to the verbose log for more information." +"The emitted issue tag is unknown in the tag registry of AppStream. This is a " +"bug in the validator itself, please report this issue in our bugtracker." msgstr "" -"AppStreams systemmellemlager blev opdateret, men nogle komponenter blev " -"ignoreret. Se den uddybende log for mere information." +"Det udsendte issue-tag er ukendt i AppStreams tagregisteret. Det er en fejl " +"i selve validatoren. Rapportér venligst problemet i vores bugtracker." -#: src/as-validator-issue-tag.h:151 -msgid "The SPDX license expression is invalid and could not be parsed." -msgstr "SPDX-licensudtrykket er ugyldigt og kan ikke fortolkes." +#: src/as-validator.c:344 +msgid "URL format is invalid." +msgstr "URL-formatet er ugyldigt." -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows -#: tools/appstream-cli.c:683 +#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. +#: src/as-validator.c:522 src/as-validator.c:937 src/as-validator.c:1031 +#: src/as-validator.c:1428 src/as-validator.c:1448 src/as-validator.c:1481 #, c-format -msgid "The TYPE must be a valid component-type, such as: %s" -msgstr "TYPE skal være en gyldig komponenttype, såsom: %s" +msgid "Found: %s - Allowed: %s" +msgstr "Fandt: %s - Tilladt: %s" -#: src/as-validator-issue-tag.h:547 -msgid "The XML of this file is malformed." -msgstr "XML'en i filen er forkert udformet." +#. TRANSLATORS: ascompose flag description for: --verbose +#: tools/appstream-compose.c:181 +#, fuzzy +msgid "Show extra debugging information" +msgstr "Vis ekstra fejlretningsinformation." -#: src/as-validator-issue-tag.h:584 -msgid "" -"The category defined in the .desktop file is not valid. Refer to the XDG " -"Menu Specification for a list of valid categories." +#. TRANSLATORS: ascompose flag description for: --no-color +#. TRANSLATORS: ascli flag description for: --no-color +#: tools/appstream-compose.c:184 tools/appstreamcli.c:1087 +msgid "Don't show colored output." +msgstr "Vis ikke farver i output." + +#. TRANSLATORS: ascompose flag description for: --version +#. TRANSLATORS: ascli flag description for: --version +#: tools/appstream-compose.c:187 tools/appstreamcli.c:1076 +msgid "Show the program version." +msgstr "Vis programversionen." + +#. TRANSLATORS: ascompose flag description for: --full-report +#: tools/appstream-compose.c:190 +msgid "Set mode of the issue report that is printed to the console" msgstr "" -"Kategorien som er defineret i .desktop-filen er ikke gyldig. Se XDG-" -"menuspeficikationen for en liste over gyldige kategorier." -#: src/as-validator-issue-tag.h:532 -msgid "" -"The category name is not valid. Refer to the XDG Menu Specification for a " -"list of valid category names." +#. TRANSLATORS: ascompose flag description for: --prefix +#: tools/appstream-compose.c:193 +msgid "Override the default prefix (`/usr` by default)" msgstr "" -"Kategorinavnet er ikke gyldigt. Se XDG-menuspeficikationen for en liste over " -"gyldige kategorinavne." -#: src/as-validator-issue-tag.h:124 -msgid "" -"The component ID contains a hyphen/minus. Using a hyphen is strongly " -"discouraged, to improve interoperability with other tools such as D-Bus. A " -"good option is to replace any hyphens with underscores ('_')." +#. TRANSLATORS: ascompose flag description for: --result-root +#: tools/appstream-compose.c:196 +msgid "Set the result output directory" msgstr "" -"Komponent-id'et indeholer en bindestreg/minus. Det frarådes kraftigt at " -"bruge en bindestreg for at få bedre samkørsel med andre værktøjer såsom D-" -"Bus. Et godt valg er at erstatte bindestreger med understregninger ('_')." -#: src/as-validator-issue-tag.h:130 -msgid "" -"The component ID contains a segment starting with a number. Starting a " -"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " -"interoperability with other tools such as D-Bus. Ideally, prefix these " -"segments with an underscore." +#. TRANSLATORS: ascompose flag description for: --data-dir, `collection metadata` is an AppStream term +#: tools/appstream-compose.c:199 +msgid "Override the collection metadata output directory" msgstr "" -"Komponent-id'et indeholdet et segment som begynder med et tal. Det frarådes " -"kraftigt at begynde et segment med det omvendte DNS-id med et tal, for at " -"beholde samkørsel med andre værktøjer såsom D-Bus. Ideelt præfikses " -"segmenterne med en understregning." -#: src/as-validator-issue-tag.h:119 -msgid "" -"The component ID contains an invalid character. Only ASCII characters, dots " -"and numbers are permitted." +#. TRANSLATORS: ascompose flag description for: --icons-dir +#: tools/appstream-compose.c:202 +msgid "Override the icon output directory" msgstr "" -"Komponent-id'et indeholder et ugyldigt tegn. Kun ASCII-tegn, punktummer og " -"tal er tilladt." -#: src/as-validator-issue-tag.h:106 +#. TRANSLATORS: ascompose flag description for: --media-dir +#: tools/appstream-compose.c:205 msgid "" -"The component ID is not a reverse domain-name. Please update the ID to avoid " -"future issues and be compatible with all AppStream implementations.\n" -"You may also consider to update the name of the accompanying .desktop file " -"to follow the latest version of the Desktop-Entry specification and use a " -"rDNS name for it as well. In any case, do not forget to mention the new " -"desktop-entry in a tag for this component to keep the " -"application launchable from software centers and the .desktop file data " -"associated with the metainfo data." +"Set the media output directory (for media data to be served by a webserver)" msgstr "" -"Komponent-id'et er ikke et omvendt domænenavn. Opdater venligst id'et for at " -"undgå yderligere problemer og for at være kompatibel med alle AppStream-" -"implementeringer.\n" -"Du kan også overveje at opdatere navnet på den tilhørende .desktop-fil for " -"at følge den seneste version af Desktop-Entry-specifikationen og også bruge " -"et rDNS-navn til den. Husk under alle omstændigheder at nævne den nye " -"desktop-entry i et -tag til komponenten for at holde " -"programmets launchable fra softwarecenter og data som er tilknyttet .desktop-" -"filen med metainfo-dataen." -#: src/as-validator-issue-tag.h:101 -msgid "" -"The component ID is required to follow a reverse domain-name scheme for its " -"name. See the AppStream specification for details." +#. TRANSLATORS: ascompose flag description for: --hints-dir +#: tools/appstream-compose.c:208 +msgid "Set a directory where HTML and text issue reports will be stored" msgstr "" -"Komponent-id'et skal følge et skema med omvendt domænenavn til sit navn. Se " -"AppStream-specifikationen for detaljer." -#: src/as-validator-issue-tag.h:114 -msgid "" -"The component ID might not follow the reverse domain-name schema (the TLD " -"used by it is not known to the validator)." +#. TRANSLATORS: ascompose flag description for: --origin +#. TRANSLATORS: ascompose flag description for: --media-baseurl +#: tools/appstream-compose.c:211 tools/appstream-compose.c:214 +msgid "Set the origin name" msgstr "" -"Komponent-id'et følger måske ikke skemaet for omvendt domænenavn " -"(validatoren kender ikke TLD'en som bruges af det)." -#: src/as-validator-issue-tag.h:293 +#. TRANSLATORS: ascompose flag description for: --components +#: tools/appstream-compose.c:217 +msgid "A comma-separated list of component-IDs to accept" +msgstr "" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:231 +msgid "Failed to parse arguments" +msgstr "" + +#. TRANSLATORS: Output if appstreamcli --version is executed. +#: tools/appstream-compose.c:242 tools/appstreamcli.c:1230 +#, c-format +msgid "AppStream version: %s" +msgstr "AppStream-version: %s" + +#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. +#: tools/appstream-compose.c:245 tools/appstreamcli.c:1233 +#, c-format msgid "" -"The component has a 'merge' method defined. This is not allowed in metainfo " -"files." +"AppStream CLI tool version: %s\n" +"AppStream library version: %s" msgstr "" -"Komponenten har angivet en 'merge'-metode. Det er ikke tilladt i metainfo-" -"filer." +"Version for AppStream CLI-værktøj: %s\n" +"Version for AppStream-bibliotek: %s" -#: src/as-validator-issue-tag.h:288 +#. TRANSLATORS: invalid value for the --print-report CLI option +#: tools/appstream-compose.c:264 +#, c-format msgid "" -"The component has a priority value set. This is not allowed in metainfo " -"files." +"Invalid value for `--print-report` option: %s\n" +"Possible values are:\n" +"`on-error` - only prints a short report if the run failed (default)\n" +"`short` - generates an abridged report\n" +"`full` - a detailed report will be printed" msgstr "" -"Komponenten har indstillet en prioritetsværdi. Det er ikke tilladt i " -"metainfo-filer." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:503 -msgid "The component is an addon, but no 'extends' tag was specified." +#: tools/appstream-compose.c:285 +#, c-format +msgid "Automatically selected '%s' as data output location." msgstr "" -"Komponenten er en tilføjelse men der er ikke angivet noget 'extends'-tag." -#: src/as-validator-issue-tag.h:440 -msgid "" -"The component is missing a long description. Components of this type must " -"have a long description." +#. TRANSLATORS: we don't have a destination directory for compose +#: tools/appstream-compose.c:288 +msgid "No destination directory set, please provide a data output location!" msgstr "" -"Komponenten mangler en lang beskrivelse. Komponenter af denne type skal have " -"en lang beskrivelse." -#: src/as-validator-issue-tag.h:303 -msgid "The component is missing a name ( tag)." -msgstr "Komponenten mangler et navn (-tag)." +#: tools/appstream-compose.c:298 tools/appstream-compose.c:300 +msgid "WARNING" +msgstr "" -#: src/as-validator-issue-tag.h:308 -msgid "The component is missing a summary ( tag)." -msgstr "Komponenten mangler en opsummering (-tag)." +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:337 +#, c-format +msgid "Only accepting components: %s" +msgstr "" -#: src/as-validator-issue-tag.h:298 -msgid "The component is missing an ID ( tag)." -msgstr "Komponenten mangler et id (-tag)." +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:340 +#, c-format +msgid "Only accepting component: %s" +msgstr "" -#: src/as-validator-issue-tag.h:136 -msgid "" -"The component is part of the Freedesktop project, but its ID does not start " -"with fd.o's reverse-DNS name (\"org.freedesktop\")." +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:345 +msgid "Processing directories:" msgstr "" -"Komponenten er del af Freedesktop-projektet, men dets id begynder ikke med " -"fd.o's omvendte DNS-navn (\"org.freedesktop\")." -#: src/as-validator-issue-tag.h:146 -msgid "" -"The component is part of the GNOME project, but its ID does not start with " -"GNOMEs reverse-DNS name (\"org.gnome\")." +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:348 +msgid "Processing directory:" msgstr "" -"Komponenten er del af GNOME-projektet, men dets id begynder ikke med GNOMEs " -"omvendte DNS-navn (\"org.gnome\")." -#: src/as-validator-issue-tag.h:141 -msgid "" -"The component is part of the KDE project, but its ID does not start with " -"KDEs reverse-DNS name (\"org.kde\")." +#. TRANSLATORS: error message +#: tools/appstream-compose.c:357 +msgid "Can not process invalid directory" msgstr "" -"Komponenten er del af KDE-projektet, men dets id begynder ikke med KDEs " -"omvendte DNS-navn (\"org.kde\")." -#: src/as-validator-issue-tag.h:323 -msgid "The component name should (likely) not end with a dot ('.')." +#. TRANSLATORS: information message +#: tools/appstream-compose.c:369 +msgid "Composing metadata..." msgstr "" -"Komponentens navn skal (sandsynligvis) ikke slutte med et punktum ('.')." -#: src/as-validator-issue-tag.h:333 -msgid "The component summary must not contain tabs or linebreaks." +#. TRANSLATORS: error message +#: tools/appstream-compose.c:374 +#, fuzzy +msgid "Failed to compose AppStream metadata" +msgstr "Et redskab til at arbejde med AppStream-metadata" + +#. TRANSLATORS: appstream-compose failed to include all data +#: tools/appstream-compose.c:380 +msgid "Run failed, some data was ignored." msgstr "" -"Komponentens opsummering kan ikke indeholde tabulatorer eller linjeskift." -#: src/as-validator-issue-tag.h:328 -msgid "The component summary should not end with a dot ('.')." -msgstr "Komponentens opsummering skal ikke slutte med et punktum ('.')." +#. TRANSLATORS: information message of appstream-compose +#: tools/appstream-compose.c:382 +msgid "Errors were raised during this compose run:" +msgstr "" -#: src/as-validator-issue-tag.h:243 +#: tools/appstream-compose.c:383 msgid "" -"The default screenshot of a software component must not be a video. Use a " -"static image as default screenshot and set the video as a secondary " -"screenshot." +"Refer to the generated issue report data for details on the individual " +"problems." msgstr "" -"Standardskærmbilledet til en softwarekomponent må ikke være en video. Brug " -"et statisk billede som standardskærmbillede og indstil videoen som et " -"sekundært skærmbillede." -#: src/as-validator-issue-tag.h:86 -msgid "" -"The description contains a web URL in plain text. This is not allowed, " -"please use the tag instead to share links." +#: tools/appstream-compose.c:386 +msgid "Overview of generated hints:" msgstr "" -"Beskrivelsen indeholdet en web-URL i ren tekst. Det er ikke tilladt. Brug " -"venligst -tagget i stedet til at dele links." -#: src/as-validator.c:152 -msgid "" -"The emitted issue tag is unknown in the tag registry of AppStream. This is a " -"bug in the validator itself, please report this issue in our bugtracker." +#. TRANSLATORS: information message +#: tools/appstream-compose.c:388 +msgid "Success!" msgstr "" -"Det udsendte issue-tag er ukendt i AppStreams tagregisteret. Det er en fejl " -"i selve validatoren. Rapportér venligst problemet i vores bugtracker." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:435 -msgid "" -"The essential tag 'metadata_license' is missing. A license for the metadata " -"itself always has to be defined." +#. TRANSLATORS: ascli flag description for: --cachepath +#: tools/appstreamcli.c:59 +msgid "Manually selected location of AppStream cache." +msgstr "Placeringen af AppStreams mellemlager som blev valgt manuelt." + +#. TRANSLATORS: ascli flag description for: --datapath +#: tools/appstreamcli.c:64 +msgid "Manually selected location of AppStream metadata to scan." msgstr "" -"Det essentielle tag 'metadata_license' mangler. Der skal altid være angivet " -"en licens til selve metadataene." +"Placeringen af AppStream-metadata som skal skannes som blev valgt manuelt." -#: src/as-validator-issue-tag.h:79 -msgid "" -"The first 'description/p' paragraph of this component might be too short (< " -"80 characters). Please consider starting with a longer paragraph to improve " -"how the description looks like in software centers and to provide more " -"detailed information on this component immediately in the first paragraph." +#. TRANSLATORS: ascli flag description for: --no-cache +#: tools/appstreamcli.c:69 +msgid "Make request without any caching." +msgstr "Foretag anmodning uden at bruge mellemlager." + +#. TRANSLATORS: ascli flag description for: --format +#: tools/appstreamcli.c:85 +msgid "Default metadata format (valid values are 'xml' and 'yaml')." +msgstr "Standardmetadataformat (gyldige værdier er 'xml' og 'yaml')." + +#. TRANSLATORS: ascli flag description for: --details +#: tools/appstreamcli.c:100 +msgid "Print detailed output about found components." +msgstr "Vis detaljeret output om fundne komponenter." + +#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) +#: tools/appstreamcli.c:118 +msgid "Also show pedantic hints." +msgstr "Vis også pedantiske tips." + +#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) +#: tools/appstreamcli.c:123 +msgid "Print detailed explanation for found issues." +msgstr "Vis detaljeret forklaring om fundne problemer." + +#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) +#: tools/appstreamcli.c:128 +msgid "Do not use network access." +msgstr "Brug ikke netværksadgang." + +#. TRANSLATORS: ascli flag description for: --format when validating XML files +#: tools/appstreamcli.c:133 +msgid "Format of the generated report (valid values are 'text' and 'yaml')." msgstr "" -"Det første 'description/p'-afsnit i komponenten er måske for kort (< 80 " -"tegn). Overvej venligst at begynde med et længere afsnit for at forbedre " -"beskrivelsens udseende i softwarecentre og for at levere mere detaljeret " -"information om komponenten straks i det første afsnit." +"Formatet på den genererede rapport (gyldige værdier er 'text' og 'yaml')." -#: src/as-validator-issue-tag.h:156 -#, fuzzy +#. TRANSLATORS: This is the header to the --help menu for subcommands +#. TRANSLATORS: This is the header to the --help menu +#: tools/appstreamcli.c:153 tools/appstreamcli.c:981 +msgid "AppStream command-line interface" +msgstr "AppStream-kommandolinjegrænseflade" + +#: tools/appstreamcli.c:156 +#, c-format +msgid "'%s' command" +msgstr "'%s'-kommando" + +#. TRANSLATORS: An unknown option was passed to appstreamcli. +#: tools/appstreamcli.c:191 +#, c-format +msgid "Option '%s' is unknown." +msgstr "Tilvalget '%s' er ukendt." + +#: tools/appstreamcli.c:195 tools/appstreamcli.c:1207 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options." +msgstr "" +"Kør '%s --help' for at se en fuld liste over tilgængelige tilvalg for " +"kommandolinjen." + +#: tools/appstreamcli.c:197 +#, c-format msgid "" -"The license ID was not found in the SPDX database. Please check that the " -"license ID is written in an SPDX-conformant way and is a valid free software " -"license." +"Run '%s --help' to see a list of available commands and options, and '%s %s " +"--help' to see a list of options specific for this subcommand." msgstr "" -"Licens-id'et blev ikke fundet i SPDX-databasen. Tjek venligst at licens-" -"id'et er skrevet på en måde som overholder SPDX og er en gyldig fri software " -"licens." +"Kør '%s --help' for at se en fuld liste over tilgængelige tilvalg og '%s %s " +"--help' for at se en liste over tilvalg som gælder til denne underkommando." -#: src/as-validator-issue-tag.h:96 +#. TRANSLATORS: ascli flag description for: --force +#: tools/appstreamcli.c:245 +msgid "Enforce a cache refresh." +msgstr "Gennemtving en opdatering af mellemlageret." + +#. TRANSLATORS: ascli flag description for: --user +#: tools/appstreamcli.c:251 +msgid "Update the user-specific instead of the system-wide cache." +msgstr "Opdater det brugerspecifikke mellemlager frem for det systembrede." + +#. TRANSLATORS: ascli flag description for: --origin (part of the "put" subcommand) +#: tools/appstreamcli.c:477 +msgid "Set the data origin for the installed metadata collection file." +msgstr "Indstil dataens oprindelse for den installerede metadatasamlingsfil." + +#. TRANSLATORS: ascli flag description for: --user (part of the "put" subcommand) +#: tools/appstreamcli.c:482 +msgid "Install the file for the current user, instead of globally." +msgstr "Installer filen for den nuværende bruger frem for globalt." + +#: tools/appstreamcli.c:631 msgid "" -"The mentioned tag is empty, which is highly likely not intended as it should " -"have content." +"You need to provide at least two version numbers to compare as parameters." msgstr "" -"mentioned-tagget er tomt, men det er højst sandsynligt tilsigtet da det skal " -"have indhold." +"Du skal angive mindst to versionsnumre for at sammenligne som parametre." + +#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. +#: tools/appstreamcli.c:660 +#, c-format +msgid "Unknown compare relation '%s'. Valid values are:" +msgstr "Ukendt sammenligningsrelation '%s'. Gyldige værdier er:" -#: src/as-validator-issue-tag.h:168 +#: tools/appstreamcli.c:700 msgid "" -"The metadata itself does not seem to be licensed under a permissive license. " -"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " -"0BSD to allow distributors to include it in mixed data collections without " -"the risk of license violations due to mutually incompatible licenses." +"Too many parameters: Need two version numbers or version numbers and a " +"comparison operator." msgstr "" -"Selve metadataen ser ikke ud til at være licenseret under en eftergivende " -"licens. Licensér venligst dataene under en eftergivende license såsom FSFAP, " -"CC0-1.0 eller 0BSD for at give distributioner tilladelse til at medtage den " -"i samlinger med blandet data uden risiko for licensovertrædelser pga. " -"indbyrdes inkompatible licenser." +"For mange parametre: Der er brug for to versionsnumre eller versionsnumre og " +"en sammenligningsoperator." -#: src/as-validator-issue-tag.h:162 +#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) +#: tools/appstreamcli.c:726 msgid "" -"The metadata itself seems to be licensed under a complex collection of " -"licenses. Please license the data under a simple permissive license, like " -"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " -"collections without the risk of license violations due to mutually " -"incompatible licenses." +"Use the given .desktop file to fill in the basic values of the metainfo file." msgstr "" -"Selve metadataen ser ud til at være licenseret under en kompleks samling af " -"licenser. Licensér venligst dataene under en eftergivende licens såsom " -"FSFAP, MIT eller CC0-1.0 for at give distributioner tilladelse til at " -"medtage den i samlinger med blandet data uden risiko for licensovertrædelser " -"pga. indbyrdes inkompatible licenser." +"Brug den givne .desktop-fil til at udfylde de grundlæggende værdier i " +"metainfofilen." -#: src/as-validator-issue-tag.h:599 +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand +#: tools/appstreamcli.c:731 msgid "" -"The metainfo file is stored in a legacy path. Please place it in '/usr/share/" -"metainfo'." +"This command takes optional TYPE and FILE positional arguments, FILE being a " +"file to write to (or \"-\" for standard output)." msgstr "" -"Metainfo-filen er gemt i en forældet sti. Placer den venligst i '/usr/share/" -"metainfo'." +"Kommandoen tager de valgfrie TYPE- og FILE-positionelle argumenter, FILE er " +"en fil som der skal skrives til (eller \"-\" for standardoutput)." -#: src/as-validator-issue-tag.h:604 -msgid "The metainfo file specifies multiple components. This is not allowed." -msgstr "Metainfo-filen angiver flere komponenter. Det er ikke tilladt." +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows +#: tools/appstreamcli.c:734 +#, c-format +msgid "The TYPE must be a valid component-type, such as: %s" +msgstr "TYPE skal være en gyldig komponenttype, såsom: %s" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:559 +#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) +#: tools/appstreamcli.c:775 +msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." +msgstr "Brug den angivne linje til 'Exec='-nøglen i desktop-entry-filen." + +#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command +#: tools/appstreamcli.c:815 +msgid "Assume the input file is in the selected format ('yaml' or 'text')." +msgstr "Formod at inputfilen er i det valgte format ('yaml' eller 'text')." + +#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command +#: tools/appstreamcli.c:820 msgid "" -"The metainfo file uses an ancient version of the AppStream specification, " -"which can not be validated. Please migrate it to version 0.6 (or higher)." +"Limit the number of release entries that end up in the metainfo file (0 for " +"unlimited)." msgstr "" -"Metainfo-filen bruger en ældgammel AppStream-specifikation som ikke kan " -"valideres. Migrer den venligst til version 0.6 (eller højere)." +"Begræns antallet af udgivelsesposter som kan ende i metainfo-filen (0 for " +"ubegrænset)." -#: src/as-validator-issue-tag.h:569 -msgid "The metainfo filename does not match the component ID." -msgstr "Metainfo-filnavnet matcher ikke komponent-id'et." +#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command +#: tools/appstreamcli.c:862 +msgid "Generate the output in the selected format ('yaml' or 'text')." +msgstr "Generer outputtet i det valgte format ('yaml' eller 'text')." -#: src/as-validator-issue-tag.h:609 -msgid "" -"The releases are not sorted in a latest to oldest version order. This is " -"required as some tools will assume that the latest version is always at the " -"top. Sorting releases also increases overall readability of the metainfo " -"file." +#: tools/appstreamcli.c:894 +#, c-format +msgid "Compose binary '%s' was not found! Can not continue." msgstr "" -"Udgivelserne er ikke sorteret i seneste til ældste. Det er et krav da nogen " -"værktøjer forventer at den seneste version altid er øverst. Når udgivelserne " -"er sorteret øger det også den samlede læsbarhed af metainfo-filen." -#: src/as-validator-issue-tag.h:537 -msgid "The screenshot caption is too long (should be <= 80 characters)" -msgstr "Skærmbilledets billedtekst er for lang (skal være <= 80 tegn)" +#. TRANSLATORS: this is a (usually shorter) command alias, shown after the command summary text +#: tools/appstreamcli.c:956 +#, c-format +msgid "(Alias: '%s')" +msgstr "(alias: '%s')" -#: src/as-validator-issue-tag.h:206 -msgid "The screenshot does not have a caption text. Consider adding one." -msgstr "Skærmbilledet har ikke en billedtekst. Overvej at tilføje en." +#. these are commands we can use with appstreamcli +#: tools/appstreamcli.c:983 +msgid "Subcommands:" +msgstr "Underkommandoer:" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:218 +#: tools/appstreamcli.c:1029 msgid "" -"The screenshot video does not specify which container format was used in a " -"'container' property." +"You can find information about subcommand-specific options by passing \"--" +"help\" to the subcommand." msgstr "" -"Skærmbilledets video angiver ikke det anvendte containerformat i en " -"'container'-egenskab." +"Du kan finde information om tilvalg som gælder til en bestemt " +"underkommandoen ved at videregive \"--help\" til underkommandoen." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:212 +#. TRANSLATORS: ascli has been run with unknown command. '%s --help' is the command to receive help and should not be translated. +#: tools/appstreamcli.c:1052 +#, c-format msgid "" -"The screenshot video does not specify which video codec was used in a " -"'codec' property." +"Command '%s' is unknown. Run '%s --help' for a list of available commands." msgstr "" -"Skærmbilledets video angiver ikke det anvendte videocodec i en 'codec'-" -"egenskab." +"Kommandoen '%s' er ukendt. Kør '%s --help' for at se en liste over " +"tilgængelige kommandoer." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:224 -msgid "" -"The selected video codec is not supported by AppStream and software centers " -"may not be able to play the video. Only the AV1 and VP9 codecs are currently " -"supported, using 'av1' and 'vp9' as values for the 'codec' property." -msgstr "" -"Det valgte videocodec understøttes ikke af AppStream, og softwarecentre vil " -"måske ikke være i stand til at afspille videoen. På nuværende tidspunkt " -"understøttes kun AV1- og VP9-codecs, som bruger 'av1' og 'vp9' som værdier " -"til 'codec'-egenskaben." +#. TRANSLATORS: ascli flag description for: --verbose +#: tools/appstreamcli.c:1082 +msgid "Show extra debugging information." +msgstr "Vis ekstra fejlretningsinformation." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:231 -msgid "" -"The selected video container format is not supported by AppStream and " -"software centers may not be able to play the video. Only the WebM and " -"Matroska video containers are currently supported, using 'webm' and 'mkv' as " -"values for the 'container' property." -msgstr "" -"Det valgte videocontainerformat understøttes ikke af AppStream og " -"softwarecentre vil måske ikke være i stand til at afspille videoen. På " -"nuværende tidspunkt understøttes kun WebM- og Matroska-videocontainere, som " -"bruger 'webm' og 'mkv' som værdier til 'container'-egenskaben." +#. TRANSLATORS: ascli flag description for: --profile +#: tools/appstreamcli.c:1090 +msgid "Enable profiling" +msgstr "Aktivér profilering" + +#. TRANSLATORS: `appstreamcli search` command description. +#: tools/appstreamcli.c:1102 +msgid "Search the component database." +msgstr "Søg i komponentdatabasen." -#: src/as-validator-issue-tag.h:283 +#. TRANSLATORS: `appstreamcli get` command description. +#: tools/appstreamcli.c:1107 +msgid "Get information about a component by its ID." +msgstr "Hent information om en komponent efter dets id." + +#. TRANSLATORS: `appstreamcli what-provides` command description. +#: tools/appstreamcli.c:1112 msgid "" -"The set component type is not a recognized, valid AppStream component type." +"Get components which provide the given item. Needs an item type (e.g. lib, " +"bin, python3, …) and item value as parameter." msgstr "" -"Den indstillet komponenttype genkendes ikke, gyldig AppStream-komponenttype." +"Hent komponenter som leverer det givne element. Behøver en elementtype (f." +"eks. lib, bin, python3 ...) og elementværdi som parameter." -#: src/as-validator-issue-tag.h:398 +#. TRANSLATORS: `appstreamcli dump` command description. +#: tools/appstreamcli.c:1118 +msgid "Dump raw XML metadata for a component matching the ID." +msgstr "Dump rå XML-metadata for en komponent som matcher id'et." + +#. TRANSLATORS: `appstreamcli refresh-cache` command description. +#: tools/appstreamcli.c:1123 +msgid "Rebuild the component metadata cache." +msgstr "Genbyg komponentens metadata-mellemlager." + +#. TRANSLATORS: `appstreamcli validate` command description. +#: tools/appstreamcli.c:1129 +msgid "Validate AppStream XML files for issues." +msgstr "Valider AppStream XML-filer for problemer." + +#. TRANSLATORS: `appstreamcli validate-tree` command description. +#: tools/appstreamcli.c:1134 +msgid "Validate an installed file-tree of an application for valid metadata." +msgstr "Valider et programs installeret filtræ for gyldig metadata." + +#. TRANSLATORS: `appstreamcli install` command description. +#: tools/appstreamcli.c:1140 +msgid "Install software matching the component-ID." +msgstr "Installer software som matcher komponent-id'et." + +#. TRANSLATORS: `appstreamcli remove` command description. +#: tools/appstreamcli.c:1145 +msgid "Remove software matching the component-ID." +msgstr "Fjern software som matcher komponent-id'et." + +#. TRANSLATORS: `appstreamcli status` command description. +#: tools/appstreamcli.c:1151 +msgid "Display status information about available AppStream metadata." +msgstr "Vis statusinformation om tilgængelige AppStream-metadata." + +#. TRANSLATORS: `appstreamcli os-info` command description. +#: tools/appstreamcli.c:1156 msgid "" -"The set value is not an identifier for a desktop environment as registered " -"with Freedesktop.org." -msgstr "" -"De givne værdier er ikke en identifikator for et skrivebordsmiljø som er " -"registreret på Freedesktop.org." +"Show information about the current operating system from the metadata index." +msgstr "Vis information om det nuværende styresystem fra metadataindekset." -#: tools/ascli-actions-mdata.c:449 -#, c-format +#. TRANSLATORS: `appstreamcli put` command description. +#: tools/appstreamcli.c:1161 +msgid "Install a metadata file into the right location." +msgstr "Installer en metadatafil i den rette placering." + +#. TRANSLATORS: `appstreamcli convert` command description. "Collection XML" is a term describing a specific type of AppStream XML data. +#: tools/appstreamcli.c:1166 +msgid "Convert collection XML to YAML or vice versa." +msgstr "Konvertér samlings-XML til -YAML eller omvendt." + +#. TRANSLATORS: `appstreamcli vercmp` command description. +#: tools/appstreamcli.c:1171 +msgid "Compare two version numbers." +msgstr "Sammenlign to versionsnumre." + +#. TRANSLATORS: `appstreamcli new-template` command description. +#: tools/appstreamcli.c:1177 msgid "" -"The software component type '%s' is not valid in AppStream. Possible values " -"are:" -msgstr "" -"Softwarekomponenttypen '%s' er ikke gyldig i AppStream. Mulige værdier er:" +"Create a template for a metainfo file (to be filled out by the upstream " +"project)." +msgstr "Opret en skabelon til en metainfofil (udfyldes af opstrømsprojektet)." -#: src/as-validator-issue-tag.h:338 -msgid "The summary must not contain any URL. Use the tags for links." +#. TRANSLATORS: `appstreamcli make-desktop-file` command description. +#: tools/appstreamcli.c:1182 +msgid "Create a desktop-entry file from a metainfo file." +msgstr "Opret en desktop-entry-fil fra en metainfo-fil." + +#. TRANSLATORS: `appstreamcli news-to-metainfo` command description. +#: tools/appstreamcli.c:1187 +msgid "Convert a YAML or text NEWS file into metainfo releases." +msgstr "Konvertér en YAML- eller tekst NEWS-fil i metainfo-udgivelser." + +#. TRANSLATORS: `appstreamcli metainfo-to-news` command description. +#: tools/appstreamcli.c:1192 +msgid "Write NEWS text or YAML file with information from a metainfo file." +msgstr "Skriv NEWS-tekst eller YAML-fil med information fra en metainfo-fil." + +#. TRANSLATORS: `appstreamcli compose` command description. +#: tools/appstreamcli.c:1198 +#, fuzzy +msgid "Compose AppStream collection metadata from directory trees." msgstr "" -"Opsummeringen må ikke indeholde nogen URL. Brug -taggene til links." +"Der blev ikke fundet nogen AppStream-metadata i mappen eller mappetræet." -#: src/as-validator-issue-tag.h:640 -msgid "" -"The type of the item that the component provides is not known to AppStream." -msgstr "Typen af punktet som komponenten leverer er ikke kendt af AppStream." +#. TRANSLATORS: ascli has been run without command. +#: tools/appstreamcli.c:1206 +msgid "You need to specify a command." +msgstr "Du skal angive en kommando." -#: src/as-validator-issue-tag.h:174 -msgid "" -"The update-contact does not appear to be a valid email address (escaping of " -"'@' is only allowed as '_at_' or '_AT_')." +#. TRANSLATORS: In ascli: The requested action needs higher permissions. +#: tools/ascli-actions-mdata.c:70 +msgid "You might need superuser permissions to perform this action." msgstr "" -"update-contact ser ikke ud til at være en gyldig e-mailadresse (unvigelse af " -"'@' tillades kun som '_at_' eller '_AT_')." +"Du skal muligvis have superbruger-tilladelser for at udføre handlingen." + +#. we performed a cache refresh +#. TRANSLATORS: Updating the metadata cache succeeded +#: tools/ascli-actions-mdata.c:80 +msgid "AppStream cache update completed successfully." +msgstr "Opdatering af AppStreams mellemlager blev gennemført." + +#. cache wasn't updated, so the update wasn't necessary +#: tools/ascli-actions-mdata.c:86 +msgid "AppStream cache update is not necessary." +msgstr "Det er ikke nødvendigt at opdatere AppStreams mellemlager." + +#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments +#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. +#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:253 +#: tools/ascli-actions-pkgmgr.c:80 +msgid "You need to specify a component-ID." +msgstr "Du skal angive et komponent-id." -#: tools/ascli-actions-validate.c:363 tools/ascli-actions-validate.c:492 +#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:265 +#: tools/ascli-actions-pkgmgr.c:93 #, c-format -msgid "" -"The validator can not create reports in the '%s' format. You may select " -"'yaml' or 'text' instead." -msgstr "" -"Validatoren kan ikke oprette rapporter i '%s'-formatet. Du kan i stedet " -"vælge 'yaml' eller 'text'." +msgid "Unable to find component with ID '%s'!" +msgstr "Kan ikke finde komponent med id'et '%s'!" + +#: tools/ascli-actions-mdata.c:164 +msgid "You need to specify a term to search for." +msgstr "Du skal angive en søgeterm." + +#. TRANSLATORS: We failed to find any component in the database, likely due to an error +#: tools/ascli-actions-mdata.c:177 +#, c-format +msgid "Unable to find component matching %s!" +msgstr "Kan ikke finde komponent som matcher %s!" + +#: tools/ascli-actions-mdata.c:182 +#, c-format +msgid "No component matching '%s' found." +msgstr "Fandt ikke nogen komponent som matcher '%s'." + +#: tools/ascli-actions-mdata.c:206 +msgid "No value for the item to search for was defined." +msgstr "Der blev ikke defineret nogen værdi af elementet til at søge efter." + +#: tools/ascli-actions-mdata.c:212 +msgid "Invalid type for provided item selected. Valid values are:" +msgstr "Ugyldig type valgt for angivne element. Gyldige værdier er:" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:410 -msgid "This 'bundle' tag has an unknown type and can not be used." -msgstr "'bundle'-tagget har en ukendt type og kan ikke bruges." +#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results +#: tools/ascli-actions-mdata.c:227 +#, c-format +msgid "Could not find component providing '%s::%s'." +msgstr "Kan ikke finde komponent som leverer '%s::%s'." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:404 -msgid "This 'launchable' tag has an unknown type and can not be used." -msgstr "'launchable'-tagget har en ukendt type og kan ikke bruges." +#: tools/ascli-actions-mdata.c:306 +msgid "You need to specify a metadata file." +msgstr "Du skal angive en metadatafil." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:515 -msgid "" -"This 'localization' component does not define any languages this " -"localization is for." -msgstr "" -"'localization'-komponenten definerer ikke nogen sprog som lokaliseringen er " -"til." +#: tools/ascli-actions-mdata.c:320 +#, c-format +msgid "Unable to install metadata file: %s" +msgstr "Kan ikke installere metadata-fil: %s" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:509 -msgid "" -"This 'localization' component is missing an 'extends' tag, to specify the " -"components it adds localization to." -msgstr "" -"'localization'-komponenten mangler et 'extends'-tag til at angive " -"komponenterne den tilføjer lokalisering til." +#: tools/ascli-actions-mdata.c:340 +msgid "You need to specify an input and output file." +msgstr "Du skal angive en input- og outputfil." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:521 -msgid "" -"This 'service' component is missing a 'launchable' tag of type 'service'." -msgstr "'service'-komponenten mangler et 'launchable'-tag af typen 'service'." +#: tools/ascli-actions-mdata.c:347 +#, c-format +msgid "Metadata file '%s' does not exist." +msgstr "Metadatafilen '%s' findes ikke." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:473 +#. TRANSLATORS: User is trying to convert a file in ascli +#: tools/ascli-actions-mdata.c:387 msgid "" -"This 'web-application' component is missing a 'icon' tag to specify a valid " -"icon." +"Unable to convert file: Could not determine output format, please set it " +"explicitly using '--format='." msgstr "" -"'web-application'-komponenten mangler et 'icon'-tag til at angive et gyldigt " -"ikon." +"Kan ikke konvertere fil: Kunne ikke bestemme outputformat, indstil den " +"venligst eksplicit med '--format='." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:467 -msgid "" -"This 'web-application' component is missing a 'launchable' tag of type 'url'." -msgstr "" -"'web-application'-komponenten mangler et 'launchable'-tag af typen 'url'." +#: tools/ascli-actions-mdata.c:438 +#, c-format +msgid "Unable to find operating system component '%s'!" +msgstr "Kan ikke finde styresystemets komponent '%s'!" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:479 -msgid "" -"This 'web-application' component is missing categorizations. A 'categories' " -"block is likely missing." -msgstr "" -"'web-application'-komponenten mangler kategoriseringer. Der mangler " -"sandsynligvis en 'categories'-blok." +#: tools/ascli-actions-mdata.c:443 +msgid "Version" +msgstr "Version" -#: src/as-validator-issue-tag.h:564 +#: tools/ascli-actions-mdata.c:467 msgid "" -"This XML document has an unknown root tag. Maybe this file is not a metainfo " -"document?" +"You need to give an AppStream software component type to generate a " +"template. Possible values are:" msgstr "" -"XML-dokumentet har et ukendt rod-tag. Måske er filen ikke et metainfo-" -"dokument?" +"Du skal angive en AppStream-softwarekomponenttype for at generere en " +"skabelon. Mulige værdier er:" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand -#: tools/appstream-cli.c:680 +#: tools/ascli-actions-mdata.c:469 +#, c-format msgid "" -"This command takes optional TYPE and FILE positional arguments, FILE being a " -"file to write to (or \"-\" for standard output)." +"The software component type '%s' is not valid in AppStream. Possible values " +"are:" msgstr "" -"Kommandoen tager de valgfrie TYPE- og FILE-positionelle argumenter, FILE er " -"en fil som der skal skrives til (eller \"-\" for standardoutput)." +"Softwarekomponenttypen '%s' er ikke gyldig i AppStream. Mulige værdier er:" -#: src/as-validator-issue-tag.h:622 -msgid "" -"This component extends, provides, requires or recommends itself, which is " -"certainly not intended and may confuse users or machines dealing with this " -"metadata." -msgstr "" -"Komponenten udvidder, leverer, kræver eller anbefaler sig selv, hvilket " -"bestemt ikke er hensigten og kan forvirre de brugere eller maskiner som " -"bruger metadataene." +#: tools/ascli-actions-mdata.c:487 +#, c-format +msgid "The .desktop file '%s' does not exist." +msgstr ".desktop-filen '%s' findes ikke." -#: src/as-validator-issue-tag.h:579 -msgid "This component metadata refers to a non-existing .desktop file." -msgstr "Komponentens metadata henviser til en ikkeeksisterende .desktop-fil." +#: tools/ascli-actions-mdata.c:493 +#, c-format +msgid "Unable to read the .desktop file: %s" +msgstr "Kan ikke læse .desktop-filen: %s" -#: src/as-validator-issue-tag.h:69 -msgid "" -"This description paragraph contains invalid markup. Currently, only " -"and are permitted." -msgstr "" -"Beskrivelsesafsnittet indeholder ugyldig opmærkning. På nuværende tidspunkt " -"er det kun og som er tilladt." +#: tools/ascli-actions-mdata.c:564 +#, c-format +msgid "Unable to build the template metainfo file: %s" +msgstr "Kan ikke bygge skabelonens metainfofil: %s" -#: src/as-validator-issue-tag.h:57 -msgid "" -"This element (paragraph, list, etc.) of a tag must not be " -"localized individually in collection metadata. Localize the whole " -" tag instead. The AppStream collection metadata generator (e." -"g. `appstream-generator`) will already do the right thing when compiling the " -"data." -msgstr "" -"Elementet (afsnit, liste osv.) af et -tag skal ikke " -"lokaliseres hver for sig i samlingens metadata. Lokaliser i stedet hele " -"-tagget. AppStream-samlingens metadatagenerator (f.eks. " -"`appstream-generator`) gør det allerede det rette når dataene kompileres." +#: tools/ascli-actions-mdata.c:572 +#, c-format +msgid "Unable to save the template metainfo file: %s" +msgstr "Kan ikke gemme skabelonens metainfofil: %s" -#: src/as-validator-issue-tag.h:455 -msgid "" -"This generic component is missing a long description. It may be useful to " -"add one." -msgstr "" -"Den generiske komponent mangler en lang beskrivelse. Det kan være nyttigt at " -"tilføje en." +#. TRANSLATORS: In the status report of ascli: Header +#: tools/ascli-actions-misc.c:47 +msgid "AppStream Status:" +msgstr "AppStream-status:" -#: src/as-validator-issue-tag.h:421 -msgid "" -"This tag is a GNOME-specific extension to AppStream and not part of the " -"official specification. Do not expect it to work in all implementations and " -"in all software centers." -msgstr "" -"Tagget er en GNOME-specifik udvidelse til AppStream og ikke del af den " -"officielle specifikation. Forvent ikke at det virker i alle implementeringer " -"og i alle softwarecentre." +#: tools/ascli-actions-misc.c:48 +#, c-format +msgid "Version: %s" +msgstr "Version: %s" -#: src/as-validator-issue-tag.h:41 -msgid "This tag requires a type property." -msgstr "Tagget kræver en type-egenskab." +#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions +#: tools/ascli-actions-misc.c:52 +msgid "Distribution metadata:" +msgstr "Distributionsmetadata:" -#: data/org.freedesktop.appstream.cli.metainfo.xml:15 -msgid "" -"This tool allows for reading, writing, validating and transformation of " -"AppStream XML or YAML metadata. It also gives access to the system metadata " -"pool, for example to query for software that provides a specific MIME-type, " -"and installing it by its software component identifier." -msgstr "" -"Værktøjet gør det muligt at læse, skrive, validere og transformere AppStream " -"XML- eller YAML-metadata. Det giver også adgang til systemets " -"metadatasamling, f.eks. til at forespørge software der bruger en bestemt " -"MIME-type og installere den med dens softwarekomponent-identifikator." +#: tools/ascli-actions-misc.c:94 +msgid "Iconsets" +msgstr "Ikonsæt" -#: src/as-validator-issue-tag.h:388 -msgid "" -"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." -msgstr "" -"Weblinket bruger FTP-protokollen. Overvej at skifte til HTTP(S) i stedet." +#: tools/ascli-actions-misc.c:105 +msgid "No icons." +msgstr "Ingen ikoner." -#: tools/appstream-cli.c:648 -msgid "" -"Too many parameters: Need two version numbers or version numbers and a " -"comparison operator." -msgstr "" -"For mange parametre: Der er brug for to versionsnumre eller versionsnumre og " -"en sammenligningsoperator." +#. TRANSLATORS: No metainfo files have been found +#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 +msgid "Empty." +msgstr "Tom." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:461 -msgid "" -"Type 'console-application' component, but no information about binaries in " -"$PATH was provided via a 'provides/binary' tag." -msgstr "" -"Typen er 'console-application'-komponent men der blev ikke angivet nogen " -"information om binære i $PATH via et 'provides/binary'-tag." +#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report +#: tools/ascli-actions-misc.c:116 +msgid "Metainfo files:" +msgstr "Metainfofiler:" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:491 -msgid "" -"Type 'driver' component, but no modalias information was provided via a " -"provides/modalias tag." -msgstr "" -"Typen er 'driver'-komponent men der blev ikke angivet nogen information om " -"modalias via et provides/modalias-tag." +#: tools/ascli-actions-misc.c:123 +#, c-format +msgid "Found %i components." +msgstr "Fandt %i komponenter." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:485 -msgid "" -"Type 'font' component, but no font information was provided via a 'provides/" -"font' tag." -msgstr "" -"Typen er 'font'-komponent men der blev ikke angivet nogen information om " -"skrifttype via et 'provides/font'-tag." +#. TRANSLATORS: Found metainfo files in legacy directories +#: tools/ascli-actions-misc.c:138 +#, c-format +msgid "Found %i components in legacy paths." +msgstr "Fandt %i komponenter i udgåede stier." -#: src/as-validator.c:333 -msgid "URL format is invalid." -msgstr "URL-formatet er ugyldigt." +#. TRANSLATORS: Status summary in ascli +#: tools/ascli-actions-misc.c:145 +msgid "Summary:" +msgstr "Opsummering:" -#: tools/ascli-actions-mdata.c:544 +#: tools/ascli-actions-misc.c:153 #, c-format -msgid "Unable to build the template metainfo file: %s" -msgstr "Kan ikke bygge skabelonens metainfofil: %s" +msgid "We have information on %i software components." +msgstr "Vi har information om %i softwarekomponenter." -#. TRANSLATORS: User is trying to convert a file in ascli -#: tools/ascli-actions-mdata.c:400 +#: tools/ascli-actions-misc.c:159 +#, c-format +msgid "Error while loading the metadata pool: %s" +msgstr "Fejl ved indlæsning af metadatasamingen: %s" + +#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 +msgid "You need to specify a metainfo file as input." +msgstr "Du skal angive en metadatafil som input." + +#: tools/ascli-actions-misc.c:188 msgid "" -"Unable to convert file: Could not determine output format, please set it " -"explicitly using '--format='." +"You need to specify a desktop-entry file to create or augment as output." msgstr "" -"Kan ikke konvertere fil: Kunne ikke bestemme outputformat, indstil den " -"venligst eksplicit med '--format='." +"Du skal angive en desktop-entry-fil som skal oprettes for eller output skal " +"tilføjes til." -#. TRANSLATORS: We failed to find any component in the database, likely due to an error -#: tools/ascli-actions-mdata.c:177 +#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 +#: tools/ascli-actions-misc.c:515 #, c-format -msgid "Unable to find component matching %s!" -msgstr "Kan ikke finde komponent som matcher %s!" +msgid "Metainfo file '%s' does not exist." +msgstr "Metainfofilen '%s' findes ikke." -#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:266 -#: tools/ascli-actions-pkgmgr.c:93 +#: tools/ascli-actions-misc.c:219 #, c-format -msgid "Unable to find component with ID '%s'!" -msgstr "Kan ikke finde komponent med id'et '%s'!" +msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." +msgstr "Tilføjer til eksisterende desktop-entry-fil '%s' med data fra '%s'." #: tools/ascli-actions-misc.c:224 #, c-format msgid "Unable to load existing desktop-entry file template: %s" msgstr "Kan ikke indlæse eksisterende desktop-entry-filskabelon: %s" -#: src/as-validator-issue-tag.h:356 -msgid "Unable to reach remote icon at the given web location - does it exist?" -msgstr "Kan ikke hente fjernikon på den givne webplacering - findes den?" - -#: src/as-validator-issue-tag.h:378 -msgid "" -"Unable to reach remote location that this URL references - does it exist?" -msgstr "Kan ikke hente fjernplacering som URL'en henviser til - findes den?" - -#: src/as-validator-issue-tag.h:179 -msgid "" -"Unable to reach the screenshot image on its remote location - does the image " -"exist?" -msgstr "" -"Kan ikke hente skærmbilledets billede på dets fjernplacering - findes " -"billedet?" - -#: src/as-validator-issue-tag.h:184 -msgid "" -"Unable to reach the screenshot video on its remote location - does the video " -"file exist?" -msgstr "" -"Kan ikke hente skærmbilledets video på dets fjernplacering - findes " -"videofilen?" - -#: src/as-validator-issue-tag.h:542 -msgid "Unable to read file." -msgstr "Kan ikke læse filen." - -#: src/as-validator-issue-tag.h:574 -msgid "Unable to read the .desktop file associated with this component." -msgstr "Kan ikke læse .desktop-filen som er tilknyttet komponenten." +#: tools/ascli-actions-misc.c:228 +#, c-format +msgid "Creating new desktop-entry file '%s' using data from '%s'" +msgstr "Opretter ny desktop-entry-fil '%s' med data fra '%s'" -#: tools/ascli-actions-mdata.c:473 -#, c-format -msgid "Unable to read the .desktop file: %s" -msgstr "Kan ikke læse .desktop-filen: %s" +#: tools/ascli-actions-misc.c:284 +msgid "No stock icon name was provided in the metainfo file. Can not continue." +msgstr "" +"Intet stock-ikonnavn blev angivet i metainfo-filen. Kan ikke fortsætte." -#: src/as-pool.c:606 -msgid "Unable to remove old cache." -msgstr "Kan ikke fjerne gammelt mellemlager." +#: tools/ascli-actions-misc.c:306 +msgid "" +"No provided binary specified in metainfo file, and no exec command specified " +"via '--exec'. Can not create 'Exec=' key." +msgstr "" +"Ingen leveret binær angivet i metainfo-fil og ingen exec-kommando angivet " +"via '--exec'. Kan ikke oprette 'Exec='-nøgle." #: tools/ascli-actions-misc.c:370 #, c-format msgid "Unable to save desktop entry file: %s" msgstr "Kan ikke gemme desktop entry-filen: %s" -#: tools/ascli-actions-mdata.c:552 -#, c-format -msgid "Unable to save the template metainfo file: %s" -msgstr "Kan ikke gemme skabelonens metainfofil: %s" +#: tools/ascli-actions-misc.c:393 +msgid "You need to specify a NEWS file as input." +msgstr "Du skal angive en NEWS-fil som input." + +#: tools/ascli-actions-misc.c:397 +msgid "" +"You need to specify a metainfo file to augment, or '-' to print to stdout." +msgstr "" +"Du skal angive en metadatafil som der skal tilføjes til eller '-' for at " +"udskrive til stdout." + +#: tools/ascli-actions-misc.c:402 +msgid "No output filename specified, modifying metainfo file directly." +msgstr "Intet outputfilnavn angivet. Redigerer metainfo-fil direkte." + +#: tools/ascli-actions-misc.c:509 +msgid "You need to specify a NEWS file as output, or '-' to print to stdout." +msgstr "" +"Du skal angive en NEWS-fil som output eller '-' for at udskrive til stdout." + +#: tools/ascli-actions-misc.c:540 +msgid "You need to specify a NEWS format to write the output in." +msgstr "Du skal angive et NEWS-format som outputtet skal skrives i." + +#: tools/ascli-actions-pkgmgr.c:53 +msgid "" +"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" +"\" (part of PackageKit) is available." +msgstr "" +"Fandt ikke noget egnet CLI til pakkehåndtering. Sørg venligst for at f.eks. " +"\"pkcon\" (del af PackageKit) er tilgængelig." #: tools/ascli-actions-pkgmgr.c:67 #, c-format msgid "Unable to spawn package manager: %s" msgstr "Kan ikke starte pakkehåndtering: %s" -#: tools/ascli-actions-mdata.c:322 +#. TRANSLATORS: We found no distribution package or bundle to install to make this software available +#: tools/ascli-actions-pkgmgr.c:106 #, c-format -msgid "Unable to write to '%s', can not install metainfo file." -msgstr "Kan ikke skrive til '%s', kan ikke installere metainfofil." +msgid "Component '%s' has no installation candidate." +msgstr "Komponenten '%s' har ikke nogen installationskandidaten." -#. TRANSLATORS: ascli has been run with unknown command. -#: tools/appstream-cli.c:1009 +#: tools/ascli-actions-validate.c:176 tools/ascli-actions-validate.c:354 #, c-format -msgid "Unknown command '%s'." -msgstr "Ukendt kommando '%s'." +msgid "File '%s' does not exist." +msgstr "Filen '%s' findes ikke." -#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. -#: tools/appstream-cli.c:608 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "error"-type hints +#: tools/ascli-actions-validate.c:228 #, c-format -msgid "Unknown compare relation '%s'. Valid values are:" -msgstr "Ukendt sammenligningsrelation '%s'. Gyldige værdier er:" - -#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) -#: tools/appstream-cli.c:675 -msgid "" -"Use the given .desktop file to fill in the basic values of the metainfo file." -msgstr "" -"Brug den givne .desktop-fil til at udfylde de grundlæggende værdier i " -"metainfofilen." - -#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) -#: tools/appstream-cli.c:725 -msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." -msgstr "Brug den angivne linje til 'Exec='-nøglen i desktop-entry-filen." - -#. TRANSLATORS: this is the menu spec main category for Utilities -#: src/as-category.c:329 -msgid "Utilities" -msgstr "Redskaber" +msgid "errors: %lu" +msgstr "fejl: %lu" -#: tools/appstream-cli.c:856 -msgid "Validate AppStream XML files for issues." -msgstr "Valider AppStream XML-filer for problemer." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "warning"-type hints +#: tools/ascli-actions-validate.c:235 +#, c-format +msgid "warnings: %lu" +msgstr "advarsler: %lu" -#: tools/appstream-cli.c:857 -msgid "Validate an installed file-tree of an application for valid metadata." -msgstr "Valider et programs installeret filtræ for gyldig metadata." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "info"-type hints +#: tools/ascli-actions-validate.c:242 +#, c-format +msgid "infos: %lu" +msgstr "infoer: %lu" -#: tools/ascli-actions-validate.c:301 tools/ascli-actions-validate.c:442 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "pedantic"-type hints +#: tools/ascli-actions-validate.c:249 #, c-format -msgid "Validation failed: %s" -msgstr "Validering mislykkedes: %s" +msgid "pedantic: %lu" +msgstr "pedantisk: %lu" + +#: tools/ascli-actions-validate.c:268 tools/ascli-actions-validate.c:342 +msgid "You need to specify at least one file to validate!" +msgstr "Du skal angive mindst én fil som skal valideres!" -#: tools/ascli-actions-validate.c:289 tools/ascli-actions-validate.c:430 +#: tools/ascli-actions-validate.c:294 tools/ascli-actions-validate.c:435 msgid "Validation was successful." msgstr "Validering lykkedes." -#: tools/ascli-actions-validate.c:291 tools/ascli-actions-validate.c:432 +#: tools/ascli-actions-validate.c:296 tools/ascli-actions-validate.c:437 #, c-format msgid "Validation was successful: %s" msgstr "Validering lykkedes: %s" -#: tools/appstream-cli.c:851 -msgid "Value of the item that should be found." -msgstr "Værdien af elementet som skal findes." - -#: src/as-category.c:177 -msgctxt "Category of Graphics" -msgid "Vector Graphics" -msgstr "Vektorgrafik" - -#: tools/ascli-actions-misc.c:48 +#: tools/ascli-actions-validate.c:306 tools/ascli-actions-validate.c:447 #, c-format -msgid "Version: %s" -msgstr "Version: %s" - -#: src/as-category.c:180 -msgctxt "Category of Graphics" -msgid "Viewers" -msgstr "Fremvisere" +msgid "Validation failed: %s" +msgstr "Validering mislykkedes: %s" -#: tools/ascli-actions-misc.c:153 +#: tools/ascli-actions-validate.c:368 tools/ascli-actions-validate.c:497 #, c-format -msgid "We have information on %i software components." -msgstr "Vi har information om %i softwarekomponenter." - -#: src/as-category.c:270 -msgctxt "Category of Communication" -msgid "Web Browsers" -msgstr "Webbrowsere" - -#: src/as-category.c:202 -msgctxt "Category of Office" -msgid "Word Processor" -msgstr "Tekstbehandler" - -#: tools/appstream-cli.c:871 -msgid "Write NEWS text or YAML file with information from a metainfo file." -msgstr "Skriv NEWS-tekst eller YAML-fil med information fra en metainfo-fil." - -#: tools/appstream-cli.c:874 msgid "" -"You can find information about subcommand-specific options by passing \"--" -"help\" to the subcommand." +"The validator can not create reports in the '%s' format. You may select " +"'yaml' or 'text' instead." msgstr "" -"Du kan finde information om tilvalg som gælder til en bestemt " -"underkommandoen ved at videregive \"--help\" til underkommandoen." +"Validatoren kan ikke oprette rapporter i '%s'-formatet. Du kan i stedet " +"vælge 'yaml' eller 'text'." -#. TRANSLATORS: In ascli: The requested action needs higher permissions. -#: tools/ascli-actions-mdata.c:70 -msgid "You might need superuser permissions to perform this action." -msgstr "" -"Du skal muligvis have superbruger-tilladelser for at udføre handlingen." +#: tools/ascli-actions-validate.c:390 tools/ascli-actions-validate.c:484 +msgid "You need to specify a root directory to start validation!" +msgstr "Du skal angive en bestemt rodmappe for at starte valideringen!" -#: tools/ascli-actions-mdata.c:447 -msgid "" -"You need to give an AppStream software component type to generate a " -"template. Possible values are:" -msgstr "" -"Du skal angive en AppStream-softwarekomponenttype for at generere en " -"skabelon. Mulige værdier er:" +#: tools/ascli-utils.c:266 +msgid "Identifier" +msgstr "Identifikator" -#: tools/appstream-cli.c:579 -msgid "" -"You need to provide at least two version numbers to compare as parameters." -msgstr "" -"Du skal angive mindst to versionsnumre for at sammenligne som parametre." +#: tools/ascli-utils.c:268 +msgid "Internal ID" +msgstr "Internt id" -#: tools/ascli-actions-misc.c:393 -msgid "You need to specify a NEWS file as input." -msgstr "Du skal angive en NEWS-fil som input." +#: tools/ascli-utils.c:269 +msgid "Name" +msgstr "Navn" -#: tools/ascli-actions-misc.c:509 -msgid "You need to specify a NEWS file as output, or '-' to print to stdout." -msgstr "" -"Du skal angive en NEWS-fil som output eller '-' for at udskrive til stdout." +#: tools/ascli-utils.c:270 +msgid "Summary" +msgstr "Opsummering" -#: tools/ascli-actions-misc.c:540 -msgid "You need to specify a NEWS format to write the output in." -msgstr "Du skal angive et NEWS-format som outputtet skal skrives i." +#: tools/ascli-utils.c:271 +msgid "Package" +msgstr "Pakke" -#. TRANSLATORS: ascli has been run without command. -#: tools/appstream-cli.c:925 -msgid "You need to specify a command." -msgstr "Du skal angive en kommando." +#: tools/ascli-utils.c:272 +msgid "Bundle" +msgstr "Samling" -#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments -#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. -#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:254 -#: tools/ascli-actions-pkgmgr.c:80 -msgid "You need to specify a component-ID." -msgstr "Du skal angive et komponent-id." +#: tools/ascli-utils.c:273 +msgid "Homepage" +msgstr "Hjemmeside" -#: tools/ascli-actions-misc.c:188 -msgid "" -"You need to specify a desktop-entry file to create or augment as output." -msgstr "" -"Du skal angive en desktop-entry-fil som skal oprettes for eller output skal " -"tilføjes til." +#: tools/ascli-utils.c:274 +msgid "Icon" +msgstr "Ikon" -#: tools/ascli-actions-mdata.c:309 -msgid "You need to specify a metadata file." -msgstr "Du skal angive en metadatafil." +#. developer name +#: tools/ascli-utils.c:294 +msgid "Developer" +msgstr "Udvikler" -#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 -msgid "You need to specify a metainfo file as input." -msgstr "Du skal angive en metadatafil som input." +#: tools/ascli-utils.c:300 +msgid "Extends" +msgstr "Udvider" -#: tools/ascli-actions-misc.c:397 -msgid "" -"You need to specify a metainfo file to augment, or '-' to print to stdout." -msgstr "" -"Du skal angive en metadatafil som der skal tilføjes til eller '-' for at " -"udskrive til stdout." +#: tools/ascli-utils.c:306 +msgid "Description" +msgstr "Beskrivelse" -#: tools/ascli-actions-validate.c:385 tools/ascli-actions-validate.c:479 -msgid "You need to specify a root directory to start validation!" -msgstr "Du skal angive en bestemt rodmappe for at starte valideringen!" +#: tools/ascli-utils.c:326 +msgid "Default Screenshot URL" +msgstr "URL for standardskærmbillede" -#: tools/ascli-actions-mdata.c:164 -msgid "You need to specify a term to search for." -msgstr "Du skal angive en søgeterm." +#. project group +#: tools/ascli-utils.c:333 +msgid "Project Group" +msgstr "Projektgruppe" -#: tools/ascli-actions-mdata.c:357 -msgid "You need to specify an input and output file." -msgstr "Du skal angive en input- og outputfil." +#. license +#: tools/ascli-utils.c:336 +msgid "License" +msgstr "Licens" -#: tools/ascli-actions-validate.c:263 tools/ascli-actions-validate.c:337 -msgid "You need to specify at least one file to validate!" -msgstr "Du skal angive mindst én fil som skal valideres!" +#: tools/ascli-utils.c:342 +msgid "Categories" +msgstr "Kategorier" -#. TRANSLATORS: List of "grey-listed" words sperated with ";" -#. * Do not translate this list directly. Instead, -#. * provide a list of words in your language that people are likely -#. * to include in a search but that should normally be ignored in -#. * the search. -#. -#: src/as-pool.c:107 -msgid "app;application;package;program;programme;suite;tool" -msgstr "app;applikation;pakke;program;programpakke;værktøj;redskab" +#: tools/ascli-utils.c:350 +msgid "Compulsory for" +msgstr "Obligatorisk for" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:223 -#, c-format -msgid "errors: %lu" -msgstr "fejl: %lu" +#: tools/ascli-utils.c:378 +msgid "Provided Items" +msgstr "Angivne elementer" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:237 #, c-format -msgid "infos: %lu" -msgstr "infoer: %lu" +#~ msgid "Unable to open new cache file: %s" +#~ msgstr "Kan ikke åbne ny mellemlagerfil: %s" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:244 -#, c-format -msgid "pedantic: %lu" -msgstr "pedantisk: %lu" +#~ msgid "" +#~ "AppStream is a cross-distribution specification to provide metadata about " +#~ "software components." +#~ msgstr "" +#~ "AppStream er en specifikation på tværs af distributioner, som leverer " +#~ "metadata om softwarekomponenter." -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:230 #, c-format -msgid "warnings: %lu" -msgstr "advarsler: %lu" - -#~ msgid "Command '%s' is unknown." -#~ msgstr "Kommandoen »%s« er ukendt." +#~ msgid "Unable to write to '%s', can not install metainfo file." +#~ msgstr "Kan ikke skrive til '%s', kan ikke installere metainfofil." -#~ msgid "AppStream cache update failed." -#~ msgstr "AppStreams mellemlageropdatering mislykkedes." - -#, fuzzy -#~ msgid "Category of Games" -#~ msgstr "Kategorier" - -#, fuzzy -#~ msgid "Category of Office" -#~ msgstr "Kategorier" +#, c-format +#~ msgid "" +#~ "Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " +#~ "suffix." +#~ msgstr "" +#~ "Kan ikke kopiere '%s': filen har ikke et '.metainfo.xml'- eller '.appdata." +#~ "xml'-suffiks." -#, fuzzy -#~ msgid "Category of Science" -#~ msgstr "Kategorier" +#~ msgid "An item type (e.g. lib, bin, python3, …)" +#~ msgstr "En elementtype (f.eks. lib, bin, python3 …)" -#~ msgid "File %s not found or permission denied!" -#~ msgstr "Filen %s blev ikke fundet eller tilladelse nægtet!" +#~ msgid "Get components which provide the given item." +#~ msgstr "Hent komponenter som leverer det givne element." -#, fuzzy -#~ msgid "No component providing '%s::%s' found." -#~ msgstr "Ingen komponent der matcher »%s« blev fundet." +#, c-format +#~ msgid "Unknown command '%s'." +#~ msgstr "Ukendt kommando '%s'." -#~ msgid "XDG Menu XML file '%s' is damaged." -#~ msgstr "XDG Menu XML-file »%s« er ødelagt." +#~ msgid "Value of the item that should be found." +#~ msgstr "Værdien af elementet som skal findes." diff -Nru appstream-0.12.10/po/de.po appstream-0.14.5/po/de.po --- appstream-0.12.10/po/de.po 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/po/de.po 2021-08-28 20:15:28.000000000 +0000 @@ -1,10 +1,11 @@ +# #-#-#-#-# de.po (AppStream) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Matthias Klumpp # This file is distributed under the same license as the appstream package. # Translators: # Ettore Atalan , 2014-2016, 2020. # Mario Blättermann , 2016 -# Matthias Klumpp , 2014 +# Matthias Klumpp , 2014, 2021. # Andreas Kleinert , 2019. # Katerina Katapodi , 2019. # angryBird120 , 2019. @@ -12,15 +13,37 @@ # James Bond , 2019. # SapuSeven , 2019. # Brayan Aguilar , 2019. -# Florian Kothmeier , 2019. +# Florian Kothmeier , 2019, 2020. # JBB , 2019. +# frauhottelmann , 2020. +# iLocIT! , 2020. +# Sven G. , 2020. +# Allan Nordhøy , 2020. +# Mani Dragneel , 2020. +# Antonios Hazim , 2020. +# #-#-#-#-# de.po (appstream-glib) #-#-#-#-# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Ettore Atalan , 2014-2016 +# Mario Blättermann , 2016. #zanata +# Richard Hughes , 2016. #zanata +# Tobias Weise , 2019. #zanata +# Christian K , 2020. +# Tim Fraedrich , 2020. +# mv87 , 2020. +# Coruna , 2020. +# Johannes Keyser , 2020, 2021. +# J. Lavoie , 2020. +# +# Translators: msgid "" msgstr "" -"Project-Id-Version: AppStream\n" +"Project-Id-Version: appstream-glib\n" "Report-Msgid-Bugs-To: appstream@lists.freedesktop.org\n" -"POT-Creation-Date: 2020-01-14 01:44+0100\n" -"PO-Revision-Date: 2020-01-06 06:21+0000\n" -"Last-Translator: Ettore Atalan \n" +"POT-Creation-Date: 2021-08-28 16:09+0200\n" +"PO-Revision-Date: 2021-05-23 04:32+0000\n" +"Last-Translator: Johannes Keyser \n" "Language-Team: German \n" "Language: de\n" @@ -28,1537 +51,2433 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 3.10\n" - -#: tools/appstream-cli.c:157 -#, c-format -msgid "'%s' command" -msgstr "Befehl „%s”" - -#: src/as-category.c:168 -msgctxt "Category of Graphics" -msgid "3D Graphics" -msgstr "3D-Grafik" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:254 -#, fuzzy -msgid "" -"A 'requires' or 'recommends' item requires a value to denote a valid " -"relation." -msgstr "" -"Ein 'erfordert' oder 'empfehlt' benötigt einen Wert, um ein gültiges " -"Verhältnis darzustellen." - -#: src/as-validator-issue-tag.h:51 -#, fuzzy -msgid "" -"A tag must not be localized in metainfo files (upstream " -"metadata). Localize the individual paragraphs instead." -msgstr "" -"Ein Tag darf nicht in Metadaten-Dateien (Metadaten Upstream) " -"lokalisiert werden. Lokalisieren Sie stattdessen die Paragraphe einzeln." - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:195 -msgid "" -"A screenshot must contain at least one image or video in order to be useful. " -"Please add an to it." -msgstr "" -"Ein Screenshot muss wenigstens ein Bild oder Video enthalten, um nützlich zu " -"sein. Bitte ein hinzufügen." - -#: src/as-validator-issue-tag.h:200 -msgid "" -"A screenshot must contain either images or videos, but not both at the same " -"time. Please use this screenshot exclusively for either static images or for " -"videos." -msgstr "" -"Ein Screenshot muss entweder Bilder oder Videos enthalten, aber nicht beide " -"gleichzeitig. Bitte verwenden Sie den Screenshot nur für entweder Bilder " -"oder Videos." - -#: src/as-category.c:123 -msgctxt "Category of Games" -msgid "Action" -msgstr "Aktion" - -#. TRANSLATORS: this is the main category for Add-ons -#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor -#: src/as-category.c:320 tools/ascli-utils.c:398 -msgid "Add-ons" -msgstr "Erweiterungen" - -#: src/as-category.c:126 -msgctxt "Category of Games" -msgid "Adventure" -msgstr "Abenteuer" - -#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) -#: tools/appstream-cli.c:116 -msgid "Also show pedantic hints." -msgstr "Auch kleinste Hinweise anzeigen." - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:497 -msgid "" -"An 'extends' tag is specified, but the component is not of type 'addon', " -"'localization' or 'repository'." -msgstr "" -"Ein Tag 'verbreitet' wird bestimmt, aber das Komponent davon kein Teil von " -"'Addon', 'Lokalisierung' oder 'Repository' Typ ist." - -#: tools/appstream-cli.c:850 -msgid "An item type (e.g. lib, bin, python3, …)" -msgstr "Ein Elementtyp (z. B. lib, bin, python3, …)" - -#: data/org.freedesktop.appstream.cli.metainfo.xml:9 -msgid "An utility to work with AppStream metadata" -msgstr "Ein Dienstprogramm zum Arbeiten mit AppStream-Metadaten" +"X-Generator: Weblate 4.7-dev\n" #: data/org.freedesktop.appstream.cli.metainfo.xml:8 msgid "AppStream CLI" msgstr "AppStream-CLI" -#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. -#: tools/appstream-cli.c:947 -#, c-format -msgid "" -"AppStream CLI tool version: %s\n" -"AppStream library version: %s" -msgstr "" -"AppStream-CLI-Werkzeugversion: %s\n" -"AppStream-Bibliothekenversion: %s" - -#. TRANSLATORS: In the status report of ascli: Header -#: tools/ascli-actions-misc.c:47 -msgid "AppStream Status:" -msgstr "AppStream-Status:" - -#. we performed a cache refresh -#. TRANSLATORS: Updating the metadata cache succeeded -#: tools/ascli-actions-mdata.c:80 -msgid "AppStream cache update completed successfully." -msgstr "AppStream-Zwischenspeicher wurde erfolgreich vervollständigt." - -#. cache wasn't updated, so the update wasn't necessary -#: tools/ascli-actions-mdata.c:86 -msgid "AppStream cache update is not necessary." -msgstr "" -"Zwischenspeicher wurde nicht aktualisiert, so dass die Aktualisierung nicht " -"notwendig war." - -#. TRANSLATORS: This is the header to the --help menu for subcommands -#. TRANSLATORS: This is the header to the --help menu -#: tools/appstream-cli.c:154 tools/appstream-cli.c:843 -msgid "AppStream command-line interface" -msgstr "AppStream-Befehlszeilenoberfläche" - -#: src/as-validator-issue-tag.h:63 -msgid "" -"AppStream descriptions support only a limited set of tags to format text: " -"Paragraphs (

                                                                ) and lists (

                                                                  ,
                                                                    ). This description markup contains " -"an invalid XML tag that would not be rendered correctly in applications " -"supporting the metainfo specification." -msgstr "" -"Die Beschreibungen von AppStream unterstutzen nur ein begrenztes Set vonTags " -"des Textformats: Die Paragrafen

                                                                    und Listen

                                                                      ,
                                                                        . Diese Note " -"von Beschreibung enthaelt ein ungueltiges XML Tag , das in keinen " -"Anwendungen, von Bestimmungen von MetaInfo erwaehnt sein soll." +#: data/org.freedesktop.appstream.cli.metainfo.xml:9 +msgid "An utility to work with AppStream metadata" +msgstr "Ein Dienstprogramm zum Arbeiten mit AppStream-Metadaten" #: data/org.freedesktop.appstream.cli.metainfo.xml:12 msgid "" -"AppStream is a cross-distribution specification to provide metadata about " -"software components." -msgstr "" -"AppStream ist eine distributionsübergreifende Spezifikation zur " -"Bereitstellung von Metadaten über Softwarekomponenten." +"AppStream is a metadata specification which permits software components to " +"provide information about themselves to automated systems and end-users " +"before the software is actually installed. The AppStream project provides " +"facilities to easily access and transform this metadata, as well as a few " +"additional services for building feature-rich software centers and similar " +"applications that make use of software metadata." +msgstr "" +"AppStream ist eine Metadatenspezifikation, die es Softwarekomponenten " +"ermöglicht, automatisierten Systemen und Endnutzern Informationen über sich " +"selbst zur Verfügung zu stellen, bevor die Software tatsächlich installiert " +"wird. Das AppStream-Projekt bietet Möglichkeiten, auf diese Metadaten " +"einfach zuzugreifen und sie umzuwandeln, sowie einige zusätzliche Dienste " +"für die Erstellung funktionsreicher Softwarezentren und ähnlicher " +"Anwendungen, die Software-Metadaten nutzen." + +#: data/org.freedesktop.appstream.cli.metainfo.xml:18 +msgid "" +"The appstreamcli command-line tool allows to read, write, and " +"transform AppStream XML or YAML metadata as well as to validate it for " +"compliance with the specification. It also provides easy access to the " +"system metadata pool, for example to query for software that provides a " +"specific Mediatype handler or for installing software by its component " +"identifier." +msgstr "" +"Das Kommandozeilen-Werkzeug appstreamcli ermöglicht das Lesen, " +"Schreiben und Umwandeln von AppStream XML- oder YAML-Metadaten sowie deren " +"Validierung auf Übereinstimmung mit der Spezifikation. Es bietet außerdem " +"einen einfachen Zugriff auf den System-Metadaten-Pool, um z. B. nach " +"Software zu suchen, die einen bestimmten Mediatype-Handler bereitstellt, " +"oder um Software anhand ihres Komponenten-Identifikators zu installieren." -#: src/as-pool.c:1937 -#, c-format -msgid "" -"AppStream system cache refresh failed. Turn on verbose mode to get detailed " -"issue information." -msgstr "" -"AppStream-Zwischenspeicheraktualisierung fehlgeschlagen. Aktivieren Sie den " -"ausführlichen Modus, um detailliertere Fehlerinformationen zu erhalten." +#: src/as-category.c:66 +msgctxt "Category of AudioVideo" +msgid "Featured" +msgstr "Vorgestellt" -#. TRANSLATORS: Output if appstreamcli --version is executed. -#: tools/appstream-cli.c:944 -#, c-format -msgid "AppStream version: %s" -msgstr "AppStream-Version: %s" +#: src/as-category.c:69 +msgctxt "Category of AudioVideo" +msgid "Audio Creation & Editing" +msgstr "Audioerstellung und Bearbeitung" -#: src/as-category.c:129 -msgctxt "Category of Games" -msgid "Arcade" -msgstr "Arkade" +#: src/as-category.c:75 +msgctxt "Category of AudioVideo" +msgid "Music Players" +msgstr "Musikwiedergabe" -#: src/as-category.c:234 -msgctxt "Category of Science" -msgid "Artificial Intelligence" -msgstr "Künstliche Intelligenz" +#: src/as-category.c:84 +msgctxt "Category of Development" +msgid "Featured" +msgstr "Vorgestellt" -#: src/as-validator-issue-tag.h:91 -msgid "" -"As per AppStream specification, the mentioned tag must only appear once in " -"this context. Having multiple tags of this kind is not valid." -msgstr "" -"Nach Bestimmung von AppStream, das erwaehnte Tag muss nur einmal in diesem " -"Text erscheinen. Man muss nicht viele Tags von diesem Typ haben." +#: src/as-category.c:87 +msgctxt "Category of Development" +msgid "Debuggers" +msgstr "Fehlerdiagnose" -#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command -#: tools/appstream-cli.c:766 -msgid "Assume the input file is in the selected format ('yaml' or 'text')." -msgstr "Setze das angenommene Dateiformat ('yaml' oder 'text')." +#: src/as-category.c:90 +msgctxt "Category of Development" +msgid "IDEs" +msgstr "Entwicklungsumgebungen" -#: src/as-category.c:101 +#: src/as-category.c:99 msgctxt "Category of Education" -msgid "Astronomy" -msgstr "Astronomie" +msgid "Featured" +msgstr "Vorgestellt" -#: src/as-category.c:237 -msgctxt "Category of Science" +#: src/as-category.c:102 +msgctxt "Category of Education" msgid "Astronomy" msgstr "Astronomie" -#. TRANSLATORS: this is the menu spec main category for Audio & Video -#: src/as-category.c:302 -msgid "Audio & Video" -msgstr "Audio und Video" +#: src/as-category.c:105 +msgctxt "Category of Education" +msgid "Chemistry" +msgstr "Chemie" -#: src/as-category.c:68 -msgctxt "Category of AudioVideo" -msgid "Audio Creation & Editing" -msgstr "Audioerstellung und Bearbeitung" +#: src/as-category.c:108 +msgctxt "Category of Education" +msgid "Languages" +msgstr "Sprachen" -#: tools/ascli-actions-misc.c:219 -#, c-format -msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." -msgstr "" -"Vervollständige den existierenden Desktop-Eintrag '%s' mit Daten von '%s'." +#: src/as-category.c:112 +msgctxt "Category of Education" +msgid "Math" +msgstr "Mathematik" -#: src/as-provided.c:146 -msgid "Binaries" -msgstr "Binärdateien" +#: src/as-category.c:121 +msgctxt "Category of Games" +msgid "Featured" +msgstr "Vorgestellt" + +#: src/as-category.c:124 +msgctxt "Category of Games" +msgid "Action" +msgstr "Aktion" + +#: src/as-category.c:127 +msgctxt "Category of Games" +msgid "Adventure" +msgstr "Abenteuer" + +#: src/as-category.c:130 +msgctxt "Category of Games" +msgid "Arcade" +msgstr "Arkade" -#: src/as-category.c:132 +#: src/as-category.c:133 msgctxt "Category of Games" msgid "Blocks" msgstr "Blockspiele" -#: src/as-category.c:135 +#: src/as-category.c:136 msgctxt "Category of Games" msgid "Board" msgstr "Brettspiele" -#: tools/ascli-utils.c:299 -msgid "Bundle" -msgstr "Paket" +#: src/as-category.c:139 +msgctxt "Category of Games" +msgid "Card" +msgstr "Kartenspiele" -#: src/as-pool.c:1828 -#, c-format -msgid "Cache location '%s' is not writable." -msgstr "Zwischenspeicheradresse „%s” ist schreibgeschützt." +#: src/as-category.c:142 +msgctxt "Category of Games" +msgid "Emulators" +msgstr "Emulatoren" -#: src/as-category.c:191 -msgctxt "Category of Office" -msgid "Calendar" -msgstr "Kalender" +#: src/as-category.c:145 +msgctxt "Category of Games" +msgid "Kids" +msgstr "Kinder" -#: tools/ascli-actions-mdata.c:327 -#, c-format -msgid "" -"Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " -"suffix." -msgstr "" -"»%s« konnte nicht kopiert werden: Datei besitzt keine keine Dateiendung »." -"metainfo.xml«- oder ».appdata.xml«." +#: src/as-category.c:148 +msgctxt "Category of Games" +msgid "Logic" +msgstr "Logik" -#: src/as-category.c:138 +#: src/as-category.c:151 msgctxt "Category of Games" -msgid "Card" -msgstr "Kartenspiele" +msgid "Role Playing" +msgstr "Rollenspiele" -#: tools/ascli-utils.c:369 -msgid "Categories" -msgstr "Kategorien" +#: src/as-category.c:154 +msgctxt "Category of Games" +msgid "Sports" +msgstr "Sport" -#: src/as-category.c:259 -msgctxt "Category of Communication" -msgid "Chat" -msgstr "Textunterhaltung" +#: src/as-category.c:158 +msgctxt "Category of Games" +msgid "Strategy" +msgstr "Strategie" -#: src/as-category.c:104 -msgctxt "Category of Education" -msgid "Chemistry" -msgstr "Chemie" +#: src/as-category.c:166 +msgctxt "Category of Graphics" +msgid "Featured" +msgstr "Vorgestellt" -#: src/as-category.c:240 -msgctxt "Category of Science" -msgid "Chemistry" -msgstr "Chemie" +#: src/as-category.c:169 +msgctxt "Category of Graphics" +msgid "3D Graphics" +msgstr "3D-Grafik" -#: src/as-category.c:214 -msgctxt "Category of Addons" -msgid "Codecs" -msgstr "Codecs" +#: src/as-category.c:172 +msgctxt "Category of Graphics" +msgid "Photography" +msgstr "Fotografie" -#. TRANSLATORS: this is the menu spec main category for Communication -#: src/as-category.c:326 -msgid "Communication & News" -msgstr "Kommunikation und Nachrichten" +#: src/as-category.c:175 +msgctxt "Category of Graphics" +msgid "Scanning" +msgstr "Scannen" -#: tools/appstream-cli.c:866 -msgid "Compare two version numbers." -msgstr "Zwei Versionsnummern vergleichen." +#: src/as-category.c:178 +msgctxt "Category of Graphics" +msgid "Vector Graphics" +msgstr "Vektorgrafik" -#: src/as-provided.c:166 -msgid "Component" -msgstr "Komponente" +#: src/as-category.c:181 +msgctxt "Category of Graphics" +msgid "Viewers" +msgstr "Betrachter" -#. TRANSLATORS: We found no distribution package or bundle to install to make this software available -#: tools/ascli-actions-pkgmgr.c:106 -#, c-format -msgid "Component '%s' has no installation candidate." -msgstr "Die Komponente »%s« besitzt keinen Installationskandidaten." +#: src/as-category.c:189 +msgctxt "Category of Office" +msgid "Featured" +msgstr "Vorgestellt" -#: tools/ascli-utils.c:377 -msgid "Compulsory for" -msgstr "Verpflichtend für" +#: src/as-category.c:192 +msgctxt "Category of Office" +msgid "Calendar" +msgstr "Kalender" -#: src/as-validator-issue-tag.h:361 -msgid "Consider using a secure (HTTPS) URL for the remote icon link." -msgstr "" -"Erwägen Sie eine sichere (HTTPS)-Adresse für diese Verknüpfung zu einem " -"entlegenen Symbol." +#: src/as-category.c:196 +msgctxt "Category of Office" +msgid "Database" +msgstr "Datenbank" -#: src/as-validator-issue-tag.h:383 -msgid "Consider using a secure (HTTPS) URL for this web link." -msgstr "" -"Erwägen Sie eine sichere (HTTPS)-Adresse für diese Internet-Verknüpfung zu " -"verwenden." +#: src/as-category.c:199 +msgctxt "Category of Office" +msgid "Finance" +msgstr "Finanzen" -#: src/as-validator-issue-tag.h:189 -msgid "" -"Consider using a secure (HTTPS) URL to reference this screenshot image or " -"video." -msgstr "" -"Erwägen Sie eine sichere (HTTPS)-Adresse zu verwenden, um auf dieses " -"Bildschirmfoto zu verweisen." +#: src/as-category.c:203 +msgctxt "Category of Office" +msgid "Word Processor" +msgstr "Textverarbeitung" -#: tools/appstream-cli.c:870 -#, fuzzy -msgid "Convert a YAML or text NEWS file into metainfo releases." -msgstr "" -"Übersetze ein NEWS file im YAML oder text format in das Metainfo Release " -"format." +#: src/as-category.c:212 +msgctxt "Category of Addons" +msgid "Fonts" +msgstr "Schriftarten" -#. TRANSLATORS: "convert" command in ascli. "Collection XML" is a term describing a specific type of AppStream XML data. -#: tools/appstream-cli.c:865 -msgid "Convert collection XML to YAML or vice versa." -msgstr "Konvertiert XML-Sammlungen nach YAML und umgekehrt." +#: src/as-category.c:215 +msgctxt "Category of Addons" +msgid "Codecs" +msgstr "Codecs" -#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results -#: tools/ascli-actions-mdata.c:228 -#, c-format -msgid "Could not find component providing '%s::%s'." -msgstr "Es konnte keine Komponente gefunden werden, die »%s;%s« bereitstellt." +#: src/as-category.c:218 +msgctxt "Category of Addons" +msgid "Input Sources" +msgstr "Eingabequellen" -#: tools/appstream-cli.c:869 -msgid "Create a XDG desktop-entry file from a metainfo file." -msgstr "Erzeuge einen XDG Desktop-Eintrag aus einer Metainfo-Datei." +#: src/as-category.c:221 +msgctxt "Category of Addons" +msgid "Language Packs" +msgstr "Sprachpakete" -#: tools/appstream-cli.c:868 -msgid "" -"Create a template for a metainfo file (to be filled out by the upstream " -"project)." -msgstr "" -"Erstellen Sie eine Vorlage für eine Metainfo-Datei (die vom vorgelagerten " -"Projekt auszufüllen ist)." +#: src/as-category.c:224 +msgctxt "Category of Addons" +msgid "Localization" +msgstr "Lokalisierung" -#: tools/ascli-actions-misc.c:228 -#, c-format -msgid "Creating new desktop-entry file '%s' using data from '%s'" -msgstr "Erzeuge neuen Desktop-Eintrag '%s' aus Daten von '%s'" +#: src/as-category.c:232 +msgctxt "Category of Science" +msgid "Featured" +msgstr "Vorgestellt" -#: src/as-provided.c:160 -msgid "D-Bus Session Services" -msgstr "DBus-Sitzungsdienste" +#: src/as-category.c:235 +msgctxt "Category of Science" +msgid "Artificial Intelligence" +msgstr "Künstliche Intelligenz" -#: src/as-provided.c:158 -msgid "D-Bus System Services" -msgstr "DBus-Systemdienste" +#: src/as-category.c:238 +msgctxt "Category of Science" +msgid "Astronomy" +msgstr "Astronomie" -#: src/as-category.c:195 -msgctxt "Category of Office" -msgid "Database" -msgstr "Datenbank" +#: src/as-category.c:241 +msgctxt "Category of Science" +msgid "Chemistry" +msgstr "Chemie" -#: src/as-category.c:86 -msgctxt "Category of Development" -msgid "Debuggers" -msgstr "Fehlerdiagnose" +#: src/as-category.c:244 +msgctxt "Category of Science" +msgid "Math" +msgstr "Mathematik" -#: tools/ascli-utils.c:353 -msgid "Default Screenshot URL" -msgstr "Standardadresse für Bildschirmfotos" +#: src/as-category.c:249 +msgctxt "Category of Science" +msgid "Robotics" +msgstr "Robotik" -#. TRANSLATORS: ascli flag description for: --format -#: tools/appstream-cli.c:83 -msgid "Default metadata format (valid values are 'xml' and 'yaml')." -msgstr "Standard-Metadatenformat (gültige Werte sind „XML” und „YAML”)." +#: src/as-category.c:257 +msgctxt "Category of Communication" +msgid "Featured" +msgstr "Vorgestellt" -#: tools/ascli-utils.c:333 -msgid "Description" -msgstr "Beschreibung" +#: src/as-category.c:260 +msgctxt "Category of Communication" +msgid "Chat" +msgstr "Textunterhaltung" -#. developer name -#: tools/ascli-utils.c:321 -msgid "Developer" -msgstr "Entwickler" +#: src/as-category.c:267 +msgctxt "Category of Communication" +msgid "News" +msgstr "Nachrichten" -#. TRANSLATORS: this is the menu spec main category for Development -#: src/as-category.c:305 -msgid "Developer Tools" -msgstr "Entwicklerwerkzeuge" +#: src/as-category.c:271 +msgctxt "Category of Communication" +msgid "Web Browsers" +msgstr "Internet-Browser" -#: tools/appstream-cli.c:862 -msgid "Display status information about available AppStream metadata." -msgstr "Statusinformationen über verfügbare AppStream-Metadaten anzeigen." +#: src/as-category.c:279 +msgctxt "Category of Utility" +msgid "Featured" +msgstr "Vorgestellt" -#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions -#: tools/ascli-actions-misc.c:52 -msgid "Distribution metadata:" -msgstr "Distributions-Metadaten:" +#: src/as-category.c:282 +msgctxt "Category of Utility" +msgid "Text Editors" +msgstr "Textbearbeitung" -#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) -#: tools/appstream-cli.c:126 -msgid "Do not use network access." -msgstr "Keinen Netzwerkzugriff verwenden." +#: src/as-category.c:285 +msgctxt "Category of Utility" +msgid "Terminal Emulators" +msgstr "Terminal-Emulatoren" -#. TRANSLATORS: ascli flag description for: --no-color -#: tools/appstream-cli.c:908 -msgid "Don't show colored output." -msgstr "Keine farbige Ausgabe anzeigen." +#: src/as-category.c:288 +msgctxt "Category of Utility" +msgid "File System" +msgstr "Dateisystem" -#: tools/appstream-cli.c:853 -msgid "Dump raw XML metadata for a component matching the ID." -msgstr "Roh-XML-Metadaten für eine zur Kennung passende Komponente ausgeben." +#: src/as-category.c:291 +msgctxt "Category of Utility" +msgid "System Monitoring" +msgstr "Systemüberwachung" + +#: src/as-category.c:294 +msgctxt "Category of Utility" +msgid "Security" +msgstr "Sicherheit" + +#. TRANSLATORS: this is the menu spec main category for Audio & Video +#: src/as-category.c:303 +msgid "Audio & Video" +msgstr "Audio und Video" + +#. TRANSLATORS: this is the menu spec main category for Development +#: src/as-category.c:306 +msgid "Developer Tools" +msgstr "Entwicklerwerkzeuge" #. TRANSLATORS: this is the menu spec main category for Education -#: src/as-category.c:308 +#: src/as-category.c:309 msgid "Education" msgstr "Bildung" -#. TRANSLATORS: No metainfo files have been found -#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 -msgid "Empty." -msgstr "Leer." +#. TRANSLATORS: this is the menu spec main category for Game +#: src/as-category.c:312 +msgid "Games" +msgstr "Spiele" -#: src/as-category.c:141 -msgctxt "Category of Games" -msgid "Emulators" -msgstr "Emulatoren" +#. TRANSLATORS: this is the menu spec main category for Graphics +#: src/as-category.c:315 +msgid "Graphics & Photography" +msgstr "Grafik und Fotografie" -#. TRANSLATORS: ascli flag description for: --force -#: tools/appstream-cli.c:245 -msgid "Enforce a cache refresh." -msgstr "Aktualisierung des Zwischenspeichers erzwingen." +#. TRANSLATORS: this is the menu spec main category for Office +#: src/as-category.c:318 +msgid "Office" +msgstr "Büro" -#: src/as-validator-issue-tag.h:74 -msgid "Enumerations must only have list items (
                                                                      1. ) as children." +#. TRANSLATORS: this is the main category for Add-ons +#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor +#: src/as-category.c:321 tools/ascli-utils.c:371 +msgid "Add-ons" +msgstr "Erweiterungen" + +#. TRANSLATORS: this is the menu spec main category for Science +#: src/as-category.c:324 +msgid "Science" +msgstr "Wissenschaft" + +#. TRANSLATORS: this is the menu spec main category for Communication +#: src/as-category.c:327 +msgid "Communication & News" +msgstr "Kommunikation und Nachrichten" + +#. TRANSLATORS: this is the menu spec main category for Utilities +#: src/as-category.c:330 +msgid "Utilities" +msgstr "Hilfsprogramme" + +#. TRANSLATORS: This is the formatting of English and localized name +#. * of the rating e.g. "Adults Only (solo adultos)" +#: src/as-content-rating.c:298 +#, c-format +msgid "%s (%s)" +msgstr "%s (%s)" + +#: src/as-content-rating.c:444 +msgid "General" +msgstr "Allgemein" + +#: src/as-content-rating.c:453 +msgid "ALL" +msgstr "ALLE" + +#: src/as-content-rating.c:457 src/as-content-rating.c:560 +msgid "Adults Only" +msgstr "Nur Erwachsene" + +#: src/as-content-rating.c:459 src/as-content-rating.c:559 +msgid "Mature" +msgstr "Erwachsen" + +#: src/as-content-rating.c:461 src/as-content-rating.c:558 +msgid "Teen" +msgstr "Jugendliche" + +#: src/as-content-rating.c:463 src/as-content-rating.c:557 +msgid "Everyone 10+" +msgstr "Alle ab 10 Jahren" + +#: src/as-content-rating.c:465 src/as-content-rating.c:556 +msgid "Everyone" +msgstr "Alle" + +#: src/as-content-rating.c:467 src/as-content-rating.c:555 +msgid "Early Childhood" +msgstr "Frühe Kindheit" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:839 +msgid "No cartoon violence" +msgstr "Keine Gewalt in Cartoons" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:841 +msgid "Cartoon characters in unsafe situations" +msgstr "Animationsfiguren in unsicheren Situationen" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:843 +msgid "Cartoon characters in aggressive conflict" +msgstr "Animationsfiguren in aggressivem Konflikt" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:845 +msgid "Graphic violence involving cartoon characters" +msgstr "Grafische Gewaltdarstellung durch Animationsfiguren" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:850 +msgid "No fantasy violence" +msgstr "Keine Gewalt in Fantasy" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:852 +msgid "Characters in unsafe situations easily distinguishable from reality" +msgstr "" +"Figuren in unsicheren Situationen, die einfach von der Realität zu " +"unterscheiden sind" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:854 +msgid "Characters in aggressive conflict easily distinguishable from reality" +msgstr "" +"Figuren in aggressiven Konflikten, die einfach von der Realität zu " +"unterscheiden sind" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:856 +msgid "Graphic violence easily distinguishable from reality" +msgstr "Graphische Gewalt, die realitätsfremd ist" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:861 +msgid "No realistic violence" +msgstr "Keine realistische Gewalt" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:863 +msgid "Mildly realistic characters in unsafe situations" +msgstr "Harmlose realistische Figuren in unsicheren Situationen" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:865 +msgid "Depictions of realistic characters in aggressive conflict" +msgstr "" +"Darstellung von realistischen Charakteren, die im aggressiven Konflikt " +"zueinander stehen" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:867 +msgid "Graphic violence involving realistic characters" +msgstr "Graphische Gewalt von realistischen Charakteren" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:872 +msgid "No bloodshed" +msgstr "Kein Blutvergießen" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:874 +msgid "Unrealistic bloodshed" +msgstr "Unrealistisches Blutvergießen" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:876 +msgid "Realistic bloodshed" +msgstr "Realistisches Blutvergießen" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:878 +msgid "Depictions of bloodshed and the mutilation of body parts" +msgstr "Darstellung von Blutvergießen und Verstümmeln von Körperteilen" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:883 +msgid "No sexual violence" +msgstr "Keine sexuelle Gewalt" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:885 +msgid "Rape or other violent sexual behavior" +msgstr "Vergewaltigung oder andere gewaltsame Sexualhandlungen" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:892 +msgid "No references to alcohol" +msgstr "Keine Erwähnung alkoholischer Getränke" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:894 +msgid "References to alcoholic beverages" +msgstr "Bezug auf alkoholische Getränke" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:896 +msgid "Use of alcoholic beverages" +msgstr "Genuss von alkoholischen Getränken" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:902 +msgid "No references to illicit drugs" +msgstr "Keine Erwähnung unerlaubter Drogen/Medikamente" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:904 +msgid "References to illicit drugs" +msgstr "Erwähnung unerlaubter Drogen/Medikamente" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:906 +msgid "Use of illicit drugs" +msgstr "Konsum von unerlaubten Drogen/Medikamenten" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:912 +msgid "No references to tobacco products" +msgstr "Keine Erwähnung von Tabakprodukten" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:914 +msgid "References to tobacco products" +msgstr "Bezug auf Tabakprodukte" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:916 +msgid "Use of tobacco products" +msgstr "Genuss von Tabakprodukten" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:922 +msgid "No nudity of any sort" +msgstr "Keine Nacktszenen irgendeiner Form" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:924 +msgid "Brief artistic nudity" +msgstr "Kurzzeitige, künstlerische Darbietung von Nacktszenen" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:926 +msgid "Prolonged nudity" +msgstr "Ausgiebige Nacktszenen" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:932 +msgid "No references to or depictions of sexual nature" +msgstr "Keine Anspielungen oder Darstellungen sexueller Natur" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:934 +msgid "Provocative references or depictions" +msgstr "Provokative Anspielungen oder Darstellungen" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:936 +msgid "Sexual references or depictions" +msgstr "Sexuelle Anspielungen oder Darstellungen" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:938 +msgid "Graphic sexual behavior" +msgstr "Graphische Sexualhandlungen" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:943 +msgid "No profanity of any kind" +msgstr "Keine Obszönität irgendeiner Art" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:945 +msgid "Mild or infrequent use of profanity" +msgstr "Geringe oder seltene Obszönität" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:947 +msgid "Moderate use of profanity" +msgstr "Gemäßigte Obszönität" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:949 +msgid "Strong or frequent use of profanity" +msgstr "Starke oder häufige Obszönität" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:954 +msgid "No inappropriate humor" +msgstr "Kein unangemessener Humor" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:956 +msgid "Slapstick humor" +msgstr "Slapstick-Humor" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:958 +msgid "Vulgar or bathroom humor" +msgstr "Vulgärer oder Kneipenstammtischhumor" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:960 +msgid "Mature or sexual humor" +msgstr "Nicht jugendfreier oder sexueller Humor" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:965 +msgid "No discriminatory language of any kind" +msgstr "Keine diskriminierende Sprache irgendeiner Art" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:967 +msgid "Negativity towards a specific group of people" +msgstr "Abwertende Äußerungen gegenüber spezifischen Gruppierungen" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:969 +msgid "Discrimination designed to cause emotional harm" +msgstr "Diskriminierung mit dem Ziel der emotionellen Kränkung" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:971 +msgid "Explicit discrimination based on gender, sexuality, race or religion" +msgstr "" +"Explizite Diskriminierung von Geschlecht, Sexualität, Rasse oder Religion" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:976 +msgid "No advertising of any kind" +msgstr "Keine Werbung irgendeiner Art" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:978 +msgid "Product placement" +msgstr "Produktplatzierung" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:980 +msgid "Explicit references to specific brands or trademarked products" +msgstr "Explizite Anspielungen auf bestimmte Marken oder Handelsprodukte" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:982 +msgid "Users are encouraged to purchase specific real-world items" +msgstr "Benutzer werden ermuntert, bestimmte reale Objekte zu erwerben" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:987 +msgid "No gambling of any kind" +msgstr "Kein Glücksspiel irgendeiner Art" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:989 +msgid "Gambling on random events using tokens or credits" +msgstr "Glücksspiele mit Jetons oder Guthaben" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:991 +msgid "Gambling using “play” money" +msgstr "Glücksspiel mit Spielgeld" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:993 +msgid "Gambling using real money" +msgstr "Glücksspiel mit echtem Geld" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:998 +msgid "No ability to spend money" +msgstr "Keine Möglichkeit, reales Geld auszugeben" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1000 +msgid "Users are encouraged to donate real money" +msgstr "Benutzer werden ermuntert, echtes Geld zu spenden" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1003 +msgid "Ability to spend real money in-app" +msgstr "Möglichkeit, reales Geld in Anwendungen auszugeben" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1008 +msgid "No way to chat with other users" +msgstr "Keine Möglichkeit zum Chat mit anderen Benutzern" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1010 +msgid "User-to-user interactions without chat functionality" +msgstr "Zwei-Teilnehmer-Interaktionen ohne Chat-Funktion" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1012 +msgid "Moderated chat functionality between users" +msgstr "Moderierte Chat-Funktion zwischen Benutzern" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1014 +msgid "Uncontrolled chat functionality between users" +msgstr "Nicht kontrollierte Chat-Funktion zwischen Benutzern" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1019 +msgid "No way to talk with other users" +msgstr "Keine Möglichkeit zum Gespräch mit anderen Benutzern" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1021 +msgid "Uncontrolled audio or video chat functionality between users" +msgstr "Nicht kontrollierte Audio- oder Video-Chat-Funktion zwischen Benutzern" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1028 +msgid "No sharing of social network usernames or email addresses" +msgstr "" +"Kein Teilen von Benutzernamen in sozialen Netzwerken oder E-Mail-Adressen" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1030 +msgid "Sharing social network usernames or email addresses" +msgstr "Teilen von Benutzernamen in sozialen Netzwerken oder E-Mail-Adressen" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1037 +msgid "No sharing of user information with third parties" +msgstr "Kein Teilen von Benutzerinformationen mit Dritten" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1039 +msgid "Checking for the latest application version" +msgstr "Suchen nach der neuesten Anwendungsversion" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1041 +msgid "Sharing diagnostic data that does not let others identify the user" +msgstr "" +"Teilen von Diagnosedaten, die eine Identifizierung des Benutzers durch " +"andere nicht ermöglichen" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1043 +msgid "Sharing information that lets others identify the user" +msgstr "" +"Teilen von Informationen, die eine Identifizierung des Benutzers durch " +"andere ermöglichen" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1048 +msgid "No sharing of physical location with other users" +msgstr "Kein Teilen des physischen Aufenthaltsortes mit anderen Benutzern" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1050 +msgid "Sharing physical location with other users" +msgstr "Teilen des physischen Aufenthaltsortes mit anderen Benutzern" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1073 +msgid "No references to homosexuality" +msgstr "Keine Erwähnung von Homosexualität" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1075 +msgid "Indirect references to homosexuality" +msgstr "Indirekte Erwähnung von Homosexualität" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1077 +msgid "Kissing between people of the same gender" +msgstr "Küssen von Personen desselben Geschlechts" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1079 +msgid "Graphic sexual behavior between people of the same gender" +msgstr "Grafisches Sexualverhalten von Personen desselben Geschlechts" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1084 +msgid "No references to prostitution" +msgstr "Keine Erwähnung von Prostitution" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1086 +msgid "Indirect references to prostitution" +msgstr "Indirekte Erwähnung von Prostitution" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1088 +msgid "Direct references to prostitution" +msgstr "Direkte Erwähnung von Prostitution" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1090 +msgid "Graphic depictions of the act of prostitution" +msgstr "Grafische Darstellungen des Akts der Prostitution" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1095 +msgid "No references to adultery" +msgstr "Keine Erwähnung von Ehebruch" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1097 +msgid "Indirect references to adultery" +msgstr "Indirekte Erwähnung von Ehebruch" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1099 +msgid "Direct references to adultery" +msgstr "Direkte Erwähnung von Ehebruch" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1101 +msgid "Graphic depictions of the act of adultery" +msgstr "Grafische Darstellungen des Akts des Ehebruchs" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1106 +msgid "No sexualized characters" +msgstr "Keine sexualisierten Charaktere" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1109 +msgid "Scantily clad human characters" +msgstr "Leicht bekleidete menschliche Charaktere" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1111 +msgid "Overtly sexualized human characters" +msgstr "Offen sexualisierte menschliche Charaktere" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1116 +msgid "No references to desecration" +msgstr "Keine Erwähnung von Schändung" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1118 +msgid "Depictions of or references to historical desecration" +msgstr "Darstellungen oder Erwähnungen von historischer Schändung" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1120 +msgid "Depictions of modern-day human desecration" +msgstr "Darstellungen von moderner menschlicher Schändung" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1122 +msgid "Graphic depictions of modern-day desecration" +msgstr "Grafische Darstellungen von moderner Schändung" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1127 +msgid "No visible dead human remains" +msgstr "Keine sichtbaren menschlichen Überreste" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1129 +msgid "Visible dead human remains" +msgstr "Sichtbare menschliche Überreste" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1131 +msgid "Dead human remains that are exposed to the elements" +msgstr "Menschliche Überreste, die der Natur ausgesetzt sind" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1133 +msgid "Graphic depictions of desecration of human bodies" +msgstr "Grafische Darstellungen von Schändung menschlicher Körper" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1138 +msgid "No references to slavery" +msgstr "Keine Erwähnung von Sklaverei" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1140 +msgid "Depictions of or references to historical slavery" +msgstr "Darstellungen oder Erwähnungen von historischer Sklaverei" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1142 +msgid "Depictions of modern-day slavery" +msgstr "Darstellungen von moderner Sklaverei" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1144 +msgid "Graphic depictions of modern-day slavery" +msgstr "Grafische Darstellungen von moderner Sklaverei" + +#. TRANSLATORS: We got a 429 error while trying to download data +#: src/as-curl.c:134 +#, c-format +msgid "Failed to download due to server limit" +msgstr "Download fehlgeschlagen wegen Serverlimit" + +#: src/as-curl.c:141 src/as-curl.c:148 +#, c-format +msgid "Failed to download file: %s" +msgstr "Herunterladen von Datei fehlgeschlagen: %s" + +#. TRANSLATORS: We tried to download an URL, but received a 404 error code +#: src/as-curl.c:157 +#, c-format +msgid "URL was not found on the server." +msgstr "URL nicht auf dem Server gefunden." + +#. TRANSLATORS: We received an uexpected HTTP status code while talking to a server, likely an error +#: src/as-curl.c:164 +#, c-format +msgid "Unexpected status code: %ld" +msgstr "Unerwarteter Status-Code: %ld" + +#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty +#: src/as-curl.c:247 +#, c-format +msgid "Retrieved file size was zero." +msgstr "Die abgerufene Dateigröße war Null." + +#. TRANSLATORS: List of "grey-listed" words sperated with ";" +#. * Do not translate this list directly. Instead, +#. * provide a list of words in your language that people are likely +#. * to include in a search but that should normally be ignored in +#. * the search. +#. +#: src/as-pool.c:111 +msgid "app;application;package;program;programme;suite;tool" +msgstr "app;anwendung;paket;programm;programme;suite;werkzeug" + +#: src/as-pool.c:620 +msgid "Unable to remove old cache." +msgstr "Leeren des Zwischenspeichers fehlgeschlagen." + +#: src/as-pool.c:963 +msgid "Metadata files have errors:" +msgstr "Metadaten-Dateien haben Fehler:" + +#: src/as-pool.c:1370 +msgid "" +"Many components have been recognized as invalid. See debug output for " +"details." msgstr "" -"Die Bestimmung von Nummern muessen nur Themen von List {
                                                                      2. ) wie Kinder " -"haben." +"Viele Komponenten wurden als ungültig erkannt. Für Details, siehe Fehler-" +"Logbuch." -#: tools/ascli-actions-misc.c:159 +#: src/as-pool.c:1996 #, c-format -msgid "Error while loading the metadata pool: %s" -msgstr "Fehler beim Laden das Metadatenpools: %s" +msgid "Cache location '%s' is not writable." +msgstr "Zwischenspeicheradresse »%s« ist schreibgeschützt." -#: tools/ascli-utils.c:327 -msgid "Extends" -msgstr "Erweitert" +#: src/as-pool.c:2109 +msgid "" +"The AppStream system cache was updated, but some components were ignored. " +"Refer to the verbose log for more information." +msgstr "" +"Der AppStream-Systemzwischenspeicher wurde aktualisiert, aber einige " +"Komponenten wurden ignoriert. Weitere Informationen finden Sie im " +"ausführlichen Protokoll." -#: src/as-category.c:65 -msgctxt "Category of AudioVideo" -msgid "Featured" -msgstr "Vorgestellt" +#: src/as-pool.c:2111 +#, c-format +msgid "" +"The AppStream system cache was updated, but problems were found which " +"resulted in metadata being ignored: %s" +msgstr "" +"Der AppStream-Systemzwischenspeicher wurde aktualisiert, aber es wurden " +"Probleme gefunden, die dazu führten, dass die Metadaten ignoriert wurden: %s" -#: src/as-category.c:256 -msgctxt "Category of Communication" -msgid "Featured" -msgstr "Vorgestellt" +#: src/as-pool.c:2125 +#, c-format +msgid "" +"AppStream system cache refresh failed. Turn on verbose mode to get detailed " +"issue information." +msgstr "" +"AppStream-Zwischenspeicheraktualisierung fehlgeschlagen. Aktivieren Sie den " +"ausführlichen Modus, um detailliertere Fehlerinformationen zu erhalten." -#: src/as-category.c:83 -msgctxt "Category of Development" -msgid "Featured" -msgstr "Vorgestellt" +#: src/as-provided.c:144 +msgid "Libraries" +msgstr "Bibliotheken" -#: src/as-category.c:98 -msgctxt "Category of Education" -msgid "Featured" -msgstr "Vorgestellt" +#: src/as-provided.c:146 +msgid "Binaries" +msgstr "Binärdateien" -#: src/as-category.c:120 -msgctxt "Category of Games" -msgid "Featured" -msgstr "Vorgestellt" +#: src/as-provided.c:148 +msgid "Media types" +msgstr "MIME-Typen" -#: src/as-category.c:165 -msgctxt "Category of Graphics" -msgid "Featured" -msgstr "Vorgestellt" +#: src/as-provided.c:150 +msgid "Fonts" +msgstr "Schriftarten" -#: src/as-category.c:188 -msgctxt "Category of Office" -msgid "Featured" -msgstr "Vorgestellt" +#: src/as-provided.c:152 +msgid "Modaliases" +msgstr "Mod-Aliasse" -#: src/as-category.c:231 -msgctxt "Category of Science" -msgid "Featured" -msgstr "Vorgestellt" +#: src/as-provided.c:154 +msgid "Python (Version 2)" +msgstr "Python (Version 2)" -#: src/as-category.c:278 -msgctxt "Category of Utility" -msgid "Featured" -msgstr "Vorgestellt" +#: src/as-provided.c:156 +msgid "Python 3" +msgstr "Python 3" -#: tools/ascli-actions-validate.c:171 tools/ascli-actions-validate.c:349 -#, c-format -msgid "File '%s' does not exist." -msgstr "Datei »%s« existiert nicht." +#: src/as-provided.c:158 +msgid "D-Bus System Services" +msgstr "DBus-Systemdienste" -#: src/as-category.c:287 -msgctxt "Category of Utility" -msgid "File System" -msgstr "Dateisystem" +#: src/as-provided.c:160 +msgid "D-Bus Session Services" +msgstr "DBus-Sitzungsdienste" -#: src/as-category.c:198 -msgctxt "Category of Office" -msgid "Finance" -msgstr "Finanzen" +#: src/as-provided.c:162 +msgid "Runtime Firmware" +msgstr "Laufzeit-Firmware" #: src/as-provided.c:164 msgid "Flashed Firmware" msgstr "Aufgespielte Firmware" -#: src/as-provided.c:150 -msgid "Fonts" -msgstr "Schriftarten" +#: src/as-provided.c:166 +msgid "Component" +msgstr "Komponente" -#: src/as-category.c:211 -msgctxt "Category of Addons" -msgid "Fonts" -msgstr "Schriftarten" +#: src/as-validator-issue-tag.h:41 +msgid "This tag requires a type property." +msgstr "Dieses Tag erfordert eine type-Eigenschaft." -#: src/as-validator-issue-tag.h:237 -msgid "" -"For videos, only the WebM and Matroska (.mkv) container formats are " -"currently supported. The file extension of the referenced video does not " -"belong to either of these formats." -msgstr "" -"Fuer Video,nur WebM und Matroska (.mkv) Formaten von Container sind jetzt " -"gebraucht. Die Ausstreckung von Datein des referierten Video gehoert keinem " -"Format dieser beide." +#: src/as-validator-issue-tag.h:46 +msgid "Tags of this name are not permitted in this section." +msgstr "Schlagwörter mit diesem Namen sind in diesem Bereich nicht zugelassen." -#. TRANSLATORS: ascli flag description for: --format when validating XML files -#: tools/appstream-cli.c:131 -msgid "Format of the generated report (valid values are 'text' and 'yaml')." +#: src/as-validator-issue-tag.h:51 +msgid "" +"A tag must not be localized in metainfo files (upstream " +"metadata). Localize the individual paragraphs instead." msgstr "" -"Format des generierten Berichts (gültige Werte sind „text” und „yaml”)." - -#. TRANSLATORS: Found metainfo files in legacy directories -#: tools/ascli-actions-misc.c:138 -#, c-format -msgid "Found %i components in legacy paths." -msgstr "%i Komponenten in veralteten Pfaden gefunden." +"Ein Tag darf nicht in Metadaten-Dateien (Upstream Metadaten) " +"lokalisiert werden. Lokalisieren Sie stattdessen die Absätze einzeln." -#: tools/ascli-actions-misc.c:123 -#, c-format -msgid "Found %i components." -msgstr "%i Komponenten gefunden." +#: src/as-validator-issue-tag.h:57 +msgid "" +"This element (paragraph, list, etc.) of a tag must not be " +"localized individually in collection metadata. Localize the whole " +" tag instead. The AppStream collection metadata generator (e." +"g. `appstream-generator`) will already do the right thing when compiling the " +"data." +msgstr "" +"Dieses Element (Absatz, Liste etc.) eines -Tags darf nicht " +"eigens übersetzt werden. Übersetze stattdessen das gesamte -" +"Tag. Der Metadatengenerator (z.B. `appstream-generator`) der AppStream-" +"Sammlung wid schon das richtige tun, wenn er die Daten zusammenstellt." -#. TRANSLATORS: 'version' is an AppStream XML property. Please do not translate it. -#: src/as-validator-issue-tag.h:260 +#: src/as-validator-issue-tag.h:63 msgid "" -"Found 'version' property on required/recommended item of a type that should " -"not have or require a version." +"AppStream descriptions support only a limited set of tags to format text: " +"Paragraphs (

                                                                        ) and lists (

                                                                          ,
                                                                            ). This description markup contains " +"an invalid XML tag that would not be rendered correctly in applications " +"supporting the metainfo specification." msgstr "" -"'Version'Eigenschaft im erforderten/empfohlenen Thema einer Sortegefunden, " -"die keine solche Version haben oder benoetigen sollte.." +"Die Beschreibungen von AppStream unterstutzen nur ein begrenztes Set von " +"Tags des Textformats: Die Paragrafen

                                                                            und Listen

                                                                              ,
                                                                                . Diese " +"Note von Beschreibung enthaelt ein ungueltiges XML Tag , das in keinen " +"Anwendungen, von Bestimmungen von MetaInfo erwaehnt sein soll." -#. TRANSLATORS: 'version' and 'compare' are AppStream XML properties. Please do not translate them. -#: src/as-validator-issue-tag.h:266 +#: src/as-validator-issue-tag.h:69 msgid "" -"Found 'version' property on this required/recommended item, but not " -"'compare' property. It is recommended to explicitly define a comparison " -"operation." -msgstr "" -"Eine 'Version' Eigenschaft in diesem erforderten/empfohlenen Thema " -"gefunden , aber keine solche Eigenschaft von Vergleich . Es ist empfohlen " -"einen Vergleich dazu klar zu bestimmen" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:277 -msgid "" -"Found a memory size dependency in a 'requires' tag. This means users will " -"not be able to even install the component without having enough RAM. This is " -"usually not intended and you want to use 'memory' in the 'recommends' tag " -"instead." +"This description paragraph contains invalid markup. Currently, only " +"and are permitted." msgstr "" -"Eine abhaengige Datei von Speicherung in einem Tag 'erfordert' gefunden ist. " -"Das bedeutet dass die Benutzer kein Komponent dazu installieren werden " -"koennen, ohne genug RAM zu haben. Man will dies nicht im allgemeinen und man " -"will die 'Speicherung' eigentlichim Tag 'empfehlt' trotzdem gebrauchen." +"Dieser Beschreibungsabsatz enthält ungültiges Markup. Derzeit sind nur " +"und ." -#: src/as-validator-issue-tag.h:248 +#: src/as-validator-issue-tag.h:74 +msgid "Enumerations must only have list items (
                                                                              1. ) as children." +msgstr "Aufzählungen dürfen nur Listenelemente (
                                                                              2. ) als Kinder haben." + +#: src/as-validator-issue-tag.h:79 msgid "" -"Found an unknown tag in a requires/recommends group. This is likely an " -"error, because a component relation of this type is unknown." +"The first `description/p` paragraph of this component might be too short (< " +"80 characters). Please consider starting with a longer paragraph to improve " +"how the description looks like in software centers and to provide more " +"detailed information on this component immediately in the first paragraph." msgstr "" -"Ein unbekanntes Tag in einer Gruppe erfordert/empfehlt gefunden. Das ist " -"wohl ein Fehler, weil die Beziehung von solchem Komponent unbekannt ist." +"Der erste Absatz zur Beschreibung (`description/p`) ist möglicherweise zu " +"kurz (<80 Zeichen). Bitte fange nach Möglichkeit mit einem längeren Absatz " +"an; dies verbessert die Darstellung in Softwarecentern und bietet bereits im " +"ersten Absatz detailliertere Informationen über die Komponente." -#: src/as-validator-issue-tag.h:427 +#: src/as-validator-issue-tag.h:86 msgid "" -"Found invalid tag. Non-standard tags should be prefixed with 'x-'. AppStream " -"also provides the tag to add arbitrary custom data to metainfo " -"files. This tag is read by AppStream libraries and may be useful instead of " -"defining new custom toplevel or 'x-'-prefixed tags if you just want to add " -"custom data to a metainfo file." +"The description contains a web URL in plain text. This is not allowed, " +"please use the tag instead to share links." msgstr "" -"Ungueltiges Tag gefunden. Die nicht feste Tags muessen das Prefix 'x' haben. " -"Appstream vorhandet auch das Tag um freie Daten von " -"Personalisierung den Dateien MetaIfo vorzuhanden. Dies Tag wird in den " -"Bibliotheken AppSteam gelesen und nutzt auch wenn kein personalisiertes " -"Hochnivot oder 'x' Tags mit Prefix bestimmt sind. Falls Sie personalisierte " -"Daten einem File MetaInfo fuegen wollen." - -#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. -#: src/as-validator.c:526 src/as-validator.c:939 src/as-validator.c:1024 -#: src/as-validator.c:1237 -#, c-format -msgid "Found: %s - Allowed: %s" -msgstr "Gefunden: %s - Zugelassen: %s" - -#. TRANSLATORS: this is the menu spec main category for Game -#: src/as-category.c:311 -msgid "Games" -msgstr "Spiele" +"Die Beschreibung enthält im Rohtext eine Web-URL. Dies ist nicht erlaubt, " +"bitte nutzen Sie stattdessen den -Tag, um Links anzugeben." -#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command -#: tools/appstream-cli.c:814 -msgid "Generate the output in the selected format ('yaml' or 'text')." -msgstr "Generiere die Ausgabe im ausgewählten Format ('yaml' oder 'text')." - -#: tools/appstream-cli.c:849 -msgid "Get components which provide the given item." -msgstr "Komponenten ermitteln, die das angegebene Objekt bereitstellen." +#: src/as-validator-issue-tag.h:91 +msgid "" +"As per AppStream specification, the mentioned tag must only appear once in " +"this context. Having multiple tags of this kind is not valid." +msgstr "" +"Nach Bestimmung von AppStream, das erwaehnte Tag muss nur einmal in diesem " +"Text erscheinen. Man muss nicht viele Tags von diesem Typ haben." -#: tools/appstream-cli.c:848 -msgid "Get information about a component by its ID." -msgstr "Informationen zu einer Komponente anhand deren ID ermitteln." +#: src/as-validator-issue-tag.h:96 +msgid "" +"The mentioned tag is empty, which is highly likely not intended as it should " +"have content." +msgstr "" +"Das genannte Tag ist leer; dies ist höchstwahrscheinlich nicht so gewollt, " +"da es einen Inhalt haben sollte." -#. TRANSLATORS: this is the menu spec main category for Graphics -#: src/as-category.c:314 -msgid "Graphics & Photography" -msgstr "Grafik und Fotografie" +#: src/as-validator-issue-tag.h:101 +msgid "" +"The component ID is required to follow a reverse domain-name scheme for its " +"name. See the AppStream specification for details." +msgstr "" +"Die Komponenten-ID muss einem umgekehrten Domänennamenschema für ihren Namen " +"folgen. Weitere Informationen finden Sie in der AppStream-Spezifikation." -#: tools/ascli-utils.c:300 -msgid "Homepage" -msgstr "Homepage" +#: src/as-validator-issue-tag.h:106 +msgid "" +"The component ID is not a reverse domain-name. Please update the ID to avoid " +"future issues and be compatible with all AppStream implementations.\n" +"You may also consider to update the name of the accompanying .desktop file " +"to follow the latest version of the Desktop-Entry specification and use a " +"rDNS name for it as well. In any case, do not forget to mention the new " +"desktop-entry in a tag for this component to keep the " +"application launchable from software centers and the .desktop file data " +"associated with the metainfo data." +msgstr "" +"Die Komponenten-ID ist kein umgekehrter Domänenname. Bitte aktualisieren Sie " +"die ID, um zukünftige Probleme zu vermeiden und mit allen AppStream-" +"Implementierungen kompatibel zu sein.\n" +"Sie können auch in Erwägung ziehen, den Namen der zugehörigen . desktop-" +"Datei zu aktualisieren, um der neuesten Version der Desktop-Entry-" +"Spezifikation zu folgen und dafür ebenfalls einen rDNS-Namen zu verwenden. " +"Vergessen Sie auf jeden Fall nicht, den neuen Desktop-Eintrag in einem " +"-Tag für diese Komponente zu erwähnen, damit die Anwendung von " +"Software-Zentren aus startfähig bleibt, sowie die Daten der . desktop-Datei, " +"die mit den Metainfodaten verknüpft sind." -#: src/as-category.c:89 -msgctxt "Category of Development" -msgid "IDEs" -msgstr "Entwicklungsumgebungen" +#: src/as-validator-issue-tag.h:114 +msgid "" +"The component ID might not follow the reverse domain-name schema (the TLD " +"used by it is not known to the validator)." +msgstr "" +"Die Komponenten-ID folgt möglicherweise nicht dem umgekehrten " +"Domänennamenschema (die von ihr verwendete TLD ist dem Validator nicht " +"bekannt)." -#: tools/ascli-utils.c:301 -msgid "Icon" -msgstr "Symbol" +#: src/as-validator-issue-tag.h:119 +msgid "" +"The component ID contains an invalid character. Only ASCII characters, dots " +"and numbers are permitted." +msgstr "" +"Die Komponenten-ID enthält ein ungültiges Zeichen. Es sind nur ASCII-" +"Zeichen, Punkte und Zahlen erlaubt." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:351 -msgid "Icons of type 'remote' must contain an URL to the referenced icon." +#: src/as-validator-issue-tag.h:124 +msgid "" +"The component ID contains a hyphen/minus. Using a hyphen is strongly " +"discouraged, to improve interoperability with other tools such as D-Bus. A " +"good option is to replace any hyphens with underscores (`_`)." msgstr "" -"Symbole vom Typ »remote« müssen eine Adresse zum referenzierten Symbol " -"beinhalten." +"Die Komponenten-ID enthält einen Bindestrich/Minus. Es wird stark davon " +"abgeraten, einen Bindestrich zu benutzen um die Zusammenarbeit mit anderen " +"Werkzeugen, wie D-Bus, zu verbessern. Eine gute Alternative ist das Ersetzen " +"von Bindestrichen mit Unterstrichen (\"_\")." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:344 +#: src/as-validator-issue-tag.h:130 msgid "" -"Icons of type 'stock' or 'cached' must not contain an URL, a full or an " -"relative path to the icon. Only file basenames or stock names are allowed." +"The component ID contains a segment starting with a number. Starting a " +"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " +"interoperability with other tools such as D-Bus. Ideally, prefix these " +"segments with an underscore." msgstr "" -"Symbole vom Typ 'stock' oder 'cached' dürfen keine URL, keinen vollständigen " -"oder relativen Pfad zum Symbol enthalten. Es sind nur Datei-Basis- oder " -"Bestandsnamen zulässig." +"Die Komponenten-ID enthält ein Segment, welches mit einer Ziffer beginnt. Es " +"wird stark davon abgeraten, ein Segment mit einer Ziffer beginnen zu lassen, " +"um die Zusammenarbeit mit anderen Werkzeugen, wie D-Bus, zu erhalten. " +"Idealerweise hängen Sie einen Unterstrich vor diese Ziffern." -#: tools/ascli-actions-misc.c:94 -msgid "Iconsets" -msgstr "Symbolsätze" +#: src/as-validator-issue-tag.h:136 +msgid "The component ID should only contain lowercase letters." +msgstr "Die Komponentenkennung sollte nur Kleinbuchstaben enthalten." -#: tools/ascli-utils.c:295 -msgid "Identifier" -msgstr "Bezeichner" +#: src/as-validator-issue-tag.h:141 +msgid "" +"The component is part of the Freedesktop project, but its ID does not start " +"with fd.o's reverse-DNS name (\"org.freedesktop\")." +msgstr "" +"Die Komponente ist Teil des Freedesktop-Projekts, aber ihre ID beginnt nicht " +"mit dem Reverse-DNS-Namen von fd.o (\"org.freedesktop\")." -#: src/as-category.c:217 -msgctxt "Category of Addons" -msgid "Input Sources" -msgstr "Eingabequellen" +#: src/as-validator-issue-tag.h:146 +msgid "" +"The component is part of the KDE project, but its ID does not start with " +"KDEs reverse-DNS name (\"org.kde\")." +msgstr "" +"Die Komponente ist Teil des KDE-Projekts, aber ihre ID beginnt nicht mit dem " +"Reverse-DNS-Namen von KDEs (\"org.kde\")." -#: tools/appstream-cli.c:863 -msgid "Install a metadata file into the right location." -msgstr "Metadaten im richtigen Ort installieren." +#: src/as-validator-issue-tag.h:151 +msgid "" +"The component is part of the GNOME project, but its ID does not start with " +"GNOMEs reverse-DNS name (\"org.gnome\")." +msgstr "" +"Die Komponente ist Teil des GNOME-Projekts, aber ihre ID beginnt nicht mit " +"dem GNOMEs-Reverse-DNS-Namen (\"org.gnome\")." -#: tools/appstream-cli.c:859 -msgid "Install software matching the component-ID." -msgstr "Anwendung mit passender Komponentenkennung installieren." +#: src/as-validator-issue-tag.h:156 +msgid "The SPDX license expression is invalid and could not be parsed." +msgstr "Der SPDX-Lizenzausdruck ist ungültig und konnte nicht geparst werden." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:373 +#: src/as-validator-issue-tag.h:161 msgid "" -"Invalid 'type' property for this 'url' tag. URLs of this type are not known " -"in the AppStream specification." +"The license ID was not found in the SPDX database. Please check that the " +"license ID is written in an SPDX-conformant way and is a valid free software " +"license." msgstr "" -"Ungueltiger 'Typ' Eingenschaft fuer dies Tag ''url' . Die URLs dieser " -"Kategorie sind unbekannt in der Spezifikation von AppStream." +"Die Lizenz-ID wurde nicht in der SPDX-Database gefunden. Bitte stelle " +"sicher, dass die Lizenz-ID in einem SPDX-konformen Format geschrieben und " +"eine gültige freie Software-Lizenz darstellt." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:553 +#: src/as-validator-issue-tag.h:167 msgid "" -"Invalid tag found in collection metadata. Only 'component' tags are " -"permitted." +"The metadata itself seems to be licensed under a complex collection of " +"licenses. Please license the data under a simple permissive license, like " +"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " +"collections without the risk of license violations due to mutually " +"incompatible licenses." msgstr "" -"Ungültiges Tag wurde in der Sammlung Metadaten gefunden. Nur 'component' " -"Tags sind zugelassen." +"Die Metadaten scheinen selbst unter einer komplexen Mischung aus Lizenzen zu " +"stehen. Bitte stelle diese unter eine einfache, freizügige Lizenz wie z.B. " +"die FSFAP, CC0-1.0 oder 0BSD; dies erlaubt es den Distributoren, sie in " +"gemischte Datenbestände aufzunehmen, ohne dass das Risiko von " +"Lizenzverletzungen wegen inkompatibler Lizenzen besteht." -#: tools/ascli-actions-mdata.c:213 -msgid "Invalid type for provided item selected. Valid values are:" +#: src/as-validator-issue-tag.h:173 +msgid "" +"The metadata itself does not seem to be licensed under a permissive license. " +"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " +"0BSD to allow distributors to include it in mixed data collections without " +"the risk of license violations due to mutually incompatible licenses." msgstr "" -"Ungültiger Typ für bereitgestelltes Objekt angegeben. Gültige Werte sind:" +"Die Metadaten scheinen selbst nicht unter einer freizügigen Lizenz zu " +"stehen. Bitte stelle diese unter eine freizügige Lizenz wie z.B. die FSFAP, " +"CC0-1.0 oder 0BSD; dies erlaubt es den Distributoren, sie in gemischte " +"Datenbestände aufzunehmen, ohne dass das Risiko von Lizenzverletzungen wegen " +"inkompatibler Lizenzen besteht." -#: src/as-validator-issue-tag.h:271 +#: src/as-validator-issue-tag.h:179 msgid "" -"Invalid version comparison operation on relation item. Only eq/ne/lt/gt/le/" -"ge are permitted." +"The update-contact does not appear to be a valid email address (escaping of " +"`@` is only allowed as `_at_` or `_AT_`)." msgstr "" -"Ungültiger Versionsvergleichsvorgang für Beziehungselement. Nur eq/ne/lt/gt/" -"le/ge sind zulässig." +"Der Aktualisierungskontakt ist anscheinend keine gültige E-Mail-Adresse (`@` " +"darf nur als `_at_` oder `_AT_` umschrieben werden)." -#: src/as-validator-issue-tag.h:450 +#: src/as-validator-issue-tag.h:184 msgid "" -"It is recommended to add a long description to this component to present it " -"better to users." +"Unable to reach the screenshot image on its remote location - does the image " +"exist?" msgstr "" -"Es wird empfohlen eine lange Beschreibung für diese Komponente hinzuzufügen, " -"um sie ihren Benutzern besser zu erläutern." +"Das Bildschirmfoto kann an seiner Entferntenposition nicht erreicht werden - " +"gibt es das Bild?" -#: src/as-validator-issue-tag.h:445 +#: src/as-validator-issue-tag.h:189 msgid "" -"It would be useful to add a long description to this font to present it " -"better to users." +"Unable to reach the screenshot video on its remote location - does the video " +"file exist?" msgstr "" -"Es wäre nützlich eine lange Beschreibung zu dieser Schrift hinzuzufügen, um " -"sie ihren Benutzern besser zu erläutern." - -#: src/as-category.c:144 -msgctxt "Category of Games" -msgid "Kids" -msgstr "Kinder" - -#: src/as-category.c:220 -msgctxt "Category of Addons" -msgid "Language Packs" -msgstr "Sprachpakete" - -#: src/as-category.c:107 -msgctxt "Category of Education" -msgid "Languages" -msgstr "Sprachen" - -#: src/as-provided.c:144 -msgid "Libraries" -msgstr "Bibliotheken" - -#. license -#: tools/ascli-utils.c:363 -msgid "License" -msgstr "Lizenz" +"Das Bildschirmfotovideo an seinem entfernten Speicherort kann nicht erreicht " +"werden – gibt es die Videodatei?" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:629 +#: src/as-validator-issue-tag.h:194 msgid "" -"Licenses for 'runtime' components are usually too complex to reflect them in " -"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " -"value for this component's 'project_license'. E.g. `LicenseRef-free=https://" -"example.com/licenses.html`" +"Consider using a secure (HTTPS) URL to reference this screenshot image or " +"video." msgstr "" +"Erwägen Sie eine sichere (HTTPS)-Adresse zu verwenden, um auf dieses " +"Bildschirmfoto zu verweisen." -#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command -#: tools/appstream-cli.c:771 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:200 msgid "" -"Limit the number of release entries that end up in the metainfo file (0 for " -"unlimited)." +"A screenshot must contain at least one image or video in order to be useful. " +"Please add an to it." msgstr "" -"Beschränke die Anzahl der Veröffentlichungseinträge die in der metainfo-" -"Datei landen (0 für unbegrenzt)." - -#: src/as-category.c:223 -msgctxt "Category of Addons" -msgid "Localization" -msgstr "Lokalisierung" - -#: src/as-category.c:147 -msgctxt "Category of Games" -msgid "Logic" -msgstr "Logik" - -#. TRANSLATORS: ascli flag description for: --no-cache -#: tools/appstream-cli.c:67 -msgid "Make request without any caching." -msgstr "Stellen Sie eine Anfrage ohne Zwischenspeicherung." +"Ein Bildschirmfoto muss wenigstens ein Bild oder Video enthalten, um " +"nützlich zu sein. Bitte ein hinzufügen." -#. TRANSLATORS: ascli flag description for: --cachepath -#: tools/appstream-cli.c:57 -msgid "Manually selected location of AppStream cache." -msgstr "Ort des AppStream-Zwischenspeichers manuell angeben." - -#. TRANSLATORS: ascli flag description for: --datapath -#: tools/appstream-cli.c:62 -msgid "Manually selected location of AppStream metadata to scan." -msgstr "Ort der AppStream-Metadaten manuell angeben." - -#: src/as-pool.c:1280 +#: src/as-validator-issue-tag.h:205 msgid "" -"Many components have been recognized as invalid. See debug output for " -"details." +"A screenshot must contain either images or videos, but not both at the same " +"time. Please use this screenshot exclusively for either static images or for " +"videos." msgstr "" -"Viele Komponenten wurden als ungültig erkannt. Für Details, siehe Fehler-" -"Logbuch." +"Ein Bildschirmfoto muss entweder Bilder oder Videos enthalten, aber nicht " +"beide gleichzeitig. Bitte verwenden Sie das Bildschirmfoto nur für entweder " +"Bilder oder Videos." -#: src/as-category.c:111 -msgctxt "Category of Education" -msgid "Math" -msgstr "Mathematik" +#: src/as-validator-issue-tag.h:211 +msgid "The screenshot does not have a caption text. Consider adding one." +msgstr "" +"Das Bildschirmfoto hat keinen Beschriftungstext. Erwägen Sie, eine " +"hinzuzufügen." -#: src/as-category.c:243 -msgctxt "Category of Science" -msgid "Math" -msgstr "Mathematik" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:217 +msgid "" +"The screenshot video does not specify which video codec was used in a " +"`codec` property." +msgstr "" +"Das Bildschirmfotovideo gibt nicht an, welcher Videocodec in einer Codec-" +"Eigenschaft verwendet wurde." -#: src/as-provided.c:148 -msgid "Media types" -msgstr "MIME-Typen" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:223 +msgid "" +"The screenshot video does not specify which container format was used in a " +"`container` property." +msgstr "" +"Das Bildschirmfotovideo gibt nicht an, welches Containerformat in einer " +"Containereigenschaft verwendet wurde." -#: tools/ascli-actions-mdata.c:364 -#, c-format -msgid "Metadata file '%s' does not exist." -msgstr "Metadaten-Datei »%s« existiert nicht." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:229 +msgid "" +"The selected video codec is not supported by AppStream and software centers " +"may not be able to play the video. Only the AV1 and VP9 codecs are currently " +"supported, using `av1` and `vp9` as values for the `codec` property." +msgstr "" +"Der ausgewählte Videocodec wird von AppStream nicht unterstützt, und " +"Softwarecenter können das Video möglicherweise nicht wiedergeben. Derzeit " +"werden nur die Codecs AV1 und VP9 unterstützt, die 'av1' und 'vp9' als Werte " +"für die 'codec'-Eigenschaft verwenden." -#: src/as-pool.c:881 -msgid "Metadata files have errors:" -msgstr "Metadaten-Dateien haben Fehler:" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:236 +msgid "" +"The selected video container format is not supported by AppStream and " +"software centers may not be able to play the video. Only the WebM and " +"Matroska video containers are currently supported, using `webm` and `mkv` as " +"values for the `container` property." +msgstr "" +"Das ausgewählte Videocontainerformat wird von AppStream nicht unterstützt, " +"und Softwarecenter können das Video möglicherweise nicht wiedergeben. " +"Derzeit werden nur die WebM- und Matroska-Videocontainer unterstützt, die " +"\"webm\" und \"mkv\" als Werte für die 'container'-Eigenschaft verwenden." -#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 -#: tools/ascli-actions-misc.c:515 -#, c-format -msgid "Metainfo file '%s' does not exist." -msgstr "Metainfo-Datei »%s« existiert nicht." +#: src/as-validator-issue-tag.h:242 +msgid "" +"For videos, only the WebM and Matroska (.mkv) container formats are " +"currently supported. The file extension of the referenced video does not " +"belong to either of these formats." +msgstr "" +"Für Videos werden derzeit nur die Containerformate WebM und Matroska (.mkv) " +"unterstützt. Die Dateierweiterung des referenzierten Videos gehört zu keinem " +"dieser beiden Formate." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:367 +#: src/as-validator-issue-tag.h:248 msgid "" -"Metainfo files may only contain icons of type 'stock' or 'remote', the set " -"type is not allowed." +"The default screenshot of a software component must not be a video. Use a " +"static image as default screenshot and set the video as a secondary " +"screenshot." msgstr "" -"Metainfo-Dateien dürfen nur Symbole vom Typ 'stock' oder 'remote' enthalten, " -"der gesetzte Typ ist nicht zulässig." +"Der Standard-Bildschirmfoto einer Softwarekomponente darf kein Video sein. " +"Nutzen Sie ein statisches Bild und setzten Sie das Video als sekundäres " +"Bildschirmfoto." -#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report -#: tools/ascli-actions-misc.c:116 -msgid "Metainfo files:" -msgstr "Metainfo-Dateien:" +#: src/as-validator-issue-tag.h:253 +msgid "" +"Found an unknown tag in a requires/recommends group. This is likely an " +"error, because a component relation of this type is unknown." +msgstr "" +"Ein unbekanntes Tag in einer Gruppe erfordert/empfehlt gefunden. Das ist " +"wohl ein Fehler, weil die Beziehung von solchem Komponent unbekannt ist." -#: src/as-provided.c:152 -msgid "Modaliases" -msgstr "Mod-Aliasse" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:259 +msgid "" +"A `requires` or `recommends` item requires a value to denote a valid " +"relation." +msgstr "" +"Ein Element »requires« oder »recommends« benötigt einen Wert, um ein " +"gültiges Verhältnis darzustellen." -#: src/as-category.c:74 -msgctxt "Category of AudioVideo" -msgid "Music Players" -msgstr "Musikwiedergabe" +#. TRANSLATORS: `version` is an AppStream XML property. Please do not translate it. +#: src/as-validator-issue-tag.h:265 +msgid "" +"Found `version` property on required/recommended item of a type that should " +"not have or require a version." +msgstr "" +"Gefundene `Versions-Eigenschaft auf einem angeforderten/empfohlenen Objekt " +"eines Typs, der keine Version haben oder benötigen sollte." -#: tools/ascli-utils.c:296 -msgid "Name" -msgstr "Name" +#. TRANSLATORS: `version` and `compare` are AppStream XML properties. Please do not translate them. +#: src/as-validator-issue-tag.h:271 +msgid "" +"Found `version` property on this required/recommended item, but not " +"`compare` property. It is recommended to explicitly define a comparison " +"operation." +msgstr "" +"Eigenschaft »version« wurde bei diesem erforderlichen/empfohlenen Objekt " +"gefunden, aber nicht die Eigenschaft »compare«. Es wird empfohlen, eine " +"Vergleichsoperation explizit zu definieren." -#: src/as-category.c:266 -msgctxt "Category of Communication" -msgid "News" -msgstr "Nachrichten" +#: src/as-validator-issue-tag.h:276 +msgid "" +"Invalid comparison operation on relation item. Only eq/ne/lt/gt/le/ge are " +"permitted." +msgstr "" +"Ungültiger Versionsvergleichsvorgang für Beziehungselement. Nur eq/ne/lt/gt/" +"le/ge sind zulässig." -#: src/as-validator-issue-tag.h:589 -#, fuzzy -msgid "No AppStream metadata was found in this directory or directory tree." +#: src/as-validator-issue-tag.h:281 +msgid "" +"The relation item has a comparison operation set, but does not support any " +"comparisons." msgstr "" -"In diesem Verzeichnis oder dieser Verzeichnisstruktur wurden keine AppStream-" -"Metadaten gefunden." +"Das Beziehungselement hat einen Vergleichsvorgang festgelegt, unterstützt " +"jedoch keine Vergleiche." -#. pedantic because not everything which has metadata is an application -#: src/as-validator-issue-tag.h:594 -msgid "No XDG applications directory found." -msgstr "Kein XDG-Anwendungsordner gefunden." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:287 +msgid "" +"Found a memory size relation in a `requires` tag. This means users will not " +"be able to even install the component without having enough RAM. This is " +"usually not intended and you want to use `memory` in the `recommends` tag " +"instead." +msgstr "" +"Eine Speichergrößenrelation in einem Auszeichner »requires« gefunden. Dies " +"bedeutet, dass Benutzer nicht einmal in der Lage sein werden, die Komponente " +"zu installieren, wenn sie nicht genügend RAM haben. Dies ist normalerweise " +"nicht beabsichtigt und Sie sollten stattdessen »memory« im Auszeichner " +"»recommends« verwenden." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:294 +msgid "" +"Found a user input control relation in a `requires` tag. This means users " +"will not be able to even install the component without having the defined " +"input control available on the system. This is usually not intended and you " +"want to use `control` in the `recommends` tag instead." +msgstr "" +"Eine abhaengige Datei von Speicherung in einem Tag 'erfordert' gefunden ist. " +"Das bedeutet dass die Benutzer kein Komponent dazu installieren werden " +"koennen, ohne genug RAM zu haben. Man will dies nicht im allgemeinen und man " +"will die 'Speicherung' eigentlichim Tag 'empfehlt' trotzdem gebrauchen." -#: tools/ascli-actions-mdata.c:182 -#, c-format -msgid "No component matching '%s' found." -msgstr "Es wurde keine auf »%s« passende Komponente gefunden." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:301 +msgid "" +"This `control` item defines an unknown input method and is invalid. Check " +"the specification for a list of permitted values." +msgstr "" +"Dieses `control`-Element legt eine unbekannte Eingabemethode fest und ist " +"ungültig. Schlage in der Spezifikation die zulässigen Werte nach." -#: tools/ascli-actions-misc.c:105 -msgid "No icons." -msgstr "Keine Symbole." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:307 +msgid "" +"This `display_length` item contains an invalid display length. Its value " +"must either be a shorthand string, or positive integer value denoting " +"logical pixels. Please refer to the AppStream specification for more " +"information on this tag." +msgstr "" +"Dieses Element `display_length` enthält eine ungültige Anzeigelänge. Sein " +"Wert muss entweder eine kurze Zeichenfolge oder ein positiver Integer-Wert " +"sein, der logische Pixel angibt. Weitere Informationen zu diesem Tag finden " +"Sie in der AppStream-Spezifikation." -#: tools/ascli-actions-misc.c:402 -msgid "No output filename specified, modifying metainfo file directly." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:314 +msgid "" +"This `side` property of this `display_length` item contains an invalid " +"value. It must either be `shortest` or `longest`, or unset to imply " +"`shortest` to make the item value refer to either the shortest or longest " +"side of the display." msgstr "" -"Es wurde kein Ausgabedateiname angegeben, die metainfo-Datei wird direkt " -"geändert." +"Die Eigenschaft `side` dieses Elements `display_length` enthält einen " +"ungültigen Wert. Sie muss entweder `kürzeste` oder `längste` sein, oder " +"nicht gesetzt werden, um `kürzeste` zu implizieren, damit sich der " +"Elementwert entweder auf die kürzeste oder längste Seite des Displays " +"bezieht." -#: tools/ascli-actions-misc.c:306 +#: src/as-validator-issue-tag.h:320 msgid "" -"No provided binary specified in metainfo file, and no exec command specified " -"via '--exec'. Can not create 'Exec=' key." +"The set component type is not a recognized, valid AppStream component type." msgstr "" +"Der eingestellte Komponententyp ist kein anerkannter, gültiger AppStream-" +"Komponententyp." -#: tools/ascli-actions-misc.c:284 -msgid "No stock icon name was provided in the metainfo file. Can not continue." +#: src/as-validator-issue-tag.h:325 +msgid "" +"The component has a priority value set. This is not allowed in metainfo " +"files." msgstr "" +"Die Komponente hat eine Prioritätswert gesetzt. Dies ist nicht erlaubt in " +"Metainfo Dateien." -#: tools/ascli-actions-pkgmgr.c:53 +#: src/as-validator-issue-tag.h:330 msgid "" -"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" -"\" (part of PackageKit) is available." +"The component has a `merge` method defined. This is not allowed in metainfo " +"files." msgstr "" -"Keine verwendbare Befehlszeilenschnittstelle einer Paketverwaltung gefunden. " -"Bitte stellen Sie sicher, dass zum Beispiel »pkcon« (Teil von PackageKit) " -"verfügbar ist." +"Die Komponente hat eine \"merge\" Methode definiert. Dies ist nicht erlaubt " +"in Metainfo Dateien." -#: tools/ascli-actions-mdata.c:206 -msgid "No value for the item to search for was defined." -msgstr "Kein Wert für das zu suchende Objekt angegeben." +#: src/as-validator-issue-tag.h:335 +msgid "The component is missing an ID ( tag)." +msgstr "Der Komponente fehlt eine ID (Tag)." -#. TRANSLATORS: this is the menu spec main category for Office -#: src/as-category.c:317 -msgid "Office" -msgstr "Büro" +#: src/as-validator-issue-tag.h:340 +msgid "The component is missing a name ( tag)." +msgstr "Die Komponente besitzt keinen Namen ( Tag)." -#. TRANSLATORS: An unknown option was passed to appstreamcli. -#: tools/appstream-cli.c:192 -#, c-format -msgid "Option '%s' is unknown." -msgstr "Option '%s' ist unbekannt." +#: src/as-validator-issue-tag.h:345 +msgid "The component is missing a summary ( tag)." +msgstr "Der Komponente fehlt eine Zusammenfassung (Tag)." -#: tools/ascli-utils.c:298 -msgid "Package" -msgstr "Paket" +#: src/as-validator-issue-tag.h:350 +msgid "" +"The tag still contains a `type` property, probably from an old " +"conversion to the recent metainfo format." +msgstr "" +"Das Tag enthält noch eine `type` Eigentschaft. Wahrscheinlich von " +"einer alten Konvertierung in das neue Metainfo-Format." -#: src/as-category.c:171 -msgctxt "Category of Graphics" -msgid "Photography" -msgstr "Fotografie" +#: src/as-validator-issue-tag.h:355 +msgid "" +"The `pkgname` tag appears multiple times. You should evaluate creating a " +"metapackage containing the metainfo and .desktop files in order to avoid " +"defining multiple package names per component." +msgstr "" +"Der `pkgname'-Tag erscheint mehrfach. Sie sollten die Erstellung eines " +"Metapakets evaluieren, das die Metainfo- und . desktop-Dateien enthält, um " +"die Definition mehrerer Paketnamen pro Komponente zu vermeiden." -#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) -#: tools/appstream-cli.c:121 -#, fuzzy -msgid "Print detailed explanation for found issues." -msgstr "Detaillierte Ausgabe über gefundene Komponenten ausgeben." +#: src/as-validator-issue-tag.h:360 +msgid "The component name should (likely) not end with a dot (`.`)." +msgstr "" +"Der Komponentenname sollte (wahrscheinlich) nicht mit einem Punkt (».«) " +"enden." -#. TRANSLATORS: ascli flag description for: --details -#: tools/appstream-cli.c:98 -msgid "Print detailed output about found components." -msgstr "Detaillierte Ausgabe über gefundene Komponenten ausgeben." +#: src/as-validator-issue-tag.h:365 +msgid "The component summary should not end with a dot (`.`)." +msgstr "" +"Die Komponenten-Zusammenfassung sollte nicht mit einem Punkt (».«) enden." -#. project group -#: tools/ascli-utils.c:360 -msgid "Project Group" -msgstr "Projektgruppe" +#: src/as-validator-issue-tag.h:370 +msgid "The component summary must not contain tabs or linebreaks." +msgstr "" +"Die Komponentenzusammenfassung darf keine Tabulatoren oder Zeilenumbrüche " +"enthalten." -#: tools/ascli-utils.c:405 -msgid "Provided Items" -msgstr "Bereitgestellte Objekte" +#: src/as-validator-issue-tag.h:375 +msgid "The summary must not contain any URL. Use the tags for links." +msgstr "" +"Die Zusammenfassung darf keine URL enthalten. Benutze -Tags für Links." -#: src/as-provided.c:154 -msgid "Python (Version 2)" -msgstr "Python (Version 2)" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:381 +msgid "" +"Icons of type `stock` or `cached` must not contain an URL, a full or an " +"relative path to the icon. Only file basenames or stock names are allowed." +msgstr "" +"Symbole vom Typ »stock« oder »cached« dürfen keine URL, keinen vollständigen " +"oder relativen Pfad zu dem Symbol enthalten. Nur Datei-Basisnamen oder " +"Bestandsnamen sind erlaubt." -#: src/as-provided.c:156 -msgid "Python 3" -msgstr "Python 3" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:388 +msgid "Icons of type `remote` must contain an URL to the referenced icon." +msgstr "" +"Symbole vom Typ »remote« müssen eine URL zu dem referenzierten Symbol " +"enthalten." -#: tools/appstream-cli.c:854 -msgid "Rebuild the component metadata cache." -msgstr "Metadaten-Zwischenspeicher der Komponente neu erstellen." +#: src/as-validator-issue-tag.h:393 +msgid "Unable to reach remote icon at the given web location - does it exist?" +msgstr "" +"Remote-Symbol am angegebenen Web-Standort kann nicht erreicht werden – gibt " +"es es ihn?" -#: tools/appstream-cli.c:860 -msgid "Remove software matching the component-ID." -msgstr "Anwendung mit passender Komponentenkennung entfernen." +#: src/as-validator-issue-tag.h:398 +msgid "Consider using a secure (HTTPS) URL for the remote icon link." +msgstr "" +"Erwägen Sie eine sichere (HTTPS)-Adresse für diese Verknüpfung zu einem " +"entlegenen Symbol." -#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty -#: src/as-validator.c:364 -msgid "Retrieved file size was zero." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:404 +msgid "" +"Metainfo files may only contain icons of type `stock` or `remote`, the set " +"type is not allowed." msgstr "" +"Metainfo-Dateien dürfen nur Symbole vom Typ »stock« oder »remote« enthalten, " +"der angegebene Typ ist nicht erlaubt." -#: src/as-category.c:248 -msgctxt "Category of Science" -msgid "Robotics" -msgstr "Robotik" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:410 +msgid "" +"Invalid `type` property for this `url` tag. URLs of this type are not known " +"in the AppStream specification." +msgstr "" +"Ungültige Eigenschaft »type« für diesen Auszeichner »url«. URLs dieses Typs " +"sind in der AppStream-Spezifikation nicht bekannt." -#: src/as-category.c:150 -msgctxt "Category of Games" -msgid "Role Playing" -msgstr "Rollenspiele" +#: src/as-validator-issue-tag.h:415 +msgid "" +"Unable to reach remote location that this URL references - does it exist?" +msgstr "" +"Der Remotespeicherort, auf den diese URL verweist, kann nicht erreicht " +"werden - gibt es ihn?" -#: tools/appstream-cli.c:196 tools/appstream-cli.c:926 -#, c-format -msgid "Run '%s --help' to see a full list of available command line options." +#: src/as-validator-issue-tag.h:420 +msgid "Consider using a secure (HTTPS) URL for this web link." msgstr "" -"Rufen Sie »%s --help« auf, um eine vollständige Liste der verfügbaren " -"Befehlszeilenoptionen zu sehen." +"Erwägen Sie eine sichere (HTTPS)-Adresse für diese Internet-Verknüpfung zu " +"verwenden." -#: tools/appstream-cli.c:198 -#, c-format +#: src/as-validator-issue-tag.h:425 +msgid "A web URL was expected for this value." +msgstr "Für diesen Wert wurde eine Web-URL erwartet." + +#: src/as-validator-issue-tag.h:430 msgid "" -"Run '%s --help' to see a list of available commands and options, and '%s %s " -"--help' to see a list of options specific for this subcommand." +"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." msgstr "" -"Rufen Sie »%s --help« auf, um eine Liste der verfügbaren Befehle und " -"Optionen zu sehen. Rufen Sie »%s %s --help« auf, um eine Liste der " -"spezifischen Optionen für diesen Unterbefehl zu erhalten." +"Dieser Weblink nutzt das FTP-Protokoll. Nutze stattdessen lieber HTTP(S)." -#: src/as-provided.c:162 -msgid "Runtime Firmware" -msgstr "Laufzeit-Firmware" +#: src/as-validator-issue-tag.h:435 +msgid "The can not contain a hyperlink." +msgstr "Der darf keinen Hyperlink enthalten." -#: src/as-category.c:174 -msgctxt "Category of Graphics" -msgid "Scanning" -msgstr "Scannen" +#: src/as-validator-issue-tag.h:440 +msgid "" +"The set value is not an identifier for a desktop environment as registered " +"with Freedesktop.org." +msgstr "" +"Der gesetzte Wert ist keine Kennung für eine bei Freedesktop.org " +"registrierte Desktopumgebung." -#. TRANSLATORS: this is the menu spec main category for Science -#: src/as-category.c:323 -msgid "Science" -msgstr "Wissenschaft" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:446 +msgid "This `launchable` tag has an unknown type and can not be used." +msgstr "" +"Dieser `launchable`-Tag ist unbekannten Typs und kann nicht benutzt werden." -#: tools/appstream-cli.c:847 -msgid "Search the component database." -msgstr "Komponentendatenbank durchsuchen." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:452 +msgid "This `bundle` tag has an unknown type and can not be used." +msgstr "" +"Dieser `bundle`-Tag hat einen unbekannten Typ und kann nicht benutzt werden." -#: src/as-category.c:293 -msgctxt "Category of Utility" -msgid "Security" -msgstr "Sicherheit" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:458 +msgid "" +"The `update_contact` tag should not be included in collection AppStream XML." +msgstr "" +"Das `update_contact`-Tag sollte nicht in der XML-Datei der AppStream-" +"Sammlung sein." -#. TRANSLATORS: ascli flag description for: --verbose -#: tools/appstream-cli.c:903 -msgid "Show extra debugging information." -msgstr "Zusätzliche Fehlersuchinformationen anzeigen." +#: src/as-validator-issue-tag.h:463 +msgid "" +"This tag is a GNOME-specific extension to AppStream and not part of the " +"official specification. Do not expect it to work in all implementations and " +"in all software centers." +msgstr "" +"Dieser Tag ist eine GNOME-spezifische Erweiterung zu AppStream und nicht " +"Teil der offiziellen Spezifikation. Erwarte nicht, dass er in allen " +"Implementationen und Softwarecentern funktioniert." -#. TRANSLATORS: ascli flag description for: --version -#: tools/appstream-cli.c:897 -msgid "Show the program version." -msgstr "Programmversion anzeigen." +#: src/as-validator-issue-tag.h:469 +msgid "" +"Found invalid tag. Non-standard tags should be prefixed with `x-`. AppStream " +"also provides the tag to add arbitrary custom data to metainfo " +"files. This tag is read by AppStream libraries and may be useful instead of " +"defining new custom toplevel or `x-`-prefixed tags if you just want to add " +"custom data to a metainfo file." +msgstr "" +"Ungueltiges Tag gefunden. Die nicht feste Tags muessen das Prefix 'x' haben. " +"Appstream vorhandet auch das Tag um freie Daten von " +"Personalisierung den Dateien MetaIfo vorzuhanden. Dies Tag wird in den " +"Bibliotheken AppSteam gelesen und nutzt auch wenn kein personalisiertes " +"Hochnivot oder 'x' Tags mit Prefix bestimmt sind. Falls Sie personalisierte " +"Daten einem File MetaInfo fuegen wollen." -#: src/as-validator-issue-tag.h:635 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:477 msgid "" -"Since a 'runtime' component is comprised of multiple other software " -"components, their component-IDs may be listed in a `` section for " -"this runtime." +"The essential tag `metadata_license` is missing. A license for the metadata " +"itself always has to be defined." msgstr "" +"Das notwendige Tag `metadata_license` fehlt. Eine Lizenz für die Metadaten " +"selbst muss immer festgelegt sein." -#: src/as-category.c:153 -msgctxt "Category of Games" -msgid "Sports" -msgstr "Sport" - -#: src/as-category.c:157 -msgctxt "Category of Games" -msgid "Strategy" -msgstr "Strategie" +#: src/as-validator-issue-tag.h:482 +msgid "" +"The component is missing a long description. Components of this type must " +"have a long description." +msgstr "" +"Der Komponente fehlt eine erweiterte Beschreibung. Komponenten dieses Typs " +"benötigen eine erweitere Beschreibung." -#. these are commands we can use with appstreamcli -#: tools/appstream-cli.c:845 -msgid "Subcommands:" -msgstr "Unterbefehle:" +#: src/as-validator-issue-tag.h:487 +msgid "" +"It would be useful to add a long description to this font to present it " +"better to users." +msgstr "" +"Es wäre nützlich eine lange Beschreibung zu dieser Schrift hinzuzufügen, um " +"sie ihren Benutzern besser zu erläutern." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:527 +#: src/as-validator-issue-tag.h:492 msgid "" -"Suggestions of any type other than 'upstream' are not allowed in metainfo " -"files." +"It is recommended to add a long description to this component to present it " +"better to users." msgstr "" +"Es wird empfohlen eine lange Beschreibung für diese Komponente hinzuzufügen, " +"um sie ihren Benutzern besser zu erläutern." -#: tools/ascli-utils.c:297 -msgid "Summary" -msgstr "Zusammenfassung" +#: src/as-validator-issue-tag.h:497 +msgid "" +"This generic component is missing a long description. It may be useful to " +"add one." +msgstr "" +"Dieser generischen Komponente fehlt eine lange Beschreibung. Es kann " +"nützlich sein, eine hinzuzufügen." -#. TRANSLATORS: Status summary in ascli -#: tools/ascli-actions-misc.c:145 -msgid "Summary:" -msgstr "Zusammenfassung:" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:503 +msgid "" +"Type `console-application` component, but no information about binaries in " +"$PATH was provided via a `provides/binary` tag." +msgstr "" +"Die Komponente ist vom Typ`console-application`; es wurden jedoch keine " +"Informationen über Binärdateien in $PATH über das `provides/binary`-Tag " +"bereitgestellt." -#: src/as-category.c:290 -msgctxt "Category of Utility" -msgid "System Monitoring" -msgstr "Systemüberwachung" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:509 +msgid "" +"This `web-application` component is missing a `launchable` tag of type `url`." +msgstr "" +"Dieser `web-application`-Komponente fehlt ein `launchable`-Tag des Typs " +"`url`." -#: src/as-validator-issue-tag.h:46 -msgid "Tags of this name are not permitted in this section." -msgstr "Schlagwörter mit diesem Namen sind in diesem Bereich nicht zugelassen." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:515 +msgid "" +"This `web-application` component is missing a `icon` tag to specify a valid " +"icon." +msgstr "" +"Dieser `web-application`-Komponente fehlt ein `icon`-Tag, um ein gültiges " +"Icon anzugeben." -#: src/as-category.c:284 -msgctxt "Category of Utility" -msgid "Terminal Emulators" -msgstr "Terminal-Emulatoren" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:521 +msgid "" +"This `web-application` component is missing categorizations. A `categories` " +"block is likely missing." +msgstr "" +"Dieser `web-application`-Komponente fehlt es an Kategorien. Vermutlich fehlt " +"ein `categories`-Abschnitt." -#: src/as-category.c:281 -msgctxt "Category of Utility" -msgid "Text Editors" -msgstr "Textbearbeitung" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:527 +msgid "" +"Type `font` component, but no font information was provided via a `provides/" +"font` tag." +msgstr "" +"Die Komponente ist vom Typ `font`, aber es wurden keine Font-Informationen " +"über das `provides/font`-Tag bereitgestellt." -#: src/as-validator-issue-tag.h:318 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:533 msgid "" -"The 'pkgname' tag appears multiple times. You should evaluate creating a " -"metapackage containing the metainfo and .desktop files in order to avoid " -"defining multiple package names per component." +"Type `driver` component, but no modalias information was provided via a " +"`provides/modalias` tag." msgstr "" +"Die Komponente ist vom Typ `driver`, enthält aber keine Modalias-" +"Informationen über das `provides/modalias`-Tag." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:416 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:539 msgid "" -"The 'update_contact' tag should not be included in collection AppStream XML." +"An `extends` tag is specified, but the component is not of type `addon`, " +"`localization` or `repository`." msgstr "" +"Ein Auszeichner »extends« ist angegeben, aber die Komponente ist nicht vom " +"Typ »addon«, »localization« oder »repository«." -#: tools/ascli-actions-mdata.c:467 -#, c-format -msgid "The .desktop file '%s' does not exist." -msgstr "Die .desktop Datei »%s« ist nicht vorhanden." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:545 +msgid "The component is an addon, but no `extends` tag was specified." +msgstr "" +"Die Komponente ist eine Erweiterung, es wurde aber kein \"extends\" Tag " +"spezifiziert." -#: src/as-validator-issue-tag.h:393 -msgid "The can not contain a hyperlink." -msgstr "Der darf keinen Hyperlink enthalten." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:551 +msgid "" +"This `localization` component is missing an `extends` tag, to specify the " +"components it adds localization to." +msgstr "" +"Dieser `localization`-Komponente fehlt ein `extends`-Tag, um die Komponenten " +"anzugeben, welchen sie Übersetzungen hinzufügt." -#: src/as-validator-issue-tag.h:313 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:557 msgid "" -"The tag still contains a 'type' property, probably from an old " -"conversion to the recent metainfo format." +"This `localization` component does not define any languages this " +"localization is for." msgstr "" +"Diese `localization`-Komponente legt keine Sprache fest, für die die " +"Übersetzung ist." -#: src/as-validator-issue-tag.h:616 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:563 msgid "" -"The AppStream specification requires a complete, ISO 8601 date string with " -"at least day-granularity to denote dates. Please ensure the date string is " -"valid." +"This `service` component is missing a `launchable` tag of type `service`." msgstr "" +"Dieser `service`-Komponente fehlt ein `launchable`-Tag des Typs `service`." -#: src/as-pool.c:1924 -#, c-format +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:569 msgid "" -"The AppStream system cache was updated, but problems were found which " -"resulted in metadata being ignored: %s" +"Suggestions of any type other than `upstream` are not allowed in metainfo " +"files." msgstr "" -"Der AppStream-Systemzwischenspeicher wurde aktualisiert, aber es wurden " -"Probleme gefunden, die dazu führten, dass die Metadaten ignoriert wurden: %s" +"Vorschläge anderer Art als »upstream« sind in Metainfo-Dateien nicht erlaubt." -#: src/as-pool.c:1922 +#: src/as-validator-issue-tag.h:574 msgid "" -"The AppStream system cache was updated, but some components were ignored. " -"Refer to the verbose log for more information." +"The category name is not valid. Refer to the XDG Menu Specification for a " +"list of valid category names." msgstr "" -"Der AppStream-Systemzwischenspeicher wurde aktualisiert, aber einige " -"Komponenten wurden ignoriert. Weitere Informationen finden Sie im " -"ausführlichen Protokoll." +"Der Name der Kategorie ist ungültig. Ziehen Sie die XDG Menü Spezifikation " +"zu Hilfe, um eine Liste von gültigen Kategorie Namen zu erhalten." -#: src/as-validator-issue-tag.h:151 -msgid "The SPDX license expression is invalid and could not be parsed." -msgstr "Der SPDX-Lizenzausdruck ist ungültig und konnte nicht geparst werden." +#: src/as-validator-issue-tag.h:579 +msgid "The screenshot caption is too long (should be <= 80 characters)" +msgstr "" +"Die Beschiftung der Bildschirmaufnahme ist zu lang (sollte <= 80 Zeichen " +"sein)" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows -#: tools/appstream-cli.c:683 -#, c-format -msgid "The TYPE must be a valid component-type, such as: %s" -msgstr "Der TYPE muss ein gültiger Komponententyp sein, beispielsweise: %s" +#: src/as-validator-issue-tag.h:584 +msgid "Unable to read file." +msgstr "Datei kann nicht gelesen werden." -#: src/as-validator-issue-tag.h:547 +#: src/as-validator-issue-tag.h:589 msgid "The XML of this file is malformed." msgstr "Das XML in dieser Datei ist fehlerhaft." -#: src/as-validator-issue-tag.h:584 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:595 msgid "" -"The category defined in the .desktop file is not valid. Refer to the XDG " -"Menu Specification for a list of valid categories." +"Invalid tag found in collection metadata. Only `component` tags are " +"permitted." msgstr "" +"Ungültigen Auszeichner in den Metadaten der Sammlung gefunden. Nur " +"»component«-Auszeichner sind erlaubt." -#: src/as-validator-issue-tag.h:532 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:601 msgid "" -"The category name is not valid. Refer to the XDG Menu Specification for a " -"list of valid category names." +"The metainfo file uses an ancient version of the AppStream specification, " +"which can not be validated. Please migrate it to version 0.6 (or higher)." msgstr "" +"Die Metainfo-Datei nutzt eine veraltete Version der AppStream-Spezifikation " +"und kann nicht validiert werden. Bitte konvertiere sie nach Version 0.6 " +"(oder höher)." -#: src/as-validator-issue-tag.h:124 +#: src/as-validator-issue-tag.h:606 msgid "" -"The component ID contains a hyphen/minus. Using a hyphen is strongly " -"discouraged, to improve interoperability with other tools such as D-Bus. A " -"good option is to replace any hyphens with underscores ('_')." +"This XML document has an unknown root tag. Maybe this file is not a metainfo " +"document?" msgstr "" +"Das XML-Dokument hat einen unbekannten Wurzel-Tag. Ist diese Datei " +"vielleicht kein Metainfo-Dokument?" -#: src/as-validator-issue-tag.h:130 -msgid "" -"The component ID contains a segment starting with a number. Starting a " -"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " -"interoperability with other tools such as D-Bus. Ideally, prefix these " -"segments with an underscore." +#: src/as-validator-issue-tag.h:611 +msgid "The metainfo filename does not match the component ID." +msgstr "Der Metainfo-Dateiname stimmt nicht mit der Komponenten-ID überein." + +#: src/as-validator-issue-tag.h:616 +msgid "Unable to read the .desktop file associated with this component." msgstr "" +"Die zur Kompomente gehörige .desktop-Datei konnte nicht gelesen werden." -#: src/as-validator-issue-tag.h:119 -msgid "" -"The component ID contains an invalid character. Only ASCII characters, dots " -"and numbers are permitted." +#: src/as-validator-issue-tag.h:621 +msgid "This component metadata refers to a non-existing .desktop file." msgstr "" +"Diese Komponentenmetadaten beziehen sich auf eine nicht vorhandene .desktop-" +"Datei." -#: src/as-validator-issue-tag.h:106 +#: src/as-validator-issue-tag.h:626 msgid "" -"The component ID is not a reverse domain-name. Please update the ID to avoid " -"future issues and be compatible with all AppStream implementations.\n" -"You may also consider to update the name of the accompanying .desktop file " -"to follow the latest version of the Desktop-Entry specification and use a " -"rDNS name for it as well. In any case, do not forget to mention the new " -"desktop-entry in a tag for this component to keep the " -"application launchable from software centers and the .desktop file data " -"associated with the metainfo data." +"The category defined in the .desktop file is not valid. Refer to the XDG " +"Menu Specification for a list of valid categories." msgstr "" +"Die in der . desktop-Datei definierte Kategorie ist nicht gültig. Eine Liste " +"der gültigen Kategorien finden Sie in der XDG-Menüspezifikation." -#: src/as-validator-issue-tag.h:101 +#: src/as-validator-issue-tag.h:631 +msgid "No AppStream metadata was found in this directory or directory tree." +msgstr "" +"In diesem Verzeichnis oder diesem Verzeichnisbaum wurden keine AppStream-" +"Metadaten gefunden." + +#. pedantic because not everything which has metadata is an application +#: src/as-validator-issue-tag.h:636 +msgid "No XDG applications directory found." +msgstr "Kein XDG-Anwendungsordner gefunden." + +#: src/as-validator-issue-tag.h:641 msgid "" -"The component ID is required to follow a reverse domain-name scheme for its " -"name. See the AppStream specification for details." +"The metainfo file is stored in a legacy path. Please place it in `/usr/share/" +"metainfo/`." msgstr "" +"Die Metainfo-Datei ist unter einem veralteten Pfad abgelegt. Bitte platziere " +"sie in `/usr/share/metainfo/`." -#: src/as-validator-issue-tag.h:114 +#: src/as-validator-issue-tag.h:646 +msgid "The metainfo file specifies multiple components. This is not allowed." +msgstr "" +"Die Metainfo-Datei spezifiert mehrere Komponenten. Dies ist nicht zulässig." + +#: src/as-validator-issue-tag.h:651 msgid "" -"The component ID might not follow the reverse domain-name schema (the TLD " -"used by it is not known to the validator)." +"The releases are not sorted in a latest to oldest version order. This is " +"required as some tools will assume that the latest version is always at the " +"top. Sorting releases also increases overall readability of the metainfo " +"file." +msgstr "" +"Die Veröffentlichungen sind nicht in der Reihenfolge der neuesten bis " +"ältesten Version sortiert. Dies ist erforderlich, da einige Werkzeuge davon " +"ausgehen, dass die neueste Version immer ganz oben steht. Die Sortierung der " +"Veröffentlichungen erhöht auch die allgemeine Lesbarkeit der Metainfodatei." + +#: src/as-validator-issue-tag.h:658 +msgid "The value set as release urgency is not a known urgency value." +msgstr "" + +#: src/as-validator-issue-tag.h:663 +msgid "The value set as release type is invalid." msgstr "" -#: src/as-validator-issue-tag.h:293 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:669 msgid "" -"The component has a 'merge' method defined. This is not allowed in metainfo " -"files." +"The value set as artifact type is invalid. Must be either `source` or " +"`binary`." +msgstr "" +"Der als Artefakttyp eingestellte Wert ist ungültig. Muss entweder `source` " +"oder `binary` sein." + +#: src/as-validator-issue-tag.h:674 +msgid "The value set as artifact bundle type is invalid." msgstr "" -#: src/as-validator-issue-tag.h:288 +#: src/as-validator-issue-tag.h:679 msgid "" -"The component has a priority value set. This is not allowed in metainfo " -"files." +"The platform triplet for this release is invalid. It must be in the form of " +"`architecture-oskernel-osenv` - refer to the AppStream documentation or " +"information on normalized GNU triplets for more information and valid fields." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:503 -msgid "The component is an addon, but no 'extends' tag was specified." +#: src/as-validator-issue-tag.h:686 +msgid "The selected checksumming algorithm is unsupported or unknown." msgstr "" +"Der ausgewählte Prüfsummenalgorithmus wird nicht unterstützt oder ist " +"unbekannt." -#: src/as-validator-issue-tag.h:440 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:692 +msgid "The size type is unknown. Must be `download` or `installed`." +msgstr "Der Größentyp ist unbekannt. Muss `download` oder `installed` sein." + +#: src/as-validator-issue-tag.h:697 msgid "" -"The component is missing a long description. Components of this type must " -"have a long description." +"The artifact filename must be a file basename, not a (relative or absolute) " +"path." msgstr "" +"Der Dateiname des Artefakts muss ein Datei-Basisname sein, kein (relativer " +"oder absoluter) Pfad." -#: src/as-validator-issue-tag.h:303 -msgid "The component is missing a name ( tag)." +#: src/as-validator-issue-tag.h:702 +msgid "The value set as release issue type is invalid." msgstr "" -#: src/as-validator-issue-tag.h:308 -msgid "The component is missing a summary ( tag)." +#: src/as-validator-issue-tag.h:707 +msgid "" +"The issue is tagged at security vulnerability with a CVE number, but its " +"value does not look like a valid CVE identifier." msgstr "" +"Das Problem ist als Sicherheitslücke mit einer CVE-Nummer gekennzeichnet, " +"aber der Wert sieht nicht wie ein gültiger CVE-Bezeichner aus." -#: src/as-validator-issue-tag.h:298 -msgid "The component is missing an ID ( tag)." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:713 +msgid "" +"This component is missing information about releases. Consider adding a " +"`releases` tag to describe releases and their changes." msgstr "" -#: src/as-validator-issue-tag.h:136 +#: src/as-validator-issue-tag.h:718 msgid "" -"The component is part of the Freedesktop project, but its ID does not start " -"with fd.o's reverse-DNS name (\"org.freedesktop\")." +"The AppStream specification requires a complete, ISO 8601 date string with " +"at least day-granularity to denote dates. Please ensure the date string is " +"valid." msgstr "" +"Die AppStream Spezifikation verlangt eine Zeichenkette im vollständigen ISO " +"8601 Format mit mindestens Tagesgenauigkeit, um Daten anzugeben. Bitte " +"überprüfen Sie, dass die Zeichenkette gültig ist." -#: src/as-validator-issue-tag.h:146 +#: src/as-validator-issue-tag.h:724 msgid "" -"The component is part of the GNOME project, but its ID does not start with " -"GNOMEs reverse-DNS name (\"org.gnome\")." +"This component extends, provides, requires or recommends itself, which is " +"certainly not intended and may confuse users or machines dealing with this " +"metadata." msgstr "" +"Diese Kompomente erweitert, benötigt oder empfiehlt sich selbst, oder stellt " +"sich selbst zur Verfügung; dies ist sicherlich nicht so beabsichtigt und " +"könnte Nutzer oder Rechner verwirren, die mit diese Meta-Information umgehen " +"müssen." -#: src/as-validator-issue-tag.h:141 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:731 msgid "" -"The component is part of the KDE project, but its ID does not start with " -"KDEs reverse-DNS name (\"org.kde\")." +"Licenses for `runtime` components are usually too complex to reflect them in " +"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " +"value for this component's `project_license`. E.g. `LicenseRef-free=https://" +"example.com/licenses.html`" msgstr "" +"Lizenzen für »Laufzeit«-Komponenten sind in der Regel zu kompliziert, um sie " +"in Form eines einfachen SPDX-Ausdrucks darzustellen . Bitte erwägen Sie die " +"Verwendung einer »LicenseRef« und einer Internet-Adresse als einen Wert für " +"»project_license« (Projektlizenz) dieser Komponente. Beispielsweise " +"»LicenseRef-free=https://example.com/licenses.html«" -#: src/as-validator-issue-tag.h:323 -msgid "The component name should (likely) not end with a dot ('.')." +#: src/as-validator-issue-tag.h:737 +msgid "" +"Since a `runtime` component is comprised of multiple other software " +"components, their component-IDs may be listed in a `` section for " +"this runtime." msgstr "" -"Der Komponentenname sollte (wahrscheinlich) nicht mit einem Punkt ('.') " -"enden." +"Da eine `runtime`-Komponente andere mehrere Softwarekomponenten umfasst, " +"könnten ihre Komponenten-IDs in einem `` Schnitt für diese " +"Laufzeit aufgelistet sein." -#: src/as-validator-issue-tag.h:333 -msgid "The component summary must not contain tabs or linebreaks." +#: src/as-validator-issue-tag.h:742 +msgid "" +"The type of the item that the component provides is not known to AppStream." msgstr "" -"Die Komponentenzusammenfassung darf keine Tabulatoren oder Zeilenumbrüche " -"enthalten." +"AppStream kennt den Typ von Objekt nicht, den die Komponente bereitstellt." -#: src/as-validator-issue-tag.h:328 -msgid "The component summary should not end with a dot ('.')." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:748 +msgid "" +"The toplevel `mimetypes` tag is deprecated. Please use `mediatype` tags in a " +"`provides` block instead to indicate that your software provides a media " +"handler for the given types." msgstr "" -"Die Komponentenzusammenfassung sollte nicht mit einem Punkt ('.') enden." -#: src/as-validator-issue-tag.h:243 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks) and keep the URL intact. +#: src/as-validator-issue-tag.h:755 msgid "" -"The default screenshot of a software component must not be a video. Use a " -"static image as default screenshot and set the video as a secondary " -"screenshot." +"This component has no `content_rating` tag to provide age rating " +"information. You can generate the tag data online by answering a few " +"questions at https://hughsie.github.io/oars/" +msgstr "" + +#: src/as-validator.c:150 +msgid "" +"The emitted issue tag is unknown in the tag registry of AppStream. This is a " +"bug in the validator itself, please report this issue in our bugtracker." +msgstr "" +"Der gesendete Issue-Tag ist im Tag-Verzeichnis von AppStream nicht " +"enthalten. Das ist ein Fehler im Validierer selbst, bitte melden Sie dieses " +"Problem in unserem Bugtracker." + +#: src/as-validator.c:344 +msgid "URL format is invalid." +msgstr "Das URL-Format ist ungültig." + +#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. +#: src/as-validator.c:522 src/as-validator.c:937 src/as-validator.c:1031 +#: src/as-validator.c:1428 src/as-validator.c:1448 src/as-validator.c:1481 +#, c-format +msgid "Found: %s - Allowed: %s" +msgstr "Gefunden: %s - Zugelassen: %s" + +#. TRANSLATORS: ascompose flag description for: --verbose +#: tools/appstream-compose.c:181 +#, fuzzy +msgid "Show extra debugging information" +msgstr "Zusätzliche Fehlersuchinformationen anzeigen." + +#. TRANSLATORS: ascompose flag description for: --no-color +#. TRANSLATORS: ascli flag description for: --no-color +#: tools/appstream-compose.c:184 tools/appstreamcli.c:1087 +msgid "Don't show colored output." +msgstr "Keine farbige Ausgabe anzeigen." + +#. TRANSLATORS: ascompose flag description for: --version +#. TRANSLATORS: ascli flag description for: --version +#: tools/appstream-compose.c:187 tools/appstreamcli.c:1076 +msgid "Show the program version." +msgstr "Programmversion anzeigen." + +#. TRANSLATORS: ascompose flag description for: --full-report +#: tools/appstream-compose.c:190 +msgid "Set mode of the issue report that is printed to the console" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --prefix +#: tools/appstream-compose.c:193 +msgid "Override the default prefix (`/usr` by default)" msgstr "" -#: src/as-validator-issue-tag.h:86 -msgid "" -"The description contains a web URL in plain text. This is not allowed, " -"please use the tag instead to share links." +#. TRANSLATORS: ascompose flag description for: --result-root +#: tools/appstream-compose.c:196 +msgid "Set the result output directory" msgstr "" -#: src/as-validator.c:152 -msgid "" -"The emitted issue tag is unknown in the tag registry of AppStream. This is a " -"bug in the validator itself, please report this issue in our bugtracker." +#. TRANSLATORS: ascompose flag description for: --data-dir, `collection metadata` is an AppStream term +#: tools/appstream-compose.c:199 +msgid "Override the collection metadata output directory" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:435 -msgid "" -"The essential tag 'metadata_license' is missing. A license for the metadata " -"itself always has to be defined." +#. TRANSLATORS: ascompose flag description for: --icons-dir +#: tools/appstream-compose.c:202 +msgid "Override the icon output directory" msgstr "" -#: src/as-validator-issue-tag.h:79 +#. TRANSLATORS: ascompose flag description for: --media-dir +#: tools/appstream-compose.c:205 msgid "" -"The first 'description/p' paragraph of this component might be too short (< " -"80 characters). Please consider starting with a longer paragraph to improve " -"how the description looks like in software centers and to provide more " -"detailed information on this component immediately in the first paragraph." +"Set the media output directory (for media data to be served by a webserver)" msgstr "" -#: src/as-validator-issue-tag.h:156 -msgid "" -"The license ID was not found in the SPDX database. Please check that the " -"license ID is written in an SPDX-conformant way and is a valid free software " -"license." +#. TRANSLATORS: ascompose flag description for: --hints-dir +#: tools/appstream-compose.c:208 +msgid "Set a directory where HTML and text issue reports will be stored" msgstr "" -#: src/as-validator-issue-tag.h:96 -msgid "" -"The mentioned tag is empty, which is highly likely not intended as it should " -"have content." +#. TRANSLATORS: ascompose flag description for: --origin +#. TRANSLATORS: ascompose flag description for: --media-baseurl +#: tools/appstream-compose.c:211 tools/appstream-compose.c:214 +msgid "Set the origin name" msgstr "" -#: src/as-validator-issue-tag.h:168 -msgid "" -"The metadata itself does not seem to be licensed under a permissive license. " -"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " -"0BSD to allow distributors to include it in mixed data collections without " -"the risk of license violations due to mutually incompatible licenses." +#. TRANSLATORS: ascompose flag description for: --components +#: tools/appstream-compose.c:217 +msgid "A comma-separated list of component-IDs to accept" msgstr "" -#: src/as-validator-issue-tag.h:162 -msgid "" -"The metadata itself seems to be licensed under a complex collection of " -"licenses. Please license the data under a simple permissive license, like " -"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " -"collections without the risk of license violations due to mutually " -"incompatible licenses." +#. TRANSLATORS: error message +#: tools/appstream-compose.c:231 +msgid "Failed to parse arguments" msgstr "" -#: src/as-validator-issue-tag.h:599 +#. TRANSLATORS: Output if appstreamcli --version is executed. +#: tools/appstream-compose.c:242 tools/appstreamcli.c:1230 +#, c-format +msgid "AppStream version: %s" +msgstr "AppStream-Version: %s" + +#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. +#: tools/appstream-compose.c:245 tools/appstreamcli.c:1233 +#, c-format msgid "" -"The metainfo file is stored in a legacy path. Please place it in '/usr/share/" -"metainfo'." +"AppStream CLI tool version: %s\n" +"AppStream library version: %s" msgstr "" +"AppStream-CLI-Werkzeugversion: %s\n" +"AppStream-Bibliothekenversion: %s" -#: src/as-validator-issue-tag.h:604 -msgid "The metainfo file specifies multiple components. This is not allowed." +#. TRANSLATORS: invalid value for the --print-report CLI option +#: tools/appstream-compose.c:264 +#, c-format +msgid "" +"Invalid value for `--print-report` option: %s\n" +"Possible values are:\n" +"`on-error` - only prints a short report if the run failed (default)\n" +"`short` - generates an abridged report\n" +"`full` - a detailed report will be printed" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:559 -msgid "" -"The metainfo file uses an ancient version of the AppStream specification, " -"which can not be validated. Please migrate it to version 0.6 (or higher)." +#: tools/appstream-compose.c:285 +#, c-format +msgid "Automatically selected '%s' as data output location." msgstr "" -#: src/as-validator-issue-tag.h:569 -#, fuzzy -msgid "The metainfo filename does not match the component ID." -msgstr "Anwendung mit passender Komponentenkennung entfernen." +#. TRANSLATORS: we don't have a destination directory for compose +#: tools/appstream-compose.c:288 +msgid "No destination directory set, please provide a data output location!" +msgstr "" -#: src/as-validator-issue-tag.h:609 -msgid "" -"The releases are not sorted in a latest to oldest version order. This is " -"required as some tools will assume that the latest version is always at the " -"top. Sorting releases also increases overall readability of the metainfo " -"file." +#: tools/appstream-compose.c:298 tools/appstream-compose.c:300 +msgid "WARNING" msgstr "" -#: src/as-validator-issue-tag.h:537 -msgid "The screenshot caption is too long (should be <= 80 characters)" +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:337 +#, c-format +msgid "Only accepting components: %s" msgstr "" -#: src/as-validator-issue-tag.h:206 -msgid "The screenshot does not have a caption text. Consider adding one." +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:340 +#, c-format +msgid "Only accepting component: %s" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:218 -msgid "" -"The screenshot video does not specify which container format was used in a " -"'container' property." +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:345 +msgid "Processing directories:" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:212 -msgid "" -"The screenshot video does not specify which video codec was used in a " -"'codec' property." +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:348 +msgid "Processing directory:" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:224 -msgid "" -"The selected video codec is not supported by AppStream and software centers " -"may not be able to play the video. Only the AV1 and VP9 codecs are currently " -"supported, using 'av1' and 'vp9' as values for the 'codec' property." +#. TRANSLATORS: error message +#: tools/appstream-compose.c:357 +msgid "Can not process invalid directory" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:231 -msgid "" -"The selected video container format is not supported by AppStream and " -"software centers may not be able to play the video. Only the WebM and " -"Matroska video containers are currently supported, using 'webm' and 'mkv' as " -"values for the 'container' property." +#. TRANSLATORS: information message +#: tools/appstream-compose.c:369 +msgid "Composing metadata..." msgstr "" -#: src/as-validator-issue-tag.h:283 +#. TRANSLATORS: error message +#: tools/appstream-compose.c:374 #, fuzzy -msgid "" -"The set component type is not a recognized, valid AppStream component type." +msgid "Failed to compose AppStream metadata" +msgstr "Ein Dienstprogramm zum Arbeiten mit AppStream-Metadaten" + +#. TRANSLATORS: appstream-compose failed to include all data +#: tools/appstream-compose.c:380 +msgid "Run failed, some data was ignored." msgstr "" -"Der Software-Komponententyp „%s” ist in AppStream nicht gültig. Mögliche " -"Werte sind:" -#: src/as-validator-issue-tag.h:398 -msgid "" -"The set value is not an identifier for a desktop environment as registered " -"with Freedesktop.org." +#. TRANSLATORS: information message of appstream-compose +#: tools/appstream-compose.c:382 +msgid "Errors were raised during this compose run:" msgstr "" -#: tools/ascli-actions-mdata.c:449 -#, c-format +#: tools/appstream-compose.c:383 msgid "" -"The software component type '%s' is not valid in AppStream. Possible values " -"are:" +"Refer to the generated issue report data for details on the individual " +"problems." msgstr "" -"Der Software-Komponententyp „%s” ist in AppStream nicht gültig. Mögliche " -"Werte sind:" -#: src/as-validator-issue-tag.h:338 -msgid "The summary must not contain any URL. Use the tags for links." +#: tools/appstream-compose.c:386 +msgid "Overview of generated hints:" msgstr "" -#: src/as-validator-issue-tag.h:640 -msgid "" -"The type of the item that the component provides is not known to AppStream." +#. TRANSLATORS: information message +#: tools/appstream-compose.c:388 +msgid "Success!" msgstr "" -#: src/as-validator-issue-tag.h:174 -msgid "" -"The update-contact does not appear to be a valid email address (escaping of " -"'@' is only allowed as '_at_' or '_AT_')." +#. TRANSLATORS: ascli flag description for: --cachepath +#: tools/appstreamcli.c:59 +msgid "Manually selected location of AppStream cache." +msgstr "Ort des AppStream-Zwischenspeichers manuell angeben." + +#. TRANSLATORS: ascli flag description for: --datapath +#: tools/appstreamcli.c:64 +msgid "Manually selected location of AppStream metadata to scan." +msgstr "Ort der AppStream-Metadaten manuell angeben." + +#. TRANSLATORS: ascli flag description for: --no-cache +#: tools/appstreamcli.c:69 +msgid "Make request without any caching." +msgstr "Stellen Sie eine Anfrage ohne Zwischenspeicherung." + +#. TRANSLATORS: ascli flag description for: --format +#: tools/appstreamcli.c:85 +msgid "Default metadata format (valid values are 'xml' and 'yaml')." +msgstr "Standard-Metadatenformat (gültige Werte sind »XML« und »YAML«)." + +#. TRANSLATORS: ascli flag description for: --details +#: tools/appstreamcli.c:100 +msgid "Print detailed output about found components." +msgstr "Detaillierte Ausgabe über gefundene Komponenten ausgeben." + +#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) +#: tools/appstreamcli.c:118 +msgid "Also show pedantic hints." +msgstr "Auch pedantische Hinweise anzeigen." + +#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) +#: tools/appstreamcli.c:123 +msgid "Print detailed explanation for found issues." +msgstr "Detaillierte Erklärung für gefundene Probleme ausgeben." + +#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) +#: tools/appstreamcli.c:128 +msgid "Do not use network access." +msgstr "Keinen Netzwerkzugriff verwenden." + +#. TRANSLATORS: ascli flag description for: --format when validating XML files +#: tools/appstreamcli.c:133 +msgid "Format of the generated report (valid values are 'text' and 'yaml')." msgstr "" +"Format des generierten Berichts (gültige Werte sind „text” und „yaml”)." -#: tools/ascli-actions-validate.c:363 tools/ascli-actions-validate.c:492 +#. TRANSLATORS: This is the header to the --help menu for subcommands +#. TRANSLATORS: This is the header to the --help menu +#: tools/appstreamcli.c:153 tools/appstreamcli.c:981 +msgid "AppStream command-line interface" +msgstr "AppStream-Befehlszeilenoberfläche" + +#: tools/appstreamcli.c:156 #, c-format -msgid "" -"The validator can not create reports in the '%s' format. You may select " -"'yaml' or 'text' instead." -msgstr "" +msgid "'%s' command" +msgstr "Befehl »%s«" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:410 -msgid "This 'bundle' tag has an unknown type and can not be used." -msgstr "" +#. TRANSLATORS: An unknown option was passed to appstreamcli. +#: tools/appstreamcli.c:191 +#, c-format +msgid "Option '%s' is unknown." +msgstr "Option '%s' ist unbekannt." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:404 -msgid "This 'launchable' tag has an unknown type and can not be used." +#: tools/appstreamcli.c:195 tools/appstreamcli.c:1207 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options." msgstr "" +"Rufen Sie »%s --help« auf, um eine vollständige Liste der verfügbaren " +"Befehlszeilenoptionen zu sehen." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:515 +#: tools/appstreamcli.c:197 +#, c-format msgid "" -"This 'localization' component does not define any languages this " -"localization is for." +"Run '%s --help' to see a list of available commands and options, and '%s %s " +"--help' to see a list of options specific for this subcommand." msgstr "" +"Rufen Sie »%s --help« auf, um eine Liste der verfügbaren Befehle und " +"Optionen zu sehen. Rufen Sie »%s %s --help« auf, um eine Liste der " +"spezifischen Optionen für diesen Unterbefehl zu erhalten." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:509 -msgid "" -"This 'localization' component is missing an 'extends' tag, to specify the " -"components it adds localization to." +#. TRANSLATORS: ascli flag description for: --force +#: tools/appstreamcli.c:245 +msgid "Enforce a cache refresh." +msgstr "Aktualisierung des Zwischenspeichers erzwingen." + +#. TRANSLATORS: ascli flag description for: --user +#: tools/appstreamcli.c:251 +msgid "Update the user-specific instead of the system-wide cache." msgstr "" +"Aktualisiere den Benutzer-spezifischen anstelle des systemweiten Caches." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:521 -msgid "" -"This 'service' component is missing a 'launchable' tag of type 'service'." +#. TRANSLATORS: ascli flag description for: --origin (part of the "put" subcommand) +#: tools/appstreamcli.c:477 +msgid "Set the data origin for the installed metadata collection file." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:473 -msgid "" -"This 'web-application' component is missing a 'icon' tag to specify a valid " -"icon." +#. TRANSLATORS: ascli flag description for: --user (part of the "put" subcommand) +#: tools/appstreamcli.c:482 +msgid "Install the file for the current user, instead of globally." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:467 +#: tools/appstreamcli.c:631 msgid "" -"This 'web-application' component is missing a 'launchable' tag of type 'url'." +"You need to provide at least two version numbers to compare as parameters." msgstr "" +"Sie müssen mindestens zwei Versionsnummern zum Vergleichen als Parameter " +"angeben." + +#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. +#: tools/appstreamcli.c:660 +#, c-format +msgid "Unknown compare relation '%s'. Valid values are:" +msgstr "Unbekannte Vergleichsbeziehung »%s«. Gültige Werte sind:" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:479 +#: tools/appstreamcli.c:700 msgid "" -"This 'web-application' component is missing categorizations. A 'categories' " -"block is likely missing." +"Too many parameters: Need two version numbers or version numbers and a " +"comparison operator." msgstr "" +"Zu viele Parameter: Es werden zwei Versionsnummern oder Versionsnummern und " +"ein Vergleichsoperator benötigt." -#: src/as-validator-issue-tag.h:564 +#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) +#: tools/appstreamcli.c:726 msgid "" -"This XML document has an unknown root tag. Maybe this file is not a metainfo " -"document?" +"Use the given .desktop file to fill in the basic values of the metainfo file." msgstr "" +"Verwenden Sie die angegebene .desktop-Datei, um Grundwerte in die Metainfo-" +"Datei einzutragen." #. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand -#: tools/appstream-cli.c:680 +#: tools/appstreamcli.c:731 msgid "" "This command takes optional TYPE and FILE positional arguments, FILE being a " "file to write to (or \"-\" for standard output)." @@ -1567,112 +2486,232 @@ "FILE eine Datei ist, in die geschrieben werden muss (oder »-« für die " "Standardausgabe)." -#: src/as-validator-issue-tag.h:622 +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows +#: tools/appstreamcli.c:734 +#, c-format +msgid "The TYPE must be a valid component-type, such as: %s" +msgstr "Der TYPE muss ein gültiger Komponententyp sein, beispielsweise: %s" + +#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) +#: tools/appstreamcli.c:775 +msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." +msgstr "" +"Verwenden Sie die angegebene Zeile für den Schlüssel »Exec=« der Desktop-" +"entry-Datei." + +#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command +#: tools/appstreamcli.c:815 +msgid "Assume the input file is in the selected format ('yaml' or 'text')." +msgstr "Setze das angenommene Dateiformat (»yaml« oder »text«)." + +#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command +#: tools/appstreamcli.c:820 msgid "" -"This component extends, provides, requires or recommends itself, which is " -"certainly not intended and may confuse users or machines dealing with this " -"metadata." +"Limit the number of release entries that end up in the metainfo file (0 for " +"unlimited)." +msgstr "" +"Beschränke die Anzahl der Veröffentlichungseinträge die in der metainfo-" +"Datei landen (0 für unbegrenzt)." + +#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command +#: tools/appstreamcli.c:862 +msgid "Generate the output in the selected format ('yaml' or 'text')." +msgstr "Generiere die Ausgabe im ausgewählten Format («yaml» oder «text»)." + +#: tools/appstreamcli.c:894 +#, c-format +msgid "Compose binary '%s' was not found! Can not continue." +msgstr "" + +#. TRANSLATORS: this is a (usually shorter) command alias, shown after the command summary text +#: tools/appstreamcli.c:956 +#, c-format +msgid "(Alias: '%s')" +msgstr "" + +#. these are commands we can use with appstreamcli +#: tools/appstreamcli.c:983 +msgid "Subcommands:" +msgstr "Unterbefehle:" + +#: tools/appstreamcli.c:1029 +msgid "" +"You can find information about subcommand-specific options by passing \"--" +"help\" to the subcommand." +msgstr "" +"Sie erhalten Informationen zu Optionen für einen Unterbefehl, indem Sie »--" +"help« an den Unterbefehl weitergeben." + +#. TRANSLATORS: ascli has been run with unknown command. '%s --help' is the command to receive help and should not be translated. +#: tools/appstreamcli.c:1052 +#, fuzzy, c-format +msgid "" +"Command '%s' is unknown. Run '%s --help' for a list of available commands." +msgstr "" +"Rufen Sie »%s --help« auf, um eine vollständige Liste der verfügbaren " +"Befehlszeilenoptionen zu sehen." + +#. TRANSLATORS: ascli flag description for: --verbose +#: tools/appstreamcli.c:1082 +msgid "Show extra debugging information." +msgstr "Zusätzliche Fehlersuchinformationen anzeigen." + +#. TRANSLATORS: ascli flag description for: --profile +#: tools/appstreamcli.c:1090 +msgid "Enable profiling" +msgstr "" + +#. TRANSLATORS: `appstreamcli search` command description. +#: tools/appstreamcli.c:1102 +msgid "Search the component database." +msgstr "Komponentendatenbank durchsuchen." + +#. TRANSLATORS: `appstreamcli get` command description. +#: tools/appstreamcli.c:1107 +msgid "Get information about a component by its ID." +msgstr "Informationen zu einer Komponente anhand deren Kennung ermitteln." + +#. TRANSLATORS: `appstreamcli what-provides` command description. +#: tools/appstreamcli.c:1112 +msgid "" +"Get components which provide the given item. Needs an item type (e.g. lib, " +"bin, python3, …) and item value as parameter." msgstr "" -#: src/as-validator-issue-tag.h:579 -msgid "This component metadata refers to a non-existing .desktop file." +#. TRANSLATORS: `appstreamcli dump` command description. +#: tools/appstreamcli.c:1118 +msgid "Dump raw XML metadata for a component matching the ID." +msgstr "Roh-XML-Metadaten für eine zur Kennung passende Komponente ausgeben." + +#. TRANSLATORS: `appstreamcli refresh-cache` command description. +#: tools/appstreamcli.c:1123 +msgid "Rebuild the component metadata cache." +msgstr "Metadaten-Zwischenspeicher der Komponente neu erstellen." + +#. TRANSLATORS: `appstreamcli validate` command description. +#: tools/appstreamcli.c:1129 +msgid "Validate AppStream XML files for issues." +msgstr "AppStream-XML-Dateien für Probleme validieren." + +#. TRANSLATORS: `appstreamcli validate-tree` command description. +#: tools/appstreamcli.c:1134 +msgid "Validate an installed file-tree of an application for valid metadata." msgstr "" +"Einen installierten Dateibaum einer Anwendung auf gültige Metadaten " +"validieren." -#: src/as-validator-issue-tag.h:69 -msgid "" -"This description paragraph contains invalid markup. Currently, only " -"and are permitted." -msgstr "" +#. TRANSLATORS: `appstreamcli install` command description. +#: tools/appstreamcli.c:1140 +msgid "Install software matching the component-ID." +msgstr "Anwendung mit passender Komponentenkennung installieren." -#: src/as-validator-issue-tag.h:57 -msgid "" -"This element (paragraph, list, etc.) of a tag must not be " -"localized individually in collection metadata. Localize the whole " -" tag instead. The AppStream collection metadata generator (e." -"g. `appstream-generator`) will already do the right thing when compiling the " -"data." -msgstr "" +#. TRANSLATORS: `appstreamcli remove` command description. +#: tools/appstreamcli.c:1145 +msgid "Remove software matching the component-ID." +msgstr "Anwendung mit passender Komponentenkennung entfernen." -#: src/as-validator-issue-tag.h:455 -msgid "" -"This generic component is missing a long description. It may be useful to " -"add one." -msgstr "" +#. TRANSLATORS: `appstreamcli status` command description. +#: tools/appstreamcli.c:1151 +msgid "Display status information about available AppStream metadata." +msgstr "Statusinformationen über verfügbare AppStream-Metadaten anzeigen." -#: src/as-validator-issue-tag.h:421 +#. TRANSLATORS: `appstreamcli os-info` command description. +#: tools/appstreamcli.c:1156 msgid "" -"This tag is a GNOME-specific extension to AppStream and not part of the " -"official specification. Do not expect it to work in all implementations and " -"in all software centers." +"Show information about the current operating system from the metadata index." msgstr "" -#: src/as-validator-issue-tag.h:41 -msgid "This tag requires a type property." -msgstr "" +#. TRANSLATORS: `appstreamcli put` command description. +#: tools/appstreamcli.c:1161 +msgid "Install a metadata file into the right location." +msgstr "Metadaten im richtigen Ort installieren." -#: data/org.freedesktop.appstream.cli.metainfo.xml:15 -msgid "" -"This tool allows for reading, writing, validating and transformation of " -"AppStream XML or YAML metadata. It also gives access to the system metadata " -"pool, for example to query for software that provides a specific MIME-type, " -"and installing it by its software component identifier." -msgstr "" -"Dieses Werkzeug ermöglicht das Lesen, Schreiben, Überprüfen und Umwandeln " -"von AppStream XML- oder YAML-Metadaten. Es erlaubt auch den Zugriff auf den " -"System-Metadaten-Pool, z. B. Abfrage nach Anwendungen, die einen bestimmten " -"MIME-Typ liefert und Installation anhand der Softwarekomponentenkennung." +#. TRANSLATORS: `appstreamcli convert` command description. "Collection XML" is a term describing a specific type of AppStream XML data. +#: tools/appstreamcli.c:1166 +msgid "Convert collection XML to YAML or vice versa." +msgstr "Konvertiert XML-Sammlungen nach YAML und umgekehrt." -#: src/as-validator-issue-tag.h:388 +#. TRANSLATORS: `appstreamcli vercmp` command description. +#: tools/appstreamcli.c:1171 +msgid "Compare two version numbers." +msgstr "Zwei Versionsnummern vergleichen." + +#. TRANSLATORS: `appstreamcli new-template` command description. +#: tools/appstreamcli.c:1177 msgid "" -"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." +"Create a template for a metainfo file (to be filled out by the upstream " +"project)." msgstr "" +"Erstellen Sie eine Vorlage für eine Metainfo-Datei (die vom Upstream-Projekt " +"auszufüllen ist)." -#: tools/appstream-cli.c:648 -msgid "" -"Too many parameters: Need two version numbers or version numbers and a " -"comparison operator." +#. TRANSLATORS: `appstreamcli make-desktop-file` command description. +#: tools/appstreamcli.c:1182 +#, fuzzy +msgid "Create a desktop-entry file from a metainfo file." +msgstr "Erzeuge einen XDG Desktop-Eintrag aus einer Metainfo-Datei." + +#. TRANSLATORS: `appstreamcli news-to-metainfo` command description. +#: tools/appstreamcli.c:1187 +msgid "Convert a YAML or text NEWS file into metainfo releases." msgstr "" -"Zu viele Parameter: Es werden zwei Versionsnummern oder Versionsnummern und " -"ein Vergleichsoperator benötigt." +"Konvertiere ein YAML oder text NEWS Datei in das metainfo release Format." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:461 -msgid "" -"Type 'console-application' component, but no information about binaries in " -"$PATH was provided via a 'provides/binary' tag." +#. TRANSLATORS: `appstreamcli metainfo-to-news` command description. +#: tools/appstreamcli.c:1192 +msgid "Write NEWS text or YAML file with information from a metainfo file." msgstr "" +"Schreiben Sie NEWS-Text oder YAML-Datei mit Informationen aus einer Metainfo-" +"Datei." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:491 -msgid "" -"Type 'driver' component, but no modalias information was provided via a " -"provides/modalias tag." +#. TRANSLATORS: `appstreamcli compose` command description. +#: tools/appstreamcli.c:1198 +#, fuzzy +msgid "Compose AppStream collection metadata from directory trees." msgstr "" +"In diesem Verzeichnis oder diesem Verzeichnisbaum wurden keine AppStream-" +"Metadaten gefunden." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:485 -msgid "" -"Type 'font' component, but no font information was provided via a 'provides/" -"font' tag." +#. TRANSLATORS: ascli has been run without command. +#: tools/appstreamcli.c:1206 +msgid "You need to specify a command." +msgstr "Sie müssen einen Befehl angeben." + +#. TRANSLATORS: In ascli: The requested action needs higher permissions. +#: tools/ascli-actions-mdata.c:70 +msgid "You might need superuser permissions to perform this action." msgstr "" +"Sie brauchen vielleicht Administratorrechte, um diese Aktion auszuführen." -#: src/as-validator.c:333 -msgid "URL format is invalid." +#. we performed a cache refresh +#. TRANSLATORS: Updating the metadata cache succeeded +#: tools/ascli-actions-mdata.c:80 +msgid "AppStream cache update completed successfully." +msgstr "AppStream-Zwischenspeicher wurde erfolgreich vervollständigt." + +#. cache wasn't updated, so the update wasn't necessary +#: tools/ascli-actions-mdata.c:86 +msgid "AppStream cache update is not necessary." msgstr "" +"Zwischenspeicher wurde nicht aktualisiert, so dass die Aktualisierung nicht " +"notwendig war." + +#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments +#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. +#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:253 +#: tools/ascli-actions-pkgmgr.c:80 +msgid "You need to specify a component-ID." +msgstr "Sie müssen eine Komponenten-Kennung angeben." -#: tools/ascli-actions-mdata.c:544 +#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:265 +#: tools/ascli-actions-pkgmgr.c:93 #, c-format -msgid "Unable to build the template metainfo file: %s" -msgstr "Die Metainfo-Vorlagendatei konnte nicht erstellt werden: %s" +msgid "Unable to find component with ID '%s'!" +msgstr "Komponente mit Kennung »%s« kann nicht gefunden werden!" -#. TRANSLATORS: User is trying to convert a file in ascli -#: tools/ascli-actions-mdata.c:400 -msgid "" -"Unable to convert file: Could not determine output format, please set it " -"explicitly using '--format='." -msgstr "" -"Datei kann nicht umgewandelt werden: Das Ausgabeformat konnte nicht bestimmt " -"werden. Bitte legen Sie es explizit mit »--format=« fest." +#: tools/ascli-actions-mdata.c:164 +msgid "You need to specify a term to search for." +msgstr "Sie müssen einen Suchbegriff angeben." #. TRANSLATORS: We failed to find any component in the database, likely due to an error #: tools/ascli-actions-mdata.c:177 @@ -1680,340 +2719,425 @@ msgid "Unable to find component matching %s!" msgstr "Eine %s entsprechende Komponente konnte nicht gefunden werden!" -#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:266 -#: tools/ascli-actions-pkgmgr.c:93 +#: tools/ascli-actions-mdata.c:182 #, c-format -msgid "Unable to find component with ID '%s'!" -msgstr "Komponente mit Kennung »%s« kann nicht gefunden werden!" +msgid "No component matching '%s' found." +msgstr "Es wurde keine auf »%s« passende Komponente gefunden." -#: tools/ascli-actions-misc.c:224 -#, fuzzy, c-format -msgid "Unable to load existing desktop-entry file template: %s" -msgstr "Die .desktop-Datei konnte nicht gelesen werden: %s" +#: tools/ascli-actions-mdata.c:206 +msgid "No value for the item to search for was defined." +msgstr "Kein Wert für das zu suchende Objekt angegeben." -#: src/as-validator-issue-tag.h:356 -msgid "Unable to reach remote icon at the given web location - does it exist?" +#: tools/ascli-actions-mdata.c:212 +msgid "Invalid type for provided item selected. Valid values are:" msgstr "" +"Ungültiger Typ für bereitgestelltes Objekt angegeben. Gültige Werte sind:" + +#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results +#: tools/ascli-actions-mdata.c:227 +#, c-format +msgid "Could not find component providing '%s::%s'." +msgstr "Es konnte keine Komponente gefunden werden, die »%s;%s« bereitstellt." + +#: tools/ascli-actions-mdata.c:306 +msgid "You need to specify a metadata file." +msgstr "Sie müssen eine Metadatendatei angeben." + +#: tools/ascli-actions-mdata.c:320 +#, fuzzy, c-format +msgid "Unable to install metadata file: %s" +msgstr "Der Desktop-Eintrag konnte nicht gespeichert werden: %s" + +#: tools/ascli-actions-mdata.c:340 +msgid "You need to specify an input and output file." +msgstr "Sie müssen eine Eingabe- und Ausgabedatei angeben." + +#: tools/ascli-actions-mdata.c:347 +#, c-format +msgid "Metadata file '%s' does not exist." +msgstr "Metadaten-Datei »%s« existiert nicht." -#: src/as-validator-issue-tag.h:378 +#. TRANSLATORS: User is trying to convert a file in ascli +#: tools/ascli-actions-mdata.c:387 msgid "" -"Unable to reach remote location that this URL references - does it exist?" +"Unable to convert file: Could not determine output format, please set it " +"explicitly using '--format='." msgstr "" +"Datei kann nicht umgewandelt werden: Das Ausgabeformat konnte nicht bestimmt " +"werden. Bitte legen Sie es explizit mit »--format=« fest." -#: src/as-validator-issue-tag.h:179 +#: tools/ascli-actions-mdata.c:438 +#, fuzzy, c-format +msgid "Unable to find operating system component '%s'!" +msgstr "Komponente mit Kennung »%s« kann nicht gefunden werden!" + +#: tools/ascli-actions-mdata.c:443 +#, fuzzy +msgid "Version" +msgstr "Version: %s" + +#: tools/ascli-actions-mdata.c:467 msgid "" -"Unable to reach the screenshot image on its remote location - does the image " -"exist?" +"You need to give an AppStream software component type to generate a " +"template. Possible values are:" msgstr "" +"Um eine Vorlage zu erstellen, müssen Sie einen AppStream-" +"Softwarekomponententyp angeben. Mögliche Werte sind:" -#: src/as-validator-issue-tag.h:184 +#: tools/ascli-actions-mdata.c:469 +#, c-format msgid "" -"Unable to reach the screenshot video on its remote location - does the video " -"file exist?" +"The software component type '%s' is not valid in AppStream. Possible values " +"are:" msgstr "" +"Der Software-Komponententyp „%s” ist in AppStream nicht gültig. Mögliche " +"Werte sind:" -#: src/as-validator-issue-tag.h:542 -#, fuzzy -msgid "Unable to read file." -msgstr "Leeren des Zwischenspeichers fehlgeschlagen." - -#: src/as-validator-issue-tag.h:574 -#, fuzzy -msgid "Unable to read the .desktop file associated with this component." -msgstr "Die .desktop-Datei konnte nicht gelesen werden: %s" +#: tools/ascli-actions-mdata.c:487 +#, c-format +msgid "The .desktop file '%s' does not exist." +msgstr "Die .desktop Datei »%s« ist nicht vorhanden." -#: tools/ascli-actions-mdata.c:473 +#: tools/ascli-actions-mdata.c:493 #, c-format msgid "Unable to read the .desktop file: %s" msgstr "Die .desktop-Datei konnte nicht gelesen werden: %s" -#: src/as-pool.c:606 -msgid "Unable to remove old cache." -msgstr "Leeren des Zwischenspeichers fehlgeschlagen." +#: tools/ascli-actions-mdata.c:564 +#, c-format +msgid "Unable to build the template metainfo file: %s" +msgstr "Die Metainfo-Vorlagendatei konnte nicht erstellt werden: %s" -#: tools/ascli-actions-misc.c:370 -#, fuzzy, c-format -msgid "Unable to save desktop entry file: %s" -msgstr "Die .desktop-Datei konnte nicht gelesen werden: %s" +#: tools/ascli-actions-mdata.c:572 +#, c-format +msgid "Unable to save the template metainfo file: %s" +msgstr "Die Metainfo-Datei der Vorlage kann nicht gespeichert werden: %s" + +#. TRANSLATORS: In the status report of ascli: Header +#: tools/ascli-actions-misc.c:47 +msgid "AppStream Status:" +msgstr "AppStream-Status:" + +#: tools/ascli-actions-misc.c:48 +#, c-format +msgid "Version: %s" +msgstr "Version: %s" + +#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions +#: tools/ascli-actions-misc.c:52 +msgid "Distribution metadata:" +msgstr "Distributions-Metadaten:" + +#: tools/ascli-actions-misc.c:94 +msgid "Iconsets" +msgstr "Symbolsätze" + +#: tools/ascli-actions-misc.c:105 +msgid "No icons." +msgstr "Keine Symbole." + +#. TRANSLATORS: No metainfo files have been found +#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 +msgid "Empty." +msgstr "Leer." + +#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report +#: tools/ascli-actions-misc.c:116 +msgid "Metainfo files:" +msgstr "Metainfo-Dateien:" + +#: tools/ascli-actions-misc.c:123 +#, c-format +msgid "Found %i components." +msgstr "%i Komponenten gefunden." + +#. TRANSLATORS: Found metainfo files in legacy directories +#: tools/ascli-actions-misc.c:138 +#, c-format +msgid "Found %i components in legacy paths." +msgstr "%i Komponenten in veralteten Pfaden gefunden." + +#. TRANSLATORS: Status summary in ascli +#: tools/ascli-actions-misc.c:145 +msgid "Summary:" +msgstr "Zusammenfassung:" + +#: tools/ascli-actions-misc.c:153 +#, c-format +msgid "We have information on %i software components." +msgstr "Wir haben Informationen zu %i Softwarekomponenten." + +#: tools/ascli-actions-misc.c:159 +#, c-format +msgid "Error while loading the metadata pool: %s" +msgstr "Fehler beim Laden das Metadatenpools: %s" + +#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 +msgid "You need to specify a metainfo file as input." +msgstr "Sie müssen eine Metadatendatei als Eingabe angeben." + +#: tools/ascli-actions-misc.c:188 +msgid "" +"You need to specify a desktop-entry file to create or augment as output." +msgstr "" +"Sie müssen eine Datei als Desktop-Eintrag angeben, die erzeugt oder " +"erweitert werden soll." + +#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 +#: tools/ascli-actions-misc.c:515 +#, c-format +msgid "Metainfo file '%s' does not exist." +msgstr "Metainfo-Datei »%s« existiert nicht." -#: tools/ascli-actions-mdata.c:552 +#: tools/ascli-actions-misc.c:219 #, c-format -msgid "Unable to save the template metainfo file: %s" -msgstr "Die Metainfo-Datei der Vorlage kann nicht gespeichert werden: %s" +msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." +msgstr "" +"Vervollständige den existierenden Desktop-Eintrag »%s« mit Daten von »%s«." -#: tools/ascli-actions-pkgmgr.c:67 +#: tools/ascli-actions-misc.c:224 #, c-format -msgid "Unable to spawn package manager: %s" -msgstr "Paketverwaltung konnte nicht aufgerufen werden: %s" +msgid "Unable to load existing desktop-entry file template: %s" +msgstr "Der Beispiel-Desktop-Eintrag konnte nicht geladen werden: %s" -#: tools/ascli-actions-mdata.c:322 +#: tools/ascli-actions-misc.c:228 #, c-format -msgid "Unable to write to '%s', can not install metainfo file." +msgid "Creating new desktop-entry file '%s' using data from '%s'" +msgstr "Erzeuge neuen Desktop-Eintrag »%s« aus Daten von »%s«" + +#: tools/ascli-actions-misc.c:284 +msgid "No stock icon name was provided in the metainfo file. Can not continue." msgstr "" -"„%s” konnte nicht geschrieben werden. Metainfo-Datei konnte nicht " -"installiert werden." +"In der Metainfo-Datei wurde kein Name des Bestandssymbols angegeben. Kann " +"nicht fortgesetzt werden." -#. TRANSLATORS: ascli has been run with unknown command. -#: tools/appstream-cli.c:1009 -#, c-format -msgid "Unknown command '%s'." -msgstr "Unbekannter Befehl „%s”" +#: tools/ascli-actions-misc.c:306 +msgid "" +"No provided binary specified in metainfo file, and no exec command specified " +"via '--exec'. Can not create 'Exec=' key." +msgstr "" +"Keine mitgelieferte Binärdatei, die in der Metainfodatei angegeben ist, und " +"kein über '--exec' angegebener exec-Befehl. Kann keinen 'Exec='-Schlüssel " +"erzeugen." -#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. -#: tools/appstream-cli.c:608 +#: tools/ascli-actions-misc.c:370 #, c-format -msgid "Unknown compare relation '%s'. Valid values are:" -msgstr "Unbekannte Vergleichsbeziehung »%s«. Gültige Werte sind:" +msgid "Unable to save desktop entry file: %s" +msgstr "Der Desktop-Eintrag konnte nicht gespeichert werden: %s" -#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) -#: tools/appstream-cli.c:675 +#: tools/ascli-actions-misc.c:393 +msgid "You need to specify a NEWS file as input." +msgstr "Sie müssen eine NEWS-Datei als Quelle angeben." + +#: tools/ascli-actions-misc.c:397 msgid "" -"Use the given .desktop file to fill in the basic values of the metainfo file." +"You need to specify a metainfo file to augment, or '-' to print to stdout." msgstr "" -"Verwenden Sie die angegebene .desktop-Datei, um Grundwerte in die Metainfo-" -"Datei einzutragen." +"Sie müssen eine Metadatendatei angeben, oder '-' für eine Ausgabe nach " +"stdout." -#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) -#: tools/appstream-cli.c:725 -msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." +#: tools/ascli-actions-misc.c:402 +msgid "No output filename specified, modifying metainfo file directly." msgstr "" +"Es wurde kein Ausgabedateiname angegeben, die metainfo-Datei wird direkt " +"geändert." -#. TRANSLATORS: this is the menu spec main category for Utilities -#: src/as-category.c:329 -msgid "Utilities" -msgstr "Hilfsprogramme" +#: tools/ascli-actions-misc.c:509 +msgid "You need to specify a NEWS file as output, or '-' to print to stdout." +msgstr "" +"Sie müssen eine NEWS-Datei als Ausgabe angeben, oder »-« für die Ausgabe " +"nach stdout." -#: tools/appstream-cli.c:856 -msgid "Validate AppStream XML files for issues." -msgstr "AppStream-XML-Dateien für Probleme validieren." +#: tools/ascli-actions-misc.c:540 +msgid "You need to specify a NEWS format to write the output in." +msgstr "Sie müssen ein NEWS-Formt zum Schreiben der Ausgabe angeben." -#: tools/appstream-cli.c:857 -msgid "Validate an installed file-tree of an application for valid metadata." +#: tools/ascli-actions-pkgmgr.c:53 +msgid "" +"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" +"\" (part of PackageKit) is available." msgstr "" -"Einen installierten Dateibaum einer Anwendung auf gültige Metadaten " -"validieren." +"Keine verwendbare Befehlszeilenschnittstelle einer Paketverwaltung gefunden. " +"Bitte stellen Sie sicher, dass zum Beispiel »pkcon« (Teil von PackageKit) " +"verfügbar ist." -#: tools/ascli-actions-validate.c:301 tools/ascli-actions-validate.c:442 +#: tools/ascli-actions-pkgmgr.c:67 #, c-format -msgid "Validation failed: %s" -msgstr "Validierung fehlgeschlagen: %s" - -#: tools/ascli-actions-validate.c:289 tools/ascli-actions-validate.c:430 -msgid "Validation was successful." -msgstr "Validierung war erfolgreich." +msgid "Unable to spawn package manager: %s" +msgstr "Paketverwaltung konnte nicht aufgerufen werden: %s" -#: tools/ascli-actions-validate.c:291 tools/ascli-actions-validate.c:432 +#. TRANSLATORS: We found no distribution package or bundle to install to make this software available +#: tools/ascli-actions-pkgmgr.c:106 #, c-format -msgid "Validation was successful: %s" -msgstr "Validierung war erfolgreich: %s" +msgid "Component '%s' has no installation candidate." +msgstr "Die Komponente »%s« besitzt keinen Installationskandidaten." -#: tools/appstream-cli.c:851 -msgid "Value of the item that should be found." -msgstr "Wert des Objekts, das gefunden werden soll." +#: tools/ascli-actions-validate.c:176 tools/ascli-actions-validate.c:354 +#, c-format +msgid "File '%s' does not exist." +msgstr "Datei »%s« existiert nicht." -#: src/as-category.c:177 -msgctxt "Category of Graphics" -msgid "Vector Graphics" -msgstr "Vektorgrafik" +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "error"-type hints +#: tools/ascli-actions-validate.c:228 +#, c-format +msgid "errors: %lu" +msgstr "Fehler: %lu" -#: tools/ascli-actions-misc.c:48 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "warning"-type hints +#: tools/ascli-actions-validate.c:235 #, c-format -msgid "Version: %s" -msgstr "Version: %s" +msgid "warnings: %lu" +msgstr "Warnhinweise: %lu" -#: src/as-category.c:180 -msgctxt "Category of Graphics" -msgid "Viewers" -msgstr "Betrachter" +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "info"-type hints +#: tools/ascli-actions-validate.c:242 +#, c-format +msgid "infos: %lu" +msgstr "Informationen: %lu" -#: tools/ascli-actions-misc.c:153 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "pedantic"-type hints +#: tools/ascli-actions-validate.c:249 #, c-format -msgid "We have information on %i software components." -msgstr "Wir haben Informationen zu %i Softwarekomponenten." +msgid "pedantic: %lu" +msgstr "Pedantisch: %lu" -#: src/as-category.c:270 -msgctxt "Category of Communication" -msgid "Web Browsers" -msgstr "Internet-Browser" +#: tools/ascli-actions-validate.c:268 tools/ascli-actions-validate.c:342 +msgid "You need to specify at least one file to validate!" +msgstr "Sie müssen mindestens eine Datei zum Überprüfen angeben!" -#: src/as-category.c:202 -msgctxt "Category of Office" -msgid "Word Processor" -msgstr "Textverarbeitung" +#: tools/ascli-actions-validate.c:294 tools/ascli-actions-validate.c:435 +msgid "Validation was successful." +msgstr "Validierung war erfolgreich." -#: tools/appstream-cli.c:871 -msgid "Write NEWS text or YAML file with information from a metainfo file." -msgstr "" +#: tools/ascli-actions-validate.c:296 tools/ascli-actions-validate.c:437 +#, c-format +msgid "Validation was successful: %s" +msgstr "Validierung war erfolgreich: %s" + +#: tools/ascli-actions-validate.c:306 tools/ascli-actions-validate.c:447 +#, c-format +msgid "Validation failed: %s" +msgstr "Validierung fehlgeschlagen: %s" -#: tools/appstream-cli.c:874 +#: tools/ascli-actions-validate.c:368 tools/ascli-actions-validate.c:497 +#, c-format msgid "" -"You can find information about subcommand-specific options by passing \"--" -"help\" to the subcommand." +"The validator can not create reports in the '%s' format. You may select " +"'yaml' or 'text' instead." msgstr "" -"Sie erhalten Informationen zu Optionen für einen Unterbefehl, indem Sie »--" -"help« an den Unterbefehl weitergeben." +"Der Validierer kann keine Berichte im '%s'-Format erstellen. Wähle " +"stattdessen 'yaml' or 'text'." -#. TRANSLATORS: In ascli: The requested action needs higher permissions. -#: tools/ascli-actions-mdata.c:70 -msgid "You might need superuser permissions to perform this action." +#: tools/ascli-actions-validate.c:390 tools/ascli-actions-validate.c:484 +msgid "You need to specify a root directory to start validation!" msgstr "" -"Sie brauchen vielleicht Administratorrechte, um diese Aktion auszuführen." +"Sie müssen ein Root-Verzeichnis angeben, um die Validierung zu starten!" -#: tools/ascli-actions-mdata.c:447 -msgid "" -"You need to give an AppStream software component type to generate a " -"template. Possible values are:" -msgstr "" -"Um eine Vorlage zu erstellen, müssen Sie einen AppStream-" -"Softwarekomponententyp angeben. Mögliche Werte sind:" +#: tools/ascli-utils.c:266 +msgid "Identifier" +msgstr "Bezeichner" -#: tools/appstream-cli.c:579 -msgid "" -"You need to provide at least two version numbers to compare as parameters." +#: tools/ascli-utils.c:268 +msgid "Internal ID" msgstr "" -"Sie müssen mindestens zwei Versionsnummern zum Vergleichen als Parameter " -"angeben." -#: tools/ascli-actions-misc.c:393 -#, fuzzy -msgid "You need to specify a NEWS file as input." -msgstr "Sie müssen eine Metadatendatei angeben." +#: tools/ascli-utils.c:269 +msgid "Name" +msgstr "Name" -#: tools/ascli-actions-misc.c:509 -#, fuzzy -msgid "You need to specify a NEWS file as output, or '-' to print to stdout." -msgstr "Sie müssen eine Metadatendatei angeben." +#: tools/ascli-utils.c:270 +msgid "Summary" +msgstr "Zusammenfassung" -#: tools/ascli-actions-misc.c:540 -#, fuzzy -msgid "You need to specify a NEWS format to write the output in." -msgstr "Sie müssen eine Eingabe- und Ausgabedatei angeben." +#: tools/ascli-utils.c:271 +msgid "Package" +msgstr "Paket" -#. TRANSLATORS: ascli has been run without command. -#: tools/appstream-cli.c:925 -msgid "You need to specify a command." -msgstr "Sie müssen einen Befehl angeben." +#: tools/ascli-utils.c:272 +msgid "Bundle" +msgstr "Paket" -#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments -#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. -#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:254 -#: tools/ascli-actions-pkgmgr.c:80 -msgid "You need to specify a component-ID." -msgstr "Sie müssen eine Komponenten-ID angeben." +#: tools/ascli-utils.c:273 +msgid "Homepage" +msgstr "Homepage" -#: tools/ascli-actions-misc.c:188 -#, fuzzy -msgid "" -"You need to specify a desktop-entry file to create or augment as output." -msgstr "Sie müssen eine Datei zum Überprüfen angeben!" +#: tools/ascli-utils.c:274 +msgid "Icon" +msgstr "Symbol" -#: tools/ascli-actions-mdata.c:309 -msgid "You need to specify a metadata file." -msgstr "Sie müssen eine Metadatendatei angeben." +#. developer name +#: tools/ascli-utils.c:294 +msgid "Developer" +msgstr "Entwickler" -#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 -#, fuzzy -msgid "You need to specify a metainfo file as input." -msgstr "Sie müssen eine Metadatendatei angeben." +#: tools/ascli-utils.c:300 +msgid "Extends" +msgstr "Erweitert" -#: tools/ascli-actions-misc.c:397 -#, fuzzy -msgid "" -"You need to specify a metainfo file to augment, or '-' to print to stdout." -msgstr "Sie müssen eine Metadatendatei angeben." +#: tools/ascli-utils.c:306 +msgid "Description" +msgstr "Beschreibung" -#: tools/ascli-actions-validate.c:385 tools/ascli-actions-validate.c:479 -msgid "You need to specify a root directory to start validation!" -msgstr "" -"Sie müssen ein Root-Verzeichnis angeben, um die Validierung zu starten!" +#: tools/ascli-utils.c:326 +msgid "Default Screenshot URL" +msgstr "Standardadresse für Bildschirmfotos" -#: tools/ascli-actions-mdata.c:164 -msgid "You need to specify a term to search for." -msgstr "Sie müssen einen Suchbegriff angeben." +#. project group +#: tools/ascli-utils.c:333 +msgid "Project Group" +msgstr "Projektgruppe" -#: tools/ascli-actions-mdata.c:357 -msgid "You need to specify an input and output file." -msgstr "Sie müssen eine Eingabe- und Ausgabedatei angeben." +#. license +#: tools/ascli-utils.c:336 +msgid "License" +msgstr "Lizenz" -#: tools/ascli-actions-validate.c:263 tools/ascli-actions-validate.c:337 -#, fuzzy -msgid "You need to specify at least one file to validate!" -msgstr "Sie müssen eine Datei zum Überprüfen angeben!" +#: tools/ascli-utils.c:342 +msgid "Categories" +msgstr "Kategorien" -#. TRANSLATORS: List of "grey-listed" words sperated with ";" -#. * Do not translate this list directly. Instead, -#. * provide a list of words in your language that people are likely -#. * to include in a search but that should normally be ignored in -#. * the search. -#. -#: src/as-pool.c:107 -msgid "app;application;package;program;programme;suite;tool" -msgstr "app;anwendung;paket;programm;programme;suite;werkzeug" +#: tools/ascli-utils.c:350 +msgid "Compulsory for" +msgstr "Verpflichtend für" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:223 -#, c-format -msgid "errors: %lu" -msgstr "Fehler: %lu" +#: tools/ascli-utils.c:378 +msgid "Provided Items" +msgstr "Bereitgestellte Objekte" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:237 #, c-format -msgid "infos: %lu" -msgstr "Informationen: %lu" +#~ msgid "Unable to open new cache file: %s" +#~ msgstr "Neue Cache-Datei kann nicht geöffnet werden: %s" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:244 -#, c-format -msgid "pedantic: %lu" -msgstr "Genau: %lu" +#~ msgid "" +#~ "AppStream is a cross-distribution specification to provide metadata about " +#~ "software components." +#~ msgstr "" +#~ "AppStream ist eine distributionsübergreifende Spezifikation zur " +#~ "Bereitstellung von Metadaten über Softwarekomponenten." -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:230 #, c-format -msgid "warnings: %lu" -msgstr "Warnhinweise: %lu" - -#~ msgid "Command '%s' is unknown." -#~ msgstr "Unbekanntes Kommando „%s”" - -#~ msgid "Do not use any caches when performing the request." -#~ msgstr "Keinen Zwischenspeicher beim Ausführen des Anfrage verwenden." - -#~ msgid "AppStream cache update failed." -#~ msgstr "Aktualisierung des AppStream-Zwischenspeichers ist fehlgeschlagen." +#~ msgid "Unable to write to '%s', can not install metainfo file." +#~ msgstr "" +#~ "„%s” konnte nicht geschrieben werden. Metainfo-Datei konnte nicht " +#~ "installiert werden." +#, c-format #~ msgid "" -#~ "AppStream data pool was loaded, but some metadata was ignored due to " -#~ "errors." +#~ "Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " +#~ "suffix." #~ msgstr "" -#~ "AppStream-Datenpool wurde geladen, aber einige Metadaten wurden wegen " -#~ "Fehlern ignoriert." - -#~ msgid "Can not search for unknown component type." -#~ msgstr "Kann nicht nach unbekanntem Komponententyp suchen." +#~ "»%s« konnte nicht kopiert werden: Datei besitzt keine Dateiendung »." +#~ "metainfo.xml«- oder ».appdata.xml«." -#, fuzzy -#~ msgid "Category of Games" -#~ msgstr "Kategorien" - -#, fuzzy -#~ msgid "Category of Office" -#~ msgstr "Kategorien" - -#, fuzzy -#~ msgid "Category of Science" -#~ msgstr "Kategorien" - -#~ msgid "Extensions" -#~ msgstr "Erweiterungen" +#~ msgid "An item type (e.g. lib, bin, python3, …)" +#~ msgstr "Ein Elementtyp (z. B. lib, bin, python3, …)" -#~ msgid "File %s not found or permission denied!" -#~ msgstr "Datei %s nicht gefunden oder Zugriff verweigert!" +#~ msgid "Get components which provide the given item." +#~ msgstr "Komponenten ermitteln, die das angegebene Objekt bereitstellen." -#, fuzzy -#~ msgid "No component providing '%s::%s' found." -#~ msgstr "Keine Komponente gefunden, die »%s;%s« bereitstellt." +#, c-format +#~ msgid "Unknown command '%s'." +#~ msgstr "Unbekannter Befehl »%s«." -#~ msgid "XDG Menu XML file '%s' is damaged." -#~ msgstr "XDG-Menü-XML-Datei »%s« ist beschädigt." +#~ msgid "Value of the item that should be found." +#~ msgstr "Wert des Objekts, das gefunden werden soll." diff -Nru appstream-0.12.10/po/en_GB.po appstream-0.14.5/po/en_GB.po --- appstream-0.12.10/po/en_GB.po 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/po/en_GB.po 2021-08-28 20:15:28.000000000 +0000 @@ -1,16 +1,31 @@ +# #-#-#-#-# en_GB.po (AppStream) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Matthias Klumpp # This file is distributed under the same license as the appstream package. # Translators: # Andi Chandler , 2015-2016 # Swann Martinet , 2019. +# Ciarán Ainsworth , 2020. +# Manuela Silva , 2020. +# #-#-#-#-# en_GB.po (appstream-glib) #-#-#-#-# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Andi Chandler , 2016 +# Richard Hughes , 2014-2016 +# Richard Hughes , 2016. #zanata +# Tyler Carron , 2020. +# Marvin SIlc , 2020. +# phlostically , 2021. +# +# Translators: msgid "" msgstr "" -"Project-Id-Version: AppStream\n" +"Project-Id-Version: appstream-glib\n" "Report-Msgid-Bugs-To: appstream@lists.freedesktop.org\n" -"POT-Creation-Date: 2020-01-14 01:44+0100\n" -"PO-Revision-Date: 2019-08-24 10:23+0000\n" -"Last-Translator: Swann Martinet \n" +"POT-Creation-Date: 2021-08-28 16:09+0200\n" +"PO-Revision-Date: 2021-03-23 13:29+0000\n" +"Last-Translator: phlostically \n" "Language-Team: English (United Kingdom) \n" "Language: en_GB\n" @@ -18,519 +33,1356 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 3.9-dev\n" - -#: tools/appstream-cli.c:157 -#, c-format -msgid "'%s' command" -msgstr "'%s' command" - -#: src/as-category.c:168 -msgctxt "Category of Graphics" -msgid "3D Graphics" -msgstr "3D Graphics" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:254 -msgid "" -"A 'requires' or 'recommends' item requires a value to denote a valid " -"relation." -msgstr "" -"A 'requires' or 'recommends' item requires a value to denote a valid " -"relation." - -#: src/as-validator-issue-tag.h:51 -msgid "" -"A tag must not be localized in metainfo files (upstream " -"metadata). Localize the individual paragraphs instead." -msgstr "" -"A tag must not be localised in metainfo files (upstream " -"metadata). Localise the individual paragraphs instead." - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:195 -msgid "" -"A screenshot must contain at least one image or video in order to be useful. " -"Please add an to it." -msgstr "" -"A screenshot must contain at least one image or video in order to be useful. " -"Please add an to it." - -#: src/as-validator-issue-tag.h:200 -msgid "" -"A screenshot must contain either images or videos, but not both at the same " -"time. Please use this screenshot exclusively for either static images or for " -"videos." -msgstr "" -"A screenshot must contain either images or videos, but not both at the same " -"time. Please use this screenshot exclusively for either static images or for " -"videos." - -#: src/as-category.c:123 -msgctxt "Category of Games" -msgid "Action" -msgstr "Action" - -#. TRANSLATORS: this is the main category for Add-ons -#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor -#: src/as-category.c:320 tools/ascli-utils.c:398 -msgid "Add-ons" -msgstr "Add-ons" - -#: src/as-category.c:126 -msgctxt "Category of Games" -msgid "Adventure" -msgstr "Adventure" - -#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) -#: tools/appstream-cli.c:116 -msgid "Also show pedantic hints." -msgstr "Also show pedantic hints." - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:497 -msgid "" -"An 'extends' tag is specified, but the component is not of type 'addon', " -"'localization' or 'repository'." -msgstr "" -"An 'extends' tag is specified, but the component is not of type 'addon', " -"'localization' or 'repository'." +"X-Generator: Weblate 4.5.2-dev\n" -#: tools/appstream-cli.c:850 -msgid "An item type (e.g. lib, bin, python3, …)" -msgstr "An item type (e.g. lib, bin, python3, …)" +#: data/org.freedesktop.appstream.cli.metainfo.xml:8 +msgid "AppStream CLI" +msgstr "AppStream CLI" #: data/org.freedesktop.appstream.cli.metainfo.xml:9 msgid "An utility to work with AppStream metadata" msgstr "An utility to work with AppStream metadata" -#: data/org.freedesktop.appstream.cli.metainfo.xml:8 -msgid "AppStream CLI" -msgstr "AppStream CLI" - -#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. -#: tools/appstream-cli.c:947 -#, c-format +#: data/org.freedesktop.appstream.cli.metainfo.xml:12 msgid "" -"AppStream CLI tool version: %s\n" -"AppStream library version: %s" +"AppStream is a metadata specification which permits software components to " +"provide information about themselves to automated systems and end-users " +"before the software is actually installed. The AppStream project provides " +"facilities to easily access and transform this metadata, as well as a few " +"additional services for building feature-rich software centers and similar " +"applications that make use of software metadata." msgstr "" -"AppStream CLI tool version: %s\n" -"AppStream library version: %s" - -#. TRANSLATORS: In the status report of ascli: Header -#: tools/ascli-actions-misc.c:47 -msgid "AppStream Status:" -msgstr "AppStream Status:" - -#. we performed a cache refresh -#. TRANSLATORS: Updating the metadata cache succeeded -#: tools/ascli-actions-mdata.c:80 -msgid "AppStream cache update completed successfully." -msgstr "AppStream cache update completed successfully." - -#. cache wasn't updated, so the update wasn't necessary -#: tools/ascli-actions-mdata.c:86 -msgid "AppStream cache update is not necessary." -msgstr "AppStream cache update is not necessary." - -#. TRANSLATORS: This is the header to the --help menu for subcommands -#. TRANSLATORS: This is the header to the --help menu -#: tools/appstream-cli.c:154 tools/appstream-cli.c:843 -msgid "AppStream command-line interface" -msgstr "AppStream command-line interface" -#: src/as-validator-issue-tag.h:63 +#: data/org.freedesktop.appstream.cli.metainfo.xml:18 +#, fuzzy msgid "" -"AppStream descriptions support only a limited set of tags to format text: " -"Paragraphs (

                                                                                ) and lists (

                                                                                  ,
                                                                                    ). This description markup contains " -"an invalid XML tag that would not be rendered correctly in applications " -"supporting the metainfo specification." +"The appstreamcli command-line tool allows to read, write, and " +"transform AppStream XML or YAML metadata as well as to validate it for " +"compliance with the specification. It also provides easy access to the " +"system metadata pool, for example to query for software that provides a " +"specific Mediatype handler or for installing software by its component " +"identifier." msgstr "" -"AppStream descriptions support only a limited set of tags to format text: " -"Paragraphs (

                                                                                    ) and lists (

                                                                                      ,
                                                                                        ). This description mark-up " -"contains an invalid XML tag that would not be rendered correctly in " -"applications supporting the metainfo specification." +"This tool allows for reading, writing, validating and transformation of " +"AppStream XML or YAML metadata. It also gives access to the system metadata " +"pool, for example to query for software that provides a specific MIME-type, " +"and installing it by its software component identifier." -#: data/org.freedesktop.appstream.cli.metainfo.xml:12 -msgid "" -"AppStream is a cross-distribution specification to provide metadata about " -"software components." -msgstr "" -"AppStream is a cross-distribution specification to provide metadata about " -"software components." +#: src/as-category.c:66 +msgctxt "Category of AudioVideo" +msgid "Featured" +msgstr "Featured" -#: src/as-pool.c:1937 -#, fuzzy, c-format -msgid "" -"AppStream system cache refresh failed. Turn on verbose mode to get detailed " -"issue information." -msgstr "" -"AppStream system cache refresh failed. Turn on verbose mode to get detailed " -"issue information." +#: src/as-category.c:69 +msgctxt "Category of AudioVideo" +msgid "Audio Creation & Editing" +msgstr "Audio Creation & Editing" -#. TRANSLATORS: Output if appstreamcli --version is executed. -#: tools/appstream-cli.c:944 -#, c-format -msgid "AppStream version: %s" -msgstr "AppStream version: %s" +#: src/as-category.c:75 +msgctxt "Category of AudioVideo" +msgid "Music Players" +msgstr "Music Players" -#: src/as-category.c:129 -msgctxt "Category of Games" -msgid "Arcade" -msgstr "Arcade" +#: src/as-category.c:84 +msgctxt "Category of Development" +msgid "Featured" +msgstr "Featured" -#: src/as-category.c:234 -msgctxt "Category of Science" -msgid "Artificial Intelligence" -msgstr "Artificial Intelligence" +#: src/as-category.c:87 +msgctxt "Category of Development" +msgid "Debuggers" +msgstr "Debuggers" -#: src/as-validator-issue-tag.h:91 -msgid "" -"As per AppStream specification, the mentioned tag must only appear once in " -"this context. Having multiple tags of this kind is not valid." -msgstr "" -"As per AppStream specification, the mentioned tag must only appear once in " -"this context. Having multiple tags of this kind is not valid." +#: src/as-category.c:90 +msgctxt "Category of Development" +msgid "IDEs" +msgstr "IDEs" -#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command -#: tools/appstream-cli.c:766 -msgid "Assume the input file is in the selected format ('yaml' or 'text')." -msgstr "" +#: src/as-category.c:99 +msgctxt "Category of Education" +msgid "Featured" +msgstr "Featured" -#: src/as-category.c:101 +#: src/as-category.c:102 msgctxt "Category of Education" msgid "Astronomy" msgstr "Astronomy" -#: src/as-category.c:237 -msgctxt "Category of Science" -msgid "Astronomy" -msgstr "Astronomy" +#: src/as-category.c:105 +msgctxt "Category of Education" +msgid "Chemistry" +msgstr "Chemistry" -#. TRANSLATORS: this is the menu spec main category for Audio & Video -#: src/as-category.c:302 -msgid "Audio & Video" -msgstr "Audio & Video" +#: src/as-category.c:108 +msgctxt "Category of Education" +msgid "Languages" +msgstr "Languages" -#: src/as-category.c:68 -msgctxt "Category of AudioVideo" -msgid "Audio Creation & Editing" -msgstr "Audio Creation & Editing" +#: src/as-category.c:112 +msgctxt "Category of Education" +msgid "Math" +msgstr "Maths" -#: tools/ascli-actions-misc.c:219 -#, c-format -msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." -msgstr "" +#: src/as-category.c:121 +msgctxt "Category of Games" +msgid "Featured" +msgstr "Featured" -#: src/as-provided.c:146 -msgid "Binaries" -msgstr "Binaries" +#: src/as-category.c:124 +msgctxt "Category of Games" +msgid "Action" +msgstr "Action" -#: src/as-category.c:132 +#: src/as-category.c:127 +msgctxt "Category of Games" +msgid "Adventure" +msgstr "Adventure" + +#: src/as-category.c:130 +msgctxt "Category of Games" +msgid "Arcade" +msgstr "Arcade" + +#: src/as-category.c:133 msgctxt "Category of Games" msgid "Blocks" msgstr "Blocks" -#: src/as-category.c:135 +#: src/as-category.c:136 msgctxt "Category of Games" msgid "Board" msgstr "Board" -#: tools/ascli-utils.c:299 -msgid "Bundle" -msgstr "Bundle" - -#: src/as-pool.c:1828 -#, c-format -msgid "Cache location '%s' is not writable." -msgstr "Cache location '%s' is not writable." - -#: src/as-category.c:191 -msgctxt "Category of Office" -msgid "Calendar" -msgstr "Calendar" - -#: tools/ascli-actions-mdata.c:327 -#, c-format -msgid "" -"Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " -"suffix." -msgstr "" -"Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " -"suffix." - -#: src/as-category.c:138 +#: src/as-category.c:139 msgctxt "Category of Games" msgid "Card" msgstr "Card" -#: tools/ascli-utils.c:369 -msgid "Categories" -msgstr "Categories" +#: src/as-category.c:142 +msgctxt "Category of Games" +msgid "Emulators" +msgstr "Emulators" -#: src/as-category.c:259 -msgctxt "Category of Communication" -msgid "Chat" -msgstr "Chat" +#: src/as-category.c:145 +msgctxt "Category of Games" +msgid "Kids" +msgstr "Kids" -#: src/as-category.c:104 -msgctxt "Category of Education" -msgid "Chemistry" -msgstr "Chemistry" +#: src/as-category.c:148 +msgctxt "Category of Games" +msgid "Logic" +msgstr "Logic" -#: src/as-category.c:240 -msgctxt "Category of Science" -msgid "Chemistry" -msgstr "Chemistry" +#: src/as-category.c:151 +msgctxt "Category of Games" +msgid "Role Playing" +msgstr "Role Playing" -#: src/as-category.c:214 -msgctxt "Category of Addons" -msgid "Codecs" -msgstr "Codecs" +#: src/as-category.c:154 +msgctxt "Category of Games" +msgid "Sports" +msgstr "Sports" -#. TRANSLATORS: this is the menu spec main category for Communication -#: src/as-category.c:326 -msgid "Communication & News" -msgstr "Communication & News" +#: src/as-category.c:158 +msgctxt "Category of Games" +msgid "Strategy" +msgstr "Strategy" -#: tools/appstream-cli.c:866 -msgid "Compare two version numbers." -msgstr "Compare two version numbers." +#: src/as-category.c:166 +msgctxt "Category of Graphics" +msgid "Featured" +msgstr "Featured" -#: src/as-provided.c:166 -msgid "Component" -msgstr "Component" +#: src/as-category.c:169 +msgctxt "Category of Graphics" +msgid "3D Graphics" +msgstr "3D Graphics" -#. TRANSLATORS: We found no distribution package or bundle to install to make this software available -#: tools/ascli-actions-pkgmgr.c:106 -#, c-format -msgid "Component '%s' has no installation candidate." -msgstr "Component '%s' has no installation candidate." +#: src/as-category.c:172 +msgctxt "Category of Graphics" +msgid "Photography" +msgstr "Photography" -#: tools/ascli-utils.c:377 -msgid "Compulsory for" -msgstr "Compulsory for" +#: src/as-category.c:175 +msgctxt "Category of Graphics" +msgid "Scanning" +msgstr "Scanning" -#: src/as-validator-issue-tag.h:361 -msgid "Consider using a secure (HTTPS) URL for the remote icon link." -msgstr "Consider using a secure (HTTPS) URL for the remote icon link." +#: src/as-category.c:178 +msgctxt "Category of Graphics" +msgid "Vector Graphics" +msgstr "Vector Graphics" -#: src/as-validator-issue-tag.h:383 -msgid "Consider using a secure (HTTPS) URL for this web link." -msgstr "Consider using a secure (HTTPS) URL for this web link." +#: src/as-category.c:181 +msgctxt "Category of Graphics" +msgid "Viewers" +msgstr "Viewers" -#: src/as-validator-issue-tag.h:189 -msgid "" -"Consider using a secure (HTTPS) URL to reference this screenshot image or " -"video." -msgstr "" -"Consider using a secure (HTTPS) URL to reference this screenshot image or " -"video." +#: src/as-category.c:189 +msgctxt "Category of Office" +msgid "Featured" +msgstr "Featured" -#: tools/appstream-cli.c:870 -msgid "Convert a YAML or text NEWS file into metainfo releases." -msgstr "" +#: src/as-category.c:192 +msgctxt "Category of Office" +msgid "Calendar" +msgstr "Calendar" -#. TRANSLATORS: "convert" command in ascli. "Collection XML" is a term describing a specific type of AppStream XML data. -#: tools/appstream-cli.c:865 -msgid "Convert collection XML to YAML or vice versa." -msgstr "Convert collection XML to YAML or vice versa." +#: src/as-category.c:196 +msgctxt "Category of Office" +msgid "Database" +msgstr "Database" -#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results -#: tools/ascli-actions-mdata.c:228 -#, c-format -msgid "Could not find component providing '%s::%s'." -msgstr "Could not find component providing '%s::%s'." +#: src/as-category.c:199 +msgctxt "Category of Office" +msgid "Finance" +msgstr "Finance" -#: tools/appstream-cli.c:869 -msgid "Create a XDG desktop-entry file from a metainfo file." -msgstr "" +#: src/as-category.c:203 +msgctxt "Category of Office" +msgid "Word Processor" +msgstr "Word Processor" -#: tools/appstream-cli.c:868 -msgid "" -"Create a template for a metainfo file (to be filled out by the upstream " -"project)." -msgstr "" -"Create a template for a metainfo file (to be filled out by the upstream " -"project)." +#: src/as-category.c:212 +msgctxt "Category of Addons" +msgid "Fonts" +msgstr "Fonts" -#: tools/ascli-actions-misc.c:228 -#, c-format -msgid "Creating new desktop-entry file '%s' using data from '%s'" -msgstr "" +#: src/as-category.c:215 +msgctxt "Category of Addons" +msgid "Codecs" +msgstr "Codecs" -#: src/as-provided.c:160 -msgid "D-Bus Session Services" -msgstr "D-Bus Session Services" +#: src/as-category.c:218 +msgctxt "Category of Addons" +msgid "Input Sources" +msgstr "Input Sources" -#: src/as-provided.c:158 -msgid "D-Bus System Services" -msgstr "D-Bus System Services" +#: src/as-category.c:221 +msgctxt "Category of Addons" +msgid "Language Packs" +msgstr "Language Packs" -#: src/as-category.c:195 -msgctxt "Category of Office" -msgid "Database" -msgstr "Database" +#: src/as-category.c:224 +msgctxt "Category of Addons" +msgid "Localization" +msgstr "Localisation" -#: src/as-category.c:86 -msgctxt "Category of Development" -msgid "Debuggers" -msgstr "Debuggers" +#: src/as-category.c:232 +msgctxt "Category of Science" +msgid "Featured" +msgstr "Featured" -#: tools/ascli-utils.c:353 -msgid "Default Screenshot URL" -msgstr "Default Screenshot URL" +#: src/as-category.c:235 +msgctxt "Category of Science" +msgid "Artificial Intelligence" +msgstr "Artificial Intelligence" -#. TRANSLATORS: ascli flag description for: --format -#: tools/appstream-cli.c:83 -msgid "Default metadata format (valid values are 'xml' and 'yaml')." -msgstr "Default metadata format (valid values are 'xml' and 'yaml')." +#: src/as-category.c:238 +msgctxt "Category of Science" +msgid "Astronomy" +msgstr "Astronomy" -#: tools/ascli-utils.c:333 -msgid "Description" -msgstr "Description" +#: src/as-category.c:241 +msgctxt "Category of Science" +msgid "Chemistry" +msgstr "Chemistry" -#. developer name -#: tools/ascli-utils.c:321 -msgid "Developer" -msgstr "Developer" +#: src/as-category.c:244 +msgctxt "Category of Science" +msgid "Math" +msgstr "Maths" -#. TRANSLATORS: this is the menu spec main category for Development -#: src/as-category.c:305 -msgid "Developer Tools" -msgstr "Developer Tools" +#: src/as-category.c:249 +msgctxt "Category of Science" +msgid "Robotics" +msgstr "Robotics" -#: tools/appstream-cli.c:862 -msgid "Display status information about available AppStream metadata." -msgstr "Display status information about available AppStream metadata." +#: src/as-category.c:257 +msgctxt "Category of Communication" +msgid "Featured" +msgstr "Featured" -#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions -#: tools/ascli-actions-misc.c:52 -msgid "Distribution metadata:" -msgstr "Distribution metadata:" +#: src/as-category.c:260 +msgctxt "Category of Communication" +msgid "Chat" +msgstr "Chat" -#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) -#: tools/appstream-cli.c:126 -msgid "Do not use network access." -msgstr "Do not use network access." +#: src/as-category.c:267 +msgctxt "Category of Communication" +msgid "News" +msgstr "News" -#. TRANSLATORS: ascli flag description for: --no-color -#: tools/appstream-cli.c:908 -msgid "Don't show colored output." -msgstr "Don't show coloured output." +#: src/as-category.c:271 +msgctxt "Category of Communication" +msgid "Web Browsers" +msgstr "Web Browsers" -#: tools/appstream-cli.c:853 -msgid "Dump raw XML metadata for a component matching the ID." -msgstr "Dump raw XML metadata for a component matching the ID." +#: src/as-category.c:279 +msgctxt "Category of Utility" +msgid "Featured" +msgstr "Featured" + +#: src/as-category.c:282 +msgctxt "Category of Utility" +msgid "Text Editors" +msgstr "Text Editors" + +#: src/as-category.c:285 +msgctxt "Category of Utility" +msgid "Terminal Emulators" +msgstr "Terminal Emulators" + +#: src/as-category.c:288 +msgctxt "Category of Utility" +msgid "File System" +msgstr "File System" + +#: src/as-category.c:291 +msgctxt "Category of Utility" +msgid "System Monitoring" +msgstr "System Monitoring" + +#: src/as-category.c:294 +msgctxt "Category of Utility" +msgid "Security" +msgstr "Security" + +#. TRANSLATORS: this is the menu spec main category for Audio & Video +#: src/as-category.c:303 +msgid "Audio & Video" +msgstr "Audio & Video" + +#. TRANSLATORS: this is the menu spec main category for Development +#: src/as-category.c:306 +msgid "Developer Tools" +msgstr "Developer Tools" #. TRANSLATORS: this is the menu spec main category for Education -#: src/as-category.c:308 +#: src/as-category.c:309 msgid "Education" msgstr "Education" -#. TRANSLATORS: No metainfo files have been found -#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 -msgid "Empty." -msgstr "Empty." - -#: src/as-category.c:141 -msgctxt "Category of Games" -msgid "Emulators" -msgstr "Emulators" +#. TRANSLATORS: this is the menu spec main category for Game +#: src/as-category.c:312 +msgid "Games" +msgstr "Games" -#. TRANSLATORS: ascli flag description for: --force -#: tools/appstream-cli.c:245 -msgid "Enforce a cache refresh." -msgstr "Enforce a cache refresh." +#. TRANSLATORS: this is the menu spec main category for Graphics +#: src/as-category.c:315 +msgid "Graphics & Photography" +msgstr "Graphics & Photography" -#: src/as-validator-issue-tag.h:74 -msgid "Enumerations must only have list items (
                                                                                      1. ) as children." -msgstr "Enumerations must only have list items (
                                                                                      2. ) as children." +#. TRANSLATORS: this is the menu spec main category for Office +#: src/as-category.c:318 +msgid "Office" +msgstr "Office" -#: tools/ascli-actions-misc.c:159 -#, c-format -msgid "Error while loading the metadata pool: %s" -msgstr "Error while loading the metadata pool: %s" +#. TRANSLATORS: this is the main category for Add-ons +#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor +#: src/as-category.c:321 tools/ascli-utils.c:371 +msgid "Add-ons" +msgstr "Add-ons" -#: tools/ascli-utils.c:327 -msgid "Extends" -msgstr "Extends" +#. TRANSLATORS: this is the menu spec main category for Science +#: src/as-category.c:324 +msgid "Science" +msgstr "Science" -#: src/as-category.c:65 -msgctxt "Category of AudioVideo" -msgid "Featured" -msgstr "Featured" +#. TRANSLATORS: this is the menu spec main category for Communication +#: src/as-category.c:327 +msgid "Communication & News" +msgstr "Communication & News" -#: src/as-category.c:256 -msgctxt "Category of Communication" -msgid "Featured" -msgstr "Featured" +#. TRANSLATORS: this is the menu spec main category for Utilities +#: src/as-category.c:330 +msgid "Utilities" +msgstr "Utilities" -#: src/as-category.c:83 -msgctxt "Category of Development" -msgid "Featured" -msgstr "Featured" +#. TRANSLATORS: This is the formatting of English and localized name +#. * of the rating e.g. "Adults Only (solo adultos)" +#: src/as-content-rating.c:298 +#, c-format +msgid "%s (%s)" +msgstr "%s (%s)" + +#: src/as-content-rating.c:444 +msgid "General" +msgstr "General" + +#: src/as-content-rating.c:453 +msgid "ALL" +msgstr "ALL" + +#: src/as-content-rating.c:457 src/as-content-rating.c:560 +msgid "Adults Only" +msgstr "Adults Only" + +#: src/as-content-rating.c:459 src/as-content-rating.c:559 +msgid "Mature" +msgstr "Mature" + +#: src/as-content-rating.c:461 src/as-content-rating.c:558 +msgid "Teen" +msgstr "Teen" + +#: src/as-content-rating.c:463 src/as-content-rating.c:557 +msgid "Everyone 10+" +msgstr "Everyone 10+" + +#: src/as-content-rating.c:465 src/as-content-rating.c:556 +msgid "Everyone" +msgstr "Everyone" + +#: src/as-content-rating.c:467 src/as-content-rating.c:555 +msgid "Early Childhood" +msgstr "Early Childhood" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:839 +msgid "No cartoon violence" +msgstr "No cartoon violence" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:841 +msgid "Cartoon characters in unsafe situations" +msgstr "Cartoon characters in unsafe situations" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:843 +msgid "Cartoon characters in aggressive conflict" +msgstr "Cartoon characters in aggressive conflict" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:845 +msgid "Graphic violence involving cartoon characters" +msgstr "Graphic violence involving cartoon characters" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:850 +msgid "No fantasy violence" +msgstr "No fantasy violence" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:852 +msgid "Characters in unsafe situations easily distinguishable from reality" +msgstr "Characters in unsafe situations easily distinguishable from reality" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:854 +msgid "Characters in aggressive conflict easily distinguishable from reality" +msgstr "Characters in aggressive conflict easily distinguishable from reality" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:856 +msgid "Graphic violence easily distinguishable from reality" +msgstr "Graphic violence easily distinguishable from reality" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:861 +msgid "No realistic violence" +msgstr "No realistic violence" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:863 +msgid "Mildly realistic characters in unsafe situations" +msgstr "Mildly realistic characters in unsafe situations" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:865 +msgid "Depictions of realistic characters in aggressive conflict" +msgstr "Depictions of realistic characters in aggressive conflict" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:867 +msgid "Graphic violence involving realistic characters" +msgstr "Graphic violence involving realistic characters" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:872 +msgid "No bloodshed" +msgstr "No bloodshed" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:874 +msgid "Unrealistic bloodshed" +msgstr "Unrealistic bloodshed" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:876 +msgid "Realistic bloodshed" +msgstr "Realistic bloodshed" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:878 +msgid "Depictions of bloodshed and the mutilation of body parts" +msgstr "Depictions of bloodshed and the mutilation of body parts" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:883 +msgid "No sexual violence" +msgstr "No sexual violence" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:885 +msgid "Rape or other violent sexual behavior" +msgstr "Rape or other violent sexual behaviour" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:892 +msgid "No references to alcohol" +msgstr "No references to alcohol" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:894 +msgid "References to alcoholic beverages" +msgstr "References to alcoholic beverages" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:896 +msgid "Use of alcoholic beverages" +msgstr "Use of alcoholic beverages" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:902 +msgid "No references to illicit drugs" +msgstr "No references to illicit drugs" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:904 +msgid "References to illicit drugs" +msgstr "References to illicit drugs" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:906 +msgid "Use of illicit drugs" +msgstr "Use of illicit drugs" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:912 +msgid "No references to tobacco products" +msgstr "No references to tobacco products" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:914 +msgid "References to tobacco products" +msgstr "References to tobacco products" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:916 +msgid "Use of tobacco products" +msgstr "Use of tobacco products" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:922 +msgid "No nudity of any sort" +msgstr "No nudity of any sort" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:924 +msgid "Brief artistic nudity" +msgstr "Brief artistic nudity" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:926 +msgid "Prolonged nudity" +msgstr "Prolonged nudity" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:932 +msgid "No references to or depictions of sexual nature" +msgstr "No references to or depictions of sexual nature" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:934 +msgid "Provocative references or depictions" +msgstr "Provocative references or depictions" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:936 +msgid "Sexual references or depictions" +msgstr "Sexual references or depictions" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:938 +msgid "Graphic sexual behavior" +msgstr "Graphic sexual behaviour" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:943 +msgid "No profanity of any kind" +msgstr "No profanity of any kind" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:945 +msgid "Mild or infrequent use of profanity" +msgstr "Mild or infrequent use of profanity" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:947 +msgid "Moderate use of profanity" +msgstr "Moderate use of profanity" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:949 +msgid "Strong or frequent use of profanity" +msgstr "Strong or frequent use of profanity" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:954 +msgid "No inappropriate humor" +msgstr "No inappropriate humor" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:956 +msgid "Slapstick humor" +msgstr "Slapstick humour" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:958 +msgid "Vulgar or bathroom humor" +msgstr "Vulgar or bathroom humour" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:960 +msgid "Mature or sexual humor" +msgstr "Mature or sexual humour" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:965 +msgid "No discriminatory language of any kind" +msgstr "No discriminatory language of any kind" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:967 +msgid "Negativity towards a specific group of people" +msgstr "Negativity towards a specific group of people" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:969 +msgid "Discrimination designed to cause emotional harm" +msgstr "Discrimination designed to cause emotional harm" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:971 +msgid "Explicit discrimination based on gender, sexuality, race or religion" +msgstr "Explicit discrimination based on gender, sexuality, race or religion" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:976 +msgid "No advertising of any kind" +msgstr "No advertising of any kind" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:978 +msgid "Product placement" +msgstr "Product placement" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:980 +msgid "Explicit references to specific brands or trademarked products" +msgstr "Explicit references to specific brands or trademarked products" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:982 +msgid "Users are encouraged to purchase specific real-world items" +msgstr "Users are encouraged to purchase specific real-world items" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:987 +msgid "No gambling of any kind" +msgstr "No gambling of any kind" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:989 +msgid "Gambling on random events using tokens or credits" +msgstr "Gambling on random events using tokens or credits" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:991 +msgid "Gambling using “play” money" +msgstr "Gambling using “play” money" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:993 +msgid "Gambling using real money" +msgstr "Gambling using real money" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:998 +msgid "No ability to spend money" +msgstr "No ability to spend money" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1000 +msgid "Users are encouraged to donate real money" +msgstr "Users are encouraged to donate real money" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1003 +msgid "Ability to spend real money in-app" +msgstr "Ability to spend real money in-app" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1008 +msgid "No way to chat with other users" +msgstr "No way to chat with other users" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1010 +msgid "User-to-user interactions without chat functionality" +msgstr "User-to-user interactions without chat functionality" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1012 +msgid "Moderated chat functionality between users" +msgstr "Moderated chat functionality between users" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1014 +msgid "Uncontrolled chat functionality between users" +msgstr "Uncontrolled chat functionality between users" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1019 +msgid "No way to talk with other users" +msgstr "No way to talk with other users" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1021 +msgid "Uncontrolled audio or video chat functionality between users" +msgstr "Uncontrolled audio or video chat functionality between users" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1028 +msgid "No sharing of social network usernames or email addresses" +msgstr "No sharing of social network usernames or e-mail addresses" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1030 +msgid "Sharing social network usernames or email addresses" +msgstr "Sharing social network usernames or e-mail addresses" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1037 +msgid "No sharing of user information with third parties" +msgstr "No sharing of user information with third parties" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1039 +msgid "Checking for the latest application version" +msgstr "Checking for the latest application version" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1041 +msgid "Sharing diagnostic data that does not let others identify the user" +msgstr "Sharing diagnostic data that does not let others identify the user" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1043 +msgid "Sharing information that lets others identify the user" +msgstr "Sharing information that lets others identify the user" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1048 +msgid "No sharing of physical location with other users" +msgstr "No sharing of physical location with other users" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1050 +msgid "Sharing physical location with other users" +msgstr "Sharing physical location with other users" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1073 +msgid "No references to homosexuality" +msgstr "No references to homosexuality" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1075 +msgid "Indirect references to homosexuality" +msgstr "Indirect references to homosexuality" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1077 +msgid "Kissing between people of the same gender" +msgstr "Kissing between people of the same gender" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1079 +msgid "Graphic sexual behavior between people of the same gender" +msgstr "Graphic sexual behavior between people of the same gender" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1084 +msgid "No references to prostitution" +msgstr "No references to prostitution" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1086 +msgid "Indirect references to prostitution" +msgstr "Indirect references to prostitution" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1088 +msgid "Direct references to prostitution" +msgstr "Direct references to prostitution" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1090 +msgid "Graphic depictions of the act of prostitution" +msgstr "Graphic depictions of the act of prostitution" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1095 +msgid "No references to adultery" +msgstr "No references to adultery" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1097 +msgid "Indirect references to adultery" +msgstr "Indirect references to adultery" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1099 +msgid "Direct references to adultery" +msgstr "Direct references to adultery" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1101 +msgid "Graphic depictions of the act of adultery" +msgstr "Graphic depictions of the act of adultery" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1106 +msgid "No sexualized characters" +msgstr "No sexualised characters" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1109 +msgid "Scantily clad human characters" +msgstr "Scantily clad human characters" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1111 +msgid "Overtly sexualized human characters" +msgstr "Overtly sexualised human characters" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1116 +msgid "No references to desecration" +msgstr "No references to desecration" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1118 +msgid "Depictions of or references to historical desecration" +msgstr "Depictions of or references to historical desecration" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1120 +msgid "Depictions of modern-day human desecration" +msgstr "Depictions of modern-day human desecration" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1122 +msgid "Graphic depictions of modern-day desecration" +msgstr "Graphic depictions of modern-day desecration" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1127 +msgid "No visible dead human remains" +msgstr "No visible dead human remains" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1129 +msgid "Visible dead human remains" +msgstr "Visible dead human remains" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1131 +msgid "Dead human remains that are exposed to the elements" +msgstr "Dead human remains that are exposed to the elements" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1133 +msgid "Graphic depictions of desecration of human bodies" +msgstr "Graphic depictions of desecration of human bodies" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1138 +msgid "No references to slavery" +msgstr "No references to slavery" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1140 +msgid "Depictions of or references to historical slavery" +msgstr "Depictions of or references to historical slavery" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1142 +msgid "Depictions of modern-day slavery" +msgstr "Depictions of modern-day slavery" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1144 +msgid "Graphic depictions of modern-day slavery" +msgstr "Graphic depictions of modern-day slavery" -#: src/as-category.c:98 -msgctxt "Category of Education" -msgid "Featured" -msgstr "Featured" +#. TRANSLATORS: We got a 429 error while trying to download data +#: src/as-curl.c:134 +#, c-format +msgid "Failed to download due to server limit" +msgstr "" -#: src/as-category.c:120 -msgctxt "Category of Games" -msgid "Featured" -msgstr "Featured" +#: src/as-curl.c:141 src/as-curl.c:148 +#, fuzzy, c-format +msgid "Failed to download file: %s" +msgstr "Unable to save desktop entry file: %s" -#: src/as-category.c:165 -msgctxt "Category of Graphics" -msgid "Featured" -msgstr "Featured" +#. TRANSLATORS: We tried to download an URL, but received a 404 error code +#: src/as-curl.c:157 +#, c-format +msgid "URL was not found on the server." +msgstr "" -#: src/as-category.c:188 -msgctxt "Category of Office" -msgid "Featured" -msgstr "Featured" +#. TRANSLATORS: We received an uexpected HTTP status code while talking to a server, likely an error +#: src/as-curl.c:164 +#, c-format +msgid "Unexpected status code: %ld" +msgstr "" -#: src/as-category.c:231 -msgctxt "Category of Science" -msgid "Featured" -msgstr "Featured" +#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty +#: src/as-curl.c:247 +#, c-format +msgid "Retrieved file size was zero." +msgstr "Retrieved file size was zero." + +#. TRANSLATORS: List of "grey-listed" words sperated with ";" +#. * Do not translate this list directly. Instead, +#. * provide a list of words in your language that people are likely +#. * to include in a search but that should normally be ignored in +#. * the search. +#. +#: src/as-pool.c:111 +msgid "app;application;package;program;programme;suite;tool" +msgstr "app;application;package;program;programme;suite;tool" + +#: src/as-pool.c:620 +msgid "Unable to remove old cache." +msgstr "Unable to remove old cache." + +#: src/as-pool.c:963 +msgid "Metadata files have errors:" +msgstr "Metadata files have errors:" + +#: src/as-pool.c:1370 +msgid "" +"Many components have been recognized as invalid. See debug output for " +"details." +msgstr "" +"Many components have been recognised as invalid. See debug output for " +"details." + +#: src/as-pool.c:1996 +#, c-format +msgid "Cache location '%s' is not writable." +msgstr "Cache location '%s' is not writable." + +#: src/as-pool.c:2109 +msgid "" +"The AppStream system cache was updated, but some components were ignored. " +"Refer to the verbose log for more information." +msgstr "" +"The AppStream system cache was updated, but some errors were detected, which " +"might lead to missing metadata. Refer to the verbose log for more " +"information." + +#: src/as-pool.c:2111 +#, c-format +msgid "" +"The AppStream system cache was updated, but problems were found which " +"resulted in metadata being ignored: %s" +msgstr "AppStream system cache was updated, but problems were found: %s" + +#: src/as-pool.c:2125 +#, c-format +msgid "" +"AppStream system cache refresh failed. Turn on verbose mode to get detailed " +"issue information." +msgstr "" +"AppStream system cache refresh failed. Turn on verbose mode to get detailed " +"issue information." + +#: src/as-provided.c:144 +msgid "Libraries" +msgstr "Libraries" + +#: src/as-provided.c:146 +msgid "Binaries" +msgstr "Binaries" + +#: src/as-provided.c:148 +msgid "Media types" +msgstr "Media types" + +#: src/as-provided.c:150 +msgid "Fonts" +msgstr "Fonts" + +#: src/as-provided.c:152 +msgid "Modaliases" +msgstr "Modaliases" + +#: src/as-provided.c:154 +msgid "Python (Version 2)" +msgstr "Python (Version 2)" + +#: src/as-provided.c:156 +msgid "Python 3" +msgstr "Python 3" + +#: src/as-provided.c:158 +msgid "D-Bus System Services" +msgstr "D-Bus System Services" + +#: src/as-provided.c:160 +msgid "D-Bus Session Services" +msgstr "D-Bus Session Services" + +#: src/as-provided.c:162 +msgid "Runtime Firmware" +msgstr "Runtime Firmware" + +#: src/as-provided.c:164 +msgid "Flashed Firmware" +msgstr "Flashed Firmware" + +#: src/as-provided.c:166 +msgid "Component" +msgstr "Component" + +#: src/as-validator-issue-tag.h:41 +msgid "This tag requires a type property." +msgstr "This tag requires a type property." + +#: src/as-validator-issue-tag.h:46 +msgid "Tags of this name are not permitted in this section." +msgstr "Tags of this name are not permitted in this section." + +#: src/as-validator-issue-tag.h:51 +msgid "" +"A tag must not be localized in metainfo files (upstream " +"metadata). Localize the individual paragraphs instead." +msgstr "" +"A tag must not be localised in metainfo files (upstream " +"metadata). Localise the individual paragraphs instead." + +#: src/as-validator-issue-tag.h:57 +msgid "" +"This element (paragraph, list, etc.) of a tag must not be " +"localized individually in collection metadata. Localize the whole " +" tag instead. The AppStream collection metadata generator (e." +"g. `appstream-generator`) will already do the right thing when compiling the " +"data." +msgstr "" +"This element (paragraph, list, etc.) of a tag must not be " +"localised individually in collection metadata. Localise the whole " +" tag instead. The AppStream collection metadata generator (e." +"g. `appstream-generator`) will already do the right thing when compiling the " +"data." + +#: src/as-validator-issue-tag.h:63 +msgid "" +"AppStream descriptions support only a limited set of tags to format text: " +"Paragraphs (

                                                                                        ) and lists (

                                                                                          ,
                                                                                            ). This description markup contains " +"an invalid XML tag that would not be rendered correctly in applications " +"supporting the metainfo specification." +msgstr "" +"AppStream descriptions support only a limited set of tags to format text: " +"Paragraphs (

                                                                                            ) and lists (

                                                                                              ,
                                                                                                ). This description mark-up " +"contains an invalid XML tag that would not be rendered correctly in " +"applications supporting the metainfo specification." + +#: src/as-validator-issue-tag.h:69 +msgid "" +"This description paragraph contains invalid markup. Currently, only " +"and are permitted." +msgstr "" +"This description paragraph contains invalid markup. Currently, only " +"and are permitted." + +#: src/as-validator-issue-tag.h:74 +msgid "Enumerations must only have list items (
                                                                                              1. ) as children." +msgstr "Enumerations must only have list items (
                                                                                              2. ) as children." + +#: src/as-validator-issue-tag.h:79 +msgid "" +"The first `description/p` paragraph of this component might be too short (< " +"80 characters). Please consider starting with a longer paragraph to improve " +"how the description looks like in software centers and to provide more " +"detailed information on this component immediately in the first paragraph." +msgstr "" +"The first `description/p` paragraph of this component might be too short (< " +"80 characters). Please consider starting with a longer paragraph to improve " +"how the description looks like in software centres and to provide more " +"detailed information on this component immediately in the first paragraph." + +#: src/as-validator-issue-tag.h:86 +msgid "" +"The description contains a web URL in plain text. This is not allowed, " +"please use the tag instead to share links." +msgstr "" +"The description contains a web URL in plain text. This is not allowed, " +"please use the tag instead to share links." + +#: src/as-validator-issue-tag.h:91 +msgid "" +"As per AppStream specification, the mentioned tag must only appear once in " +"this context. Having multiple tags of this kind is not valid." +msgstr "" +"As per AppStream specification, the mentioned tag must only appear once in " +"this context. Having multiple tags of this kind is not valid." + +#: src/as-validator-issue-tag.h:96 +msgid "" +"The mentioned tag is empty, which is highly likely not intended as it should " +"have content." +msgstr "" +"The mentioned tag is empty, which is highly likely not intended as it should " +"have content." + +#: src/as-validator-issue-tag.h:101 +msgid "" +"The component ID is required to follow a reverse domain-name scheme for its " +"name. See the AppStream specification for details." +msgstr "" +"The component ID is required to follow a reverse domain-name scheme for its " +"name. See the AppStream specification for details." + +#: src/as-validator-issue-tag.h:106 +msgid "" +"The component ID is not a reverse domain-name. Please update the ID to avoid " +"future issues and be compatible with all AppStream implementations.\n" +"You may also consider to update the name of the accompanying .desktop file " +"to follow the latest version of the Desktop-Entry specification and use a " +"rDNS name for it as well. In any case, do not forget to mention the new " +"desktop-entry in a tag for this component to keep the " +"application launchable from software centers and the .desktop file data " +"associated with the metainfo data." +msgstr "" +"The component ID is not a reverse domain-name. Please update the ID to avoid " +"future issues and be compatible with all AppStream implementations.\n" +"You may also consider to update the name of the accompanying .desktop file " +"to follow the latest version of the Desktop-Entry specification and use a " +"rDNS name for it as well. In any case, do not forget to mention the new " +"desktop-entry in a tag for this component to keep the " +"application launchable from software centers and the .desktop file data " +"associated with the metainfo data." + +#: src/as-validator-issue-tag.h:114 +msgid "" +"The component ID might not follow the reverse domain-name schema (the TLD " +"used by it is not known to the validator)." +msgstr "" +"The component ID might not follow the reverse domain-name schema (the TLD " +"used by it is not known to the validator)." + +#: src/as-validator-issue-tag.h:119 +msgid "" +"The component ID contains an invalid character. Only ASCII characters, dots " +"and numbers are permitted." +msgstr "" +"The component ID contains an invalid character. Only ASCII characters, dots " +"and numbers are permitted." + +#: src/as-validator-issue-tag.h:124 +msgid "" +"The component ID contains a hyphen/minus. Using a hyphen is strongly " +"discouraged, to improve interoperability with other tools such as D-Bus. A " +"good option is to replace any hyphens with underscores (`_`)." +msgstr "" +"The component ID contains a hyphen/minus. Using a hyphen is strongly " +"discouraged, to improve interoperability with other tools such as D-Bus. A " +"good option is to replace any hyphens with underscores (`_`)." + +#: src/as-validator-issue-tag.h:130 +msgid "" +"The component ID contains a segment starting with a number. Starting a " +"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " +"interoperability with other tools such as D-Bus. Ideally, prefix these " +"segments with an underscore." +msgstr "" +"The component ID contains a segment starting with a number. Starting a " +"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " +"interoperability with other tools such as D-Bus. Ideally, prefix these " +"segments with an underscore." + +#: src/as-validator-issue-tag.h:136 +msgid "The component ID should only contain lowercase letters." +msgstr "A Id. do componente deverá conter apenas letras minúsculas." + +#: src/as-validator-issue-tag.h:141 +msgid "" +"The component is part of the Freedesktop project, but its ID does not start " +"with fd.o's reverse-DNS name (\"org.freedesktop\")." +msgstr "" +"The component is part of the Freedesktop project, but its ID does not start " +"with fd.o's reverse-DNS name (\"org.freedesktop\")." + +#: src/as-validator-issue-tag.h:146 +msgid "" +"The component is part of the KDE project, but its ID does not start with " +"KDEs reverse-DNS name (\"org.kde\")." +msgstr "" +"The component is part of the KDE project, but its ID does not start with " +"KDEs reverse-DNS name (\"org.kde\")." + +#: src/as-validator-issue-tag.h:151 +msgid "" +"The component is part of the GNOME project, but its ID does not start with " +"GNOMEs reverse-DNS name (\"org.gnome\")." +msgstr "" +"The component is part of the GNOME project, but its ID does not start with " +"GNOMEs reverse-DNS name (\"org.gnome\")." + +#: src/as-validator-issue-tag.h:156 +msgid "The SPDX license expression is invalid and could not be parsed." +msgstr "The SPDX licence expression is invalid and could not be parsed." + +#: src/as-validator-issue-tag.h:161 +msgid "" +"The license ID was not found in the SPDX database. Please check that the " +"license ID is written in an SPDX-conformant way and is a valid free software " +"license." +msgstr "" +"The license ID was not found in the SPDX database. Please check that the " +"license ID is written in an SPDX-conformant way and is a valid free software " +"license." + +#: src/as-validator-issue-tag.h:167 +msgid "" +"The metadata itself seems to be licensed under a complex collection of " +"licenses. Please license the data under a simple permissive license, like " +"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " +"collections without the risk of license violations due to mutually " +"incompatible licenses." +msgstr "" +"The metadata itself seems to be licensed under a complex collection of " +"licenses. Please license the data under a simple permissive license, like " +"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " +"collections without the risk of license violations due to mutually " +"incompatible licenses." + +#: src/as-validator-issue-tag.h:173 +msgid "" +"The metadata itself does not seem to be licensed under a permissive license. " +"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " +"0BSD to allow distributors to include it in mixed data collections without " +"the risk of license violations due to mutually incompatible licenses." +msgstr "" +"The metadata itself does not seem to be licensed under a permissive license. " +"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " +"0BSD to allow distributors to include it in mixed data collections without " +"the risk of license violations due to mutually incompatible licenses." + +#: src/as-validator-issue-tag.h:179 +msgid "" +"The update-contact does not appear to be a valid email address (escaping of " +"`@` is only allowed as `_at_` or `_AT_`)." +msgstr "" +"The update-contact does not appear to be a valid email address (escaping of " +"`@` is only allowed as `_at_` or `_AT_`)." + +#: src/as-validator-issue-tag.h:184 +msgid "" +"Unable to reach the screenshot image on its remote location - does the image " +"exist?" +msgstr "" +"Unable to reach the screenshot image on its remote location - does the image " +"exist?" + +#: src/as-validator-issue-tag.h:189 +msgid "" +"Unable to reach the screenshot video on its remote location - does the video " +"file exist?" +msgstr "" +"Unable to reach the screenshot video on its remote location - does the video " +"file exist?" + +#: src/as-validator-issue-tag.h:194 +msgid "" +"Consider using a secure (HTTPS) URL to reference this screenshot image or " +"video." +msgstr "" +"Consider using a secure (HTTPS) URL to reference this screenshot image or " +"video." -#: src/as-category.c:278 -msgctxt "Category of Utility" -msgid "Featured" -msgstr "Featured" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:200 +msgid "" +"A screenshot must contain at least one image or video in order to be useful. " +"Please add an to it." +msgstr "" +"A screenshot must contain at least one image or video in order to be useful. " +"Please add an to it." -#: tools/ascli-actions-validate.c:171 tools/ascli-actions-validate.c:349 -#, c-format -msgid "File '%s' does not exist." -msgstr "File '%s' does not exist." +#: src/as-validator-issue-tag.h:205 +msgid "" +"A screenshot must contain either images or videos, but not both at the same " +"time. Please use this screenshot exclusively for either static images or for " +"videos." +msgstr "" +"A screenshot must contain either images or videos, but not both at the same " +"time. Please use this screenshot exclusively for either static images or for " +"videos." -#: src/as-category.c:287 -msgctxt "Category of Utility" -msgid "File System" -msgstr "File System" +#: src/as-validator-issue-tag.h:211 +msgid "The screenshot does not have a caption text. Consider adding one." +msgstr "The screenshot does not have a caption text. Consider adding one." -#: src/as-category.c:198 -msgctxt "Category of Office" -msgid "Finance" -msgstr "Finance" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:217 +msgid "" +"The screenshot video does not specify which video codec was used in a " +"`codec` property." +msgstr "" +"The screenshot video does not specify which video codec was used in a " +"`codec` property." -#: src/as-provided.c:164 -msgid "Flashed Firmware" -msgstr "Flashed Firmware" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:223 +msgid "" +"The screenshot video does not specify which container format was used in a " +"`container` property." +msgstr "" +"The screenshot video does not specify which container format was used in a " +"`container` property." -#: src/as-provided.c:150 -msgid "Fonts" -msgstr "Fonts" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:229 +msgid "" +"The selected video codec is not supported by AppStream and software centers " +"may not be able to play the video. Only the AV1 and VP9 codecs are currently " +"supported, using `av1` and `vp9` as values for the `codec` property." +msgstr "" +"The selected video codec is not supported by AppStream and software centres " +"may not be able to play the video. Only the AV1 and VP9 codecs are currently " +"supported, using `av1` and `vp9` as values for the `codec` property." -#: src/as-category.c:211 -msgctxt "Category of Addons" -msgid "Fonts" -msgstr "Fonts" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:236 +msgid "" +"The selected video container format is not supported by AppStream and " +"software centers may not be able to play the video. Only the WebM and " +"Matroska video containers are currently supported, using `webm` and `mkv` as " +"values for the `container` property." +msgstr "" +"The selected video container format is not supported by AppStream and " +"software centres may not be able to play the video. Only the WebM and " +"Matroska video containers are currently supported, using `webm` and `mkv` as " +"values for the `container` property." -#: src/as-validator-issue-tag.h:237 +#: src/as-validator-issue-tag.h:242 msgid "" "For videos, only the WebM and Matroska (.mkv) container formats are " "currently supported. The file extension of the referenced video does not " @@ -540,1448 +1392,1613 @@ "currently supported. The file extension of the referenced video does not " "belong to either of these formats." -#. TRANSLATORS: ascli flag description for: --format when validating XML files -#: tools/appstream-cli.c:131 -msgid "Format of the generated report (valid values are 'text' and 'yaml')." -msgstr "Format of the generated report (valid values are 'text' and 'yaml')." +#: src/as-validator-issue-tag.h:248 +msgid "" +"The default screenshot of a software component must not be a video. Use a " +"static image as default screenshot and set the video as a secondary " +"screenshot." +msgstr "" +"The default screenshot of a software component must not be a video. Use a " +"static image as default screenshot and set the video as a secondary " +"screenshot." -#. TRANSLATORS: Found metainfo files in legacy directories -#: tools/ascli-actions-misc.c:138 -#, c-format -msgid "Found %i components in legacy paths." -msgstr "Found %i components in legacy paths." +#: src/as-validator-issue-tag.h:253 +msgid "" +"Found an unknown tag in a requires/recommends group. This is likely an " +"error, because a component relation of this type is unknown." +msgstr "" +"Found an unknown tag in a requires/recommends group. This is likely an " +"error, because a component relation of this type is unknown." -#: tools/ascli-actions-misc.c:123 -#, c-format -msgid "Found %i components." -msgstr "Found %i components." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:259 +msgid "" +"A `requires` or `recommends` item requires a value to denote a valid " +"relation." +msgstr "" +"A `requires` or `recommends` item requires a value to denote a valid " +"relation." -#. TRANSLATORS: 'version' is an AppStream XML property. Please do not translate it. -#: src/as-validator-issue-tag.h:260 +#. TRANSLATORS: `version` is an AppStream XML property. Please do not translate it. +#: src/as-validator-issue-tag.h:265 msgid "" -"Found 'version' property on required/recommended item of a type that should " +"Found `version` property on required/recommended item of a type that should " "not have or require a version." msgstr "" -"Found 'version' property on required/recommended item of a type that should " +"Found `version` property on required/recommended item of a type that should " "not have or require a version." -#. TRANSLATORS: 'version' and 'compare' are AppStream XML properties. Please do not translate them. -#: src/as-validator-issue-tag.h:266 +#. TRANSLATORS: `version` and `compare` are AppStream XML properties. Please do not translate them. +#: src/as-validator-issue-tag.h:271 msgid "" -"Found 'version' property on this required/recommended item, but not " -"'compare' property. It is recommended to explicitly define a comparison " +"Found `version` property on this required/recommended item, but not " +"`compare` property. It is recommended to explicitly define a comparison " "operation." msgstr "" -"Found 'version' property on this required/recommended item, but not " -"'compare' property. It is recommended to explicitly define a comparison " +"Found `version` property on this required/recommended item, but not " +"`compare` property. It is recommended to explicitly define a comparison " "operation." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:277 +#: src/as-validator-issue-tag.h:276 +#, fuzzy +msgid "" +"Invalid comparison operation on relation item. Only eq/ne/lt/gt/le/ge are " +"permitted." +msgstr "" +"Invalid version comparison operation on relation item. Only eq/ne/lt/gt/le/" +"ge are permitted." + +#: src/as-validator-issue-tag.h:281 +msgid "" +"The relation item has a comparison operation set, but does not support any " +"comparisons." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:287 msgid "" -"Found a memory size dependency in a 'requires' tag. This means users will " -"not be able to even install the component without having enough RAM. This is " -"usually not intended and you want to use 'memory' in the 'recommends' tag " +"Found a memory size relation in a `requires` tag. This means users will not " +"be able to even install the component without having enough RAM. This is " +"usually not intended and you want to use `memory` in the `recommends` tag " "instead." msgstr "" -"Found a memory size dependency in a 'requires' tag. This means users will " -"not be able to even install the component without having enough RAM. This is " -"usually not intended and you want to use 'memory' in the 'recommends' tag " +"Found a memory size relation in a `requires` tag. This means users will not " +"be able to even install the component without having enough RAM. This is " +"usually not intended and you want to use `memory` in the `recommends` tag " "instead." -#: src/as-validator-issue-tag.h:248 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:294 msgid "" -"Found an unknown tag in a requires/recommends group. This is likely an " -"error, because a component relation of this type is unknown." +"Found a user input control relation in a `requires` tag. This means users " +"will not be able to even install the component without having the defined " +"input control available on the system. This is usually not intended and you " +"want to use `control` in the `recommends` tag instead." msgstr "" -"Found an unknown tag in a requires/recommends group. This is likely an " -"error, because a component relation of this type is unknown." +"Found a user input control relation in a `requires` tag. This means users " +"will not be able to even install the component without having the defined " +"input control available on the system. This is usually not intended and you " +"want to use `control` in the `recommends` tag instead." -#: src/as-validator-issue-tag.h:427 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:301 msgid "" -"Found invalid tag. Non-standard tags should be prefixed with 'x-'. AppStream " -"also provides the tag to add arbitrary custom data to metainfo " -"files. This tag is read by AppStream libraries and may be useful instead of " -"defining new custom toplevel or 'x-'-prefixed tags if you just want to add " -"custom data to a metainfo file." +"This `control` item defines an unknown input method and is invalid. Check " +"the specification for a list of permitted values." msgstr "" -"Found invalid tag. Non-standard tags should be prefixed with 'x-'. AppStream " -"also provides the tag to add arbitrary custom data to metainfo " -"files. This tag is read by AppStream libraries and may be useful instead of " -"defining new custom toplevel or 'x-'-prefixed tags if you just want to add " -"custom data to a metainfo file." +"This `control` item defines an unknown input method and is invalid. Check " +"the specification for a list of permitted values." -#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. -#: src/as-validator.c:526 src/as-validator.c:939 src/as-validator.c:1024 -#: src/as-validator.c:1237 -#, c-format -msgid "Found: %s - Allowed: %s" -msgstr "Found: %s – Allowed: %s" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:307 +msgid "" +"This `display_length` item contains an invalid display length. Its value " +"must either be a shorthand string, or positive integer value denoting " +"logical pixels. Please refer to the AppStream specification for more " +"information on this tag." +msgstr "" -#. TRANSLATORS: this is the menu spec main category for Game -#: src/as-category.c:311 -msgid "Games" -msgstr "Games" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:314 +msgid "" +"This `side` property of this `display_length` item contains an invalid " +"value. It must either be `shortest` or `longest`, or unset to imply " +"`shortest` to make the item value refer to either the shortest or longest " +"side of the display." +msgstr "" -#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command -#: tools/appstream-cli.c:814 -msgid "Generate the output in the selected format ('yaml' or 'text')." +#: src/as-validator-issue-tag.h:320 +msgid "" +"The set component type is not a recognized, valid AppStream component type." +msgstr "" +"The set component type is not a recognised, valid AppStream component type." + +#: src/as-validator-issue-tag.h:325 +msgid "" +"The component has a priority value set. This is not allowed in metainfo " +"files." msgstr "" +"The component has a priority value set. This is not allowed in metainfo " +"files." -#: tools/appstream-cli.c:849 -msgid "Get components which provide the given item." -msgstr "Get components which provide the given item." +#: src/as-validator-issue-tag.h:330 +msgid "" +"The component has a `merge` method defined. This is not allowed in metainfo " +"files." +msgstr "" +"The component has a `merge` method defined. This is not allowed in metainfo " +"files." -#: tools/appstream-cli.c:848 -msgid "Get information about a component by its ID." -msgstr "Get information about a component by its ID." +#: src/as-validator-issue-tag.h:335 +msgid "The component is missing an ID ( tag)." +msgstr "The component is missing an ID ( tag)." -#. TRANSLATORS: this is the menu spec main category for Graphics -#: src/as-category.c:314 -msgid "Graphics & Photography" -msgstr "Graphics & Photography" +#: src/as-validator-issue-tag.h:340 +msgid "The component is missing a name ( tag)." +msgstr "The component is missing a name ( tag)." -#: tools/ascli-utils.c:300 -msgid "Homepage" -msgstr "Homepage" +#: src/as-validator-issue-tag.h:345 +msgid "The component is missing a summary ( tag)." +msgstr "The component is missing a summary ( tag)." -#: src/as-category.c:89 -msgctxt "Category of Development" -msgid "IDEs" -msgstr "IDEs" +#: src/as-validator-issue-tag.h:350 +msgid "" +"The tag still contains a `type` property, probably from an old " +"conversion to the recent metainfo format." +msgstr "" +"The tag still contains a `type` property, probably from an old " +"conversion to the recent metainfo format." -#: tools/ascli-utils.c:301 -msgid "Icon" -msgstr "Icon" +#: src/as-validator-issue-tag.h:355 +msgid "" +"The `pkgname` tag appears multiple times. You should evaluate creating a " +"metapackage containing the metainfo and .desktop files in order to avoid " +"defining multiple package names per component." +msgstr "" +"The `pkgname` tag appears multiple times. You should evaluate creating a " +"metapackage containing the metainfo and .desktop files in order to avoid " +"defining multiple package names per component." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:351 -msgid "Icons of type 'remote' must contain an URL to the referenced icon." -msgstr "Icons of type 'remote' must contain an URL to the referenced icon." +#: src/as-validator-issue-tag.h:360 +msgid "The component name should (likely) not end with a dot (`.`)." +msgstr "The component name should (likely) not end with a dot (`.`)." + +#: src/as-validator-issue-tag.h:365 +msgid "The component summary should not end with a dot (`.`)." +msgstr "The component summary should not end with a dot (`.`)." + +#: src/as-validator-issue-tag.h:370 +msgid "The component summary must not contain tabs or linebreaks." +msgstr "The component summary must not contain tabs or linebreaks." + +#: src/as-validator-issue-tag.h:375 +msgid "The summary must not contain any URL. Use the tags for links." +msgstr "The summary must not contain any URL. Use the tags for links." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:344 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:381 msgid "" -"Icons of type 'stock' or 'cached' must not contain an URL, a full or an " +"Icons of type `stock` or `cached` must not contain an URL, a full or an " "relative path to the icon. Only file basenames or stock names are allowed." msgstr "" -"Icons of type 'stock' or 'cached' must not contain an URL, a full or an " +"Icons of type `stock` or `cached` must not contain an URL, a full or an " "relative path to the icon. Only file basenames or stock names are allowed." -#: tools/ascli-actions-misc.c:94 -msgid "Iconsets" -msgstr "Iconsets" - -#: tools/ascli-utils.c:295 -msgid "Identifier" -msgstr "Identifier" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:388 +msgid "Icons of type `remote` must contain an URL to the referenced icon." +msgstr "Icons of type `remote` must contain an URL to the referenced icon." -#: src/as-category.c:217 -msgctxt "Category of Addons" -msgid "Input Sources" -msgstr "Input Sources" +#: src/as-validator-issue-tag.h:393 +msgid "Unable to reach remote icon at the given web location - does it exist?" +msgstr "Unable to reach remote icon at the given web location - does it exist?" -#: tools/appstream-cli.c:863 -msgid "Install a metadata file into the right location." -msgstr "Install a metadata file into the right location." +#: src/as-validator-issue-tag.h:398 +msgid "Consider using a secure (HTTPS) URL for the remote icon link." +msgstr "Consider using a secure (HTTPS) URL for the remote icon link." -#: tools/appstream-cli.c:859 -msgid "Install software matching the component-ID." -msgstr "Install software matching the component-ID." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:404 +msgid "" +"Metainfo files may only contain icons of type `stock` or `remote`, the set " +"type is not allowed." +msgstr "" +"Metainfo files may only contain icons of type `stock` or `remote`, the set " +"type is not allowed." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:373 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:410 msgid "" -"Invalid 'type' property for this 'url' tag. URLs of this type are not known " +"Invalid `type` property for this `url` tag. URLs of this type are not known " "in the AppStream specification." msgstr "" -"Invalid 'type' property for this 'url' tag. URLs of this type are not known " +"Invalid `type` property for this `url` tag. URLs of this type are not known " "in the AppStream specification." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:553 +#: src/as-validator-issue-tag.h:415 msgid "" -"Invalid tag found in collection metadata. Only 'component' tags are " -"permitted." +"Unable to reach remote location that this URL references - does it exist?" msgstr "" -"Invalid tag found in collection metadata. Only 'component' tags are " -"permitted." +"Unable to reach remote location that this URL references - does it exist?" -#: tools/ascli-actions-mdata.c:213 -msgid "Invalid type for provided item selected. Valid values are:" -msgstr "Invalid type for provided item selected. Valid values are:" +#: src/as-validator-issue-tag.h:420 +msgid "Consider using a secure (HTTPS) URL for this web link." +msgstr "Consider using a secure (HTTPS) URL for this web link." -#: src/as-validator-issue-tag.h:271 +#: src/as-validator-issue-tag.h:425 +msgid "A web URL was expected for this value." +msgstr "" + +#: src/as-validator-issue-tag.h:430 msgid "" -"Invalid version comparison operation on relation item. Only eq/ne/lt/gt/le/" -"ge are permitted." +"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." msgstr "" -"Invalid version comparison operation on relation item. Only eq/ne/lt/gt/le/" -"ge are permitted." +"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." + +#: src/as-validator-issue-tag.h:435 +msgid "The can not contain a hyperlink." +msgstr "The cannot contain a hyperlink." + +#: src/as-validator-issue-tag.h:440 +msgid "" +"The set value is not an identifier for a desktop environment as registered " +"with Freedesktop.org." +msgstr "" +"The set value is not an identifier for a desktop environment as registered " +"with Freedesktop.org." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:446 +msgid "This `launchable` tag has an unknown type and can not be used." +msgstr "This `launchable` tag has an unknown type and can not be used." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:452 +msgid "This `bundle` tag has an unknown type and can not be used." +msgstr "This `bundle` tag has an unknown type and can not be used." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:458 +msgid "" +"The `update_contact` tag should not be included in collection AppStream XML." +msgstr "" +"The `update_contact` tag should not be included in collection AppStream XML." + +#: src/as-validator-issue-tag.h:463 +msgid "" +"This tag is a GNOME-specific extension to AppStream and not part of the " +"official specification. Do not expect it to work in all implementations and " +"in all software centers." +msgstr "" +"This tag is a GNOME-specific extension to AppStream and not part of the " +"official specification. Do not expect it to work in all implementations and " +"in all software centres." + +#: src/as-validator-issue-tag.h:469 +msgid "" +"Found invalid tag. Non-standard tags should be prefixed with `x-`. AppStream " +"also provides the tag to add arbitrary custom data to metainfo " +"files. This tag is read by AppStream libraries and may be useful instead of " +"defining new custom toplevel or `x-`-prefixed tags if you just want to add " +"custom data to a metainfo file." +msgstr "" +"Found invalid tag. Non-standard tags should be prefixed with `x-`. AppStream " +"also provides the tag to add arbitrary custom data to metainfo " +"files. This tag is read by AppStream libraries and may be useful instead of " +"defining new custom toplevel or `x-`-prefixed tags if you just want to add " +"custom data to a metainfo file." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:477 +msgid "" +"The essential tag `metadata_license` is missing. A license for the metadata " +"itself always has to be defined." +msgstr "" +"The essential tag `metadata_license` is missing. A license for the metadata " +"itself always has to be defined." + +#: src/as-validator-issue-tag.h:482 +msgid "" +"The component is missing a long description. Components of this type must " +"have a long description." +msgstr "" +"The component is missing a long description. Components of this type must " +"have a long description." -#: src/as-validator-issue-tag.h:450 +#: src/as-validator-issue-tag.h:487 msgid "" -"It is recommended to add a long description to this component to present it " +"It would be useful to add a long description to this font to present it " "better to users." msgstr "" -"It is recommended to add a long description to this component to present it " +"It would be useful to add a long description to this font to present it " "better to users." -#: src/as-validator-issue-tag.h:445 +#: src/as-validator-issue-tag.h:492 msgid "" -"It would be useful to add a long description to this font to present it " +"It is recommended to add a long description to this component to present it " "better to users." msgstr "" -"It would be useful to add a long description to this font to present it " +"It is recommended to add a long description to this component to present it " "better to users." -#: src/as-category.c:144 -msgctxt "Category of Games" -msgid "Kids" -msgstr "Kids" - -#: src/as-category.c:220 -msgctxt "Category of Addons" -msgid "Language Packs" -msgstr "Language Packs" +#: src/as-validator-issue-tag.h:497 +msgid "" +"This generic component is missing a long description. It may be useful to " +"add one." +msgstr "" +"This generic component is missing a long description. It may be useful to " +"add one." -#: src/as-category.c:107 -msgctxt "Category of Education" -msgid "Languages" -msgstr "Languages" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:503 +msgid "" +"Type `console-application` component, but no information about binaries in " +"$PATH was provided via a `provides/binary` tag." +msgstr "" +"Type `console-application` component, but no information about binaries in " +"$PATH was provided via a `provides/binary` tag." -#: src/as-provided.c:144 -msgid "Libraries" -msgstr "Libraries" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:509 +msgid "" +"This `web-application` component is missing a `launchable` tag of type `url`." +msgstr "" +"This `web-application` component is missing a `launchable` tag of type `url`." -#. license -#: tools/ascli-utils.c:363 -msgid "License" -msgstr "Licence" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:515 +msgid "" +"This `web-application` component is missing a `icon` tag to specify a valid " +"icon." +msgstr "" +"This `web-application` component is missing a `icon` tag to specify a valid " +"icon." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:629 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:521 msgid "" -"Licenses for 'runtime' components are usually too complex to reflect them in " -"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " -"value for this component's 'project_license'. E.g. `LicenseRef-free=https://" -"example.com/licenses.html`" +"This `web-application` component is missing categorizations. A `categories` " +"block is likely missing." msgstr "" +"This `web-application` component is missing categorisations. A `categories` " +"block is likely missing." -#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command -#: tools/appstream-cli.c:771 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:527 msgid "" -"Limit the number of release entries that end up in the metainfo file (0 for " -"unlimited)." +"Type `font` component, but no font information was provided via a `provides/" +"font` tag." msgstr "" +"Type `font` component, but no font information was provided via a `provides/" +"font` tag." -#: src/as-category.c:223 -msgctxt "Category of Addons" -msgid "Localization" -msgstr "Localisation" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:533 +msgid "" +"Type `driver` component, but no modalias information was provided via a " +"`provides/modalias` tag." +msgstr "" +"Type `driver` component, but no modalias information was provided via a " +"`provides/modalias` tag." -#: src/as-category.c:147 -msgctxt "Category of Games" -msgid "Logic" -msgstr "Logic" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:539 +msgid "" +"An `extends` tag is specified, but the component is not of type `addon`, " +"`localization` or `repository`." +msgstr "" +"An `extends` tag is specified, but the component is not of type `addon`, " +"`localization` or `repository`." -#. TRANSLATORS: ascli flag description for: --no-cache -#: tools/appstream-cli.c:67 -msgid "Make request without any caching." -msgstr "Make request without any caching." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:545 +msgid "The component is an addon, but no `extends` tag was specified." +msgstr "The component is an addon, but no `extends` tag was specified." -#. TRANSLATORS: ascli flag description for: --cachepath -#: tools/appstream-cli.c:57 -msgid "Manually selected location of AppStream cache." -msgstr "Manually selected location of AppStream cache." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:551 +msgid "" +"This `localization` component is missing an `extends` tag, to specify the " +"components it adds localization to." +msgstr "" +"This `localization` component is missing an `extends` tag, to specify the " +"components it adds localisation to." -#. TRANSLATORS: ascli flag description for: --datapath -#: tools/appstream-cli.c:62 -msgid "Manually selected location of AppStream metadata to scan." -msgstr "Manually selected location of AppStream metadata to scan." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:557 +msgid "" +"This `localization` component does not define any languages this " +"localization is for." +msgstr "" +"This `localization` component does not define any languages this " +"localisation is for." -#: src/as-pool.c:1280 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:563 msgid "" -"Many components have been recognized as invalid. See debug output for " -"details." +"This `service` component is missing a `launchable` tag of type `service`." msgstr "" -"Many components have been recognised as invalid. See debug output for " -"details." +"This `service` component is missing a `launchable` tag of type `service`." -#: src/as-category.c:111 -msgctxt "Category of Education" -msgid "Math" -msgstr "Maths" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:569 +msgid "" +"Suggestions of any type other than `upstream` are not allowed in metainfo " +"files." +msgstr "" +"Suggestions of any type other than `upstream` are not allowed in metainfo " +"files." -#: src/as-category.c:243 -msgctxt "Category of Science" -msgid "Math" -msgstr "Maths" +#: src/as-validator-issue-tag.h:574 +msgid "" +"The category name is not valid. Refer to the XDG Menu Specification for a " +"list of valid category names." +msgstr "" +"The category name is not valid. Refer to the XDG Menu Specification for a " +"list of valid category names." -#: src/as-provided.c:148 -msgid "Media types" -msgstr "Media types" +#: src/as-validator-issue-tag.h:579 +msgid "The screenshot caption is too long (should be <= 80 characters)" +msgstr "The screenshot caption is too long (should be <= 80 characters)" -#: tools/ascli-actions-mdata.c:364 -#, c-format -msgid "Metadata file '%s' does not exist." -msgstr "Metadata file '%s' does not exist." +#: src/as-validator-issue-tag.h:584 +msgid "Unable to read file." +msgstr "Unable to read file." -#: src/as-pool.c:881 -msgid "Metadata files have errors:" -msgstr "Metadata files have errors:" +#: src/as-validator-issue-tag.h:589 +msgid "The XML of this file is malformed." +msgstr "The XML of this file is malformed." -#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 -#: tools/ascli-actions-misc.c:515 -#, fuzzy, c-format -msgid "Metainfo file '%s' does not exist." -msgstr "Metadata file '%s' does not exist." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:595 +msgid "" +"Invalid tag found in collection metadata. Only `component` tags are " +"permitted." +msgstr "" +"Invalid tag found in collection metadata. Only `component` tags are " +"permitted." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:367 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:601 msgid "" -"Metainfo files may only contain icons of type 'stock' or 'remote', the set " -"type is not allowed." +"The metainfo file uses an ancient version of the AppStream specification, " +"which can not be validated. Please migrate it to version 0.6 (or higher)." msgstr "" -"Metainfo files may only contain icons of type 'stock' or 'remote', the set " -"type is not allowed." +"The metainfo file uses an ancient version of the AppStream specification, " +"which can not be validated. Please migrate it to version 0.6 (or higher)." -#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report -#: tools/ascli-actions-misc.c:116 -msgid "Metainfo files:" -msgstr "Metainfo files:" +#: src/as-validator-issue-tag.h:606 +msgid "" +"This XML document has an unknown root tag. Maybe this file is not a metainfo " +"document?" +msgstr "" +"This XML document has an unknown root tag. Maybe this file is not a metainfo " +"document?" -#: src/as-provided.c:152 -msgid "Modaliases" -msgstr "Modaliases" +#: src/as-validator-issue-tag.h:611 +msgid "The metainfo filename does not match the component ID." +msgstr "The metainfo filename does not match the component ID." -#: src/as-category.c:74 -msgctxt "Category of AudioVideo" -msgid "Music Players" -msgstr "Music Players" +#: src/as-validator-issue-tag.h:616 +msgid "Unable to read the .desktop file associated with this component." +msgstr "Unable to read the .desktop file associated with this component." -#: tools/ascli-utils.c:296 -msgid "Name" -msgstr "Name" +#: src/as-validator-issue-tag.h:621 +msgid "This component metadata refers to a non-existing .desktop file." +msgstr "This component metadata refers to a non-existing .desktop file." -#: src/as-category.c:266 -msgctxt "Category of Communication" -msgid "News" -msgstr "News" +#: src/as-validator-issue-tag.h:626 +msgid "" +"The category defined in the .desktop file is not valid. Refer to the XDG " +"Menu Specification for a list of valid categories." +msgstr "" +"The category defined in the .desktop file is not valid. Refer to the XDG " +"Menu Specification for a list of valid categories." -#: src/as-validator-issue-tag.h:589 +#: src/as-validator-issue-tag.h:631 msgid "No AppStream metadata was found in this directory or directory tree." msgstr "No AppStream metadata was found in this directory or directory tree." #. pedantic because not everything which has metadata is an application -#: src/as-validator-issue-tag.h:594 +#: src/as-validator-issue-tag.h:636 msgid "No XDG applications directory found." msgstr "No XDG applications directory found." -#: tools/ascli-actions-mdata.c:182 -#, c-format -msgid "No component matching '%s' found." -msgstr "No component matching '%s' found." +#: src/as-validator-issue-tag.h:641 +msgid "" +"The metainfo file is stored in a legacy path. Please place it in `/usr/share/" +"metainfo/`." +msgstr "" +"The metainfo file is stored in a legacy path. Please place it in `/usr/share/" +"metainfo/`." -#: tools/ascli-actions-misc.c:105 -msgid "No icons." -msgstr "No icons." +#: src/as-validator-issue-tag.h:646 +msgid "The metainfo file specifies multiple components. This is not allowed." +msgstr "The metainfo file specifies multiple components. This is not allowed." -#: tools/ascli-actions-misc.c:402 -msgid "No output filename specified, modifying metainfo file directly." +#: src/as-validator-issue-tag.h:651 +msgid "" +"The releases are not sorted in a latest to oldest version order. This is " +"required as some tools will assume that the latest version is always at the " +"top. Sorting releases also increases overall readability of the metainfo " +"file." msgstr "" +"The releases are not sorted in a latest to oldest version order. This is " +"required as some tools will assume that the latest version is always at the " +"top. Sorting releases also increases overall readability of the metainfo " +"file." -#: tools/ascli-actions-misc.c:306 -msgid "" -"No provided binary specified in metainfo file, and no exec command specified " -"via '--exec'. Can not create 'Exec=' key." +#: src/as-validator-issue-tag.h:658 +msgid "The value set as release urgency is not a known urgency value." msgstr "" -#: tools/ascli-actions-misc.c:284 -msgid "No stock icon name was provided in the metainfo file. Can not continue." +#: src/as-validator-issue-tag.h:663 +msgid "The value set as release type is invalid." msgstr "" -#: tools/ascli-actions-pkgmgr.c:53 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:669 msgid "" -"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" -"\" (part of PackageKit) is available." +"The value set as artifact type is invalid. Must be either `source` or " +"`binary`." msgstr "" -"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" -"\" (part of PackageKit) is available." -#: tools/ascli-actions-mdata.c:206 -msgid "No value for the item to search for was defined." -msgstr "No value for the item to search for was defined." - -#. TRANSLATORS: this is the menu spec main category for Office -#: src/as-category.c:317 -msgid "Office" -msgstr "Office" - -#. TRANSLATORS: An unknown option was passed to appstreamcli. -#: tools/appstream-cli.c:192 -#, c-format -msgid "Option '%s' is unknown." -msgstr "Option '%s' is unknown." - -#: tools/ascli-utils.c:298 -msgid "Package" -msgstr "Package" - -#: src/as-category.c:171 -msgctxt "Category of Graphics" -msgid "Photography" -msgstr "Photography" +#: src/as-validator-issue-tag.h:674 +msgid "The value set as artifact bundle type is invalid." +msgstr "" -#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) -#: tools/appstream-cli.c:121 -msgid "Print detailed explanation for found issues." -msgstr "Print detailed output about found components." +#: src/as-validator-issue-tag.h:679 +msgid "" +"The platform triplet for this release is invalid. It must be in the form of " +"`architecture-oskernel-osenv` - refer to the AppStream documentation or " +"information on normalized GNU triplets for more information and valid fields." +msgstr "" -#. TRANSLATORS: ascli flag description for: --details -#: tools/appstream-cli.c:98 -msgid "Print detailed output about found components." -msgstr "Print detailed output about found components." +#: src/as-validator-issue-tag.h:686 +msgid "The selected checksumming algorithm is unsupported or unknown." +msgstr "" -#. project group -#: tools/ascli-utils.c:360 -msgid "Project Group" -msgstr "Project Group" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:692 +msgid "The size type is unknown. Must be `download` or `installed`." +msgstr "" -#: tools/ascli-utils.c:405 -msgid "Provided Items" -msgstr "Provided Items" +#: src/as-validator-issue-tag.h:697 +msgid "" +"The artifact filename must be a file basename, not a (relative or absolute) " +"path." +msgstr "" -#: src/as-provided.c:154 -msgid "Python (Version 2)" -msgstr "Python (Version 2)" +#: src/as-validator-issue-tag.h:702 +msgid "The value set as release issue type is invalid." +msgstr "" -#: src/as-provided.c:156 -msgid "Python 3" -msgstr "Python 3" +#: src/as-validator-issue-tag.h:707 +msgid "" +"The issue is tagged at security vulnerability with a CVE number, but its " +"value does not look like a valid CVE identifier." +msgstr "" -#: tools/appstream-cli.c:854 -msgid "Rebuild the component metadata cache." -msgstr "Rebuild the component metadata cache." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:713 +msgid "" +"This component is missing information about releases. Consider adding a " +"`releases` tag to describe releases and their changes." +msgstr "" -#: tools/appstream-cli.c:860 -msgid "Remove software matching the component-ID." -msgstr "Remove software matching the component-ID." +#: src/as-validator-issue-tag.h:718 +msgid "" +"The AppStream specification requires a complete, ISO 8601 date string with " +"at least day-granularity to denote dates. Please ensure the date string is " +"valid." +msgstr "" +"The AppStream specification requires a complete, ISO 8601 date string with " +"at least day-granularity to denote dates. Please ensure the date string is " +"valid." -#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty -#: src/as-validator.c:364 -msgid "Retrieved file size was zero." +#: src/as-validator-issue-tag.h:724 +msgid "" +"This component extends, provides, requires or recommends itself, which is " +"certainly not intended and may confuse users or machines dealing with this " +"metadata." msgstr "" +"This component extends, provides, requires or recommends itself, which is " +"certainly not intended and may confuse users or machines dealing with this " +"metadata." -#: src/as-category.c:248 -msgctxt "Category of Science" -msgid "Robotics" -msgstr "Robotics" - -#: src/as-category.c:150 -msgctxt "Category of Games" -msgid "Role Playing" -msgstr "Role Playing" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:731 +msgid "" +"Licenses for `runtime` components are usually too complex to reflect them in " +"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " +"value for this component's `project_license`. E.g. `LicenseRef-free=https://" +"example.com/licenses.html`" +msgstr "" +"Licenses for `runtime` components are usually too complex to reflect them in " +"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " +"value for this component's `project_license`. E.g. `LicenseRef-free=https://" +"example.com/licenses.html`" -#: tools/appstream-cli.c:196 tools/appstream-cli.c:926 -#, c-format -msgid "Run '%s --help' to see a full list of available command line options." -msgstr "Run '%s --help' to see a full list of available command line options." +#: src/as-validator-issue-tag.h:737 +msgid "" +"Since a `runtime` component is comprised of multiple other software " +"components, their component-IDs may be listed in a `` section for " +"this runtime." +msgstr "" +"Since a `runtime` component is comprised of multiple other software " +"components, their component-IDs may be listed in a `` section for " +"this runtime." -#: tools/appstream-cli.c:198 -#, c-format +#: src/as-validator-issue-tag.h:742 msgid "" -"Run '%s --help' to see a list of available commands and options, and '%s %s " -"--help' to see a list of options specific for this subcommand." +"The type of the item that the component provides is not known to AppStream." msgstr "" -"Run '%s --help' to see a list of available commands and options, and '%s %s " -"--help' to see a list of options specific for this subcommand." +"The type of the item that the component provides is not known to AppStream." -#: src/as-provided.c:162 -msgid "Runtime Firmware" -msgstr "Runtime Firmware" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:748 +msgid "" +"The toplevel `mimetypes` tag is deprecated. Please use `mediatype` tags in a " +"`provides` block instead to indicate that your software provides a media " +"handler for the given types." +msgstr "" -#: src/as-category.c:174 -msgctxt "Category of Graphics" -msgid "Scanning" -msgstr "Scanning" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks) and keep the URL intact. +#: src/as-validator-issue-tag.h:755 +msgid "" +"This component has no `content_rating` tag to provide age rating " +"information. You can generate the tag data online by answering a few " +"questions at https://hughsie.github.io/oars/" +msgstr "" -#. TRANSLATORS: this is the menu spec main category for Science -#: src/as-category.c:323 -msgid "Science" -msgstr "Science" +#: src/as-validator.c:150 +msgid "" +"The emitted issue tag is unknown in the tag registry of AppStream. This is a " +"bug in the validator itself, please report this issue in our bugtracker." +msgstr "" +"The emitted issue tag is unknown in the tag registry of AppStream. This is a " +"bug in the validator itself, please report this issue in our bugtracker." -#: tools/appstream-cli.c:847 -msgid "Search the component database." -msgstr "Search the component database." +#: src/as-validator.c:344 +msgid "URL format is invalid." +msgstr "URL format is invalid." -#: src/as-category.c:293 -msgctxt "Category of Utility" -msgid "Security" -msgstr "Security" +#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. +#: src/as-validator.c:522 src/as-validator.c:937 src/as-validator.c:1031 +#: src/as-validator.c:1428 src/as-validator.c:1448 src/as-validator.c:1481 +#, c-format +msgid "Found: %s - Allowed: %s" +msgstr "Found: %s – Allowed: %s" -#. TRANSLATORS: ascli flag description for: --verbose -#: tools/appstream-cli.c:903 -msgid "Show extra debugging information." +#. TRANSLATORS: ascompose flag description for: --verbose +#: tools/appstream-compose.c:181 +#, fuzzy +msgid "Show extra debugging information" msgstr "Show extra debugging information." +#. TRANSLATORS: ascompose flag description for: --no-color +#. TRANSLATORS: ascli flag description for: --no-color +#: tools/appstream-compose.c:184 tools/appstreamcli.c:1087 +msgid "Don't show colored output." +msgstr "Don't show coloured output." + +#. TRANSLATORS: ascompose flag description for: --version #. TRANSLATORS: ascli flag description for: --version -#: tools/appstream-cli.c:897 +#: tools/appstream-compose.c:187 tools/appstreamcli.c:1076 msgid "Show the program version." msgstr "Show the program version." -#: src/as-validator-issue-tag.h:635 -msgid "" -"Since a 'runtime' component is comprised of multiple other software " -"components, their component-IDs may be listed in a `` section for " -"this runtime." +#. TRANSLATORS: ascompose flag description for: --full-report +#: tools/appstream-compose.c:190 +msgid "Set mode of the issue report that is printed to the console" msgstr "" -#: src/as-category.c:153 -msgctxt "Category of Games" -msgid "Sports" -msgstr "Sports" +#. TRANSLATORS: ascompose flag description for: --prefix +#: tools/appstream-compose.c:193 +msgid "Override the default prefix (`/usr` by default)" +msgstr "" -#: src/as-category.c:157 -msgctxt "Category of Games" -msgid "Strategy" -msgstr "Strategy" +#. TRANSLATORS: ascompose flag description for: --result-root +#: tools/appstream-compose.c:196 +msgid "Set the result output directory" +msgstr "" -#. these are commands we can use with appstreamcli -#: tools/appstream-cli.c:845 -msgid "Subcommands:" -msgstr "Subcommands:" +#. TRANSLATORS: ascompose flag description for: --data-dir, `collection metadata` is an AppStream term +#: tools/appstream-compose.c:199 +msgid "Override the collection metadata output directory" +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:527 -msgid "" -"Suggestions of any type other than 'upstream' are not allowed in metainfo " -"files." +#. TRANSLATORS: ascompose flag description for: --icons-dir +#: tools/appstream-compose.c:202 +msgid "Override the icon output directory" msgstr "" -"Suggestions of any type other than 'upstream' are not allowed in metainfo " -"files." -#: tools/ascli-utils.c:297 -msgid "Summary" -msgstr "Summary" +#. TRANSLATORS: ascompose flag description for: --media-dir +#: tools/appstream-compose.c:205 +msgid "" +"Set the media output directory (for media data to be served by a webserver)" +msgstr "" -#. TRANSLATORS: Status summary in ascli -#: tools/ascli-actions-misc.c:145 -msgid "Summary:" -msgstr "Summary:" +#. TRANSLATORS: ascompose flag description for: --hints-dir +#: tools/appstream-compose.c:208 +msgid "Set a directory where HTML and text issue reports will be stored" +msgstr "" -#: src/as-category.c:290 -msgctxt "Category of Utility" -msgid "System Monitoring" -msgstr "System Monitoring" +#. TRANSLATORS: ascompose flag description for: --origin +#. TRANSLATORS: ascompose flag description for: --media-baseurl +#: tools/appstream-compose.c:211 tools/appstream-compose.c:214 +msgid "Set the origin name" +msgstr "" -#: src/as-validator-issue-tag.h:46 -msgid "Tags of this name are not permitted in this section." -msgstr "Tags of this name are not permitted in this section." +#. TRANSLATORS: ascompose flag description for: --components +#: tools/appstream-compose.c:217 +msgid "A comma-separated list of component-IDs to accept" +msgstr "" -#: src/as-category.c:284 -msgctxt "Category of Utility" -msgid "Terminal Emulators" -msgstr "Terminal Emulators" +#. TRANSLATORS: error message +#: tools/appstream-compose.c:231 +msgid "Failed to parse arguments" +msgstr "" -#: src/as-category.c:281 -msgctxt "Category of Utility" -msgid "Text Editors" -msgstr "Text Editors" +#. TRANSLATORS: Output if appstreamcli --version is executed. +#: tools/appstream-compose.c:242 tools/appstreamcli.c:1230 +#, c-format +msgid "AppStream version: %s" +msgstr "AppStream version: %s" -#: src/as-validator-issue-tag.h:318 +#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. +#: tools/appstream-compose.c:245 tools/appstreamcli.c:1233 +#, c-format msgid "" -"The 'pkgname' tag appears multiple times. You should evaluate creating a " -"metapackage containing the metainfo and .desktop files in order to avoid " -"defining multiple package names per component." +"AppStream CLI tool version: %s\n" +"AppStream library version: %s" msgstr "" -"The 'pkgname' tag appears multiple times. You should evaluate creating a " -"metapackage containing the metainfo and .desktop files in order to avoid " -"defining multiple package names per component." +"AppStream CLI tool version: %s\n" +"AppStream library version: %s" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:416 +#. TRANSLATORS: invalid value for the --print-report CLI option +#: tools/appstream-compose.c:264 +#, c-format msgid "" -"The 'update_contact' tag should not be included in collection AppStream XML." +"Invalid value for `--print-report` option: %s\n" +"Possible values are:\n" +"`on-error` - only prints a short report if the run failed (default)\n" +"`short` - generates an abridged report\n" +"`full` - a detailed report will be printed" msgstr "" -"The 'update_contact' tag should not be included in collection AppStream XML." -#: tools/ascli-actions-mdata.c:467 +#: tools/appstream-compose.c:285 #, c-format -msgid "The .desktop file '%s' does not exist." -msgstr "The .desktop file '%s' does not exist." +msgid "Automatically selected '%s' as data output location." +msgstr "" -#: src/as-validator-issue-tag.h:393 -msgid "The can not contain a hyperlink." -msgstr "The cannot contain a hyperlink." +#. TRANSLATORS: we don't have a destination directory for compose +#: tools/appstream-compose.c:288 +msgid "No destination directory set, please provide a data output location!" +msgstr "" -#: src/as-validator-issue-tag.h:313 -msgid "" -"The tag still contains a 'type' property, probably from an old " -"conversion to the recent metainfo format." +#: tools/appstream-compose.c:298 tools/appstream-compose.c:300 +msgid "WARNING" msgstr "" -"The tag still contains a 'type' property, probably from an old " -"conversion to the recent metainfo format." -#: src/as-validator-issue-tag.h:616 -msgid "" -"The AppStream specification requires a complete, ISO 8601 date string with " -"at least day-granularity to denote dates. Please ensure the date string is " -"valid." +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:337 +#, c-format +msgid "Only accepting components: %s" msgstr "" -"The AppStream specification requires a complete, ISO 8601 date string with " -"at least day-granularity to denote dates. Please ensure the date string is " -"valid." -#: src/as-pool.c:1924 +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:340 #, c-format -msgid "" -"The AppStream system cache was updated, but problems were found which " -"resulted in metadata being ignored: %s" -msgstr "AppStream system cache was updated, but problems were found: %s" +msgid "Only accepting component: %s" +msgstr "" -#: src/as-pool.c:1922 -msgid "" -"The AppStream system cache was updated, but some components were ignored. " -"Refer to the verbose log for more information." +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:345 +msgid "Processing directories:" msgstr "" -"The AppStream system cache was updated, but some errors were detected, which " -"might lead to missing metadata. Refer to the verbose log for more " -"information." -#: src/as-validator-issue-tag.h:151 -msgid "The SPDX license expression is invalid and could not be parsed." -msgstr "The SPDX licence expression is invalid and could not be parsed." +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:348 +msgid "Processing directory:" +msgstr "" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows -#: tools/appstream-cli.c:683 -#, c-format -msgid "The TYPE must be a valid component-type, such as: %s" -msgstr "The TYPE must be a valid component-type, such as: %s" +#. TRANSLATORS: error message +#: tools/appstream-compose.c:357 +msgid "Can not process invalid directory" +msgstr "" -#: src/as-validator-issue-tag.h:547 -msgid "The XML of this file is malformed." -msgstr "The XML of this file is malformed." +#. TRANSLATORS: information message +#: tools/appstream-compose.c:369 +msgid "Composing metadata..." +msgstr "" -#: src/as-validator-issue-tag.h:584 +#. TRANSLATORS: error message +#: tools/appstream-compose.c:374 #, fuzzy -msgid "" -"The category defined in the .desktop file is not valid. Refer to the XDG " -"Menu Specification for a list of valid categories." -msgstr "" -"The category defined in the .desktop file is not valid. Refer to the XDG " -"Manu Specification for a list of valid categories." +msgid "Failed to compose AppStream metadata" +msgstr "An utility to work with AppStream metadata" -#: src/as-validator-issue-tag.h:532 -msgid "" -"The category name is not valid. Refer to the XDG Menu Specification for a " -"list of valid category names." +#. TRANSLATORS: appstream-compose failed to include all data +#: tools/appstream-compose.c:380 +msgid "Run failed, some data was ignored." msgstr "" -"The category name is not valid. Refer to the XDG Menu Specification for a " -"list of valid category names." -#: src/as-validator-issue-tag.h:124 -msgid "" -"The component ID contains a hyphen/minus. Using a hyphen is strongly " -"discouraged, to improve interoperability with other tools such as D-Bus. A " -"good option is to replace any hyphens with underscores ('_')." +#. TRANSLATORS: information message of appstream-compose +#: tools/appstream-compose.c:382 +msgid "Errors were raised during this compose run:" msgstr "" -"The component ID contains a hyphen/minus. Using a hyphen is strongly " -"discouraged, to improve interoperability with other tools such as D-Bus. A " -"good option is to replace any hyphens with underscores ('_')." -#: src/as-validator-issue-tag.h:130 +#: tools/appstream-compose.c:383 msgid "" -"The component ID contains a segment starting with a number. Starting a " -"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " -"interoperability with other tools such as D-Bus. Ideally, prefix these " -"segments with an underscore." +"Refer to the generated issue report data for details on the individual " +"problems." msgstr "" -"The component ID contains a segment starting with a number. Starting a " -"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " -"interoperability with other tools such as D-Bus. Ideally, prefix these " -"segments with an underscore." -#: src/as-validator-issue-tag.h:119 -msgid "" -"The component ID contains an invalid character. Only ASCII characters, dots " -"and numbers are permitted." +#: tools/appstream-compose.c:386 +msgid "Overview of generated hints:" msgstr "" -"The component ID contains an invalid character. Only ASCII characters, dots " -"and numbers are permitted." -#: src/as-validator-issue-tag.h:106 -msgid "" -"The component ID is not a reverse domain-name. Please update the ID to avoid " -"future issues and be compatible with all AppStream implementations.\n" -"You may also consider to update the name of the accompanying .desktop file " -"to follow the latest version of the Desktop-Entry specification and use a " -"rDNS name for it as well. In any case, do not forget to mention the new " -"desktop-entry in a tag for this component to keep the " -"application launchable from software centers and the .desktop file data " -"associated with the metainfo data." +#. TRANSLATORS: information message +#: tools/appstream-compose.c:388 +msgid "Success!" msgstr "" -"The component ID is not a reverse domain-name. Please update the ID to avoid " -"future issues and be compatible with all AppStream implementations.\n" -"You may also consider to update the name of the accompanying .desktop file " -"to follow the latest version of the Desktop-Entry specification and use a " -"rDNS name for it as well. In any case, do not forget to mention the new " -"desktop-entry in a tag for this component to keep the " -"application launchable from software centers and the .desktop file data " -"associated with the metainfo data." -#: src/as-validator-issue-tag.h:101 -msgid "" -"The component ID is required to follow a reverse domain-name scheme for its " -"name. See the AppStream specification for details." -msgstr "" -"The component ID is required to follow a reverse domain-name scheme for its " -"name. See the AppStream specification for details." +#. TRANSLATORS: ascli flag description for: --cachepath +#: tools/appstreamcli.c:59 +msgid "Manually selected location of AppStream cache." +msgstr "Manually selected location of AppStream cache." + +#. TRANSLATORS: ascli flag description for: --datapath +#: tools/appstreamcli.c:64 +msgid "Manually selected location of AppStream metadata to scan." +msgstr "Manually selected location of AppStream metadata to scan." + +#. TRANSLATORS: ascli flag description for: --no-cache +#: tools/appstreamcli.c:69 +msgid "Make request without any caching." +msgstr "Make request without any caching." + +#. TRANSLATORS: ascli flag description for: --format +#: tools/appstreamcli.c:85 +msgid "Default metadata format (valid values are 'xml' and 'yaml')." +msgstr "Default metadata format (valid values are 'xml' and 'yaml')." + +#. TRANSLATORS: ascli flag description for: --details +#: tools/appstreamcli.c:100 +msgid "Print detailed output about found components." +msgstr "Print detailed output about found components." + +#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) +#: tools/appstreamcli.c:118 +msgid "Also show pedantic hints." +msgstr "Also show pedantic hints." + +#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) +#: tools/appstreamcli.c:123 +msgid "Print detailed explanation for found issues." +msgstr "Print detailed output about found components." + +#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) +#: tools/appstreamcli.c:128 +msgid "Do not use network access." +msgstr "Do not use network access." + +#. TRANSLATORS: ascli flag description for: --format when validating XML files +#: tools/appstreamcli.c:133 +msgid "Format of the generated report (valid values are 'text' and 'yaml')." +msgstr "Format of the generated report (valid values are 'text' and 'yaml')." + +#. TRANSLATORS: This is the header to the --help menu for subcommands +#. TRANSLATORS: This is the header to the --help menu +#: tools/appstreamcli.c:153 tools/appstreamcli.c:981 +msgid "AppStream command-line interface" +msgstr "AppStream command-line interface" -#: src/as-validator-issue-tag.h:114 -msgid "" -"The component ID might not follow the reverse domain-name schema (the TLD " -"used by it is not known to the validator)." -msgstr "" +#: tools/appstreamcli.c:156 +#, c-format +msgid "'%s' command" +msgstr "'%s' command" -#: src/as-validator-issue-tag.h:293 -msgid "" -"The component has a 'merge' method defined. This is not allowed in metainfo " -"files." -msgstr "" +#. TRANSLATORS: An unknown option was passed to appstreamcli. +#: tools/appstreamcli.c:191 +#, c-format +msgid "Option '%s' is unknown." +msgstr "Option '%s' is unknown." + +#: tools/appstreamcli.c:195 tools/appstreamcli.c:1207 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options." +msgstr "Run '%s --help' to see a full list of available command line options." -#: src/as-validator-issue-tag.h:288 +#: tools/appstreamcli.c:197 +#, c-format msgid "" -"The component has a priority value set. This is not allowed in metainfo " -"files." +"Run '%s --help' to see a list of available commands and options, and '%s %s " +"--help' to see a list of options specific for this subcommand." msgstr "" +"Run '%s --help' to see a list of available commands and options, and '%s %s " +"--help' to see a list of options specific for this subcommand." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:503 -msgid "The component is an addon, but no 'extends' tag was specified." -msgstr "" +#. TRANSLATORS: ascli flag description for: --force +#: tools/appstreamcli.c:245 +msgid "Enforce a cache refresh." +msgstr "Enforce a cache refresh." -#: src/as-validator-issue-tag.h:440 -msgid "" -"The component is missing a long description. Components of this type must " -"have a long description." +#. TRANSLATORS: ascli flag description for: --user +#: tools/appstreamcli.c:251 +msgid "Update the user-specific instead of the system-wide cache." msgstr "" -#: src/as-validator-issue-tag.h:303 -msgid "The component is missing a name ( tag)." +#. TRANSLATORS: ascli flag description for: --origin (part of the "put" subcommand) +#: tools/appstreamcli.c:477 +msgid "Set the data origin for the installed metadata collection file." msgstr "" -#: src/as-validator-issue-tag.h:308 -msgid "The component is missing a summary ( tag)." +#. TRANSLATORS: ascli flag description for: --user (part of the "put" subcommand) +#: tools/appstreamcli.c:482 +msgid "Install the file for the current user, instead of globally." msgstr "" -#: src/as-validator-issue-tag.h:298 -msgid "The component is missing an ID ( tag)." +#: tools/appstreamcli.c:631 +msgid "" +"You need to provide at least two version numbers to compare as parameters." msgstr "" +"You need to provide at least two version numbers to compare as parameters." -#: src/as-validator-issue-tag.h:136 +#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. +#: tools/appstreamcli.c:660 +#, c-format +msgid "Unknown compare relation '%s'. Valid values are:" +msgstr "Unknown compare relation '%s'. Valid values are:" + +#: tools/appstreamcli.c:700 msgid "" -"The component is part of the Freedesktop project, but its ID does not start " -"with fd.o's reverse-DNS name (\"org.freedesktop\")." +"Too many parameters: Need two version numbers or version numbers and a " +"comparison operator." msgstr "" +"Too many parameters: Need two version numbers or version numbers and a " +"comparison operator." -#: src/as-validator-issue-tag.h:146 +#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) +#: tools/appstreamcli.c:726 msgid "" -"The component is part of the GNOME project, but its ID does not start with " -"GNOMEs reverse-DNS name (\"org.gnome\")." +"Use the given .desktop file to fill in the basic values of the metainfo file." msgstr "" +"Use the given .desktop file to fill in the basic values of the metainfo file." -#: src/as-validator-issue-tag.h:141 +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand +#: tools/appstreamcli.c:731 msgid "" -"The component is part of the KDE project, but its ID does not start with " -"KDEs reverse-DNS name (\"org.kde\")." +"This command takes optional TYPE and FILE positional arguments, FILE being a " +"file to write to (or \"-\" for standard output)." msgstr "" +"This command takes optional TYPE and FILE positional arguments, FILE being a " +"file to write to (or \"-\" for standard output)." -#: src/as-validator-issue-tag.h:323 -msgid "The component name should (likely) not end with a dot ('.')." -msgstr "" +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows +#: tools/appstreamcli.c:734 +#, c-format +msgid "The TYPE must be a valid component-type, such as: %s" +msgstr "The TYPE must be a valid component-type, such as: %s" -#: src/as-validator-issue-tag.h:333 -msgid "The component summary must not contain tabs or linebreaks." -msgstr "" +#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) +#: tools/appstreamcli.c:775 +msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." +msgstr "Use the specified line for the 'Exec=' key of the desktop-entry file." -#: src/as-validator-issue-tag.h:328 -msgid "The component summary should not end with a dot ('.')." -msgstr "" +#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command +#: tools/appstreamcli.c:815 +msgid "Assume the input file is in the selected format ('yaml' or 'text')." +msgstr "Assume the input file is in the selected format ('yaml' or 'text')." -#: src/as-validator-issue-tag.h:243 +#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command +#: tools/appstreamcli.c:820 msgid "" -"The default screenshot of a software component must not be a video. Use a " -"static image as default screenshot and set the video as a secondary " -"screenshot." +"Limit the number of release entries that end up in the metainfo file (0 for " +"unlimited)." msgstr "" +"Limit the number of release entries that end up in the metainfo file (0 for " +"unlimited)." -#: src/as-validator-issue-tag.h:86 -msgid "" -"The description contains a web URL in plain text. This is not allowed, " -"please use the tag instead to share links." -msgstr "" +#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command +#: tools/appstreamcli.c:862 +msgid "Generate the output in the selected format ('yaml' or 'text')." +msgstr "Generate the output in the selected format ('yaml' or 'text')." -#: src/as-validator.c:152 -msgid "" -"The emitted issue tag is unknown in the tag registry of AppStream. This is a " -"bug in the validator itself, please report this issue in our bugtracker." +#: tools/appstreamcli.c:894 +#, c-format +msgid "Compose binary '%s' was not found! Can not continue." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:435 -msgid "" -"The essential tag 'metadata_license' is missing. A license for the metadata " -"itself always has to be defined." +#. TRANSLATORS: this is a (usually shorter) command alias, shown after the command summary text +#: tools/appstreamcli.c:956 +#, c-format +msgid "(Alias: '%s')" msgstr "" -#: src/as-validator-issue-tag.h:79 -msgid "" -"The first 'description/p' paragraph of this component might be too short (< " -"80 characters). Please consider starting with a longer paragraph to improve " -"how the description looks like in software centers and to provide more " -"detailed information on this component immediately in the first paragraph." -msgstr "" +#. these are commands we can use with appstreamcli +#: tools/appstreamcli.c:983 +msgid "Subcommands:" +msgstr "Subcommands:" -#: src/as-validator-issue-tag.h:156 +#: tools/appstreamcli.c:1029 msgid "" -"The license ID was not found in the SPDX database. Please check that the " -"license ID is written in an SPDX-conformant way and is a valid free software " -"license." +"You can find information about subcommand-specific options by passing \"--" +"help\" to the subcommand." msgstr "" +"You can find information about subcommand-specific options by passing \"--" +"help\" to the subcommand." -#: src/as-validator-issue-tag.h:96 +#. TRANSLATORS: ascli has been run with unknown command. '%s --help' is the command to receive help and should not be translated. +#: tools/appstreamcli.c:1052 +#, fuzzy, c-format msgid "" -"The mentioned tag is empty, which is highly likely not intended as it should " -"have content." -msgstr "" +"Command '%s' is unknown. Run '%s --help' for a list of available commands." +msgstr "Run '%s --help' to see a full list of available command line options." -#: src/as-validator-issue-tag.h:168 -msgid "" -"The metadata itself does not seem to be licensed under a permissive license. " -"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " -"0BSD to allow distributors to include it in mixed data collections without " -"the risk of license violations due to mutually incompatible licenses." -msgstr "" +#. TRANSLATORS: ascli flag description for: --verbose +#: tools/appstreamcli.c:1082 +msgid "Show extra debugging information." +msgstr "Show extra debugging information." -#: src/as-validator-issue-tag.h:162 -msgid "" -"The metadata itself seems to be licensed under a complex collection of " -"licenses. Please license the data under a simple permissive license, like " -"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " -"collections without the risk of license violations due to mutually " -"incompatible licenses." +#. TRANSLATORS: ascli flag description for: --profile +#: tools/appstreamcli.c:1090 +msgid "Enable profiling" msgstr "" -#: src/as-validator-issue-tag.h:599 -msgid "" -"The metainfo file is stored in a legacy path. Please place it in '/usr/share/" -"metainfo'." -msgstr "" +#. TRANSLATORS: `appstreamcli search` command description. +#: tools/appstreamcli.c:1102 +msgid "Search the component database." +msgstr "Search the component database." -#: src/as-validator-issue-tag.h:604 -msgid "The metainfo file specifies multiple components. This is not allowed." -msgstr "" +#. TRANSLATORS: `appstreamcli get` command description. +#: tools/appstreamcli.c:1107 +msgid "Get information about a component by its ID." +msgstr "Get information about a component by its ID." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:559 +#. TRANSLATORS: `appstreamcli what-provides` command description. +#: tools/appstreamcli.c:1112 msgid "" -"The metainfo file uses an ancient version of the AppStream specification, " -"which can not be validated. Please migrate it to version 0.6 (or higher)." +"Get components which provide the given item. Needs an item type (e.g. lib, " +"bin, python3, …) and item value as parameter." msgstr "" -#: src/as-validator-issue-tag.h:569 -#, fuzzy -msgid "The metainfo filename does not match the component ID." +#. TRANSLATORS: `appstreamcli dump` command description. +#: tools/appstreamcli.c:1118 +msgid "Dump raw XML metadata for a component matching the ID." +msgstr "Dump raw XML metadata for a component matching the ID." + +#. TRANSLATORS: `appstreamcli refresh-cache` command description. +#: tools/appstreamcli.c:1123 +msgid "Rebuild the component metadata cache." +msgstr "Rebuild the component metadata cache." + +#. TRANSLATORS: `appstreamcli validate` command description. +#: tools/appstreamcli.c:1129 +msgid "Validate AppStream XML files for issues." +msgstr "Validate AppStream XML files for issues." + +#. TRANSLATORS: `appstreamcli validate-tree` command description. +#: tools/appstreamcli.c:1134 +msgid "Validate an installed file-tree of an application for valid metadata." +msgstr "Validate an installed file-tree of an application for valid metadata." + +#. TRANSLATORS: `appstreamcli install` command description. +#: tools/appstreamcli.c:1140 +msgid "Install software matching the component-ID." +msgstr "Install software matching the component-ID." + +#. TRANSLATORS: `appstreamcli remove` command description. +#: tools/appstreamcli.c:1145 +msgid "Remove software matching the component-ID." msgstr "Remove software matching the component-ID." -#: src/as-validator-issue-tag.h:609 +#. TRANSLATORS: `appstreamcli status` command description. +#: tools/appstreamcli.c:1151 +msgid "Display status information about available AppStream metadata." +msgstr "Display status information about available AppStream metadata." + +#. TRANSLATORS: `appstreamcli os-info` command description. +#: tools/appstreamcli.c:1156 msgid "" -"The releases are not sorted in a latest to oldest version order. This is " -"required as some tools will assume that the latest version is always at the " -"top. Sorting releases also increases overall readability of the metainfo " -"file." +"Show information about the current operating system from the metadata index." msgstr "" -#: src/as-validator-issue-tag.h:537 -msgid "The screenshot caption is too long (should be <= 80 characters)" -msgstr "" +#. TRANSLATORS: `appstreamcli put` command description. +#: tools/appstreamcli.c:1161 +msgid "Install a metadata file into the right location." +msgstr "Install a metadata file into the right location." -#: src/as-validator-issue-tag.h:206 -msgid "The screenshot does not have a caption text. Consider adding one." -msgstr "" +#. TRANSLATORS: `appstreamcli convert` command description. "Collection XML" is a term describing a specific type of AppStream XML data. +#: tools/appstreamcli.c:1166 +msgid "Convert collection XML to YAML or vice versa." +msgstr "Convert collection XML to YAML or vice versa." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:218 -msgid "" -"The screenshot video does not specify which container format was used in a " -"'container' property." -msgstr "" +#. TRANSLATORS: `appstreamcli vercmp` command description. +#: tools/appstreamcli.c:1171 +msgid "Compare two version numbers." +msgstr "Compare two version numbers." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:212 +#. TRANSLATORS: `appstreamcli new-template` command description. +#: tools/appstreamcli.c:1177 msgid "" -"The screenshot video does not specify which video codec was used in a " -"'codec' property." +"Create a template for a metainfo file (to be filled out by the upstream " +"project)." msgstr "" +"Create a template for a metainfo file (to be filled out by the upstream " +"project)." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:224 -msgid "" -"The selected video codec is not supported by AppStream and software centers " -"may not be able to play the video. Only the AV1 and VP9 codecs are currently " -"supported, using 'av1' and 'vp9' as values for the 'codec' property." -msgstr "" +#. TRANSLATORS: `appstreamcli make-desktop-file` command description. +#: tools/appstreamcli.c:1182 +#, fuzzy +msgid "Create a desktop-entry file from a metainfo file." +msgstr "Create a XDG desktop-entry file from a metainfo file." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:231 -msgid "" -"The selected video container format is not supported by AppStream and " -"software centers may not be able to play the video. Only the WebM and " -"Matroska video containers are currently supported, using 'webm' and 'mkv' as " -"values for the 'container' property." -msgstr "" +#. TRANSLATORS: `appstreamcli news-to-metainfo` command description. +#: tools/appstreamcli.c:1187 +msgid "Convert a YAML or text NEWS file into metainfo releases." +msgstr "Convert a YAML or text NEWS file into metainfo releases." + +#. TRANSLATORS: `appstreamcli metainfo-to-news` command description. +#: tools/appstreamcli.c:1192 +msgid "Write NEWS text or YAML file with information from a metainfo file." +msgstr "Write NEWS text or YAML file with information from a metainfo file." -#: src/as-validator-issue-tag.h:283 +#. TRANSLATORS: `appstreamcli compose` command description. +#: tools/appstreamcli.c:1198 #, fuzzy -msgid "" -"The set component type is not a recognized, valid AppStream component type." -msgstr "" -"The software component type '%s' is not valid in AppStream. Possible values " -"are:" +msgid "Compose AppStream collection metadata from directory trees." +msgstr "No AppStream metadata was found in this directory or directory tree." + +#. TRANSLATORS: ascli has been run without command. +#: tools/appstreamcli.c:1206 +msgid "You need to specify a command." +msgstr "You need to specify a command." + +#. TRANSLATORS: In ascli: The requested action needs higher permissions. +#: tools/ascli-actions-mdata.c:70 +msgid "You might need superuser permissions to perform this action." +msgstr "You might need superuser permissions to perform this action." + +#. we performed a cache refresh +#. TRANSLATORS: Updating the metadata cache succeeded +#: tools/ascli-actions-mdata.c:80 +msgid "AppStream cache update completed successfully." +msgstr "AppStream cache update completed successfully." + +#. cache wasn't updated, so the update wasn't necessary +#: tools/ascli-actions-mdata.c:86 +msgid "AppStream cache update is not necessary." +msgstr "AppStream cache update is not necessary." + +#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments +#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. +#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:253 +#: tools/ascli-actions-pkgmgr.c:80 +msgid "You need to specify a component-ID." +msgstr "You need to specify a component-ID." + +#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:265 +#: tools/ascli-actions-pkgmgr.c:93 +#, c-format +msgid "Unable to find component with ID '%s'!" +msgstr "Unable to find component with ID '%s'!" -#: src/as-validator-issue-tag.h:398 -msgid "" -"The set value is not an identifier for a desktop environment as registered " -"with Freedesktop.org." -msgstr "" +#: tools/ascli-actions-mdata.c:164 +msgid "You need to specify a term to search for." +msgstr "You need to specify a term to search for." -#: tools/ascli-actions-mdata.c:449 +#. TRANSLATORS: We failed to find any component in the database, likely due to an error +#: tools/ascli-actions-mdata.c:177 #, c-format -msgid "" -"The software component type '%s' is not valid in AppStream. Possible values " -"are:" -msgstr "" -"The software component type '%s' is not valid in AppStream. Possible values " -"are:" +msgid "Unable to find component matching %s!" +msgstr "Unable to find component matching %s!" -#: src/as-validator-issue-tag.h:338 -msgid "The summary must not contain any URL. Use the tags for links." -msgstr "" +#: tools/ascli-actions-mdata.c:182 +#, c-format +msgid "No component matching '%s' found." +msgstr "No component matching '%s' found." -#: src/as-validator-issue-tag.h:640 -msgid "" -"The type of the item that the component provides is not known to AppStream." -msgstr "" +#: tools/ascli-actions-mdata.c:206 +msgid "No value for the item to search for was defined." +msgstr "No value for the item to search for was defined." -#: src/as-validator-issue-tag.h:174 -msgid "" -"The update-contact does not appear to be a valid email address (escaping of " -"'@' is only allowed as '_at_' or '_AT_')." -msgstr "" +#: tools/ascli-actions-mdata.c:212 +msgid "Invalid type for provided item selected. Valid values are:" +msgstr "Invalid type for provided item selected. Valid values are:" -#: tools/ascli-actions-validate.c:363 tools/ascli-actions-validate.c:492 +#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results +#: tools/ascli-actions-mdata.c:227 #, c-format -msgid "" -"The validator can not create reports in the '%s' format. You may select " -"'yaml' or 'text' instead." -msgstr "" +msgid "Could not find component providing '%s::%s'." +msgstr "Could not find component providing '%s::%s'." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:410 -msgid "This 'bundle' tag has an unknown type and can not be used." -msgstr "" +#: tools/ascli-actions-mdata.c:306 +msgid "You need to specify a metadata file." +msgstr "You need to specify a metadata file." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:404 -msgid "This 'launchable' tag has an unknown type and can not be used." -msgstr "" +#: tools/ascli-actions-mdata.c:320 +#, fuzzy, c-format +msgid "Unable to install metadata file: %s" +msgstr "Unable to save desktop entry file: %s" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:515 -msgid "" -"This 'localization' component does not define any languages this " -"localization is for." -msgstr "" +#: tools/ascli-actions-mdata.c:340 +msgid "You need to specify an input and output file." +msgstr "You need to specify an input and output file." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:509 -msgid "" -"This 'localization' component is missing an 'extends' tag, to specify the " -"components it adds localization to." -msgstr "" +#: tools/ascli-actions-mdata.c:347 +#, c-format +msgid "Metadata file '%s' does not exist." +msgstr "Metadata file '%s' does not exist." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:521 +#. TRANSLATORS: User is trying to convert a file in ascli +#: tools/ascli-actions-mdata.c:387 msgid "" -"This 'service' component is missing a 'launchable' tag of type 'service'." +"Unable to convert file: Could not determine output format, please set it " +"explicitly using '--format='." msgstr "" +"Unable to convert file: Could not determine output format, please set it " +"explicitly using '--format='." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:473 -msgid "" -"This 'web-application' component is missing a 'icon' tag to specify a valid " -"icon." -msgstr "" +#: tools/ascli-actions-mdata.c:438 +#, fuzzy, c-format +msgid "Unable to find operating system component '%s'!" +msgstr "Unable to find component with ID '%s'!" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:467 -msgid "" -"This 'web-application' component is missing a 'launchable' tag of type 'url'." -msgstr "" +#: tools/ascli-actions-mdata.c:443 +msgid "Version" +msgstr "Version" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:479 +#: tools/ascli-actions-mdata.c:467 msgid "" -"This 'web-application' component is missing categorizations. A 'categories' " -"block is likely missing." +"You need to give an AppStream software component type to generate a " +"template. Possible values are:" msgstr "" +"You need to give an AppStream software component type to generate a " +"template. Possible values are:" -#: src/as-validator-issue-tag.h:564 +#: tools/ascli-actions-mdata.c:469 +#, c-format msgid "" -"This XML document has an unknown root tag. Maybe this file is not a metainfo " -"document?" +"The software component type '%s' is not valid in AppStream. Possible values " +"are:" msgstr "" +"The software component type '%s' is not valid in AppStream. Possible values " +"are:" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand -#: tools/appstream-cli.c:680 -msgid "" -"This command takes optional TYPE and FILE positional arguments, FILE being a " -"file to write to (or \"-\" for standard output)." -msgstr "" -"This command takes optional TYPE and FILE positional arguments, FILE being a " -"file to write to (or \"-\" for standard output)." +#: tools/ascli-actions-mdata.c:487 +#, c-format +msgid "The .desktop file '%s' does not exist." +msgstr "The .desktop file '%s' does not exist." -#: src/as-validator-issue-tag.h:622 -msgid "" -"This component extends, provides, requires or recommends itself, which is " -"certainly not intended and may confuse users or machines dealing with this " -"metadata." -msgstr "" +#: tools/ascli-actions-mdata.c:493 +#, c-format +msgid "Unable to read the .desktop file: %s" +msgstr "Unable to read the .desktop file: %s" -#: src/as-validator-issue-tag.h:579 -msgid "This component metadata refers to a non-existing .desktop file." -msgstr "" +#: tools/ascli-actions-mdata.c:564 +#, c-format +msgid "Unable to build the template metainfo file: %s" +msgstr "Unable to build the template metainfo file: %s" -#: src/as-validator-issue-tag.h:69 -msgid "" -"This description paragraph contains invalid markup. Currently, only " -"and are permitted." -msgstr "" +#: tools/ascli-actions-mdata.c:572 +#, c-format +msgid "Unable to save the template metainfo file: %s" +msgstr "Unable to save the template metainfo file: %s" -#: src/as-validator-issue-tag.h:57 -msgid "" -"This element (paragraph, list, etc.) of a tag must not be " -"localized individually in collection metadata. Localize the whole " -" tag instead. The AppStream collection metadata generator (e." -"g. `appstream-generator`) will already do the right thing when compiling the " -"data." -msgstr "" +#. TRANSLATORS: In the status report of ascli: Header +#: tools/ascli-actions-misc.c:47 +msgid "AppStream Status:" +msgstr "AppStream Status:" -#: src/as-validator-issue-tag.h:455 -msgid "" -"This generic component is missing a long description. It may be useful to " -"add one." -msgstr "" +#: tools/ascli-actions-misc.c:48 +#, c-format +msgid "Version: %s" +msgstr "Version: %s" -#: src/as-validator-issue-tag.h:421 -msgid "" -"This tag is a GNOME-specific extension to AppStream and not part of the " -"official specification. Do not expect it to work in all implementations and " -"in all software centers." -msgstr "" +#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions +#: tools/ascli-actions-misc.c:52 +msgid "Distribution metadata:" +msgstr "Distribution metadata:" -#: src/as-validator-issue-tag.h:41 -msgid "This tag requires a type property." -msgstr "" +#: tools/ascli-actions-misc.c:94 +msgid "Iconsets" +msgstr "Iconsets" -#: data/org.freedesktop.appstream.cli.metainfo.xml:15 -msgid "" -"This tool allows for reading, writing, validating and transformation of " -"AppStream XML or YAML metadata. It also gives access to the system metadata " -"pool, for example to query for software that provides a specific MIME-type, " -"and installing it by its software component identifier." -msgstr "" -"This tool allows for reading, writing, validating and transformation of " -"AppStream XML or YAML metadata. It also gives access to the system metadata " -"pool, for example to query for software that provides a specific MIME-type, " -"and installing it by its software component identifier." +#: tools/ascli-actions-misc.c:105 +msgid "No icons." +msgstr "No icons." -#: src/as-validator-issue-tag.h:388 -msgid "" -"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." -msgstr "" +#. TRANSLATORS: No metainfo files have been found +#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 +msgid "Empty." +msgstr "Empty." -#: tools/appstream-cli.c:648 -msgid "" -"Too many parameters: Need two version numbers or version numbers and a " -"comparison operator." -msgstr "" -"Too many parameters: Need two version numbers or version numbers and a " -"comparison operator." +#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report +#: tools/ascli-actions-misc.c:116 +msgid "Metainfo files:" +msgstr "Metainfo files:" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:461 -msgid "" -"Type 'console-application' component, but no information about binaries in " -"$PATH was provided via a 'provides/binary' tag." -msgstr "" +#: tools/ascli-actions-misc.c:123 +#, c-format +msgid "Found %i components." +msgstr "Found %i components." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:491 -msgid "" -"Type 'driver' component, but no modalias information was provided via a " -"provides/modalias tag." -msgstr "" +#. TRANSLATORS: Found metainfo files in legacy directories +#: tools/ascli-actions-misc.c:138 +#, c-format +msgid "Found %i components in legacy paths." +msgstr "Found %i components in legacy paths." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:485 -msgid "" -"Type 'font' component, but no font information was provided via a 'provides/" -"font' tag." -msgstr "" +#. TRANSLATORS: Status summary in ascli +#: tools/ascli-actions-misc.c:145 +msgid "Summary:" +msgstr "Summary:" -#: src/as-validator.c:333 -msgid "URL format is invalid." -msgstr "" +#: tools/ascli-actions-misc.c:153 +#, c-format +msgid "We have information on %i software components." +msgstr "We have information on %i software components." -#: tools/ascli-actions-mdata.c:544 +#: tools/ascli-actions-misc.c:159 #, c-format -msgid "Unable to build the template metainfo file: %s" -msgstr "Unable to build the template metainfo file: %s" +msgid "Error while loading the metadata pool: %s" +msgstr "Error while loading the metadata pool: %s" -#. TRANSLATORS: User is trying to convert a file in ascli -#: tools/ascli-actions-mdata.c:400 +#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 +msgid "You need to specify a metainfo file as input." +msgstr "You need to specify a metainfo file as input." + +#: tools/ascli-actions-misc.c:188 msgid "" -"Unable to convert file: Could not determine output format, please set it " -"explicitly using '--format='." +"You need to specify a desktop-entry file to create or augment as output." msgstr "" -"Unable to convert file: Could not determine output format, please set it " -"explicitly using '--format='." +"You need to specify a desktop-entry file to create or augment as output." -#. TRANSLATORS: We failed to find any component in the database, likely due to an error -#: tools/ascli-actions-mdata.c:177 +#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 +#: tools/ascli-actions-misc.c:515 #, c-format -msgid "Unable to find component matching %s!" -msgstr "Unable to find component matching %s!" +msgid "Metainfo file '%s' does not exist." +msgstr "Metainfo file '%s' does not exist." -#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:266 -#: tools/ascli-actions-pkgmgr.c:93 +#: tools/ascli-actions-misc.c:219 #, c-format -msgid "Unable to find component with ID '%s'!" -msgstr "Unable to find component with ID '%s'!" +msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." +msgstr "Augmenting existing desktop-entry file '%s' with data from '%s'." #: tools/ascli-actions-misc.c:224 -#, fuzzy, c-format +#, c-format msgid "Unable to load existing desktop-entry file template: %s" -msgstr "Unable to read the .desktop file: %s" +msgstr "Unable to load existing desktop-entry file template: %s" -#: src/as-validator-issue-tag.h:356 -msgid "Unable to reach remote icon at the given web location - does it exist?" -msgstr "" +#: tools/ascli-actions-misc.c:228 +#, c-format +msgid "Creating new desktop-entry file '%s' using data from '%s'" +msgstr "Creating new desktop-entry file '%s' using data from '%s'" -#: src/as-validator-issue-tag.h:378 -msgid "" -"Unable to reach remote location that this URL references - does it exist?" +#: tools/ascli-actions-misc.c:284 +msgid "No stock icon name was provided in the metainfo file. Can not continue." msgstr "" +"No stock icon name was provided in the metainfo file. Can not continue." -#: src/as-validator-issue-tag.h:179 -msgid "" -"Unable to reach the screenshot image on its remote location - does the image " -"exist?" +#: tools/ascli-actions-misc.c:306 +msgid "" +"No provided binary specified in metainfo file, and no exec command specified " +"via '--exec'. Can not create 'Exec=' key." msgstr "" +"No provided binary specified in metainfo file, and no exec command specified " +"via '--exec'. Can not create 'Exec=' key." -#: src/as-validator-issue-tag.h:184 +#: tools/ascli-actions-misc.c:370 +#, c-format +msgid "Unable to save desktop entry file: %s" +msgstr "Unable to save desktop entry file: %s" + +#: tools/ascli-actions-misc.c:393 +msgid "You need to specify a NEWS file as input." +msgstr "You need to specify a NEWS file as input." + +#: tools/ascli-actions-misc.c:397 msgid "" -"Unable to reach the screenshot video on its remote location - does the video " -"file exist?" +"You need to specify a metainfo file to augment, or '-' to print to stdout." msgstr "" +"You need to specify a metainfo file to augment, or '-' to print to stdout." -#: src/as-validator-issue-tag.h:542 -#, fuzzy -msgid "Unable to read file." -msgstr "Unable to read the .desktop file: %s" +#: tools/ascli-actions-misc.c:402 +msgid "No output filename specified, modifying metainfo file directly." +msgstr "No output filename specified, modifying metainfo file directly." -#: src/as-validator-issue-tag.h:574 -#, fuzzy -msgid "Unable to read the .desktop file associated with this component." -msgstr "Unable to read the .desktop file: %s" +#: tools/ascli-actions-misc.c:509 +msgid "You need to specify a NEWS file as output, or '-' to print to stdout." +msgstr "You need to specify a NEWS file as output, or '-' to print to stdout." -#: tools/ascli-actions-mdata.c:473 -#, c-format -msgid "Unable to read the .desktop file: %s" -msgstr "Unable to read the .desktop file: %s" +#: tools/ascli-actions-misc.c:540 +msgid "You need to specify a NEWS format to write the output in." +msgstr "You need to specify a NEWS format to write the output in." -#: src/as-pool.c:606 -msgid "Unable to remove old cache." +#: tools/ascli-actions-pkgmgr.c:53 +msgid "" +"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" +"\" (part of PackageKit) is available." msgstr "" - -#: tools/ascli-actions-misc.c:370 -#, fuzzy, c-format -msgid "Unable to save desktop entry file: %s" -msgstr "Unable to read the .desktop file: %s" - -#: tools/ascli-actions-mdata.c:552 -#, c-format -msgid "Unable to save the template metainfo file: %s" -msgstr "Unable to save the template metainfo file: %s" +"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" +"\" (part of PackageKit) is available." #: tools/ascli-actions-pkgmgr.c:67 #, c-format msgid "Unable to spawn package manager: %s" msgstr "Unable to spawn package manager: %s" -#: tools/ascli-actions-mdata.c:322 +#. TRANSLATORS: We found no distribution package or bundle to install to make this software available +#: tools/ascli-actions-pkgmgr.c:106 #, c-format -msgid "Unable to write to '%s', can not install metainfo file." -msgstr "Unable to write to '%s', can not install metainfo file." +msgid "Component '%s' has no installation candidate." +msgstr "Component '%s' has no installation candidate." -#. TRANSLATORS: ascli has been run with unknown command. -#: tools/appstream-cli.c:1009 +#: tools/ascli-actions-validate.c:176 tools/ascli-actions-validate.c:354 #, c-format -msgid "Unknown command '%s'." -msgstr "Unknown command '%s'." +msgid "File '%s' does not exist." +msgstr "File '%s' does not exist." -#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. -#: tools/appstream-cli.c:608 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "error"-type hints +#: tools/ascli-actions-validate.c:228 #, c-format -msgid "Unknown compare relation '%s'. Valid values are:" -msgstr "Unknown compare relation '%s'. Valid values are:" - -#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) -#: tools/appstream-cli.c:675 -msgid "" -"Use the given .desktop file to fill in the basic values of the metainfo file." -msgstr "" -"Use the given .desktop file to fill in the basic values of the metainfo file." - -#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) -#: tools/appstream-cli.c:725 -msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." -msgstr "" - -#. TRANSLATORS: this is the menu spec main category for Utilities -#: src/as-category.c:329 -msgid "Utilities" -msgstr "Utilities" +msgid "errors: %lu" +msgstr "errors: %lu" -#: tools/appstream-cli.c:856 -msgid "Validate AppStream XML files for issues." -msgstr "Validate AppStream XML files for issues." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "warning"-type hints +#: tools/ascli-actions-validate.c:235 +#, c-format +msgid "warnings: %lu" +msgstr "warnings: %lu" -#: tools/appstream-cli.c:857 -msgid "Validate an installed file-tree of an application for valid metadata." -msgstr "Validate an installed file-tree of an application for valid metadata." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "info"-type hints +#: tools/ascli-actions-validate.c:242 +#, c-format +msgid "infos: %lu" +msgstr "infos: %lu" -#: tools/ascli-actions-validate.c:301 tools/ascli-actions-validate.c:442 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "pedantic"-type hints +#: tools/ascli-actions-validate.c:249 #, c-format -msgid "Validation failed: %s" -msgstr "Validation failed: %s" +msgid "pedantic: %lu" +msgstr "pedantic: %lu" + +#: tools/ascli-actions-validate.c:268 tools/ascli-actions-validate.c:342 +msgid "You need to specify at least one file to validate!" +msgstr "You need to specify at least one file to validate!" -#: tools/ascli-actions-validate.c:289 tools/ascli-actions-validate.c:430 +#: tools/ascli-actions-validate.c:294 tools/ascli-actions-validate.c:435 msgid "Validation was successful." msgstr "Validation was successful." -#: tools/ascli-actions-validate.c:291 tools/ascli-actions-validate.c:432 +#: tools/ascli-actions-validate.c:296 tools/ascli-actions-validate.c:437 #, c-format msgid "Validation was successful: %s" msgstr "Validation was successful: %s" -#: tools/appstream-cli.c:851 -msgid "Value of the item that should be found." -msgstr "Value of the item that should be found." - -#: src/as-category.c:177 -msgctxt "Category of Graphics" -msgid "Vector Graphics" -msgstr "Vector Graphics" - -#: tools/ascli-actions-misc.c:48 +#: tools/ascli-actions-validate.c:306 tools/ascli-actions-validate.c:447 #, c-format -msgid "Version: %s" -msgstr "Version: %s" - -#: src/as-category.c:180 -msgctxt "Category of Graphics" -msgid "Viewers" -msgstr "Viewers" +msgid "Validation failed: %s" +msgstr "Validation failed: %s" -#: tools/ascli-actions-misc.c:153 +#: tools/ascli-actions-validate.c:368 tools/ascli-actions-validate.c:497 #, c-format -msgid "We have information on %i software components." -msgstr "We have information on %i software components." - -#: src/as-category.c:270 -msgctxt "Category of Communication" -msgid "Web Browsers" -msgstr "Web Browsers" - -#: src/as-category.c:202 -msgctxt "Category of Office" -msgid "Word Processor" -msgstr "Word Processor" - -#: tools/appstream-cli.c:871 -msgid "Write NEWS text or YAML file with information from a metainfo file." -msgstr "" - -#: tools/appstream-cli.c:874 msgid "" -"You can find information about subcommand-specific options by passing \"--" -"help\" to the subcommand." +"The validator can not create reports in the '%s' format. You may select " +"'yaml' or 'text' instead." msgstr "" -"You can find information about subcommand-specific options by passing \"--" -"help\" to the subcommand." +"The validator can not create reports in the '%s' format. You may select " +"'yaml' or 'text' instead." -#. TRANSLATORS: In ascli: The requested action needs higher permissions. -#: tools/ascli-actions-mdata.c:70 -msgid "You might need superuser permissions to perform this action." -msgstr "You might need superuser permissions to perform this action." +#: tools/ascli-actions-validate.c:390 tools/ascli-actions-validate.c:484 +msgid "You need to specify a root directory to start validation!" +msgstr "You need to specify a root directory to start validation!" -#: tools/ascli-actions-mdata.c:447 -msgid "" -"You need to give an AppStream software component type to generate a " -"template. Possible values are:" -msgstr "" -"You need to give an AppStream software component type to generate a " -"template. Possible values are:" +#: tools/ascli-utils.c:266 +msgid "Identifier" +msgstr "Identifier" -#: tools/appstream-cli.c:579 -msgid "" -"You need to provide at least two version numbers to compare as parameters." +#: tools/ascli-utils.c:268 +msgid "Internal ID" msgstr "" -"You need to provide at least two version numbers to compare as parameters." -#: tools/ascli-actions-misc.c:393 -#, fuzzy -msgid "You need to specify a NEWS file as input." -msgstr "You need to specify a metadata file." +#: tools/ascli-utils.c:269 +msgid "Name" +msgstr "Name" -#: tools/ascli-actions-misc.c:509 -#, fuzzy -msgid "You need to specify a NEWS file as output, or '-' to print to stdout." -msgstr "You need to specify a metadata file." +#: tools/ascli-utils.c:270 +msgid "Summary" +msgstr "Summary" -#: tools/ascli-actions-misc.c:540 -#, fuzzy -msgid "You need to specify a NEWS format to write the output in." -msgstr "You need to specify an input and output file." +#: tools/ascli-utils.c:271 +msgid "Package" +msgstr "Package" -#. TRANSLATORS: ascli has been run without command. -#: tools/appstream-cli.c:925 -msgid "You need to specify a command." -msgstr "You need to specify a command." +#: tools/ascli-utils.c:272 +msgid "Bundle" +msgstr "Bundle" -#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments -#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. -#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:254 -#: tools/ascli-actions-pkgmgr.c:80 -msgid "You need to specify a component-ID." -msgstr "You need to specify a component-ID." +#: tools/ascli-utils.c:273 +msgid "Homepage" +msgstr "Homepage" -#: tools/ascli-actions-misc.c:188 -#, fuzzy -msgid "" -"You need to specify a desktop-entry file to create or augment as output." -msgstr "You need to specify a file to validate!" +#: tools/ascli-utils.c:274 +msgid "Icon" +msgstr "Icon" -#: tools/ascli-actions-mdata.c:309 -msgid "You need to specify a metadata file." -msgstr "You need to specify a metadata file." +#. developer name +#: tools/ascli-utils.c:294 +msgid "Developer" +msgstr "Developer" -#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 -#, fuzzy -msgid "You need to specify a metainfo file as input." -msgstr "You need to specify a metadata file." +#: tools/ascli-utils.c:300 +msgid "Extends" +msgstr "Extends" -#: tools/ascli-actions-misc.c:397 -#, fuzzy -msgid "" -"You need to specify a metainfo file to augment, or '-' to print to stdout." -msgstr "You need to specify a metadata file." +#: tools/ascli-utils.c:306 +msgid "Description" +msgstr "Description" -#: tools/ascli-actions-validate.c:385 tools/ascli-actions-validate.c:479 -msgid "You need to specify a root directory to start validation!" -msgstr "You need to specify a root directory to start validation!" +#: tools/ascli-utils.c:326 +msgid "Default Screenshot URL" +msgstr "Default Screenshot URL" -#: tools/ascli-actions-mdata.c:164 -msgid "You need to specify a term to search for." -msgstr "You need to specify a term to search for." +#. project group +#: tools/ascli-utils.c:333 +msgid "Project Group" +msgstr "Project Group" -#: tools/ascli-actions-mdata.c:357 -msgid "You need to specify an input and output file." -msgstr "You need to specify an input and output file." +#. license +#: tools/ascli-utils.c:336 +msgid "License" +msgstr "Licence" -#: tools/ascli-actions-validate.c:263 tools/ascli-actions-validate.c:337 -#, fuzzy -msgid "You need to specify at least one file to validate!" -msgstr "You need to specify a file to validate!" +#: tools/ascli-utils.c:342 +msgid "Categories" +msgstr "Categories" -#. TRANSLATORS: List of "grey-listed" words sperated with ";" -#. * Do not translate this list directly. Instead, -#. * provide a list of words in your language that people are likely -#. * to include in a search but that should normally be ignored in -#. * the search. -#. -#: src/as-pool.c:107 -msgid "app;application;package;program;programme;suite;tool" -msgstr "app;application;package;program;programme;suite;tool" +#: tools/ascli-utils.c:350 +msgid "Compulsory for" +msgstr "Compulsory for" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:223 -#, c-format -msgid "errors: %lu" -msgstr "errors: %lu" +#: tools/ascli-utils.c:378 +msgid "Provided Items" +msgstr "Provided Items" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:237 -#, c-format -msgid "infos: %lu" -msgstr "infos: %lu" +#, fuzzy, c-format +#~ msgid "Unable to open new cache file: %s" +#~ msgstr "Unable to read the .desktop file: %s" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:244 -#, c-format -msgid "pedantic: %lu" -msgstr "pedantic: %lu" +#~ msgid "" +#~ "AppStream is a cross-distribution specification to provide metadata about " +#~ "software components." +#~ msgstr "" +#~ "AppStream is a cross-distribution specification to provide metadata about " +#~ "software components." -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:230 #, c-format -msgid "warnings: %lu" -msgstr "warnings: %lu" - -#~ msgid "Command '%s' is unknown." -#~ msgstr "Command '%s' is unknown." - -#, fuzzy -#~ msgid "Do not use any caches when performing the request." -#~ msgstr "Do not use the Xapian cache when performing the request" - -#~ msgid "AppStream cache update failed." -#~ msgstr "AppStream cache update failed." +#~ msgid "Unable to write to '%s', can not install metainfo file." +#~ msgstr "Unable to write to '%s', can not install metainfo file." -#, fuzzy -#~ msgid "Category of Games" -#~ msgstr "Categories" - -#, fuzzy -#~ msgid "Category of Office" -#~ msgstr "Categories" - -#, fuzzy -#~ msgid "Category of Science" -#~ msgstr "Categories" +#, c-format +#~ msgid "" +#~ "Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " +#~ "suffix." +#~ msgstr "" +#~ "Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " +#~ "suffix." -#~ msgid "Extensions" -#~ msgstr "Extensions" +#~ msgid "An item type (e.g. lib, bin, python3, …)" +#~ msgstr "An item type (e.g. lib, bin, python3, …)" -#~ msgid "File %s not found or permission denied!" -#~ msgstr "File %s not found or permission denied!" +#~ msgid "Get components which provide the given item." +#~ msgstr "Get components which provide the given item." -#, fuzzy -#~ msgid "No component providing '%s::%s' found." -#~ msgstr "No component providing '%s;%s' found." +#, c-format +#~ msgid "Unknown command '%s'." +#~ msgstr "Unknown command '%s'." -#~ msgid "XDG Menu XML file '%s' is damaged." -#~ msgstr "XDG Menu XML file '%s' is damaged." +#~ msgid "Value of the item that should be found." +#~ msgstr "Value of the item that should be found." diff -Nru appstream-0.12.10/po/eo.po appstream-0.14.5/po/eo.po --- appstream-0.12.10/po/eo.po 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/po/eo.po 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,3010 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR Matthias Klumpp +# This file is distributed under the same license as the appstream package. +# phlostically , 2021. +msgid "" +msgstr "" +"Project-Id-Version: appstream\n" +"Report-Msgid-Bugs-To: appstream@lists.freedesktop.org\n" +"POT-Creation-Date: 2021-08-28 16:09+0200\n" +"PO-Revision-Date: 2021-08-27 23:33+0000\n" +"Last-Translator: phlostically \n" +"Language-Team: Esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.8.1-dev\n" + +#: data/org.freedesktop.appstream.cli.metainfo.xml:8 +msgid "AppStream CLI" +msgstr "Komandlinia Interfaco al AppStream" + +#: data/org.freedesktop.appstream.cli.metainfo.xml:9 +msgid "An utility to work with AppStream metadata" +msgstr "Ilprogramo por uzi AppStream-metadatenojn" + +#: data/org.freedesktop.appstream.cli.metainfo.xml:12 +msgid "" +"AppStream is a metadata specification which permits software components to " +"provide information about themselves to automated systems and end-users " +"before the software is actually installed. The AppStream project provides " +"facilities to easily access and transform this metadata, as well as a few " +"additional services for building feature-rich software centers and similar " +"applications that make use of software metadata." +msgstr "" +"AppStream estas normo pri metadatenoj, kiu ebligas programajn komponantojn " +"informi pri si aŭtomatajn sistemojn kaj uzantojn antaŭ efektiva instalo. La " +"projekto AppStream disponigas ilprogramojn por facile atingi kaj transformi " +"tiujn metadatenojn, kaj ankaŭ kelkajn pliajn servojn por konstrui riĉajn " +"programvendejojn kaj similajn programojn, kiuj uzas metadatenojn pri " +"programoj." + +#: data/org.freedesktop.appstream.cli.metainfo.xml:18 +msgid "" +"The appstreamcli command-line tool allows to read, write, and " +"transform AppStream XML or YAML metadata as well as to validate it for " +"compliance with the specification. It also provides easy access to the " +"system metadata pool, for example to query for software that provides a " +"specific Mediatype handler or for installing software by its component " +"identifier." +msgstr "" +"La komandlinia ilprogramo appstreamcli ebligas legi, skribi, kaj " +"transformi XML- aŭ YAML-metadatenojn de AppStream kaj ankaŭ validigi ĝin pri " +"kongruado kun la normo. Ĝi ankaŭ ebligas facile atingi la sisteman " +"metadatenaron, ekzemple por serĉi programon, kiu disponigas pritraktilon de " +"specifa aŭdvidaĵa tipo, aŭ por instali programan komponanton per ĝia " +"identigilo." + +#: src/as-category.c:66 +msgctxt "Category of AudioVideo" +msgid "Featured" +msgstr "Elstaraĵoj" + +#: src/as-category.c:69 +msgctxt "Category of AudioVideo" +msgid "Audio Creation & Editing" +msgstr "Kreado & Redaktado de Sonoj" + +#: src/as-category.c:75 +msgctxt "Category of AudioVideo" +msgid "Music Players" +msgstr "Muzikludiloj" + +#: src/as-category.c:84 +msgctxt "Category of Development" +msgid "Featured" +msgstr "Elstaraĵoj" + +#: src/as-category.c:87 +msgctxt "Category of Development" +msgid "Debuggers" +msgstr "Erarserĉiloj" + +#: src/as-category.c:90 +msgctxt "Category of Development" +msgid "IDEs" +msgstr "Integritaj Programistaj Medioj" + +#: src/as-category.c:99 +msgctxt "Category of Education" +msgid "Featured" +msgstr "Elstaraĵoj" + +#: src/as-category.c:102 +msgctxt "Category of Education" +msgid "Astronomy" +msgstr "Astronomio" + +#: src/as-category.c:105 +msgctxt "Category of Education" +msgid "Chemistry" +msgstr "Kemio" + +#: src/as-category.c:108 +msgctxt "Category of Education" +msgid "Languages" +msgstr "Lingvoj" + +#: src/as-category.c:112 +msgctxt "Category of Education" +msgid "Math" +msgstr "Matematiko" + +#: src/as-category.c:121 +msgctxt "Category of Games" +msgid "Featured" +msgstr "Elstaraj Ludoj" + +#: src/as-category.c:124 +msgctxt "Category of Games" +msgid "Action" +msgstr "Agludoj" + +#: src/as-category.c:127 +msgctxt "Category of Games" +msgid "Adventure" +msgstr "Aventurludoj" + +#: src/as-category.c:130 +msgctxt "Category of Games" +msgid "Arcade" +msgstr "Ludmaŝinoj" + +#: src/as-category.c:133 +msgctxt "Category of Games" +msgid "Blocks" +msgstr "Blokludoj" + +#: src/as-category.c:136 +msgctxt "Category of Games" +msgid "Board" +msgstr "Tabulludoj" + +#: src/as-category.c:139 +msgctxt "Category of Games" +msgid "Card" +msgstr "Kartludoj" + +#: src/as-category.c:142 +msgctxt "Category of Games" +msgid "Emulators" +msgstr "Imitiloj" + +#: src/as-category.c:145 +msgctxt "Category of Games" +msgid "Kids" +msgstr "Ludoj por Infanoj" + +#: src/as-category.c:148 +msgctxt "Category of Games" +msgid "Logic" +msgstr "Logikludoj" + +#: src/as-category.c:151 +msgctxt "Category of Games" +msgid "Role Playing" +msgstr "Rolludoj" + +#: src/as-category.c:154 +msgctxt "Category of Games" +msgid "Sports" +msgstr "Sportludoj" + +#: src/as-category.c:158 +msgctxt "Category of Games" +msgid "Strategy" +msgstr "Strategiaj Ludoj" + +#: src/as-category.c:166 +msgctxt "Category of Graphics" +msgid "Featured" +msgstr "Elstaraĵoj" + +#: src/as-category.c:169 +msgctxt "Category of Graphics" +msgid "3D Graphics" +msgstr "3-Dimensia Grafiko" + +#: src/as-category.c:172 +msgctxt "Category of Graphics" +msgid "Photography" +msgstr "Fotografio" + +#: src/as-category.c:175 +msgctxt "Category of Graphics" +msgid "Scanning" +msgstr "Skanado" + +#: src/as-category.c:178 +msgctxt "Category of Graphics" +msgid "Vector Graphics" +msgstr "Vektora Grafiko" + +#: src/as-category.c:181 +msgctxt "Category of Graphics" +msgid "Viewers" +msgstr "Vidigiloj" + +#: src/as-category.c:189 +msgctxt "Category of Office" +msgid "Featured" +msgstr "Elstaraĵoj" + +#: src/as-category.c:192 +msgctxt "Category of Office" +msgid "Calendar" +msgstr "Kalendaro" + +#: src/as-category.c:196 +msgctxt "Category of Office" +msgid "Database" +msgstr "Datenbanko" + +#: src/as-category.c:199 +msgctxt "Category of Office" +msgid "Finance" +msgstr "Financo" + +#: src/as-category.c:203 +msgctxt "Category of Office" +msgid "Word Processor" +msgstr "Dokumentredaktilo" + +#: src/as-category.c:212 +msgctxt "Category of Addons" +msgid "Fonts" +msgstr "Tiparoj" + +#: src/as-category.c:215 +msgctxt "Category of Addons" +msgid "Codecs" +msgstr "Malkodigiloj" + +#: src/as-category.c:218 +msgctxt "Category of Addons" +msgid "Input Sources" +msgstr "Enigfontoj" + +#: src/as-category.c:221 +msgctxt "Category of Addons" +msgid "Language Packs" +msgstr "Lingvopakoj" + +#: src/as-category.c:224 +msgctxt "Category of Addons" +msgid "Localization" +msgstr "Lokaĵaroj" + +#: src/as-category.c:232 +msgctxt "Category of Science" +msgid "Featured" +msgstr "Elstaraĵoj" + +#: src/as-category.c:235 +msgctxt "Category of Science" +msgid "Artificial Intelligence" +msgstr "Artefarita Intelekto" + +#: src/as-category.c:238 +msgctxt "Category of Science" +msgid "Astronomy" +msgstr "Astronomio" + +#: src/as-category.c:241 +msgctxt "Category of Science" +msgid "Chemistry" +msgstr "Kemio" + +#: src/as-category.c:244 +msgctxt "Category of Science" +msgid "Math" +msgstr "Matematiko" + +#: src/as-category.c:249 +msgctxt "Category of Science" +msgid "Robotics" +msgstr "Robotiko" + +#: src/as-category.c:257 +msgctxt "Category of Communication" +msgid "Featured" +msgstr "Elstaraj Komunikiloj" + +#: src/as-category.c:260 +msgctxt "Category of Communication" +msgid "Chat" +msgstr "Babililoj" + +#: src/as-category.c:267 +msgctxt "Category of Communication" +msgid "News" +msgstr "Novaĵoj" + +#: src/as-category.c:271 +msgctxt "Category of Communication" +msgid "Web Browsers" +msgstr "TTT-Legiloj" + +#: src/as-category.c:279 +msgctxt "Category of Utility" +msgid "Featured" +msgstr "Elstaraj Utilaĵoj" + +#: src/as-category.c:282 +msgctxt "Category of Utility" +msgid "Text Editors" +msgstr "Tekstredaktiloj" + +#: src/as-category.c:285 +msgctxt "Category of Utility" +msgid "Terminal Emulators" +msgstr "Terminalimitiloj" + +#: src/as-category.c:288 +msgctxt "Category of Utility" +msgid "File System" +msgstr "Dosiersistemo" + +#: src/as-category.c:291 +msgctxt "Category of Utility" +msgid "System Monitoring" +msgstr "Sistema Monitorado" + +#: src/as-category.c:294 +msgctxt "Category of Utility" +msgid "Security" +msgstr "Sekureco" + +#. TRANSLATORS: this is the menu spec main category for Audio & Video +#: src/as-category.c:303 +msgid "Audio & Video" +msgstr "Aŭdvidaĵoj" + +#. TRANSLATORS: this is the menu spec main category for Development +#: src/as-category.c:306 +msgid "Developer Tools" +msgstr "Programistaj Iloj" + +#. TRANSLATORS: this is the menu spec main category for Education +#: src/as-category.c:309 +msgid "Education" +msgstr "Eduko" + +#. TRANSLATORS: this is the menu spec main category for Game +#: src/as-category.c:312 +msgid "Games" +msgstr "Ludoj" + +#. TRANSLATORS: this is the menu spec main category for Graphics +#: src/as-category.c:315 +msgid "Graphics & Photography" +msgstr "Grafiko & Fotografio" + +#. TRANSLATORS: this is the menu spec main category for Office +#: src/as-category.c:318 +msgid "Office" +msgstr "Oficejaj Programoj" + +#. TRANSLATORS: this is the main category for Add-ons +#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor +#: src/as-category.c:321 tools/ascli-utils.c:371 +msgid "Add-ons" +msgstr "Kromprogramoj" + +#. TRANSLATORS: this is the menu spec main category for Science +#: src/as-category.c:324 +msgid "Science" +msgstr "Scienco" + +#. TRANSLATORS: this is the menu spec main category for Communication +#: src/as-category.c:327 +msgid "Communication & News" +msgstr "Komunikado & Novaĵoj" + +#. TRANSLATORS: this is the menu spec main category for Utilities +#: src/as-category.c:330 +msgid "Utilities" +msgstr "Utilaĵoj" + +#. TRANSLATORS: This is the formatting of English and localized name +#. * of the rating e.g. "Adults Only (solo adultos)" +#: src/as-content-rating.c:298 +#, c-format +msgid "%s (%s)" +msgstr "%s (%s)" + +#: src/as-content-rating.c:444 +msgid "General" +msgstr "Ĝenerala" + +#: src/as-content-rating.c:453 +msgid "ALL" +msgstr "ĈIUJ" + +#: src/as-content-rating.c:457 src/as-content-rating.c:560 +msgid "Adults Only" +msgstr "Nur Plenkreskulo" + +#: src/as-content-rating.c:459 src/as-content-rating.c:559 +msgid "Mature" +msgstr "Maturulo" + +#: src/as-content-rating.c:461 src/as-content-rating.c:558 +msgid "Teen" +msgstr "Adoleskanto" + +#: src/as-content-rating.c:463 src/as-content-rating.c:557 +msgid "Everyone 10+" +msgstr "Ne pli juna ol 10" + +#: src/as-content-rating.c:465 src/as-content-rating.c:556 +msgid "Everyone" +msgstr "Ĉiu" + +#: src/as-content-rating.c:467 src/as-content-rating.c:555 +msgid "Early Childhood" +msgstr "Frua Infaneco" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:839 +msgid "No cartoon violence" +msgstr "Neniom da karikatura perforto" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:841 +msgid "Cartoon characters in unsafe situations" +msgstr "Karikaturaj roluloj en danĝera situacio" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:843 +msgid "Cartoon characters in aggressive conflict" +msgstr "Karikaturaj roluloj en senbrida konflikto" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:845 +msgid "Graphic violence involving cartoon characters" +msgstr "Eksplicita perforto pri karikaturaj roluloj" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:850 +msgid "No fantasy violence" +msgstr "Neniom da fantasta perforto" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:852 +msgid "Characters in unsafe situations easily distinguishable from reality" +msgstr "Roluloj en danĝera situacio facile distingebla de realo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:854 +msgid "Characters in aggressive conflict easily distinguishable from reality" +msgstr "Roluloj en senbrida konflikto facile distingebla de realo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:856 +msgid "Graphic violence easily distinguishable from reality" +msgstr "Eksplicita perforto facile distingebla de realo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:861 +msgid "No realistic violence" +msgstr "Neniom da realisma perforto" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:863 +msgid "Mildly realistic characters in unsafe situations" +msgstr "Realismetaj roluloj en danĝera situacio" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:865 +msgid "Depictions of realistic characters in aggressive conflict" +msgstr "Realismaj roluloj en senbrida konflikto" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:867 +msgid "Graphic violence involving realistic characters" +msgstr "Eksplicita perforto pri realismaj roluloj" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:872 +msgid "No bloodshed" +msgstr "Neniom da sango" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:874 +msgid "Unrealistic bloodshed" +msgstr "Nerealisma sango" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:876 +msgid "Realistic bloodshed" +msgstr "Realisma sango" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:878 +msgid "Depictions of bloodshed and the mutilation of body parts" +msgstr "Montro de sangoverŝado kaj mutilo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:883 +msgid "No sexual violence" +msgstr "Neniu seksperforto" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:885 +msgid "Rape or other violent sexual behavior" +msgstr "Seksperforto aŭ alia perforta seksa konduto" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:892 +msgid "No references to alcohol" +msgstr "Neniu mencio de alkoholaĵoj" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:894 +msgid "References to alcoholic beverages" +msgstr "Mencioj de alkoholaĵoj" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:896 +msgid "Use of alcoholic beverages" +msgstr "Trinko de alkoholaĵoj" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:902 +msgid "No references to illicit drugs" +msgstr "Neniu mencio de kontraŭleĝaj drogoj" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:904 +msgid "References to illicit drugs" +msgstr "Mencioj de kontraŭleĝaj drogoj" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:906 +msgid "Use of illicit drugs" +msgstr "Uzo de kontraŭleĝaj drogoj" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:912 +msgid "No references to tobacco products" +msgstr "Neniu mencio de tabako" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:914 +msgid "References to tobacco products" +msgstr "Mencioj de tabako" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:916 +msgid "Use of tobacco products" +msgstr "Uzo de tabako" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:922 +msgid "No nudity of any sort" +msgstr "Nenia nudeco" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:924 +msgid "Brief artistic nudity" +msgstr "Mallonga arta nudeco" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:926 +msgid "Prolonged nudity" +msgstr "Longedaŭra nudeco" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:932 +msgid "No references to or depictions of sexual nature" +msgstr "Neniu mencio aŭ montro pri sekso" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:934 +msgid "Provocative references or depictions" +msgstr "Sekse ekscitantaj mencioj aŭ montroj" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:936 +msgid "Sexual references or depictions" +msgstr "Mencioj aŭ montroj pri sekso" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:938 +msgid "Graphic sexual behavior" +msgstr "Eksplicita seksa konduto" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:943 +msgid "No profanity of any kind" +msgstr "Nenia filingvo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:945 +msgid "Mild or infrequent use of profanity" +msgstr "Iometo da filingvo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:947 +msgid "Moderate use of profanity" +msgstr "Iom da filingvo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:949 +msgid "Strong or frequent use of profanity" +msgstr "Ega aŭ ofta uzo de filingvoj" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:954 +msgid "No inappropriate humor" +msgstr "Neniu netaŭga humuro" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:956 +msgid "Slapstick humor" +msgstr "Groteska humuro" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:958 +msgid "Vulgar or bathroom humor" +msgstr "Kruda aŭ ekskrementa humuro" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:960 +msgid "Mature or sexual humor" +msgstr "Humuro seksa aŭ por maturuloj" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:965 +msgid "No discriminatory language of any kind" +msgstr "Nenia diskriminacia lingvo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:967 +msgid "Negativity towards a specific group of people" +msgstr "Negativeco pri specifa grupo de homoj" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:969 +msgid "Discrimination designed to cause emotional harm" +msgstr "Diskriminacio por damaĝi emocie" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:971 +msgid "Explicit discrimination based on gender, sexuality, race or religion" +msgstr "Eksplicita diskriminacio laŭ sekso, seksemo, raso, aŭ religio" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:976 +msgid "No advertising of any kind" +msgstr "Nenia reklamo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:978 +msgid "Product placement" +msgstr "Nerekta reklamado" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:980 +msgid "Explicit references to specific brands or trademarked products" +msgstr "Eksplicitaj mencioj de specifaj markoj aŭ varoj" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:982 +msgid "Users are encouraged to purchase specific real-world items" +msgstr "Uzantoj estas instigataj aĉeti realajn varojn" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:987 +msgid "No gambling of any kind" +msgstr "Nenia veto" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:989 +msgid "Gambling on random events using tokens or credits" +msgstr "Vetoj pri hazardaj eventoj per ĵetonoj" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:991 +msgid "Gambling using “play” money" +msgstr "Vetoj per kvazaŭmono" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:993 +msgid "Gambling using real money" +msgstr "Vetoj per reala mono" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:998 +msgid "No ability to spend money" +msgstr "Nekapablo elspezi" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1000 +msgid "Users are encouraged to donate real money" +msgstr "Uzantoj estas instigataj donaci realan monon" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1003 +msgid "Ability to spend real money in-app" +msgstr "Kapablo elspezi reala monon per la programo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1008 +msgid "No way to chat with other users" +msgstr "Nekapablo babili kun aliuloj" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1010 +msgid "User-to-user interactions without chat functionality" +msgstr "Interagoj inter uzantoj sen kapablo babili" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1012 +msgid "Moderated chat functionality between users" +msgstr "Kontrolata kapablo babili kun aliuloj" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1014 +msgid "Uncontrolled chat functionality between users" +msgstr "Nekontrolata kapablo babili kun aliuloj" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1019 +msgid "No way to talk with other users" +msgstr "Nekapablo alparoli aliulojn" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1021 +msgid "Uncontrolled audio or video chat functionality between users" +msgstr "Nekontrolata kapablo aŭdvide babili kun aliuloj" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1028 +msgid "No sharing of social network usernames or email addresses" +msgstr "Neniu diskonigo de salutnomoj en sociaj retoj aŭ retpoŝtaj adresoj" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1030 +msgid "Sharing social network usernames or email addresses" +msgstr "Diskonigo de salutnomoj en sociaj retoj aŭ retpoŝtaj adresoj" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1037 +msgid "No sharing of user information with third parties" +msgstr "Neniu sendado de privataj informoj al tria partio" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1039 +msgid "Checking for the latest application version" +msgstr "Kontrolado de la plej nova versio de programo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1041 +msgid "Sharing diagnostic data that does not let others identify the user" +msgstr "" +"Sendado de anonimaj informoj por diagnozo kiuj ne ebligas identigon de la " +"uzanto" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1043 +msgid "Sharing information that lets others identify the user" +msgstr "Sendado de informoj kiuj ebligas identigon de la uzanto" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1048 +msgid "No sharing of physical location with other users" +msgstr "Neniu informado de aliuloj pri fizika loko" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1050 +msgid "Sharing physical location with other users" +msgstr "Informado de aliuloj pri fizika loko" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1073 +msgid "No references to homosexuality" +msgstr "Neniu mencio de samseksemo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1075 +msgid "Indirect references to homosexuality" +msgstr "Nerektaj mencioj de samseksemo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1077 +msgid "Kissing between people of the same gender" +msgstr "Kisoj inter samseksuloj" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1079 +msgid "Graphic sexual behavior between people of the same gender" +msgstr "Eksplicita seksa konduto inter samseksuloj" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1084 +msgid "No references to prostitution" +msgstr "Neniu mencio de prostituo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1086 +msgid "Indirect references to prostitution" +msgstr "Nerektaj mencioj de prostituo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1088 +msgid "Direct references to prostitution" +msgstr "Rektaj mencioj de prostituo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1090 +msgid "Graphic depictions of the act of prostitution" +msgstr "Eksplicitaj montroj de prostituo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1095 +msgid "No references to adultery" +msgstr "Neniu mencio de adulto" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1097 +msgid "Indirect references to adultery" +msgstr "Nerektaj mencioj de adulto" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1099 +msgid "Direct references to adultery" +msgstr "Rektaj mencioj de adulto" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1101 +msgid "Graphic depictions of the act of adultery" +msgstr "Eksplicitaj montroj de adulto" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1106 +msgid "No sexualized characters" +msgstr "Neniuj erotigitaj roluloj" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1109 +msgid "Scantily clad human characters" +msgstr "Malmulte vestitaj homaj roluloj" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1111 +msgid "Overtly sexualized human characters" +msgstr "Eksplicite erotigitaj homaj roluloj" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1116 +msgid "No references to desecration" +msgstr "Neniu mencio de profanado" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1118 +msgid "Depictions of or references to historical desecration" +msgstr "Montroj aŭ mencioj de historia profanado" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1120 +msgid "Depictions of modern-day human desecration" +msgstr "Montroj de nuntempa homa profanado" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1122 +msgid "Graphic depictions of modern-day desecration" +msgstr "Eksplicitaj montroj de nuntempa homa profanado" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1127 +msgid "No visible dead human remains" +msgstr "Neniu videbla homa kadavraĵo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1129 +msgid "Visible dead human remains" +msgstr "Videbla homa kadavraĵo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1131 +msgid "Dead human remains that are exposed to the elements" +msgstr "Homaj kadavraĵoj elmetataj al la elementoj" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1133 +msgid "Graphic depictions of desecration of human bodies" +msgstr "Eksplicitaj montroj de profanado de homaj korpoj" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1138 +msgid "No references to slavery" +msgstr "Neniu mencio de sklavoj" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1140 +msgid "Depictions of or references to historical slavery" +msgstr "Montroj aŭ mencioj de historia sklavismo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1142 +msgid "Depictions of modern-day slavery" +msgstr "Montroj de hodiaŭaj sklavoj" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1144 +msgid "Graphic depictions of modern-day slavery" +msgstr "Eksplicitaj montroj de nuntempaj sklavoj" + +#. TRANSLATORS: We got a 429 error while trying to download data +#: src/as-curl.c:134 +#, c-format +msgid "Failed to download due to server limit" +msgstr "Malsukcesis elŝuto pro servila limo" + +#: src/as-curl.c:141 src/as-curl.c:148 +#, c-format +msgid "Failed to download file: %s" +msgstr "Malsukcesis elŝuti dosieron: %s" + +#. TRANSLATORS: We tried to download an URL, but received a 404 error code +#: src/as-curl.c:157 +#, c-format +msgid "URL was not found on the server." +msgstr "Interreta adreso ne troviĝis ĉe la servilo." + +#. TRANSLATORS: We received an uexpected HTTP status code while talking to a server, likely an error +#: src/as-curl.c:164 +#, c-format +msgid "Unexpected status code: %ld" +msgstr "Neatendita statokodo: %ld" + +#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty +#: src/as-curl.c:247 +#, c-format +msgid "Retrieved file size was zero." +msgstr "Elŝutita dosiero estis malplena." + +#. TRANSLATORS: List of "grey-listed" words sperated with ";" +#. * Do not translate this list directly. Instead, +#. * provide a list of words in your language that people are likely +#. * to include in a search but that should normally be ignored in +#. * the search. +#. +#: src/as-pool.c:111 +msgid "app;application;package;program;programme;suite;tool" +msgstr "apo;aplikaĵo;programo;programaro;softvaro;ilo" + +#: src/as-pool.c:620 +msgid "Unable to remove old cache." +msgstr "Ne eblas forigi malnovan kaŝmemoron." + +#: src/as-pool.c:963 +msgid "Metadata files have errors:" +msgstr "Metadatenaj dosieroj enhavas erarojn:" + +#: src/as-pool.c:1370 +msgid "" +"Many components have been recognized as invalid. See debug output for " +"details." +msgstr "" +"Pluraj komponantoj estas nevalidaj. Vidu sencimigan eligon por detaloj." + +#: src/as-pool.c:1996 +#, c-format +msgid "Cache location '%s' is not writable." +msgstr "Kaŝmemora loko '%s' ne estas surskribebla." + +#: src/as-pool.c:2109 +msgid "" +"The AppStream system cache was updated, but some components were ignored. " +"Refer to the verbose log for more information." +msgstr "" +"Ĝisdatiĝis la sistema kaŝmemoro de AppStream, sed kelkaj komponantoj estis " +"ignoritaj. Vidu la detalan protokolon por pliaj informoj." + +#: src/as-pool.c:2111 +#, c-format +msgid "" +"The AppStream system cache was updated, but problems were found which " +"resulted in metadata being ignored: %s" +msgstr "" +"Ĝisdatiĝis la sistema kaŝmemoro de AppStream, sed okazis problemojn, pro " +"kiuj metadatenoj estis ignoritaj: %s" + +#: src/as-pool.c:2125 +#, c-format +msgid "" +"AppStream system cache refresh failed. Turn on verbose mode to get detailed " +"issue information." +msgstr "" +"Malsukcesis reŝargo de sistema kaŝmemoro de AppStream. Ŝaltu detalan reĝimon " +"por detalaj informoj pri la problemo." + +#: src/as-provided.c:144 +msgid "Libraries" +msgstr "Bibliotekoj" + +#: src/as-provided.c:146 +msgid "Binaries" +msgstr "Binara̛ĵoj" + +#: src/as-provided.c:148 +msgid "Media types" +msgstr "Aŭdvidaĵaj tipoj" + +#: src/as-provided.c:150 +msgid "Fonts" +msgstr "Tiparoj" + +#: src/as-provided.c:152 +msgid "Modaliases" +msgstr "Modulaj alinomoj" + +#: src/as-provided.c:154 +msgid "Python (Version 2)" +msgstr "Python (Versio 2)" + +#: src/as-provided.c:156 +msgid "Python 3" +msgstr "Python 3" + +#: src/as-provided.c:158 +msgid "D-Bus System Services" +msgstr "Sistemaj Servoj de D-Bus" + +#: src/as-provided.c:160 +msgid "D-Bus Session Services" +msgstr "Sesiaj Servoj de D-Bus" + +#: src/as-provided.c:162 +msgid "Runtime Firmware" +msgstr "Rultempa Mikroprogramaro" + +#: src/as-provided.c:164 +msgid "Flashed Firmware" +msgstr "Fulma Mikroprogramaro" + +#: src/as-provided.c:166 +msgid "Component" +msgstr "Komponanto" + +#: src/as-validator-issue-tag.h:41 +msgid "This tag requires a type property." +msgstr "Ĉi tiu elemento postulas atributon \"type\"." + +#: src/as-validator-issue-tag.h:46 +msgid "Tags of this name are not permitted in this section." +msgstr "Ĉi tiu elemento ne estas permesata en ĉi tiu sekcio." + +#: src/as-validator-issue-tag.h:51 +msgid "" +"A tag must not be localized in metainfo files (upstream " +"metadata). Localize the individual paragraphs instead." +msgstr "" +"Elemento devas esti ne rekte tradukita en metainformaja " +"dosieroj (metadatenoj el la originaj programistoj). Traduku la individuajn " +"alineojn anstataŭe." + +#: src/as-validator-issue-tag.h:57 +msgid "" +"This element (paragraph, list, etc.) of a tag must not be " +"localized individually in collection metadata. Localize the whole " +" tag instead. The AppStream collection metadata generator (e." +"g. `appstream-generator`) will already do the right thing when compiling the " +"data." +msgstr "" +"Ĉi tiu elemento (alineo, listo, ktp) en elemento devas esti " +"ne individue tradukita en kolektaj metadatenoj. Traduku la tutan elementon " +" anstataŭe. La farilo de kolektaj metadatenoj de AppStream (t." +"e. \"appstream-generator\") faros tion ĝuste dum kolektado de la datenoj." + +#: src/as-validator-issue-tag.h:63 +msgid "" +"AppStream descriptions support only a limited set of tags to format text: " +"Paragraphs (

                                                                                                ) and lists (

                                                                                                  ,
                                                                                                    ). This description markup contains " +"an invalid XML tag that would not be rendered correctly in applications " +"supporting the metainfo specification." +msgstr "" +"Priskriboj laŭ AppStream povas enhavi nur limigitan aron da elementoj por " +"aranĝi tekston: Alineoj (

                                                                                                    ) kaj listoj (

                                                                                                      ,
                                                                                                        ). Ĉi tiu priskribo " +"enhavas nevalidan XML-elementon, kiun mismontros programoj subtenantaj la " +"normon pri metainformoj." + +#: src/as-validator-issue-tag.h:69 +msgid "" +"This description paragraph contains invalid markup. Currently, only " +"and are permitted." +msgstr "" +"Ĉi tiu priskriba alineo enhavas nevalidan markadon. Nuntempe nur kaj " +" estas permesataj." + +#: src/as-validator-issue-tag.h:74 +msgid "Enumerations must only have list items (
                                                                                                      1. ) as children." +msgstr "Numera listo povas nur enhavi listerojn (
                                                                                                      2. ) kiel idojn." + +#: src/as-validator-issue-tag.h:79 +msgid "" +"The first `description/p` paragraph of this component might be too short (< " +"80 characters). Please consider starting with a longer paragraph to improve " +"how the description looks like in software centers and to provide more " +"detailed information on this component immediately in the first paragraph." +msgstr "" +"La unua alineo `description/p` de ĉi tiu komponanto estas eble tro mallonga " +"(<80 signoj). Bonvolu konsideri pli longan unuan alineon por plibeligi la " +"aspekton de la priskribo en programvendejoj kaj por tuj unuaalinee " +"pluinformi pri ĉi tiu komponanto." + +#: src/as-validator-issue-tag.h:86 +msgid "" +"The description contains a web URL in plain text. This is not allowed, " +"please use the tag instead to share links." +msgstr "" +"La priskribo enhavas retpaĝan adreson plattekste. Tio estas malpermesata; " +"bonvolu uzi la elementon anstataŭe por hiperligoj." + +#: src/as-validator-issue-tag.h:91 +msgid "" +"As per AppStream specification, the mentioned tag must only appear once in " +"this context. Having multiple tags of this kind is not valid." +msgstr "" +"Laŭ la normo AppStream, la jena elemento devas aperi nur unufoje en ĉi tia " +"kunteksto. Ne validas apero de pluraj jenaj elementoj." + +#: src/as-validator-issue-tag.h:96 +msgid "" +"The mentioned tag is empty, which is highly likely not intended as it should " +"have content." +msgstr "" +"La ĉi-supra elemento estas malplena, verŝajne senintence, ĉar ĝi enhavu ion." + +#: src/as-validator-issue-tag.h:101 +msgid "" +"The component ID is required to follow a reverse domain-name scheme for its " +"name. See the AppStream specification for details." +msgstr "" +"La identigilo de la komponanto devas esti inversigita reteja adreso. Vidu la " +"normon AppStream por detaloj." + +#: src/as-validator-issue-tag.h:106 +msgid "" +"The component ID is not a reverse domain-name. Please update the ID to avoid " +"future issues and be compatible with all AppStream implementations.\n" +"You may also consider to update the name of the accompanying .desktop file " +"to follow the latest version of the Desktop-Entry specification and use a " +"rDNS name for it as well. In any case, do not forget to mention the new " +"desktop-entry in a tag for this component to keep the " +"application launchable from software centers and the .desktop file data " +"associated with the metainfo data." +msgstr "" +"La identigilo de la komponanto ne estas inversigita reteja adreso. Bonvolu " +"ŝanĝi la identigilon por eviti okazontajn problemojn kaj kongrui kun ĉiuj " +"uzoj de AppStream.\n" +"Vi konsideru ankaŭ ŝanĝi la nomon de la akompananta .desktop-dosiero al " +"inversigita reteja adreso laŭ la plej nova versio de la normo pri Desktop-" +"Entry. Ĉiukaze ne forgesu mencii la novan desktop-entry en elemento " +" de ĉi tiu komponanto por lanĉebligi la programon per " +"programvendejoj kaj por asocii la datenojn de la .desktop-dosiero kun la " +"metainformaj datenoj." + +#: src/as-validator-issue-tag.h:114 +msgid "" +"The component ID might not follow the reverse domain-name schema (the TLD " +"used by it is not known to the validator)." +msgstr "" +"La identigilo de la komponanto eble ne sekvas la skemon de inversigita " +"reteja adreso (la retregiono en ĝi ne estas konata de la validigilo)." + +#: src/as-validator-issue-tag.h:119 +msgid "" +"The component ID contains an invalid character. Only ASCII characters, dots " +"and numbers are permitted." +msgstr "" +"La identigilo de la komponanto enhavas nevalidan signon. Nur Askiaj literoj, " +"punktoj kaj ciferoj estas permesataj." + +#: src/as-validator-issue-tag.h:124 +msgid "" +"The component ID contains a hyphen/minus. Using a hyphen is strongly " +"discouraged, to improve interoperability with other tools such as D-Bus. A " +"good option is to replace any hyphens with underscores (`_`)." +msgstr "" +"La identigilo de la komponanto enhavas streketon/minuson. Uzo de streketo " +"estas forte malinstigata, por kunfunkciebleco kun aliaj iloj kiel D-Bus. " +"Ekzemple, anstataŭigu streketojn per substrekoj (\"_\")." + +#: src/as-validator-issue-tag.h:130 +msgid "" +"The component ID contains a segment starting with a number. Starting a " +"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " +"interoperability with other tools such as D-Bus. Ideally, prefix these " +"segments with an underscore." +msgstr "" +"La identigilo de komponanto enhavas segmenton komencantan per cifero. " +"Komencado de segmento de la inversigita retejadresa identigilo per cifero " +"estas evitindega, por kunfunkciebleco kun aliaj programoj kiel D-Bus. " +"Konsideru meti substrekon antaŭ tiaj segmentoj." + +#: src/as-validator-issue-tag.h:136 +msgid "The component ID should only contain lowercase letters." +msgstr "La identigilo de komponanto devas konsisti nur el minuskloj." + +#: src/as-validator-issue-tag.h:141 +msgid "" +"The component is part of the Freedesktop project, but its ID does not start " +"with fd.o's reverse-DNS name (\"org.freedesktop\")." +msgstr "" +"La komponanto estas parto de la projekto Freedesktop, sed ĝia identigilo ne " +"komenciĝas per la inversa DNS-nomo de Freedesktop (\"org.freedesktop\")." + +#: src/as-validator-issue-tag.h:146 +msgid "" +"The component is part of the KDE project, but its ID does not start with " +"KDEs reverse-DNS name (\"org.kde\")." +msgstr "" +"La komponanto estas parto de la projekto KDE, sed ĝia identigilo ne " +"komenciĝas per la inversa DNS-nomo de KDE (\"org.kde\")." + +#: src/as-validator-issue-tag.h:151 +msgid "" +"The component is part of the GNOME project, but its ID does not start with " +"GNOMEs reverse-DNS name (\"org.gnome\")." +msgstr "" +"La komponanto estas parto de la projekto GNOME, sed ĝia identigilo ne " +"komenciĝas per la inversa DNS-nomo de GNOME (\"org.gnome\")." + +#: src/as-validator-issue-tag.h:156 +msgid "The SPDX license expression is invalid and could not be parsed." +msgstr "La permesilo-esprimo laŭ SPDX estas nevalida kaj tial ne analizebla." + +#: src/as-validator-issue-tag.h:161 +msgid "" +"The license ID was not found in the SPDX database. Please check that the " +"license ID is written in an SPDX-conformant way and is a valid free software " +"license." +msgstr "" +"La permesila identigilo ne troviĝis en la SPDX-datenbanko. Bonvolu kontroli, " +"ĉu la permesila identigilo konformas al SPDX kaj estas valida permesilo de " +"libera programo." + +#: src/as-validator-issue-tag.h:167 +msgid "" +"The metadata itself seems to be licensed under a complex collection of " +"licenses. Please license the data under a simple permissive license, like " +"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " +"collections without the risk of license violations due to mutually " +"incompatible licenses." +msgstr "" +"La metadatenoj mem ŝajnas esti publikigitaj sub komplika kolekto de " +"permesiloj. Bonvolu meti la metadatenojn sub simpla permesema permesilo, " +"kiel FSFAP, MIT, aŭ CC0-1.0 por permesi al distribuistoj inkluzivi ĝin en " +"miksitajn datenajn kolektojn sen risko de permesilaj malobservoj pro " +"reciproke malkongruaj permesiloj." + +#: src/as-validator-issue-tag.h:173 +msgid "" +"The metadata itself does not seem to be licensed under a permissive license. " +"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " +"0BSD to allow distributors to include it in mixed data collections without " +"the risk of license violations due to mutually incompatible licenses." +msgstr "" +"La metadatenoj mem ŝajnas esti ne publikigitaj sub permesema permesilo. " +"Bonvolu meti la metadatenojn sub permesema permesilo, kiel FSFAP, MIT, aŭ " +"CC0-1.0 por permesi al distribuistoj inkluzivi ĝin en miksitajn datenajn " +"kolektojn sen risko de permesilaj malobservoj pro reciproke malkongruaj " +"permesiloj." + +#: src/as-validator-issue-tag.h:179 +msgid "" +"The update-contact does not appear to be a valid email address (escaping of " +"`@` is only allowed as `_at_` or `_AT_`)." +msgstr "" +"La update-contact ŝajne ne validas kiel retpoŝta adreso (kaŝo de `@` estas " +"permesata nur per `_at_` aŭ `_AT_`)." + +#: src/as-validator-issue-tag.h:184 +msgid "" +"Unable to reach the screenshot image on its remote location - does the image " +"exist?" +msgstr "Ne eblas atingi la foran ekrankopian bildon - ĉu ekzistas la bildo?" + +#: src/as-validator-issue-tag.h:189 +msgid "" +"Unable to reach the screenshot video on its remote location - does the video " +"file exist?" +msgstr "" +"Ne eblas atingi la foran ekrankopian filmeton - ĉu ekzistas la filmeto?" + +#: src/as-validator-issue-tag.h:194 +msgid "" +"Consider using a secure (HTTPS) URL to reference this screenshot image or " +"video." +msgstr "" +"Konsideru uzi sekuran adreson (HTTPS) por ĉi tiu fora ekrankopia bildo aŭ " +"filmeto." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:200 +msgid "" +"A screenshot must contain at least one image or video in order to be useful. " +"Please add an to it." +msgstr "" +"Ekrankopio devas enhavi almenaŭ unu bildon aŭ filmeton por utilo. Bonvolu " +"aldoni elementon en ĝin." + +#: src/as-validator-issue-tag.h:205 +msgid "" +"A screenshot must contain either images or videos, but not both at the same " +"time. Please use this screenshot exclusively for either static images or for " +"videos." +msgstr "" +"Ekrankopio devas enhavi aŭ bildojn aŭ filmetojn, sed ne ambaŭ samtempe. " +"Bonvolu uzi tiun ekrankopion ekskluzive por aŭ nemoviĝantaj bildoj aŭ por " +"filmetoj." + +#: src/as-validator-issue-tag.h:211 +msgid "The screenshot does not have a caption text. Consider adding one." +msgstr "Titolo mankas al la ekrankopio. Konsideru aldoni ĝin." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:217 +msgid "" +"The screenshot video does not specify which video codec was used in a " +"`codec` property." +msgstr "" +"La ekrankopia filmeto ne specifas la uzitan kodadan metodon per atributo " +"`codec`." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:223 +msgid "" +"The screenshot video does not specify which container format was used in a " +"`container` property." +msgstr "" +"La ekrankopia filmeto ne specifas la uzatan konteneran formon per atributo " +"`container`." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:229 +msgid "" +"The selected video codec is not supported by AppStream and software centers " +"may not be able to play the video. Only the AV1 and VP9 codecs are currently " +"supported, using `av1` and `vp9` as values for the `codec` property." +msgstr "" +"La elektita kodiga metodo ne estas subtenata de AppStream, kaj " +"programvendejoj eble ne povos ludi la filmeton. Nur la kodadaj metodoj AV1 " +"kaj VP9 estas nuntempe subtenataj, responde al la valoroj `av1` kaj` vp9` de " +"la atributo `codec`." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:236 +msgid "" +"The selected video container format is not supported by AppStream and " +"software centers may not be able to play the video. Only the WebM and " +"Matroska video containers are currently supported, using `webm` and `mkv` as " +"values for the `container` property." +msgstr "" +"La elektita kontenera formo ne estas subtenata de AppStream, kaj " +"programvendejoj eble ne povos ludi la filmeton. Nur la konteneraj formoj " +"WebM kaj Matroska estas nuntempe subtenataj, responde al la valoroj `webm` " +"kaj `mkv` de la atributo `container`." + +#: src/as-validator-issue-tag.h:242 +msgid "" +"For videos, only the WebM and Matroska (.mkv) container formats are " +"currently supported. The file extension of the referenced video does not " +"belong to either of these formats." +msgstr "" +"Por filmetoj, nur la konteneraj formoj WebM kaj Matroska (.mkv) estas " +"nuntempe subtenataj. La dosiersufikso de la referencita filmeto ne indikas " +"unu el la subtenataj konteneraj formoj." + +#: src/as-validator-issue-tag.h:248 +msgid "" +"The default screenshot of a software component must not be a video. Use a " +"static image as default screenshot and set the video as a secondary " +"screenshot." +msgstr "" +"La apriora ekrankopio de programa komponanto devas esti ne filmeto. Uzu " +"nemoviĝantana bildon kiel aprioran ekrankopion kaj agordu la filmeton kiel " +"kroman ekrankopion." + +#: src/as-validator-issue-tag.h:253 +msgid "" +"Found an unknown tag in a requires/recommends group. This is likely an " +"error, because a component relation of this type is unknown." +msgstr "" +"Troviĝis nekonata elemento en grupo `requires` aŭ `recommends`. Jen verŝajna " +"eraro, ĉar tiutipa rilato inter komponantoj estas nekonata." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:259 +msgid "" +"A `requires` or `recommends` item requires a value to denote a valid " +"relation." +msgstr "" +"`requires`- aŭ `recommends`-ero postulas valoron por indiki validan rilaton." + +#. TRANSLATORS: `version` is an AppStream XML property. Please do not translate it. +#: src/as-validator-issue-tag.h:265 +msgid "" +"Found `version` property on required/recommended item of a type that should " +"not have or require a version." +msgstr "" +"Troviĝis atributo `version` ĉe postulata/rekomendata ero de tipo, kiu ne " +"havu version." + +#. TRANSLATORS: `version` and `compare` are AppStream XML properties. Please do not translate them. +#: src/as-validator-issue-tag.h:271 +msgid "" +"Found `version` property on this required/recommended item, but not " +"`compare` property. It is recommended to explicitly define a comparison " +"operation." +msgstr "" +"Troviĝis atributo `version`, sed ne atributo `compare`, ĉe postulata/" +"rekomendata ero. Rekomendiĝas eksplici komparan operacion." + +#: src/as-validator-issue-tag.h:276 +msgid "" +"Invalid comparison operation on relation item. Only eq/ne/lt/gt/le/ge are " +"permitted." +msgstr "" +"Nevalida kompara operacio pri ero de rilato. Nur validas `eq`, `ne`, `lt`, " +"`gt`, `le`, kaj `ge`." + +#: src/as-validator-issue-tag.h:281 +msgid "" +"The relation item has a comparison operation set, but does not support any " +"comparisons." +msgstr "" +"La ero de rilato havas agorditan komparan operacion, sed ne subtenas ajnajn " +"komparojn." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:287 +msgid "" +"Found a memory size relation in a `requires` tag. This means users will not " +"be able to even install the component without having enough RAM. This is " +"usually not intended and you want to use `memory` in the `recommends` tag " +"instead." +msgstr "" +"Troviĝis rilato pri kvanto de memoro en elemento `require`. Tio signifas, ke " +"uzantoj ne povos eĉ instali la komponanton sen sufiĉe da memoro. Tio estas " +"ordinare ne intencita, kaj vi verŝajne volas uzi `memory` en la elemento` " +"recommends` anstataŭe." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:294 +msgid "" +"Found a user input control relation in a `requires` tag. This means users " +"will not be able to even install the component without having the defined " +"input control available on the system. This is usually not intended and you " +"want to use `control` in the `recommends` tag instead." +msgstr "" +"Troviĝis rilato pri eniga metodo en elemento `require`. Tio signifas, ke " +"uzantoj ne povos eĉ instali la komponanton sen la specifita eniga metodo. " +"Tio estas ordinare ne intencita, kaj vi verŝajne volas uzi `control` en la " +"elemento` recommends` anstataŭe." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:301 +msgid "" +"This `control` item defines an unknown input method and is invalid. Check " +"the specification for a list of permitted values." +msgstr "" +"Ĉi tiu ero `control` difinas nekonatan enigan metodon kaj tial ne validas. " +"Vidu la normon por listo de permesataj valoroj." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:307 +msgid "" +"This `display_length` item contains an invalid display length. Its value " +"must either be a shorthand string, or positive integer value denoting " +"logical pixels. Please refer to the AppStream specification for more " +"information on this tag." +msgstr "" +"Ĉi tiu ero 'display_length` enhavas nevalidan ekranan dimension. Ĝia valoro " +"devas esti aŭ mallongigita signoĉeno, aŭ pozitiva entjero indikanta logikajn " +"bilderojn. Bonvolu konsulti la normon AppStream por pliaj informoj pri ĉi " +"tiu elemento." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:314 +msgid "" +"This `side` property of this `display_length` item contains an invalid " +"value. It must either be `shortest` or `longest`, or unset to imply " +"`shortest` to make the item value refer to either the shortest or longest " +"side of the display." +msgstr "" +"Ĉi tiu atributo `size` de ĉi tiu ero `display_length` enhavas nevalidan " +"valoron. Ĝi devas esti aŭ `shortest` aŭ `longest` aŭ malplena (por implici " +"`shortest`), por ke la valoro indiku aŭ la plej mallongan aŭ la plej longan " +"dimension de la ekrano." + +#: src/as-validator-issue-tag.h:320 +msgid "" +"The set component type is not a recognized, valid AppStream component type." +msgstr "" +"La agordita tipo de komponanto ne estas valida tipo de komponanto laŭ " +"AppStream." + +#: src/as-validator-issue-tag.h:325 +msgid "" +"The component has a priority value set. This is not allowed in metainfo " +"files." +msgstr "" +"La komponanto havas valoron de prioritato. Tio ne estas permesata en " +"metainformaj dosieroj." + +#: src/as-validator-issue-tag.h:330 +msgid "" +"The component has a `merge` method defined. This is not allowed in metainfo " +"files." +msgstr "" +"La komponanto havas metodon `merge`. Tio ne estas permesata en metainformaj " +"dosieroj." + +#: src/as-validator-issue-tag.h:335 +msgid "The component is missing an ID ( tag)." +msgstr "Mankas identigilo (elemento ) en komponanto." + +#: src/as-validator-issue-tag.h:340 +msgid "The component is missing a name ( tag)." +msgstr "Mankas nomo (elemento ) en komponanto." + +#: src/as-validator-issue-tag.h:345 +msgid "The component is missing a summary ( tag)." +msgstr "Mankas resumo (elemento ) en komponanto." + +#: src/as-validator-issue-tag.h:350 +msgid "" +"The tag still contains a `type` property, probably from an old " +"conversion to the recent metainfo format." +msgstr "" +"La elemento ankoraŭ enhavas atributon `type`, probable pro malnova " +"konverto al la nuna metainforma normo." + +#: src/as-validator-issue-tag.h:355 +msgid "" +"The `pkgname` tag appears multiple times. You should evaluate creating a " +"metapackage containing the metainfo and .desktop files in order to avoid " +"defining multiple package names per component." +msgstr "" +"Ĉeestas pluraj elementoj `pkgname`. Konsideru metapakon enhavantan la " +"metainformajn kaj .desktop-dosierojn por eviti difini plurajn paknomojn por " +"komponanto." + +#: src/as-validator-issue-tag.h:360 +msgid "The component name should (likely) not end with a dot (`.`)." +msgstr "La nomo de komponanto (probable) ne finiĝu per punkto (`.`)." + +#: src/as-validator-issue-tag.h:365 +msgid "The component summary should not end with a dot (`.`)." +msgstr "La resumo de komponanto ne finiĝu per punkto (`.`)." + +#: src/as-validator-issue-tag.h:370 +msgid "The component summary must not contain tabs or linebreaks." +msgstr "La resumo de komponanto devas ne enhavi tabeligon aŭ linifinon." + +#: src/as-validator-issue-tag.h:375 +msgid "The summary must not contain any URL. Use the tags for links." +msgstr "" +"La resumo devas enhavi neniun retpaĝan adreson. Uzu la elementon por " +"hiperligoj." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:381 +msgid "" +"Icons of type `stock` or `cached` must not contain an URL, a full or an " +"relative path to the icon. Only file basenames or stock names are allowed." +msgstr "" +"Ikonoj de tipo `stock` aŭ `cached` devas ne enhavi URL aŭ absolutan aŭ " +"relativan dosierindikon al la ikono. Nur dosieraj baznomoj aŭ stokaj nomoj " +"estas permesataj." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:388 +msgid "Icons of type `remote` must contain an URL to the referenced icon." +msgstr "" +"Ikono de tipo `remote` devas enhavi retan adreson de la referencita ikono." + +#: src/as-validator-issue-tag.h:393 +msgid "Unable to reach remote icon at the given web location - does it exist?" +msgstr "Ne eblas atingi la foran ikonon - ĉu ĝi ekzistas?" + +#: src/as-validator-issue-tag.h:398 +msgid "Consider using a secure (HTTPS) URL for the remote icon link." +msgstr "Konsideru uzi sekuran adreson (HTTPS) por ĉi tiu fora ikono." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:404 +msgid "" +"Metainfo files may only contain icons of type `stock` or `remote`, the set " +"type is not allowed." +msgstr "" +"Metainformaj dosieroj povas enhavi ikonojn nur de tipo `stock` aŭ `remote`; " +"la agordita tipo estas malpermesata." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:410 +msgid "" +"Invalid `type` property for this `url` tag. URLs of this type are not known " +"in the AppStream specification." +msgstr "" +"Tipo de ĉi tiu elemento `url` ne validas. Tiutipa reta adreso ne validas laŭ " +"la normo AppStream." + +#: src/as-validator-issue-tag.h:415 +msgid "" +"Unable to reach remote location that this URL references - does it exist?" +msgstr "Ne eblas atingi la retpaĝan adreson - ĉu ĝi ekzistas?" + +#: src/as-validator-issue-tag.h:420 +msgid "Consider using a secure (HTTPS) URL for this web link." +msgstr "Konsideru uzi sekuran adreson (HTTPS) por ĉi tiu hiperligo." + +#: src/as-validator-issue-tag.h:425 +msgid "A web URL was expected for this value." +msgstr "Ĉi tiu valoro estu retpaĝa adreso." + +#: src/as-validator-issue-tag.h:430 +msgid "" +"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." +msgstr "" +"Ĉi tiu hiperligo uzas la protokolon FTP. Konsideru la protokolon HTTP(S) " +"anstataŭe." + +#: src/as-validator-issue-tag.h:435 +msgid "The can not contain a hyperlink." +msgstr "La elemento ne povas enhavi hiperligon." + +#: src/as-validator-issue-tag.h:440 +msgid "" +"The set value is not an identifier for a desktop environment as registered " +"with Freedesktop.org." +msgstr "" +"La agordita valoro ne estas identigilo de fenestrilo registrita ĉe " +"Freedesktop.org." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:446 +msgid "This `launchable` tag has an unknown type and can not be used." +msgstr "" +"Ĉi tiu `launchable`-elemento havas nekonatan tipon kaj tial ne estas uzebla." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:452 +msgid "This `bundle` tag has an unknown type and can not be used." +msgstr "" +"Ĉi tiu `bundle`-elemento havas nekonatan tipon kaj tial ne estas uzebla." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:458 +msgid "" +"The `update_contact` tag should not be included in collection AppStream XML." +msgstr "" +"La elemento `update_contact` devas ne ĉeesti en kolekta XML de AppStream." + +#: src/as-validator-issue-tag.h:463 +msgid "" +"This tag is a GNOME-specific extension to AppStream and not part of the " +"official specification. Do not expect it to work in all implementations and " +"in all software centers." +msgstr "" +"Ĉi tiu elemento estas GNOME-specifa etendaĵo de AppStream kaj ne estas parto " +"de la oficiala normo. Ne atendu, ke ĝi funkcios en ĉiuj bibliotekoj kaj en " +"ĉiuj programvendejoj." + +#: src/as-validator-issue-tag.h:469 +msgid "" +"Found invalid tag. Non-standard tags should be prefixed with `x-`. AppStream " +"also provides the tag to add arbitrary custom data to metainfo " +"files. This tag is read by AppStream libraries and may be useful instead of " +"defining new custom toplevel or `x-`-prefixed tags if you just want to add " +"custom data to a metainfo file." +msgstr "" +"Trovita nevalida element. Nenormaj elemento havu la prefikson `x-`. " +"AppStream ankaŭ disponebligas la elementon por aldoni aliajn " +"datenojn al metainformaja dosieroj. Ĉi tiu elemento estas legebla per " +"bibliotekoj de AppStream kaj eble utilos anstataŭ novaj supranivelaj aŭ `x-`-" +"prefiksaj elementoj, se vi simple volas aldoni aliajn datenojn al " +"metainforma dosiero." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:477 +msgid "" +"The essential tag `metadata_license` is missing. A license for the metadata " +"itself always has to be defined." +msgstr "" +"Mankas la deviga elemento `metadata_license`. Permesilo de metadatenoj devas " +"esti difinita." + +#: src/as-validator-issue-tag.h:482 +msgid "" +"The component is missing a long description. Components of this type must " +"have a long description." +msgstr "" +"Mankas longa priskribo de la komponanto. Tia komponanto devas havi longan " +"priskribon." + +#: src/as-validator-issue-tag.h:487 +msgid "" +"It would be useful to add a long description to this font to present it " +"better to users." +msgstr "Al uzantoj utilos aldoni longan priskribon al ĉi tiu tiparo." + +#: src/as-validator-issue-tag.h:492 +msgid "" +"It is recommended to add a long description to this component to present it " +"better to users." +msgstr "Al uzantoj utilos aldoni longan priskribon al ĉi tiu komponanto." + +#: src/as-validator-issue-tag.h:497 +msgid "" +"This generic component is missing a long description. It may be useful to " +"add one." +msgstr "" +"Al ĉi tiu ĝenerala komponanto mankas longa priskribo. Utilos aldoni ĝin." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:503 +msgid "" +"Type `console-application` component, but no information about binaries in " +"$PATH was provided via a `provides/binary` tag." +msgstr "" +"En komponanto de tipo `console-application`, neniuj informoj pri ruleblaĵoj " +"en $PATH estis donitaj per elemento`provides/binary`." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:509 +msgid "" +"This `web-application` component is missing a `launchable` tag of type `url`." +msgstr "" +"En ĉi tiu `web-application`-komponanto mankas elemento `launchable` de tipo " +"`url`." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:515 +msgid "" +"This `web-application` component is missing a `icon` tag to specify a valid " +"icon." +msgstr "" +"En ĉi tiu `web-application`-komponanto mankas elemento `icon` specifanta " +"validan ikonon." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:521 +msgid "" +"This `web-application` component is missing categorizations. A `categories` " +"block is likely missing." +msgstr "" +"Pri ĉi tiu komponanto de tipo `web-application`, mankas kategorioj. " +"Verŝajne, elemento `categories` estas bezonata." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:527 +msgid "" +"Type `font` component, but no font information was provided via a `provides/" +"font` tag." +msgstr "" +"En komponanto de tipo `font`, mankas tiparaj informoj disponigendaj per " +"elemento `provides/font`." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:533 +msgid "" +"Type `driver` component, but no modalias information was provided via a " +"`provides/modalias` tag." +msgstr "" +"En komponanto de tipo `driver`, mankas informoj pri modula alinomo " +"disponigendaj per elemento `provides/modalias`." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:539 +msgid "" +"An `extends` tag is specified, but the component is not of type `addon`, " +"`localization` or `repository`." +msgstr "" +"Elemento `extends` ĉeestas en komponanto, kies tipo ne estas `addon`, " +"`localization`, aŭ `repository`." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:545 +msgid "The component is an addon, but no `extends` tag was specified." +msgstr "En komponanto de tipo `addon`, mankas elemento `extends`." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:551 +msgid "" +"This `localization` component is missing an `extends` tag, to specify the " +"components it adds localization to." +msgstr "" +"En komponanto de tipo `localization`, mankas elemento `extends` specifanta " +"tradukitajn komponantojn." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:557 +msgid "" +"This `localization` component does not define any languages this " +"localization is for." +msgstr "" +"Ĉi tiu komponanto `localization` ne difinas tiujn lingvojn, en kiujn ĉi tiu " +"komponanto tradukas." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:563 +msgid "" +"This `service` component is missing a `launchable` tag of type `service`." +msgstr "" +"En ĉi tiu `service`-komponanto mankas elemento `launchable` de tipo " +"`service`." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:569 +msgid "" +"Suggestions of any type other than `upstream` are not allowed in metainfo " +"files." +msgstr "" +"Sugestoj de tipo alia ol `upstream` estas malpermesataj en metainformaj " +"dosieroj." + +#: src/as-validator-issue-tag.h:574 +msgid "" +"The category name is not valid. Refer to the XDG Menu Specification for a " +"list of valid category names." +msgstr "" +"La nomo de kategorio ne validas. Konsultu la Menu-Normon de XDG por listo de " +"validaj nomoj de kategorioj." + +#: src/as-validator-issue-tag.h:579 +msgid "The screenshot caption is too long (should be <= 80 characters)" +msgstr "La titolo de ekrankopio estas tro longa (ĝi estu maksimume 80 signoj)" + +#: src/as-validator-issue-tag.h:584 +msgid "Unable to read file." +msgstr "Malsukcesis legi dosieron." + +#: src/as-validator-issue-tag.h:589 +msgid "The XML of this file is malformed." +msgstr "La XML-dosiero estas misformita." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:595 +msgid "" +"Invalid tag found in collection metadata. Only `component` tags are " +"permitted." +msgstr "" +"Nevalida elemento troviĝis en metadatenoj de kolekto. Nur elementoj " +"`component` estas permesataj." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:601 +msgid "" +"The metainfo file uses an ancient version of the AppStream specification, " +"which can not be validated. Please migrate it to version 0.6 (or higher)." +msgstr "" +"Ĉi tiu metainforma dosiero uzas malnovan, nevalidigeblan version de la normo " +"AppStream. Bonvolu ĝisdatigi ĝin al versio 0.6 (aŭ pli nova)." + +#: src/as-validator-issue-tag.h:606 +msgid "" +"This XML document has an unknown root tag. Maybe this file is not a metainfo " +"document?" +msgstr "" +"Jen XML-dokumento de nekonata radika elemento. Ĉu jena dosiero ne estas " +"metainforma dokumento?" + +#: src/as-validator-issue-tag.h:611 +msgid "The metainfo filename does not match the component ID." +msgstr "" +"La nomo de la metainforma dosiero ne kongruas kun la identigilo de la " +"komponanto." + +#: src/as-validator-issue-tag.h:616 +msgid "Unable to read the .desktop file associated with this component." +msgstr "Malsukcesis legi la .desktop-dosieron asociitan al ĉi tiu komponanto." + +#: src/as-validator-issue-tag.h:621 +msgid "This component metadata refers to a non-existing .desktop file." +msgstr "" +"Ĉi tiu metadateno pri komponanto mencias neekzistantan .desktop-dosieron." + +#: src/as-validator-issue-tag.h:626 +msgid "" +"The category defined in the .desktop file is not valid. Refer to the XDG " +"Menu Specification for a list of valid categories." +msgstr "" +"La kategorio difinita en la .desktop-dosiero ne validas. Konsultu la Menu-" +"Normon de XDG por listo de validaj kategorioj." + +#: src/as-validator-issue-tag.h:631 +msgid "No AppStream metadata was found in this directory or directory tree." +msgstr "" +"Neniuj AppStream-metadatenoj troviĝis en ĉi tiu dosierujo aŭ subdosierujoj." + +#. pedantic because not everything which has metadata is an application +#: src/as-validator-issue-tag.h:636 +msgid "No XDG applications directory found." +msgstr "Ne troviĝis programa dosierujo laŭ XDG." + +#: src/as-validator-issue-tag.h:641 +msgid "" +"The metainfo file is stored in a legacy path. Please place it in `/usr/share/" +"metainfo/`." +msgstr "" +"La metainforma dosiero estas en evitinda dosierujo. Bonvolu meti ĝin en `/" +"usr/share/metainfo/`." + +#: src/as-validator-issue-tag.h:646 +msgid "The metainfo file specifies multiple components. This is not allowed." +msgstr "" +"La metainforma dosiero specifas plurajn komponantojn. Tio estas malpermesata." + +#: src/as-validator-issue-tag.h:651 +msgid "" +"The releases are not sorted in a latest to oldest version order. This is " +"required as some tools will assume that the latest version is always at the " +"top. Sorting releases also increases overall readability of the metainfo " +"file." +msgstr "" +"La eldonoj ne estas ordigitaj ekde la plej nova ĝis la plej malnova. Tia " +"ordigo necesas, ĉar iuj iloj supozos, ke la plej nova versio ĉiam estas la " +"unue menciita. Ordigo de eldonoj ankaŭ faciligas legadon de la metainforma " +"dosiero." + +#: src/as-validator-issue-tag.h:658 +msgid "The value set as release urgency is not a known urgency value." +msgstr "La agordita valoro de eldona urĝeco estas nekonata valoro de urĝeco." + +#: src/as-validator-issue-tag.h:663 +msgid "The value set as release type is invalid." +msgstr "La tipo de eldono ne validas." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:669 +msgid "" +"The value set as artifact type is invalid. Must be either `source` or " +"`binary`." +msgstr "" +"La tipo de artefakto ne validas. Ĝi devas esti aŭ `source` aŭ `binary`." + +#: src/as-validator-issue-tag.h:674 +msgid "The value set as artifact bundle type is invalid." +msgstr "La tipo de artefakta fasko ne validas." + +#: src/as-validator-issue-tag.h:679 +msgid "" +"The platform triplet for this release is invalid. It must be in the form of " +"`architecture-oskernel-osenv` - refer to the AppStream documentation or " +"information on normalized GNU triplets for more information and valid fields." +msgstr "" +"La platforma triopo de ĉi tiu eldono ne validas. Ĝi devas esti laŭ la formo " +"\"arkitekturo-kerno-medio\" - konsultu la dokumentaron de AppStream pri " +"normaligitaj GNU-triopopj por pli da informoj pri validaj kampoj." + +#: src/as-validator-issue-tag.h:686 +msgid "The selected checksumming algorithm is unsupported or unknown." +msgstr "La elektita kontrolsuma algoritmo estas nesubtenata aŭ nekonata." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:692 +msgid "The size type is unknown. Must be `download` or `installed`." +msgstr "" +"La tipo de grando ne validas. Ĝi devas esti aŭ `download` aŭ `installed`." + +#: src/as-validator-issue-tag.h:697 +msgid "" +"The artifact filename must be a file basename, not a (relative or absolute) " +"path." +msgstr "" +"La artefakta dosiernomo devas esti dosiera baznomo, ne (relativa aŭ " +"absoluta) dosierindiko." + +#: src/as-validator-issue-tag.h:702 +msgid "The value set as release issue type is invalid." +msgstr "La tipo de eldona problemo ne validas." + +#: src/as-validator-issue-tag.h:707 +msgid "" +"The issue is tagged at security vulnerability with a CVE number, but its " +"value does not look like a valid CVE identifier." +msgstr "" +"La problemo estas markita kiel sekureca vundebleco kun CVE-numero, sed ĝia " +"valoro ne aspektas kiel valida CVE-numero." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:713 +msgid "" +"This component is missing information about releases. Consider adding a " +"`releases` tag to describe releases and their changes." +msgstr "" + +#: src/as-validator-issue-tag.h:718 +msgid "" +"The AppStream specification requires a complete, ISO 8601 date string with " +"at least day-granularity to denote dates. Please ensure the date string is " +"valid." +msgstr "" +"La normo AppStream postulas kompletan datan signoĉenon laŭ ISO 8601 kun " +"almenaŭ taga precizeco por indiki datojn. Bonvolu certigi, ke la data " +"signoĉeno validas." + +#: src/as-validator-issue-tag.h:724 +msgid "" +"This component extends, provides, requires or recommends itself, which is " +"certainly not intended and may confuse users or machines dealing with this " +"metadata." +msgstr "" +"Ĉi tiu komponanto etendas, disponigas, postulas aŭ rekomendas sin, kio certe " +"estas senintenca kaj povas konfuzi uzantojn aŭ maŝinojn traktantajn tiajn " +"metadatenojn." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:731 +msgid "" +"Licenses for `runtime` components are usually too complex to reflect them in " +"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " +"value for this component's `project_license`. E.g. `LicenseRef-free=https://" +"example.com/licenses.html`" +msgstr "" +"Permesiloj de komponantoj de tipo `runtime` estas ofte tro komplikaj por " +"simpla SPDX-esprimo. Konsideru uzi `LicenseRef` kun retpaĝa adreso kiel " +"valoro de la `project_license` de ĉi tiu komponanto: ekz. `LicenseRef-" +"free=https://example.com/licenses.html`" + +#: src/as-validator-issue-tag.h:737 +msgid "" +"Since a `runtime` component is comprised of multiple other software " +"components, their component-IDs may be listed in a `` section for " +"this runtime." +msgstr "" +"Ĉar komponanto de tipo `runtime` konsistas el multaj aliaj programaj " +"komponantoj, iliaj identigiloj povas esti listigitaj en sekcio `` " +"de ĉi tiu komponanto." + +#: src/as-validator-issue-tag.h:742 +msgid "" +"The type of the item that the component provides is not known to AppStream." +msgstr "" +"La tipo de la ero disponebligita de la komponanto estas nekonata laŭ " +"AppStream." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:748 +msgid "" +"The toplevel `mimetypes` tag is deprecated. Please use `mediatype` tags in a " +"`provides` block instead to indicate that your software provides a media " +"handler for the given types." +msgstr "" +"La supranivela elemento `mimetypes` estas evitinda. Bonvolu uzi elementojn " +"`mediatype` en bloko `provides` por indiki, ke via programo disponebligas " +"pritraktilon de specifitaj aŭdvidaĵaj tipoj." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks) and keep the URL intact. +#: src/as-validator-issue-tag.h:755 +msgid "" +"This component has no `content_rating` tag to provide age rating " +"information. You can generate the tag data online by answering a few " +"questions at https://hughsie.github.io/oars/" +msgstr "" + +#: src/as-validator.c:150 +msgid "" +"The emitted issue tag is unknown in the tag registry of AppStream. This is a " +"bug in the validator itself, please report this issue in our bugtracker." +msgstr "" +"La produktita elemento issue estas nekonata en la registro de AppStream. Jen " +"cimo de la validigilo mem; bonvolu raporti ĉi tiun problemon ĉe nia " +"cimspuradilo." + +#: src/as-validator.c:344 +msgid "URL format is invalid." +msgstr "La URL ne validas." + +#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. +#: src/as-validator.c:522 src/as-validator.c:937 src/as-validator.c:1031 +#: src/as-validator.c:1428 src/as-validator.c:1448 src/as-validator.c:1481 +#, c-format +msgid "Found: %s - Allowed: %s" +msgstr "Troviĝis: %s - Permesata: %s" + +#. TRANSLATORS: ascompose flag description for: --verbose +#: tools/appstream-compose.c:181 +#, fuzzy +msgid "Show extra debugging information" +msgstr "Montri pliaj informojn por erarserĉado." + +#. TRANSLATORS: ascompose flag description for: --no-color +#. TRANSLATORS: ascli flag description for: --no-color +#: tools/appstream-compose.c:184 tools/appstreamcli.c:1087 +msgid "Don't show colored output." +msgstr "Ne eligi kolore." + +#. TRANSLATORS: ascompose flag description for: --version +#. TRANSLATORS: ascli flag description for: --version +#: tools/appstream-compose.c:187 tools/appstreamcli.c:1076 +msgid "Show the program version." +msgstr "Montri la version de la programo." + +#. TRANSLATORS: ascompose flag description for: --full-report +#: tools/appstream-compose.c:190 +msgid "Set mode of the issue report that is printed to the console" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --prefix +#: tools/appstream-compose.c:193 +msgid "Override the default prefix (`/usr` by default)" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --result-root +#: tools/appstream-compose.c:196 +msgid "Set the result output directory" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --data-dir, `collection metadata` is an AppStream term +#: tools/appstream-compose.c:199 +msgid "Override the collection metadata output directory" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --icons-dir +#: tools/appstream-compose.c:202 +msgid "Override the icon output directory" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --media-dir +#: tools/appstream-compose.c:205 +msgid "" +"Set the media output directory (for media data to be served by a webserver)" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --hints-dir +#: tools/appstream-compose.c:208 +msgid "Set a directory where HTML and text issue reports will be stored" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --origin +#. TRANSLATORS: ascompose flag description for: --media-baseurl +#: tools/appstream-compose.c:211 tools/appstream-compose.c:214 +msgid "Set the origin name" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --components +#: tools/appstream-compose.c:217 +msgid "A comma-separated list of component-IDs to accept" +msgstr "" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:231 +msgid "Failed to parse arguments" +msgstr "" + +#. TRANSLATORS: Output if appstreamcli --version is executed. +#: tools/appstream-compose.c:242 tools/appstreamcli.c:1230 +#, c-format +msgid "AppStream version: %s" +msgstr "Versio de AppStream: %s" + +#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. +#: tools/appstream-compose.c:245 tools/appstreamcli.c:1233 +#, c-format +msgid "" +"AppStream CLI tool version: %s\n" +"AppStream library version: %s" +msgstr "" +"Versio de komandlinia ilprogramo de AppStream: %s\n" +"Versio de biblioteko de AppStream: %s" + +#. TRANSLATORS: invalid value for the --print-report CLI option +#: tools/appstream-compose.c:264 +#, c-format +msgid "" +"Invalid value for `--print-report` option: %s\n" +"Possible values are:\n" +"`on-error` - only prints a short report if the run failed (default)\n" +"`short` - generates an abridged report\n" +"`full` - a detailed report will be printed" +msgstr "" + +#: tools/appstream-compose.c:285 +#, c-format +msgid "Automatically selected '%s' as data output location." +msgstr "" + +#. TRANSLATORS: we don't have a destination directory for compose +#: tools/appstream-compose.c:288 +msgid "No destination directory set, please provide a data output location!" +msgstr "" + +#: tools/appstream-compose.c:298 tools/appstream-compose.c:300 +msgid "WARNING" +msgstr "" + +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:337 +#, c-format +msgid "Only accepting components: %s" +msgstr "" + +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:340 +#, c-format +msgid "Only accepting component: %s" +msgstr "" + +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:345 +msgid "Processing directories:" +msgstr "" + +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:348 +msgid "Processing directory:" +msgstr "" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:357 +msgid "Can not process invalid directory" +msgstr "" + +#. TRANSLATORS: information message +#: tools/appstream-compose.c:369 +msgid "Composing metadata..." +msgstr "" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:374 +#, fuzzy +msgid "Failed to compose AppStream metadata" +msgstr "Ilprogramo por uzi AppStream-metadatenojn" + +#. TRANSLATORS: appstream-compose failed to include all data +#: tools/appstream-compose.c:380 +msgid "Run failed, some data was ignored." +msgstr "" + +#. TRANSLATORS: information message of appstream-compose +#: tools/appstream-compose.c:382 +msgid "Errors were raised during this compose run:" +msgstr "" + +#: tools/appstream-compose.c:383 +msgid "" +"Refer to the generated issue report data for details on the individual " +"problems." +msgstr "" + +#: tools/appstream-compose.c:386 +msgid "Overview of generated hints:" +msgstr "" + +#. TRANSLATORS: information message +#: tools/appstream-compose.c:388 +msgid "Success!" +msgstr "Sukceso!" + +#. TRANSLATORS: ascli flag description for: --cachepath +#: tools/appstreamcli.c:59 +msgid "Manually selected location of AppStream cache." +msgstr "Mane elektita loko de AppStream-kaŝmemoro." + +#. TRANSLATORS: ascli flag description for: --datapath +#: tools/appstreamcli.c:64 +msgid "Manually selected location of AppStream metadata to scan." +msgstr "Mane elektita loko de skanotaj AppStream-metadatenoj." + +#. TRANSLATORS: ascli flag description for: --no-cache +#: tools/appstreamcli.c:69 +msgid "Make request without any caching." +msgstr "Peti sen kaŝmemorigo." + +#. TRANSLATORS: ascli flag description for: --format +#: tools/appstreamcli.c:85 +msgid "Default metadata format (valid values are 'xml' and 'yaml')." +msgstr "Implicita metadatena formo (aŭ 'xml' aŭ 'yaml')." + +#. TRANSLATORS: ascli flag description for: --details +#: tools/appstreamcli.c:100 +msgid "Print detailed output about found components." +msgstr "Montri detalojn pri trovitaj komponantoj." + +#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) +#: tools/appstreamcli.c:118 +msgid "Also show pedantic hints." +msgstr "Ankaŭ montri pedantajn sugestojn." + +#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) +#: tools/appstreamcli.c:123 +msgid "Print detailed explanation for found issues." +msgstr "Montri detalajn klarigojn pri trovitaj problemoj." + +#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) +#: tools/appstreamcli.c:128 +msgid "Do not use network access." +msgstr "Ne atingi reton." + +#. TRANSLATORS: ascli flag description for: --format when validating XML files +#: tools/appstreamcli.c:133 +msgid "Format of the generated report (valid values are 'text' and 'yaml')." +msgstr "Formo de la farota raporto (aŭ 'text' aŭ 'yaml')." + +#. TRANSLATORS: This is the header to the --help menu for subcommands +#. TRANSLATORS: This is the header to the --help menu +#: tools/appstreamcli.c:153 tools/appstreamcli.c:981 +msgid "AppStream command-line interface" +msgstr "Komandlinia interfaco al AppStream" + +#: tools/appstreamcli.c:156 +#, c-format +msgid "'%s' command" +msgstr "komando '%s'" + +#. TRANSLATORS: An unknown option was passed to appstreamcli. +#: tools/appstreamcli.c:191 +#, c-format +msgid "Option '%s' is unknown." +msgstr "Opcio '%s' estas nekonata." + +#: tools/appstreamcli.c:195 tools/appstreamcli.c:1207 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options." +msgstr "Rulu '%s --help' por plena listo de disponeblaj komandliniaj opcioj." + +#: tools/appstreamcli.c:197 +#, c-format +msgid "" +"Run '%s --help' to see a list of available commands and options, and '%s %s " +"--help' to see a list of options specific for this subcommand." +msgstr "" +"Rulu '%s --help' por listo de disponeblaj komandoj kaja opcioj, kaj rulu '%s " +"%s --help' por listo de opcioj specifaj de ĉi tiu subkomando." + +#. TRANSLATORS: ascli flag description for: --force +#: tools/appstreamcli.c:245 +msgid "Enforce a cache refresh." +msgstr "Devigi reŝargon de kaŝmemoro." + +#. TRANSLATORS: ascli flag description for: --user +#: tools/appstreamcli.c:251 +msgid "Update the user-specific instead of the system-wide cache." +msgstr "Ĝisdatigi la kaŝmemoron nur de uzanto, ne de la tuta sistemo." + +#. TRANSLATORS: ascli flag description for: --origin (part of the "put" subcommand) +#: tools/appstreamcli.c:477 +msgid "Set the data origin for the installed metadata collection file." +msgstr "" +"Agordi la datenan originon de la instalita dosiero de metadatena kolekto." + +#. TRANSLATORS: ascli flag description for: --user (part of the "put" subcommand) +#: tools/appstreamcli.c:482 +msgid "Install the file for the current user, instead of globally." +msgstr "" +"Instali la dosieron nur por la aktuala uzanto, anstataŭ por ĉiuj uzantoj." + +#: tools/appstreamcli.c:631 +msgid "" +"You need to provide at least two version numbers to compare as parameters." +msgstr "Vi devas doni almenaŭ du komparotajn versiojn kiel parametrojn." + +#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. +#: tools/appstreamcli.c:660 +#, c-format +msgid "Unknown compare relation '%s'. Valid values are:" +msgstr "Nekonata kompara rilato '%s'. Jen validaj valoroj:" + +#: tools/appstreamcli.c:700 +msgid "" +"Too many parameters: Need two version numbers or version numbers and a " +"comparison operator." +msgstr "" +"Tro da parametroj: Postuliĝas aŭ du versinumerojn, aŭ versinumerojn kune kun " +"kompara operatoro." + +#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) +#: tools/appstreamcli.c:726 +msgid "" +"Use the given .desktop file to fill in the basic values of the metainfo file." +msgstr "" +"Uzi la donitan .desktop-dosieron por plenigi la bazajn valorojn de la " +"metainforma dosiero." + +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand +#: tools/appstreamcli.c:731 +msgid "" +"This command takes optional TYPE and FILE positional arguments, FILE being a " +"file to write to (or \"-\" for standard output)." +msgstr "" +"Ĉi tiu komando prenas nedevigajn poziciajn argumentojn TIPO kaj DOSIERO; " +"DOSIERO estas surskribota dosiero (aŭ \"-\" por ĉefeligujo)." + +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows +#: tools/appstreamcli.c:734 +#, c-format +msgid "The TYPE must be a valid component-type, such as: %s" +msgstr "La TIPO devas esti valida tipo de komponanto, ekz. %s" + +#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) +#: tools/appstreamcli.c:775 +msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." +msgstr "" +"Uzi la specifitan linion por la ŝlosilo 'Exec =' de la dosiero desktop-entry." + +#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command +#: tools/appstreamcli.c:815 +msgid "Assume the input file is in the selected format ('yaml' or 'text')." +msgstr "" +"Supozi, ke la enigota dosiero estas en la elektita formo (aŭ 'yaml' aŭ " +"'text')." + +#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command +#: tools/appstreamcli.c:820 +msgid "" +"Limit the number of release entries that end up in the metainfo file (0 for " +"unlimited)." +msgstr "" +"Limigi la nombron de eldonoj, kiuj menciiĝos en la metainforma dosiero (0 " +"por senlimigi)." + +#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command +#: tools/appstreamcli.c:862 +msgid "Generate the output in the selected format ('yaml' or 'text')." +msgstr "Eligi laŭ elektita formo (aŭ 'yaml' aŭ 'text')." + +#: tools/appstreamcli.c:894 +#, c-format +msgid "Compose binary '%s' was not found! Can not continue." +msgstr "" + +#. TRANSLATORS: this is a (usually shorter) command alias, shown after the command summary text +#: tools/appstreamcli.c:956 +#, c-format +msgid "(Alias: '%s')" +msgstr "(Alinomo: '%s')" + +#. these are commands we can use with appstreamcli +#: tools/appstreamcli.c:983 +msgid "Subcommands:" +msgstr "Subkomandoj:" + +#: tools/appstreamcli.c:1029 +msgid "" +"You can find information about subcommand-specific options by passing \"--" +"help\" to the subcommand." +msgstr "" +"Vi povas informiĝi pri subkomandaj opcioj per la opcio \"--help\" kune kun " +"subkomando." + +#. TRANSLATORS: ascli has been run with unknown command. '%s --help' is the command to receive help and should not be translated. +#: tools/appstreamcli.c:1052 +#, c-format +msgid "" +"Command '%s' is unknown. Run '%s --help' for a list of available commands." +msgstr "" +"Komando '%s' estas nekonata. Rulu '%s --help' por listo de disponeblaj " +"komandoj." + +#. TRANSLATORS: ascli flag description for: --verbose +#: tools/appstreamcli.c:1082 +msgid "Show extra debugging information." +msgstr "Montri pliaj informojn por erarserĉado." + +#. TRANSLATORS: ascli flag description for: --profile +#: tools/appstreamcli.c:1090 +msgid "Enable profiling" +msgstr "Ŝalti profiladon" + +#. TRANSLATORS: `appstreamcli search` command description. +#: tools/appstreamcli.c:1102 +msgid "Search the component database." +msgstr "Serĉi la datenbankon de komponantoj." + +#. TRANSLATORS: `appstreamcli get` command description. +#: tools/appstreamcli.c:1107 +msgid "Get information about a component by its ID." +msgstr "Akiri informojn pri komponanto per ĝia identigilo." + +#. TRANSLATORS: `appstreamcli what-provides` command description. +#: tools/appstreamcli.c:1112 +msgid "" +"Get components which provide the given item. Needs an item type (e.g. lib, " +"bin, python3, …) and item value as parameter." +msgstr "" +"Akiri tiujn komponantojn, kiuj disponebligas la specifitan eron. Tio " +"postulas eran tipon (ekz. lib, bin, python3, …) kaj eran valoron kiel " +"parametrojn." + +#. TRANSLATORS: `appstreamcli dump` command description. +#: tools/appstreamcli.c:1118 +msgid "Dump raw XML metadata for a component matching the ID." +msgstr "Deponi krudajn XML-metadatenojn de komponanto de kongrua identigilo." + +#. TRANSLATORS: `appstreamcli refresh-cache` command description. +#: tools/appstreamcli.c:1123 +msgid "Rebuild the component metadata cache." +msgstr "Reŝargi la kaŝmemoron de metadatenoj pri komponantoj." + +#. TRANSLATORS: `appstreamcli validate` command description. +#: tools/appstreamcli.c:1129 +msgid "Validate AppStream XML files for issues." +msgstr "Validigi XML-dosierojn de AppStream pri problemoj." + +#. TRANSLATORS: `appstreamcli validate-tree` command description. +#: tools/appstreamcli.c:1134 +msgid "Validate an installed file-tree of an application for valid metadata." +msgstr "" +"Validigi instalitan dosierarbon de programo pri valideco de metadatenoj." + +#. TRANSLATORS: `appstreamcli install` command description. +#: tools/appstreamcli.c:1140 +msgid "Install software matching the component-ID." +msgstr "Instali programon per identigilo de komponanto." + +#. TRANSLATORS: `appstreamcli remove` command description. +#: tools/appstreamcli.c:1145 +msgid "Remove software matching the component-ID." +msgstr "Malinstali programon per identigilo de komponanto." + +#. TRANSLATORS: `appstreamcli status` command description. +#: tools/appstreamcli.c:1151 +msgid "Display status information about available AppStream metadata." +msgstr "Montri informojn pri la stato de haveblaj AppStream-metadatenoj." + +#. TRANSLATORS: `appstreamcli os-info` command description. +#: tools/appstreamcli.c:1156 +msgid "" +"Show information about the current operating system from the metadata index." +msgstr "" +"Montri informojn pri la aktuala mastruma sistemo en la metadatena indekso." + +#. TRANSLATORS: `appstreamcli put` command description. +#: tools/appstreamcli.c:1161 +msgid "Install a metadata file into the right location." +msgstr "Instali metadatenan dosieron en la ĝustan lokon." + +#. TRANSLATORS: `appstreamcli convert` command description. "Collection XML" is a term describing a specific type of AppStream XML data. +#: tools/appstreamcli.c:1166 +msgid "Convert collection XML to YAML or vice versa." +msgstr "Konverti kolektan XML al YAML aŭ inverse." + +#. TRANSLATORS: `appstreamcli vercmp` command description. +#: tools/appstreamcli.c:1171 +msgid "Compare two version numbers." +msgstr "Kompari du versiajn numerojn." + +#. TRANSLATORS: `appstreamcli new-template` command description. +#: tools/appstreamcli.c:1177 +msgid "" +"Create a template for a metainfo file (to be filled out by the upstream " +"project)." +msgstr "" +"Krei ŝablonon de metainforma dosiero (kompletigota de la programistoj)." + +#. TRANSLATORS: `appstreamcli make-desktop-file` command description. +#: tools/appstreamcli.c:1182 +msgid "Create a desktop-entry file from a metainfo file." +msgstr "Krei dosieron desktop-entry laŭ metainforma dosiero." + +#. TRANSLATORS: `appstreamcli news-to-metainfo` command description. +#: tools/appstreamcli.c:1187 +msgid "Convert a YAML or text NEWS file into metainfo releases." +msgstr "Konverti YAML- aŭ tekstan NEWS-dosieron en metainformajn eldonojn." + +#. TRANSLATORS: `appstreamcli metainfo-to-news` command description. +#: tools/appstreamcli.c:1192 +msgid "Write NEWS text or YAML file with information from a metainfo file." +msgstr "" +"Skribi tekstan aŭ YAML-dosieron NEWS per informoj de metainforma dosiero." + +#. TRANSLATORS: `appstreamcli compose` command description. +#: tools/appstreamcli.c:1198 +#, fuzzy +msgid "Compose AppStream collection metadata from directory trees." +msgstr "" +"Neniuj AppStream-metadatenoj troviĝis en ĉi tiu dosierujo aŭ subdosierujoj." + +#. TRANSLATORS: ascli has been run without command. +#: tools/appstreamcli.c:1206 +msgid "You need to specify a command." +msgstr "Vi devas specifi komandon." + +#. TRANSLATORS: In ascli: The requested action needs higher permissions. +#: tools/ascli-actions-mdata.c:70 +msgid "You might need superuser permissions to perform this action." +msgstr "Vi eble bezonas rajtojn de ĉefuzanto por fari tion." + +#. we performed a cache refresh +#. TRANSLATORS: Updating the metadata cache succeeded +#: tools/ascli-actions-mdata.c:80 +msgid "AppStream cache update completed successfully." +msgstr "Sukcesis ĝisdatigo de kaŝmemoro de AppStream." + +#. cache wasn't updated, so the update wasn't necessary +#: tools/ascli-actions-mdata.c:86 +msgid "AppStream cache update is not necessary." +msgstr "Ne necesas ĝisdatigo de kaŝmemoro de AppStream." + +#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments +#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. +#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:253 +#: tools/ascli-actions-pkgmgr.c:80 +msgid "You need to specify a component-ID." +msgstr "Vi devas specifi identigilon de komponanto." + +#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:265 +#: tools/ascli-actions-pkgmgr.c:93 +#, c-format +msgid "Unable to find component with ID '%s'!" +msgstr "Ne troviĝis komponanto de identigilo '%s'!" + +#: tools/ascli-actions-mdata.c:164 +msgid "You need to specify a term to search for." +msgstr "Vi devas specifi serĉotan terminon." + +#. TRANSLATORS: We failed to find any component in the database, likely due to an error +#: tools/ascli-actions-mdata.c:177 +#, c-format +msgid "Unable to find component matching %s!" +msgstr "Ne troviĝis komponanto kongrua kun %s!" + +#: tools/ascli-actions-mdata.c:182 +#, c-format +msgid "No component matching '%s' found." +msgstr "Ne troviĝis komponanto kongrua kun %s." + +#: tools/ascli-actions-mdata.c:206 +msgid "No value for the item to search for was defined." +msgstr "Difiniĝis neniu serĉota valoro." + +#: tools/ascli-actions-mdata.c:212 +msgid "Invalid type for provided item selected. Valid values are:" +msgstr "Tipo de provizita ero ne validas. Jen validaj tipoj:" + +#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results +#: tools/ascli-actions-mdata.c:227 +#, c-format +msgid "Could not find component providing '%s::%s'." +msgstr "Ne troviĝis komponanto provizanta '%s::%s'." + +#: tools/ascli-actions-mdata.c:306 +msgid "You need to specify a metadata file." +msgstr "Vi devas specifi metadatenan dosieron." + +#: tools/ascli-actions-mdata.c:320 +#, c-format +msgid "Unable to install metadata file: %s" +msgstr "Malsukcesis instali metadatenan dosieron: %s" + +#: tools/ascli-actions-mdata.c:340 +msgid "You need to specify an input and output file." +msgstr "Vi devas specifi enigan kaj eligan dosierojn." + +#: tools/ascli-actions-mdata.c:347 +#, c-format +msgid "Metadata file '%s' does not exist." +msgstr "Ne ekzistas metadatena dosiero '%s'." + +#. TRANSLATORS: User is trying to convert a file in ascli +#: tools/ascli-actions-mdata.c:387 +msgid "" +"Unable to convert file: Could not determine output format, please set it " +"explicitly using '--format='." +msgstr "" +"Ne eblas konverti dosieron: Ne eblas determini eligan formon; bonvolu " +"eksplici ĝin per '--format='." + +#: tools/ascli-actions-mdata.c:438 +#, c-format +msgid "Unable to find operating system component '%s'!" +msgstr "Ne troviĝis komponanto '%s' de mastruma sistemo!" + +#: tools/ascli-actions-mdata.c:443 +msgid "Version" +msgstr "Versio" + +#: tools/ascli-actions-mdata.c:467 +msgid "" +"You need to give an AppStream software component type to generate a " +"template. Possible values are:" +msgstr "" +"Vi devas specifi tipon de programa komponanto laŭ AppStream por fari " +"ŝablonon. Jen eblaj tipoj:" + +#: tools/ascli-actions-mdata.c:469 +#, c-format +msgid "" +"The software component type '%s' is not valid in AppStream. Possible values " +"are:" +msgstr "" +"La tipo de programa komponanto '%s' ne validas laŭ AppStream. Jen validaj " +"tipoj:" + +#: tools/ascli-actions-mdata.c:487 +#, c-format +msgid "The .desktop file '%s' does not exist." +msgstr "La .desktop-dosiero '%s' ne ekzistas." + +#: tools/ascli-actions-mdata.c:493 +#, c-format +msgid "Unable to read the .desktop file: %s" +msgstr "Malsukcesis legi la .desktop-dosieron: %s" + +#: tools/ascli-actions-mdata.c:564 +#, c-format +msgid "Unable to build the template metainfo file: %s" +msgstr "Malsukcesis konstrui ŝablonon de metainforma dosiero: %s" + +#: tools/ascli-actions-mdata.c:572 +#, c-format +msgid "Unable to save the template metainfo file: %s" +msgstr "Malsukcesis konservi ŝablonon de metainforma dosiero: %s" + +#. TRANSLATORS: In the status report of ascli: Header +#: tools/ascli-actions-misc.c:47 +msgid "AppStream Status:" +msgstr "Stato de AppStream:" + +#: tools/ascli-actions-misc.c:48 +#, c-format +msgid "Version: %s" +msgstr "Versio: %s" + +#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions +#: tools/ascli-actions-misc.c:52 +msgid "Distribution metadata:" +msgstr "Metadatenoj de distribuo:" + +#: tools/ascli-actions-misc.c:94 +msgid "Iconsets" +msgstr "Ikonaroj" + +#: tools/ascli-actions-misc.c:105 +msgid "No icons." +msgstr "Neniuj ikonoj." + +#. TRANSLATORS: No metainfo files have been found +#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 +msgid "Empty." +msgstr "Malplena." + +#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report +#: tools/ascli-actions-misc.c:116 +msgid "Metainfo files:" +msgstr "Metainformaj dosieroj:" + +#: tools/ascli-actions-misc.c:123 +#, c-format +msgid "Found %i components." +msgstr "Troviĝis %i komponantoj." + +#. TRANSLATORS: Found metainfo files in legacy directories +#: tools/ascli-actions-misc.c:138 +#, c-format +msgid "Found %i components in legacy paths." +msgstr "Troviĝis %i komponantoj en evitindaja dosierujoj." + +#. TRANSLATORS: Status summary in ascli +#: tools/ascli-actions-misc.c:145 +msgid "Summary:" +msgstr "Resumo:" + +#: tools/ascli-actions-misc.c:153 +#, c-format +msgid "We have information on %i software components." +msgstr "Ni havas informojn pri %i programaj komponantoj." + +#: tools/ascli-actions-misc.c:159 +#, c-format +msgid "Error while loading the metadata pool: %s" +msgstr "Eraro pri ŝargado de metadatenoj: %s" + +#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 +msgid "You need to specify a metainfo file as input." +msgstr "Vi devas specifi metainforman dosieron kiel enigon." + +#: tools/ascli-actions-misc.c:188 +msgid "" +"You need to specify a desktop-entry file to create or augment as output." +msgstr "" +"Vi devas specifi kreotan aŭ modifotan dosieron desktop-entry kiel eligon." + +#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 +#: tools/ascli-actions-misc.c:515 +#, c-format +msgid "Metainfo file '%s' does not exist." +msgstr "Ne ekzistas metainforma dosiero '%s'." + +#: tools/ascli-actions-misc.c:219 +#, c-format +msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." +msgstr "Modifante ekzistantan dosieron desktop-entry '%s' per datenoj de '%s'." + +#: tools/ascli-actions-misc.c:224 +#, c-format +msgid "Unable to load existing desktop-entry file template: %s" +msgstr "Malsukcesis ŝargi ekzistantan ŝablonon de dosiero desktop-entry: %s" + +#: tools/ascli-actions-misc.c:228 +#, c-format +msgid "Creating new desktop-entry file '%s' using data from '%s'" +msgstr "Kreante novan dosieron desktop-entry '%s' per datenoj de '%s'" + +#: tools/ascli-actions-misc.c:284 +msgid "No stock icon name was provided in the metainfo file. Can not continue." +msgstr "" +"Neniu nomo de stoka ikono estis donita en la metainforma dosiero. Ne eblas " +"daŭrigi." + +#: tools/ascli-actions-misc.c:306 +msgid "" +"No provided binary specified in metainfo file, and no exec command specified " +"via '--exec'. Can not create 'Exec=' key." +msgstr "" +"Neniu disponigita ruleblaĵo estas specifita de la metainforma dosiero, nek " +"rulota komando per '--exec'. Ne eblas krei ŝlosilon 'Exec='." + +#: tools/ascli-actions-misc.c:370 +#, c-format +msgid "Unable to save desktop entry file: %s" +msgstr "Malsukcesis konservi dosieron desktop-entry: %s" + +#: tools/ascli-actions-misc.c:393 +msgid "You need to specify a NEWS file as input." +msgstr "Vi devas specifi NEWS-dosieron kiel enigon." + +#: tools/ascli-actions-misc.c:397 +msgid "" +"You need to specify a metainfo file to augment, or '-' to print to stdout." +msgstr "" +"Vi devas specifi modifotan metainformana dosieron aŭ '-' por eligi al " +"ĉefeligujo." + +#: tools/ascli-actions-misc.c:402 +msgid "No output filename specified, modifying metainfo file directly." +msgstr "" +"Ne specifiĝis eliga dosiernomo; tial rekte modifante metainforman dosieron." + +#: tools/ascli-actions-misc.c:509 +msgid "You need to specify a NEWS file as output, or '-' to print to stdout." +msgstr "" +"Vi devas specifi NEWS-dosieron kiel eligon aŭ '-' por eligi al ĉefeligujo." + +#: tools/ascli-actions-misc.c:540 +msgid "You need to specify a NEWS format to write the output in." +msgstr "Vi devas specifi formon de skribota NEWS-dosiero." + +#: tools/ascli-actions-pkgmgr.c:53 +msgid "" +"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" +"\" (part of PackageKit) is available." +msgstr "" +"Troviĝis neniu taŭga komandlinia pakadministrilo. Bonvolu certigi, ke ekz. " +"\"pkcon\" (parto de PackageKit) disponeblas." + +#: tools/ascli-actions-pkgmgr.c:67 +#, c-format +msgid "Unable to spawn package manager: %s" +msgstr "Ne eblas lanĉi pakadministrilon: %s" + +#. TRANSLATORS: We found no distribution package or bundle to install to make this software available +#: tools/ascli-actions-pkgmgr.c:106 +#, c-format +msgid "Component '%s' has no installation candidate." +msgstr "Neniu instalebla kandidato ekzistas por komponanto '%s'." + +#: tools/ascli-actions-validate.c:176 tools/ascli-actions-validate.c:354 +#, c-format +msgid "File '%s' does not exist." +msgstr "Ne ekzistas dosiero '%s'." + +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "error"-type hints +#: tools/ascli-actions-validate.c:228 +#, c-format +msgid "errors: %lu" +msgstr "eraroj: %lu" + +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "warning"-type hints +#: tools/ascli-actions-validate.c:235 +#, c-format +msgid "warnings: %lu" +msgstr "avertoj: %lu" + +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "info"-type hints +#: tools/ascli-actions-validate.c:242 +#, c-format +msgid "infos: %lu" +msgstr "informoj: %lu" + +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "pedantic"-type hints +#: tools/ascli-actions-validate.c:249 +#, c-format +msgid "pedantic: %lu" +msgstr "pedantaĵoj: %lu" + +#: tools/ascli-actions-validate.c:268 tools/ascli-actions-validate.c:342 +msgid "You need to specify at least one file to validate!" +msgstr "Vi devas specifi almenaŭ unu validigotan dosieron!" + +#: tools/ascli-actions-validate.c:294 tools/ascli-actions-validate.c:435 +msgid "Validation was successful." +msgstr "Validigo sukcesis." + +#: tools/ascli-actions-validate.c:296 tools/ascli-actions-validate.c:437 +#, c-format +msgid "Validation was successful: %s" +msgstr "Validigo sukcesis: %s" + +#: tools/ascli-actions-validate.c:306 tools/ascli-actions-validate.c:447 +#, c-format +msgid "Validation failed: %s" +msgstr "Validigo malsukcesis: %s" + +#: tools/ascli-actions-validate.c:368 tools/ascli-actions-validate.c:497 +#, c-format +msgid "" +"The validator can not create reports in the '%s' format. You may select " +"'yaml' or 'text' instead." +msgstr "" +"La validigilo ne povas krei raportojn de la formo '%s'. Bonvolu elekti aŭ la " +"formon 'yaml' aŭ la formon 'text'." + +#: tools/ascli-actions-validate.c:390 tools/ascli-actions-validate.c:484 +msgid "You need to specify a root directory to start validation!" +msgstr "Vi devas specifi radikan dosierujon por ekvalidigi!" + +#: tools/ascli-utils.c:266 +msgid "Identifier" +msgstr "Identigilo" + +#: tools/ascli-utils.c:268 +msgid "Internal ID" +msgstr "Interna Identigilo" + +#: tools/ascli-utils.c:269 +msgid "Name" +msgstr "Nomo" + +#: tools/ascli-utils.c:270 +msgid "Summary" +msgstr "Resumo" + +#: tools/ascli-utils.c:271 +msgid "Package" +msgstr "Pako" + +#: tools/ascli-utils.c:272 +msgid "Bundle" +msgstr "Fasko" + +#: tools/ascli-utils.c:273 +msgid "Homepage" +msgstr "Hejmpaĝo" + +#: tools/ascli-utils.c:274 +msgid "Icon" +msgstr "Ikono" + +#. developer name +#: tools/ascli-utils.c:294 +msgid "Developer" +msgstr "Programisto" + +#: tools/ascli-utils.c:300 +msgid "Extends" +msgstr "Etendas" + +#: tools/ascli-utils.c:306 +msgid "Description" +msgstr "Priskribo" + +#: tools/ascli-utils.c:326 +msgid "Default Screenshot URL" +msgstr "Apriora adreso de ekrankopio" + +#. project group +#: tools/ascli-utils.c:333 +msgid "Project Group" +msgstr "Grupo de Projekto" + +#. license +#: tools/ascli-utils.c:336 +msgid "License" +msgstr "Permesilo" + +#: tools/ascli-utils.c:342 +msgid "Categories" +msgstr "Kategorioj" + +#: tools/ascli-utils.c:350 +msgid "Compulsory for" +msgstr "Deviga por" + +#: tools/ascli-utils.c:378 +msgid "Provided Items" +msgstr "Provizitaj Eroj" + +#, c-format +#~ msgid "Unable to open new cache file: %s" +#~ msgstr "Ne eblas malfermi novan kaŝmemoran dosieron: %s" diff -Nru appstream-0.12.10/po/es.po appstream-0.14.5/po/es.po --- appstream-0.12.10/po/es.po 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/po/es.po 2021-08-28 20:15:28.000000000 +0000 @@ -1,3 +1,4 @@ +# #-#-#-#-# es.po (AppStream) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Matthias Klumpp # This file is distributed under the same license as the appstream package. @@ -5,17 +6,34 @@ # Adolfo Jayme-Barrientos, 2014 # Adolfo Jayme-Barrientos, 2016 # advocatux , 2019. -# Adolfo Jayme Barrientos , 2019. +# Adolfo Jayme Barrientos , 2019, 2020. # Katerina Katapodi , 2019. # Robert Schneider , 2019. # J , 2019. +# Kike , 2020. +# Allan Nordhøy , 2020. +# Julian Lopez , 2020. +# #-#-#-#-# es.po (appstream-glib) #-#-#-#-# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Abdel G. Martínez L. , 2016. #zanata +# Silvia Sanchez , 2016. #zanata +# Edgar Daniel Lopez Prieto , 2017. #zanata +# Emilio Herrera , 2018. #zanata +# Máximo Castañeda Riloba , 2018. #zanata +# J.MarSar , 2020. +# Jose Quintana , 2021. +# +# Translators: +# Adolfo Jayme Barrientos, 2014 msgid "" msgstr "" -"Project-Id-Version: AppStream\n" +"Project-Id-Version: appstream-glib\n" "Report-Msgid-Bugs-To: appstream@lists.freedesktop.org\n" -"POT-Creation-Date: 2020-01-14 01:44+0100\n" -"PO-Revision-Date: 2019-12-27 00:21+0000\n" -"Last-Translator: J \n" +"POT-Creation-Date: 2021-08-28 16:09+0200\n" +"PO-Revision-Date: 2021-02-06 02:41+0000\n" +"Last-Translator: Jose Quintana \n" "Language-Team: Spanish \n" "Language: es\n" @@ -23,533 +41,1379 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 3.10\n" - -#: tools/appstream-cli.c:157 -#, c-format -msgid "'%s' command" -msgstr "Orden «%s»" - -#: src/as-category.c:168 -msgctxt "Category of Graphics" -msgid "3D Graphics" -msgstr "Gráficos en 3D" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:254 -msgid "" -"A 'requires' or 'recommends' item requires a value to denote a valid " -"relation." -msgstr "" -"A 'requiere ' o 'recomenda' tema necesita un valor para denotar una " -"relacion valida." - -#: src/as-validator-issue-tag.h:51 -msgid "" -"A tag must not be localized in metainfo files (upstream " -"metadata). Localize the individual paragraphs instead." -msgstr "" -"No debe regionalizarse la etiqueta en los archivos de " -"metainformación (metadatos originales). En lugar de ello, regionalice los " -"párrafos individuales." - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:195 -msgid "" -"A screenshot must contain at least one image or video in order to be useful. " -"Please add an to it." -msgstr "" -"Una captura de pantalla debe contener por lo menos una imagen o vídeo para " -"ser útil. Añádale un ." - -#: src/as-validator-issue-tag.h:200 -msgid "" -"A screenshot must contain either images or videos, but not both at the same " -"time. Please use this screenshot exclusively for either static images or for " -"videos." -msgstr "" -"Una captura de pantalla debe contener o imágenes o vídeos, mas no ambos a la " -"vez. Utilice esta captura exclusivamente para imágenes estáticas o para " -"vídeos." - -#: src/as-category.c:123 -msgctxt "Category of Games" -msgid "Action" -msgstr "Acción" - -#. TRANSLATORS: this is the main category for Add-ons -#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor -#: src/as-category.c:320 tools/ascli-utils.c:398 -msgid "Add-ons" -msgstr "Complementos" - -#: src/as-category.c:126 -msgctxt "Category of Games" -msgid "Adventure" -msgstr "Aventura" - -#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) -#: tools/appstream-cli.c:116 -msgid "Also show pedantic hints." -msgstr "Mostrar también consejos redundantes." - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:497 -msgid "" -"An 'extends' tag is specified, but the component is not of type 'addon', " -"'localization' or 'repository'." -msgstr "" -"Se especificó una etiqueta «extends», pero el componente no es del tipo " -"«addon», «localization» o «repository»." - -#: tools/appstream-cli.c:850 -msgid "An item type (e.g. lib, bin, python3, …)" -msgstr "Un tipo de elemento (p. ej., lib, bin, python3…)" - -#: data/org.freedesktop.appstream.cli.metainfo.xml:9 -msgid "An utility to work with AppStream metadata" -msgstr "Utilidad para trabajar con metadatos de AppStream" +"X-Generator: Weblate 4.5-dev\n" #: data/org.freedesktop.appstream.cli.metainfo.xml:8 msgid "AppStream CLI" msgstr "Interfaz de consola de AppStream" -#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. -#: tools/appstream-cli.c:947 -#, c-format -msgid "" -"AppStream CLI tool version: %s\n" -"AppStream library version: %s" -msgstr "" -"Versión de la herramienta de consola AppStream: %s\n" -"Versión de la biblioteca AppStream: %s" - -#. TRANSLATORS: In the status report of ascli: Header -#: tools/ascli-actions-misc.c:47 -msgid "AppStream Status:" -msgstr "Estado de AppStream:" - -#. we performed a cache refresh -#. TRANSLATORS: Updating the metadata cache succeeded -#: tools/ascli-actions-mdata.c:80 -msgid "AppStream cache update completed successfully." -msgstr "" -"Ha finalizado la actualización de la antememoria de AppStream correctamente." - -#. cache wasn't updated, so the update wasn't necessary -#: tools/ascli-actions-mdata.c:86 -msgid "AppStream cache update is not necessary." -msgstr "No es necesaria la actualización de antememoria de AppStream." - -#. TRANSLATORS: This is the header to the --help menu for subcommands -#. TRANSLATORS: This is the header to the --help menu -#: tools/appstream-cli.c:154 tools/appstream-cli.c:843 -msgid "AppStream command-line interface" -msgstr "Interfaz de consola de AppStream" - -#: src/as-validator-issue-tag.h:63 -msgid "" -"AppStream descriptions support only a limited set of tags to format text: " -"Paragraphs (

                                                                                                        ) and lists (

                                                                                                          ,
                                                                                                            ). This description markup contains " -"an invalid XML tag that would not be rendered correctly in applications " -"supporting the metainfo specification." -msgstr "" -"Las descripciones de AppStream admiten solo un juego limitado de etiquetas " -"de formato de texto: párrafos (

                                                                                                            ) y listas (

                                                                                                              ,
                                                                                                                ). Esta " -"descripción contiene una etiqueta XML no válida que no se representará " -"correctamente en aplicaciones compatibles con la especificación metainfo." +#: data/org.freedesktop.appstream.cli.metainfo.xml:9 +msgid "An utility to work with AppStream metadata" +msgstr "Una utilidad para trabajar con los metadatos de AppStream" #: data/org.freedesktop.appstream.cli.metainfo.xml:12 msgid "" -"AppStream is a cross-distribution specification to provide metadata about " -"software components." +"AppStream is a metadata specification which permits software components to " +"provide information about themselves to automated systems and end-users " +"before the software is actually installed. The AppStream project provides " +"facilities to easily access and transform this metadata, as well as a few " +"additional services for building feature-rich software centers and similar " +"applications that make use of software metadata." msgstr "" -"AppStream es una especificación diseñada para funcionar en cualquier " -"distribución cuyo fin es proporcionar metadatos sobre componentes de " -"«software»." -#: src/as-pool.c:1937 -#, c-format +#: data/org.freedesktop.appstream.cli.metainfo.xml:18 +#, fuzzy msgid "" -"AppStream system cache refresh failed. Turn on verbose mode to get detailed " -"issue information." +"The appstreamcli command-line tool allows to read, write, and " +"transform AppStream XML or YAML metadata as well as to validate it for " +"compliance with the specification. It also provides easy access to the " +"system metadata pool, for example to query for software that provides a " +"specific Mediatype handler or for installing software by its component " +"identifier." msgstr "" -"Falló la actualización de la antememoria de sistema de AppStream. Active el " -"modo detallado para obtener más información sobre el problema." +"Esta herramienta permite leer, escribir, validar y transformar metadatos de " +"AppStream en XML o YAML. Además permite acceder a los metadatos del sistema " +"para, por ejemplo, buscar programas que proporcionen un tipo MIME concreto e " +"instalarlo por su identificador de componente de software." -#. TRANSLATORS: Output if appstreamcli --version is executed. -#: tools/appstream-cli.c:944 -#, c-format -msgid "AppStream version: %s" -msgstr "Versión de AppStream: %s" +#: src/as-category.c:66 +msgctxt "Category of AudioVideo" +msgid "Featured" +msgstr "En destaque" -#: src/as-category.c:129 -msgctxt "Category of Games" -msgid "Arcade" -msgstr "Máquina recreativa" +#: src/as-category.c:69 +msgctxt "Category of AudioVideo" +msgid "Audio Creation & Editing" +msgstr "Creación y edición de audio" -#: src/as-category.c:234 -msgctxt "Category of Science" -msgid "Artificial Intelligence" -msgstr "Inteligencia artificial" +#: src/as-category.c:75 +msgctxt "Category of AudioVideo" +msgid "Music Players" +msgstr "Reproductores de música" -#: src/as-validator-issue-tag.h:91 -msgid "" -"As per AppStream specification, the mentioned tag must only appear once in " -"this context. Having multiple tags of this kind is not valid." -msgstr "" -"De acuerdo con la especificación AppStream, la etiqueta mencionada ha de " -"aparecer solo una vez en este contexto. No es válido tener varias etiquetas " -"de este tipo." +#: src/as-category.c:84 +msgctxt "Category of Development" +msgid "Featured" +msgstr "En destaque" -#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command -#: tools/appstream-cli.c:766 -msgid "Assume the input file is in the selected format ('yaml' or 'text')." -msgstr "" -"Asumir que el archivo de entrada está en el formato seleccionado («yaml» o " -"«text»)." +#: src/as-category.c:87 +msgctxt "Category of Development" +msgid "Debuggers" +msgstr "Depuradores" + +#: src/as-category.c:90 +msgctxt "Category of Development" +msgid "IDEs" +msgstr "EID" -#: src/as-category.c:101 +#: src/as-category.c:99 msgctxt "Category of Education" -msgid "Astronomy" -msgstr "Astronomía" +msgid "Featured" +msgstr "En destaque" -#: src/as-category.c:237 -msgctxt "Category of Science" +#: src/as-category.c:102 +msgctxt "Category of Education" msgid "Astronomy" msgstr "Astronomía" -#. TRANSLATORS: this is the menu spec main category for Audio & Video -#: src/as-category.c:302 -msgid "Audio & Video" -msgstr "Audio y vídeo" +#: src/as-category.c:105 +msgctxt "Category of Education" +msgid "Chemistry" +msgstr "Química" -#: src/as-category.c:68 -msgctxt "Category of AudioVideo" -msgid "Audio Creation & Editing" -msgstr "Creación y edición de audio" +#: src/as-category.c:108 +msgctxt "Category of Education" +msgid "Languages" +msgstr "Idiomas" -#: tools/ascli-actions-misc.c:219 -#, c-format -msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." -msgstr "Se aumentó el archivo de entrada de escritorio «%s» con datos de «%s»." +#: src/as-category.c:112 +msgctxt "Category of Education" +msgid "Math" +msgstr "Matemáticas" -#: src/as-provided.c:146 -msgid "Binaries" -msgstr "Binarios" +#: src/as-category.c:121 +msgctxt "Category of Games" +msgid "Featured" +msgstr "En destaque" + +#: src/as-category.c:124 +msgctxt "Category of Games" +msgid "Action" +msgstr "Acción" + +#: src/as-category.c:127 +msgctxt "Category of Games" +msgid "Adventure" +msgstr "Aventura" + +#: src/as-category.c:130 +msgctxt "Category of Games" +msgid "Arcade" +msgstr "Máquina recreativa" -#: src/as-category.c:132 +#: src/as-category.c:133 msgctxt "Category of Games" msgid "Blocks" msgstr "Bloques" -#: src/as-category.c:135 +#: src/as-category.c:136 msgctxt "Category of Games" msgid "Board" msgstr "De mesa" -#: tools/ascli-utils.c:299 -msgid "Bundle" -msgstr "Agrupación" - -#: src/as-pool.c:1828 -#, c-format -msgid "Cache location '%s' is not writable." -msgstr "La zona de almacenamiento temporal «%s» no es de escritura." - -#: src/as-category.c:191 -msgctxt "Category of Office" -msgid "Calendar" -msgstr "Calendario" - -#: tools/ascli-actions-mdata.c:327 -#, c-format -msgid "" -"Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " -"suffix." -msgstr "" -"No se puede copiar «%s»: el archivo no tiene el sufijo «.metainfo.xml» o «." -"appdata.xml»." - -#: src/as-category.c:138 +#: src/as-category.c:139 msgctxt "Category of Games" msgid "Card" msgstr "Tarjeta" -#: tools/ascli-utils.c:369 -msgid "Categories" -msgstr "Categorías" - -#: src/as-category.c:259 -msgctxt "Category of Communication" -msgid "Chat" -msgstr "Charla" +#: src/as-category.c:142 +msgctxt "Category of Games" +msgid "Emulators" +msgstr "Emuladores" -#: src/as-category.c:104 -msgctxt "Category of Education" -msgid "Chemistry" -msgstr "Química" +#: src/as-category.c:145 +msgctxt "Category of Games" +msgid "Kids" +msgstr "Niños" -#: src/as-category.c:240 -msgctxt "Category of Science" -msgid "Chemistry" -msgstr "Química" +#: src/as-category.c:148 +msgctxt "Category of Games" +msgid "Logic" +msgstr "Lógica" -#: src/as-category.c:214 -msgctxt "Category of Addons" -msgid "Codecs" -msgstr "Códecs" +#: src/as-category.c:151 +msgctxt "Category of Games" +msgid "Role Playing" +msgstr "Juegos de rol" -#. TRANSLATORS: this is the menu spec main category for Communication -#: src/as-category.c:326 -msgid "Communication & News" -msgstr "Comunicación y noticias" +#: src/as-category.c:154 +msgctxt "Category of Games" +msgid "Sports" +msgstr "Deportes" -#: tools/appstream-cli.c:866 -msgid "Compare two version numbers." -msgstr "Comparar dos números de versión." +#: src/as-category.c:158 +msgctxt "Category of Games" +msgid "Strategy" +msgstr "Estrategia" -#: src/as-provided.c:166 -msgid "Component" -msgstr "Componente" +#: src/as-category.c:166 +msgctxt "Category of Graphics" +msgid "Featured" +msgstr "En destaque" -#. TRANSLATORS: We found no distribution package or bundle to install to make this software available -#: tools/ascli-actions-pkgmgr.c:106 +#: src/as-category.c:169 +msgctxt "Category of Graphics" +msgid "3D Graphics" +msgstr "Gráficos en 3D" + +#: src/as-category.c:172 +msgctxt "Category of Graphics" +msgid "Photography" +msgstr "Fotografía" + +#: src/as-category.c:175 +msgctxt "Category of Graphics" +msgid "Scanning" +msgstr "Digitalización" + +#: src/as-category.c:178 +msgctxt "Category of Graphics" +msgid "Vector Graphics" +msgstr "Gráficos vectorizados" + +#: src/as-category.c:181 +msgctxt "Category of Graphics" +msgid "Viewers" +msgstr "Visores" + +#: src/as-category.c:189 +msgctxt "Category of Office" +msgid "Featured" +msgstr "En destaque" + +#: src/as-category.c:192 +msgctxt "Category of Office" +msgid "Calendar" +msgstr "Calendario" + +#: src/as-category.c:196 +msgctxt "Category of Office" +msgid "Database" +msgstr "Base de datos" + +#: src/as-category.c:199 +msgctxt "Category of Office" +msgid "Finance" +msgstr "Finanzas" + +#: src/as-category.c:203 +msgctxt "Category of Office" +msgid "Word Processor" +msgstr "Procesador de textos" + +#: src/as-category.c:212 +msgctxt "Category of Addons" +msgid "Fonts" +msgstr "Tipos de letra" + +#: src/as-category.c:215 +msgctxt "Category of Addons" +msgid "Codecs" +msgstr "Códecs" + +#: src/as-category.c:218 +msgctxt "Category of Addons" +msgid "Input Sources" +msgstr "Fuentes de entrada" + +#: src/as-category.c:221 +msgctxt "Category of Addons" +msgid "Language Packs" +msgstr "Paquetes de idiomas" + +#: src/as-category.c:224 +msgctxt "Category of Addons" +msgid "Localization" +msgstr "Regionalización" + +#: src/as-category.c:232 +msgctxt "Category of Science" +msgid "Featured" +msgstr "En destaque" + +#: src/as-category.c:235 +msgctxt "Category of Science" +msgid "Artificial Intelligence" +msgstr "Inteligencia artificial" + +#: src/as-category.c:238 +msgctxt "Category of Science" +msgid "Astronomy" +msgstr "Astronomía" + +#: src/as-category.c:241 +msgctxt "Category of Science" +msgid "Chemistry" +msgstr "Química" + +#: src/as-category.c:244 +msgctxt "Category of Science" +msgid "Math" +msgstr "Matemáticas" + +#: src/as-category.c:249 +msgctxt "Category of Science" +msgid "Robotics" +msgstr "Robótica" + +#: src/as-category.c:257 +msgctxt "Category of Communication" +msgid "Featured" +msgstr "En destaque" + +#: src/as-category.c:260 +msgctxt "Category of Communication" +msgid "Chat" +msgstr "Charla" + +#: src/as-category.c:267 +msgctxt "Category of Communication" +msgid "News" +msgstr "Noticias" + +#: src/as-category.c:271 +msgctxt "Category of Communication" +msgid "Web Browsers" +msgstr "Navegadores web" + +#: src/as-category.c:279 +msgctxt "Category of Utility" +msgid "Featured" +msgstr "En destaque" + +#: src/as-category.c:282 +msgctxt "Category of Utility" +msgid "Text Editors" +msgstr "Editores de texto" + +#: src/as-category.c:285 +msgctxt "Category of Utility" +msgid "Terminal Emulators" +msgstr "Emuladores de terminal" + +#: src/as-category.c:288 +msgctxt "Category of Utility" +msgid "File System" +msgstr "Sistema de archivos" + +#: src/as-category.c:291 +msgctxt "Category of Utility" +msgid "System Monitoring" +msgstr "Monitorización de sistema" + +#: src/as-category.c:294 +msgctxt "Category of Utility" +msgid "Security" +msgstr "Seguridad" + +#. TRANSLATORS: this is the menu spec main category for Audio & Video +#: src/as-category.c:303 +msgid "Audio & Video" +msgstr "Audio y vídeo" + +#. TRANSLATORS: this is the menu spec main category for Development +#: src/as-category.c:306 +msgid "Developer Tools" +msgstr "Herramientas de programación" + +#. TRANSLATORS: this is the menu spec main category for Education +#: src/as-category.c:309 +msgid "Education" +msgstr "Educación" + +#. TRANSLATORS: this is the menu spec main category for Game +#: src/as-category.c:312 +msgid "Games" +msgstr "Juegos" + +#. TRANSLATORS: this is the menu spec main category for Graphics +#: src/as-category.c:315 +msgid "Graphics & Photography" +msgstr "Imágenes y fotografía" + +#. TRANSLATORS: this is the menu spec main category for Office +#: src/as-category.c:318 +msgid "Office" +msgstr "Oficina" + +#. TRANSLATORS: this is the main category for Add-ons +#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor +#: src/as-category.c:321 tools/ascli-utils.c:371 +msgid "Add-ons" +msgstr "Complementos" + +#. TRANSLATORS: this is the menu spec main category for Science +#: src/as-category.c:324 +msgid "Science" +msgstr "Ciencias" + +#. TRANSLATORS: this is the menu spec main category for Communication +#: src/as-category.c:327 +msgid "Communication & News" +msgstr "Comunicación y noticias" + +#. TRANSLATORS: this is the menu spec main category for Utilities +#: src/as-category.c:330 +msgid "Utilities" +msgstr "Utilidades" + +#. TRANSLATORS: This is the formatting of English and localized name +#. * of the rating e.g. "Adults Only (solo adultos)" +#: src/as-content-rating.c:298 +#, c-format +msgid "%s (%s)" +msgstr "%s (%s)" + +#: src/as-content-rating.c:444 +msgid "General" +msgstr "General" + +#: src/as-content-rating.c:453 +msgid "ALL" +msgstr "TODO" + +#: src/as-content-rating.c:457 src/as-content-rating.c:560 +msgid "Adults Only" +msgstr "Sólo adultos" + +#: src/as-content-rating.c:459 src/as-content-rating.c:559 +msgid "Mature" +msgstr "Maduro" + +#: src/as-content-rating.c:461 src/as-content-rating.c:558 +msgid "Teen" +msgstr "Adolescentes" + +#: src/as-content-rating.c:463 src/as-content-rating.c:557 +msgid "Everyone 10+" +msgstr "Todos los de 10+" + +#: src/as-content-rating.c:465 src/as-content-rating.c:556 +msgid "Everyone" +msgstr "Todos" + +#: src/as-content-rating.c:467 src/as-content-rating.c:555 +msgid "Early Childhood" +msgstr "Infantil" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:839 +msgid "No cartoon violence" +msgstr "Sin violencia con personajes animados" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:841 +msgid "Cartoon characters in unsafe situations" +msgstr "Personajes animados en situaciones no seguras" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:843 +msgid "Cartoon characters in aggressive conflict" +msgstr "Personajes animados en conflictos agresivos" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:845 +msgid "Graphic violence involving cartoon characters" +msgstr "Violencia gráfica con personajes animados" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:850 +msgid "No fantasy violence" +msgstr "Sin violencia fantástica" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:852 +msgid "Characters in unsafe situations easily distinguishable from reality" +msgstr "" +"Personajes en situaciones no seguras distinguibles fácilmente de la realidad" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:854 +msgid "Characters in aggressive conflict easily distinguishable from reality" +msgstr "" +"Personajes en conflictos agresivos distinguibles fácilmente de la realidad" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:856 +msgid "Graphic violence easily distinguishable from reality" +msgstr "Violencia gráfica distinguible fácilmente de la realidad" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:861 +msgid "No realistic violence" +msgstr "Sin violencia realista" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:863 +msgid "Mildly realistic characters in unsafe situations" +msgstr "Personajes semi-realistas en situaciones no seguras" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:865 +msgid "Depictions of realistic characters in aggressive conflict" +msgstr "Representaciones de personajes realistas en conflictos agresivos" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:867 +msgid "Graphic violence involving realistic characters" +msgstr "Violencia gráfica con personajes realistas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:872 +msgid "No bloodshed" +msgstr "Sin masacres" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:874 +msgid "Unrealistic bloodshed" +msgstr "Masacre no realista" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:876 +msgid "Realistic bloodshed" +msgstr "Masacre realista" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:878 +msgid "Depictions of bloodshed and the mutilation of body parts" +msgstr "Representaciones de masacres y mutilación de partes del cuerpo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:883 +msgid "No sexual violence" +msgstr "Sin violencia sexual" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:885 +msgid "Rape or other violent sexual behavior" +msgstr "Violación u otro comportamiento sexual violento" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:892 +msgid "No references to alcohol" +msgstr "Sin referencias a bebidas alcohólicas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:894 +msgid "References to alcoholic beverages" +msgstr "Referencias a bebidas alcohólicas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:896 +msgid "Use of alcoholic beverages" +msgstr "Uso de bebidas alcohólicas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:902 +msgid "No references to illicit drugs" +msgstr "Sin referencias a drogas ilegales" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:904 +msgid "References to illicit drugs" +msgstr "Referencias a drogas ilegales" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:906 +msgid "Use of illicit drugs" +msgstr "Uso de drogas ilegales" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:912 +msgid "No references to tobacco products" +msgstr "Si referencias al tabaco" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:914 +msgid "References to tobacco products" +msgstr "Referencias al tabaco" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:916 +msgid "Use of tobacco products" +msgstr "Uso de tabaco" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:922 +msgid "No nudity of any sort" +msgstr "Sin desnudos de ningún tipo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:924 +msgid "Brief artistic nudity" +msgstr "Desnudez artística breve" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:926 +msgid "Prolonged nudity" +msgstr "Desnudez prolongada" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:932 +msgid "No references to or depictions of sexual nature" +msgstr "Sin representaciones o referencias sexuales" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:934 +msgid "Provocative references or depictions" +msgstr "Representaciones o referencias provocativas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:936 +msgid "Sexual references or depictions" +msgstr "Representaciones o referencias sexuales" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:938 +msgid "Graphic sexual behavior" +msgstr "Comportamiento sexual gráfico" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:943 +msgid "No profanity of any kind" +msgstr "Sin blasfemia de ningún tipo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:945 +msgid "Mild or infrequent use of profanity" +msgstr "Uso moderado o poco frecuente de la blasfemia" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:947 +msgid "Moderate use of profanity" +msgstr "Uso moderado de la blasfemia" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:949 +msgid "Strong or frequent use of profanity" +msgstr "Uso amplio o frecuente de la blasfemia" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:954 +msgid "No inappropriate humor" +msgstr "Sin humor inapropiado" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:956 +msgid "Slapstick humor" +msgstr "Humor absurdo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:958 +msgid "Vulgar or bathroom humor" +msgstr "Humor vulgar o escatológico" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:960 +msgid "Mature or sexual humor" +msgstr "Humor adulto o sexual" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:965 +msgid "No discriminatory language of any kind" +msgstr "Sin lenguaje discriminatorio de cualquier tipo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:967 +msgid "Negativity towards a specific group of people" +msgstr "Negatividad hacia un determinado grupo de personas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:969 +msgid "Discrimination designed to cause emotional harm" +msgstr "Discriminación para causar daño emocional" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:971 +msgid "Explicit discrimination based on gender, sexuality, race or religion" +msgstr "Discriminación explícita basada en género, sexualidad, raza o religión" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:976 +msgid "No advertising of any kind" +msgstr "Sin publicidad de ningún tipo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:978 +msgid "Product placement" +msgstr "Venta de productos" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:980 +msgid "Explicit references to specific brands or trademarked products" +msgstr "" +"Referencias explícitas a marcas concretas o productos de marcas registradas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:982 +msgid "Users are encouraged to purchase specific real-world items" +msgstr "" +"Se incita a los jugadores a comprar determinados elementos del mundo real" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:987 +msgid "No gambling of any kind" +msgstr "Sin apuestas de ningún tipo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:989 +msgid "Gambling on random events using tokens or credits" +msgstr "Juego en eventos aleatorios usando créditos o vidas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:991 +msgid "Gambling using “play” money" +msgstr "Juego usando dinero virtual" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:993 +msgid "Gambling using real money" +msgstr "Juego usando dinero real" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:998 +msgid "No ability to spend money" +msgstr "Sin posibilidad de gastar" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1000 +msgid "Users are encouraged to donate real money" +msgstr "Se incita a los jugadores a donar dinero real" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1003 +msgid "Ability to spend real money in-app" +msgstr "Posibilidad de gastar dinero real en el juego" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1008 +msgid "No way to chat with other users" +msgstr "Sin posibilidad de chatear con otros jugadores" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1010 +msgid "User-to-user interactions without chat functionality" +msgstr "Interacciones de jugador a jugador sin funcionalidad de chat" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1012 +msgid "Moderated chat functionality between users" +msgstr "Funcionalidad de chat moderada entre jugadores" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1014 +msgid "Uncontrolled chat functionality between users" +msgstr "Funcionalidad de chat sin controlar entre jugadores" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1019 +msgid "No way to talk with other users" +msgstr "Sin posibilidad de hablar con otros jugadores" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1021 +msgid "Uncontrolled audio or video chat functionality between users" +msgstr "Funcionalidad de sonido o vídeo sin controlar entre jugadores" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1028 +msgid "No sharing of social network usernames or email addresses" +msgstr "" +"No comparte en redes sociales de nombres de usuario o direcciones de correo-e" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1030 +msgid "Sharing social network usernames or email addresses" +msgstr "" +"Compartición en redes sociales de nombres de usuario o direcciones de correo-" +"e" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1037 +msgid "No sharing of user information with third parties" +msgstr "No comparte la información del usuario con terceros" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1039 +msgid "Checking for the latest application version" +msgstr "Comprobando la última versión de la aplicación" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1041 +msgid "Sharing diagnostic data that does not let others identify the user" +msgstr "" +"Compartición de datos diagnósticos que no permiten a otros identificar al " +"usuario" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1043 +msgid "Sharing information that lets others identify the user" +msgstr "Compartición de información que permite a otros identificar al usuario" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1048 +msgid "No sharing of physical location with other users" +msgstr "No comparte la ubicación física con otros usuarios" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1050 +msgid "Sharing physical location with other users" +msgstr "Compartición de la ubicación física con otros usuarios" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1073 +msgid "No references to homosexuality" +msgstr "Sin referencias a la homosexualidad" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1075 +msgid "Indirect references to homosexuality" +msgstr "Referencias indirectas a la homosexualidad" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1077 +msgid "Kissing between people of the same gender" +msgstr "Besos entre personas del mismo sexo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1079 +msgid "Graphic sexual behavior between people of the same gender" +msgstr "Comportamiento sexual gráfico entre personas del mismo sexo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1084 +msgid "No references to prostitution" +msgstr "Sin referencias a la prostitución" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1086 +msgid "Indirect references to prostitution" +msgstr "Referencias indirectas a la prostitución" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1088 +msgid "Direct references to prostitution" +msgstr "Referencias directas a la prostitución" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1090 +msgid "Graphic depictions of the act of prostitution" +msgstr "Representación gráfica del acto de prostitución" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1095 +msgid "No references to adultery" +msgstr "Sin referencias al adulterio" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1097 +msgid "Indirect references to adultery" +msgstr "Referencias indirectas al adulterio" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1099 +msgid "Direct references to adultery" +msgstr "Referencias directas al adulterio" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1101 +msgid "Graphic depictions of the act of adultery" +msgstr "Representación gráfica del acto de adulterio" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1106 +msgid "No sexualized characters" +msgstr "Sin caracteres sexualizados" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1109 +msgid "Scantily clad human characters" +msgstr "Caracteres humanos apenas vestidos" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1111 +msgid "Overtly sexualized human characters" +msgstr "Caracteres humanos abiertamente sexualizados" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1116 +msgid "No references to desecration" +msgstr "Sin referencias a la profanación" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1118 +msgid "Depictions of or references to historical desecration" +msgstr "Representación gráfica o referencias a la profanación histórica" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1120 +msgid "Depictions of modern-day human desecration" +msgstr "Representación gráfica de profanación humana actual" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1122 +msgid "Graphic depictions of modern-day desecration" +msgstr "Representación gráfica de profanación actual" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1127 +msgid "No visible dead human remains" +msgstr "Sin restos mortales humanos visibles" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1129 +msgid "Visible dead human remains" +msgstr "Restos mortales humanos visibles" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1131 +msgid "Dead human remains that are exposed to the elements" +msgstr "Restos mortales humanos expuestos a los elementos" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1133 +msgid "Graphic depictions of desecration of human bodies" +msgstr "Representación gráfica de profanación de cuerpos humanos" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1138 +msgid "No references to slavery" +msgstr "Sin referencias a la esclavitud" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1140 +msgid "Depictions of or references to historical slavery" +msgstr "Representaciones o referencias a la esclavitud histórica" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1142 +msgid "Depictions of modern-day slavery" +msgstr "Representaciones o referencias a la esclavitud actual" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1144 +msgid "Graphic depictions of modern-day slavery" +msgstr "Representación gráfica de esclavitud actual" + +#. TRANSLATORS: We got a 429 error while trying to download data +#: src/as-curl.c:134 #, c-format -msgid "Component '%s' has no installation candidate." -msgstr "El componente «%s» no posee ningún candidato de instalación." +msgid "Failed to download due to server limit" +msgstr "" -#: tools/ascli-utils.c:377 -msgid "Compulsory for" -msgstr "Obligatorio para" +#: src/as-curl.c:141 src/as-curl.c:148 +#, fuzzy, c-format +msgid "Failed to download file: %s" +msgstr "No se ha podido instalar el archivo de metadatos: %s" -#: src/as-validator-issue-tag.h:361 -msgid "Consider using a secure (HTTPS) URL for the remote icon link." +#. TRANSLATORS: We tried to download an URL, but received a 404 error code +#: src/as-curl.c:157 +#, c-format +msgid "URL was not found on the server." msgstr "" -"Considere utilizar un URL seguro (HTTPS) para el enlace del icono remoto." -#: src/as-validator-issue-tag.h:383 -msgid "Consider using a secure (HTTPS) URL for this web link." -msgstr "Considere utilizar un URL seguro (HTTPS) para este enlace web." +#. TRANSLATORS: We received an uexpected HTTP status code while talking to a server, likely an error +#: src/as-curl.c:164 +#, c-format +msgid "Unexpected status code: %ld" +msgstr "" -#: src/as-validator-issue-tag.h:189 -msgid "" -"Consider using a secure (HTTPS) URL to reference this screenshot image or " -"video." +#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty +#: src/as-curl.c:247 +#, c-format +msgid "Retrieved file size was zero." msgstr "" -"Considere utilizar un URL seguro (HTTPS) para hacer referencia a esta imagen " -"o vídeo de captura de pantalla." +"Lo sentimos, algo a salido mal. El tamaño del archivo recuperado es cero." -#: tools/appstream-cli.c:870 -#, fuzzy -msgid "Convert a YAML or text NEWS file into metainfo releases." -msgstr "Convierte un archivo YAML o de texto de NEWS en versiones de metainfo." +#. TRANSLATORS: List of "grey-listed" words sperated with ";" +#. * Do not translate this list directly. Instead, +#. * provide a list of words in your language that people are likely +#. * to include in a search but that should normally be ignored in +#. * the search. +#. +#: src/as-pool.c:111 +msgid "app;application;package;program;programme;suite;tool" +msgstr "app;aplicación;paquete;programa;suite;conjunto;herramienta" -#. TRANSLATORS: "convert" command in ascli. "Collection XML" is a term describing a specific type of AppStream XML data. -#: tools/appstream-cli.c:865 -msgid "Convert collection XML to YAML or vice versa." -msgstr "Convertir XML de colección en YAML o viceversa." +#: src/as-pool.c:620 +msgid "Unable to remove old cache." +msgstr "No se ha podido eliminar la antememoria antigua." -#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results -#: tools/ascli-actions-mdata.c:228 +#: src/as-pool.c:963 +msgid "Metadata files have errors:" +msgstr "Los archivos de metadatos tienen errores:" + +#: src/as-pool.c:1370 +msgid "" +"Many components have been recognized as invalid. See debug output for " +"details." +msgstr "" +"Se han reconocido muchos componentes como no válidos. Vea la salida de " +"depuración para más detalles." + +#: src/as-pool.c:1996 #, c-format -msgid "Could not find component providing '%s::%s'." -msgstr "No se pudo encontrar un componente que proporcione «%s::%s»." +msgid "Cache location '%s' is not writable." +msgstr "La zona de almacenamiento temporal «%s» no es de escritura." -#: tools/appstream-cli.c:869 -msgid "Create a XDG desktop-entry file from a metainfo file." +#: src/as-pool.c:2109 +msgid "" +"The AppStream system cache was updated, but some components were ignored. " +"Refer to the verbose log for more information." msgstr "" +"La caché del sistema AppStream se actualizó, pero algunos componentes fueron " +"ignorados. Consulte el registro detallado para obtener más información." -#: tools/appstream-cli.c:868 +#: src/as-pool.c:2111 +#, c-format msgid "" -"Create a template for a metainfo file (to be filled out by the upstream " -"project)." +"The AppStream system cache was updated, but problems were found which " +"resulted in metadata being ignored: %s" msgstr "" -"Crear una plantilla para un archivo de metainformación (que cumplimentará el " -"proyecto original)." +"Se ha actualizado la caché del sistema AppStream, pero se han encontrado " +"problemas que han hecho que se ignoren los metadatos: %s" -#: tools/ascli-actions-misc.c:228 +#: src/as-pool.c:2125 #, c-format -msgid "Creating new desktop-entry file '%s' using data from '%s'" +msgid "" +"AppStream system cache refresh failed. Turn on verbose mode to get detailed " +"issue information." msgstr "" +"Falló la actualización de la antememoria de sistema de AppStream. Active el " +"modo detallado para obtener más información sobre el problema." -#: src/as-provided.c:160 -msgid "D-Bus Session Services" -msgstr "Servicios de sesión de DBus" +#: src/as-provided.c:144 +msgid "Libraries" +msgstr "Bibliotecas" + +#: src/as-provided.c:146 +msgid "Binaries" +msgstr "Binarios" + +#: src/as-provided.c:148 +msgid "Media types" +msgstr "Tipos de medios" + +#: src/as-provided.c:150 +msgid "Fonts" +msgstr "Tipos de letra" + +#: src/as-provided.c:152 +msgid "Modaliases" +msgstr "Modalias" + +#: src/as-provided.c:154 +msgid "Python (Version 2)" +msgstr "Python (versión 2)" + +#: src/as-provided.c:156 +msgid "Python 3" +msgstr "Python 3" #: src/as-provided.c:158 msgid "D-Bus System Services" msgstr "Servicios de sistema de DBus" -#: src/as-category.c:195 -msgctxt "Category of Office" -msgid "Database" -msgstr "Base de datos" +#: src/as-provided.c:160 +msgid "D-Bus Session Services" +msgstr "Servicios de sesión de DBus" -#: src/as-category.c:86 -msgctxt "Category of Development" -msgid "Debuggers" -msgstr "Depuradores" +#: src/as-provided.c:162 +msgid "Runtime Firmware" +msgstr "Microprograma en tiempo de ejecución" -#: tools/ascli-utils.c:353 -msgid "Default Screenshot URL" -msgstr "URL predeterminado de captura de pantalla" +#: src/as-provided.c:164 +msgid "Flashed Firmware" +msgstr "Microprograma instalado" -#. TRANSLATORS: ascli flag description for: --format -#: tools/appstream-cli.c:83 -msgid "Default metadata format (valid values are 'xml' and 'yaml')." +#: src/as-provided.c:166 +msgid "Component" +msgstr "Componente" + +#: src/as-validator-issue-tag.h:41 +msgid "This tag requires a type property." +msgstr "Esta etiqueta requiere una propiedad tipo." + +#: src/as-validator-issue-tag.h:46 +msgid "Tags of this name are not permitted in this section." +msgstr "Las etiquetas de este nombre no están permitidas en esta sección." + +#: src/as-validator-issue-tag.h:51 +msgid "" +"A tag must not be localized in metainfo files (upstream " +"metadata). Localize the individual paragraphs instead." msgstr "" -"Formato de metadatos predeterminado (los valores válidos son «xml» y «yaml»)." +"No debe regionalizarse la etiqueta en los archivos de " +"metainformación (metadatos originales). En lugar de ello, regionalice los " +"párrafos individuales." -#: tools/ascli-utils.c:333 -msgid "Description" -msgstr "Descripción" +#: src/as-validator-issue-tag.h:57 +msgid "" +"This element (paragraph, list, etc.) of a tag must not be " +"localized individually in collection metadata. Localize the whole " +" tag instead. The AppStream collection metadata generator (e." +"g. `appstream-generator`) will already do the right thing when compiling the " +"data." +msgstr "" +"Este elemento (paragraph, list, etc.) de una etiqueta no debe " +"ser localizada individualmente en los metadatos de la colección. En su " +"lugar, localice toda la etiqueta . El generador de metadatos " +"de la colección AppStream (por ejemplo, `appstream-generator`) se encargará " +"de hacer lo correcto al compilar los datos." -#. developer name -#: tools/ascli-utils.c:321 -msgid "Developer" -msgstr "Programador" +#: src/as-validator-issue-tag.h:63 +msgid "" +"AppStream descriptions support only a limited set of tags to format text: " +"Paragraphs (

                                                                                                                ) and lists (

                                                                                                                  ,
                                                                                                                    ). This description markup contains " +"an invalid XML tag that would not be rendered correctly in applications " +"supporting the metainfo specification." +msgstr "" +"Las descripciones de AppStream admiten solo un juego limitado de etiquetas " +"de formato de texto: párrafos (

                                                                                                                    ) y listas (

                                                                                                                      ,
                                                                                                                        ). Esta " +"descripción contiene una etiqueta XML no válida que no se representará " +"correctamente en aplicaciones compatibles con la especificación metainfo." -#. TRANSLATORS: this is the menu spec main category for Development -#: src/as-category.c:305 -msgid "Developer Tools" -msgstr "Herramientas de programación" +#: src/as-validator-issue-tag.h:69 +msgid "" +"This description paragraph contains invalid markup. Currently, only " +"and are permitted." +msgstr "" +"Este párrafo de descripción contiene un marcaje no válido. Actualmente, sólo " +"se permiten y ." -#: tools/appstream-cli.c:862 -msgid "Display status information about available AppStream metadata." +#: src/as-validator-issue-tag.h:74 +msgid "Enumerations must only have list items (
                                                                                                                      1. ) as children." msgstr "" -"Mostrar información de estado sobre los metadatos disponibles de AppStream." +"Las enumeraciones sólo deben tener elementos de lista (
                                                                                                                      2. ) como elementos " +"secundarios." -#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions -#: tools/ascli-actions-misc.c:52 -msgid "Distribution metadata:" -msgstr "Metadatos de la distribución:" +#: src/as-validator-issue-tag.h:79 +msgid "" +"The first `description/p` paragraph of this component might be too short (< " +"80 characters). Please consider starting with a longer paragraph to improve " +"how the description looks like in software centers and to provide more " +"detailed information on this component immediately in the first paragraph." +msgstr "" +"El primer párrafo `description/p` de este componente podría ser demasiado " +"corto (< 80 caracteres). Por favor, considere comenzar con un párrafo más " +"largo para mejorar el aspecto de la descripción en los centros de software y " +"para proporcionar información más detallada sobre este componente " +"inmediatamente en el primer párrafo." -#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) -#: tools/appstream-cli.c:126 -msgid "Do not use network access." -msgstr "No utilizar el acceso de red." +#: src/as-validator-issue-tag.h:86 +msgid "" +"The description contains a web URL in plain text. This is not allowed, " +"please use the tag instead to share links." +msgstr "" +"La descripción contiene una URL web en texto plano. Esto no está permitido, " +"por favor utilice la etiqueta en su lugar para compartir enlaces." -#. TRANSLATORS: ascli flag description for: --no-color -#: tools/appstream-cli.c:908 -msgid "Don't show colored output." -msgstr "No mostrar salida coloreada." +#: src/as-validator-issue-tag.h:91 +msgid "" +"As per AppStream specification, the mentioned tag must only appear once in " +"this context. Having multiple tags of this kind is not valid." +msgstr "" +"De acuerdo con la especificación AppStream, la etiqueta mencionada ha de " +"aparecer sólo una vez en este contexto. No es válido tener varias etiquetas " +"de este tipo." -#: tools/appstream-cli.c:853 -msgid "Dump raw XML metadata for a component matching the ID." +#: src/as-validator-issue-tag.h:96 +msgid "" +"The mentioned tag is empty, which is highly likely not intended as it should " +"have content." msgstr "" -"Volcar los metadatos XML en bruto para un componente que coincida con el " -"identificador." +"La etiqueta mencionada está vacía, lo cual es muy probable que no esté " +"previsto, ya que debería tener contenido." -#. TRANSLATORS: this is the menu spec main category for Education -#: src/as-category.c:308 -msgid "Education" -msgstr "Educación" +#: src/as-validator-issue-tag.h:101 +msgid "" +"The component ID is required to follow a reverse domain-name scheme for its " +"name. See the AppStream specification for details." +msgstr "" +"El ID del componente debe seguir un esquema de nombre de dominio inverso " +"para su nombre. Consulte la especificación de AppStream para más detalles." -#. TRANSLATORS: No metainfo files have been found -#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 -msgid "Empty." -msgstr "Vacío." +#: src/as-validator-issue-tag.h:106 +msgid "" +"The component ID is not a reverse domain-name. Please update the ID to avoid " +"future issues and be compatible with all AppStream implementations.\n" +"You may also consider to update the name of the accompanying .desktop file " +"to follow the latest version of the Desktop-Entry specification and use a " +"rDNS name for it as well. In any case, do not forget to mention the new " +"desktop-entry in a tag for this component to keep the " +"application launchable from software centers and the .desktop file data " +"associated with the metainfo data." +msgstr "" +"El ID del componente no es un nombre de dominio inverso. Por favor, " +"actualice el ID para evitar futuros problemas y ser compatible con todas las " +"implementaciones de AppStream.\n" +"También puede considerar actualizar el nombre del archivo .desktop que lo " +"acompaña para seguir la última versión de la especificación Desktop-Entry y " +"utilizar también un nombre rDNS para él. En cualquier caso, no olvide " +"mencionar la nueva entrada de escritorio en una etiqueta para " +"este componente a fin de mantener la aplicación iniciable desde los centros " +"de software y los datos del archivo .desktop asociados a los datos metainfo." -#: src/as-category.c:141 -msgctxt "Category of Games" -msgid "Emulators" -msgstr "Emuladores" +#: src/as-validator-issue-tag.h:114 +msgid "" +"The component ID might not follow the reverse domain-name schema (the TLD " +"used by it is not known to the validator)." +msgstr "" +"Es posible que el ID del componente no siga el esquema de nombre de dominio " +"inverso (el TLD que utiliza no es conocido por el validador)." -#. TRANSLATORS: ascli flag description for: --force -#: tools/appstream-cli.c:245 -msgid "Enforce a cache refresh." -msgstr "Forzar una actualización de antememoria." +#: src/as-validator-issue-tag.h:119 +msgid "" +"The component ID contains an invalid character. Only ASCII characters, dots " +"and numbers are permitted." +msgstr "" +"El ID del componente contiene un carácter no válido. Sólo se permiten " +"caracteres ASCII, puntos y números." -#: src/as-validator-issue-tag.h:74 -msgid "Enumerations must only have list items (
                                                                                                                      3. ) as children." +#: src/as-validator-issue-tag.h:124 +msgid "" +"The component ID contains a hyphen/minus. Using a hyphen is strongly " +"discouraged, to improve interoperability with other tools such as D-Bus. A " +"good option is to replace any hyphens with underscores (`_`)." msgstr "" -"Las enumeraciones solo deben tener elementos de lista (
                                                                                                                      4. ) como elementos " -"secundarios." +"El ID del componente contiene un guión/menos. Se desaconseja totalmente el " +"uso de un guión, para mejorar la interoperabilidad con otras herramientas " +"como D-Bus. Una buena opción es sustituir los guiones por guiones bajos " +"(`_`)." -#: tools/ascli-actions-misc.c:159 -#, c-format -msgid "Error while loading the metadata pool: %s" -msgstr "Se produjo un error al cargar el grupo de metadatos: %s" +#: src/as-validator-issue-tag.h:130 +msgid "" +"The component ID contains a segment starting with a number. Starting a " +"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " +"interoperability with other tools such as D-Bus. Ideally, prefix these " +"segments with an underscore." +msgstr "" +"El ID del componente contiene un segmento que comienza con un número. Se " +"desaconseja empezar un segmento del ID de DNS inverso con un número, para " +"mantener la interoperabilidad con otras herramientas como D-Bus. Lo ideal es " +"prefijar estos segmentos con un guión bajo." + +#: src/as-validator-issue-tag.h:136 +msgid "The component ID should only contain lowercase letters." +msgstr "El ID del componente sólo debe contener letras minúsculas." + +#: src/as-validator-issue-tag.h:141 +msgid "" +"The component is part of the Freedesktop project, but its ID does not start " +"with fd.o's reverse-DNS name (\"org.freedesktop\")." +msgstr "" +"El componente forma parte del proyecto Freedesktop, pero su ID no comienza " +"con el nombre DNS inverso de fd.o (\"org.freedesktop\")." + +#: src/as-validator-issue-tag.h:146 +msgid "" +"The component is part of the KDE project, but its ID does not start with " +"KDEs reverse-DNS name (\"org.kde\")." +msgstr "" +"El componente es parte del proyecto KDE, pero su ID no comienza con el " +"nombre de KDE (\"org.kde\")." -#: tools/ascli-utils.c:327 -msgid "Extends" -msgstr "Amplía" +#: src/as-validator-issue-tag.h:151 +msgid "" +"The component is part of the GNOME project, but its ID does not start with " +"GNOMEs reverse-DNS name (\"org.gnome\")." +msgstr "" +"El componente es parte del proyecto GNOME, pero su ID no comienza con el " +"nombre de GNOMEs reverse-DNS (\"org.gnome\")." -#: src/as-category.c:65 -msgctxt "Category of AudioVideo" -msgid "Featured" -msgstr "En destaque" +#: src/as-validator-issue-tag.h:156 +msgid "The SPDX license expression is invalid and could not be parsed." +msgstr "" +"La expresión de la licencia SPDX no es válida y no ha podido ser procesada." -#: src/as-category.c:256 -msgctxt "Category of Communication" -msgid "Featured" -msgstr "En destaque" +#: src/as-validator-issue-tag.h:161 +msgid "" +"The license ID was not found in the SPDX database. Please check that the " +"license ID is written in an SPDX-conformant way and is a valid free software " +"license." +msgstr "" +"El ID de la licencia no se ha encontrado en la base de datos de SPDX. Por " +"favor, compruebe que el ID de licencia está escrito de forma compatible con " +"SPDX y que se trata de una licencia de software libre válida." -#: src/as-category.c:83 -msgctxt "Category of Development" -msgid "Featured" -msgstr "En destaque" +#: src/as-validator-issue-tag.h:167 +msgid "" +"The metadata itself seems to be licensed under a complex collection of " +"licenses. Please license the data under a simple permissive license, like " +"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " +"collections without the risk of license violations due to mutually " +"incompatible licenses." +msgstr "" +"Los propios metadatos parecen estar licenciados bajo una compleja colección " +"de licencias. Por favor, licencie los datos bajo una licencia permisiva " +"simple, como FSFAP, MIT o CC0-1.0 para permitir a los distribuidores " +"incluirlos en colecciones de datos mixtas sin el riesgo de violaciones de " +"licencia debido a licencias mutuamente incompatibles." -#: src/as-category.c:98 -msgctxt "Category of Education" -msgid "Featured" -msgstr "En destaque" +#: src/as-validator-issue-tag.h:173 +msgid "" +"The metadata itself does not seem to be licensed under a permissive license. " +"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " +"0BSD to allow distributors to include it in mixed data collections without " +"the risk of license violations due to mutually incompatible licenses." +msgstr "" +"Los metadatos en sí no parecen tener una licencia permisiva. Por favor, " +"licencie los datos bajo una licencia permisiva, como FSFAP, CC0-1.0 o 0BSD " +"para permitir a los distribuidores incluirlos en colecciones de datos mixtas " +"sin el riesgo de violaciones de la licencia debido a licencias mutuamente " +"incompatibles." -#: src/as-category.c:120 -msgctxt "Category of Games" -msgid "Featured" -msgstr "En destaque" +#: src/as-validator-issue-tag.h:179 +msgid "" +"The update-contact does not appear to be a valid email address (escaping of " +"`@` is only allowed as `_at_` or `_AT_`)." +msgstr "" +"El contacto de actualización no parece ser una dirección de correo " +"electrónico válida (el escape de `@` sólo se permite como `_at_` o `_AT_`)." -#: src/as-category.c:165 -msgctxt "Category of Graphics" -msgid "Featured" -msgstr "En destaque" +#: src/as-validator-issue-tag.h:184 +msgid "" +"Unable to reach the screenshot image on its remote location - does the image " +"exist?" +msgstr "" +"No se puede acceder a la imagen de la captura de pantalla en su ubicación " +"remota - ¿existe la imagen?" -#: src/as-category.c:188 -msgctxt "Category of Office" -msgid "Featured" -msgstr "En destaque" +#: src/as-validator-issue-tag.h:189 +msgid "" +"Unable to reach the screenshot video on its remote location - does the video " +"file exist?" +msgstr "" +"No se puede acceder al vídeo de captura de pantalla en su ubicación remota - " +"¿existe el archivo de vídeo?" -#: src/as-category.c:231 -msgctxt "Category of Science" -msgid "Featured" -msgstr "En destaque" +#: src/as-validator-issue-tag.h:194 +msgid "" +"Consider using a secure (HTTPS) URL to reference this screenshot image or " +"video." +msgstr "" +"Considere utilizar un URL seguro (HTTPS) para hacer referencia a esta imagen " +"o vídeo de captura de pantalla." -#: src/as-category.c:278 -msgctxt "Category of Utility" -msgid "Featured" -msgstr "En destaque" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:200 +msgid "" +"A screenshot must contain at least one image or video in order to be useful. " +"Please add an to it." +msgstr "" +"Una captura de pantalla debe contener por lo menos una imagen o vídeo para " +"ser útil. Añádale un ." -#: tools/ascli-actions-validate.c:171 tools/ascli-actions-validate.c:349 -#, c-format -msgid "File '%s' does not exist." -msgstr "El archivo «%s» no existe." +#: src/as-validator-issue-tag.h:205 +msgid "" +"A screenshot must contain either images or videos, but not both at the same " +"time. Please use this screenshot exclusively for either static images or for " +"videos." +msgstr "" +"Una captura de pantalla debe contener o imágenes o vídeos, mas no ambos a la " +"vez. Utilice esta captura exclusivamente para imágenes estáticas o para " +"vídeos." -#: src/as-category.c:287 -msgctxt "Category of Utility" -msgid "File System" -msgstr "Sistema de archivos" +#: src/as-validator-issue-tag.h:211 +msgid "The screenshot does not have a caption text. Consider adding one." +msgstr "" +"La captura de pantalla no tiene un texto de pie de foto. Considere añadir " +"uno." -#: src/as-category.c:198 -msgctxt "Category of Office" -msgid "Finance" -msgstr "Finanzas" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:217 +msgid "" +"The screenshot video does not specify which video codec was used in a " +"`codec` property." +msgstr "" +"El vídeo de la captura de pantalla no especifica qué códec de vídeo se ha " +"utilizado en una propiedad `codec`." -#: src/as-provided.c:164 -msgid "Flashed Firmware" -msgstr "Microprograma instalado" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:223 +msgid "" +"The screenshot video does not specify which container format was used in a " +"`container` property." +msgstr "" +"El vídeo de la captura de pantalla no especifica qué formato de contenedor " +"se utilizó en una propiedad `container`." -#: src/as-provided.c:150 -msgid "Fonts" -msgstr "Tipos de letra" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:229 +msgid "" +"The selected video codec is not supported by AppStream and software centers " +"may not be able to play the video. Only the AV1 and VP9 codecs are currently " +"supported, using `av1` and `vp9` as values for the `codec` property." +msgstr "" +"El códec de vídeo seleccionado no es compatible con AppStream y es posible " +"que los centros de software no puedan reproducir el vídeo. Actualmente sólo " +"se admiten los códecs AV1 y VP9, utilizando `av1` y `vp9` como valores para " +"la propiedad `codec`." -#: src/as-category.c:211 -msgctxt "Category of Addons" -msgid "Fonts" -msgstr "Tipos de letra" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:236 +msgid "" +"The selected video container format is not supported by AppStream and " +"software centers may not be able to play the video. Only the WebM and " +"Matroska video containers are currently supported, using `webm` and `mkv` as " +"values for the `container` property." +msgstr "" +"El formato contenedor de vídeo seleccionado no es compatible con AppStream y " +"es posible que los centros de software no puedan reproducir el vídeo. " +"Actualmente sólo se admiten los contenedores de vídeo WebM y Matroska, " +"utilizando `webm` y `mkv` como valores para la propiedad `container`." -#: src/as-validator-issue-tag.h:237 +#: src/as-validator-issue-tag.h:242 msgid "" "For videos, only the WebM and Matroska (.mkv) container formats are " "currently supported. The file extension of the referenced video does not " @@ -559,204 +1423,340 @@ "contenedores WebM y Matroska (.mkv). La extensión de archivo del vídeo al " "que se hace referencia no corresponde a ninguno de esos formatos." -#. TRANSLATORS: ascli flag description for: --format when validating XML files -#: tools/appstream-cli.c:131 -msgid "Format of the generated report (valid values are 'text' and 'yaml')." -msgstr "Formato del informe generado (los valores válidos son «xml» y «yaml»)." +#: src/as-validator-issue-tag.h:248 +msgid "" +"The default screenshot of a software component must not be a video. Use a " +"static image as default screenshot and set the video as a secondary " +"screenshot." +msgstr "" +"La captura de pantalla por defecto de un componente de software no debe ser " +"un vídeo. Utilice una imagen estática como captura de pantalla por defecto y " +"establezca el vídeo como captura de pantalla secundaria." -#. TRANSLATORS: Found metainfo files in legacy directories -#: tools/ascli-actions-misc.c:138 -#, c-format -msgid "Found %i components in legacy paths." -msgstr "Se han encontrado %i componentes en rutas de acceso heredadas." +#: src/as-validator-issue-tag.h:253 +msgid "" +"Found an unknown tag in a requires/recommends group. This is likely an " +"error, because a component relation of this type is unknown." +msgstr "" +"Se encontró una etiqueta desconocida en un grupo «requires»/«recommends». " +"Puede tratarse de un error, puesto que se desconoce cualquier relación de " +"componentes de este tipo." -#: tools/ascli-actions-misc.c:123 -#, c-format -msgid "Found %i components." -msgstr "Se han encontrado %i componentes." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:259 +msgid "" +"A `requires` or `recommends` item requires a value to denote a valid " +"relation." +msgstr "" +"Un ítem 'require ' o 'recommends' necesita un valor para indicar una " +"relación válida." -#. TRANSLATORS: 'version' is an AppStream XML property. Please do not translate it. -#: src/as-validator-issue-tag.h:260 +#. TRANSLATORS: `version` is an AppStream XML property. Please do not translate it. +#: src/as-validator-issue-tag.h:265 msgid "" -"Found 'version' property on required/recommended item of a type that should " +"Found `version` property on required/recommended item of a type that should " "not have or require a version." msgstr "" "Se encontró la propiedad «version» en el elemento requerido/recomendado de " -"un tipo que no debe tener ni requerir una versión." +"un tipo que no debería tener ni requerir una versión." -#. TRANSLATORS: 'version' and 'compare' are AppStream XML properties. Please do not translate them. -#: src/as-validator-issue-tag.h:266 +#. TRANSLATORS: `version` and `compare` are AppStream XML properties. Please do not translate them. +#: src/as-validator-issue-tag.h:271 msgid "" -"Found 'version' property on this required/recommended item, but not " -"'compare' property. It is recommended to explicitly define a comparison " +"Found `version` property on this required/recommended item, but not " +"`compare` property. It is recommended to explicitly define a comparison " "operation." msgstr "" -"Se encontró la propiedad «version» en este elemento requerido/recomendado, " -"pero no la propiedad «compare». Se recomienda definir explícitamente una " +"Se encontró la propiedad `version` en este elemento requerido/recomendado, " +"pero no la propiedad `compare`. Se recomienda definir explícitamente una " "operación de comparación." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:277 +#: src/as-validator-issue-tag.h:276 +#, fuzzy +msgid "" +"Invalid comparison operation on relation item. Only eq/ne/lt/gt/le/ge are " +"permitted." +msgstr "" +"Hay una operación de comparación de versiones no válida en el elemento de " +"relación. Sólo se permiten eq/ne/lt/gt/le/ge." + +#: src/as-validator-issue-tag.h:281 msgid "" -"Found a memory size dependency in a 'requires' tag. This means users will " -"not be able to even install the component without having enough RAM. This is " -"usually not intended and you want to use 'memory' in the 'recommends' tag " +"The relation item has a comparison operation set, but does not support any " +"comparisons." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:287 +msgid "" +"Found a memory size relation in a `requires` tag. This means users will not " +"be able to even install the component without having enough RAM. This is " +"usually not intended and you want to use `memory` in the `recommends` tag " "instead." msgstr "" -"Se encontró una dependencia en el tamaño de la memoria en una etiqueta " -"«requires». Ello implica que los usuarios no podrán instalar el componente a " -"menos que dispongan de determinada RAM. Normalmente esto no es deseable; " -"considere utilizar en su lugar «memory» en «recommends»." +"Se encontró una relación del tamaño de la memoria en una etiqueta " +"`requires`. Esto significa que los usuarios no podrán instalar el componente " +"a menos que dispongan de suficiente RAM. Normalmente esto no es deseado; " +"considere en cambio, utilizar `memory` en la etiqueta`recommends`." -#: src/as-validator-issue-tag.h:248 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:294 msgid "" -"Found an unknown tag in a requires/recommends group. This is likely an " -"error, because a component relation of this type is unknown." +"Found a user input control relation in a `requires` tag. This means users " +"will not be able to even install the component without having the defined " +"input control available on the system. This is usually not intended and you " +"want to use `control` in the `recommends` tag instead." msgstr "" -"Se encontró una etiqueta desconocida en un grupo «requires»/«recommends». " -"Puede tratarse de un error, puesto que se desconoce cualquier relación de " -"componentes de este tipo." +"Se ha encontrado una relación de control de entrada del usuario en una " +"etiqueta `requires`. Esto significa que los usuarios no podrán ni siquiera " +"instalar el componente sin tener el control de entrada definido disponible " +"en el sistema. Esto no suele ser lo que se pretende y en su lugar se debe " +"utilizar `control` en la etiqueta `recommends`." -#: src/as-validator-issue-tag.h:427 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:301 msgid "" -"Found invalid tag. Non-standard tags should be prefixed with 'x-'. AppStream " -"also provides the tag to add arbitrary custom data to metainfo " -"files. This tag is read by AppStream libraries and may be useful instead of " -"defining new custom toplevel or 'x-'-prefixed tags if you just want to add " -"custom data to a metainfo file." +"This `control` item defines an unknown input method and is invalid. Check " +"the specification for a list of permitted values." msgstr "" -"Se encontró una etiqueta no válida. Las etiquetas no estándares deben " -"prefijarse con «x-». AppStream además proporciona la etiqueta para " -"añadir datos personalizados cualesquiera a los archivos de metainfo. Las " -"bibliotecas de AppStream leen esta etiqueta; puede serle de utilidad y " -"ahorrarle el definir etiquetas de nivel superior personalizadas o etiquetas " -"prefijadas con «x-» si lo único que pretende es añadir datos personalizados " -"a un archivo de metainfo." +"Este elemento `control` define un método de entrada desconocido y no es " +"válido. Compruebe la especificación para obtener una lista de valores " +"permitidos." -#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. -#: src/as-validator.c:526 src/as-validator.c:939 src/as-validator.c:1024 -#: src/as-validator.c:1237 -#, c-format -msgid "Found: %s - Allowed: %s" -msgstr "Encontrado: %s - Permitido: %s" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:307 +msgid "" +"This `display_length` item contains an invalid display length. Its value " +"must either be a shorthand string, or positive integer value denoting " +"logical pixels. Please refer to the AppStream specification for more " +"information on this tag." +msgstr "" -#. TRANSLATORS: this is the menu spec main category for Game -#: src/as-category.c:311 -msgid "Games" -msgstr "Juegos" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:314 +msgid "" +"This `side` property of this `display_length` item contains an invalid " +"value. It must either be `shortest` or `longest`, or unset to imply " +"`shortest` to make the item value refer to either the shortest or longest " +"side of the display." +msgstr "" -#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command -#: tools/appstream-cli.c:814 -msgid "Generate the output in the selected format ('yaml' or 'text')." -msgstr "Generar la salida en el formato seleccionado («yaml» o «text»)." +#: src/as-validator-issue-tag.h:320 +msgid "" +"The set component type is not a recognized, valid AppStream component type." +msgstr "" +"El tipo de componente establecido no es un tipo de componente AppStream " +"reconocido y válido." -#: tools/appstream-cli.c:849 -msgid "Get components which provide the given item." -msgstr "Obtener componentes que proporcionen el elemento dado." +#: src/as-validator-issue-tag.h:325 +msgid "" +"The component has a priority value set. This is not allowed in metainfo " +"files." +msgstr "" +"El componente tiene un valor de prioridad establecido. Esto no está " +"permitido en los archivos metainfo." -#: tools/appstream-cli.c:848 -msgid "Get information about a component by its ID." -msgstr "Obtener información sobre un componente mediante su identificador." +#: src/as-validator-issue-tag.h:330 +msgid "" +"The component has a `merge` method defined. This is not allowed in metainfo " +"files." +msgstr "" +"El componente tiene definido un método `merge`. Esto no está permitido en " +"los archivos metainfo." -#. TRANSLATORS: this is the menu spec main category for Graphics -#: src/as-category.c:314 -msgid "Graphics & Photography" -msgstr "Imágenes y fotografía" +#: src/as-validator-issue-tag.h:335 +msgid "The component is missing an ID ( tag)." +msgstr "Al componente le falta un ID (etiqueta )." -#: tools/ascli-utils.c:300 -msgid "Homepage" -msgstr "Sitio web" +#: src/as-validator-issue-tag.h:340 +msgid "The component is missing a name ( tag)." +msgstr "Al componente le falta un nombre (etiqueta )." -#: src/as-category.c:89 -msgctxt "Category of Development" -msgid "IDEs" -msgstr "EID" +#: src/as-validator-issue-tag.h:345 +msgid "The component is missing a summary ( tag)." +msgstr "Al componente le falta un resumen (etiqueta )." -#: tools/ascli-utils.c:301 -msgid "Icon" -msgstr "Icono" +#: src/as-validator-issue-tag.h:350 +msgid "" +"The tag still contains a `type` property, probably from an old " +"conversion to the recent metainfo format." +msgstr "" +"La etiqueta contiene todavía una propiedad `type`, probablemente de " +"una antigua conversión al reciente formato metainfo." + +#: src/as-validator-issue-tag.h:355 +msgid "" +"The `pkgname` tag appears multiple times. You should evaluate creating a " +"metapackage containing the metainfo and .desktop files in order to avoid " +"defining multiple package names per component." +msgstr "" +"La etiqueta `pkgname` aparece varias veces. Debería evaluar la posibilidad " +"de crear un metapackage que contenga los archivos metainfo y .desktop para " +"evitar la definición de varios nombres de paquete por componente." + +#: src/as-validator-issue-tag.h:360 +msgid "The component name should (likely) not end with a dot (`.`)." +msgstr "" +"El nombre del componente (probablemente) no debe terminar con un punto (`.`)." + +#: src/as-validator-issue-tag.h:365 +msgid "The component summary should not end with a dot (`.`)." +msgstr "El resumen del componente no debe terminar con un punto (`.`)." + +#: src/as-validator-issue-tag.h:370 +msgid "The component summary must not contain tabs or linebreaks." +msgstr "" +"El resumen del componente no debe contener tabulaciones ni saltos de línea." + +#: src/as-validator-issue-tag.h:375 +msgid "The summary must not contain any URL. Use the tags for links." +msgstr "" +"El resumen no debe contener ninguna URL. Utilice las etiquetas para " +"los enlaces." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:381 +msgid "" +"Icons of type `stock` or `cached` must not contain an URL, a full or an " +"relative path to the icon. Only file basenames or stock names are allowed." +msgstr "" +"Los iconos de tipo «stock» o «cached» no deben tener un URL o una ruta " +"completa o relativa hacia el icono. Sólo se permiten los nombres de base o " +"de elemento predefinido." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:388 +msgid "Icons of type `remote` must contain an URL to the referenced icon." +msgstr "" +"Los iconos de tipo `remote` deben contener una URL que apunte al icono al " +"que se hace referencia." + +#: src/as-validator-issue-tag.h:393 +msgid "Unable to reach remote icon at the given web location - does it exist?" +msgstr "" +"No se puede acceder al icono remoto en la ubicación web dada - ¿existe?" + +#: src/as-validator-issue-tag.h:398 +msgid "Consider using a secure (HTTPS) URL for the remote icon link." +msgstr "" +"Considere utilizar un URL seguro (HTTPS) para el enlace del icono remoto." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:404 +msgid "" +"Metainfo files may only contain icons of type `stock` or `remote`, the set " +"type is not allowed." +msgstr "" +"Los archivos de meta-información pueden contener solo iconos «stock» o " +"«remote»; no se permite el tipo «set»." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:351 -msgid "Icons of type 'remote' must contain an URL to the referenced icon." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:410 +msgid "" +"Invalid `type` property for this `url` tag. URLs of this type are not known " +"in the AppStream specification." msgstr "" -"Los iconos de tipo «remote» deben contener un URL que apunte al icono al que " -"se hace referencia." +"Propiedad `type` inválida para esta etiqueta `url`. Las URL de este tipo no " +"se conocen en la especificación de AppStream." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:344 +#: src/as-validator-issue-tag.h:415 msgid "" -"Icons of type 'stock' or 'cached' must not contain an URL, a full or an " -"relative path to the icon. Only file basenames or stock names are allowed." +"Unable to reach remote location that this URL references - does it exist?" msgstr "" -"Los iconos de tipo «stock» o «cached» no deben tener un URL o una ruta " -"completa o relativa hacia el icono. Solo se permiten los nombres de base o " -"de elemento predefinido." +"No se puede acceder a la ubicación remota a la que hace referencia esta URL " +"- ¿existe?" -#: tools/ascli-actions-misc.c:94 -msgid "Iconsets" -msgstr "Conjuntos de iconos" +#: src/as-validator-issue-tag.h:420 +msgid "Consider using a secure (HTTPS) URL for this web link." +msgstr "Considere utilizar un URL seguro (HTTPS) para este enlace web." -#: tools/ascli-utils.c:295 -msgid "Identifier" -msgstr "Identificador" +#: src/as-validator-issue-tag.h:425 +msgid "A web URL was expected for this value." +msgstr "Se esperaba una URL web para este valor." -#: src/as-category.c:217 -msgctxt "Category of Addons" -msgid "Input Sources" -msgstr "Fuentes de entrada" +#: src/as-validator-issue-tag.h:430 +msgid "" +"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." +msgstr "" +"Este enlace web utiliza el protocolo FTP. Considere cambiar a HTTP(S) en su " +"lugar." -#: tools/appstream-cli.c:863 -msgid "Install a metadata file into the right location." -msgstr "Instalar un archivo de metadatos en el sitio correcto." +#: src/as-validator-issue-tag.h:435 +msgid "The can not contain a hyperlink." +msgstr "El no puede contener un hipervínculo." -#: tools/appstream-cli.c:859 -msgid "Install software matching the component-ID." +#: src/as-validator-issue-tag.h:440 +msgid "" +"The set value is not an identifier for a desktop environment as registered " +"with Freedesktop.org." msgstr "" -"Instalar software que coincida con el «component-ID» (identificador de " -"componente)." +"El valor establecido no es un identificador de un entorno de escritorio como " +"el registrado en Freedesktop.org." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:373 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:446 +msgid "This `launchable` tag has an unknown type and can not be used." +msgstr "" +"Esta etiqueta `launchable` tiene un tipo desconocido y no puede ser " +"utilizada." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:452 +msgid "This `bundle` tag has an unknown type and can not be used." +msgstr "" +"Esta etiqueta `bundle` tiene un tipo desconocido y no puede ser utilizada." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:458 msgid "" -"Invalid 'type' property for this 'url' tag. URLs of this type are not known " -"in the AppStream specification." +"The `update_contact` tag should not be included in collection AppStream XML." msgstr "" -"La propiedad «type» no es válida en la etiqueta «url». Los URL de este tipo " -"no se reconocen en la especificación AppStream." +"La etiqueta `update_contact` no debe incluirse en el XML de la colección " +"AppStream." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:553 +#: src/as-validator-issue-tag.h:463 msgid "" -"Invalid tag found in collection metadata. Only 'component' tags are " -"permitted." +"This tag is a GNOME-specific extension to AppStream and not part of the " +"official specification. Do not expect it to work in all implementations and " +"in all software centers." msgstr "" -"Se encontró una etiqueta no válida en los metadatos de la colección. Solo se " -"permiten etiquetas «component»." +"Esta etiqueta es una extensión específica de GNOME para AppStream y no forma " +"parte de la especificación oficial. No espere que funcione en todas las " +"implementaciones y en todos los centros de software." -#: tools/ascli-actions-mdata.c:213 -msgid "Invalid type for provided item selected. Valid values are:" +#: src/as-validator-issue-tag.h:469 +msgid "" +"Found invalid tag. Non-standard tags should be prefixed with `x-`. AppStream " +"also provides the tag to add arbitrary custom data to metainfo " +"files. This tag is read by AppStream libraries and may be useful instead of " +"defining new custom toplevel or `x-`-prefixed tags if you just want to add " +"custom data to a metainfo file." msgstr "" -"Se ha seleccionado un tipo no válido para el elemento proporcionado. Los " -"valores válidos son:" +"Se ha encontrado una etiqueta no válida. Las etiquetas no estándar deben ir " +"precedidas de `x-`. AppStream también proporciona la etiqueta para " +"añadir datos personalizados arbitrarios a los archivos metainfo. Esta " +"etiqueta es leída por las bibliotecas de AppStream y puede ser útil en lugar " +"de definir nuevas etiquetas personalizadas de nivel superior o prefijadas " +"con `x-` si sólo desea añadir datos personalizados a un archivo metainfo." -#: src/as-validator-issue-tag.h:271 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:477 msgid "" -"Invalid version comparison operation on relation item. Only eq/ne/lt/gt/le/" -"ge are permitted." +"The essential tag `metadata_license` is missing. A license for the metadata " +"itself always has to be defined." msgstr "" -"Hay una operación de comparación de versiones no válida en el elemento de " -"relación. Solo se permiten eq/ne/lt/gt/le/ge." +"Falta la etiqueta esencial `metadata_license`. Siempre hay que definir una " +"licencia para los metadatos en sí." -#: src/as-validator-issue-tag.h:450 +#: src/as-validator-issue-tag.h:482 msgid "" -"It is recommended to add a long description to this component to present it " -"better to users." +"The component is missing a long description. Components of this type must " +"have a long description." msgstr "" -"Se recomienda añadir una descripción detallada a este componente para " -"presentarlo mejor a los usuarios." +"Al componente le falta una descripción detallada. Los componentes de este " +"tipo deben tener una descripción detallada." -#: src/as-validator-issue-tag.h:445 +#: src/as-validator-issue-tag.h:487 msgid "" "It would be useful to add a long description to this font to present it " "better to users." @@ -764,1253 +1764,1372 @@ "Sería útil añadir una descripción detallada a este tipo de letra para " "presentarlo mejor a los usuarios." -#: src/as-category.c:144 -msgctxt "Category of Games" -msgid "Kids" -msgstr "Niños" +#: src/as-validator-issue-tag.h:492 +msgid "" +"It is recommended to add a long description to this component to present it " +"better to users." +msgstr "" +"Se recomienda añadir una descripción detallada a este componente para " +"presentarlo mejor a los usuarios." -#: src/as-category.c:220 -msgctxt "Category of Addons" -msgid "Language Packs" -msgstr "Paquetes de idiomas" +#: src/as-validator-issue-tag.h:497 +msgid "" +"This generic component is missing a long description. It may be useful to " +"add one." +msgstr "" +"A este componente genérico le falta una descripción detallada. Podría ser " +"útil añadir una." -#: src/as-category.c:107 -msgctxt "Category of Education" -msgid "Languages" -msgstr "Idiomas" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:503 +msgid "" +"Type `console-application` component, but no information about binaries in " +"$PATH was provided via a `provides/binary` tag." +msgstr "" +"Tipo de componente `console-application`, pero no se proporcionó información " +"sobre los binarios en $PATH a través de una etiqueta `provides/binary`." -#: src/as-provided.c:144 -msgid "Libraries" -msgstr "Bibliotecas" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:509 +msgid "" +"This `web-application` component is missing a `launchable` tag of type `url`." +msgstr "" +"A este componente `web-application` le falta una etiqueta `launchable` de " +"tipo `url`." -#. license -#: tools/ascli-utils.c:363 -msgid "License" -msgstr "Licencia" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:515 +msgid "" +"This `web-application` component is missing a `icon` tag to specify a valid " +"icon." +msgstr "" +"A este componente `web-application` le falta la etiqueta `icon` para " +"especificar un icono válido." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:629 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:521 msgid "" -"Licenses for 'runtime' components are usually too complex to reflect them in " -"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " -"value for this component's 'project_license'. E.g. `LicenseRef-free=https://" -"example.com/licenses.html`" +"This `web-application` component is missing categorizations. A `categories` " +"block is likely missing." msgstr "" +"A este componente `web-application` le faltan las categorizaciones. Es " +"probable que falte un bloque `categories`." -#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command -#: tools/appstream-cli.c:771 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:527 msgid "" -"Limit the number of release entries that end up in the metainfo file (0 for " -"unlimited)." +"Type `font` component, but no font information was provided via a `provides/" +"font` tag." msgstr "" +"Tipo de componente `font`, pero no se proporcionó información sobre la " +"fuente a través de una etiqueta `provides/font`." -#: src/as-category.c:223 -msgctxt "Category of Addons" -msgid "Localization" -msgstr "Regionalización" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:533 +msgid "" +"Type `driver` component, but no modalias information was provided via a " +"`provides/modalias` tag." +msgstr "" +"Tipo de componente `driver`, pero no se proporcionó información de modalias " +"a través de una etiqueta `provides/modalias`." -#: src/as-category.c:147 -msgctxt "Category of Games" -msgid "Logic" -msgstr "Lógica" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:539 +msgid "" +"An `extends` tag is specified, but the component is not of type `addon`, " +"`localization` or `repository`." +msgstr "" +"Se especificó una etiqueta `extends`, pero el componente no es del tipo " +"«addon», «localization» o «repository»." -#. TRANSLATORS: ascli flag description for: --no-cache -#: tools/appstream-cli.c:67 -msgid "Make request without any caching." -msgstr "Realizar solicitud sin almacenar en la antememoria." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:545 +msgid "The component is an addon, but no `extends` tag was specified." +msgstr "" +"El componente es un addon, pero no se ha especificado la etiqueta `extends`." -#. TRANSLATORS: ascli flag description for: --cachepath -#: tools/appstream-cli.c:57 -msgid "Manually selected location of AppStream cache." -msgstr "Ubicación seleccionada manualmente de la antememoria de AppStream." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:551 +msgid "" +"This `localization` component is missing an `extends` tag, to specify the " +"components it adds localization to." +msgstr "" +"A este componente `localization` le falta la etiqueta `extends`, para " +"especificar los componentes a los que añade la localización." -#. TRANSLATORS: ascli flag description for: --datapath -#: tools/appstream-cli.c:62 -msgid "Manually selected location of AppStream metadata to scan." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:557 +msgid "" +"This `localization` component does not define any languages this " +"localization is for." msgstr "" -"Ubicación seleccionada manualmente de los metadatos de AppStream para " -"analizar." +"Este componente de `localización` no define ningún idioma para el que sea la " +"localización." -#: src/as-pool.c:1280 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:563 msgid "" -"Many components have been recognized as invalid. See debug output for " -"details." +"This `service` component is missing a `launchable` tag of type `service`." msgstr "" -"Se han reconocido muchos componentes como no válidos. Vea la salida de " -"depuración para más detalles." +"A este componente `service` le falta una etiqueta `launchable` de tipo " +"`service`." -#: src/as-category.c:111 -msgctxt "Category of Education" -msgid "Math" -msgstr "Matemáticas" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:569 +msgid "" +"Suggestions of any type other than `upstream` are not allowed in metainfo " +"files." +msgstr "" +"Las sugerencias de cualquier tipo que no sea `upstream` no están permitidas " +"en los archivos metainfo." -#: src/as-category.c:243 -msgctxt "Category of Science" -msgid "Math" -msgstr "Matemáticas" +#: src/as-validator-issue-tag.h:574 +msgid "" +"The category name is not valid. Refer to the XDG Menu Specification for a " +"list of valid category names." +msgstr "" +"El nombre de la categoría no es válido. Consulte la especificación del menú " +"XDG para obtener una lista de nombres de categoría válidos." -#: src/as-provided.c:148 -msgid "Media types" -msgstr "Tipos de medios" +#: src/as-validator-issue-tag.h:579 +msgid "The screenshot caption is too long (should be <= 80 characters)" +msgstr "" +"El título de la captura de pantalla es demasiado largo (debería ser <= 80 " +"caracteres)" -#: tools/ascli-actions-mdata.c:364 -#, c-format -msgid "Metadata file '%s' does not exist." -msgstr "No existe el archivo de metadatos «%s»." +#: src/as-validator-issue-tag.h:584 +msgid "Unable to read file." +msgstr "No se puede leer el archivo." -#: src/as-pool.c:881 -msgid "Metadata files have errors:" -msgstr "Los archivos de metadatos tienen errores:" +#: src/as-validator-issue-tag.h:589 +msgid "The XML of this file is malformed." +msgstr "El XML de este archivo está mal formado." -#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 -#: tools/ascli-actions-misc.c:515 -#, c-format -msgid "Metainfo file '%s' does not exist." -msgstr "No existe el archivo de metainformación «%s»." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:595 +msgid "" +"Invalid tag found in collection metadata. Only `component` tags are " +"permitted." +msgstr "" +"Se ha encontrado una etiqueta no válida en los metadatos de la colección. " +"Sólo se permiten las etiquetas `component`." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:367 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:601 msgid "" -"Metainfo files may only contain icons of type 'stock' or 'remote', the set " -"type is not allowed." +"The metainfo file uses an ancient version of the AppStream specification, " +"which can not be validated. Please migrate it to version 0.6 (or higher)." msgstr "" -"Los archivos de metainformación pueden contener solo iconos «stock» o " -"«remote»; no se permite el tipo «set»." +"El archivo metainfo utiliza una versión antigua de la especificación " +"AppStream, que no puede ser validada. Por favor, migre a la versión 0.6 (o " +"superior)." -#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report -#: tools/ascli-actions-misc.c:116 -msgid "Metainfo files:" -msgstr "Archivos Metainfo:" +#: src/as-validator-issue-tag.h:606 +msgid "" +"This XML document has an unknown root tag. Maybe this file is not a metainfo " +"document?" +msgstr "" +"Este documento XML tiene una etiqueta raíz desconocida. Tal vez este archivo " +"no es un documento metainfo?" -#: src/as-provided.c:152 -msgid "Modaliases" -msgstr "Modalias" +#: src/as-validator-issue-tag.h:611 +msgid "The metainfo filename does not match the component ID." +msgstr "El nombre del archivo metainfo no coincide con el ID del componente." -#: src/as-category.c:74 -msgctxt "Category of AudioVideo" -msgid "Music Players" -msgstr "Reproductores de música" +#: src/as-validator-issue-tag.h:616 +msgid "Unable to read the .desktop file associated with this component." +msgstr "No se ha podido leer el archivo .desktop asociado a este componente." -#: tools/ascli-utils.c:296 -msgid "Name" -msgstr "Nombre" +#: src/as-validator-issue-tag.h:621 +msgid "This component metadata refers to a non-existing .desktop file." +msgstr "" +"Los metadatos de este componente hacen referencia a un archivo .desktop que " +"no existe." -#: src/as-category.c:266 -msgctxt "Category of Communication" -msgid "News" -msgstr "Noticias" +#: src/as-validator-issue-tag.h:626 +msgid "" +"The category defined in the .desktop file is not valid. Refer to the XDG " +"Menu Specification for a list of valid categories." +msgstr "" +"La categoría definida en el archivo .desktop no es válida. Consulte la " +"especificación de menús de XDG para obtener una lista de categorías válidas." -#: src/as-validator-issue-tag.h:589 +#: src/as-validator-issue-tag.h:631 msgid "No AppStream metadata was found in this directory or directory tree." msgstr "" "No se encontraron metadatos de AppStream en este directorio o árbol de " "directorios." #. pedantic because not everything which has metadata is an application -#: src/as-validator-issue-tag.h:594 +#: src/as-validator-issue-tag.h:636 msgid "No XDG applications directory found." -msgstr "" +msgstr "No se encontró el directorio de aplicaciones de XDG." -#: tools/ascli-actions-mdata.c:182 -#, c-format -msgid "No component matching '%s' found." -msgstr "No se encontró ningún componente que coincidiera con «%s»." - -#: tools/ascli-actions-misc.c:105 -msgid "No icons." -msgstr "Sin iconos." - -#: tools/ascli-actions-misc.c:402 -msgid "No output filename specified, modifying metainfo file directly." -msgstr "" - -#: tools/ascli-actions-misc.c:306 +#: src/as-validator-issue-tag.h:641 msgid "" -"No provided binary specified in metainfo file, and no exec command specified " -"via '--exec'. Can not create 'Exec=' key." +"The metainfo file is stored in a legacy path. Please place it in `/usr/share/" +"metainfo/`." msgstr "" +"El archivo metainfo se almacena en una ruta antigua. Por favor, colóquelo en " +"`/usr/share/metainfo/`." -#: tools/ascli-actions-misc.c:284 -msgid "No stock icon name was provided in the metainfo file. Can not continue." +#: src/as-validator-issue-tag.h:646 +msgid "The metainfo file specifies multiple components. This is not allowed." msgstr "" +"El archivo metainfo especifica múltiples componentes. Esto no está permitido." -#: tools/ascli-actions-pkgmgr.c:53 +#: src/as-validator-issue-tag.h:651 msgid "" -"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" -"\" (part of PackageKit) is available." +"The releases are not sorted in a latest to oldest version order. This is " +"required as some tools will assume that the latest version is always at the " +"top. Sorting releases also increases overall readability of the metainfo " +"file." msgstr "" -"No se ha encontrado ninguna interfaz de consola de gestor de paquetes " -"adecuada. Asegúrese de que, p. ej., «pkcon» (parte de PackageKit) esté " -"disponible." - -#: tools/ascli-actions-mdata.c:206 -msgid "No value for the item to search for was defined." -msgstr "No se definió el valor para el elemento a buscar." - -#. TRANSLATORS: this is the menu spec main category for Office -#: src/as-category.c:317 -msgid "Office" -msgstr "Oficina" - -#. TRANSLATORS: An unknown option was passed to appstreamcli. -#: tools/appstream-cli.c:192 -#, c-format -msgid "Option '%s' is unknown." -msgstr "Se desconoce la opción «%s»." +"Las versiones no están ordenadas de la más reciente a la más antigua. Esto " +"es necesario ya que algunas herramientas asumen que la última versión está " +"siempre en la parte superior. La ordenación de las versiones también aumenta " +"la legibilidad general del archivo metainfo." -#: tools/ascli-utils.c:298 -msgid "Package" -msgstr "Paquete" +#: src/as-validator-issue-tag.h:658 +msgid "The value set as release urgency is not a known urgency value." +msgstr "" +"El valor establecido como urgencia de liberación no es un valor de urgencia " +"conocido." -#: src/as-category.c:171 -msgctxt "Category of Graphics" -msgid "Photography" -msgstr "Fotografía" +#: src/as-validator-issue-tag.h:663 +msgid "The value set as release type is invalid." +msgstr "El valor establecido como tipo release no es válido." -#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) -#: tools/appstream-cli.c:121 -#, fuzzy -msgid "Print detailed explanation for found issues." -msgstr "Mostrar información detallada sobre los componentes encontrados." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:669 +msgid "" +"The value set as artifact type is invalid. Must be either `source` or " +"`binary`." +msgstr "" +"El valor establecido como tipo artifact no es válido. Debe ser `source` o " +"`binary`." -#. TRANSLATORS: ascli flag description for: --details -#: tools/appstream-cli.c:98 -msgid "Print detailed output about found components." -msgstr "Mostrar información detallada sobre los componentes encontrados." +#: src/as-validator-issue-tag.h:674 +msgid "The value set as artifact bundle type is invalid." +msgstr "El valor establecido como tipo «artifact bundle» es no es válido." -#. project group -#: tools/ascli-utils.c:360 -msgid "Project Group" -msgstr "Grupo de proyecto" +#: src/as-validator-issue-tag.h:679 +msgid "" +"The platform triplet for this release is invalid. It must be in the form of " +"`architecture-oskernel-osenv` - refer to the AppStream documentation or " +"information on normalized GNU triplets for more information and valid fields." +msgstr "" +"La tripleta de plataforma para esta versión no es válida. Debe tener la " +"forma `architecture-oskernel-osenv` - consulte la documentación de AppStream " +"o la información sobre tripletas GNU normalizadas para obtener más " +"información y campos válidos." -#: tools/ascli-utils.c:405 -msgid "Provided Items" -msgstr "Elementos proporcionados" +#: src/as-validator-issue-tag.h:686 +msgid "The selected checksumming algorithm is unsupported or unknown." +msgstr "" +"El algoritmo de suma de comprobación seleccionado no es compatible o es " +"desconocido." -#: src/as-provided.c:154 -msgid "Python (Version 2)" -msgstr "Python (versión 2)" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:692 +msgid "The size type is unknown. Must be `download` or `installed`." +msgstr "El tipo de tamaño es desconocido. Debe ser `download` o `installed`." -#: src/as-provided.c:156 -msgid "Python 3" -msgstr "Python 3" +#: src/as-validator-issue-tag.h:697 +msgid "" +"The artifact filename must be a file basename, not a (relative or absolute) " +"path." +msgstr "" +"El nombre de archivo del artefacto debe ser un nombre base de archivo, no " +"una ruta (relativa o absoluta)." -#: tools/appstream-cli.c:854 -msgid "Rebuild the component metadata cache." -msgstr "Reconstruir la antememoria de metadatos de componentes." +#: src/as-validator-issue-tag.h:702 +msgid "The value set as release issue type is invalid." +msgstr "El valor establecido como tipo de emisión de release no es válido." -#: tools/appstream-cli.c:860 -msgid "Remove software matching the component-ID." +#: src/as-validator-issue-tag.h:707 +msgid "" +"The issue is tagged at security vulnerability with a CVE number, but its " +"value does not look like a valid CVE identifier." msgstr "" -"Eliminar software que coincida con el «component-ID» (identificador de " -"componente)." +"El problema está etiquetado en la vulnerabilidad de seguridad con un número " +"CVE, pero su valor no parece un identificador CVE válido." -#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty -#: src/as-validator.c:364 -msgid "Retrieved file size was zero." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:713 +msgid "" +"This component is missing information about releases. Consider adding a " +"`releases` tag to describe releases and their changes." msgstr "" -#: src/as-category.c:248 -msgctxt "Category of Science" -msgid "Robotics" -msgstr "Robótica" +#: src/as-validator-issue-tag.h:718 +msgid "" +"The AppStream specification requires a complete, ISO 8601 date string with " +"at least day-granularity to denote dates. Please ensure the date string is " +"valid." +msgstr "" +"La especificación de AppStream requiere una cadena de fecha completa, ISO " +"8601, con al menos granularidad de día para denotar las fechas. Asegúrese de " +"que la cadena de fechas es válida." -#: src/as-category.c:150 -msgctxt "Category of Games" -msgid "Role Playing" -msgstr "Juegos de rol" +#: src/as-validator-issue-tag.h:724 +msgid "" +"This component extends, provides, requires or recommends itself, which is " +"certainly not intended and may confuse users or machines dealing with this " +"metadata." +msgstr "" +"Este componente extiende, proporciona, requiere o recomienda a sí mismo, lo " +"que ciertamente no está previsto y puede confundir a los usuarios o a las " +"máquinas que tratan con estos metadatos." -#: tools/appstream-cli.c:196 tools/appstream-cli.c:926 -#, c-format -msgid "Run '%s --help' to see a full list of available command line options." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:731 +msgid "" +"Licenses for `runtime` components are usually too complex to reflect them in " +"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " +"value for this component's `project_license`. E.g. `LicenseRef-free=https://" +"example.com/licenses.html`" msgstr "" -"Ejecute «%s --help» para ver una lista competa de las opciones de consola " -"disponibles." +"Las licencias de los componentes `runtime` suelen ser demasiado complejas " +"para reflejarlas en una simple expresión SPDX. Considere la posibilidad de " +"utilizar un `LicenseRef` y una URL web como valor para el `project_license` " +"de este componente. Por ejemplo, `LicenseRef-free=https://example.com/" +"licenses.html`" -#: tools/appstream-cli.c:198 -#, c-format +#: src/as-validator-issue-tag.h:737 msgid "" -"Run '%s --help' to see a list of available commands and options, and '%s %s " -"--help' to see a list of options specific for this subcommand." +"Since a `runtime` component is comprised of multiple other software " +"components, their component-IDs may be listed in a `` section for " +"this runtime." msgstr "" -"Ejecute «%s --help» para ver una lista competa de las opciones de consola " -"disponibles, o bien «%s %s --help» para ver una lista de opciones " -"específicas de esta suborden." +"Dado que un componente `runtime` está compuesto por otros múltiples " +"componentes de software, sus IDs de componentes pueden ser listados en una " +"sección `` para este runtime." -#: src/as-provided.c:162 -msgid "Runtime Firmware" -msgstr "Microprograma en tiempo de ejecución" +#: src/as-validator-issue-tag.h:742 +msgid "" +"The type of the item that the component provides is not known to AppStream." +msgstr "" +"El tipo de elemento que proporciona el componente no es conocido por " +"AppStream." -#: src/as-category.c:174 -msgctxt "Category of Graphics" -msgid "Scanning" -msgstr "Digitalización" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:748 +msgid "" +"The toplevel `mimetypes` tag is deprecated. Please use `mediatype` tags in a " +"`provides` block instead to indicate that your software provides a media " +"handler for the given types." +msgstr "" -#. TRANSLATORS: this is the menu spec main category for Science -#: src/as-category.c:323 -msgid "Science" -msgstr "Ciencias" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks) and keep the URL intact. +#: src/as-validator-issue-tag.h:755 +msgid "" +"This component has no `content_rating` tag to provide age rating " +"information. You can generate the tag data online by answering a few " +"questions at https://hughsie.github.io/oars/" +msgstr "" -#: tools/appstream-cli.c:847 -msgid "Search the component database." -msgstr "Buscar en la base de datos de componentes." +#: src/as-validator.c:150 +msgid "" +"The emitted issue tag is unknown in the tag registry of AppStream. This is a " +"bug in the validator itself, please report this issue in our bugtracker." +msgstr "" +"La etiqueta de emisión emitida es desconocida en el registro de etiquetas de " +"AppStream. Se trata de un error en el propio validador, por favor informe de " +"este problema en nuestro bugtracker." -#: src/as-category.c:293 -msgctxt "Category of Utility" -msgid "Security" -msgstr "Seguridad" +#: src/as-validator.c:344 +msgid "URL format is invalid." +msgstr "El formato de la URL no es válido." -#. TRANSLATORS: ascli flag description for: --verbose -#: tools/appstream-cli.c:903 -msgid "Show extra debugging information." +#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. +#: src/as-validator.c:522 src/as-validator.c:937 src/as-validator.c:1031 +#: src/as-validator.c:1428 src/as-validator.c:1448 src/as-validator.c:1481 +#, c-format +msgid "Found: %s - Allowed: %s" +msgstr "Encontrado: %s - Permitido: %s" + +#. TRANSLATORS: ascompose flag description for: --verbose +#: tools/appstream-compose.c:181 +#, fuzzy +msgid "Show extra debugging information" msgstr "Mostrar información adicional de depuración." +#. TRANSLATORS: ascompose flag description for: --no-color +#. TRANSLATORS: ascli flag description for: --no-color +#: tools/appstream-compose.c:184 tools/appstreamcli.c:1087 +msgid "Don't show colored output." +msgstr "No mostrar salida coloreada." + +#. TRANSLATORS: ascompose flag description for: --version #. TRANSLATORS: ascli flag description for: --version -#: tools/appstream-cli.c:897 +#: tools/appstream-compose.c:187 tools/appstreamcli.c:1076 msgid "Show the program version." msgstr "Mostrar la versión del programa." -#: src/as-validator-issue-tag.h:635 -msgid "" -"Since a 'runtime' component is comprised of multiple other software " -"components, their component-IDs may be listed in a `` section for " -"this runtime." +#. TRANSLATORS: ascompose flag description for: --full-report +#: tools/appstream-compose.c:190 +msgid "Set mode of the issue report that is printed to the console" msgstr "" -#: src/as-category.c:153 -msgctxt "Category of Games" -msgid "Sports" -msgstr "Deportes" +#. TRANSLATORS: ascompose flag description for: --prefix +#: tools/appstream-compose.c:193 +msgid "Override the default prefix (`/usr` by default)" +msgstr "" -#: src/as-category.c:157 -msgctxt "Category of Games" -msgid "Strategy" -msgstr "Estrategia" +#. TRANSLATORS: ascompose flag description for: --result-root +#: tools/appstream-compose.c:196 +msgid "Set the result output directory" +msgstr "" -#. these are commands we can use with appstreamcli -#: tools/appstream-cli.c:845 -msgid "Subcommands:" -msgstr "Subórdenes:" +#. TRANSLATORS: ascompose flag description for: --data-dir, `collection metadata` is an AppStream term +#: tools/appstream-compose.c:199 +msgid "Override the collection metadata output directory" +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:527 -msgid "" -"Suggestions of any type other than 'upstream' are not allowed in metainfo " -"files." +#. TRANSLATORS: ascompose flag description for: --icons-dir +#: tools/appstream-compose.c:202 +msgid "Override the icon output directory" msgstr "" -#: tools/ascli-utils.c:297 -msgid "Summary" -msgstr "Resumen" +#. TRANSLATORS: ascompose flag description for: --media-dir +#: tools/appstream-compose.c:205 +msgid "" +"Set the media output directory (for media data to be served by a webserver)" +msgstr "" -#. TRANSLATORS: Status summary in ascli -#: tools/ascli-actions-misc.c:145 -msgid "Summary:" -msgstr "Resumen:" +#. TRANSLATORS: ascompose flag description for: --hints-dir +#: tools/appstream-compose.c:208 +msgid "Set a directory where HTML and text issue reports will be stored" +msgstr "" -#: src/as-category.c:290 -msgctxt "Category of Utility" -msgid "System Monitoring" -msgstr "Monitorización de sistema" +#. TRANSLATORS: ascompose flag description for: --origin +#. TRANSLATORS: ascompose flag description for: --media-baseurl +#: tools/appstream-compose.c:211 tools/appstream-compose.c:214 +msgid "Set the origin name" +msgstr "" -#: src/as-validator-issue-tag.h:46 -msgid "Tags of this name are not permitted in this section." +#. TRANSLATORS: ascompose flag description for: --components +#: tools/appstream-compose.c:217 +msgid "A comma-separated list of component-IDs to accept" msgstr "" -#: src/as-category.c:284 -msgctxt "Category of Utility" -msgid "Terminal Emulators" -msgstr "Emuladores de terminal" +#. TRANSLATORS: error message +#: tools/appstream-compose.c:231 +msgid "Failed to parse arguments" +msgstr "" -#: src/as-category.c:281 -msgctxt "Category of Utility" -msgid "Text Editors" -msgstr "Editores de texto" +#. TRANSLATORS: Output if appstreamcli --version is executed. +#: tools/appstream-compose.c:242 tools/appstreamcli.c:1230 +#, c-format +msgid "AppStream version: %s" +msgstr "Versión de AppStream: %s" -#: src/as-validator-issue-tag.h:318 +#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. +#: tools/appstream-compose.c:245 tools/appstreamcli.c:1233 +#, c-format msgid "" -"The 'pkgname' tag appears multiple times. You should evaluate creating a " -"metapackage containing the metainfo and .desktop files in order to avoid " -"defining multiple package names per component." +"AppStream CLI tool version: %s\n" +"AppStream library version: %s" msgstr "" +"Versión de la herramienta de consola AppStream: %s\n" +"Versión de la biblioteca AppStream: %s" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:416 +#. TRANSLATORS: invalid value for the --print-report CLI option +#: tools/appstream-compose.c:264 +#, c-format msgid "" -"The 'update_contact' tag should not be included in collection AppStream XML." +"Invalid value for `--print-report` option: %s\n" +"Possible values are:\n" +"`on-error` - only prints a short report if the run failed (default)\n" +"`short` - generates an abridged report\n" +"`full` - a detailed report will be printed" msgstr "" -#: tools/ascli-actions-mdata.c:467 +#: tools/appstream-compose.c:285 #, c-format -msgid "The .desktop file '%s' does not exist." -msgstr "El archivo .desktop «%s» no existe." +msgid "Automatically selected '%s' as data output location." +msgstr "" -#: src/as-validator-issue-tag.h:393 -msgid "The can not contain a hyperlink." +#. TRANSLATORS: we don't have a destination directory for compose +#: tools/appstream-compose.c:288 +msgid "No destination directory set, please provide a data output location!" msgstr "" -#: src/as-validator-issue-tag.h:313 -msgid "" -"The tag still contains a 'type' property, probably from an old " -"conversion to the recent metainfo format." +#: tools/appstream-compose.c:298 tools/appstream-compose.c:300 +msgid "WARNING" msgstr "" -#: src/as-validator-issue-tag.h:616 -msgid "" -"The AppStream specification requires a complete, ISO 8601 date string with " -"at least day-granularity to denote dates. Please ensure the date string is " -"valid." +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:337 +#, c-format +msgid "Only accepting components: %s" msgstr "" -#: src/as-pool.c:1924 -#, fuzzy, c-format -msgid "" -"The AppStream system cache was updated, but problems were found which " -"resulted in metadata being ignored: %s" +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:340 +#, c-format +msgid "Only accepting component: %s" msgstr "" -"Se ha actualizado la antememoria de sistema de AppStream, pero se han " -"encontrado problemas: %s" -#: src/as-pool.c:1922 -#, fuzzy -msgid "" -"The AppStream system cache was updated, but some components were ignored. " -"Refer to the verbose log for more information." +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:345 +msgid "Processing directories:" msgstr "" -"Se ha actualizado la antememoria de sistema de AppStream, pero se detectaron " -"algunos errores que podrían conducir a faltas de metadatos. Consulte el " -"registro detallado para obtener más información." -#: src/as-validator-issue-tag.h:151 -msgid "The SPDX license expression is invalid and could not be parsed." +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:348 +msgid "Processing directory:" msgstr "" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows -#: tools/appstream-cli.c:683 -#, c-format -msgid "The TYPE must be a valid component-type, such as: %s" -msgstr "El TIPO debe ser un tipo de componente válido, como: %s" +#. TRANSLATORS: error message +#: tools/appstream-compose.c:357 +msgid "Can not process invalid directory" +msgstr "" -#: src/as-validator-issue-tag.h:547 -msgid "The XML of this file is malformed." +#. TRANSLATORS: information message +#: tools/appstream-compose.c:369 +msgid "Composing metadata..." msgstr "" -#: src/as-validator-issue-tag.h:584 -msgid "" -"The category defined in the .desktop file is not valid. Refer to the XDG " -"Menu Specification for a list of valid categories." +#. TRANSLATORS: error message +#: tools/appstream-compose.c:374 +#, fuzzy +msgid "Failed to compose AppStream metadata" +msgstr "Una utilidad para trabajar con los metadatos de AppStream" + +#. TRANSLATORS: appstream-compose failed to include all data +#: tools/appstream-compose.c:380 +msgid "Run failed, some data was ignored." msgstr "" -#: src/as-validator-issue-tag.h:532 -msgid "" -"The category name is not valid. Refer to the XDG Menu Specification for a " -"list of valid category names." +#. TRANSLATORS: information message of appstream-compose +#: tools/appstream-compose.c:382 +msgid "Errors were raised during this compose run:" msgstr "" -#: src/as-validator-issue-tag.h:124 +#: tools/appstream-compose.c:383 msgid "" -"The component ID contains a hyphen/minus. Using a hyphen is strongly " -"discouraged, to improve interoperability with other tools such as D-Bus. A " -"good option is to replace any hyphens with underscores ('_')." +"Refer to the generated issue report data for details on the individual " +"problems." +msgstr "" + +#: tools/appstream-compose.c:386 +msgid "Overview of generated hints:" +msgstr "" + +#. TRANSLATORS: information message +#: tools/appstream-compose.c:388 +msgid "Success!" +msgstr "" + +#. TRANSLATORS: ascli flag description for: --cachepath +#: tools/appstreamcli.c:59 +msgid "Manually selected location of AppStream cache." +msgstr "Ubicación seleccionada manualmente de la caché de AppStream." + +#. TRANSLATORS: ascli flag description for: --datapath +#: tools/appstreamcli.c:64 +msgid "Manually selected location of AppStream metadata to scan." +msgstr "" +"Ubicación seleccionada manualmente de los metadatos de AppStream para " +"analizar." + +#. TRANSLATORS: ascli flag description for: --no-cache +#: tools/appstreamcli.c:69 +msgid "Make request without any caching." +msgstr "Realiza la petición sin ningún tipo de caché." + +#. TRANSLATORS: ascli flag description for: --format +#: tools/appstreamcli.c:85 +msgid "Default metadata format (valid values are 'xml' and 'yaml')." +msgstr "" +"Formato de metadatos predeterminado (los valores válidos son «xml» y «yaml»)." + +#. TRANSLATORS: ascli flag description for: --details +#: tools/appstreamcli.c:100 +msgid "Print detailed output about found components." +msgstr "Mostrar información detallada sobre los componentes encontrados." + +#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) +#: tools/appstreamcli.c:118 +msgid "Also show pedantic hints." +msgstr "Mostrar también consejos redundantes." + +#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) +#: tools/appstreamcli.c:123 +msgid "Print detailed explanation for found issues." +msgstr "Imprima la explicación detallada de los problemas encontrados." + +#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) +#: tools/appstreamcli.c:128 +msgid "Do not use network access." +msgstr "No utilizar el acceso de red." + +#. TRANSLATORS: ascli flag description for: --format when validating XML files +#: tools/appstreamcli.c:133 +msgid "Format of the generated report (valid values are 'text' and 'yaml')." +msgstr "Formato del informe generado (los valores válidos son «xml» y «yaml»)." + +#. TRANSLATORS: This is the header to the --help menu for subcommands +#. TRANSLATORS: This is the header to the --help menu +#: tools/appstreamcli.c:153 tools/appstreamcli.c:981 +msgid "AppStream command-line interface" +msgstr "Interfaz de consola de AppStream" + +#: tools/appstreamcli.c:156 +#, c-format +msgid "'%s' command" +msgstr "Orden «%s»" + +#. TRANSLATORS: An unknown option was passed to appstreamcli. +#: tools/appstreamcli.c:191 +#, c-format +msgid "Option '%s' is unknown." +msgstr "Se desconoce la opción «%s»." + +#: tools/appstreamcli.c:195 tools/appstreamcli.c:1207 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options." msgstr "" +"Ejecute «%s --help» para ver una lista competa de las opciones de consola " +"disponibles." -#: src/as-validator-issue-tag.h:130 +#: tools/appstreamcli.c:197 +#, c-format msgid "" -"The component ID contains a segment starting with a number. Starting a " -"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " -"interoperability with other tools such as D-Bus. Ideally, prefix these " -"segments with an underscore." +"Run '%s --help' to see a list of available commands and options, and '%s %s " +"--help' to see a list of options specific for this subcommand." msgstr "" +"Ejecute «%s --help» para ver una lista competa de las opciones de consola " +"disponibles, o bien «%s %s --help» para ver una lista de opciones " +"específicas de esta suborden." -#: src/as-validator-issue-tag.h:119 -msgid "" -"The component ID contains an invalid character. Only ASCII characters, dots " -"and numbers are permitted." -msgstr "" +#. TRANSLATORS: ascli flag description for: --force +#: tools/appstreamcli.c:245 +msgid "Enforce a cache refresh." +msgstr "Forzar la actualización de la caché." -#: src/as-validator-issue-tag.h:106 -msgid "" -"The component ID is not a reverse domain-name. Please update the ID to avoid " -"future issues and be compatible with all AppStream implementations.\n" -"You may also consider to update the name of the accompanying .desktop file " -"to follow the latest version of the Desktop-Entry specification and use a " -"rDNS name for it as well. In any case, do not forget to mention the new " -"desktop-entry in a tag for this component to keep the " -"application launchable from software centers and the .desktop file data " -"associated with the metainfo data." +#. TRANSLATORS: ascli flag description for: --user +#: tools/appstreamcli.c:251 +msgid "Update the user-specific instead of the system-wide cache." msgstr "" -#: src/as-validator-issue-tag.h:101 -msgid "" -"The component ID is required to follow a reverse domain-name scheme for its " -"name. See the AppStream specification for details." +#. TRANSLATORS: ascli flag description for: --origin (part of the "put" subcommand) +#: tools/appstreamcli.c:477 +msgid "Set the data origin for the installed metadata collection file." msgstr "" -#: src/as-validator-issue-tag.h:114 -msgid "" -"The component ID might not follow the reverse domain-name schema (the TLD " -"used by it is not known to the validator)." +#. TRANSLATORS: ascli flag description for: --user (part of the "put" subcommand) +#: tools/appstreamcli.c:482 +msgid "Install the file for the current user, instead of globally." msgstr "" +"Instala el archivo para el usuario actual, en lugar de hacerlo globalmente." -#: src/as-validator-issue-tag.h:293 +#: tools/appstreamcli.c:631 msgid "" -"The component has a 'merge' method defined. This is not allowed in metainfo " -"files." +"You need to provide at least two version numbers to compare as parameters." msgstr "" +"Necesita proveer al menos dos números de versión para comparar sus " +"parámetros." -#: src/as-validator-issue-tag.h:288 -msgid "" -"The component has a priority value set. This is not allowed in metainfo " -"files." -msgstr "" +#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. +#: tools/appstreamcli.c:660 +#, c-format +msgid "Unknown compare relation '%s'. Valid values are:" +msgstr "Se desconoce la relación de comparación «%s». Los valores válidos son:" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:503 -msgid "The component is an addon, but no 'extends' tag was specified." +#: tools/appstreamcli.c:700 +msgid "" +"Too many parameters: Need two version numbers or version numbers and a " +"comparison operator." msgstr "" +"Demasiados parámetros: necesita dos números de versión, o números de versión " +"y un operador de comparación." -#: src/as-validator-issue-tag.h:440 +#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) +#: tools/appstreamcli.c:726 msgid "" -"The component is missing a long description. Components of this type must " -"have a long description." +"Use the given .desktop file to fill in the basic values of the metainfo file." msgstr "" -"Al componente le falta una descripción detallada. Los componentes de este " -"tipo deben tener una descripción detallada." +"Utilice el archivo .desktop dado para rellenar valores básicos en el archivo " +"de metainformación." -#: src/as-validator-issue-tag.h:303 -msgid "The component is missing a name ( tag)." +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand +#: tools/appstreamcli.c:731 +msgid "" +"This command takes optional TYPE and FILE positional arguments, FILE being a " +"file to write to (or \"-\" for standard output)." msgstr "" +"Esta orden toma los argumentos posicionales y opcionales TIPO y ARCHIVO; " +"este último es un archivo donde escribir (o «-» para emitir salida estándar)." -#: src/as-validator-issue-tag.h:308 -msgid "The component is missing a summary ( tag)." -msgstr "" +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows +#: tools/appstreamcli.c:734 +#, c-format +msgid "The TYPE must be a valid component-type, such as: %s" +msgstr "El TIPO debe ser un tipo de componente válido, como: %s" -#: src/as-validator-issue-tag.h:298 -msgid "The component is missing an ID ( tag)." +#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) +#: tools/appstreamcli.c:775 +msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." msgstr "" +"Utilice la línea especificada para la clave 'Exec=' del archivo de entrada " +"del escritorio." -#: src/as-validator-issue-tag.h:136 -msgid "" -"The component is part of the Freedesktop project, but its ID does not start " -"with fd.o's reverse-DNS name (\"org.freedesktop\")." +#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command +#: tools/appstreamcli.c:815 +msgid "Assume the input file is in the selected format ('yaml' or 'text')." msgstr "" +"Asumir que el archivo de entrada está en el formato seleccionado («yaml» o " +"«text»)." -#: src/as-validator-issue-tag.h:146 +#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command +#: tools/appstreamcli.c:820 msgid "" -"The component is part of the GNOME project, but its ID does not start with " -"GNOMEs reverse-DNS name (\"org.gnome\")." +"Limit the number of release entries that end up in the metainfo file (0 for " +"unlimited)." msgstr "" +"Limitar el número de entradas de versión que acaban en el archivo metainfo " +"(0 para no limitar)." -#: src/as-validator-issue-tag.h:141 -msgid "" -"The component is part of the KDE project, but its ID does not start with " -"KDEs reverse-DNS name (\"org.kde\")." -msgstr "" +#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command +#: tools/appstreamcli.c:862 +msgid "Generate the output in the selected format ('yaml' or 'text')." +msgstr "Generar la salida en el formato seleccionado («yaml» o «text»)." -#: src/as-validator-issue-tag.h:323 -msgid "The component name should (likely) not end with a dot ('.')." +#: tools/appstreamcli.c:894 +#, c-format +msgid "Compose binary '%s' was not found! Can not continue." msgstr "" -#: src/as-validator-issue-tag.h:333 -msgid "The component summary must not contain tabs or linebreaks." -msgstr "" +#. TRANSLATORS: this is a (usually shorter) command alias, shown after the command summary text +#: tools/appstreamcli.c:956 +#, c-format +msgid "(Alias: '%s')" +msgstr "(Alias: '%s')" -#: src/as-validator-issue-tag.h:328 -msgid "The component summary should not end with a dot ('.')." -msgstr "" +#. these are commands we can use with appstreamcli +#: tools/appstreamcli.c:983 +msgid "Subcommands:" +msgstr "Subórdenes:" -#: src/as-validator-issue-tag.h:243 +#: tools/appstreamcli.c:1029 msgid "" -"The default screenshot of a software component must not be a video. Use a " -"static image as default screenshot and set the video as a secondary " -"screenshot." +"You can find information about subcommand-specific options by passing \"--" +"help\" to the subcommand." msgstr "" +"Obtendrá información sobre opciones específicas de las subórdenes si añade " +"«--help» a la suborden." -#: src/as-validator-issue-tag.h:86 +#. TRANSLATORS: ascli has been run with unknown command. '%s --help' is the command to receive help and should not be translated. +#: tools/appstreamcli.c:1052 +#, c-format msgid "" -"The description contains a web URL in plain text. This is not allowed, " -"please use the tag instead to share links." +"Command '%s' is unknown. Run '%s --help' for a list of available commands." msgstr "" +"El comando '%s' es desconocido. Ejecute '%s --help' para obtener una lista " +"de comandos disponibles." -#: src/as-validator.c:152 -msgid "" -"The emitted issue tag is unknown in the tag registry of AppStream. This is a " -"bug in the validator itself, please report this issue in our bugtracker." -msgstr "" +#. TRANSLATORS: ascli flag description for: --verbose +#: tools/appstreamcli.c:1082 +msgid "Show extra debugging information." +msgstr "Mostrar información adicional de depuración." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:435 -msgid "" -"The essential tag 'metadata_license' is missing. A license for the metadata " -"itself always has to be defined." -msgstr "" +#. TRANSLATORS: ascli flag description for: --profile +#: tools/appstreamcli.c:1090 +msgid "Enable profiling" +msgstr "Habilitar profiling" -#: src/as-validator-issue-tag.h:79 -msgid "" -"The first 'description/p' paragraph of this component might be too short (< " -"80 characters). Please consider starting with a longer paragraph to improve " -"how the description looks like in software centers and to provide more " -"detailed information on this component immediately in the first paragraph." -msgstr "" -"Puede que el primer párrafo «description/p» de este componente sea demasiado " -"corto (< 80 caracteres). Considere empezar con un párrafo más extenso para " -"mejorar el aspecto de la descripción en los centros de «software» y para " -"brindar información más detallada sobre este componente inmediatamente en el " -"primer párrafo." +#. TRANSLATORS: `appstreamcli search` command description. +#: tools/appstreamcli.c:1102 +msgid "Search the component database." +msgstr "Buscar en la base de datos de componentes." -#: src/as-validator-issue-tag.h:156 -msgid "" -"The license ID was not found in the SPDX database. Please check that the " -"license ID is written in an SPDX-conformant way and is a valid free software " -"license." -msgstr "" +#. TRANSLATORS: `appstreamcli get` command description. +#: tools/appstreamcli.c:1107 +msgid "Get information about a component by its ID." +msgstr "Obtener información sobre un componente mediante su identificador." -#: src/as-validator-issue-tag.h:96 +#. TRANSLATORS: `appstreamcli what-provides` command description. +#: tools/appstreamcli.c:1112 msgid "" -"The mentioned tag is empty, which is highly likely not intended as it should " -"have content." +"Get components which provide the given item. Needs an item type (e.g. lib, " +"bin, python3, …) and item value as parameter." msgstr "" +"Obtiene los componentes que proporcionan el elemento dado. Necesita un tipo " +"de elemento (por ejemplo: lib, bin, python3, ...) y el valor del elemento " +"como parámetro." -#: src/as-validator-issue-tag.h:168 -msgid "" -"The metadata itself does not seem to be licensed under a permissive license. " -"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " -"0BSD to allow distributors to include it in mixed data collections without " -"the risk of license violations due to mutually incompatible licenses." +#. TRANSLATORS: `appstreamcli dump` command description. +#: tools/appstreamcli.c:1118 +msgid "Dump raw XML metadata for a component matching the ID." msgstr "" +"Volcar los metadatos XML en bruto para un componente que coincida con el " +"identificador." -#: src/as-validator-issue-tag.h:162 -msgid "" -"The metadata itself seems to be licensed under a complex collection of " -"licenses. Please license the data under a simple permissive license, like " -"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " -"collections without the risk of license violations due to mutually " -"incompatible licenses." -msgstr "" +#. TRANSLATORS: `appstreamcli refresh-cache` command description. +#: tools/appstreamcli.c:1123 +msgid "Rebuild the component metadata cache." +msgstr "Reconstruir la caché de metadatos del componente." -#: src/as-validator-issue-tag.h:599 -msgid "" -"The metainfo file is stored in a legacy path. Please place it in '/usr/share/" -"metainfo'." -msgstr "" +#. TRANSLATORS: `appstreamcli validate` command description. +#: tools/appstreamcli.c:1129 +msgid "Validate AppStream XML files for issues." +msgstr "Validar archivos XML de AppStream en busca de errores." -#: src/as-validator-issue-tag.h:604 -msgid "The metainfo file specifies multiple components. This is not allowed." +#. TRANSLATORS: `appstreamcli validate-tree` command description. +#: tools/appstreamcli.c:1134 +msgid "Validate an installed file-tree of an application for valid metadata." msgstr "" +"Validar un árbol de archivos instalado de una aplicación para obtener meta-" +"datos válidos." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:559 -msgid "" -"The metainfo file uses an ancient version of the AppStream specification, " -"which can not be validated. Please migrate it to version 0.6 (or higher)." +#. TRANSLATORS: `appstreamcli install` command description. +#: tools/appstreamcli.c:1140 +msgid "Install software matching the component-ID." msgstr "" +"Instalar software que coincida con el «component-ID» (identificador de " +"componente)." -#: src/as-validator-issue-tag.h:569 -#, fuzzy -msgid "The metainfo filename does not match the component ID." +#. TRANSLATORS: `appstreamcli remove` command description. +#: tools/appstreamcli.c:1145 +msgid "Remove software matching the component-ID." msgstr "" "Eliminar software que coincida con el «component-ID» (identificador de " "componente)." -#: src/as-validator-issue-tag.h:609 -msgid "" -"The releases are not sorted in a latest to oldest version order. This is " -"required as some tools will assume that the latest version is always at the " -"top. Sorting releases also increases overall readability of the metainfo " -"file." +#. TRANSLATORS: `appstreamcli status` command description. +#: tools/appstreamcli.c:1151 +msgid "Display status information about available AppStream metadata." msgstr "" +"Mostrar información de estado sobre los metadatos disponibles de AppStream." -#: src/as-validator-issue-tag.h:537 -msgid "The screenshot caption is too long (should be <= 80 characters)" +#. TRANSLATORS: `appstreamcli os-info` command description. +#: tools/appstreamcli.c:1156 +msgid "" +"Show information about the current operating system from the metadata index." msgstr "" +"Mostrar información sobre el sistema operativo actual desde el índice de " +"metadatos." -#: src/as-validator-issue-tag.h:206 -msgid "The screenshot does not have a caption text. Consider adding one." -msgstr "" +#. TRANSLATORS: `appstreamcli put` command description. +#: tools/appstreamcli.c:1161 +msgid "Install a metadata file into the right location." +msgstr "Instalar un archivo de metadatos en el sitio correcto." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:218 -msgid "" -"The screenshot video does not specify which container format was used in a " -"'container' property." -msgstr "" +#. TRANSLATORS: `appstreamcli convert` command description. "Collection XML" is a term describing a specific type of AppStream XML data. +#: tools/appstreamcli.c:1166 +msgid "Convert collection XML to YAML or vice versa." +msgstr "Convertir XML de colección en YAML o viceversa." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:212 +#. TRANSLATORS: `appstreamcli vercmp` command description. +#: tools/appstreamcli.c:1171 +msgid "Compare two version numbers." +msgstr "Comparar dos números de versión." + +#. TRANSLATORS: `appstreamcli new-template` command description. +#: tools/appstreamcli.c:1177 msgid "" -"The screenshot video does not specify which video codec was used in a " -"'codec' property." +"Create a template for a metainfo file (to be filled out by the upstream " +"project)." msgstr "" +"Crear una plantilla para un archivo de metainformación (que cumplimentará el " +"proyecto original)." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:224 -msgid "" -"The selected video codec is not supported by AppStream and software centers " -"may not be able to play the video. Only the AV1 and VP9 codecs are currently " -"supported, using 'av1' and 'vp9' as values for the 'codec' property." +#. TRANSLATORS: `appstreamcli make-desktop-file` command description. +#: tools/appstreamcli.c:1182 +msgid "Create a desktop-entry file from a metainfo file." msgstr "" +"Crear un archivo de entrada de escritorio a partir de un archivo metainfo." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:231 -msgid "" -"The selected video container format is not supported by AppStream and " -"software centers may not be able to play the video. Only the WebM and " -"Matroska video containers are currently supported, using 'webm' and 'mkv' as " -"values for the 'container' property." +#. TRANSLATORS: `appstreamcli news-to-metainfo` command description. +#: tools/appstreamcli.c:1187 +msgid "Convert a YAML or text NEWS file into metainfo releases." +msgstr "Convierte un archivo YAML o de texto NEWS en versiones de metainfo." + +#. TRANSLATORS: `appstreamcli metainfo-to-news` command description. +#: tools/appstreamcli.c:1192 +msgid "Write NEWS text or YAML file with information from a metainfo file." msgstr "" +"Escribe un archivo de texto o YAML con la información de un archivo metainfo." -#: src/as-validator-issue-tag.h:283 +#. TRANSLATORS: `appstreamcli compose` command description. +#: tools/appstreamcli.c:1198 #, fuzzy -msgid "" -"The set component type is not a recognized, valid AppStream component type." +msgid "Compose AppStream collection metadata from directory trees." msgstr "" -"El tipo de componente de programa «%s» no es válido en AppStream. Los " -"valores posibles son:" +"No se encontraron metadatos de AppStream en este directorio o árbol de " +"directorios." -#: src/as-validator-issue-tag.h:398 -msgid "" -"The set value is not an identifier for a desktop environment as registered " -"with Freedesktop.org." +#. TRANSLATORS: ascli has been run without command. +#: tools/appstreamcli.c:1206 +msgid "You need to specify a command." +msgstr "Debe especificar una orden." + +#. TRANSLATORS: In ascli: The requested action needs higher permissions. +#: tools/ascli-actions-mdata.c:70 +msgid "You might need superuser permissions to perform this action." msgstr "" +"Es posible que necesite privilegios administrativos para realizar esta " +"acción." + +#. we performed a cache refresh +#. TRANSLATORS: Updating the metadata cache succeeded +#: tools/ascli-actions-mdata.c:80 +msgid "AppStream cache update completed successfully." +msgstr "La actualización de la caché de AppStream se ha completado con éxito." + +#. cache wasn't updated, so the update wasn't necessary +#: tools/ascli-actions-mdata.c:86 +msgid "AppStream cache update is not necessary." +msgstr "La actualización de la caché de AppStream no es necesaria." + +#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments +#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. +#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:253 +#: tools/ascli-actions-pkgmgr.c:80 +msgid "You need to specify a component-ID." +msgstr "Debe especificar un identificador de componente." + +#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:265 +#: tools/ascli-actions-pkgmgr.c:93 +#, c-format +msgid "Unable to find component with ID '%s'!" +msgstr "¡No se ha podido encontrar el componente cuyo identificador es «%s»!" + +#: tools/ascli-actions-mdata.c:164 +msgid "You need to specify a term to search for." +msgstr "Debe especificar un término de búsqueda." -#: tools/ascli-actions-mdata.c:449 +#. TRANSLATORS: We failed to find any component in the database, likely due to an error +#: tools/ascli-actions-mdata.c:177 #, c-format -msgid "" -"The software component type '%s' is not valid in AppStream. Possible values " -"are:" -msgstr "" -"El tipo de componente de programa «%s» no es válido en AppStream. Los " -"valores posibles son:" +msgid "Unable to find component matching %s!" +msgstr "¡No se ha podido encontrar un componente que coincida con %s!" -#: src/as-validator-issue-tag.h:338 -msgid "The summary must not contain any URL. Use the tags for links." -msgstr "" +#: tools/ascli-actions-mdata.c:182 +#, c-format +msgid "No component matching '%s' found." +msgstr "No se encontró ningún componente que coincidiera con «%s»." -#: src/as-validator-issue-tag.h:640 -msgid "" -"The type of the item that the component provides is not known to AppStream." -msgstr "" +#: tools/ascli-actions-mdata.c:206 +msgid "No value for the item to search for was defined." +msgstr "No se definió el valor para el elemento a buscar." -#: src/as-validator-issue-tag.h:174 -msgid "" -"The update-contact does not appear to be a valid email address (escaping of " -"'@' is only allowed as '_at_' or '_AT_')." +#: tools/ascli-actions-mdata.c:212 +msgid "Invalid type for provided item selected. Valid values are:" msgstr "" +"Se ha seleccionado un tipo no válido para el elemento proporcionado. Los " +"valores válidos son:" -#: tools/ascli-actions-validate.c:363 tools/ascli-actions-validate.c:492 +#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results +#: tools/ascli-actions-mdata.c:227 #, c-format -msgid "" -"The validator can not create reports in the '%s' format. You may select " -"'yaml' or 'text' instead." -msgstr "" +msgid "Could not find component providing '%s::%s'." +msgstr "No se pudo encontrar un componente que proporcione «%s::%s»." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:410 -msgid "This 'bundle' tag has an unknown type and can not be used." -msgstr "" -"Esta etiqueta «bundle» tiene un tipo desconocido y, por ende, no puede " -"utilizarse." +#: tools/ascli-actions-mdata.c:306 +msgid "You need to specify a metadata file." +msgstr "Debe especificar un archivo de metadatos." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:404 -msgid "This 'launchable' tag has an unknown type and can not be used." -msgstr "" +#: tools/ascli-actions-mdata.c:320 +#, c-format +msgid "Unable to install metadata file: %s" +msgstr "No se ha podido instalar el archivo de metadatos: %s" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:515 -msgid "" -"This 'localization' component does not define any languages this " -"localization is for." -msgstr "" +#: tools/ascli-actions-mdata.c:340 +msgid "You need to specify an input and output file." +msgstr "Debe especificar un archivo de entrada y uno de salida." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:509 -msgid "" -"This 'localization' component is missing an 'extends' tag, to specify the " -"components it adds localization to." -msgstr "" +#: tools/ascli-actions-mdata.c:347 +#, c-format +msgid "Metadata file '%s' does not exist." +msgstr "No existe el archivo de metadatos «%s»." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:521 +#. TRANSLATORS: User is trying to convert a file in ascli +#: tools/ascli-actions-mdata.c:387 msgid "" -"This 'service' component is missing a 'launchable' tag of type 'service'." +"Unable to convert file: Could not determine output format, please set it " +"explicitly using '--format='." msgstr "" +"No se ha podido convertir el archivo: no se pudo determinar el formato de " +"salida; establézcalo explícitamente mediante «--format=»." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:473 -msgid "" -"This 'web-application' component is missing a 'icon' tag to specify a valid " -"icon." -msgstr "" +#: tools/ascli-actions-mdata.c:438 +#, c-format +msgid "Unable to find operating system component '%s'!" +msgstr "¡No se ha podido encontrar el componente del sistema operativo '%s'!" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:467 -msgid "" -"This 'web-application' component is missing a 'launchable' tag of type 'url'." -msgstr "" +#: tools/ascli-actions-mdata.c:443 +msgid "Version" +msgstr "Versión" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:479 +#: tools/ascli-actions-mdata.c:467 msgid "" -"This 'web-application' component is missing categorizations. A 'categories' " -"block is likely missing." +"You need to give an AppStream software component type to generate a " +"template. Possible values are:" msgstr "" +"Debe proporcionar un tipo de componente de «software» a AppStream para " +"generar una plantilla. Los valores posibles son:" -#: src/as-validator-issue-tag.h:564 +#: tools/ascli-actions-mdata.c:469 +#, c-format msgid "" -"This XML document has an unknown root tag. Maybe this file is not a metainfo " -"document?" +"The software component type '%s' is not valid in AppStream. Possible values " +"are:" msgstr "" +"El tipo de componente de programa «%s» no es válido en AppStream. Los " +"valores posibles son:" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand -#: tools/appstream-cli.c:680 -msgid "" -"This command takes optional TYPE and FILE positional arguments, FILE being a " -"file to write to (or \"-\" for standard output)." -msgstr "" -"Esta orden toma los argumentos posicionales y opcionales TIPO y ARCHIVO; " -"este último es un archivo donde escribir (o «-» para emitir salida estándar)." +#: tools/ascli-actions-mdata.c:487 +#, c-format +msgid "The .desktop file '%s' does not exist." +msgstr "El archivo .desktop «%s» no existe." -#: src/as-validator-issue-tag.h:622 -msgid "" -"This component extends, provides, requires or recommends itself, which is " -"certainly not intended and may confuse users or machines dealing with this " -"metadata." -msgstr "" +#: tools/ascli-actions-mdata.c:493 +#, c-format +msgid "Unable to read the .desktop file: %s" +msgstr "No se ha podido leer el archivo .desktop: %s" -#: src/as-validator-issue-tag.h:579 -msgid "This component metadata refers to a non-existing .desktop file." +#: tools/ascli-actions-mdata.c:564 +#, c-format +msgid "Unable to build the template metainfo file: %s" msgstr "" -"Los metadatos de este componente hacen referencia a un archivo .desktop que " -"no existe." +"No se ha podido crear el archivo de metainformación de la plantilla: %s" -#: src/as-validator-issue-tag.h:69 -msgid "" -"This description paragraph contains invalid markup. Currently, only " -"and are permitted." +#: tools/ascli-actions-mdata.c:572 +#, c-format +msgid "Unable to save the template metainfo file: %s" msgstr "" +"No se ha podido guardar el archivo de metainformación de la plantilla: %s" -#: src/as-validator-issue-tag.h:57 -msgid "" -"This element (paragraph, list, etc.) of a tag must not be " -"localized individually in collection metadata. Localize the whole " -" tag instead. The AppStream collection metadata generator (e." -"g. `appstream-generator`) will already do the right thing when compiling the " -"data." -msgstr "" +#. TRANSLATORS: In the status report of ascli: Header +#: tools/ascli-actions-misc.c:47 +msgid "AppStream Status:" +msgstr "Estado de AppStream:" -#: src/as-validator-issue-tag.h:455 -msgid "" -"This generic component is missing a long description. It may be useful to " -"add one." -msgstr "" -"A este componente genérico le falta una descripción detallada. Podría ser " -"útil añadir una." +#: tools/ascli-actions-misc.c:48 +#, c-format +msgid "Version: %s" +msgstr "Versión: %s" -#: src/as-validator-issue-tag.h:421 -msgid "" -"This tag is a GNOME-specific extension to AppStream and not part of the " -"official specification. Do not expect it to work in all implementations and " -"in all software centers." -msgstr "" +#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions +#: tools/ascli-actions-misc.c:52 +msgid "Distribution metadata:" +msgstr "Metadatos de la distribución:" -#: src/as-validator-issue-tag.h:41 -msgid "This tag requires a type property." -msgstr "" +#: tools/ascli-actions-misc.c:94 +msgid "Iconsets" +msgstr "Conjuntos de iconos" -#: data/org.freedesktop.appstream.cli.metainfo.xml:15 -msgid "" -"This tool allows for reading, writing, validating and transformation of " -"AppStream XML or YAML metadata. It also gives access to the system metadata " -"pool, for example to query for software that provides a specific MIME-type, " -"and installing it by its software component identifier." -msgstr "" -"Esta herramienta permite leer, escribir, validar y transformar metadatos de " -"AppStream en XML o YAML. Además permite acceder a los metadatos del sistema " -"para, por ejemplo, buscar programas que proporcionen un tipo MIME concreto e " -"instalarlo por su identificador de componente de software." +#: tools/ascli-actions-misc.c:105 +msgid "No icons." +msgstr "Sin iconos." -#: src/as-validator-issue-tag.h:388 -msgid "" -"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." -msgstr "" +#. TRANSLATORS: No metainfo files have been found +#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 +msgid "Empty." +msgstr "Vacío." -#: tools/appstream-cli.c:648 -msgid "" -"Too many parameters: Need two version numbers or version numbers and a " -"comparison operator." -msgstr "" -"Demasiados parámetros: necesita dos números de versión, o números de versión " -"y un operador de comparación." +#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report +#: tools/ascli-actions-misc.c:116 +msgid "Metainfo files:" +msgstr "Archivos Metainfo:" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:461 -msgid "" -"Type 'console-application' component, but no information about binaries in " -"$PATH was provided via a 'provides/binary' tag." -msgstr "" +#: tools/ascli-actions-misc.c:123 +#, c-format +msgid "Found %i components." +msgstr "Se han encontrado %i componentes." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:491 -msgid "" -"Type 'driver' component, but no modalias information was provided via a " -"provides/modalias tag." -msgstr "" +#. TRANSLATORS: Found metainfo files in legacy directories +#: tools/ascli-actions-misc.c:138 +#, c-format +msgid "Found %i components in legacy paths." +msgstr "Se han encontrado %i componentes en rutas de acceso heredadas." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:485 -msgid "" -"Type 'font' component, but no font information was provided via a 'provides/" -"font' tag." -msgstr "" +#. TRANSLATORS: Status summary in ascli +#: tools/ascli-actions-misc.c:145 +msgid "Summary:" +msgstr "Resumen:" -#: src/as-validator.c:333 -msgid "URL format is invalid." -msgstr "" +#: tools/ascli-actions-misc.c:153 +#, c-format +msgid "We have information on %i software components." +msgstr "Se ha encontrado información sobre %i componentes de «software»." -#: tools/ascli-actions-mdata.c:544 +#: tools/ascli-actions-misc.c:159 #, c-format -msgid "Unable to build the template metainfo file: %s" -msgstr "" -"No se ha podido crear el archivo de metainformación de la plantilla: %s" +msgid "Error while loading the metadata pool: %s" +msgstr "Se produjo un error al cargar el grupo de metadatos: %s" -#. TRANSLATORS: User is trying to convert a file in ascli -#: tools/ascli-actions-mdata.c:400 +#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 +msgid "You need to specify a metainfo file as input." +msgstr "Es necesario especificar un archivo metainfo como entrada." + +#: tools/ascli-actions-misc.c:188 msgid "" -"Unable to convert file: Could not determine output format, please set it " -"explicitly using '--format='." +"You need to specify a desktop-entry file to create or augment as output." msgstr "" -"No se ha podido convertir el archivo: no se pudo determinar el formato de " -"salida; establézcalo explícitamente mediante «--format=»." +"Es necesario especificar un archivo de entrada de escritorio para crear o " +"aumentar como salida." -#. TRANSLATORS: We failed to find any component in the database, likely due to an error -#: tools/ascli-actions-mdata.c:177 +#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 +#: tools/ascli-actions-misc.c:515 #, c-format -msgid "Unable to find component matching %s!" -msgstr "No se ha podido encontrar un componente que coincida con %s." +msgid "Metainfo file '%s' does not exist." +msgstr "No existe el archivo de metainformación «%s»." -#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:266 -#: tools/ascli-actions-pkgmgr.c:93 +#: tools/ascli-actions-misc.c:219 #, c-format -msgid "Unable to find component with ID '%s'!" -msgstr "No se ha podido encontrar el componente cuyo identificador es «%s»." +msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." +msgstr "Se aumentó el archivo de entrada de escritorio «%s» con datos de «%s»." #: tools/ascli-actions-misc.c:224 -#, fuzzy, c-format +#, c-format msgid "Unable to load existing desktop-entry file template: %s" -msgstr "No se ha podido leer el archivo .desktop: %s" +msgstr "" +"No se ha podido cargar la plantilla de archivo de entrada de escritorio que " +"ya existe: %s" -#: src/as-validator-issue-tag.h:356 -msgid "Unable to reach remote icon at the given web location - does it exist?" +#: tools/ascli-actions-misc.c:228 +#, c-format +msgid "Creating new desktop-entry file '%s' using data from '%s'" +msgstr "Creando el archivo de entrada de escritorio «%s» con datos de «%s»" + +#: tools/ascli-actions-misc.c:284 +msgid "No stock icon name was provided in the metainfo file. Can not continue." msgstr "" +"No se proporcionó ningún nombre de icono en el archivo metainfo. No puede " +"continuar." -#: src/as-validator-issue-tag.h:378 +#: tools/ascli-actions-misc.c:306 msgid "" -"Unable to reach remote location that this URL references - does it exist?" +"No provided binary specified in metainfo file, and no exec command specified " +"via '--exec'. Can not create 'Exec=' key." msgstr "" +"No se brindó ningún binario en el archivo de metadatos y tampoco se " +"especificó ninguna orden de ejecución mediante «--exec». No puede crearse la " +"clave «Exec=»." + +#: tools/ascli-actions-misc.c:370 +#, c-format +msgid "Unable to save desktop entry file: %s" +msgstr "No se ha podido guardar el archivo de entrada del escritorio: %s" + +#: tools/ascli-actions-misc.c:393 +msgid "You need to specify a NEWS file as input." +msgstr "Debe especificar un archivo NEWS como entrada." -#: src/as-validator-issue-tag.h:179 +#: tools/ascli-actions-misc.c:397 msgid "" -"Unable to reach the screenshot image on its remote location - does the image " -"exist?" +"You need to specify a metainfo file to augment, or '-' to print to stdout." msgstr "" +"Es necesario especificar un archivo metainfo para aumentar, o '-' para " +"imprimir a stdout." -#: src/as-validator-issue-tag.h:184 -msgid "" -"Unable to reach the screenshot video on its remote location - does the video " -"file exist?" +#: tools/ascli-actions-misc.c:402 +msgid "No output filename specified, modifying metainfo file directly." msgstr "" +"No se especificó ningún nombre de archivo de salida; se modifica " +"directamente el archivo metafile." -#: src/as-validator-issue-tag.h:542 -#, fuzzy -msgid "Unable to read file." -msgstr "No se pudo eliminar la caché antigua." - -#: src/as-validator-issue-tag.h:574 -#, fuzzy -msgid "Unable to read the .desktop file associated with this component." -msgstr "No se ha podido leer el archivo .desktop: %s" - -#: tools/ascli-actions-mdata.c:473 -#, c-format -msgid "Unable to read the .desktop file: %s" -msgstr "No se ha podido leer el archivo .desktop: %s" - -#: src/as-pool.c:606 -msgid "Unable to remove old cache." -msgstr "No se ha podido eliminar la antememoria antigua." +#: tools/ascli-actions-misc.c:509 +msgid "You need to specify a NEWS file as output, or '-' to print to stdout." +msgstr "" +"Es necesario especificar un archivo NEWS como salida, o '-' para imprimir en " +"stdout." -#: tools/ascli-actions-misc.c:370 -#, fuzzy, c-format -msgid "Unable to save desktop entry file: %s" -msgstr "No se ha podido leer el archivo .desktop: %s" +#: tools/ascli-actions-misc.c:540 +msgid "You need to specify a NEWS format to write the output in." +msgstr "Es necesario especificar un formato de NEWS para escribir la salida." -#: tools/ascli-actions-mdata.c:552 -#, c-format -msgid "Unable to save the template metainfo file: %s" +#: tools/ascli-actions-pkgmgr.c:53 +msgid "" +"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" +"\" (part of PackageKit) is available." msgstr "" -"No se ha podido guardar el archivo de metainformación de la plantilla: %s" +"No se ha encontrado ninguna interfaz de consola de gestor de paquetes " +"adecuada. Asegúrese de que, p. ej., «pkcon» (parte de PackageKit) esté " +"disponible." #: tools/ascli-actions-pkgmgr.c:67 #, c-format msgid "Unable to spawn package manager: %s" msgstr "No se ha podido iniciar el gestor de paquetes: %s" -#: tools/ascli-actions-mdata.c:322 +#. TRANSLATORS: We found no distribution package or bundle to install to make this software available +#: tools/ascli-actions-pkgmgr.c:106 #, c-format -msgid "Unable to write to '%s', can not install metainfo file." -msgstr "" -"No se puede escribir en «%s»; no se puede instalar el archivo de " -"metainformación." +msgid "Component '%s' has no installation candidate." +msgstr "El componente «%s» no posee ningún candidato de instalación." -#. TRANSLATORS: ascli has been run with unknown command. -#: tools/appstream-cli.c:1009 +#: tools/ascli-actions-validate.c:176 tools/ascli-actions-validate.c:354 #, c-format -msgid "Unknown command '%s'." -msgstr "Se desconoce la orden «%s»." +msgid "File '%s' does not exist." +msgstr "El archivo «%s» no existe." -#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. -#: tools/appstream-cli.c:608 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "error"-type hints +#: tools/ascli-actions-validate.c:228 #, c-format -msgid "Unknown compare relation '%s'. Valid values are:" -msgstr "Se desconoce la relación de comparación «%s». Los valores válidos son:" - -#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) -#: tools/appstream-cli.c:675 -msgid "" -"Use the given .desktop file to fill in the basic values of the metainfo file." -msgstr "" -"Utilice el archivo .desktop dado para rellenar valores básicos en el archivo " -"de metainformación." - -#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) -#: tools/appstream-cli.c:725 -msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." -msgstr "" - -#. TRANSLATORS: this is the menu spec main category for Utilities -#: src/as-category.c:329 -msgid "Utilities" -msgstr "Utilidades" +msgid "errors: %lu" +msgstr "errores: %lu" -#: tools/appstream-cli.c:856 -msgid "Validate AppStream XML files for issues." -msgstr "Validar archivos XML de AppStream en busca de errores." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "warning"-type hints +#: tools/ascli-actions-validate.c:235 +#, c-format +msgid "warnings: %lu" +msgstr "alertas: %lu" -#: tools/appstream-cli.c:857 -msgid "Validate an installed file-tree of an application for valid metadata." -msgstr "" -"Validar un árbol de archivos instalado de una aplicación para obtener meta-" -"datos válidos." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "info"-type hints +#: tools/ascli-actions-validate.c:242 +#, c-format +msgid "infos: %lu" +msgstr "información: %lu" -#: tools/ascli-actions-validate.c:301 tools/ascli-actions-validate.c:442 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "pedantic"-type hints +#: tools/ascli-actions-validate.c:249 #, c-format -msgid "Validation failed: %s" -msgstr "Falló la validación: %s" +msgid "pedantic: %lu" +msgstr "redundante: %lu" + +#: tools/ascli-actions-validate.c:268 tools/ascli-actions-validate.c:342 +msgid "You need to specify at least one file to validate!" +msgstr "Debe especificar por lo menos un archivo para validar." -#: tools/ascli-actions-validate.c:289 tools/ascli-actions-validate.c:430 +#: tools/ascli-actions-validate.c:294 tools/ascli-actions-validate.c:435 msgid "Validation was successful." msgstr "Se realizó la validación correctamente." -#: tools/ascli-actions-validate.c:291 tools/ascli-actions-validate.c:432 +#: tools/ascli-actions-validate.c:296 tools/ascli-actions-validate.c:437 #, c-format msgid "Validation was successful: %s" msgstr "Se realizó la validación correctamente: %s" -#: tools/appstream-cli.c:851 -msgid "Value of the item that should be found." -msgstr "El valor del elemento que se debe encontrar." - -#: src/as-category.c:177 -msgctxt "Category of Graphics" -msgid "Vector Graphics" -msgstr "Gráficos vectorizados" - -#: tools/ascli-actions-misc.c:48 +#: tools/ascli-actions-validate.c:306 tools/ascli-actions-validate.c:447 #, c-format -msgid "Version: %s" -msgstr "Versión: %s" - -#: src/as-category.c:180 -msgctxt "Category of Graphics" -msgid "Viewers" -msgstr "Visores" +msgid "Validation failed: %s" +msgstr "Falló la validación: %s" -#: tools/ascli-actions-misc.c:153 +#: tools/ascli-actions-validate.c:368 tools/ascli-actions-validate.c:497 #, c-format -msgid "We have information on %i software components." -msgstr "Se ha encontrado información sobre %i componentes de «software»." - -#: src/as-category.c:270 -msgctxt "Category of Communication" -msgid "Web Browsers" -msgstr "Navegadores web" - -#: src/as-category.c:202 -msgctxt "Category of Office" -msgid "Word Processor" -msgstr "Procesador de textos" - -#: tools/appstream-cli.c:871 -msgid "Write NEWS text or YAML file with information from a metainfo file." -msgstr "" - -#: tools/appstream-cli.c:874 msgid "" -"You can find information about subcommand-specific options by passing \"--" -"help\" to the subcommand." +"The validator can not create reports in the '%s' format. You may select " +"'yaml' or 'text' instead." msgstr "" -"Obtendrá información sobre opciones específicas de las subórdenes si añade " -"«--help» a la suborden." +"El validador no puede crear informes en el formato '%s'. Puede seleccionar " +"'yaml' o 'text' en su lugar." -#. TRANSLATORS: In ascli: The requested action needs higher permissions. -#: tools/ascli-actions-mdata.c:70 -msgid "You might need superuser permissions to perform this action." -msgstr "" -"Es posible que necesite privilegios administrativos para realizar esta " -"acción." +#: tools/ascli-actions-validate.c:390 tools/ascli-actions-validate.c:484 +msgid "You need to specify a root directory to start validation!" +msgstr "Debe especificar una carpeta raíz para comenzar con la validación." -#: tools/ascli-actions-mdata.c:447 -msgid "" -"You need to give an AppStream software component type to generate a " -"template. Possible values are:" -msgstr "" -"Debe proporcionar un tipo de componente de «software» a AppStream para " -"generar una plantilla. Los valores posibles son:" +#: tools/ascli-utils.c:266 +msgid "Identifier" +msgstr "Identificador" -#: tools/appstream-cli.c:579 -msgid "" -"You need to provide at least two version numbers to compare as parameters." -msgstr "" -"Necesita proveer al menos dos números de versión para comparar sus " -"parámetros." +#: tools/ascli-utils.c:268 +msgid "Internal ID" +msgstr "ID interno" -#: tools/ascli-actions-misc.c:393 -#, fuzzy -msgid "You need to specify a NEWS file as input." -msgstr "Debe especificar un archivo de metadatos." +#: tools/ascli-utils.c:269 +msgid "Name" +msgstr "Nombre" -#: tools/ascli-actions-misc.c:509 -#, fuzzy -msgid "You need to specify a NEWS file as output, or '-' to print to stdout." -msgstr "Debe especificar un archivo de metadatos." +#: tools/ascli-utils.c:270 +msgid "Summary" +msgstr "Resumen" -#: tools/ascli-actions-misc.c:540 -#, fuzzy -msgid "You need to specify a NEWS format to write the output in." -msgstr "Debe especificar un archivo de entrada y uno de salida." +#: tools/ascli-utils.c:271 +msgid "Package" +msgstr "Paquete" -#. TRANSLATORS: ascli has been run without command. -#: tools/appstream-cli.c:925 -msgid "You need to specify a command." -msgstr "Debe especificar una orden." +#: tools/ascli-utils.c:272 +msgid "Bundle" +msgstr "Agrupación" -#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments -#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. -#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:254 -#: tools/ascli-actions-pkgmgr.c:80 -msgid "You need to specify a component-ID." -msgstr "Debe especificar un identificador de componente." +#: tools/ascli-utils.c:273 +msgid "Homepage" +msgstr "Sitio web" -#: tools/ascli-actions-misc.c:188 -#, fuzzy -msgid "" -"You need to specify a desktop-entry file to create or augment as output." -msgstr "Debe especificar el archivo que se validará." +#: tools/ascli-utils.c:274 +msgid "Icon" +msgstr "Icono" -#: tools/ascli-actions-mdata.c:309 -msgid "You need to specify a metadata file." -msgstr "Debe especificar un archivo de metadatos." +#. developer name +#: tools/ascli-utils.c:294 +msgid "Developer" +msgstr "Programador" -#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 -#, fuzzy -msgid "You need to specify a metainfo file as input." -msgstr "Debe especificar un archivo de metadatos." +#: tools/ascli-utils.c:300 +msgid "Extends" +msgstr "Amplía" -#: tools/ascli-actions-misc.c:397 -#, fuzzy -msgid "" -"You need to specify a metainfo file to augment, or '-' to print to stdout." -msgstr "Debe especificar un archivo de metadatos." +#: tools/ascli-utils.c:306 +msgid "Description" +msgstr "Descripción" -#: tools/ascli-actions-validate.c:385 tools/ascli-actions-validate.c:479 -msgid "You need to specify a root directory to start validation!" -msgstr "Debe especificar una carpeta raíz para comenzar con la validación." +#: tools/ascli-utils.c:326 +msgid "Default Screenshot URL" +msgstr "URL predeterminado de captura de pantalla" -#: tools/ascli-actions-mdata.c:164 -msgid "You need to specify a term to search for." -msgstr "Debe especificar un término de búsqueda." +#. project group +#: tools/ascli-utils.c:333 +msgid "Project Group" +msgstr "Grupo de proyecto" -#: tools/ascli-actions-mdata.c:357 -msgid "You need to specify an input and output file." -msgstr "Debe especificar un archivo de entrada y uno de salida." +#. license +#: tools/ascli-utils.c:336 +msgid "License" +msgstr "Licencia" -#: tools/ascli-actions-validate.c:263 tools/ascli-actions-validate.c:337 -#, fuzzy -msgid "You need to specify at least one file to validate!" -msgstr "Debe especificar el archivo que se validará." +#: tools/ascli-utils.c:342 +msgid "Categories" +msgstr "Categorías" -#. TRANSLATORS: List of "grey-listed" words sperated with ";" -#. * Do not translate this list directly. Instead, -#. * provide a list of words in your language that people are likely -#. * to include in a search but that should normally be ignored in -#. * the search. -#. -#: src/as-pool.c:107 -msgid "app;application;package;program;programme;suite;tool" -msgstr "app;aplicación;paquete;programa;suite;conjunto;herramienta" +#: tools/ascli-utils.c:350 +msgid "Compulsory for" +msgstr "Obligatorio para" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:223 -#, c-format -msgid "errors: %lu" -msgstr "errores: %lu" +#: tools/ascli-utils.c:378 +msgid "Provided Items" +msgstr "Elementos proporcionados" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:237 -#, c-format -msgid "infos: %lu" -msgstr "información: %lu" +#, fuzzy, c-format +#~ msgid "Unable to open new cache file: %s" +#~ msgstr "No se ha podido leer el archivo .desktop: %s" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:244 -#, c-format -msgid "pedantic: %lu" -msgstr "redundante: %lu" +#~ msgid "" +#~ "AppStream is a cross-distribution specification to provide metadata about " +#~ "software components." +#~ msgstr "" +#~ "AppStream es una especificación diseñada para funcionar en cualquier " +#~ "distribución cuyo fin es proporcionar metadatos sobre componentes de " +#~ "«software»." -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:230 #, c-format -msgid "warnings: %lu" -msgstr "alertas: %lu" - -#~ msgid "Command '%s' is unknown." -#~ msgstr "Se desconoce la orden «%s»." - -#~ msgid "Do not use any caches when performing the request." -#~ msgstr "No emplear ninguna antememoria al realizar la solicitud." - -#, fuzzy -#~ msgid "Category of Games" -#~ msgstr "Categorías" - -#, fuzzy -#~ msgid "Category of Office" -#~ msgstr "Categorías" +#~ msgid "Unable to write to '%s', can not install metainfo file." +#~ msgstr "" +#~ "No se puede escribir en «%s»; no se puede instalar el archivo de " +#~ "metainformación." -#, fuzzy -#~ msgid "Category of Science" -#~ msgstr "Categorías" +#, c-format +#~ msgid "" +#~ "Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " +#~ "suffix." +#~ msgstr "" +#~ "No se puede copiar «%s»: el archivo no tiene el sufijo «.metainfo.xml» o " +#~ "«.appdata.xml»." -#~ msgid "Extensions" -#~ msgstr "Extensiones" +#~ msgid "An item type (e.g. lib, bin, python3, …)" +#~ msgstr "Un tipo de elemento (p. ej., lib, bin, python3…)" -#~ msgid "File %s not found or permission denied!" -#~ msgstr "No se encontró el archivo «%s» o se denegó el acceso." +#~ msgid "Get components which provide the given item." +#~ msgstr "Obtener componentes que proporcionen el elemento dado." -#, fuzzy -#~ msgid "No component providing '%s::%s' found." -#~ msgstr "No se encontró ningún componente que proporcione «%s;%s»." +#, c-format +#~ msgid "Unknown command '%s'." +#~ msgstr "Se desconoce la orden «%s»." -#~ msgid "XDG Menu XML file '%s' is damaged." -#~ msgstr "El archivo XML de menú XDG «%s» está dañado." +#~ msgid "Value of the item that should be found." +#~ msgstr "El valor del elemento que se debe encontrar." diff -Nru appstream-0.12.10/po/eu.po appstream-0.14.5/po/eu.po --- appstream-0.12.10/po/eu.po 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/po/eu.po 2021-08-28 20:15:28.000000000 +0000 @@ -4,1829 +4,2702 @@ # # Translators: # Mikel Olasagasti Uranga , 2015 +# Kamil Bobrowski , 2020. msgid "" msgstr "" "Project-Id-Version: AppStream\n" "Report-Msgid-Bugs-To: appstream@lists.freedesktop.org\n" -"POT-Creation-Date: 2020-01-14 01:44+0100\n" -"PO-Revision-Date: 2016-08-15 18:48+0000\n" -"Last-Translator: Matthias Klumpp \n" -"Language-Team: Basque (http://www.transifex.com/freedesktop/appstream/" -"language/eu/)\n" +"POT-Creation-Date: 2021-08-28 16:09+0200\n" +"PO-Revision-Date: 2020-11-08 09:41+0000\n" +"Last-Translator: Kamil Bobrowski \n" +"Language-Team: Basque \n" "Language: eu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.3.2\n" -#: tools/appstream-cli.c:157 -#, c-format -msgid "'%s' command" -msgstr "" - -#: src/as-category.c:168 -#, fuzzy -msgctxt "Category of Graphics" -msgid "3D Graphics" -msgstr "Kategoriak" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:254 -msgid "" -"A 'requires' or 'recommends' item requires a value to denote a valid " -"relation." +#: data/org.freedesktop.appstream.cli.metainfo.xml:8 +msgid "AppStream CLI" msgstr "" -#: src/as-validator-issue-tag.h:51 -msgid "" -"A tag must not be localized in metainfo files (upstream " -"metadata). Localize the individual paragraphs instead." +#: data/org.freedesktop.appstream.cli.metainfo.xml:9 +msgid "An utility to work with AppStream metadata" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:195 +#: data/org.freedesktop.appstream.cli.metainfo.xml:12 msgid "" -"A screenshot must contain at least one image or video in order to be useful. " -"Please add an to it." +"AppStream is a metadata specification which permits software components to " +"provide information about themselves to automated systems and end-users " +"before the software is actually installed. The AppStream project provides " +"facilities to easily access and transform this metadata, as well as a few " +"additional services for building feature-rich software centers and similar " +"applications that make use of software metadata." msgstr "" -#: src/as-validator-issue-tag.h:200 +#: data/org.freedesktop.appstream.cli.metainfo.xml:18 msgid "" -"A screenshot must contain either images or videos, but not both at the same " -"time. Please use this screenshot exclusively for either static images or for " -"videos." +"The appstreamcli command-line tool allows to read, write, and " +"transform AppStream XML or YAML metadata as well as to validate it for " +"compliance with the specification. It also provides easy access to the " +"system metadata pool, for example to query for software that provides a " +"specific Mediatype handler or for installing software by its component " +"identifier." msgstr "" -#: src/as-category.c:123 -msgctxt "Category of Games" -msgid "Action" +#: src/as-category.c:66 +msgctxt "Category of AudioVideo" +msgid "Featured" msgstr "" -#. TRANSLATORS: this is the main category for Add-ons -#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor -#: src/as-category.c:320 tools/ascli-utils.c:398 -msgid "Add-ons" +#: src/as-category.c:69 +msgctxt "Category of AudioVideo" +msgid "Audio Creation & Editing" msgstr "" -#: src/as-category.c:126 -msgctxt "Category of Games" -msgid "Adventure" +#: src/as-category.c:75 +msgctxt "Category of AudioVideo" +msgid "Music Players" msgstr "" -#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) -#: tools/appstream-cli.c:116 -msgid "Also show pedantic hints." +#: src/as-category.c:84 +msgctxt "Category of Development" +msgid "Featured" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:497 -msgid "" -"An 'extends' tag is specified, but the component is not of type 'addon', " -"'localization' or 'repository'." +#: src/as-category.c:87 +msgctxt "Category of Development" +msgid "Debuggers" msgstr "" -#: tools/appstream-cli.c:850 -msgid "An item type (e.g. lib, bin, python3, …)" +#: src/as-category.c:90 +msgctxt "Category of Development" +msgid "IDEs" msgstr "" -#: data/org.freedesktop.appstream.cli.metainfo.xml:9 -msgid "An utility to work with AppStream metadata" +#: src/as-category.c:99 +msgctxt "Category of Education" +msgid "Featured" msgstr "" -#: data/org.freedesktop.appstream.cli.metainfo.xml:8 -msgid "AppStream CLI" +#: src/as-category.c:102 +msgctxt "Category of Education" +msgid "Astronomy" msgstr "" -#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. -#: tools/appstream-cli.c:947 -#, c-format -msgid "" -"AppStream CLI tool version: %s\n" -"AppStream library version: %s" +#: src/as-category.c:105 +msgctxt "Category of Education" +msgid "Chemistry" msgstr "" -#. TRANSLATORS: In the status report of ascli: Header -#: tools/ascli-actions-misc.c:47 -msgid "AppStream Status:" +#: src/as-category.c:108 +msgctxt "Category of Education" +msgid "Languages" msgstr "" -#. we performed a cache refresh -#. TRANSLATORS: Updating the metadata cache succeeded -#: tools/ascli-actions-mdata.c:80 -msgid "AppStream cache update completed successfully." +#: src/as-category.c:112 +msgctxt "Category of Education" +msgid "Math" msgstr "" -#. cache wasn't updated, so the update wasn't necessary -#: tools/ascli-actions-mdata.c:86 -msgid "AppStream cache update is not necessary." +#: src/as-category.c:121 +msgctxt "Category of Games" +msgid "Featured" msgstr "" -#. TRANSLATORS: This is the header to the --help menu for subcommands -#. TRANSLATORS: This is the header to the --help menu -#: tools/appstream-cli.c:154 tools/appstream-cli.c:843 -msgid "AppStream command-line interface" +#: src/as-category.c:124 +msgctxt "Category of Games" +msgid "Action" msgstr "" -#: src/as-validator-issue-tag.h:63 -msgid "" -"AppStream descriptions support only a limited set of tags to format text: " -"Paragraphs (

                                                                                                                        ) and lists (

                                                                                                                          ,
                                                                                                                            ). This description markup contains " -"an invalid XML tag that would not be rendered correctly in applications " -"supporting the metainfo specification." +#: src/as-category.c:127 +msgctxt "Category of Games" +msgid "Adventure" msgstr "" -#: data/org.freedesktop.appstream.cli.metainfo.xml:12 -msgid "" -"AppStream is a cross-distribution specification to provide metadata about " -"software components." +#: src/as-category.c:130 +msgctxt "Category of Games" +msgid "Arcade" msgstr "" -#: src/as-pool.c:1937 -#, c-format -msgid "" -"AppStream system cache refresh failed. Turn on verbose mode to get detailed " -"issue information." +#: src/as-category.c:133 +msgctxt "Category of Games" +msgid "Blocks" msgstr "" -#. TRANSLATORS: Output if appstreamcli --version is executed. -#: tools/appstream-cli.c:944 -#, c-format -msgid "AppStream version: %s" +#: src/as-category.c:136 +msgctxt "Category of Games" +msgid "Board" msgstr "" -#: src/as-category.c:129 +#: src/as-category.c:139 msgctxt "Category of Games" -msgid "Arcade" +msgid "Card" msgstr "" -#: src/as-category.c:234 -msgctxt "Category of Science" -msgid "Artificial Intelligence" +#: src/as-category.c:142 +msgctxt "Category of Games" +msgid "Emulators" msgstr "" -#: src/as-validator-issue-tag.h:91 -msgid "" -"As per AppStream specification, the mentioned tag must only appear once in " -"this context. Having multiple tags of this kind is not valid." +#: src/as-category.c:145 +msgctxt "Category of Games" +msgid "Kids" msgstr "" -#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command -#: tools/appstream-cli.c:766 -msgid "Assume the input file is in the selected format ('yaml' or 'text')." +#: src/as-category.c:148 +msgctxt "Category of Games" +msgid "Logic" msgstr "" -#: src/as-category.c:101 -msgctxt "Category of Education" -msgid "Astronomy" +#: src/as-category.c:151 +msgctxt "Category of Games" +msgid "Role Playing" msgstr "" -#: src/as-category.c:237 -msgctxt "Category of Science" -msgid "Astronomy" +#: src/as-category.c:154 +msgctxt "Category of Games" +msgid "Sports" msgstr "" -#. TRANSLATORS: this is the menu spec main category for Audio & Video -#: src/as-category.c:302 -msgid "Audio & Video" +#: src/as-category.c:158 +msgctxt "Category of Games" +msgid "Strategy" msgstr "" -#: src/as-category.c:68 -msgctxt "Category of AudioVideo" -msgid "Audio Creation & Editing" +#: src/as-category.c:166 +msgctxt "Category of Graphics" +msgid "Featured" msgstr "" -#: tools/ascli-actions-misc.c:219 -#, c-format -msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." -msgstr "" +#: src/as-category.c:169 +#, fuzzy +msgctxt "Category of Graphics" +msgid "3D Graphics" +msgstr "Kategoriak" -#: src/as-provided.c:146 -msgid "Binaries" +#: src/as-category.c:172 +msgctxt "Category of Graphics" +msgid "Photography" msgstr "" -#: src/as-category.c:132 -msgctxt "Category of Games" -msgid "Blocks" +#: src/as-category.c:175 +msgctxt "Category of Graphics" +msgid "Scanning" msgstr "" -#: src/as-category.c:135 -msgctxt "Category of Games" -msgid "Board" -msgstr "" +#: src/as-category.c:178 +#, fuzzy +msgctxt "Category of Graphics" +msgid "Vector Graphics" +msgstr "Kategoriak" -#: tools/ascli-utils.c:299 -msgid "Bundle" +#: src/as-category.c:181 +msgctxt "Category of Graphics" +msgid "Viewers" msgstr "" -#: src/as-pool.c:1828 -#, c-format -msgid "Cache location '%s' is not writable." +#: src/as-category.c:189 +msgctxt "Category of Office" +msgid "Featured" msgstr "" -#: src/as-category.c:191 +#: src/as-category.c:192 msgctxt "Category of Office" msgid "Calendar" msgstr "" -#: tools/ascli-actions-mdata.c:327 -#, c-format -msgid "" -"Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " -"suffix." -msgstr "" - -#: src/as-category.c:138 -msgctxt "Category of Games" -msgid "Card" +#: src/as-category.c:196 +msgctxt "Category of Office" +msgid "Database" msgstr "" -#: tools/ascli-utils.c:369 -msgid "Categories" -msgstr "Kategoriak" - -#: src/as-category.c:259 -msgctxt "Category of Communication" -msgid "Chat" +#: src/as-category.c:199 +msgctxt "Category of Office" +msgid "Finance" msgstr "" -#: src/as-category.c:104 -msgctxt "Category of Education" -msgid "Chemistry" +#: src/as-category.c:203 +msgctxt "Category of Office" +msgid "Word Processor" msgstr "" -#: src/as-category.c:240 -msgctxt "Category of Science" -msgid "Chemistry" +#: src/as-category.c:212 +msgctxt "Category of Addons" +msgid "Fonts" msgstr "" -#: src/as-category.c:214 +#: src/as-category.c:215 msgctxt "Category of Addons" msgid "Codecs" msgstr "" -#. TRANSLATORS: this is the menu spec main category for Communication -#: src/as-category.c:326 -msgid "Communication & News" +#: src/as-category.c:218 +msgctxt "Category of Addons" +msgid "Input Sources" msgstr "" -#: tools/appstream-cli.c:866 -msgid "Compare two version numbers." +#: src/as-category.c:221 +msgctxt "Category of Addons" +msgid "Language Packs" msgstr "" -#: src/as-provided.c:166 -msgid "Component" +#: src/as-category.c:224 +msgctxt "Category of Addons" +msgid "Localization" msgstr "" -#. TRANSLATORS: We found no distribution package or bundle to install to make this software available -#: tools/ascli-actions-pkgmgr.c:106 -#, c-format -msgid "Component '%s' has no installation candidate." +#: src/as-category.c:232 +msgctxt "Category of Science" +msgid "Featured" msgstr "" -#: tools/ascli-utils.c:377 -msgid "Compulsory for" +#: src/as-category.c:235 +msgctxt "Category of Science" +msgid "Artificial Intelligence" msgstr "" -#: src/as-validator-issue-tag.h:361 -msgid "Consider using a secure (HTTPS) URL for the remote icon link." +#: src/as-category.c:238 +msgctxt "Category of Science" +msgid "Astronomy" msgstr "" -#: src/as-validator-issue-tag.h:383 -msgid "Consider using a secure (HTTPS) URL for this web link." +#: src/as-category.c:241 +msgctxt "Category of Science" +msgid "Chemistry" msgstr "" -#: src/as-validator-issue-tag.h:189 -msgid "" -"Consider using a secure (HTTPS) URL to reference this screenshot image or " -"video." +#: src/as-category.c:244 +msgctxt "Category of Science" +msgid "Math" msgstr "" -#: tools/appstream-cli.c:870 -msgid "Convert a YAML or text NEWS file into metainfo releases." +#: src/as-category.c:249 +msgctxt "Category of Science" +msgid "Robotics" msgstr "" -#. TRANSLATORS: "convert" command in ascli. "Collection XML" is a term describing a specific type of AppStream XML data. -#: tools/appstream-cli.c:865 -msgid "Convert collection XML to YAML or vice versa." +#: src/as-category.c:257 +msgctxt "Category of Communication" +msgid "Featured" msgstr "" -#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results -#: tools/ascli-actions-mdata.c:228 -#, c-format -msgid "Could not find component providing '%s::%s'." +#: src/as-category.c:260 +msgctxt "Category of Communication" +msgid "Chat" msgstr "" -#: tools/appstream-cli.c:869 -msgid "Create a XDG desktop-entry file from a metainfo file." +#: src/as-category.c:267 +msgctxt "Category of Communication" +msgid "News" msgstr "" -#: tools/appstream-cli.c:868 -msgid "" -"Create a template for a metainfo file (to be filled out by the upstream " -"project)." +#: src/as-category.c:271 +msgctxt "Category of Communication" +msgid "Web Browsers" msgstr "" -#: tools/ascli-actions-misc.c:228 -#, c-format -msgid "Creating new desktop-entry file '%s' using data from '%s'" +#: src/as-category.c:279 +msgctxt "Category of Utility" +msgid "Featured" msgstr "" -#: src/as-provided.c:160 -msgid "D-Bus Session Services" +#: src/as-category.c:282 +msgctxt "Category of Utility" +msgid "Text Editors" msgstr "" -#: src/as-provided.c:158 -msgid "D-Bus System Services" +#: src/as-category.c:285 +msgctxt "Category of Utility" +msgid "Terminal Emulators" msgstr "" -#: src/as-category.c:195 -msgctxt "Category of Office" -msgid "Database" +#: src/as-category.c:288 +msgctxt "Category of Utility" +msgid "File System" +msgstr "" + +#: src/as-category.c:291 +msgctxt "Category of Utility" +msgid "System Monitoring" +msgstr "" + +#: src/as-category.c:294 +msgctxt "Category of Utility" +msgid "Security" +msgstr "" + +#. TRANSLATORS: this is the menu spec main category for Audio & Video +#: src/as-category.c:303 +msgid "Audio & Video" +msgstr "" + +#. TRANSLATORS: this is the menu spec main category for Development +#: src/as-category.c:306 +#, fuzzy +msgid "Developer Tools" +msgstr "Garatzailea" + +#. TRANSLATORS: this is the menu spec main category for Education +#: src/as-category.c:309 +msgid "Education" +msgstr "" + +#. TRANSLATORS: this is the menu spec main category for Game +#: src/as-category.c:312 +msgid "Games" +msgstr "" + +#. TRANSLATORS: this is the menu spec main category for Graphics +#: src/as-category.c:315 +msgid "Graphics & Photography" +msgstr "" + +#. TRANSLATORS: this is the menu spec main category for Office +#: src/as-category.c:318 +msgid "Office" +msgstr "" + +#. TRANSLATORS: this is the main category for Add-ons +#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor +#: src/as-category.c:321 tools/ascli-utils.c:371 +msgid "Add-ons" +msgstr "" + +#. TRANSLATORS: this is the menu spec main category for Science +#: src/as-category.c:324 +msgid "Science" +msgstr "" + +#. TRANSLATORS: this is the menu spec main category for Communication +#: src/as-category.c:327 +msgid "Communication & News" +msgstr "" + +#. TRANSLATORS: this is the menu spec main category for Utilities +#: src/as-category.c:330 +msgid "Utilities" +msgstr "" + +#. TRANSLATORS: This is the formatting of English and localized name +#. * of the rating e.g. "Adults Only (solo adultos)" +#: src/as-content-rating.c:298 +#, c-format +msgid "%s (%s)" +msgstr "%s (%s)" + +#: src/as-content-rating.c:444 +msgid "General" +msgstr "" + +#: src/as-content-rating.c:453 +msgid "ALL" +msgstr "" + +#: src/as-content-rating.c:457 src/as-content-rating.c:560 +msgid "Adults Only" +msgstr "" + +#: src/as-content-rating.c:459 src/as-content-rating.c:559 +msgid "Mature" +msgstr "" + +#: src/as-content-rating.c:461 src/as-content-rating.c:558 +msgid "Teen" +msgstr "" + +#: src/as-content-rating.c:463 src/as-content-rating.c:557 +msgid "Everyone 10+" +msgstr "" + +#: src/as-content-rating.c:465 src/as-content-rating.c:556 +msgid "Everyone" +msgstr "" + +#: src/as-content-rating.c:467 src/as-content-rating.c:555 +msgid "Early Childhood" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:839 +msgid "No cartoon violence" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:841 +msgid "Cartoon characters in unsafe situations" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:843 +msgid "Cartoon characters in aggressive conflict" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:845 +msgid "Graphic violence involving cartoon characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:850 +msgid "No fantasy violence" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:852 +msgid "Characters in unsafe situations easily distinguishable from reality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:854 +msgid "Characters in aggressive conflict easily distinguishable from reality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:856 +msgid "Graphic violence easily distinguishable from reality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:861 +msgid "No realistic violence" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:863 +msgid "Mildly realistic characters in unsafe situations" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:865 +msgid "Depictions of realistic characters in aggressive conflict" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:867 +msgid "Graphic violence involving realistic characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:872 +msgid "No bloodshed" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:874 +msgid "Unrealistic bloodshed" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:876 +msgid "Realistic bloodshed" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:878 +msgid "Depictions of bloodshed and the mutilation of body parts" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:883 +msgid "No sexual violence" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:885 +msgid "Rape or other violent sexual behavior" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:892 +msgid "No references to alcohol" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:894 +msgid "References to alcoholic beverages" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:896 +msgid "Use of alcoholic beverages" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:902 +msgid "No references to illicit drugs" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:904 +msgid "References to illicit drugs" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:906 +msgid "Use of illicit drugs" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:912 +msgid "No references to tobacco products" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:914 +msgid "References to tobacco products" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:916 +msgid "Use of tobacco products" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:922 +msgid "No nudity of any sort" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:924 +msgid "Brief artistic nudity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:926 +msgid "Prolonged nudity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:932 +msgid "No references to or depictions of sexual nature" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:934 +msgid "Provocative references or depictions" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:936 +msgid "Sexual references or depictions" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:938 +msgid "Graphic sexual behavior" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:943 +msgid "No profanity of any kind" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:945 +msgid "Mild or infrequent use of profanity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:947 +msgid "Moderate use of profanity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:949 +msgid "Strong or frequent use of profanity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:954 +msgid "No inappropriate humor" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:956 +msgid "Slapstick humor" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:958 +msgid "Vulgar or bathroom humor" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:960 +msgid "Mature or sexual humor" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:965 +msgid "No discriminatory language of any kind" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:967 +msgid "Negativity towards a specific group of people" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:969 +msgid "Discrimination designed to cause emotional harm" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:971 +msgid "Explicit discrimination based on gender, sexuality, race or religion" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:976 +msgid "No advertising of any kind" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:978 +msgid "Product placement" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:980 +msgid "Explicit references to specific brands or trademarked products" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:982 +msgid "Users are encouraged to purchase specific real-world items" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:987 +msgid "No gambling of any kind" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:989 +msgid "Gambling on random events using tokens or credits" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:991 +msgid "Gambling using “play” money" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:993 +msgid "Gambling using real money" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:998 +msgid "No ability to spend money" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1000 +msgid "Users are encouraged to donate real money" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1003 +msgid "Ability to spend real money in-app" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1008 +msgid "No way to chat with other users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1010 +msgid "User-to-user interactions without chat functionality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1012 +msgid "Moderated chat functionality between users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1014 +msgid "Uncontrolled chat functionality between users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1019 +msgid "No way to talk with other users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1021 +msgid "Uncontrolled audio or video chat functionality between users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1028 +msgid "No sharing of social network usernames or email addresses" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1030 +msgid "Sharing social network usernames or email addresses" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1037 +msgid "No sharing of user information with third parties" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1039 +msgid "Checking for the latest application version" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1041 +msgid "Sharing diagnostic data that does not let others identify the user" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1043 +msgid "Sharing information that lets others identify the user" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1048 +msgid "No sharing of physical location with other users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1050 +msgid "Sharing physical location with other users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1073 +msgid "No references to homosexuality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1075 +msgid "Indirect references to homosexuality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1077 +msgid "Kissing between people of the same gender" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1079 +msgid "Graphic sexual behavior between people of the same gender" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1084 +msgid "No references to prostitution" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1086 +msgid "Indirect references to prostitution" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1088 +msgid "Direct references to prostitution" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1090 +msgid "Graphic depictions of the act of prostitution" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1095 +msgid "No references to adultery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1097 +msgid "Indirect references to adultery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1099 +msgid "Direct references to adultery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1101 +msgid "Graphic depictions of the act of adultery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1106 +msgid "No sexualized characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1109 +msgid "Scantily clad human characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1111 +msgid "Overtly sexualized human characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1116 +msgid "No references to desecration" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1118 +msgid "Depictions of or references to historical desecration" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1120 +msgid "Depictions of modern-day human desecration" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1122 +msgid "Graphic depictions of modern-day desecration" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1127 +msgid "No visible dead human remains" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1129 +msgid "Visible dead human remains" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1131 +msgid "Dead human remains that are exposed to the elements" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1133 +msgid "Graphic depictions of desecration of human bodies" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1138 +msgid "No references to slavery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1140 +msgid "Depictions of or references to historical slavery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1142 +msgid "Depictions of modern-day slavery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1144 +msgid "Graphic depictions of modern-day slavery" +msgstr "" + +#. TRANSLATORS: We got a 429 error while trying to download data +#: src/as-curl.c:134 +#, c-format +msgid "Failed to download due to server limit" +msgstr "" + +#: src/as-curl.c:141 src/as-curl.c:148 +#, c-format +msgid "Failed to download file: %s" +msgstr "" + +#. TRANSLATORS: We tried to download an URL, but received a 404 error code +#: src/as-curl.c:157 +#, c-format +msgid "URL was not found on the server." +msgstr "" + +#. TRANSLATORS: We received an uexpected HTTP status code while talking to a server, likely an error +#: src/as-curl.c:164 +#, c-format +msgid "Unexpected status code: %ld" +msgstr "" + +#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty +#: src/as-curl.c:247 +#, c-format +msgid "Retrieved file size was zero." +msgstr "" + +#. TRANSLATORS: List of "grey-listed" words sperated with ";" +#. * Do not translate this list directly. Instead, +#. * provide a list of words in your language that people are likely +#. * to include in a search but that should normally be ignored in +#. * the search. +#. +#: src/as-pool.c:111 +msgid "app;application;package;program;programme;suite;tool" +msgstr "" + +#: src/as-pool.c:620 +msgid "Unable to remove old cache." +msgstr "" + +#: src/as-pool.c:963 +msgid "Metadata files have errors:" +msgstr "" + +#: src/as-pool.c:1370 +msgid "" +"Many components have been recognized as invalid. See debug output for " +"details." +msgstr "" + +#: src/as-pool.c:1996 +#, c-format +msgid "Cache location '%s' is not writable." +msgstr "" + +#: src/as-pool.c:2109 +msgid "" +"The AppStream system cache was updated, but some components were ignored. " +"Refer to the verbose log for more information." +msgstr "" + +#: src/as-pool.c:2111 +#, c-format +msgid "" +"The AppStream system cache was updated, but problems were found which " +"resulted in metadata being ignored: %s" +msgstr "" + +#: src/as-pool.c:2125 +#, c-format +msgid "" +"AppStream system cache refresh failed. Turn on verbose mode to get detailed " +"issue information." +msgstr "" + +#: src/as-provided.c:144 +msgid "Libraries" +msgstr "" + +#: src/as-provided.c:146 +msgid "Binaries" msgstr "" -#: src/as-category.c:86 -msgctxt "Category of Development" -msgid "Debuggers" +#: src/as-provided.c:148 +msgid "Media types" msgstr "" -#: tools/ascli-utils.c:353 -msgid "Default Screenshot URL" +#: src/as-provided.c:150 +msgid "Fonts" msgstr "" -#. TRANSLATORS: ascli flag description for: --format -#: tools/appstream-cli.c:83 -msgid "Default metadata format (valid values are 'xml' and 'yaml')." +#: src/as-provided.c:152 +msgid "Modaliases" msgstr "" -#: tools/ascli-utils.c:333 -msgid "Description" +#: src/as-provided.c:154 +msgid "Python (Version 2)" msgstr "" -#. developer name -#: tools/ascli-utils.c:321 -msgid "Developer" -msgstr "Garatzailea" +#: src/as-provided.c:156 +msgid "Python 3" +msgstr "" -#. TRANSLATORS: this is the menu spec main category for Development -#: src/as-category.c:305 -#, fuzzy -msgid "Developer Tools" -msgstr "Garatzailea" +#: src/as-provided.c:158 +msgid "D-Bus System Services" +msgstr "" -#: tools/appstream-cli.c:862 -msgid "Display status information about available AppStream metadata." +#: src/as-provided.c:160 +msgid "D-Bus Session Services" msgstr "" -#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions -#: tools/ascli-actions-misc.c:52 -msgid "Distribution metadata:" +#: src/as-provided.c:162 +msgid "Runtime Firmware" msgstr "" -#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) -#: tools/appstream-cli.c:126 -msgid "Do not use network access." +#: src/as-provided.c:164 +msgid "Flashed Firmware" msgstr "" -#. TRANSLATORS: ascli flag description for: --no-color -#: tools/appstream-cli.c:908 -msgid "Don't show colored output." +#: src/as-provided.c:166 +msgid "Component" msgstr "" -#: tools/appstream-cli.c:853 -msgid "Dump raw XML metadata for a component matching the ID." +#: src/as-validator-issue-tag.h:41 +msgid "This tag requires a type property." msgstr "" -#. TRANSLATORS: this is the menu spec main category for Education -#: src/as-category.c:308 -msgid "Education" +#: src/as-validator-issue-tag.h:46 +msgid "Tags of this name are not permitted in this section." msgstr "" -#. TRANSLATORS: No metainfo files have been found -#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 -msgid "Empty." +#: src/as-validator-issue-tag.h:51 +msgid "" +"A tag must not be localized in metainfo files (upstream " +"metadata). Localize the individual paragraphs instead." msgstr "" -#: src/as-category.c:141 -msgctxt "Category of Games" -msgid "Emulators" +#: src/as-validator-issue-tag.h:57 +msgid "" +"This element (paragraph, list, etc.) of a tag must not be " +"localized individually in collection metadata. Localize the whole " +" tag instead. The AppStream collection metadata generator (e." +"g. `appstream-generator`) will already do the right thing when compiling the " +"data." msgstr "" -#. TRANSLATORS: ascli flag description for: --force -#: tools/appstream-cli.c:245 -msgid "Enforce a cache refresh." +#: src/as-validator-issue-tag.h:63 +msgid "" +"AppStream descriptions support only a limited set of tags to format text: " +"Paragraphs (

                                                                                                                            ) and lists (

                                                                                                                              ,
                                                                                                                                ). This description markup contains " +"an invalid XML tag that would not be rendered correctly in applications " +"supporting the metainfo specification." +msgstr "" + +#: src/as-validator-issue-tag.h:69 +msgid "" +"This description paragraph contains invalid markup. Currently, only " +"and are permitted." msgstr "" #: src/as-validator-issue-tag.h:74 msgid "Enumerations must only have list items (
                                                                                                                              1. ) as children." msgstr "" -#: tools/ascli-actions-misc.c:159 -#, c-format -msgid "Error while loading the metadata pool: %s" +#: src/as-validator-issue-tag.h:79 +msgid "" +"The first `description/p` paragraph of this component might be too short (< " +"80 characters). Please consider starting with a longer paragraph to improve " +"how the description looks like in software centers and to provide more " +"detailed information on this component immediately in the first paragraph." msgstr "" -#: tools/ascli-utils.c:327 -msgid "Extends" +#: src/as-validator-issue-tag.h:86 +msgid "" +"The description contains a web URL in plain text. This is not allowed, " +"please use the tag instead to share links." msgstr "" -#: src/as-category.c:65 -msgctxt "Category of AudioVideo" -msgid "Featured" +#: src/as-validator-issue-tag.h:91 +msgid "" +"As per AppStream specification, the mentioned tag must only appear once in " +"this context. Having multiple tags of this kind is not valid." msgstr "" -#: src/as-category.c:256 -msgctxt "Category of Communication" -msgid "Featured" +#: src/as-validator-issue-tag.h:96 +msgid "" +"The mentioned tag is empty, which is highly likely not intended as it should " +"have content." +msgstr "" + +#: src/as-validator-issue-tag.h:101 +msgid "" +"The component ID is required to follow a reverse domain-name scheme for its " +"name. See the AppStream specification for details." +msgstr "" + +#: src/as-validator-issue-tag.h:106 +msgid "" +"The component ID is not a reverse domain-name. Please update the ID to avoid " +"future issues and be compatible with all AppStream implementations.\n" +"You may also consider to update the name of the accompanying .desktop file " +"to follow the latest version of the Desktop-Entry specification and use a " +"rDNS name for it as well. In any case, do not forget to mention the new " +"desktop-entry in a tag for this component to keep the " +"application launchable from software centers and the .desktop file data " +"associated with the metainfo data." +msgstr "" + +#: src/as-validator-issue-tag.h:114 +msgid "" +"The component ID might not follow the reverse domain-name schema (the TLD " +"used by it is not known to the validator)." +msgstr "" + +#: src/as-validator-issue-tag.h:119 +msgid "" +"The component ID contains an invalid character. Only ASCII characters, dots " +"and numbers are permitted." +msgstr "" + +#: src/as-validator-issue-tag.h:124 +msgid "" +"The component ID contains a hyphen/minus. Using a hyphen is strongly " +"discouraged, to improve interoperability with other tools such as D-Bus. A " +"good option is to replace any hyphens with underscores (`_`)." +msgstr "" + +#: src/as-validator-issue-tag.h:130 +msgid "" +"The component ID contains a segment starting with a number. Starting a " +"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " +"interoperability with other tools such as D-Bus. Ideally, prefix these " +"segments with an underscore." +msgstr "" + +#: src/as-validator-issue-tag.h:136 +msgid "The component ID should only contain lowercase letters." +msgstr "" + +#: src/as-validator-issue-tag.h:141 +msgid "" +"The component is part of the Freedesktop project, but its ID does not start " +"with fd.o's reverse-DNS name (\"org.freedesktop\")." +msgstr "" + +#: src/as-validator-issue-tag.h:146 +msgid "" +"The component is part of the KDE project, but its ID does not start with " +"KDEs reverse-DNS name (\"org.kde\")." +msgstr "" + +#: src/as-validator-issue-tag.h:151 +msgid "" +"The component is part of the GNOME project, but its ID does not start with " +"GNOMEs reverse-DNS name (\"org.gnome\")." +msgstr "" + +#: src/as-validator-issue-tag.h:156 +msgid "The SPDX license expression is invalid and could not be parsed." +msgstr "" + +#: src/as-validator-issue-tag.h:161 +msgid "" +"The license ID was not found in the SPDX database. Please check that the " +"license ID is written in an SPDX-conformant way and is a valid free software " +"license." +msgstr "" + +#: src/as-validator-issue-tag.h:167 +msgid "" +"The metadata itself seems to be licensed under a complex collection of " +"licenses. Please license the data under a simple permissive license, like " +"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " +"collections without the risk of license violations due to mutually " +"incompatible licenses." +msgstr "" + +#: src/as-validator-issue-tag.h:173 +msgid "" +"The metadata itself does not seem to be licensed under a permissive license. " +"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " +"0BSD to allow distributors to include it in mixed data collections without " +"the risk of license violations due to mutually incompatible licenses." +msgstr "" + +#: src/as-validator-issue-tag.h:179 +msgid "" +"The update-contact does not appear to be a valid email address (escaping of " +"`@` is only allowed as `_at_` or `_AT_`)." +msgstr "" + +#: src/as-validator-issue-tag.h:184 +msgid "" +"Unable to reach the screenshot image on its remote location - does the image " +"exist?" +msgstr "" + +#: src/as-validator-issue-tag.h:189 +msgid "" +"Unable to reach the screenshot video on its remote location - does the video " +"file exist?" +msgstr "" + +#: src/as-validator-issue-tag.h:194 +msgid "" +"Consider using a secure (HTTPS) URL to reference this screenshot image or " +"video." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:200 +msgid "" +"A screenshot must contain at least one image or video in order to be useful. " +"Please add an to it." +msgstr "" + +#: src/as-validator-issue-tag.h:205 +msgid "" +"A screenshot must contain either images or videos, but not both at the same " +"time. Please use this screenshot exclusively for either static images or for " +"videos." +msgstr "" + +#: src/as-validator-issue-tag.h:211 +msgid "The screenshot does not have a caption text. Consider adding one." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:217 +msgid "" +"The screenshot video does not specify which video codec was used in a " +"`codec` property." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:223 +msgid "" +"The screenshot video does not specify which container format was used in a " +"`container` property." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:229 +msgid "" +"The selected video codec is not supported by AppStream and software centers " +"may not be able to play the video. Only the AV1 and VP9 codecs are currently " +"supported, using `av1` and `vp9` as values for the `codec` property." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:236 +msgid "" +"The selected video container format is not supported by AppStream and " +"software centers may not be able to play the video. Only the WebM and " +"Matroska video containers are currently supported, using `webm` and `mkv` as " +"values for the `container` property." +msgstr "" + +#: src/as-validator-issue-tag.h:242 +msgid "" +"For videos, only the WebM and Matroska (.mkv) container formats are " +"currently supported. The file extension of the referenced video does not " +"belong to either of these formats." msgstr "" -#: src/as-category.c:83 -msgctxt "Category of Development" -msgid "Featured" +#: src/as-validator-issue-tag.h:248 +msgid "" +"The default screenshot of a software component must not be a video. Use a " +"static image as default screenshot and set the video as a secondary " +"screenshot." msgstr "" -#: src/as-category.c:98 -msgctxt "Category of Education" -msgid "Featured" +#: src/as-validator-issue-tag.h:253 +msgid "" +"Found an unknown tag in a requires/recommends group. This is likely an " +"error, because a component relation of this type is unknown." msgstr "" -#: src/as-category.c:120 -msgctxt "Category of Games" -msgid "Featured" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:259 +msgid "" +"A `requires` or `recommends` item requires a value to denote a valid " +"relation." msgstr "" -#: src/as-category.c:165 -msgctxt "Category of Graphics" -msgid "Featured" +#. TRANSLATORS: `version` is an AppStream XML property. Please do not translate it. +#: src/as-validator-issue-tag.h:265 +msgid "" +"Found `version` property on required/recommended item of a type that should " +"not have or require a version." msgstr "" -#: src/as-category.c:188 -msgctxt "Category of Office" -msgid "Featured" +#. TRANSLATORS: `version` and `compare` are AppStream XML properties. Please do not translate them. +#: src/as-validator-issue-tag.h:271 +msgid "" +"Found `version` property on this required/recommended item, but not " +"`compare` property. It is recommended to explicitly define a comparison " +"operation." msgstr "" -#: src/as-category.c:231 -msgctxt "Category of Science" -msgid "Featured" +#: src/as-validator-issue-tag.h:276 +msgid "" +"Invalid comparison operation on relation item. Only eq/ne/lt/gt/le/ge are " +"permitted." msgstr "" -#: src/as-category.c:278 -msgctxt "Category of Utility" -msgid "Featured" +#: src/as-validator-issue-tag.h:281 +msgid "" +"The relation item has a comparison operation set, but does not support any " +"comparisons." msgstr "" -#: tools/ascli-actions-validate.c:171 tools/ascli-actions-validate.c:349 -#, c-format -msgid "File '%s' does not exist." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:287 +msgid "" +"Found a memory size relation in a `requires` tag. This means users will not " +"be able to even install the component without having enough RAM. This is " +"usually not intended and you want to use `memory` in the `recommends` tag " +"instead." msgstr "" -#: src/as-category.c:287 -msgctxt "Category of Utility" -msgid "File System" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:294 +msgid "" +"Found a user input control relation in a `requires` tag. This means users " +"will not be able to even install the component without having the defined " +"input control available on the system. This is usually not intended and you " +"want to use `control` in the `recommends` tag instead." msgstr "" -#: src/as-category.c:198 -msgctxt "Category of Office" -msgid "Finance" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:301 +msgid "" +"This `control` item defines an unknown input method and is invalid. Check " +"the specification for a list of permitted values." msgstr "" -#: src/as-provided.c:164 -msgid "Flashed Firmware" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:307 +msgid "" +"This `display_length` item contains an invalid display length. Its value " +"must either be a shorthand string, or positive integer value denoting " +"logical pixels. Please refer to the AppStream specification for more " +"information on this tag." msgstr "" -#: src/as-provided.c:150 -msgid "Fonts" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:314 +msgid "" +"This `side` property of this `display_length` item contains an invalid " +"value. It must either be `shortest` or `longest`, or unset to imply " +"`shortest` to make the item value refer to either the shortest or longest " +"side of the display." msgstr "" -#: src/as-category.c:211 -msgctxt "Category of Addons" -msgid "Fonts" +#: src/as-validator-issue-tag.h:320 +msgid "" +"The set component type is not a recognized, valid AppStream component type." msgstr "" -#: src/as-validator-issue-tag.h:237 +#: src/as-validator-issue-tag.h:325 msgid "" -"For videos, only the WebM and Matroska (.mkv) container formats are " -"currently supported. The file extension of the referenced video does not " -"belong to either of these formats." +"The component has a priority value set. This is not allowed in metainfo " +"files." msgstr "" -#. TRANSLATORS: ascli flag description for: --format when validating XML files -#: tools/appstream-cli.c:131 -msgid "Format of the generated report (valid values are 'text' and 'yaml')." +#: src/as-validator-issue-tag.h:330 +msgid "" +"The component has a `merge` method defined. This is not allowed in metainfo " +"files." msgstr "" -#. TRANSLATORS: Found metainfo files in legacy directories -#: tools/ascli-actions-misc.c:138 -#, c-format -msgid "Found %i components in legacy paths." +#: src/as-validator-issue-tag.h:335 +msgid "The component is missing an ID ( tag)." msgstr "" -#: tools/ascli-actions-misc.c:123 -#, c-format -msgid "Found %i components." +#: src/as-validator-issue-tag.h:340 +msgid "The component is missing a name ( tag)." msgstr "" -#. TRANSLATORS: 'version' is an AppStream XML property. Please do not translate it. -#: src/as-validator-issue-tag.h:260 -msgid "" -"Found 'version' property on required/recommended item of a type that should " -"not have or require a version." +#: src/as-validator-issue-tag.h:345 +msgid "The component is missing a summary ( tag)." msgstr "" -#. TRANSLATORS: 'version' and 'compare' are AppStream XML properties. Please do not translate them. -#: src/as-validator-issue-tag.h:266 +#: src/as-validator-issue-tag.h:350 msgid "" -"Found 'version' property on this required/recommended item, but not " -"'compare' property. It is recommended to explicitly define a comparison " -"operation." +"The tag still contains a `type` property, probably from an old " +"conversion to the recent metainfo format." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:277 +#: src/as-validator-issue-tag.h:355 msgid "" -"Found a memory size dependency in a 'requires' tag. This means users will " -"not be able to even install the component without having enough RAM. This is " -"usually not intended and you want to use 'memory' in the 'recommends' tag " -"instead." +"The `pkgname` tag appears multiple times. You should evaluate creating a " +"metapackage containing the metainfo and .desktop files in order to avoid " +"defining multiple package names per component." msgstr "" -#: src/as-validator-issue-tag.h:248 -msgid "" -"Found an unknown tag in a requires/recommends group. This is likely an " -"error, because a component relation of this type is unknown." +#: src/as-validator-issue-tag.h:360 +msgid "The component name should (likely) not end with a dot (`.`)." msgstr "" -#: src/as-validator-issue-tag.h:427 -msgid "" -"Found invalid tag. Non-standard tags should be prefixed with 'x-'. AppStream " -"also provides the tag to add arbitrary custom data to metainfo " -"files. This tag is read by AppStream libraries and may be useful instead of " -"defining new custom toplevel or 'x-'-prefixed tags if you just want to add " -"custom data to a metainfo file." +#: src/as-validator-issue-tag.h:365 +msgid "The component summary should not end with a dot (`.`)." msgstr "" -#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. -#: src/as-validator.c:526 src/as-validator.c:939 src/as-validator.c:1024 -#: src/as-validator.c:1237 -#, c-format -msgid "Found: %s - Allowed: %s" +#: src/as-validator-issue-tag.h:370 +msgid "The component summary must not contain tabs or linebreaks." msgstr "" -#. TRANSLATORS: this is the menu spec main category for Game -#: src/as-category.c:311 -msgid "Games" +#: src/as-validator-issue-tag.h:375 +msgid "The summary must not contain any URL. Use the tags for links." msgstr "" -#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command -#: tools/appstream-cli.c:814 -msgid "Generate the output in the selected format ('yaml' or 'text')." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:381 +msgid "" +"Icons of type `stock` or `cached` must not contain an URL, a full or an " +"relative path to the icon. Only file basenames or stock names are allowed." msgstr "" -#: tools/appstream-cli.c:849 -msgid "Get components which provide the given item." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:388 +msgid "Icons of type `remote` must contain an URL to the referenced icon." msgstr "" -#: tools/appstream-cli.c:848 -msgid "Get information about a component by its ID." +#: src/as-validator-issue-tag.h:393 +msgid "Unable to reach remote icon at the given web location - does it exist?" msgstr "" -#. TRANSLATORS: this is the menu spec main category for Graphics -#: src/as-category.c:314 -msgid "Graphics & Photography" +#: src/as-validator-issue-tag.h:398 +msgid "Consider using a secure (HTTPS) URL for the remote icon link." msgstr "" -#: tools/ascli-utils.c:300 -msgid "Homepage" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:404 +msgid "" +"Metainfo files may only contain icons of type `stock` or `remote`, the set " +"type is not allowed." msgstr "" -#: src/as-category.c:89 -msgctxt "Category of Development" -msgid "IDEs" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:410 +msgid "" +"Invalid `type` property for this `url` tag. URLs of this type are not known " +"in the AppStream specification." msgstr "" -#: tools/ascli-utils.c:301 -msgid "Icon" -msgstr "Ikonoa" +#: src/as-validator-issue-tag.h:415 +msgid "" +"Unable to reach remote location that this URL references - does it exist?" +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:351 -msgid "Icons of type 'remote' must contain an URL to the referenced icon." +#: src/as-validator-issue-tag.h:420 +msgid "Consider using a secure (HTTPS) URL for this web link." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:344 -msgid "" -"Icons of type 'stock' or 'cached' must not contain an URL, a full or an " -"relative path to the icon. Only file basenames or stock names are allowed." +#: src/as-validator-issue-tag.h:425 +msgid "A web URL was expected for this value." msgstr "" -#: tools/ascli-actions-misc.c:94 -msgid "Iconsets" +#: src/as-validator-issue-tag.h:430 +msgid "" +"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." msgstr "" -#: tools/ascli-utils.c:295 -msgid "Identifier" +#: src/as-validator-issue-tag.h:435 +msgid "The can not contain a hyperlink." msgstr "" -#: src/as-category.c:217 -msgctxt "Category of Addons" -msgid "Input Sources" +#: src/as-validator-issue-tag.h:440 +msgid "" +"The set value is not an identifier for a desktop environment as registered " +"with Freedesktop.org." msgstr "" -#: tools/appstream-cli.c:863 -msgid "Install a metadata file into the right location." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:446 +msgid "This `launchable` tag has an unknown type and can not be used." msgstr "" -#: tools/appstream-cli.c:859 -msgid "Install software matching the component-ID." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:452 +msgid "This `bundle` tag has an unknown type and can not be used." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:373 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:458 msgid "" -"Invalid 'type' property for this 'url' tag. URLs of this type are not known " -"in the AppStream specification." +"The `update_contact` tag should not be included in collection AppStream XML." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:553 +#: src/as-validator-issue-tag.h:463 msgid "" -"Invalid tag found in collection metadata. Only 'component' tags are " -"permitted." +"This tag is a GNOME-specific extension to AppStream and not part of the " +"official specification. Do not expect it to work in all implementations and " +"in all software centers." msgstr "" -#: tools/ascli-actions-mdata.c:213 -msgid "Invalid type for provided item selected. Valid values are:" +#: src/as-validator-issue-tag.h:469 +msgid "" +"Found invalid tag. Non-standard tags should be prefixed with `x-`. AppStream " +"also provides the tag to add arbitrary custom data to metainfo " +"files. This tag is read by AppStream libraries and may be useful instead of " +"defining new custom toplevel or `x-`-prefixed tags if you just want to add " +"custom data to a metainfo file." msgstr "" -#: src/as-validator-issue-tag.h:271 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:477 msgid "" -"Invalid version comparison operation on relation item. Only eq/ne/lt/gt/le/" -"ge are permitted." +"The essential tag `metadata_license` is missing. A license for the metadata " +"itself always has to be defined." msgstr "" -#: src/as-validator-issue-tag.h:450 +#: src/as-validator-issue-tag.h:482 msgid "" -"It is recommended to add a long description to this component to present it " -"better to users." +"The component is missing a long description. Components of this type must " +"have a long description." msgstr "" -#: src/as-validator-issue-tag.h:445 +#: src/as-validator-issue-tag.h:487 msgid "" "It would be useful to add a long description to this font to present it " "better to users." msgstr "" -#: src/as-category.c:144 -msgctxt "Category of Games" -msgid "Kids" +#: src/as-validator-issue-tag.h:492 +msgid "" +"It is recommended to add a long description to this component to present it " +"better to users." msgstr "" -#: src/as-category.c:220 -msgctxt "Category of Addons" -msgid "Language Packs" +#: src/as-validator-issue-tag.h:497 +msgid "" +"This generic component is missing a long description. It may be useful to " +"add one." msgstr "" -#: src/as-category.c:107 -msgctxt "Category of Education" -msgid "Languages" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:503 +msgid "" +"Type `console-application` component, but no information about binaries in " +"$PATH was provided via a `provides/binary` tag." msgstr "" -#: src/as-provided.c:144 -msgid "Libraries" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:509 +msgid "" +"This `web-application` component is missing a `launchable` tag of type `url`." msgstr "" -#. license -#: tools/ascli-utils.c:363 -msgid "License" -msgstr "Lizentzia" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:629 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:515 msgid "" -"Licenses for 'runtime' components are usually too complex to reflect them in " -"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " -"value for this component's 'project_license'. E.g. `LicenseRef-free=https://" -"example.com/licenses.html`" +"This `web-application` component is missing a `icon` tag to specify a valid " +"icon." msgstr "" -#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command -#: tools/appstream-cli.c:771 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:521 msgid "" -"Limit the number of release entries that end up in the metainfo file (0 for " -"unlimited)." +"This `web-application` component is missing categorizations. A `categories` " +"block is likely missing." msgstr "" -#: src/as-category.c:223 -msgctxt "Category of Addons" -msgid "Localization" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:527 +msgid "" +"Type `font` component, but no font information was provided via a `provides/" +"font` tag." msgstr "" -#: src/as-category.c:147 -msgctxt "Category of Games" -msgid "Logic" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:533 +msgid "" +"Type `driver` component, but no modalias information was provided via a " +"`provides/modalias` tag." msgstr "" -#. TRANSLATORS: ascli flag description for: --no-cache -#: tools/appstream-cli.c:67 -msgid "Make request without any caching." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:539 +msgid "" +"An `extends` tag is specified, but the component is not of type `addon`, " +"`localization` or `repository`." msgstr "" -#. TRANSLATORS: ascli flag description for: --cachepath -#: tools/appstream-cli.c:57 -msgid "Manually selected location of AppStream cache." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:545 +msgid "The component is an addon, but no `extends` tag was specified." msgstr "" -#. TRANSLATORS: ascli flag description for: --datapath -#: tools/appstream-cli.c:62 -msgid "Manually selected location of AppStream metadata to scan." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:551 +msgid "" +"This `localization` component is missing an `extends` tag, to specify the " +"components it adds localization to." msgstr "" -#: src/as-pool.c:1280 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:557 msgid "" -"Many components have been recognized as invalid. See debug output for " -"details." +"This `localization` component does not define any languages this " +"localization is for." msgstr "" -#: src/as-category.c:111 -msgctxt "Category of Education" -msgid "Math" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:563 +msgid "" +"This `service` component is missing a `launchable` tag of type `service`." msgstr "" -#: src/as-category.c:243 -msgctxt "Category of Science" -msgid "Math" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:569 +msgid "" +"Suggestions of any type other than `upstream` are not allowed in metainfo " +"files." msgstr "" -#: src/as-provided.c:148 -msgid "Media types" +#: src/as-validator-issue-tag.h:574 +msgid "" +"The category name is not valid. Refer to the XDG Menu Specification for a " +"list of valid category names." msgstr "" -#: tools/ascli-actions-mdata.c:364 -#, c-format -msgid "Metadata file '%s' does not exist." +#: src/as-validator-issue-tag.h:579 +msgid "The screenshot caption is too long (should be <= 80 characters)" msgstr "" -#: src/as-pool.c:881 -msgid "Metadata files have errors:" +#: src/as-validator-issue-tag.h:584 +msgid "Unable to read file." msgstr "" -#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 -#: tools/ascli-actions-misc.c:515 -#, c-format -msgid "Metainfo file '%s' does not exist." +#: src/as-validator-issue-tag.h:589 +msgid "The XML of this file is malformed." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:367 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:595 msgid "" -"Metainfo files may only contain icons of type 'stock' or 'remote', the set " -"type is not allowed." -msgstr "" - -#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report -#: tools/ascli-actions-misc.c:116 -msgid "Metainfo files:" +"Invalid tag found in collection metadata. Only `component` tags are " +"permitted." msgstr "" -#: src/as-provided.c:152 -msgid "Modaliases" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:601 +msgid "" +"The metainfo file uses an ancient version of the AppStream specification, " +"which can not be validated. Please migrate it to version 0.6 (or higher)." msgstr "" -#: src/as-category.c:74 -msgctxt "Category of AudioVideo" -msgid "Music Players" +#: src/as-validator-issue-tag.h:606 +msgid "" +"This XML document has an unknown root tag. Maybe this file is not a metainfo " +"document?" msgstr "" - -#: tools/ascli-utils.c:296 -msgid "Name" -msgstr "Izena" - -#: src/as-category.c:266 -msgctxt "Category of Communication" -msgid "News" + +#: src/as-validator-issue-tag.h:611 +msgid "The metainfo filename does not match the component ID." msgstr "" -#: src/as-validator-issue-tag.h:589 -msgid "No AppStream metadata was found in this directory or directory tree." +#: src/as-validator-issue-tag.h:616 +msgid "Unable to read the .desktop file associated with this component." msgstr "" -#. pedantic because not everything which has metadata is an application -#: src/as-validator-issue-tag.h:594 -msgid "No XDG applications directory found." +#: src/as-validator-issue-tag.h:621 +msgid "This component metadata refers to a non-existing .desktop file." msgstr "" -#: tools/ascli-actions-mdata.c:182 -#, c-format -msgid "No component matching '%s' found." +#: src/as-validator-issue-tag.h:626 +msgid "" +"The category defined in the .desktop file is not valid. Refer to the XDG " +"Menu Specification for a list of valid categories." msgstr "" -#: tools/ascli-actions-misc.c:105 -msgid "No icons." +#: src/as-validator-issue-tag.h:631 +msgid "No AppStream metadata was found in this directory or directory tree." msgstr "" -#: tools/ascli-actions-misc.c:402 -msgid "No output filename specified, modifying metainfo file directly." +#. pedantic because not everything which has metadata is an application +#: src/as-validator-issue-tag.h:636 +msgid "No XDG applications directory found." msgstr "" -#: tools/ascli-actions-misc.c:306 +#: src/as-validator-issue-tag.h:641 msgid "" -"No provided binary specified in metainfo file, and no exec command specified " -"via '--exec'. Can not create 'Exec=' key." +"The metainfo file is stored in a legacy path. Please place it in `/usr/share/" +"metainfo/`." msgstr "" -#: tools/ascli-actions-misc.c:284 -msgid "No stock icon name was provided in the metainfo file. Can not continue." +#: src/as-validator-issue-tag.h:646 +msgid "The metainfo file specifies multiple components. This is not allowed." msgstr "" -#: tools/ascli-actions-pkgmgr.c:53 +#: src/as-validator-issue-tag.h:651 msgid "" -"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" -"\" (part of PackageKit) is available." +"The releases are not sorted in a latest to oldest version order. This is " +"required as some tools will assume that the latest version is always at the " +"top. Sorting releases also increases overall readability of the metainfo " +"file." msgstr "" -#: tools/ascli-actions-mdata.c:206 -msgid "No value for the item to search for was defined." +#: src/as-validator-issue-tag.h:658 +msgid "The value set as release urgency is not a known urgency value." msgstr "" -#. TRANSLATORS: this is the menu spec main category for Office -#: src/as-category.c:317 -msgid "Office" +#: src/as-validator-issue-tag.h:663 +msgid "The value set as release type is invalid." msgstr "" -#. TRANSLATORS: An unknown option was passed to appstreamcli. -#: tools/appstream-cli.c:192 -#, fuzzy, c-format -msgid "Option '%s' is unknown." -msgstr "'%s' komandoa ezezaguna da." - -#: tools/ascli-utils.c:298 -msgid "Package" -msgstr "Paketea" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:669 +msgid "" +"The value set as artifact type is invalid. Must be either `source` or " +"`binary`." +msgstr "" -#: src/as-category.c:171 -msgctxt "Category of Graphics" -msgid "Photography" +#: src/as-validator-issue-tag.h:674 +msgid "The value set as artifact bundle type is invalid." msgstr "" -#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) -#: tools/appstream-cli.c:121 -msgid "Print detailed explanation for found issues." +#: src/as-validator-issue-tag.h:679 +msgid "" +"The platform triplet for this release is invalid. It must be in the form of " +"`architecture-oskernel-osenv` - refer to the AppStream documentation or " +"information on normalized GNU triplets for more information and valid fields." msgstr "" -#. TRANSLATORS: ascli flag description for: --details -#: tools/appstream-cli.c:98 -msgid "Print detailed output about found components." +#: src/as-validator-issue-tag.h:686 +msgid "The selected checksumming algorithm is unsupported or unknown." msgstr "" -#. project group -#: tools/ascli-utils.c:360 -msgid "Project Group" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:692 +msgid "The size type is unknown. Must be `download` or `installed`." msgstr "" -#: tools/ascli-utils.c:405 -msgid "Provided Items" +#: src/as-validator-issue-tag.h:697 +msgid "" +"The artifact filename must be a file basename, not a (relative or absolute) " +"path." msgstr "" -#: src/as-provided.c:154 -msgid "Python (Version 2)" +#: src/as-validator-issue-tag.h:702 +msgid "The value set as release issue type is invalid." msgstr "" -#: src/as-provided.c:156 -msgid "Python 3" +#: src/as-validator-issue-tag.h:707 +msgid "" +"The issue is tagged at security vulnerability with a CVE number, but its " +"value does not look like a valid CVE identifier." msgstr "" -#: tools/appstream-cli.c:854 -msgid "Rebuild the component metadata cache." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:713 +msgid "" +"This component is missing information about releases. Consider adding a " +"`releases` tag to describe releases and their changes." msgstr "" -#: tools/appstream-cli.c:860 -msgid "Remove software matching the component-ID." +#: src/as-validator-issue-tag.h:718 +msgid "" +"The AppStream specification requires a complete, ISO 8601 date string with " +"at least day-granularity to denote dates. Please ensure the date string is " +"valid." msgstr "" -#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty -#: src/as-validator.c:364 -msgid "Retrieved file size was zero." +#: src/as-validator-issue-tag.h:724 +msgid "" +"This component extends, provides, requires or recommends itself, which is " +"certainly not intended and may confuse users or machines dealing with this " +"metadata." msgstr "" -#: src/as-category.c:248 -msgctxt "Category of Science" -msgid "Robotics" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:731 +msgid "" +"Licenses for `runtime` components are usually too complex to reflect them in " +"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " +"value for this component's `project_license`. E.g. `LicenseRef-free=https://" +"example.com/licenses.html`" msgstr "" -#: src/as-category.c:150 -msgctxt "Category of Games" -msgid "Role Playing" +#: src/as-validator-issue-tag.h:737 +msgid "" +"Since a `runtime` component is comprised of multiple other software " +"components, their component-IDs may be listed in a `` section for " +"this runtime." msgstr "" -#: tools/appstream-cli.c:196 tools/appstream-cli.c:926 -#, c-format -msgid "Run '%s --help' to see a full list of available command line options." +#: src/as-validator-issue-tag.h:742 +msgid "" +"The type of the item that the component provides is not known to AppStream." msgstr "" -#: tools/appstream-cli.c:198 -#, c-format +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:748 msgid "" -"Run '%s --help' to see a list of available commands and options, and '%s %s " -"--help' to see a list of options specific for this subcommand." +"The toplevel `mimetypes` tag is deprecated. Please use `mediatype` tags in a " +"`provides` block instead to indicate that your software provides a media " +"handler for the given types." msgstr "" -#: src/as-provided.c:162 -msgid "Runtime Firmware" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks) and keep the URL intact. +#: src/as-validator-issue-tag.h:755 +msgid "" +"This component has no `content_rating` tag to provide age rating " +"information. You can generate the tag data online by answering a few " +"questions at https://hughsie.github.io/oars/" msgstr "" -#: src/as-category.c:174 -msgctxt "Category of Graphics" -msgid "Scanning" +#: src/as-validator.c:150 +msgid "" +"The emitted issue tag is unknown in the tag registry of AppStream. This is a " +"bug in the validator itself, please report this issue in our bugtracker." msgstr "" -#. TRANSLATORS: this is the menu spec main category for Science -#: src/as-category.c:323 -msgid "Science" +#: src/as-validator.c:344 +msgid "URL format is invalid." msgstr "" -#: tools/appstream-cli.c:847 -msgid "Search the component database." +#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. +#: src/as-validator.c:522 src/as-validator.c:937 src/as-validator.c:1031 +#: src/as-validator.c:1428 src/as-validator.c:1448 src/as-validator.c:1481 +#, c-format +msgid "Found: %s - Allowed: %s" msgstr "" -#: src/as-category.c:293 -msgctxt "Category of Utility" -msgid "Security" +#. TRANSLATORS: ascompose flag description for: --verbose +#: tools/appstream-compose.c:181 +msgid "Show extra debugging information" msgstr "" -#. TRANSLATORS: ascli flag description for: --verbose -#: tools/appstream-cli.c:903 -msgid "Show extra debugging information." +#. TRANSLATORS: ascompose flag description for: --no-color +#. TRANSLATORS: ascli flag description for: --no-color +#: tools/appstream-compose.c:184 tools/appstreamcli.c:1087 +msgid "Don't show colored output." msgstr "" +#. TRANSLATORS: ascompose flag description for: --version #. TRANSLATORS: ascli flag description for: --version -#: tools/appstream-cli.c:897 +#: tools/appstream-compose.c:187 tools/appstreamcli.c:1076 msgid "Show the program version." msgstr "" -#: src/as-validator-issue-tag.h:635 -msgid "" -"Since a 'runtime' component is comprised of multiple other software " -"components, their component-IDs may be listed in a `` section for " -"this runtime." +#. TRANSLATORS: ascompose flag description for: --full-report +#: tools/appstream-compose.c:190 +msgid "Set mode of the issue report that is printed to the console" msgstr "" -#: src/as-category.c:153 -msgctxt "Category of Games" -msgid "Sports" +#. TRANSLATORS: ascompose flag description for: --prefix +#: tools/appstream-compose.c:193 +msgid "Override the default prefix (`/usr` by default)" msgstr "" -#: src/as-category.c:157 -msgctxt "Category of Games" -msgid "Strategy" +#. TRANSLATORS: ascompose flag description for: --result-root +#: tools/appstream-compose.c:196 +msgid "Set the result output directory" msgstr "" -#. these are commands we can use with appstreamcli -#: tools/appstream-cli.c:845 -msgid "Subcommands:" +#. TRANSLATORS: ascompose flag description for: --data-dir, `collection metadata` is an AppStream term +#: tools/appstream-compose.c:199 +msgid "Override the collection metadata output directory" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:527 -msgid "" -"Suggestions of any type other than 'upstream' are not allowed in metainfo " -"files." +#. TRANSLATORS: ascompose flag description for: --icons-dir +#: tools/appstream-compose.c:202 +msgid "Override the icon output directory" msgstr "" -#: tools/ascli-utils.c:297 -msgid "Summary" +#. TRANSLATORS: ascompose flag description for: --media-dir +#: tools/appstream-compose.c:205 +msgid "" +"Set the media output directory (for media data to be served by a webserver)" msgstr "" -#. TRANSLATORS: Status summary in ascli -#: tools/ascli-actions-misc.c:145 -msgid "Summary:" +#. TRANSLATORS: ascompose flag description for: --hints-dir +#: tools/appstream-compose.c:208 +msgid "Set a directory where HTML and text issue reports will be stored" msgstr "" -#: src/as-category.c:290 -msgctxt "Category of Utility" -msgid "System Monitoring" +#. TRANSLATORS: ascompose flag description for: --origin +#. TRANSLATORS: ascompose flag description for: --media-baseurl +#: tools/appstream-compose.c:211 tools/appstream-compose.c:214 +msgid "Set the origin name" msgstr "" -#: src/as-validator-issue-tag.h:46 -msgid "Tags of this name are not permitted in this section." +#. TRANSLATORS: ascompose flag description for: --components +#: tools/appstream-compose.c:217 +msgid "A comma-separated list of component-IDs to accept" msgstr "" -#: src/as-category.c:284 -msgctxt "Category of Utility" -msgid "Terminal Emulators" +#. TRANSLATORS: error message +#: tools/appstream-compose.c:231 +msgid "Failed to parse arguments" msgstr "" -#: src/as-category.c:281 -msgctxt "Category of Utility" -msgid "Text Editors" +#. TRANSLATORS: Output if appstreamcli --version is executed. +#: tools/appstream-compose.c:242 tools/appstreamcli.c:1230 +#, c-format +msgid "AppStream version: %s" msgstr "" -#: src/as-validator-issue-tag.h:318 +#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. +#: tools/appstream-compose.c:245 tools/appstreamcli.c:1233 +#, c-format msgid "" -"The 'pkgname' tag appears multiple times. You should evaluate creating a " -"metapackage containing the metainfo and .desktop files in order to avoid " -"defining multiple package names per component." +"AppStream CLI tool version: %s\n" +"AppStream library version: %s" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:416 +#. TRANSLATORS: invalid value for the --print-report CLI option +#: tools/appstream-compose.c:264 +#, c-format msgid "" -"The 'update_contact' tag should not be included in collection AppStream XML." +"Invalid value for `--print-report` option: %s\n" +"Possible values are:\n" +"`on-error` - only prints a short report if the run failed (default)\n" +"`short` - generates an abridged report\n" +"`full` - a detailed report will be printed" msgstr "" -#: tools/ascli-actions-mdata.c:467 +#: tools/appstream-compose.c:285 #, c-format -msgid "The .desktop file '%s' does not exist." +msgid "Automatically selected '%s' as data output location." msgstr "" -#: src/as-validator-issue-tag.h:393 -msgid "The can not contain a hyperlink." +#. TRANSLATORS: we don't have a destination directory for compose +#: tools/appstream-compose.c:288 +msgid "No destination directory set, please provide a data output location!" msgstr "" -#: src/as-validator-issue-tag.h:313 -msgid "" -"The tag still contains a 'type' property, probably from an old " -"conversion to the recent metainfo format." +#: tools/appstream-compose.c:298 tools/appstream-compose.c:300 +msgid "WARNING" msgstr "" -#: src/as-validator-issue-tag.h:616 -msgid "" -"The AppStream specification requires a complete, ISO 8601 date string with " -"at least day-granularity to denote dates. Please ensure the date string is " -"valid." +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:337 +#, c-format +msgid "Only accepting components: %s" msgstr "" -#: src/as-pool.c:1924 +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:340 #, c-format -msgid "" -"The AppStream system cache was updated, but problems were found which " -"resulted in metadata being ignored: %s" +msgid "Only accepting component: %s" msgstr "" -#: src/as-pool.c:1922 -msgid "" -"The AppStream system cache was updated, but some components were ignored. " -"Refer to the verbose log for more information." +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:345 +msgid "Processing directories:" msgstr "" -#: src/as-validator-issue-tag.h:151 -msgid "The SPDX license expression is invalid and could not be parsed." +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:348 +msgid "Processing directory:" msgstr "" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows -#: tools/appstream-cli.c:683 -#, c-format -msgid "The TYPE must be a valid component-type, such as: %s" +#. TRANSLATORS: error message +#: tools/appstream-compose.c:357 +msgid "Can not process invalid directory" msgstr "" -#: src/as-validator-issue-tag.h:547 -msgid "The XML of this file is malformed." +#. TRANSLATORS: information message +#: tools/appstream-compose.c:369 +msgid "Composing metadata..." msgstr "" -#: src/as-validator-issue-tag.h:584 -msgid "" -"The category defined in the .desktop file is not valid. Refer to the XDG " -"Menu Specification for a list of valid categories." +#. TRANSLATORS: error message +#: tools/appstream-compose.c:374 +msgid "Failed to compose AppStream metadata" msgstr "" -#: src/as-validator-issue-tag.h:532 -msgid "" -"The category name is not valid. Refer to the XDG Menu Specification for a " -"list of valid category names." +#. TRANSLATORS: appstream-compose failed to include all data +#: tools/appstream-compose.c:380 +msgid "Run failed, some data was ignored." msgstr "" -#: src/as-validator-issue-tag.h:124 -msgid "" -"The component ID contains a hyphen/minus. Using a hyphen is strongly " -"discouraged, to improve interoperability with other tools such as D-Bus. A " -"good option is to replace any hyphens with underscores ('_')." +#. TRANSLATORS: information message of appstream-compose +#: tools/appstream-compose.c:382 +msgid "Errors were raised during this compose run:" msgstr "" -#: src/as-validator-issue-tag.h:130 +#: tools/appstream-compose.c:383 msgid "" -"The component ID contains a segment starting with a number. Starting a " -"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " -"interoperability with other tools such as D-Bus. Ideally, prefix these " -"segments with an underscore." +"Refer to the generated issue report data for details on the individual " +"problems." msgstr "" -#: src/as-validator-issue-tag.h:119 -msgid "" -"The component ID contains an invalid character. Only ASCII characters, dots " -"and numbers are permitted." +#: tools/appstream-compose.c:386 +msgid "Overview of generated hints:" msgstr "" -#: src/as-validator-issue-tag.h:106 -msgid "" -"The component ID is not a reverse domain-name. Please update the ID to avoid " -"future issues and be compatible with all AppStream implementations.\n" -"You may also consider to update the name of the accompanying .desktop file " -"to follow the latest version of the Desktop-Entry specification and use a " -"rDNS name for it as well. In any case, do not forget to mention the new " -"desktop-entry in a tag for this component to keep the " -"application launchable from software centers and the .desktop file data " -"associated with the metainfo data." +#. TRANSLATORS: information message +#: tools/appstream-compose.c:388 +msgid "Success!" msgstr "" -#: src/as-validator-issue-tag.h:101 -msgid "" -"The component ID is required to follow a reverse domain-name scheme for its " -"name. See the AppStream specification for details." +#. TRANSLATORS: ascli flag description for: --cachepath +#: tools/appstreamcli.c:59 +msgid "Manually selected location of AppStream cache." msgstr "" -#: src/as-validator-issue-tag.h:114 -msgid "" -"The component ID might not follow the reverse domain-name schema (the TLD " -"used by it is not known to the validator)." +#. TRANSLATORS: ascli flag description for: --datapath +#: tools/appstreamcli.c:64 +msgid "Manually selected location of AppStream metadata to scan." msgstr "" -#: src/as-validator-issue-tag.h:293 -msgid "" -"The component has a 'merge' method defined. This is not allowed in metainfo " -"files." +#. TRANSLATORS: ascli flag description for: --no-cache +#: tools/appstreamcli.c:69 +msgid "Make request without any caching." msgstr "" -#: src/as-validator-issue-tag.h:288 -msgid "" -"The component has a priority value set. This is not allowed in metainfo " -"files." +#. TRANSLATORS: ascli flag description for: --format +#: tools/appstreamcli.c:85 +msgid "Default metadata format (valid values are 'xml' and 'yaml')." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:503 -msgid "The component is an addon, but no 'extends' tag was specified." +#. TRANSLATORS: ascli flag description for: --details +#: tools/appstreamcli.c:100 +msgid "Print detailed output about found components." msgstr "" -#: src/as-validator-issue-tag.h:440 -msgid "" -"The component is missing a long description. Components of this type must " -"have a long description." +#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) +#: tools/appstreamcli.c:118 +msgid "Also show pedantic hints." msgstr "" -#: src/as-validator-issue-tag.h:303 -msgid "The component is missing a name ( tag)." +#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) +#: tools/appstreamcli.c:123 +msgid "Print detailed explanation for found issues." msgstr "" -#: src/as-validator-issue-tag.h:308 -msgid "The component is missing a summary ( tag)." +#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) +#: tools/appstreamcli.c:128 +msgid "Do not use network access." msgstr "" -#: src/as-validator-issue-tag.h:298 -msgid "The component is missing an ID ( tag)." +#. TRANSLATORS: ascli flag description for: --format when validating XML files +#: tools/appstreamcli.c:133 +msgid "Format of the generated report (valid values are 'text' and 'yaml')." +msgstr "" + +#. TRANSLATORS: This is the header to the --help menu for subcommands +#. TRANSLATORS: This is the header to the --help menu +#: tools/appstreamcli.c:153 tools/appstreamcli.c:981 +msgid "AppStream command-line interface" msgstr "" -#: src/as-validator-issue-tag.h:136 -msgid "" -"The component is part of the Freedesktop project, but its ID does not start " -"with fd.o's reverse-DNS name (\"org.freedesktop\")." +#: tools/appstreamcli.c:156 +#, c-format +msgid "'%s' command" +msgstr "" + +#. TRANSLATORS: An unknown option was passed to appstreamcli. +#: tools/appstreamcli.c:191 +#, fuzzy, c-format +msgid "Option '%s' is unknown." +msgstr "'%s' komandoa ezezaguna da." + +#: tools/appstreamcli.c:195 tools/appstreamcli.c:1207 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options." msgstr "" -#: src/as-validator-issue-tag.h:146 +#: tools/appstreamcli.c:197 +#, c-format msgid "" -"The component is part of the GNOME project, but its ID does not start with " -"GNOMEs reverse-DNS name (\"org.gnome\")." +"Run '%s --help' to see a list of available commands and options, and '%s %s " +"--help' to see a list of options specific for this subcommand." msgstr "" -#: src/as-validator-issue-tag.h:141 -msgid "" -"The component is part of the KDE project, but its ID does not start with " -"KDEs reverse-DNS name (\"org.kde\")." +#. TRANSLATORS: ascli flag description for: --force +#: tools/appstreamcli.c:245 +msgid "Enforce a cache refresh." msgstr "" -#: src/as-validator-issue-tag.h:323 -msgid "The component name should (likely) not end with a dot ('.')." +#. TRANSLATORS: ascli flag description for: --user +#: tools/appstreamcli.c:251 +msgid "Update the user-specific instead of the system-wide cache." msgstr "" -#: src/as-validator-issue-tag.h:333 -msgid "The component summary must not contain tabs or linebreaks." +#. TRANSLATORS: ascli flag description for: --origin (part of the "put" subcommand) +#: tools/appstreamcli.c:477 +msgid "Set the data origin for the installed metadata collection file." msgstr "" -#: src/as-validator-issue-tag.h:328 -msgid "The component summary should not end with a dot ('.')." +#. TRANSLATORS: ascli flag description for: --user (part of the "put" subcommand) +#: tools/appstreamcli.c:482 +msgid "Install the file for the current user, instead of globally." msgstr "" -#: src/as-validator-issue-tag.h:243 +#: tools/appstreamcli.c:631 msgid "" -"The default screenshot of a software component must not be a video. Use a " -"static image as default screenshot and set the video as a secondary " -"screenshot." +"You need to provide at least two version numbers to compare as parameters." msgstr "" -#: src/as-validator-issue-tag.h:86 -msgid "" -"The description contains a web URL in plain text. This is not allowed, " -"please use the tag instead to share links." +#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. +#: tools/appstreamcli.c:660 +#, c-format +msgid "Unknown compare relation '%s'. Valid values are:" msgstr "" -#: src/as-validator.c:152 +#: tools/appstreamcli.c:700 msgid "" -"The emitted issue tag is unknown in the tag registry of AppStream. This is a " -"bug in the validator itself, please report this issue in our bugtracker." +"Too many parameters: Need two version numbers or version numbers and a " +"comparison operator." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:435 +#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) +#: tools/appstreamcli.c:726 msgid "" -"The essential tag 'metadata_license' is missing. A license for the metadata " -"itself always has to be defined." +"Use the given .desktop file to fill in the basic values of the metainfo file." msgstr "" -#: src/as-validator-issue-tag.h:79 +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand +#: tools/appstreamcli.c:731 msgid "" -"The first 'description/p' paragraph of this component might be too short (< " -"80 characters). Please consider starting with a longer paragraph to improve " -"how the description looks like in software centers and to provide more " -"detailed information on this component immediately in the first paragraph." +"This command takes optional TYPE and FILE positional arguments, FILE being a " +"file to write to (or \"-\" for standard output)." msgstr "" -#: src/as-validator-issue-tag.h:156 -msgid "" -"The license ID was not found in the SPDX database. Please check that the " -"license ID is written in an SPDX-conformant way and is a valid free software " -"license." +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows +#: tools/appstreamcli.c:734 +#, c-format +msgid "The TYPE must be a valid component-type, such as: %s" msgstr "" -#: src/as-validator-issue-tag.h:96 -msgid "" -"The mentioned tag is empty, which is highly likely not intended as it should " -"have content." +#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) +#: tools/appstreamcli.c:775 +msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." msgstr "" -#: src/as-validator-issue-tag.h:168 -msgid "" -"The metadata itself does not seem to be licensed under a permissive license. " -"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " -"0BSD to allow distributors to include it in mixed data collections without " -"the risk of license violations due to mutually incompatible licenses." +#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command +#: tools/appstreamcli.c:815 +msgid "Assume the input file is in the selected format ('yaml' or 'text')." msgstr "" -#: src/as-validator-issue-tag.h:162 +#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command +#: tools/appstreamcli.c:820 msgid "" -"The metadata itself seems to be licensed under a complex collection of " -"licenses. Please license the data under a simple permissive license, like " -"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " -"collections without the risk of license violations due to mutually " -"incompatible licenses." +"Limit the number of release entries that end up in the metainfo file (0 for " +"unlimited)." msgstr "" -#: src/as-validator-issue-tag.h:599 -msgid "" -"The metainfo file is stored in a legacy path. Please place it in '/usr/share/" -"metainfo'." +#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command +#: tools/appstreamcli.c:862 +msgid "Generate the output in the selected format ('yaml' or 'text')." msgstr "" -#: src/as-validator-issue-tag.h:604 -msgid "The metainfo file specifies multiple components. This is not allowed." +#: tools/appstreamcli.c:894 +#, c-format +msgid "Compose binary '%s' was not found! Can not continue." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:559 -msgid "" -"The metainfo file uses an ancient version of the AppStream specification, " -"which can not be validated. Please migrate it to version 0.6 (or higher)." +#. TRANSLATORS: this is a (usually shorter) command alias, shown after the command summary text +#: tools/appstreamcli.c:956 +#, c-format +msgid "(Alias: '%s')" msgstr "" -#: src/as-validator-issue-tag.h:569 -msgid "The metainfo filename does not match the component ID." +#. these are commands we can use with appstreamcli +#: tools/appstreamcli.c:983 +msgid "Subcommands:" msgstr "" -#: src/as-validator-issue-tag.h:609 +#: tools/appstreamcli.c:1029 msgid "" -"The releases are not sorted in a latest to oldest version order. This is " -"required as some tools will assume that the latest version is always at the " -"top. Sorting releases also increases overall readability of the metainfo " -"file." +"You can find information about subcommand-specific options by passing \"--" +"help\" to the subcommand." msgstr "" -#: src/as-validator-issue-tag.h:537 -msgid "The screenshot caption is too long (should be <= 80 characters)" +#. TRANSLATORS: ascli has been run with unknown command. '%s --help' is the command to receive help and should not be translated. +#: tools/appstreamcli.c:1052 +#, c-format +msgid "" +"Command '%s' is unknown. Run '%s --help' for a list of available commands." msgstr "" -#: src/as-validator-issue-tag.h:206 -msgid "The screenshot does not have a caption text. Consider adding one." +#. TRANSLATORS: ascli flag description for: --verbose +#: tools/appstreamcli.c:1082 +msgid "Show extra debugging information." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:218 -msgid "" -"The screenshot video does not specify which container format was used in a " -"'container' property." +#. TRANSLATORS: ascli flag description for: --profile +#: tools/appstreamcli.c:1090 +msgid "Enable profiling" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:212 -msgid "" -"The screenshot video does not specify which video codec was used in a " -"'codec' property." +#. TRANSLATORS: `appstreamcli search` command description. +#: tools/appstreamcli.c:1102 +msgid "Search the component database." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:224 -msgid "" -"The selected video codec is not supported by AppStream and software centers " -"may not be able to play the video. Only the AV1 and VP9 codecs are currently " -"supported, using 'av1' and 'vp9' as values for the 'codec' property." +#. TRANSLATORS: `appstreamcli get` command description. +#: tools/appstreamcli.c:1107 +msgid "Get information about a component by its ID." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:231 +#. TRANSLATORS: `appstreamcli what-provides` command description. +#: tools/appstreamcli.c:1112 msgid "" -"The selected video container format is not supported by AppStream and " -"software centers may not be able to play the video. Only the WebM and " -"Matroska video containers are currently supported, using 'webm' and 'mkv' as " -"values for the 'container' property." +"Get components which provide the given item. Needs an item type (e.g. lib, " +"bin, python3, …) and item value as parameter." msgstr "" -#: src/as-validator-issue-tag.h:283 -msgid "" -"The set component type is not a recognized, valid AppStream component type." +#. TRANSLATORS: `appstreamcli dump` command description. +#: tools/appstreamcli.c:1118 +msgid "Dump raw XML metadata for a component matching the ID." msgstr "" -#: src/as-validator-issue-tag.h:398 -msgid "" -"The set value is not an identifier for a desktop environment as registered " -"with Freedesktop.org." +#. TRANSLATORS: `appstreamcli refresh-cache` command description. +#: tools/appstreamcli.c:1123 +msgid "Rebuild the component metadata cache." msgstr "" -#: tools/ascli-actions-mdata.c:449 -#, c-format -msgid "" -"The software component type '%s' is not valid in AppStream. Possible values " -"are:" +#. TRANSLATORS: `appstreamcli validate` command description. +#: tools/appstreamcli.c:1129 +msgid "Validate AppStream XML files for issues." msgstr "" -#: src/as-validator-issue-tag.h:338 -msgid "The summary must not contain any URL. Use the tags for links." +#. TRANSLATORS: `appstreamcli validate-tree` command description. +#: tools/appstreamcli.c:1134 +msgid "Validate an installed file-tree of an application for valid metadata." msgstr "" -#: src/as-validator-issue-tag.h:640 -msgid "" -"The type of the item that the component provides is not known to AppStream." +#. TRANSLATORS: `appstreamcli install` command description. +#: tools/appstreamcli.c:1140 +msgid "Install software matching the component-ID." msgstr "" -#: src/as-validator-issue-tag.h:174 -msgid "" -"The update-contact does not appear to be a valid email address (escaping of " -"'@' is only allowed as '_at_' or '_AT_')." +#. TRANSLATORS: `appstreamcli remove` command description. +#: tools/appstreamcli.c:1145 +msgid "Remove software matching the component-ID." msgstr "" -#: tools/ascli-actions-validate.c:363 tools/ascli-actions-validate.c:492 -#, c-format -msgid "" -"The validator can not create reports in the '%s' format. You may select " -"'yaml' or 'text' instead." +#. TRANSLATORS: `appstreamcli status` command description. +#: tools/appstreamcli.c:1151 +msgid "Display status information about available AppStream metadata." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:410 -msgid "This 'bundle' tag has an unknown type and can not be used." +#. TRANSLATORS: `appstreamcli os-info` command description. +#: tools/appstreamcli.c:1156 +msgid "" +"Show information about the current operating system from the metadata index." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:404 -msgid "This 'launchable' tag has an unknown type and can not be used." +#. TRANSLATORS: `appstreamcli put` command description. +#: tools/appstreamcli.c:1161 +msgid "Install a metadata file into the right location." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:515 -msgid "" -"This 'localization' component does not define any languages this " -"localization is for." +#. TRANSLATORS: `appstreamcli convert` command description. "Collection XML" is a term describing a specific type of AppStream XML data. +#: tools/appstreamcli.c:1166 +msgid "Convert collection XML to YAML or vice versa." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:509 -msgid "" -"This 'localization' component is missing an 'extends' tag, to specify the " -"components it adds localization to." +#. TRANSLATORS: `appstreamcli vercmp` command description. +#: tools/appstreamcli.c:1171 +msgid "Compare two version numbers." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:521 +#. TRANSLATORS: `appstreamcli new-template` command description. +#: tools/appstreamcli.c:1177 msgid "" -"This 'service' component is missing a 'launchable' tag of type 'service'." +"Create a template for a metainfo file (to be filled out by the upstream " +"project)." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:473 -msgid "" -"This 'web-application' component is missing a 'icon' tag to specify a valid " -"icon." +#. TRANSLATORS: `appstreamcli make-desktop-file` command description. +#: tools/appstreamcli.c:1182 +msgid "Create a desktop-entry file from a metainfo file." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:467 -msgid "" -"This 'web-application' component is missing a 'launchable' tag of type 'url'." +#. TRANSLATORS: `appstreamcli news-to-metainfo` command description. +#: tools/appstreamcli.c:1187 +msgid "Convert a YAML or text NEWS file into metainfo releases." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:479 -msgid "" -"This 'web-application' component is missing categorizations. A 'categories' " -"block is likely missing." +#. TRANSLATORS: `appstreamcli metainfo-to-news` command description. +#: tools/appstreamcli.c:1192 +msgid "Write NEWS text or YAML file with information from a metainfo file." msgstr "" -#: src/as-validator-issue-tag.h:564 -msgid "" -"This XML document has an unknown root tag. Maybe this file is not a metainfo " -"document?" +#. TRANSLATORS: `appstreamcli compose` command description. +#: tools/appstreamcli.c:1198 +msgid "Compose AppStream collection metadata from directory trees." msgstr "" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand -#: tools/appstream-cli.c:680 -msgid "" -"This command takes optional TYPE and FILE positional arguments, FILE being a " -"file to write to (or \"-\" for standard output)." +#. TRANSLATORS: ascli has been run without command. +#: tools/appstreamcli.c:1206 +msgid "You need to specify a command." msgstr "" -#: src/as-validator-issue-tag.h:622 -msgid "" -"This component extends, provides, requires or recommends itself, which is " -"certainly not intended and may confuse users or machines dealing with this " -"metadata." +#. TRANSLATORS: In ascli: The requested action needs higher permissions. +#: tools/ascli-actions-mdata.c:70 +msgid "You might need superuser permissions to perform this action." msgstr "" -#: src/as-validator-issue-tag.h:579 -msgid "This component metadata refers to a non-existing .desktop file." +#. we performed a cache refresh +#. TRANSLATORS: Updating the metadata cache succeeded +#: tools/ascli-actions-mdata.c:80 +msgid "AppStream cache update completed successfully." msgstr "" -#: src/as-validator-issue-tag.h:69 -msgid "" -"This description paragraph contains invalid markup. Currently, only " -"and are permitted." +#. cache wasn't updated, so the update wasn't necessary +#: tools/ascli-actions-mdata.c:86 +msgid "AppStream cache update is not necessary." msgstr "" -#: src/as-validator-issue-tag.h:57 -msgid "" -"This element (paragraph, list, etc.) of a tag must not be " -"localized individually in collection metadata. Localize the whole " -" tag instead. The AppStream collection metadata generator (e." -"g. `appstream-generator`) will already do the right thing when compiling the " -"data." +#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments +#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. +#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:253 +#: tools/ascli-actions-pkgmgr.c:80 +msgid "You need to specify a component-ID." msgstr "" -#: src/as-validator-issue-tag.h:455 -msgid "" -"This generic component is missing a long description. It may be useful to " -"add one." +#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:265 +#: tools/ascli-actions-pkgmgr.c:93 +#, c-format +msgid "Unable to find component with ID '%s'!" msgstr "" -#: src/as-validator-issue-tag.h:421 -msgid "" -"This tag is a GNOME-specific extension to AppStream and not part of the " -"official specification. Do not expect it to work in all implementations and " -"in all software centers." +#: tools/ascli-actions-mdata.c:164 +msgid "You need to specify a term to search for." msgstr "" -#: src/as-validator-issue-tag.h:41 -msgid "This tag requires a type property." +#. TRANSLATORS: We failed to find any component in the database, likely due to an error +#: tools/ascli-actions-mdata.c:177 +#, c-format +msgid "Unable to find component matching %s!" msgstr "" -#: data/org.freedesktop.appstream.cli.metainfo.xml:15 -msgid "" -"This tool allows for reading, writing, validating and transformation of " -"AppStream XML or YAML metadata. It also gives access to the system metadata " -"pool, for example to query for software that provides a specific MIME-type, " -"and installing it by its software component identifier." +#: tools/ascli-actions-mdata.c:182 +#, c-format +msgid "No component matching '%s' found." msgstr "" -#: src/as-validator-issue-tag.h:388 -msgid "" -"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." +#: tools/ascli-actions-mdata.c:206 +msgid "No value for the item to search for was defined." msgstr "" -#: tools/appstream-cli.c:648 -msgid "" -"Too many parameters: Need two version numbers or version numbers and a " -"comparison operator." +#: tools/ascli-actions-mdata.c:212 +msgid "Invalid type for provided item selected. Valid values are:" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:461 -msgid "" -"Type 'console-application' component, but no information about binaries in " -"$PATH was provided via a 'provides/binary' tag." +#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results +#: tools/ascli-actions-mdata.c:227 +#, c-format +msgid "Could not find component providing '%s::%s'." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:491 -msgid "" -"Type 'driver' component, but no modalias information was provided via a " -"provides/modalias tag." +#: tools/ascli-actions-mdata.c:306 +msgid "You need to specify a metadata file." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:485 -msgid "" -"Type 'font' component, but no font information was provided via a 'provides/" -"font' tag." +#: tools/ascli-actions-mdata.c:320 +#, c-format +msgid "Unable to install metadata file: %s" msgstr "" -#: src/as-validator.c:333 -msgid "URL format is invalid." +#: tools/ascli-actions-mdata.c:340 +msgid "You need to specify an input and output file." msgstr "" -#: tools/ascli-actions-mdata.c:544 +#: tools/ascli-actions-mdata.c:347 #, c-format -msgid "Unable to build the template metainfo file: %s" +msgid "Metadata file '%s' does not exist." msgstr "" #. TRANSLATORS: User is trying to convert a file in ascli -#: tools/ascli-actions-mdata.c:400 +#: tools/ascli-actions-mdata.c:387 msgid "" "Unable to convert file: Could not determine output format, please set it " "explicitly using '--format='." msgstr "" -#. TRANSLATORS: We failed to find any component in the database, likely due to an error -#: tools/ascli-actions-mdata.c:177 +#: tools/ascli-actions-mdata.c:438 +#, c-format +msgid "Unable to find operating system component '%s'!" +msgstr "" + +#: tools/ascli-actions-mdata.c:443 +msgid "Version" +msgstr "" + +#: tools/ascli-actions-mdata.c:467 +msgid "" +"You need to give an AppStream software component type to generate a " +"template. Possible values are:" +msgstr "" + +#: tools/ascli-actions-mdata.c:469 +#, c-format +msgid "" +"The software component type '%s' is not valid in AppStream. Possible values " +"are:" +msgstr "" + +#: tools/ascli-actions-mdata.c:487 #, c-format -msgid "Unable to find component matching %s!" +msgid "The .desktop file '%s' does not exist." msgstr "" -#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:266 -#: tools/ascli-actions-pkgmgr.c:93 +#: tools/ascli-actions-mdata.c:493 #, c-format -msgid "Unable to find component with ID '%s'!" +msgid "Unable to read the .desktop file: %s" msgstr "" -#: tools/ascli-actions-misc.c:224 +#: tools/ascli-actions-mdata.c:564 #, c-format -msgid "Unable to load existing desktop-entry file template: %s" +msgid "Unable to build the template metainfo file: %s" msgstr "" -#: src/as-validator-issue-tag.h:356 -msgid "Unable to reach remote icon at the given web location - does it exist?" +#: tools/ascli-actions-mdata.c:572 +#, c-format +msgid "Unable to save the template metainfo file: %s" msgstr "" -#: src/as-validator-issue-tag.h:378 -msgid "" -"Unable to reach remote location that this URL references - does it exist?" +#. TRANSLATORS: In the status report of ascli: Header +#: tools/ascli-actions-misc.c:47 +msgid "AppStream Status:" msgstr "" -#: src/as-validator-issue-tag.h:179 -msgid "" -"Unable to reach the screenshot image on its remote location - does the image " -"exist?" +#: tools/ascli-actions-misc.c:48 +#, c-format +msgid "Version: %s" msgstr "" -#: src/as-validator-issue-tag.h:184 -msgid "" -"Unable to reach the screenshot video on its remote location - does the video " -"file exist?" +#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions +#: tools/ascli-actions-misc.c:52 +msgid "Distribution metadata:" msgstr "" -#: src/as-validator-issue-tag.h:542 -msgid "Unable to read file." +#: tools/ascli-actions-misc.c:94 +msgid "Iconsets" msgstr "" -#: src/as-validator-issue-tag.h:574 -msgid "Unable to read the .desktop file associated with this component." +#: tools/ascli-actions-misc.c:105 +msgid "No icons." msgstr "" -#: tools/ascli-actions-mdata.c:473 -#, c-format -msgid "Unable to read the .desktop file: %s" +#. TRANSLATORS: No metainfo files have been found +#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 +msgid "Empty." msgstr "" -#: src/as-pool.c:606 -msgid "Unable to remove old cache." +#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report +#: tools/ascli-actions-misc.c:116 +msgid "Metainfo files:" msgstr "" -#: tools/ascli-actions-misc.c:370 +#: tools/ascli-actions-misc.c:123 #, c-format -msgid "Unable to save desktop entry file: %s" +msgid "Found %i components." msgstr "" -#: tools/ascli-actions-mdata.c:552 +#. TRANSLATORS: Found metainfo files in legacy directories +#: tools/ascli-actions-misc.c:138 #, c-format -msgid "Unable to save the template metainfo file: %s" +msgid "Found %i components in legacy paths." msgstr "" -#: tools/ascli-actions-pkgmgr.c:67 -#, c-format -msgid "Unable to spawn package manager: %s" +#. TRANSLATORS: Status summary in ascli +#: tools/ascli-actions-misc.c:145 +msgid "Summary:" msgstr "" -#: tools/ascli-actions-mdata.c:322 +#: tools/ascli-actions-misc.c:153 #, c-format -msgid "Unable to write to '%s', can not install metainfo file." +msgid "We have information on %i software components." msgstr "" -#. TRANSLATORS: ascli has been run with unknown command. -#: tools/appstream-cli.c:1009 +#: tools/ascli-actions-misc.c:159 #, c-format -msgid "Unknown command '%s'." +msgid "Error while loading the metadata pool: %s" msgstr "" -#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. -#: tools/appstream-cli.c:608 -#, c-format -msgid "Unknown compare relation '%s'. Valid values are:" +#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 +msgid "You need to specify a metainfo file as input." msgstr "" -#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) -#: tools/appstream-cli.c:675 +#: tools/ascli-actions-misc.c:188 msgid "" -"Use the given .desktop file to fill in the basic values of the metainfo file." -msgstr "" - -#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) -#: tools/appstream-cli.c:725 -msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." -msgstr "" - -#. TRANSLATORS: this is the menu spec main category for Utilities -#: src/as-category.c:329 -msgid "Utilities" -msgstr "" - -#: tools/appstream-cli.c:856 -msgid "Validate AppStream XML files for issues." +"You need to specify a desktop-entry file to create or augment as output." msgstr "" -#: tools/appstream-cli.c:857 -msgid "Validate an installed file-tree of an application for valid metadata." +#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 +#: tools/ascli-actions-misc.c:515 +#, c-format +msgid "Metainfo file '%s' does not exist." msgstr "" -#: tools/ascli-actions-validate.c:301 tools/ascli-actions-validate.c:442 +#: tools/ascli-actions-misc.c:219 #, c-format -msgid "Validation failed: %s" +msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." msgstr "" -#: tools/ascli-actions-validate.c:289 tools/ascli-actions-validate.c:430 -msgid "Validation was successful." +#: tools/ascli-actions-misc.c:224 +#, c-format +msgid "Unable to load existing desktop-entry file template: %s" msgstr "" -#: tools/ascli-actions-validate.c:291 tools/ascli-actions-validate.c:432 +#: tools/ascli-actions-misc.c:228 #, c-format -msgid "Validation was successful: %s" +msgid "Creating new desktop-entry file '%s' using data from '%s'" msgstr "" -#: tools/appstream-cli.c:851 -msgid "Value of the item that should be found." +#: tools/ascli-actions-misc.c:284 +msgid "No stock icon name was provided in the metainfo file. Can not continue." msgstr "" -#: src/as-category.c:177 -#, fuzzy -msgctxt "Category of Graphics" -msgid "Vector Graphics" -msgstr "Kategoriak" +#: tools/ascli-actions-misc.c:306 +msgid "" +"No provided binary specified in metainfo file, and no exec command specified " +"via '--exec'. Can not create 'Exec=' key." +msgstr "" -#: tools/ascli-actions-misc.c:48 +#: tools/ascli-actions-misc.c:370 #, c-format -msgid "Version: %s" +msgid "Unable to save desktop entry file: %s" msgstr "" -#: src/as-category.c:180 -msgctxt "Category of Graphics" -msgid "Viewers" +#: tools/ascli-actions-misc.c:393 +msgid "You need to specify a NEWS file as input." msgstr "" -#: tools/ascli-actions-misc.c:153 -#, c-format -msgid "We have information on %i software components." +#: tools/ascli-actions-misc.c:397 +msgid "" +"You need to specify a metainfo file to augment, or '-' to print to stdout." msgstr "" -#: src/as-category.c:270 -msgctxt "Category of Communication" -msgid "Web Browsers" +#: tools/ascli-actions-misc.c:402 +msgid "No output filename specified, modifying metainfo file directly." msgstr "" -#: src/as-category.c:202 -msgctxt "Category of Office" -msgid "Word Processor" +#: tools/ascli-actions-misc.c:509 +msgid "You need to specify a NEWS file as output, or '-' to print to stdout." msgstr "" -#: tools/appstream-cli.c:871 -msgid "Write NEWS text or YAML file with information from a metainfo file." +#: tools/ascli-actions-misc.c:540 +msgid "You need to specify a NEWS format to write the output in." msgstr "" -#: tools/appstream-cli.c:874 +#: tools/ascli-actions-pkgmgr.c:53 msgid "" -"You can find information about subcommand-specific options by passing \"--" -"help\" to the subcommand." +"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" +"\" (part of PackageKit) is available." msgstr "" -#. TRANSLATORS: In ascli: The requested action needs higher permissions. -#: tools/ascli-actions-mdata.c:70 -msgid "You might need superuser permissions to perform this action." +#: tools/ascli-actions-pkgmgr.c:67 +#, c-format +msgid "Unable to spawn package manager: %s" msgstr "" -#: tools/ascli-actions-mdata.c:447 -msgid "" -"You need to give an AppStream software component type to generate a " -"template. Possible values are:" +#. TRANSLATORS: We found no distribution package or bundle to install to make this software available +#: tools/ascli-actions-pkgmgr.c:106 +#, c-format +msgid "Component '%s' has no installation candidate." msgstr "" -#: tools/appstream-cli.c:579 -msgid "" -"You need to provide at least two version numbers to compare as parameters." +#: tools/ascli-actions-validate.c:176 tools/ascli-actions-validate.c:354 +#, c-format +msgid "File '%s' does not exist." msgstr "" -#: tools/ascli-actions-misc.c:393 -msgid "You need to specify a NEWS file as input." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "error"-type hints +#: tools/ascli-actions-validate.c:228 +#, c-format +msgid "errors: %lu" msgstr "" -#: tools/ascli-actions-misc.c:509 -msgid "You need to specify a NEWS file as output, or '-' to print to stdout." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "warning"-type hints +#: tools/ascli-actions-validate.c:235 +#, c-format +msgid "warnings: %lu" msgstr "" -#: tools/ascli-actions-misc.c:540 -msgid "You need to specify a NEWS format to write the output in." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "info"-type hints +#: tools/ascli-actions-validate.c:242 +#, c-format +msgid "infos: %lu" msgstr "" -#. TRANSLATORS: ascli has been run without command. -#: tools/appstream-cli.c:925 -msgid "You need to specify a command." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "pedantic"-type hints +#: tools/ascli-actions-validate.c:249 +#, c-format +msgid "pedantic: %lu" msgstr "" -#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments -#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. -#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:254 -#: tools/ascli-actions-pkgmgr.c:80 -msgid "You need to specify a component-ID." +#: tools/ascli-actions-validate.c:268 tools/ascli-actions-validate.c:342 +msgid "You need to specify at least one file to validate!" msgstr "" -#: tools/ascli-actions-misc.c:188 -msgid "" -"You need to specify a desktop-entry file to create or augment as output." +#: tools/ascli-actions-validate.c:294 tools/ascli-actions-validate.c:435 +msgid "Validation was successful." msgstr "" -#: tools/ascli-actions-mdata.c:309 -msgid "You need to specify a metadata file." +#: tools/ascli-actions-validate.c:296 tools/ascli-actions-validate.c:437 +#, c-format +msgid "Validation was successful: %s" msgstr "" -#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 -msgid "You need to specify a metainfo file as input." +#: tools/ascli-actions-validate.c:306 tools/ascli-actions-validate.c:447 +#, c-format +msgid "Validation failed: %s" msgstr "" -#: tools/ascli-actions-misc.c:397 +#: tools/ascli-actions-validate.c:368 tools/ascli-actions-validate.c:497 +#, c-format msgid "" -"You need to specify a metainfo file to augment, or '-' to print to stdout." +"The validator can not create reports in the '%s' format. You may select " +"'yaml' or 'text' instead." msgstr "" -#: tools/ascli-actions-validate.c:385 tools/ascli-actions-validate.c:479 +#: tools/ascli-actions-validate.c:390 tools/ascli-actions-validate.c:484 msgid "You need to specify a root directory to start validation!" msgstr "" -#: tools/ascli-actions-mdata.c:164 -msgid "You need to specify a term to search for." +#: tools/ascli-utils.c:266 +msgid "Identifier" msgstr "" -#: tools/ascli-actions-mdata.c:357 -msgid "You need to specify an input and output file." +#: tools/ascli-utils.c:268 +msgid "Internal ID" msgstr "" -#: tools/ascli-actions-validate.c:263 tools/ascli-actions-validate.c:337 -msgid "You need to specify at least one file to validate!" +#: tools/ascli-utils.c:269 +msgid "Name" +msgstr "Izena" + +#: tools/ascli-utils.c:270 +msgid "Summary" msgstr "" -#. TRANSLATORS: List of "grey-listed" words sperated with ";" -#. * Do not translate this list directly. Instead, -#. * provide a list of words in your language that people are likely -#. * to include in a search but that should normally be ignored in -#. * the search. -#. -#: src/as-pool.c:107 -msgid "app;application;package;program;programme;suite;tool" +#: tools/ascli-utils.c:271 +msgid "Package" +msgstr "Paketea" + +#: tools/ascli-utils.c:272 +msgid "Bundle" msgstr "" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:223 -#, c-format -msgid "errors: %lu" +#: tools/ascli-utils.c:273 +msgid "Homepage" msgstr "" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:237 -#, c-format -msgid "infos: %lu" +#: tools/ascli-utils.c:274 +msgid "Icon" +msgstr "Ikonoa" + +#. developer name +#: tools/ascli-utils.c:294 +msgid "Developer" +msgstr "Garatzailea" + +#: tools/ascli-utils.c:300 +msgid "Extends" msgstr "" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:244 -#, c-format -msgid "pedantic: %lu" +#: tools/ascli-utils.c:306 +msgid "Description" msgstr "" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:230 -#, c-format -msgid "warnings: %lu" +#: tools/ascli-utils.c:326 +msgid "Default Screenshot URL" +msgstr "" + +#. project group +#: tools/ascli-utils.c:333 +msgid "Project Group" msgstr "" -#~ msgid "Command '%s' is unknown." -#~ msgstr "'%s' komandoa ezezaguna da." +#. license +#: tools/ascli-utils.c:336 +msgid "License" +msgstr "Lizentzia" -#, fuzzy -#~ msgid "Category of Games" -#~ msgstr "Kategoriak" +#: tools/ascli-utils.c:342 +msgid "Categories" +msgstr "Kategoriak" -#, fuzzy -#~ msgid "Category of Office" -#~ msgstr "Kategoriak" +#: tools/ascli-utils.c:350 +msgid "Compulsory for" +msgstr "" -#, fuzzy -#~ msgid "Category of Science" -#~ msgstr "Kategoriak" +#: tools/ascli-utils.c:378 +msgid "Provided Items" +msgstr "" diff -Nru appstream-0.12.10/po/fi.po appstream-0.14.5/po/fi.po --- appstream-0.12.10/po/fi.po 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/po/fi.po 2021-08-28 20:15:28.000000000 +0000 @@ -1,3 +1,4 @@ +# #-#-#-#-# fi.po (AppStream) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Matthias Klumpp # This file is distributed under the same license as the appstream package. @@ -5,1557 +6,2539 @@ # Jiri Grönroos , 2014 # Ville Skyttä , 2016 # Juhani Numminen , 2017 +# #-#-#-#-# fi.po (appstream-glib) #-#-#-#-# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Jiri Grönroos , 2014 +# Ville Skyttä , 2016 +# Richard Hughes , 2016. #zanata +# Jiri Grönroos , 2017. #zanata +#, fuzzy msgid "" msgstr "" -"Project-Id-Version: AppStream\n" +"Project-Id-Version: appstream-glib\n" "Report-Msgid-Bugs-To: appstream@lists.freedesktop.org\n" -"POT-Creation-Date: 2020-01-14 01:44+0100\n" -"PO-Revision-Date: 2019-01-29 21:08+0000\n" -"Last-Translator: Ammuu5 \n" -"Language-Team: Finnish \n" +"POT-Creation-Date: 2021-08-28 16:09+0200\n" +"PO-Revision-Date: 2017-03-26 08:23+0000\n" +"Last-Translator: Jiri Grönroos \n" +"Language-Team: Finnish (http://www.transifex.com/freedesktop/appstream-glib/" +"language/fi/)\n" "Language: fi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"#-#-#-#-# fi.po (AppStream) #-#-#-#-#\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 3.5-dev\n" +"#-#-#-#-# fi.po (appstream-glib) #-#-#-#-#\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Zanata 4.6.2\n" -#: tools/appstream-cli.c:157 -#, c-format -msgid "'%s' command" -msgstr "”%s”-komento" - -#: src/as-category.c:168 -msgctxt "Category of Graphics" -msgid "3D Graphics" -msgstr "3D-grafiikka" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:254 -msgid "" -"A 'requires' or 'recommends' item requires a value to denote a valid " -"relation." -msgstr "" +#: data/org.freedesktop.appstream.cli.metainfo.xml:8 +msgid "AppStream CLI" +msgstr "AppStream-komentorivityökalu" -#: src/as-validator-issue-tag.h:51 -msgid "" -"A tag must not be localized in metainfo files (upstream " -"metadata). Localize the individual paragraphs instead." +#: data/org.freedesktop.appstream.cli.metainfo.xml:9 +msgid "An utility to work with AppStream metadata" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:195 +#: data/org.freedesktop.appstream.cli.metainfo.xml:12 msgid "" -"A screenshot must contain at least one image or video in order to be useful. " -"Please add an to it." +"AppStream is a metadata specification which permits software components to " +"provide information about themselves to automated systems and end-users " +"before the software is actually installed. The AppStream project provides " +"facilities to easily access and transform this metadata, as well as a few " +"additional services for building feature-rich software centers and similar " +"applications that make use of software metadata." msgstr "" -#: src/as-validator-issue-tag.h:200 +#: data/org.freedesktop.appstream.cli.metainfo.xml:18 msgid "" -"A screenshot must contain either images or videos, but not both at the same " -"time. Please use this screenshot exclusively for either static images or for " -"videos." +"The appstreamcli command-line tool allows to read, write, and " +"transform AppStream XML or YAML metadata as well as to validate it for " +"compliance with the specification. It also provides easy access to the " +"system metadata pool, for example to query for software that provides a " +"specific Mediatype handler or for installing software by its component " +"identifier." msgstr "" -#: src/as-category.c:123 -msgctxt "Category of Games" -msgid "Action" -msgstr "Toiminta" - -#. TRANSLATORS: this is the main category for Add-ons -#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor -#: src/as-category.c:320 tools/ascli-utils.c:398 -msgid "Add-ons" -msgstr "Lisäosat" - -#: src/as-category.c:126 -msgctxt "Category of Games" -msgid "Adventure" -msgstr "Seikkailu" +#: src/as-category.c:66 +msgctxt "Category of AudioVideo" +msgid "Featured" +msgstr "Esittelyssä" -#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) -#: tools/appstream-cli.c:116 -msgid "Also show pedantic hints." -msgstr "Näytä myös pedanttiset ohjeet." +#: src/as-category.c:69 +msgctxt "Category of AudioVideo" +msgid "Audio Creation & Editing" +msgstr "Äänen muokkaus" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:497 -msgid "" -"An 'extends' tag is specified, but the component is not of type 'addon', " -"'localization' or 'repository'." -msgstr "" +#: src/as-category.c:75 +msgctxt "Category of AudioVideo" +msgid "Music Players" +msgstr "Musiikkitoistimet" -#: tools/appstream-cli.c:850 -msgid "An item type (e.g. lib, bin, python3, …)" +#: src/as-category.c:84 +msgctxt "Category of Development" +msgid "Featured" msgstr "" -#: data/org.freedesktop.appstream.cli.metainfo.xml:9 -msgid "An utility to work with AppStream metadata" +#: src/as-category.c:87 +msgctxt "Category of Development" +msgid "Debuggers" msgstr "" -#: data/org.freedesktop.appstream.cli.metainfo.xml:8 -msgid "AppStream CLI" -msgstr "AppStream-komentorivityökalu" +#: src/as-category.c:90 +msgctxt "Category of Development" +msgid "IDEs" +msgstr "Kehitysympäristöt" -#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. -#: tools/appstream-cli.c:947 -#, c-format -msgid "" -"AppStream CLI tool version: %s\n" -"AppStream library version: %s" +#: src/as-category.c:99 +msgctxt "Category of Education" +msgid "Featured" msgstr "" -"AppStream-komentorivityökalun versio: %s\n" -"AppStream-kirjaston versio: %s" -#. TRANSLATORS: In the status report of ascli: Header -#: tools/ascli-actions-misc.c:47 -msgid "AppStream Status:" -msgstr "AppStreamin tila:" - -#. we performed a cache refresh -#. TRANSLATORS: Updating the metadata cache succeeded -#: tools/ascli-actions-mdata.c:80 -msgid "AppStream cache update completed successfully." -msgstr "AppStreamin välimuisti päivitetty onnistuneesti." +#: src/as-category.c:102 +msgctxt "Category of Education" +msgid "Astronomy" +msgstr "Astronomia" -#. cache wasn't updated, so the update wasn't necessary -#: tools/ascli-actions-mdata.c:86 -msgid "AppStream cache update is not necessary." -msgstr "AppStreamin välimuistin päivittäminen ei ole tarpeellista." +#: src/as-category.c:105 +msgctxt "Category of Education" +msgid "Chemistry" +msgstr "Kemia" -#. TRANSLATORS: This is the header to the --help menu for subcommands -#. TRANSLATORS: This is the header to the --help menu -#: tools/appstream-cli.c:154 tools/appstream-cli.c:843 -msgid "AppStream command-line interface" -msgstr "AppStreamin komentorivikäyttöliittymä" +#: src/as-category.c:108 +msgctxt "Category of Education" +msgid "Languages" +msgstr "Kielet" -#: src/as-validator-issue-tag.h:63 -msgid "" -"AppStream descriptions support only a limited set of tags to format text: " -"Paragraphs (

                                                                                                                                ) and lists (

                                                                                                                                  ,
                                                                                                                                    ). This description markup contains " -"an invalid XML tag that would not be rendered correctly in applications " -"supporting the metainfo specification." -msgstr "" +#: src/as-category.c:112 +msgctxt "Category of Education" +msgid "Math" +msgstr "Matematiikka" -#: data/org.freedesktop.appstream.cli.metainfo.xml:12 -msgid "" -"AppStream is a cross-distribution specification to provide metadata about " -"software components." +#: src/as-category.c:121 +msgctxt "Category of Games" +msgid "Featured" msgstr "" -#: src/as-pool.c:1937 -#, c-format -msgid "" -"AppStream system cache refresh failed. Turn on verbose mode to get detailed " -"issue information." -msgstr "" +#: src/as-category.c:124 +msgctxt "Category of Games" +msgid "Action" +msgstr "Toiminta" -#. TRANSLATORS: Output if appstreamcli --version is executed. -#: tools/appstream-cli.c:944 -#, c-format -msgid "AppStream version: %s" -msgstr "AppStream-versio: %s" +#: src/as-category.c:127 +msgctxt "Category of Games" +msgid "Adventure" +msgstr "Seikkailu" -#: src/as-category.c:129 +#: src/as-category.c:130 msgctxt "Category of Games" msgid "Arcade" msgstr "Arcade" -#: src/as-category.c:234 -msgctxt "Category of Science" -msgid "Artificial Intelligence" -msgstr "Tekoäly" - -#: src/as-validator-issue-tag.h:91 -msgid "" -"As per AppStream specification, the mentioned tag must only appear once in " -"this context. Having multiple tags of this kind is not valid." -msgstr "" - -#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command -#: tools/appstream-cli.c:766 -msgid "Assume the input file is in the selected format ('yaml' or 'text')." -msgstr "" - -#: src/as-category.c:101 -msgctxt "Category of Education" -msgid "Astronomy" -msgstr "Astronomia" - -#: src/as-category.c:237 -msgctxt "Category of Science" -msgid "Astronomy" -msgstr "Astronomia" - -#. TRANSLATORS: this is the menu spec main category for Audio & Video -#: src/as-category.c:302 -msgid "Audio & Video" -msgstr "Ääni ja video" - -#: src/as-category.c:68 -msgctxt "Category of AudioVideo" -msgid "Audio Creation & Editing" -msgstr "Äänen muokkaus" - -#: tools/ascli-actions-misc.c:219 -#, c-format -msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." -msgstr "" - -#: src/as-provided.c:146 -msgid "Binaries" -msgstr "Binääritiedostoja" - -#: src/as-category.c:132 +#: src/as-category.c:133 msgctxt "Category of Games" msgid "Blocks" msgstr "Palikat" -#: src/as-category.c:135 +#: src/as-category.c:136 msgctxt "Category of Games" msgid "Board" msgstr "Lauta" -#: tools/ascli-utils.c:299 -msgid "Bundle" -msgstr "" - -#: src/as-pool.c:1828 -#, c-format -msgid "Cache location '%s' is not writable." -msgstr "Välimuistin sijaintiin ”%s” ei voi kirjoittaa." - -#: src/as-category.c:191 -msgctxt "Category of Office" -msgid "Calendar" -msgstr "Kalenteri" - -#: tools/ascli-actions-mdata.c:327 -#, c-format -msgid "" -"Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " -"suffix." -msgstr "" -"Ei voida kopioida tiedostoa ”%s”: Tiedostopääte ei ole ”.metainfo.xml” tai”." -"appdata.xml”." - -#: src/as-category.c:138 +#: src/as-category.c:139 msgctxt "Category of Games" msgid "Card" msgstr "Kortit" -#: tools/ascli-utils.c:369 -msgid "Categories" -msgstr "Luokat" +#: src/as-category.c:142 +msgctxt "Category of Games" +msgid "Emulators" +msgstr "Emulaattorit" -#: src/as-category.c:259 -msgctxt "Category of Communication" -msgid "Chat" -msgstr "Keskustelu" +#: src/as-category.c:145 +msgctxt "Category of Games" +msgid "Kids" +msgstr "Lasten pelit" -#: src/as-category.c:104 -msgctxt "Category of Education" -msgid "Chemistry" -msgstr "Kemia" +#: src/as-category.c:148 +msgctxt "Category of Games" +msgid "Logic" +msgstr "Logiikka" -#: src/as-category.c:240 -msgctxt "Category of Science" -msgid "Chemistry" -msgstr "Kemia" +#: src/as-category.c:151 +msgctxt "Category of Games" +msgid "Role Playing" +msgstr "Roolipelit" -#: src/as-category.c:214 -msgctxt "Category of Addons" -msgid "Codecs" -msgstr "Koodekit" +#: src/as-category.c:154 +msgctxt "Category of Games" +msgid "Sports" +msgstr "Urheilu" -#. TRANSLATORS: this is the menu spec main category for Communication -#: src/as-category.c:326 -msgid "Communication & News" -msgstr "Viestintä ja uutiset" +#: src/as-category.c:158 +msgctxt "Category of Games" +msgid "Strategy" +msgstr "Strategia" -#: tools/appstream-cli.c:866 -msgid "Compare two version numbers." +#: src/as-category.c:166 +msgctxt "Category of Graphics" +msgid "Featured" msgstr "" -#: src/as-provided.c:166 -msgid "Component" -msgstr "Komponentti" - -#. TRANSLATORS: We found no distribution package or bundle to install to make this software available -#: tools/ascli-actions-pkgmgr.c:106 -#, c-format -msgid "Component '%s' has no installation candidate." -msgstr "" +#: src/as-category.c:169 +msgctxt "Category of Graphics" +msgid "3D Graphics" +msgstr "3D-grafiikka" -#: tools/ascli-utils.c:377 -msgid "Compulsory for" -msgstr "Tarvitaan työpöytäympäristössä" +#: src/as-category.c:172 +msgctxt "Category of Graphics" +msgid "Photography" +msgstr "Valokuvaus" -#: src/as-validator-issue-tag.h:361 -msgid "Consider using a secure (HTTPS) URL for the remote icon link." -msgstr "" +#: src/as-category.c:175 +msgctxt "Category of Graphics" +msgid "Scanning" +msgstr "Skannaus" -#: src/as-validator-issue-tag.h:383 -msgid "Consider using a secure (HTTPS) URL for this web link." -msgstr "" +#: src/as-category.c:178 +msgctxt "Category of Graphics" +msgid "Vector Graphics" +msgstr "Vektorigrafiikka" -#: src/as-validator-issue-tag.h:189 -msgid "" -"Consider using a secure (HTTPS) URL to reference this screenshot image or " -"video." +#: src/as-category.c:181 +msgctxt "Category of Graphics" +msgid "Viewers" +msgstr "Kuvankatselimet" + +#: src/as-category.c:189 +msgctxt "Category of Office" +msgid "Featured" msgstr "" -#: tools/appstream-cli.c:870 -msgid "Convert a YAML or text NEWS file into metainfo releases." +#: src/as-category.c:192 +msgctxt "Category of Office" +msgid "Calendar" +msgstr "Kalenteri" + +#: src/as-category.c:196 +msgctxt "Category of Office" +msgid "Database" +msgstr "Tietokannat" + +#: src/as-category.c:199 +msgctxt "Category of Office" +msgid "Finance" +msgstr "Rahoitus" + +#: src/as-category.c:203 +msgctxt "Category of Office" +msgid "Word Processor" +msgstr "Tekstinkäsittely" + +#: src/as-category.c:212 +msgctxt "Category of Addons" +msgid "Fonts" +msgstr "Fontit" + +#: src/as-category.c:215 +msgctxt "Category of Addons" +msgid "Codecs" +msgstr "Koodekit" + +#: src/as-category.c:218 +msgctxt "Category of Addons" +msgid "Input Sources" +msgstr "Syöttötavat" + +#: src/as-category.c:221 +msgctxt "Category of Addons" +msgid "Language Packs" +msgstr "Kielipaketit" + +#: src/as-category.c:224 +msgctxt "Category of Addons" +msgid "Localization" +msgstr "Kotoistus" + +#: src/as-category.c:232 +msgctxt "Category of Science" +msgid "Featured" msgstr "" -#. TRANSLATORS: "convert" command in ascli. "Collection XML" is a term describing a specific type of AppStream XML data. -#: tools/appstream-cli.c:865 -msgid "Convert collection XML to YAML or vice versa." -msgstr "Muuta keräilty XML YAML-muotoon tai toisin päin." +#: src/as-category.c:235 +msgctxt "Category of Science" +msgid "Artificial Intelligence" +msgstr "Tekoäly" -#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results -#: tools/ascli-actions-mdata.c:228 +#: src/as-category.c:238 +msgctxt "Category of Science" +msgid "Astronomy" +msgstr "Astronomia" + +#: src/as-category.c:241 +msgctxt "Category of Science" +msgid "Chemistry" +msgstr "Kemia" + +#: src/as-category.c:244 +msgctxt "Category of Science" +msgid "Math" +msgstr "Matematiikka" + +#: src/as-category.c:249 +msgctxt "Category of Science" +msgid "Robotics" +msgstr "Robotiikka" + +#: src/as-category.c:257 +msgctxt "Category of Communication" +msgid "Featured" +msgstr "" + +#: src/as-category.c:260 +msgctxt "Category of Communication" +msgid "Chat" +msgstr "Keskustelu" + +#: src/as-category.c:267 +msgctxt "Category of Communication" +msgid "News" +msgstr "Uutiset" + +#: src/as-category.c:271 +msgctxt "Category of Communication" +msgid "Web Browsers" +msgstr "Selaimet" + +#: src/as-category.c:279 +msgctxt "Category of Utility" +msgid "Featured" +msgstr "" + +#: src/as-category.c:282 +msgctxt "Category of Utility" +msgid "Text Editors" +msgstr "Tekstimuokkaimet" + +#: src/as-category.c:285 +msgctxt "Category of Utility" +msgid "Terminal Emulators" +msgstr "Pääte-emulaattorit" + +#: src/as-category.c:288 +msgctxt "Category of Utility" +msgid "File System" +msgstr "Tiedostojärjestelmä" + +#: src/as-category.c:291 +msgctxt "Category of Utility" +msgid "System Monitoring" +msgstr "Järjestelmänvalvonta" + +#: src/as-category.c:294 +msgctxt "Category of Utility" +msgid "Security" +msgstr "Tietoturva" + +#. TRANSLATORS: this is the menu spec main category for Audio & Video +#: src/as-category.c:303 +msgid "Audio & Video" +msgstr "Ääni ja video" + +#. TRANSLATORS: this is the menu spec main category for Development +#: src/as-category.c:306 +msgid "Developer Tools" +msgstr "Kehitystyökalut" + +#. TRANSLATORS: this is the menu spec main category for Education +#: src/as-category.c:309 +msgid "Education" +msgstr "Opetus" + +#. TRANSLATORS: this is the menu spec main category for Game +#: src/as-category.c:312 +msgid "Games" +msgstr "Pelit" + +#. TRANSLATORS: this is the menu spec main category for Graphics +#: src/as-category.c:315 +msgid "Graphics & Photography" +msgstr "Grafiikka ja valokuvaus" + +#. TRANSLATORS: this is the menu spec main category for Office +#: src/as-category.c:318 +msgid "Office" +msgstr "Toimisto" + +#. TRANSLATORS: this is the main category for Add-ons +#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor +#: src/as-category.c:321 tools/ascli-utils.c:371 +msgid "Add-ons" +msgstr "Lisäosat" + +#. TRANSLATORS: this is the menu spec main category for Science +#: src/as-category.c:324 +msgid "Science" +msgstr "Tiede" + +#. TRANSLATORS: this is the menu spec main category for Communication +#: src/as-category.c:327 +msgid "Communication & News" +msgstr "Viestintä ja uutiset" + +#. TRANSLATORS: this is the menu spec main category for Utilities +#: src/as-category.c:330 +msgid "Utilities" +msgstr "Apuohjelmat" + +#. TRANSLATORS: This is the formatting of English and localized name +#. * of the rating e.g. "Adults Only (solo adultos)" +#: src/as-content-rating.c:298 +#, c-format +msgid "%s (%s)" +msgstr "%s (%s)" + +#: src/as-content-rating.c:444 +msgid "General" +msgstr "Yleinen" + +#: src/as-content-rating.c:453 +msgid "ALL" +msgstr "KAIKKI" + +#: src/as-content-rating.c:457 src/as-content-rating.c:560 +msgid "Adults Only" +msgstr "Vain aikuiset" + +#: src/as-content-rating.c:459 src/as-content-rating.c:559 +msgid "Mature" +msgstr "Aikuiset" + +#: src/as-content-rating.c:461 src/as-content-rating.c:558 +msgid "Teen" +msgstr "Teinit" + +#: src/as-content-rating.c:463 src/as-content-rating.c:557 +msgid "Everyone 10+" +msgstr "10+-vuotiaat" + +#: src/as-content-rating.c:465 src/as-content-rating.c:556 +msgid "Everyone" +msgstr "Kaikki" + +#: src/as-content-rating.c:467 src/as-content-rating.c:555 +msgid "Early Childhood" +msgstr "Varhaislapsuus" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:839 +msgid "No cartoon violence" +msgstr "Ei piirroksilla esitettävää väkivaltaa" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:841 +msgid "Cartoon characters in unsafe situations" +msgstr "Piirroshahmoja vaarallisissa tilanteissa" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:843 +msgid "Cartoon characters in aggressive conflict" +msgstr "Piirroshahmot aggressiivisessa ristiriidassa" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:845 +msgid "Graphic violence involving cartoon characters" +msgstr "Graafista väkivaltaa, johon liittyy piirroshahmoja" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:850 +msgid "No fantasy violence" +msgstr "Ei fantasiaan liittyvää väkivaltaa" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:852 +msgid "Characters in unsafe situations easily distinguishable from reality" +msgstr "" +"Hahmoja vaarallisissa tilanteissa, helposti todellisuudesta erotettavissa" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:854 +msgid "Characters in aggressive conflict easily distinguishable from reality" +msgstr "" +"Hahmoja aggressiivisessa ristiriidassa, helposti todellisuudesta " +"erotettavissa" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:856 +msgid "Graphic violence easily distinguishable from reality" +msgstr "Graafista väkivaltaa, helposti todellisuudesta erotettavissa" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:861 +msgid "No realistic violence" +msgstr "Ei realistista väkivaltaa" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:863 +msgid "Mildly realistic characters in unsafe situations" +msgstr "Tunnistettavia hahmoja vaarallisissa tilanteissa" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:865 +msgid "Depictions of realistic characters in aggressive conflict" +msgstr "Kuvauksia todellisista hahmoista aggressiivisessa ristiriidassa" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:867 +msgid "Graphic violence involving realistic characters" +msgstr "Graafista väkivaltaa, johon sisältyy todellisia hahmoja" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:872 +msgid "No bloodshed" +msgstr "Ei verilöylyä" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:874 +msgid "Unrealistic bloodshed" +msgstr "Epärealistinen verilöyly" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:876 +msgid "Realistic bloodshed" +msgstr "Realistinen verilöyly" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:878 +msgid "Depictions of bloodshed and the mutilation of body parts" +msgstr "Kuvauksia verilöylystä ja ruumiinosien silpomista" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:883 +msgid "No sexual violence" +msgstr "Ei seksuaalista väkivaltaa" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:885 +msgid "Rape or other violent sexual behavior" +msgstr "Raiskaus tai muuta väkivaltaista seksuaalista käytöstä" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:892 +msgid "No references to alcohol" +msgstr "Ei viittauksia alkoholituotteisiin" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:894 +msgid "References to alcoholic beverages" +msgstr "Viittauksia alkoholituotteisiin" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:896 +msgid "Use of alcoholic beverages" +msgstr "Alkoholin käyttöä" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:902 +msgid "No references to illicit drugs" +msgstr "Ei viittauksia laittomiin huumausaineisiin" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:904 +msgid "References to illicit drugs" +msgstr "Viittauksia laittomiin huumausaineisiin" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:906 +msgid "Use of illicit drugs" +msgstr "Laittomien huumausaineiden käyttöä" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:912 +msgid "No references to tobacco products" +msgstr "Ei viittauksia tupakkatuotteisiin" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:914 +msgid "References to tobacco products" +msgstr "Viittauksia tupakkatuotteisiin" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:916 +msgid "Use of tobacco products" +msgstr "Tupakan polttamista" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:922 +msgid "No nudity of any sort" +msgstr "Ei minkäänlaista alastomuutta" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:924 +msgid "Brief artistic nudity" +msgstr "Hetkellistä taiteellista alastomuutta" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:926 +msgid "Prolonged nudity" +msgstr "Pitkäkestoista alastomuutta" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:932 +msgid "No references to or depictions of sexual nature" +msgstr "Ei seksuaalisia viittauksia tai kuvauksia" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:934 +msgid "Provocative references or depictions" +msgstr "Provokatiivisia viittauksia tai kuvauksia" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:936 +msgid "Sexual references or depictions" +msgstr "Seksuaalisia viittauksia tai kuvauksia" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:938 +msgid "Graphic sexual behavior" +msgstr "Graafista seksuaalista käytöstä" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:943 +msgid "No profanity of any kind" +msgstr "Ei minkäänlaista kiroilua" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:945 +msgid "Mild or infrequent use of profanity" +msgstr "Vähäistä tai epäsäännöllistä kiroilua" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:947 +msgid "Moderate use of profanity" +msgstr "Keskitason kiroilua" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:949 +msgid "Strong or frequent use of profanity" +msgstr "Vahvaa tai säännöllistä kiroilua" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:954 +msgid "No inappropriate humor" +msgstr "Ei epäasiallista huumoria" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:956 +msgid "Slapstick humor" +msgstr "Kermakakkukomiikkaa" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:958 +msgid "Vulgar or bathroom humor" +msgstr "Alatyylistä wc-huumoria" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:960 +msgid "Mature or sexual humor" +msgstr "Aikuismaista tai seksuaalista huumoria" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:965 +msgid "No discriminatory language of any kind" +msgstr "Ei minkäänlaista syrjivää kieltä" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:967 +msgid "Negativity towards a specific group of people" +msgstr "Kielteisyyttä tiettyä ihmisryhmää kohtaan" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:969 +msgid "Discrimination designed to cause emotional harm" +msgstr "Syrjintää tarkoituksena aiheuttaa tunteellista epämukavuutta" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:971 +msgid "Explicit discrimination based on gender, sexuality, race or religion" +msgstr "" +"Syrjintää kohdistuen sukupuoleen, seksuaalisuuteen, rotuun tai uskontoon" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:976 +msgid "No advertising of any kind" +msgstr "Ei minkäänlaisia mainoksia" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:978 +msgid "Product placement" +msgstr "Tuotesijoittelua" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:980 +msgid "Explicit references to specific brands or trademarked products" +msgstr "Selkeitä viittauksia tiettyyn brändiin tai tavaramerkkiin" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:982 +msgid "Users are encouraged to purchase specific real-world items" +msgstr "Käyttäjiä kehotetaan ostamaan tiettyjä todellisia esineitä" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:987 +msgid "No gambling of any kind" +msgstr "Ei minkäänlaista uhkapeliä" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:989 +msgid "Gambling on random events using tokens or credits" +msgstr "Satunnaista uhkapeliä pelinappuloita käyttäen" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:991 +msgid "Gambling using “play” money" +msgstr "Uhkapeliä käyttäen pelin sisäistä rahaa" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:993 +msgid "Gambling using real money" +msgstr "Uhkapeliä käyttäen oikeaa rahaa" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:998 +msgid "No ability to spend money" +msgstr "Ei mahdollisuutta käyttää oikeaa rahaa" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1000 +msgid "Users are encouraged to donate real money" +msgstr "Käyttäjiä kehotetaan lahjoittamaan oikeaa rahaa" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1003 +msgid "Ability to spend real money in-app" +msgstr "Mahdollisuus käyttää oikeaa rahaa sovelluksessa" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1008 +msgid "No way to chat with other users" +msgstr "Ei mahdollisuutta keskustella muiden käyttäjien kanssa" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1010 +msgid "User-to-user interactions without chat functionality" +msgstr "Käyttäjien välistä vuorovaikutusta ilman keskustelumahdollisuutta" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1012 +msgid "Moderated chat functionality between users" +msgstr "Valvottu keskusteluominaisuus käyttäjien välillä" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1014 +msgid "Uncontrolled chat functionality between users" +msgstr "Valvomaton keskusteluominaisuus käyttäjien välillä" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1019 +msgid "No way to talk with other users" +msgstr "Ei mahdollisuutta puhua muiden käyttäjien kanssa" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1021 +msgid "Uncontrolled audio or video chat functionality between users" +msgstr "Valvomaton ääni- tai videokeskusteluominaisuus käyttäjien välillä" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1028 +msgid "No sharing of social network usernames or email addresses" +msgstr "" +"Ei sosiaalisen median käyttäjätunnusten tai sähköpostiosoitteiden jakamista" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1030 +msgid "Sharing social network usernames or email addresses" +msgstr "" +"Sosiaalisen median käyttäjätunnusten tai sähköpostiosoitteiden jakamista" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1037 +msgid "No sharing of user information with third parties" +msgstr "Ei käyttäjätiedon jakamista kolmansien osapuolten kanssa" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1039 +msgid "Checking for the latest application version" +msgstr "Tarkistetaan viimeisintä sovellusversiota" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1041 +msgid "Sharing diagnostic data that does not let others identify the user" +msgstr "Jakaa diagnostiikkatietoja, jotka eivät ole yhdistettävissä käyttäjään" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1043 +msgid "Sharing information that lets others identify the user" +msgstr "Jakaa käyttäjään yhdistettävissä olevia tietoja" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1048 +msgid "No sharing of physical location with other users" +msgstr "Ei fyysisen sijainnin jakamista muille käyttäjille" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1050 +msgid "Sharing physical location with other users" +msgstr "Fyysisen sijainnin jakamista muille käyttäjille" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1073 +msgid "No references to homosexuality" +msgstr "Ei viittauksia homoseksuaalisuuteen" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1075 +msgid "Indirect references to homosexuality" +msgstr "Epäsuoria viittauksia homoseksuaalisuuteen" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1077 +msgid "Kissing between people of the same gender" +msgstr "Suutelua samaa sukupuolta olevien kesken" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1079 +msgid "Graphic sexual behavior between people of the same gender" +msgstr "Graafista seksuaalista käyttäytymistä samaa sukupuolta olevien kesken" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1084 +msgid "No references to prostitution" +msgstr "Ei viittauksia prostituutioon" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1086 +msgid "Indirect references to prostitution" +msgstr "Epäsuoria viittauksia prosituutioon" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1088 +msgid "Direct references to prostitution" +msgstr "Suoria viittauksia prosituutioon" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1090 +msgid "Graphic depictions of the act of prostitution" +msgstr "Graafisia kuvauksia prostituutioon liittyvistä toimista" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1095 +msgid "No references to adultery" +msgstr "Ei viittauksia haureuteen" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1097 +msgid "Indirect references to adultery" +msgstr "Epäsuoria viittauksia haureuteen" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1099 +msgid "Direct references to adultery" +msgstr "Suoria viittauksia haureuteen" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1101 +msgid "Graphic depictions of the act of adultery" +msgstr "Graafisia kuvauksia haureuteen liittyvistä toimista" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1106 +msgid "No sexualized characters" +msgstr "Ei seksualisoituja hahmoja" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1109 +msgid "Scantily clad human characters" +msgstr "Vähävaatteisia ihmishahmoja" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1111 +msgid "Overtly sexualized human characters" +msgstr "Avoimesti seksualisoituja ihmishahmoja" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1116 +msgid "No references to desecration" +msgstr "Ei viittauksia häpäisyyn" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1118 +msgid "Depictions of or references to historical desecration" +msgstr "Kuvauksia tai viittauksia historialliseen häpäisyyn" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1120 +msgid "Depictions of modern-day human desecration" +msgstr "Kuvauksia nykypäivän ihmishäpäisystä" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1122 +msgid "Graphic depictions of modern-day desecration" +msgstr "Graafisia kuvauksia nykypäivän häpäisystä" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1127 +msgid "No visible dead human remains" +msgstr "Ei näkyviä kuolleen ihmisen jäännöksiä" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1129 +msgid "Visible dead human remains" +msgstr "Näkyviä kuolleen ihmisen jäännöksiä" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1131 +msgid "Dead human remains that are exposed to the elements" +msgstr "Kuolleen ihmisen jäännöksiä, jotka altistetaan elementeille" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1133 +msgid "Graphic depictions of desecration of human bodies" +msgstr "Graafisia kuvauksia tai häpäisyä liittyen ihmisruumiisiin" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1138 +msgid "No references to slavery" +msgstr "Ei viittauksia orjuuteen" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1140 +msgid "Depictions of or references to historical slavery" +msgstr "Kuvauksia tai viittauksia historialliseen orjuuteen" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1142 +msgid "Depictions of modern-day slavery" +msgstr "Kuvauksia nykypäivän orjuudesta" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1144 +msgid "Graphic depictions of modern-day slavery" +msgstr "Graafisia kuvauksia nykypäivän orjuudesta" + +#. TRANSLATORS: We got a 429 error while trying to download data +#: src/as-curl.c:134 #, c-format -msgid "Could not find component providing '%s::%s'." -msgstr "Ei löydetty komponenttia, joka tarjoaisi ”%s::%s”." +msgid "Failed to download due to server limit" +msgstr "" -#: tools/appstream-cli.c:869 -msgid "Create a XDG desktop-entry file from a metainfo file." +#: src/as-curl.c:141 src/as-curl.c:148 +#, fuzzy, c-format +msgid "Failed to download file: %s" +msgstr ".desktop-tiedostoa ei voida lukea: %s" + +#. TRANSLATORS: We tried to download an URL, but received a 404 error code +#: src/as-curl.c:157 +#, c-format +msgid "URL was not found on the server." +msgstr "" + +#. TRANSLATORS: We received an uexpected HTTP status code while talking to a server, likely an error +#: src/as-curl.c:164 +#, c-format +msgid "Unexpected status code: %ld" +msgstr "" + +#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty +#: src/as-curl.c:247 +#, c-format +msgid "Retrieved file size was zero." +msgstr "" + +#. TRANSLATORS: List of "grey-listed" words sperated with ";" +#. * Do not translate this list directly. Instead, +#. * provide a list of words in your language that people are likely +#. * to include in a search but that should normally be ignored in +#. * the search. +#. +#: src/as-pool.c:111 +msgid "app;application;package;program;programme;suite;tool" msgstr "" -#: tools/appstream-cli.c:868 +#: src/as-pool.c:620 +msgid "Unable to remove old cache." +msgstr "" + +#: src/as-pool.c:963 +msgid "Metadata files have errors:" +msgstr "Metadata-tiedostoissa on virheitä:" + +#: src/as-pool.c:1370 msgid "" -"Create a template for a metainfo file (to be filled out by the upstream " -"project)." -msgstr "Luo metainfo-tiedoston malli (johon pitää vielä täyttää kohtia)." +"Many components have been recognized as invalid. See debug output for " +"details." +msgstr "" -#: tools/ascli-actions-misc.c:228 +#: src/as-pool.c:1996 #, c-format -msgid "Creating new desktop-entry file '%s' using data from '%s'" +msgid "Cache location '%s' is not writable." +msgstr "Välimuistin sijaintiin ”%s” ei voi kirjoittaa." + +#: src/as-pool.c:2109 +msgid "" +"The AppStream system cache was updated, but some components were ignored. " +"Refer to the verbose log for more information." msgstr "" -#: src/as-provided.c:160 -msgid "D-Bus Session Services" +#: src/as-pool.c:2111 +#, fuzzy, c-format +msgid "" +"The AppStream system cache was updated, but problems were found which " +"resulted in metadata being ignored: %s" +msgstr "" +"AppStreamin järjestelmävälimuisti päivitettiin, mutta havaittiin ongelmia: %s" + +#: src/as-pool.c:2125 +#, c-format +msgid "" +"AppStream system cache refresh failed. Turn on verbose mode to get detailed " +"issue information." msgstr "" +#: src/as-provided.c:144 +msgid "Libraries" +msgstr "Kirjastot" + +#: src/as-provided.c:146 +msgid "Binaries" +msgstr "Binääritiedostoja" + +#: src/as-provided.c:148 +#, fuzzy +msgid "Media types" +msgstr "MIME-tyypit" + +#: src/as-provided.c:150 +msgid "Fonts" +msgstr "Fontit" + +#: src/as-provided.c:152 +msgid "Modaliases" +msgstr "" + +#: src/as-provided.c:154 +msgid "Python (Version 2)" +msgstr "Python (versio 2)" + +#: src/as-provided.c:156 +msgid "Python 3" +msgstr "Python 3" + #: src/as-provided.c:158 msgid "D-Bus System Services" msgstr "" -#: src/as-category.c:195 -msgctxt "Category of Office" -msgid "Database" -msgstr "Tietokannat" +#: src/as-provided.c:160 +msgid "D-Bus Session Services" +msgstr "" -#: src/as-category.c:86 -msgctxt "Category of Development" -msgid "Debuggers" +#: src/as-provided.c:162 +msgid "Runtime Firmware" msgstr "" -#: tools/ascli-utils.c:353 -msgid "Default Screenshot URL" -msgstr "Oletusnäyttökuvan URL" +#: src/as-provided.c:164 +msgid "Flashed Firmware" +msgstr "" -#. TRANSLATORS: ascli flag description for: --format -#: tools/appstream-cli.c:83 -msgid "Default metadata format (valid values are 'xml' and 'yaml')." -msgstr "Metadatan oletusmuoto (vaihtoehdot: ”xml” tai ”yaml”)." +#: src/as-provided.c:166 +msgid "Component" +msgstr "Komponentti" -#: tools/ascli-utils.c:333 -msgid "Description" -msgstr "Kuvaus" +#: src/as-validator-issue-tag.h:41 +msgid "This tag requires a type property." +msgstr "" -#. developer name -#: tools/ascli-utils.c:321 -msgid "Developer" -msgstr "Kehittäjä" +#: src/as-validator-issue-tag.h:46 +msgid "Tags of this name are not permitted in this section." +msgstr "" -#. TRANSLATORS: this is the menu spec main category for Development -#: src/as-category.c:305 -msgid "Developer Tools" -msgstr "Kehitystyökalut" +#: src/as-validator-issue-tag.h:51 +msgid "" +"A tag must not be localized in metainfo files (upstream " +"metadata). Localize the individual paragraphs instead." +msgstr "" -#: tools/appstream-cli.c:862 -msgid "Display status information about available AppStream metadata." -msgstr "Näytä tilatietoja saatavilla olevista AppStream-metatiedoista." +#: src/as-validator-issue-tag.h:57 +msgid "" +"This element (paragraph, list, etc.) of a tag must not be " +"localized individually in collection metadata. Localize the whole " +" tag instead. The AppStream collection metadata generator (e." +"g. `appstream-generator`) will already do the right thing when compiling the " +"data." +msgstr "" -#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions -#: tools/ascli-actions-misc.c:52 -msgid "Distribution metadata:" +#: src/as-validator-issue-tag.h:63 +msgid "" +"AppStream descriptions support only a limited set of tags to format text: " +"Paragraphs (

                                                                                                                                    ) and lists (

                                                                                                                                      ,
                                                                                                                                        ). This description markup contains " +"an invalid XML tag that would not be rendered correctly in applications " +"supporting the metainfo specification." msgstr "" -#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) -#: tools/appstream-cli.c:126 -msgid "Do not use network access." -msgstr "Älä käytä verkkoyhteyttä." +#: src/as-validator-issue-tag.h:69 +msgid "" +"This description paragraph contains invalid markup. Currently, only " +"and are permitted." +msgstr "" -#. TRANSLATORS: ascli flag description for: --no-color -#: tools/appstream-cli.c:908 -msgid "Don't show colored output." -msgstr "Älä käytä värejä." +#: src/as-validator-issue-tag.h:74 +msgid "Enumerations must only have list items (
                                                                                                                                      1. ) as children." +msgstr "" -#: tools/appstream-cli.c:853 -msgid "Dump raw XML metadata for a component matching the ID." +#: src/as-validator-issue-tag.h:79 +msgid "" +"The first `description/p` paragraph of this component might be too short (< " +"80 characters). Please consider starting with a longer paragraph to improve " +"how the description looks like in software centers and to provide more " +"detailed information on this component immediately in the first paragraph." msgstr "" -#. TRANSLATORS: this is the menu spec main category for Education -#: src/as-category.c:308 -msgid "Education" -msgstr "Opetus" +#: src/as-validator-issue-tag.h:86 +msgid "" +"The description contains a web URL in plain text. This is not allowed, " +"please use the tag instead to share links." +msgstr "" -#. TRANSLATORS: No metainfo files have been found -#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 -msgid "Empty." -msgstr "Tyhjä." +#: src/as-validator-issue-tag.h:91 +msgid "" +"As per AppStream specification, the mentioned tag must only appear once in " +"this context. Having multiple tags of this kind is not valid." +msgstr "" -#: src/as-category.c:141 -msgctxt "Category of Games" -msgid "Emulators" -msgstr "Emulaattorit" +#: src/as-validator-issue-tag.h:96 +msgid "" +"The mentioned tag is empty, which is highly likely not intended as it should " +"have content." +msgstr "" + +#: src/as-validator-issue-tag.h:101 +msgid "" +"The component ID is required to follow a reverse domain-name scheme for its " +"name. See the AppStream specification for details." +msgstr "" + +#: src/as-validator-issue-tag.h:106 +msgid "" +"The component ID is not a reverse domain-name. Please update the ID to avoid " +"future issues and be compatible with all AppStream implementations.\n" +"You may also consider to update the name of the accompanying .desktop file " +"to follow the latest version of the Desktop-Entry specification and use a " +"rDNS name for it as well. In any case, do not forget to mention the new " +"desktop-entry in a tag for this component to keep the " +"application launchable from software centers and the .desktop file data " +"associated with the metainfo data." +msgstr "" + +#: src/as-validator-issue-tag.h:114 +msgid "" +"The component ID might not follow the reverse domain-name schema (the TLD " +"used by it is not known to the validator)." +msgstr "" + +#: src/as-validator-issue-tag.h:119 +msgid "" +"The component ID contains an invalid character. Only ASCII characters, dots " +"and numbers are permitted." +msgstr "" + +#: src/as-validator-issue-tag.h:124 +msgid "" +"The component ID contains a hyphen/minus. Using a hyphen is strongly " +"discouraged, to improve interoperability with other tools such as D-Bus. A " +"good option is to replace any hyphens with underscores (`_`)." +msgstr "" + +#: src/as-validator-issue-tag.h:130 +msgid "" +"The component ID contains a segment starting with a number. Starting a " +"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " +"interoperability with other tools such as D-Bus. Ideally, prefix these " +"segments with an underscore." +msgstr "" + +#: src/as-validator-issue-tag.h:136 +msgid "The component ID should only contain lowercase letters." +msgstr "" + +#: src/as-validator-issue-tag.h:141 +msgid "" +"The component is part of the Freedesktop project, but its ID does not start " +"with fd.o's reverse-DNS name (\"org.freedesktop\")." +msgstr "" + +#: src/as-validator-issue-tag.h:146 +msgid "" +"The component is part of the KDE project, but its ID does not start with " +"KDEs reverse-DNS name (\"org.kde\")." +msgstr "" + +#: src/as-validator-issue-tag.h:151 +msgid "" +"The component is part of the GNOME project, but its ID does not start with " +"GNOMEs reverse-DNS name (\"org.gnome\")." +msgstr "" + +#: src/as-validator-issue-tag.h:156 +msgid "The SPDX license expression is invalid and could not be parsed." +msgstr "" + +#: src/as-validator-issue-tag.h:161 +msgid "" +"The license ID was not found in the SPDX database. Please check that the " +"license ID is written in an SPDX-conformant way and is a valid free software " +"license." +msgstr "" + +#: src/as-validator-issue-tag.h:167 +msgid "" +"The metadata itself seems to be licensed under a complex collection of " +"licenses. Please license the data under a simple permissive license, like " +"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " +"collections without the risk of license violations due to mutually " +"incompatible licenses." +msgstr "" + +#: src/as-validator-issue-tag.h:173 +msgid "" +"The metadata itself does not seem to be licensed under a permissive license. " +"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " +"0BSD to allow distributors to include it in mixed data collections without " +"the risk of license violations due to mutually incompatible licenses." +msgstr "" + +#: src/as-validator-issue-tag.h:179 +msgid "" +"The update-contact does not appear to be a valid email address (escaping of " +"`@` is only allowed as `_at_` or `_AT_`)." +msgstr "" + +#: src/as-validator-issue-tag.h:184 +msgid "" +"Unable to reach the screenshot image on its remote location - does the image " +"exist?" +msgstr "" + +#: src/as-validator-issue-tag.h:189 +msgid "" +"Unable to reach the screenshot video on its remote location - does the video " +"file exist?" +msgstr "" + +#: src/as-validator-issue-tag.h:194 +msgid "" +"Consider using a secure (HTTPS) URL to reference this screenshot image or " +"video." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:200 +msgid "" +"A screenshot must contain at least one image or video in order to be useful. " +"Please add an to it." +msgstr "" + +#: src/as-validator-issue-tag.h:205 +msgid "" +"A screenshot must contain either images or videos, but not both at the same " +"time. Please use this screenshot exclusively for either static images or for " +"videos." +msgstr "" -#. TRANSLATORS: ascli flag description for: --force -#: tools/appstream-cli.c:245 -msgid "Enforce a cache refresh." -msgstr "Pakota välimuistin päivitys." +#: src/as-validator-issue-tag.h:211 +msgid "The screenshot does not have a caption text. Consider adding one." +msgstr "" -#: src/as-validator-issue-tag.h:74 -msgid "Enumerations must only have list items (
                                                                                                                                      2. ) as children." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:217 +msgid "" +"The screenshot video does not specify which video codec was used in a " +"`codec` property." msgstr "" -#: tools/ascli-actions-misc.c:159 -#, c-format -msgid "Error while loading the metadata pool: %s" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:223 +msgid "" +"The screenshot video does not specify which container format was used in a " +"`container` property." msgstr "" -#: tools/ascli-utils.c:327 -msgid "Extends" -msgstr "Laajentaa" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:229 +msgid "" +"The selected video codec is not supported by AppStream and software centers " +"may not be able to play the video. Only the AV1 and VP9 codecs are currently " +"supported, using `av1` and `vp9` as values for the `codec` property." +msgstr "" -#: src/as-category.c:65 -msgctxt "Category of AudioVideo" -msgid "Featured" -msgstr "Esittelyssä" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:236 +msgid "" +"The selected video container format is not supported by AppStream and " +"software centers may not be able to play the video. Only the WebM and " +"Matroska video containers are currently supported, using `webm` and `mkv` as " +"values for the `container` property." +msgstr "" -#: src/as-category.c:256 -msgctxt "Category of Communication" -msgid "Featured" +#: src/as-validator-issue-tag.h:242 +msgid "" +"For videos, only the WebM and Matroska (.mkv) container formats are " +"currently supported. The file extension of the referenced video does not " +"belong to either of these formats." msgstr "" -#: src/as-category.c:83 -msgctxt "Category of Development" -msgid "Featured" +#: src/as-validator-issue-tag.h:248 +msgid "" +"The default screenshot of a software component must not be a video. Use a " +"static image as default screenshot and set the video as a secondary " +"screenshot." msgstr "" -#: src/as-category.c:98 -msgctxt "Category of Education" -msgid "Featured" +#: src/as-validator-issue-tag.h:253 +msgid "" +"Found an unknown tag in a requires/recommends group. This is likely an " +"error, because a component relation of this type is unknown." msgstr "" -#: src/as-category.c:120 -msgctxt "Category of Games" -msgid "Featured" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:259 +msgid "" +"A `requires` or `recommends` item requires a value to denote a valid " +"relation." msgstr "" -#: src/as-category.c:165 -msgctxt "Category of Graphics" -msgid "Featured" +#. TRANSLATORS: `version` is an AppStream XML property. Please do not translate it. +#: src/as-validator-issue-tag.h:265 +msgid "" +"Found `version` property on required/recommended item of a type that should " +"not have or require a version." msgstr "" -#: src/as-category.c:188 -msgctxt "Category of Office" -msgid "Featured" +#. TRANSLATORS: `version` and `compare` are AppStream XML properties. Please do not translate them. +#: src/as-validator-issue-tag.h:271 +msgid "" +"Found `version` property on this required/recommended item, but not " +"`compare` property. It is recommended to explicitly define a comparison " +"operation." msgstr "" -#: src/as-category.c:231 -msgctxt "Category of Science" -msgid "Featured" +#: src/as-validator-issue-tag.h:276 +msgid "" +"Invalid comparison operation on relation item. Only eq/ne/lt/gt/le/ge are " +"permitted." msgstr "" -#: src/as-category.c:278 -msgctxt "Category of Utility" -msgid "Featured" +#: src/as-validator-issue-tag.h:281 +msgid "" +"The relation item has a comparison operation set, but does not support any " +"comparisons." msgstr "" -#: tools/ascli-actions-validate.c:171 tools/ascli-actions-validate.c:349 -#, fuzzy, c-format -msgid "File '%s' does not exist." -msgstr "Metadata-tiedostoa ”%s” ei ole olemassa." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:287 +msgid "" +"Found a memory size relation in a `requires` tag. This means users will not " +"be able to even install the component without having enough RAM. This is " +"usually not intended and you want to use `memory` in the `recommends` tag " +"instead." +msgstr "" -#: src/as-category.c:287 -msgctxt "Category of Utility" -msgid "File System" -msgstr "Tiedostojärjestelmä" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:294 +msgid "" +"Found a user input control relation in a `requires` tag. This means users " +"will not be able to even install the component without having the defined " +"input control available on the system. This is usually not intended and you " +"want to use `control` in the `recommends` tag instead." +msgstr "" -#: src/as-category.c:198 -msgctxt "Category of Office" -msgid "Finance" -msgstr "Rahoitus" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:301 +msgid "" +"This `control` item defines an unknown input method and is invalid. Check " +"the specification for a list of permitted values." +msgstr "" -#: src/as-provided.c:164 -msgid "Flashed Firmware" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:307 +msgid "" +"This `display_length` item contains an invalid display length. Its value " +"must either be a shorthand string, or positive integer value denoting " +"logical pixels. Please refer to the AppStream specification for more " +"information on this tag." msgstr "" -#: src/as-provided.c:150 -msgid "Fonts" -msgstr "Fontit" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:314 +msgid "" +"This `side` property of this `display_length` item contains an invalid " +"value. It must either be `shortest` or `longest`, or unset to imply " +"`shortest` to make the item value refer to either the shortest or longest " +"side of the display." +msgstr "" -#: src/as-category.c:211 -msgctxt "Category of Addons" -msgid "Fonts" -msgstr "Fontit" +#: src/as-validator-issue-tag.h:320 +msgid "" +"The set component type is not a recognized, valid AppStream component type." +msgstr "" -#: src/as-validator-issue-tag.h:237 +#: src/as-validator-issue-tag.h:325 msgid "" -"For videos, only the WebM and Matroska (.mkv) container formats are " -"currently supported. The file extension of the referenced video does not " -"belong to either of these formats." +"The component has a priority value set. This is not allowed in metainfo " +"files." msgstr "" -#. TRANSLATORS: ascli flag description for: --format when validating XML files -#: tools/appstream-cli.c:131 -#, fuzzy -msgid "Format of the generated report (valid values are 'text' and 'yaml')." -msgstr "Metadatan oletusmuoto (vaihtoehdot: ”xml” tai ”yaml”)." +#: src/as-validator-issue-tag.h:330 +msgid "" +"The component has a `merge` method defined. This is not allowed in metainfo " +"files." +msgstr "" -#. TRANSLATORS: Found metainfo files in legacy directories -#: tools/ascli-actions-misc.c:138 -#, c-format -msgid "Found %i components in legacy paths." -msgstr "Vanhentuneista poluista löydettiin %i komponenttia." +#: src/as-validator-issue-tag.h:335 +msgid "The component is missing an ID ( tag)." +msgstr "" -#: tools/ascli-actions-misc.c:123 -#, c-format -msgid "Found %i components." -msgstr "Löydettiin %i komponenttia." +#: src/as-validator-issue-tag.h:340 +msgid "The component is missing a name ( tag)." +msgstr "" -#. TRANSLATORS: 'version' is an AppStream XML property. Please do not translate it. -#: src/as-validator-issue-tag.h:260 -msgid "" -"Found 'version' property on required/recommended item of a type that should " -"not have or require a version." +#: src/as-validator-issue-tag.h:345 +msgid "The component is missing a summary ( tag)." msgstr "" -#. TRANSLATORS: 'version' and 'compare' are AppStream XML properties. Please do not translate them. -#: src/as-validator-issue-tag.h:266 +#: src/as-validator-issue-tag.h:350 msgid "" -"Found 'version' property on this required/recommended item, but not " -"'compare' property. It is recommended to explicitly define a comparison " -"operation." +"The tag still contains a `type` property, probably from an old " +"conversion to the recent metainfo format." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:277 +#: src/as-validator-issue-tag.h:355 msgid "" -"Found a memory size dependency in a 'requires' tag. This means users will " -"not be able to even install the component without having enough RAM. This is " -"usually not intended and you want to use 'memory' in the 'recommends' tag " -"instead." +"The `pkgname` tag appears multiple times. You should evaluate creating a " +"metapackage containing the metainfo and .desktop files in order to avoid " +"defining multiple package names per component." msgstr "" -#: src/as-validator-issue-tag.h:248 -msgid "" -"Found an unknown tag in a requires/recommends group. This is likely an " -"error, because a component relation of this type is unknown." +#: src/as-validator-issue-tag.h:360 +msgid "The component name should (likely) not end with a dot (`.`)." msgstr "" -#: src/as-validator-issue-tag.h:427 -msgid "" -"Found invalid tag. Non-standard tags should be prefixed with 'x-'. AppStream " -"also provides the tag to add arbitrary custom data to metainfo " -"files. This tag is read by AppStream libraries and may be useful instead of " -"defining new custom toplevel or 'x-'-prefixed tags if you just want to add " -"custom data to a metainfo file." +#: src/as-validator-issue-tag.h:365 +msgid "The component summary should not end with a dot (`.`)." msgstr "" -#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. -#: src/as-validator.c:526 src/as-validator.c:939 src/as-validator.c:1024 -#: src/as-validator.c:1237 -#, c-format -msgid "Found: %s - Allowed: %s" +#: src/as-validator-issue-tag.h:370 +msgid "The component summary must not contain tabs or linebreaks." msgstr "" -#. TRANSLATORS: this is the menu spec main category for Game -#: src/as-category.c:311 -msgid "Games" -msgstr "Pelit" +#: src/as-validator-issue-tag.h:375 +msgid "The summary must not contain any URL. Use the tags for links." +msgstr "" -#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command -#: tools/appstream-cli.c:814 -msgid "Generate the output in the selected format ('yaml' or 'text')." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:381 +msgid "" +"Icons of type `stock` or `cached` must not contain an URL, a full or an " +"relative path to the icon. Only file basenames or stock names are allowed." msgstr "" -#: tools/appstream-cli.c:849 -msgid "Get components which provide the given item." -msgstr "Hae komponentit, jotka tarjoavat pyydetyn kohteen." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:388 +msgid "Icons of type `remote` must contain an URL to the referenced icon." +msgstr "" -#: tools/appstream-cli.c:848 -msgid "Get information about a component by its ID." -msgstr "Hae tiedot komponentista sen ID:n perusteella." +#: src/as-validator-issue-tag.h:393 +msgid "Unable to reach remote icon at the given web location - does it exist?" +msgstr "" -#. TRANSLATORS: this is the menu spec main category for Graphics -#: src/as-category.c:314 -msgid "Graphics & Photography" -msgstr "Grafiikka ja valokuvaus" +#: src/as-validator-issue-tag.h:398 +msgid "Consider using a secure (HTTPS) URL for the remote icon link." +msgstr "" -#: tools/ascli-utils.c:300 -msgid "Homepage" -msgstr "Verkkosivusto" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:404 +msgid "" +"Metainfo files may only contain icons of type `stock` or `remote`, the set " +"type is not allowed." +msgstr "" -#: src/as-category.c:89 -msgctxt "Category of Development" -msgid "IDEs" -msgstr "Kehitysympäristöt" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:410 +msgid "" +"Invalid `type` property for this `url` tag. URLs of this type are not known " +"in the AppStream specification." +msgstr "" -#: tools/ascli-utils.c:301 -msgid "Icon" -msgstr "Kuvake" +#: src/as-validator-issue-tag.h:415 +msgid "" +"Unable to reach remote location that this URL references - does it exist?" +msgstr "" + +#: src/as-validator-issue-tag.h:420 +msgid "Consider using a secure (HTTPS) URL for this web link." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:351 -msgid "Icons of type 'remote' must contain an URL to the referenced icon." +#: src/as-validator-issue-tag.h:425 +msgid "A web URL was expected for this value." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:344 +#: src/as-validator-issue-tag.h:430 msgid "" -"Icons of type 'stock' or 'cached' must not contain an URL, a full or an " -"relative path to the icon. Only file basenames or stock names are allowed." +"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." msgstr "" -#: tools/ascli-actions-misc.c:94 -msgid "Iconsets" +#: src/as-validator-issue-tag.h:435 +msgid "The can not contain a hyperlink." msgstr "" -#: tools/ascli-utils.c:295 -msgid "Identifier" -msgstr "Tunniste" +#: src/as-validator-issue-tag.h:440 +msgid "" +"The set value is not an identifier for a desktop environment as registered " +"with Freedesktop.org." +msgstr "" -#: src/as-category.c:217 -msgctxt "Category of Addons" -msgid "Input Sources" -msgstr "Syöttötavat" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:446 +msgid "This `launchable` tag has an unknown type and can not be used." +msgstr "" -#: tools/appstream-cli.c:863 -msgid "Install a metadata file into the right location." -msgstr "Asenna metadata-tiedosto oikeaan sijaintiin." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:452 +msgid "This `bundle` tag has an unknown type and can not be used." +msgstr "" -#: tools/appstream-cli.c:859 -msgid "Install software matching the component-ID." -msgstr "Asenna komponentti-ID:tä vastaava ohjelmisto." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:458 +msgid "" +"The `update_contact` tag should not be included in collection AppStream XML." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:373 +#: src/as-validator-issue-tag.h:463 msgid "" -"Invalid 'type' property for this 'url' tag. URLs of this type are not known " -"in the AppStream specification." +"This tag is a GNOME-specific extension to AppStream and not part of the " +"official specification. Do not expect it to work in all implementations and " +"in all software centers." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:553 +#: src/as-validator-issue-tag.h:469 msgid "" -"Invalid tag found in collection metadata. Only 'component' tags are " -"permitted." +"Found invalid tag. Non-standard tags should be prefixed with `x-`. AppStream " +"also provides the tag to add arbitrary custom data to metainfo " +"files. This tag is read by AppStream libraries and may be useful instead of " +"defining new custom toplevel or `x-`-prefixed tags if you just want to add " +"custom data to a metainfo file." msgstr "" -#: tools/ascli-actions-mdata.c:213 -msgid "Invalid type for provided item selected. Valid values are:" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:477 +msgid "" +"The essential tag `metadata_license` is missing. A license for the metadata " +"itself always has to be defined." msgstr "" -#: src/as-validator-issue-tag.h:271 +#: src/as-validator-issue-tag.h:482 msgid "" -"Invalid version comparison operation on relation item. Only eq/ne/lt/gt/le/" -"ge are permitted." +"The component is missing a long description. Components of this type must " +"have a long description." msgstr "" -#: src/as-validator-issue-tag.h:450 +#: src/as-validator-issue-tag.h:487 msgid "" -"It is recommended to add a long description to this component to present it " +"It would be useful to add a long description to this font to present it " "better to users." msgstr "" -#: src/as-validator-issue-tag.h:445 +#: src/as-validator-issue-tag.h:492 msgid "" -"It would be useful to add a long description to this font to present it " +"It is recommended to add a long description to this component to present it " "better to users." msgstr "" -#: src/as-category.c:144 -msgctxt "Category of Games" -msgid "Kids" -msgstr "Lasten pelit" +#: src/as-validator-issue-tag.h:497 +msgid "" +"This generic component is missing a long description. It may be useful to " +"add one." +msgstr "" -#: src/as-category.c:220 -msgctxt "Category of Addons" -msgid "Language Packs" -msgstr "Kielipaketit" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:503 +msgid "" +"Type `console-application` component, but no information about binaries in " +"$PATH was provided via a `provides/binary` tag." +msgstr "" -#: src/as-category.c:107 -msgctxt "Category of Education" -msgid "Languages" -msgstr "Kielet" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:509 +msgid "" +"This `web-application` component is missing a `launchable` tag of type `url`." +msgstr "" -#: src/as-provided.c:144 -msgid "Libraries" -msgstr "Kirjastot" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:515 +msgid "" +"This `web-application` component is missing a `icon` tag to specify a valid " +"icon." +msgstr "" -#. license -#: tools/ascli-utils.c:363 -msgid "License" -msgstr "Lisenssi" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:521 +msgid "" +"This `web-application` component is missing categorizations. A `categories` " +"block is likely missing." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:629 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:527 msgid "" -"Licenses for 'runtime' components are usually too complex to reflect them in " -"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " -"value for this component's 'project_license'. E.g. `LicenseRef-free=https://" -"example.com/licenses.html`" +"Type `font` component, but no font information was provided via a `provides/" +"font` tag." msgstr "" -#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command -#: tools/appstream-cli.c:771 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:533 msgid "" -"Limit the number of release entries that end up in the metainfo file (0 for " -"unlimited)." +"Type `driver` component, but no modalias information was provided via a " +"`provides/modalias` tag." msgstr "" -#: src/as-category.c:223 -msgctxt "Category of Addons" -msgid "Localization" -msgstr "Kotoistus" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:539 +msgid "" +"An `extends` tag is specified, but the component is not of type `addon`, " +"`localization` or `repository`." +msgstr "" -#: src/as-category.c:147 -msgctxt "Category of Games" -msgid "Logic" -msgstr "Logiikka" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:545 +msgid "The component is an addon, but no `extends` tag was specified." +msgstr "" -#. TRANSLATORS: ascli flag description for: --no-cache -#: tools/appstream-cli.c:67 -msgid "Make request without any caching." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:551 +msgid "" +"This `localization` component is missing an `extends` tag, to specify the " +"components it adds localization to." msgstr "" -#. TRANSLATORS: ascli flag description for: --cachepath -#: tools/appstream-cli.c:57 -msgid "Manually selected location of AppStream cache." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:557 +msgid "" +"This `localization` component does not define any languages this " +"localization is for." msgstr "" -#. TRANSLATORS: ascli flag description for: --datapath -#: tools/appstream-cli.c:62 -msgid "Manually selected location of AppStream metadata to scan." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:563 +msgid "" +"This `service` component is missing a `launchable` tag of type `service`." msgstr "" -#: src/as-pool.c:1280 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:569 msgid "" -"Many components have been recognized as invalid. See debug output for " -"details." +"Suggestions of any type other than `upstream` are not allowed in metainfo " +"files." msgstr "" -#: src/as-category.c:111 -msgctxt "Category of Education" -msgid "Math" -msgstr "Matematiikka" +#: src/as-validator-issue-tag.h:574 +msgid "" +"The category name is not valid. Refer to the XDG Menu Specification for a " +"list of valid category names." +msgstr "" -#: src/as-category.c:243 -msgctxt "Category of Science" -msgid "Math" -msgstr "Matematiikka" +#: src/as-validator-issue-tag.h:579 +msgid "The screenshot caption is too long (should be <= 80 characters)" +msgstr "" -#: src/as-provided.c:148 +#: src/as-validator-issue-tag.h:584 #, fuzzy -msgid "Media types" -msgstr "MIME-tyypit" - -#: tools/ascli-actions-mdata.c:364 -#, c-format -msgid "Metadata file '%s' does not exist." -msgstr "Metadata-tiedostoa ”%s” ei ole olemassa." - -#: src/as-pool.c:881 -msgid "Metadata files have errors:" -msgstr "Metadata-tiedostoissa on virheitä:" +msgid "Unable to read file." +msgstr ".desktop-tiedostoa ei voida lukea: %s" -#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 -#: tools/ascli-actions-misc.c:515 -#, fuzzy, c-format -msgid "Metainfo file '%s' does not exist." -msgstr "Metadata-tiedostoa ”%s” ei ole olemassa." +#: src/as-validator-issue-tag.h:589 +msgid "The XML of this file is malformed." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:367 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:595 msgid "" -"Metainfo files may only contain icons of type 'stock' or 'remote', the set " -"type is not allowed." +"Invalid tag found in collection metadata. Only `component` tags are " +"permitted." msgstr "" -#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report -#: tools/ascli-actions-misc.c:116 -msgid "Metainfo files:" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:601 +msgid "" +"The metainfo file uses an ancient version of the AppStream specification, " +"which can not be validated. Please migrate it to version 0.6 (or higher)." msgstr "" -#: src/as-provided.c:152 -msgid "Modaliases" +#: src/as-validator-issue-tag.h:606 +msgid "" +"This XML document has an unknown root tag. Maybe this file is not a metainfo " +"document?" msgstr "" -#: src/as-category.c:74 -msgctxt "Category of AudioVideo" -msgid "Music Players" -msgstr "Musiikkitoistimet" +#: src/as-validator-issue-tag.h:611 +#, fuzzy +msgid "The metainfo filename does not match the component ID." +msgstr "Asenna komponentti-ID:tä vastaava ohjelmisto." -#: tools/ascli-utils.c:296 -msgid "Name" -msgstr "Nimi" +#: src/as-validator-issue-tag.h:616 +#, fuzzy +msgid "Unable to read the .desktop file associated with this component." +msgstr ".desktop-tiedostoa ei voida lukea: %s" -#: src/as-category.c:266 -msgctxt "Category of Communication" -msgid "News" -msgstr "Uutiset" +#: src/as-validator-issue-tag.h:621 +msgid "This component metadata refers to a non-existing .desktop file." +msgstr "" -#: src/as-validator-issue-tag.h:589 +#: src/as-validator-issue-tag.h:626 +msgid "" +"The category defined in the .desktop file is not valid. Refer to the XDG " +"Menu Specification for a list of valid categories." +msgstr "" + +#: src/as-validator-issue-tag.h:631 msgid "No AppStream metadata was found in this directory or directory tree." msgstr "" #. pedantic because not everything which has metadata is an application -#: src/as-validator-issue-tag.h:594 +#: src/as-validator-issue-tag.h:636 msgid "No XDG applications directory found." msgstr "" -#: tools/ascli-actions-mdata.c:182 -#, c-format -msgid "No component matching '%s' found." +#: src/as-validator-issue-tag.h:641 +msgid "" +"The metainfo file is stored in a legacy path. Please place it in `/usr/share/" +"metainfo/`." msgstr "" -#: tools/ascli-actions-misc.c:105 -msgid "No icons." -msgstr "Ei kuvakkeita." - -#: tools/ascli-actions-misc.c:402 -msgid "No output filename specified, modifying metainfo file directly." +#: src/as-validator-issue-tag.h:646 +msgid "The metainfo file specifies multiple components. This is not allowed." msgstr "" -#: tools/ascli-actions-misc.c:306 +#: src/as-validator-issue-tag.h:651 msgid "" -"No provided binary specified in metainfo file, and no exec command specified " -"via '--exec'. Can not create 'Exec=' key." +"The releases are not sorted in a latest to oldest version order. This is " +"required as some tools will assume that the latest version is always at the " +"top. Sorting releases also increases overall readability of the metainfo " +"file." msgstr "" -#: tools/ascli-actions-misc.c:284 -msgid "No stock icon name was provided in the metainfo file. Can not continue." +#: src/as-validator-issue-tag.h:658 +msgid "The value set as release urgency is not a known urgency value." msgstr "" -#: tools/ascli-actions-pkgmgr.c:53 -msgid "" -"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" -"\" (part of PackageKit) is available." +#: src/as-validator-issue-tag.h:663 +msgid "The value set as release type is invalid." msgstr "" -#: tools/ascli-actions-mdata.c:206 -msgid "No value for the item to search for was defined." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:669 +msgid "" +"The value set as artifact type is invalid. Must be either `source` or " +"`binary`." msgstr "" -#. TRANSLATORS: this is the menu spec main category for Office -#: src/as-category.c:317 -msgid "Office" -msgstr "Toimisto" - -#. TRANSLATORS: An unknown option was passed to appstreamcli. -#: tools/appstream-cli.c:192 -#, c-format -msgid "Option '%s' is unknown." -msgstr "Valitsin ”%s” on tuntematon." - -#: tools/ascli-utils.c:298 -msgid "Package" -msgstr "Paketti" - -#: src/as-category.c:171 -msgctxt "Category of Graphics" -msgid "Photography" -msgstr "Valokuvaus" - -#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) -#: tools/appstream-cli.c:121 -msgid "Print detailed explanation for found issues." +#: src/as-validator-issue-tag.h:674 +msgid "The value set as artifact bundle type is invalid." msgstr "" -#. TRANSLATORS: ascli flag description for: --details -#: tools/appstream-cli.c:98 -msgid "Print detailed output about found components." +#: src/as-validator-issue-tag.h:679 +msgid "" +"The platform triplet for this release is invalid. It must be in the form of " +"`architecture-oskernel-osenv` - refer to the AppStream documentation or " +"information on normalized GNU triplets for more information and valid fields." msgstr "" -#. project group -#: tools/ascli-utils.c:360 -msgid "Project Group" -msgstr "Projektiryhmä" - -#: tools/ascli-utils.c:405 -msgid "Provided Items" +#: src/as-validator-issue-tag.h:686 +msgid "The selected checksumming algorithm is unsupported or unknown." msgstr "" -#: src/as-provided.c:154 -msgid "Python (Version 2)" -msgstr "Python (versio 2)" - -#: src/as-provided.c:156 -msgid "Python 3" -msgstr "Python 3" - -#: tools/appstream-cli.c:854 -msgid "Rebuild the component metadata cache." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:692 +msgid "The size type is unknown. Must be `download` or `installed`." msgstr "" -#: tools/appstream-cli.c:860 -msgid "Remove software matching the component-ID." +#: src/as-validator-issue-tag.h:697 +msgid "" +"The artifact filename must be a file basename, not a (relative or absolute) " +"path." msgstr "" -#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty -#: src/as-validator.c:364 -msgid "Retrieved file size was zero." +#: src/as-validator-issue-tag.h:702 +msgid "The value set as release issue type is invalid." msgstr "" -#: src/as-category.c:248 -msgctxt "Category of Science" -msgid "Robotics" -msgstr "Robotiikka" - -#: src/as-category.c:150 -msgctxt "Category of Games" -msgid "Role Playing" -msgstr "Roolipelit" - -#: tools/appstream-cli.c:196 tools/appstream-cli.c:926 -#, c-format -msgid "Run '%s --help' to see a full list of available command line options." -msgstr "Näet kaikki saatavilla olevat valitsimet komennolla ”%s --help”." - -#: tools/appstream-cli.c:198 -#, c-format +#: src/as-validator-issue-tag.h:707 msgid "" -"Run '%s --help' to see a list of available commands and options, and '%s %s " -"--help' to see a list of options specific for this subcommand." +"The issue is tagged at security vulnerability with a CVE number, but its " +"value does not look like a valid CVE identifier." msgstr "" -#: src/as-provided.c:162 -msgid "Runtime Firmware" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:713 +msgid "" +"This component is missing information about releases. Consider adding a " +"`releases` tag to describe releases and their changes." msgstr "" -#: src/as-category.c:174 -msgctxt "Category of Graphics" -msgid "Scanning" -msgstr "Skannaus" - -#. TRANSLATORS: this is the menu spec main category for Science -#: src/as-category.c:323 -msgid "Science" -msgstr "Tiede" - -#: tools/appstream-cli.c:847 -msgid "Search the component database." +#: src/as-validator-issue-tag.h:718 +msgid "" +"The AppStream specification requires a complete, ISO 8601 date string with " +"at least day-granularity to denote dates. Please ensure the date string is " +"valid." msgstr "" -#: src/as-category.c:293 -msgctxt "Category of Utility" -msgid "Security" -msgstr "Tietoturva" - -#. TRANSLATORS: ascli flag description for: --verbose -#: tools/appstream-cli.c:903 -msgid "Show extra debugging information." +#: src/as-validator-issue-tag.h:724 +msgid "" +"This component extends, provides, requires or recommends itself, which is " +"certainly not intended and may confuse users or machines dealing with this " +"metadata." msgstr "" -#. TRANSLATORS: ascli flag description for: --version -#: tools/appstream-cli.c:897 -msgid "Show the program version." -msgstr "Näytä ohjelmaversio." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:731 +msgid "" +"Licenses for `runtime` components are usually too complex to reflect them in " +"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " +"value for this component's `project_license`. E.g. `LicenseRef-free=https://" +"example.com/licenses.html`" +msgstr "" -#: src/as-validator-issue-tag.h:635 +#: src/as-validator-issue-tag.h:737 msgid "" -"Since a 'runtime' component is comprised of multiple other software " +"Since a `runtime` component is comprised of multiple other software " "components, their component-IDs may be listed in a `` section for " "this runtime." msgstr "" -#: src/as-category.c:153 -msgctxt "Category of Games" -msgid "Sports" -msgstr "Urheilu" +#: src/as-validator-issue-tag.h:742 +msgid "" +"The type of the item that the component provides is not known to AppStream." +msgstr "" -#: src/as-category.c:157 -msgctxt "Category of Games" -msgid "Strategy" -msgstr "Strategia" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:748 +msgid "" +"The toplevel `mimetypes` tag is deprecated. Please use `mediatype` tags in a " +"`provides` block instead to indicate that your software provides a media " +"handler for the given types." +msgstr "" -#. these are commands we can use with appstreamcli -#: tools/appstream-cli.c:845 -msgid "Subcommands:" -msgstr "Alikomennot:" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks) and keep the URL intact. +#: src/as-validator-issue-tag.h:755 +msgid "" +"This component has no `content_rating` tag to provide age rating " +"information. You can generate the tag data online by answering a few " +"questions at https://hughsie.github.io/oars/" +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:527 +#: src/as-validator.c:150 msgid "" -"Suggestions of any type other than 'upstream' are not allowed in metainfo " -"files." +"The emitted issue tag is unknown in the tag registry of AppStream. This is a " +"bug in the validator itself, please report this issue in our bugtracker." msgstr "" -#: tools/ascli-utils.c:297 -msgid "Summary" -msgstr "Yhteenveto" +#: src/as-validator.c:344 +msgid "URL format is invalid." +msgstr "" -#. TRANSLATORS: Status summary in ascli -#: tools/ascli-actions-misc.c:145 -msgid "Summary:" -msgstr "Yhteenveto:" +#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. +#: src/as-validator.c:522 src/as-validator.c:937 src/as-validator.c:1031 +#: src/as-validator.c:1428 src/as-validator.c:1448 src/as-validator.c:1481 +#, c-format +msgid "Found: %s - Allowed: %s" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --verbose +#: tools/appstream-compose.c:181 +msgid "Show extra debugging information" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --no-color +#. TRANSLATORS: ascli flag description for: --no-color +#: tools/appstream-compose.c:184 tools/appstreamcli.c:1087 +msgid "Don't show colored output." +msgstr "Älä käytä värejä." -#: src/as-category.c:290 -msgctxt "Category of Utility" -msgid "System Monitoring" -msgstr "Järjestelmänvalvonta" +#. TRANSLATORS: ascompose flag description for: --version +#. TRANSLATORS: ascli flag description for: --version +#: tools/appstream-compose.c:187 tools/appstreamcli.c:1076 +msgid "Show the program version." +msgstr "Näytä ohjelmaversio." -#: src/as-validator-issue-tag.h:46 -msgid "Tags of this name are not permitted in this section." +#. TRANSLATORS: ascompose flag description for: --full-report +#: tools/appstream-compose.c:190 +msgid "Set mode of the issue report that is printed to the console" msgstr "" -#: src/as-category.c:284 -msgctxt "Category of Utility" -msgid "Terminal Emulators" -msgstr "Pääte-emulaattorit" +#. TRANSLATORS: ascompose flag description for: --prefix +#: tools/appstream-compose.c:193 +msgid "Override the default prefix (`/usr` by default)" +msgstr "" -#: src/as-category.c:281 -msgctxt "Category of Utility" -msgid "Text Editors" -msgstr "Tekstimuokkaimet" +#. TRANSLATORS: ascompose flag description for: --result-root +#: tools/appstream-compose.c:196 +msgid "Set the result output directory" +msgstr "" -#: src/as-validator-issue-tag.h:318 -msgid "" -"The 'pkgname' tag appears multiple times. You should evaluate creating a " -"metapackage containing the metainfo and .desktop files in order to avoid " -"defining multiple package names per component." +#. TRANSLATORS: ascompose flag description for: --data-dir, `collection metadata` is an AppStream term +#: tools/appstream-compose.c:199 +msgid "Override the collection metadata output directory" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:416 +#. TRANSLATORS: ascompose flag description for: --icons-dir +#: tools/appstream-compose.c:202 +msgid "Override the icon output directory" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --media-dir +#: tools/appstream-compose.c:205 msgid "" -"The 'update_contact' tag should not be included in collection AppStream XML." +"Set the media output directory (for media data to be served by a webserver)" msgstr "" -#: tools/ascli-actions-mdata.c:467 -#, c-format -msgid "The .desktop file '%s' does not exist." -msgstr ".desktop-tiedostoa ”%s” ei ole olemassa." +#. TRANSLATORS: ascompose flag description for: --hints-dir +#: tools/appstream-compose.c:208 +msgid "Set a directory where HTML and text issue reports will be stored" +msgstr "" -#: src/as-validator-issue-tag.h:393 -msgid "The can not contain a hyperlink." +#. TRANSLATORS: ascompose flag description for: --origin +#. TRANSLATORS: ascompose flag description for: --media-baseurl +#: tools/appstream-compose.c:211 tools/appstream-compose.c:214 +msgid "Set the origin name" msgstr "" -#: src/as-validator-issue-tag.h:313 -msgid "" -"The tag still contains a 'type' property, probably from an old " -"conversion to the recent metainfo format." +#. TRANSLATORS: ascompose flag description for: --components +#: tools/appstream-compose.c:217 +msgid "A comma-separated list of component-IDs to accept" msgstr "" -#: src/as-validator-issue-tag.h:616 -msgid "" -"The AppStream specification requires a complete, ISO 8601 date string with " -"at least day-granularity to denote dates. Please ensure the date string is " -"valid." +#. TRANSLATORS: error message +#: tools/appstream-compose.c:231 +msgid "Failed to parse arguments" msgstr "" -#: src/as-pool.c:1924 -#, fuzzy, c-format +#. TRANSLATORS: Output if appstreamcli --version is executed. +#: tools/appstream-compose.c:242 tools/appstreamcli.c:1230 +#, c-format +msgid "AppStream version: %s" +msgstr "AppStream-versio: %s" + +#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. +#: tools/appstream-compose.c:245 tools/appstreamcli.c:1233 +#, c-format msgid "" -"The AppStream system cache was updated, but problems were found which " -"resulted in metadata being ignored: %s" +"AppStream CLI tool version: %s\n" +"AppStream library version: %s" msgstr "" -"AppStreamin järjestelmävälimuisti päivitettiin, mutta havaittiin ongelmia: %s" +"AppStream-komentorivityökalun versio: %s\n" +"AppStream-kirjaston versio: %s" -#: src/as-pool.c:1922 +#. TRANSLATORS: invalid value for the --print-report CLI option +#: tools/appstream-compose.c:264 +#, c-format msgid "" -"The AppStream system cache was updated, but some components were ignored. " -"Refer to the verbose log for more information." +"Invalid value for `--print-report` option: %s\n" +"Possible values are:\n" +"`on-error` - only prints a short report if the run failed (default)\n" +"`short` - generates an abridged report\n" +"`full` - a detailed report will be printed" msgstr "" -#: src/as-validator-issue-tag.h:151 -msgid "The SPDX license expression is invalid and could not be parsed." +#: tools/appstream-compose.c:285 +#, c-format +msgid "Automatically selected '%s' as data output location." msgstr "" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows -#: tools/appstream-cli.c:683 -#, c-format -msgid "The TYPE must be a valid component-type, such as: %s" +#. TRANSLATORS: we don't have a destination directory for compose +#: tools/appstream-compose.c:288 +msgid "No destination directory set, please provide a data output location!" msgstr "" -#: src/as-validator-issue-tag.h:547 -msgid "The XML of this file is malformed." +#: tools/appstream-compose.c:298 tools/appstream-compose.c:300 +msgid "WARNING" msgstr "" -#: src/as-validator-issue-tag.h:584 -msgid "" -"The category defined in the .desktop file is not valid. Refer to the XDG " -"Menu Specification for a list of valid categories." +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:337 +#, c-format +msgid "Only accepting components: %s" msgstr "" -#: src/as-validator-issue-tag.h:532 -msgid "" -"The category name is not valid. Refer to the XDG Menu Specification for a " -"list of valid category names." +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:340 +#, c-format +msgid "Only accepting component: %s" msgstr "" -#: src/as-validator-issue-tag.h:124 -msgid "" -"The component ID contains a hyphen/minus. Using a hyphen is strongly " -"discouraged, to improve interoperability with other tools such as D-Bus. A " -"good option is to replace any hyphens with underscores ('_')." +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:345 +msgid "Processing directories:" msgstr "" -#: src/as-validator-issue-tag.h:130 -msgid "" -"The component ID contains a segment starting with a number. Starting a " -"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " -"interoperability with other tools such as D-Bus. Ideally, prefix these " -"segments with an underscore." +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:348 +msgid "Processing directory:" msgstr "" -#: src/as-validator-issue-tag.h:119 -msgid "" -"The component ID contains an invalid character. Only ASCII characters, dots " -"and numbers are permitted." +#. TRANSLATORS: error message +#: tools/appstream-compose.c:357 +msgid "Can not process invalid directory" msgstr "" -#: src/as-validator-issue-tag.h:106 -msgid "" -"The component ID is not a reverse domain-name. Please update the ID to avoid " -"future issues and be compatible with all AppStream implementations.\n" -"You may also consider to update the name of the accompanying .desktop file " -"to follow the latest version of the Desktop-Entry specification and use a " -"rDNS name for it as well. In any case, do not forget to mention the new " -"desktop-entry in a tag for this component to keep the " -"application launchable from software centers and the .desktop file data " -"associated with the metainfo data." +#. TRANSLATORS: information message +#: tools/appstream-compose.c:369 +msgid "Composing metadata..." msgstr "" -#: src/as-validator-issue-tag.h:101 -msgid "" -"The component ID is required to follow a reverse domain-name scheme for its " -"name. See the AppStream specification for details." +#. TRANSLATORS: error message +#: tools/appstream-compose.c:374 +msgid "Failed to compose AppStream metadata" msgstr "" -#: src/as-validator-issue-tag.h:114 -msgid "" -"The component ID might not follow the reverse domain-name schema (the TLD " -"used by it is not known to the validator)." +#. TRANSLATORS: appstream-compose failed to include all data +#: tools/appstream-compose.c:380 +msgid "Run failed, some data was ignored." msgstr "" -#: src/as-validator-issue-tag.h:293 -msgid "" -"The component has a 'merge' method defined. This is not allowed in metainfo " -"files." +#. TRANSLATORS: information message of appstream-compose +#: tools/appstream-compose.c:382 +msgid "Errors were raised during this compose run:" msgstr "" -#: src/as-validator-issue-tag.h:288 +#: tools/appstream-compose.c:383 msgid "" -"The component has a priority value set. This is not allowed in metainfo " -"files." +"Refer to the generated issue report data for details on the individual " +"problems." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:503 -msgid "The component is an addon, but no 'extends' tag was specified." +#: tools/appstream-compose.c:386 +msgid "Overview of generated hints:" msgstr "" -#: src/as-validator-issue-tag.h:440 -msgid "" -"The component is missing a long description. Components of this type must " -"have a long description." +#. TRANSLATORS: information message +#: tools/appstream-compose.c:388 +msgid "Success!" msgstr "" -#: src/as-validator-issue-tag.h:303 -msgid "The component is missing a name ( tag)." +#. TRANSLATORS: ascli flag description for: --cachepath +#: tools/appstreamcli.c:59 +msgid "Manually selected location of AppStream cache." msgstr "" -#: src/as-validator-issue-tag.h:308 -msgid "The component is missing a summary ( tag)." +#. TRANSLATORS: ascli flag description for: --datapath +#: tools/appstreamcli.c:64 +msgid "Manually selected location of AppStream metadata to scan." msgstr "" -#: src/as-validator-issue-tag.h:298 -msgid "The component is missing an ID ( tag)." +#. TRANSLATORS: ascli flag description for: --no-cache +#: tools/appstreamcli.c:69 +msgid "Make request without any caching." msgstr "" -#: src/as-validator-issue-tag.h:136 -msgid "" -"The component is part of the Freedesktop project, but its ID does not start " -"with fd.o's reverse-DNS name (\"org.freedesktop\")." +#. TRANSLATORS: ascli flag description for: --format +#: tools/appstreamcli.c:85 +msgid "Default metadata format (valid values are 'xml' and 'yaml')." +msgstr "Metadatan oletusmuoto (vaihtoehdot: ”xml” tai ”yaml”)." + +#. TRANSLATORS: ascli flag description for: --details +#: tools/appstreamcli.c:100 +msgid "Print detailed output about found components." msgstr "" -#: src/as-validator-issue-tag.h:146 -msgid "" -"The component is part of the GNOME project, but its ID does not start with " -"GNOMEs reverse-DNS name (\"org.gnome\")." +#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) +#: tools/appstreamcli.c:118 +msgid "Also show pedantic hints." +msgstr "Näytä myös pedanttiset ohjeet." + +#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) +#: tools/appstreamcli.c:123 +msgid "Print detailed explanation for found issues." msgstr "" -#: src/as-validator-issue-tag.h:141 +#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) +#: tools/appstreamcli.c:128 +msgid "Do not use network access." +msgstr "Älä käytä verkkoyhteyttä." + +#. TRANSLATORS: ascli flag description for: --format when validating XML files +#: tools/appstreamcli.c:133 +#, fuzzy +msgid "Format of the generated report (valid values are 'text' and 'yaml')." +msgstr "Metadatan oletusmuoto (vaihtoehdot: ”xml” tai ”yaml”)." + +#. TRANSLATORS: This is the header to the --help menu for subcommands +#. TRANSLATORS: This is the header to the --help menu +#: tools/appstreamcli.c:153 tools/appstreamcli.c:981 +msgid "AppStream command-line interface" +msgstr "AppStreamin komentorivikäyttöliittymä" + +#: tools/appstreamcli.c:156 +#, c-format +msgid "'%s' command" +msgstr "”%s”-komento" + +#. TRANSLATORS: An unknown option was passed to appstreamcli. +#: tools/appstreamcli.c:191 +#, c-format +msgid "Option '%s' is unknown." +msgstr "Valitsin ”%s” on tuntematon." + +#: tools/appstreamcli.c:195 tools/appstreamcli.c:1207 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options." +msgstr "Näet kaikki saatavilla olevat valitsimet komennolla ”%s --help”." + +#: tools/appstreamcli.c:197 +#, c-format msgid "" -"The component is part of the KDE project, but its ID does not start with " -"KDEs reverse-DNS name (\"org.kde\")." +"Run '%s --help' to see a list of available commands and options, and '%s %s " +"--help' to see a list of options specific for this subcommand." msgstr "" -#: src/as-validator-issue-tag.h:323 -msgid "The component name should (likely) not end with a dot ('.')." +#. TRANSLATORS: ascli flag description for: --force +#: tools/appstreamcli.c:245 +msgid "Enforce a cache refresh." +msgstr "Pakota välimuistin päivitys." + +#. TRANSLATORS: ascli flag description for: --user +#: tools/appstreamcli.c:251 +msgid "Update the user-specific instead of the system-wide cache." msgstr "" -#: src/as-validator-issue-tag.h:333 -msgid "The component summary must not contain tabs or linebreaks." +#. TRANSLATORS: ascli flag description for: --origin (part of the "put" subcommand) +#: tools/appstreamcli.c:477 +msgid "Set the data origin for the installed metadata collection file." msgstr "" -#: src/as-validator-issue-tag.h:328 -msgid "The component summary should not end with a dot ('.')." +#. TRANSLATORS: ascli flag description for: --user (part of the "put" subcommand) +#: tools/appstreamcli.c:482 +msgid "Install the file for the current user, instead of globally." msgstr "" -#: src/as-validator-issue-tag.h:243 +#: tools/appstreamcli.c:631 msgid "" -"The default screenshot of a software component must not be a video. Use a " -"static image as default screenshot and set the video as a secondary " -"screenshot." +"You need to provide at least two version numbers to compare as parameters." msgstr "" -#: src/as-validator-issue-tag.h:86 -msgid "" -"The description contains a web URL in plain text. This is not allowed, " -"please use the tag instead to share links." +#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. +#: tools/appstreamcli.c:660 +#, c-format +msgid "Unknown compare relation '%s'. Valid values are:" msgstr "" -#: src/as-validator.c:152 +#: tools/appstreamcli.c:700 msgid "" -"The emitted issue tag is unknown in the tag registry of AppStream. This is a " -"bug in the validator itself, please report this issue in our bugtracker." +"Too many parameters: Need two version numbers or version numbers and a " +"comparison operator." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:435 +#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) +#: tools/appstreamcli.c:726 msgid "" -"The essential tag 'metadata_license' is missing. A license for the metadata " -"itself always has to be defined." +"Use the given .desktop file to fill in the basic values of the metainfo file." msgstr "" -#: src/as-validator-issue-tag.h:79 +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand +#: tools/appstreamcli.c:731 msgid "" -"The first 'description/p' paragraph of this component might be too short (< " -"80 characters). Please consider starting with a longer paragraph to improve " -"how the description looks like in software centers and to provide more " -"detailed information on this component immediately in the first paragraph." +"This command takes optional TYPE and FILE positional arguments, FILE being a " +"file to write to (or \"-\" for standard output)." msgstr "" -#: src/as-validator-issue-tag.h:156 -msgid "" -"The license ID was not found in the SPDX database. Please check that the " -"license ID is written in an SPDX-conformant way and is a valid free software " -"license." +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows +#: tools/appstreamcli.c:734 +#, c-format +msgid "The TYPE must be a valid component-type, such as: %s" msgstr "" -#: src/as-validator-issue-tag.h:96 -msgid "" -"The mentioned tag is empty, which is highly likely not intended as it should " -"have content." +#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) +#: tools/appstreamcli.c:775 +msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." msgstr "" -#: src/as-validator-issue-tag.h:168 -msgid "" -"The metadata itself does not seem to be licensed under a permissive license. " -"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " -"0BSD to allow distributors to include it in mixed data collections without " -"the risk of license violations due to mutually incompatible licenses." +#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command +#: tools/appstreamcli.c:815 +msgid "Assume the input file is in the selected format ('yaml' or 'text')." msgstr "" -#: src/as-validator-issue-tag.h:162 +#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command +#: tools/appstreamcli.c:820 msgid "" -"The metadata itself seems to be licensed under a complex collection of " -"licenses. Please license the data under a simple permissive license, like " -"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " -"collections without the risk of license violations due to mutually " -"incompatible licenses." +"Limit the number of release entries that end up in the metainfo file (0 for " +"unlimited)." msgstr "" -#: src/as-validator-issue-tag.h:599 -msgid "" -"The metainfo file is stored in a legacy path. Please place it in '/usr/share/" -"metainfo'." +#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command +#: tools/appstreamcli.c:862 +msgid "Generate the output in the selected format ('yaml' or 'text')." msgstr "" -#: src/as-validator-issue-tag.h:604 -msgid "The metainfo file specifies multiple components. This is not allowed." +#: tools/appstreamcli.c:894 +#, c-format +msgid "Compose binary '%s' was not found! Can not continue." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:559 -msgid "" -"The metainfo file uses an ancient version of the AppStream specification, " -"which can not be validated. Please migrate it to version 0.6 (or higher)." +#. TRANSLATORS: this is a (usually shorter) command alias, shown after the command summary text +#: tools/appstreamcli.c:956 +#, c-format +msgid "(Alias: '%s')" msgstr "" -#: src/as-validator-issue-tag.h:569 -#, fuzzy -msgid "The metainfo filename does not match the component ID." -msgstr "Asenna komponentti-ID:tä vastaava ohjelmisto." +#. these are commands we can use with appstreamcli +#: tools/appstreamcli.c:983 +msgid "Subcommands:" +msgstr "Alikomennot:" -#: src/as-validator-issue-tag.h:609 +#: tools/appstreamcli.c:1029 msgid "" -"The releases are not sorted in a latest to oldest version order. This is " -"required as some tools will assume that the latest version is always at the " -"top. Sorting releases also increases overall readability of the metainfo " -"file." +"You can find information about subcommand-specific options by passing \"--" +"help\" to the subcommand." msgstr "" -#: src/as-validator-issue-tag.h:537 -msgid "The screenshot caption is too long (should be <= 80 characters)" +#. TRANSLATORS: ascli has been run with unknown command. '%s --help' is the command to receive help and should not be translated. +#: tools/appstreamcli.c:1052 +#, fuzzy, c-format +msgid "" +"Command '%s' is unknown. Run '%s --help' for a list of available commands." +msgstr "Näet kaikki saatavilla olevat valitsimet komennolla ”%s --help”." + +#. TRANSLATORS: ascli flag description for: --verbose +#: tools/appstreamcli.c:1082 +msgid "Show extra debugging information." msgstr "" -#: src/as-validator-issue-tag.h:206 -msgid "The screenshot does not have a caption text. Consider adding one." +#. TRANSLATORS: ascli flag description for: --profile +#: tools/appstreamcli.c:1090 +msgid "Enable profiling" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:218 -msgid "" -"The screenshot video does not specify which container format was used in a " -"'container' property." +#. TRANSLATORS: `appstreamcli search` command description. +#: tools/appstreamcli.c:1102 +msgid "Search the component database." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:212 +#. TRANSLATORS: `appstreamcli get` command description. +#: tools/appstreamcli.c:1107 +msgid "Get information about a component by its ID." +msgstr "Hae tiedot komponentista sen ID:n perusteella." + +#. TRANSLATORS: `appstreamcli what-provides` command description. +#: tools/appstreamcli.c:1112 msgid "" -"The screenshot video does not specify which video codec was used in a " -"'codec' property." +"Get components which provide the given item. Needs an item type (e.g. lib, " +"bin, python3, …) and item value as parameter." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:224 -msgid "" -"The selected video codec is not supported by AppStream and software centers " -"may not be able to play the video. Only the AV1 and VP9 codecs are currently " -"supported, using 'av1' and 'vp9' as values for the 'codec' property." +#. TRANSLATORS: `appstreamcli dump` command description. +#: tools/appstreamcli.c:1118 +msgid "Dump raw XML metadata for a component matching the ID." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:231 -msgid "" -"The selected video container format is not supported by AppStream and " -"software centers may not be able to play the video. Only the WebM and " -"Matroska video containers are currently supported, using 'webm' and 'mkv' as " -"values for the 'container' property." +#. TRANSLATORS: `appstreamcli refresh-cache` command description. +#: tools/appstreamcli.c:1123 +msgid "Rebuild the component metadata cache." msgstr "" -#: src/as-validator-issue-tag.h:283 -msgid "" -"The set component type is not a recognized, valid AppStream component type." +#. TRANSLATORS: `appstreamcli validate` command description. +#: tools/appstreamcli.c:1129 +msgid "Validate AppStream XML files for issues." +msgstr "Tarkasta AppStream XML -tiedostojen virheettömyys." + +#. TRANSLATORS: `appstreamcli validate-tree` command description. +#: tools/appstreamcli.c:1134 +msgid "Validate an installed file-tree of an application for valid metadata." msgstr "" -#: src/as-validator-issue-tag.h:398 -msgid "" -"The set value is not an identifier for a desktop environment as registered " -"with Freedesktop.org." +#. TRANSLATORS: `appstreamcli install` command description. +#: tools/appstreamcli.c:1140 +msgid "Install software matching the component-ID." +msgstr "Asenna komponentti-ID:tä vastaava ohjelmisto." + +#. TRANSLATORS: `appstreamcli remove` command description. +#: tools/appstreamcli.c:1145 +msgid "Remove software matching the component-ID." msgstr "" -#: tools/ascli-actions-mdata.c:449 -#, c-format +#. TRANSLATORS: `appstreamcli status` command description. +#: tools/appstreamcli.c:1151 +msgid "Display status information about available AppStream metadata." +msgstr "Näytä tilatietoja saatavilla olevista AppStream-metatiedoista." + +#. TRANSLATORS: `appstreamcli os-info` command description. +#: tools/appstreamcli.c:1156 msgid "" -"The software component type '%s' is not valid in AppStream. Possible values " -"are:" +"Show information about the current operating system from the metadata index." msgstr "" -#: src/as-validator-issue-tag.h:338 -msgid "The summary must not contain any URL. Use the tags for links." +#. TRANSLATORS: `appstreamcli put` command description. +#: tools/appstreamcli.c:1161 +msgid "Install a metadata file into the right location." +msgstr "Asenna metadata-tiedosto oikeaan sijaintiin." + +#. TRANSLATORS: `appstreamcli convert` command description. "Collection XML" is a term describing a specific type of AppStream XML data. +#: tools/appstreamcli.c:1166 +msgid "Convert collection XML to YAML or vice versa." +msgstr "Muuta keräilty XML YAML-muotoon tai toisin päin." + +#. TRANSLATORS: `appstreamcli vercmp` command description. +#: tools/appstreamcli.c:1171 +msgid "Compare two version numbers." msgstr "" -#: src/as-validator-issue-tag.h:640 +#. TRANSLATORS: `appstreamcli new-template` command description. +#: tools/appstreamcli.c:1177 msgid "" -"The type of the item that the component provides is not known to AppStream." +"Create a template for a metainfo file (to be filled out by the upstream " +"project)." +msgstr "Luo metainfo-tiedoston malli (johon pitää vielä täyttää kohtia)." + +#. TRANSLATORS: `appstreamcli make-desktop-file` command description. +#: tools/appstreamcli.c:1182 +msgid "Create a desktop-entry file from a metainfo file." msgstr "" -#: src/as-validator-issue-tag.h:174 -msgid "" -"The update-contact does not appear to be a valid email address (escaping of " -"'@' is only allowed as '_at_' or '_AT_')." +#. TRANSLATORS: `appstreamcli news-to-metainfo` command description. +#: tools/appstreamcli.c:1187 +msgid "Convert a YAML or text NEWS file into metainfo releases." msgstr "" -#: tools/ascli-actions-validate.c:363 tools/ascli-actions-validate.c:492 -#, c-format -msgid "" -"The validator can not create reports in the '%s' format. You may select " -"'yaml' or 'text' instead." +#. TRANSLATORS: `appstreamcli metainfo-to-news` command description. +#: tools/appstreamcli.c:1192 +msgid "Write NEWS text or YAML file with information from a metainfo file." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:410 -msgid "This 'bundle' tag has an unknown type and can not be used." +#. TRANSLATORS: `appstreamcli compose` command description. +#: tools/appstreamcli.c:1198 +msgid "Compose AppStream collection metadata from directory trees." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:404 -msgid "This 'launchable' tag has an unknown type and can not be used." +#. TRANSLATORS: ascli has been run without command. +#: tools/appstreamcli.c:1206 +msgid "You need to specify a command." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:515 -msgid "" -"This 'localization' component does not define any languages this " -"localization is for." +#. TRANSLATORS: In ascli: The requested action needs higher permissions. +#: tools/ascli-actions-mdata.c:70 +msgid "You might need superuser permissions to perform this action." msgstr "" +"Tämän toiminnon suorittamiseen tarvitaan mahdollisesti pääkäyttäjän oikeudet." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:509 -msgid "" -"This 'localization' component is missing an 'extends' tag, to specify the " -"components it adds localization to." +#. we performed a cache refresh +#. TRANSLATORS: Updating the metadata cache succeeded +#: tools/ascli-actions-mdata.c:80 +msgid "AppStream cache update completed successfully." +msgstr "AppStreamin välimuisti päivitetty onnistuneesti." + +#. cache wasn't updated, so the update wasn't necessary +#: tools/ascli-actions-mdata.c:86 +msgid "AppStream cache update is not necessary." +msgstr "AppStreamin välimuistin päivittäminen ei ole tarpeellista." + +#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments +#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. +#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:253 +#: tools/ascli-actions-pkgmgr.c:80 +msgid "You need to specify a component-ID." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:521 -msgid "" -"This 'service' component is missing a 'launchable' tag of type 'service'." +#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:265 +#: tools/ascli-actions-pkgmgr.c:93 +#, c-format +msgid "Unable to find component with ID '%s'!" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:473 -msgid "" -"This 'web-application' component is missing a 'icon' tag to specify a valid " -"icon." +#: tools/ascli-actions-mdata.c:164 +msgid "You need to specify a term to search for." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:467 -msgid "" -"This 'web-application' component is missing a 'launchable' tag of type 'url'." +#. TRANSLATORS: We failed to find any component in the database, likely due to an error +#: tools/ascli-actions-mdata.c:177 +#, c-format +msgid "Unable to find component matching %s!" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:479 -msgid "" -"This 'web-application' component is missing categorizations. A 'categories' " -"block is likely missing." +#: tools/ascli-actions-mdata.c:182 +#, c-format +msgid "No component matching '%s' found." msgstr "" -#: src/as-validator-issue-tag.h:564 -msgid "" -"This XML document has an unknown root tag. Maybe this file is not a metainfo " -"document?" +#: tools/ascli-actions-mdata.c:206 +msgid "No value for the item to search for was defined." msgstr "" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand -#: tools/appstream-cli.c:680 -msgid "" -"This command takes optional TYPE and FILE positional arguments, FILE being a " -"file to write to (or \"-\" for standard output)." +#: tools/ascli-actions-mdata.c:212 +msgid "Invalid type for provided item selected. Valid values are:" msgstr "" -#: src/as-validator-issue-tag.h:622 -msgid "" -"This component extends, provides, requires or recommends itself, which is " -"certainly not intended and may confuse users or machines dealing with this " -"metadata." +#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results +#: tools/ascli-actions-mdata.c:227 +#, c-format +msgid "Could not find component providing '%s::%s'." +msgstr "Ei löydetty komponenttia, joka tarjoaisi ”%s::%s”." + +#: tools/ascli-actions-mdata.c:306 +msgid "You need to specify a metadata file." msgstr "" -#: src/as-validator-issue-tag.h:579 -msgid "This component metadata refers to a non-existing .desktop file." +#: tools/ascli-actions-mdata.c:320 +#, fuzzy, c-format +msgid "Unable to install metadata file: %s" +msgstr ".desktop-tiedostoa ei voida lukea: %s" + +#: tools/ascli-actions-mdata.c:340 +msgid "You need to specify an input and output file." msgstr "" -#: src/as-validator-issue-tag.h:69 +#: tools/ascli-actions-mdata.c:347 +#, c-format +msgid "Metadata file '%s' does not exist." +msgstr "Metadata-tiedostoa ”%s” ei ole olemassa." + +#. TRANSLATORS: User is trying to convert a file in ascli +#: tools/ascli-actions-mdata.c:387 msgid "" -"This description paragraph contains invalid markup. Currently, only " -"and are permitted." +"Unable to convert file: Could not determine output format, please set it " +"explicitly using '--format='." msgstr "" -#: src/as-validator-issue-tag.h:57 -msgid "" -"This element (paragraph, list, etc.) of a tag must not be " -"localized individually in collection metadata. Localize the whole " -" tag instead. The AppStream collection metadata generator (e." -"g. `appstream-generator`) will already do the right thing when compiling the " -"data." +#: tools/ascli-actions-mdata.c:438 +#, c-format +msgid "Unable to find operating system component '%s'!" msgstr "" -#: src/as-validator-issue-tag.h:455 +#: tools/ascli-actions-mdata.c:443 +#, fuzzy +msgid "Version" +msgstr "Versio: %s" + +#: tools/ascli-actions-mdata.c:467 msgid "" -"This generic component is missing a long description. It may be useful to " -"add one." +"You need to give an AppStream software component type to generate a " +"template. Possible values are:" msgstr "" -#: src/as-validator-issue-tag.h:421 +#: tools/ascli-actions-mdata.c:469 +#, c-format msgid "" -"This tag is a GNOME-specific extension to AppStream and not part of the " -"official specification. Do not expect it to work in all implementations and " -"in all software centers." +"The software component type '%s' is not valid in AppStream. Possible values " +"are:" msgstr "" -#: src/as-validator-issue-tag.h:41 -msgid "This tag requires a type property." -msgstr "" +#: tools/ascli-actions-mdata.c:487 +#, c-format +msgid "The .desktop file '%s' does not exist." +msgstr ".desktop-tiedostoa ”%s” ei ole olemassa." -#: data/org.freedesktop.appstream.cli.metainfo.xml:15 -msgid "" -"This tool allows for reading, writing, validating and transformation of " -"AppStream XML or YAML metadata. It also gives access to the system metadata " -"pool, for example to query for software that provides a specific MIME-type, " -"and installing it by its software component identifier." -msgstr "" +#: tools/ascli-actions-mdata.c:493 +#, c-format +msgid "Unable to read the .desktop file: %s" +msgstr ".desktop-tiedostoa ei voida lukea: %s" -#: src/as-validator-issue-tag.h:388 -msgid "" -"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." +#: tools/ascli-actions-mdata.c:564 +#, c-format +msgid "Unable to build the template metainfo file: %s" msgstr "" -#: tools/appstream-cli.c:648 -msgid "" -"Too many parameters: Need two version numbers or version numbers and a " -"comparison operator." +#: tools/ascli-actions-mdata.c:572 +#, c-format +msgid "Unable to save the template metainfo file: %s" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:461 -msgid "" -"Type 'console-application' component, but no information about binaries in " -"$PATH was provided via a 'provides/binary' tag." +#. TRANSLATORS: In the status report of ascli: Header +#: tools/ascli-actions-misc.c:47 +msgid "AppStream Status:" +msgstr "AppStreamin tila:" + +#: tools/ascli-actions-misc.c:48 +#, c-format +msgid "Version: %s" +msgstr "Versio: %s" + +#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions +#: tools/ascli-actions-misc.c:52 +msgid "Distribution metadata:" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:491 -msgid "" -"Type 'driver' component, but no modalias information was provided via a " -"provides/modalias tag." +#: tools/ascli-actions-misc.c:94 +msgid "Iconsets" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:485 -msgid "" -"Type 'font' component, but no font information was provided via a 'provides/" -"font' tag." +#: tools/ascli-actions-misc.c:105 +msgid "No icons." +msgstr "Ei kuvakkeita." + +#. TRANSLATORS: No metainfo files have been found +#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 +msgid "Empty." +msgstr "Tyhjä." + +#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report +#: tools/ascli-actions-misc.c:116 +msgid "Metainfo files:" msgstr "" -#: src/as-validator.c:333 -msgid "URL format is invalid." +#: tools/ascli-actions-misc.c:123 +#, c-format +msgid "Found %i components." +msgstr "Löydettiin %i komponenttia." + +#. TRANSLATORS: Found metainfo files in legacy directories +#: tools/ascli-actions-misc.c:138 +#, c-format +msgid "Found %i components in legacy paths." +msgstr "Vanhentuneista poluista löydettiin %i komponenttia." + +#. TRANSLATORS: Status summary in ascli +#: tools/ascli-actions-misc.c:145 +msgid "Summary:" +msgstr "Yhteenveto:" + +#: tools/ascli-actions-misc.c:153 +#, c-format +msgid "We have information on %i software components." msgstr "" -#: tools/ascli-actions-mdata.c:544 +#: tools/ascli-actions-misc.c:159 #, c-format -msgid "Unable to build the template metainfo file: %s" +msgid "Error while loading the metadata pool: %s" msgstr "" -#. TRANSLATORS: User is trying to convert a file in ascli -#: tools/ascli-actions-mdata.c:400 -msgid "" -"Unable to convert file: Could not determine output format, please set it " -"explicitly using '--format='." +#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 +msgid "You need to specify a metainfo file as input." msgstr "" -#. TRANSLATORS: We failed to find any component in the database, likely due to an error -#: tools/ascli-actions-mdata.c:177 -#, c-format -msgid "Unable to find component matching %s!" +#: tools/ascli-actions-misc.c:188 +msgid "" +"You need to specify a desktop-entry file to create or augment as output." msgstr "" -#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:266 -#: tools/ascli-actions-pkgmgr.c:93 +#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 +#: tools/ascli-actions-misc.c:515 +#, fuzzy, c-format +msgid "Metainfo file '%s' does not exist." +msgstr "Metadata-tiedostoa ”%s” ei ole olemassa." + +#: tools/ascli-actions-misc.c:219 #, c-format -msgid "Unable to find component with ID '%s'!" +msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." msgstr "" #: tools/ascli-actions-misc.c:224 @@ -1563,54 +2546,51 @@ msgid "Unable to load existing desktop-entry file template: %s" msgstr ".desktop-tiedostoa ei voida lukea: %s" -#: src/as-validator-issue-tag.h:356 -msgid "Unable to reach remote icon at the given web location - does it exist?" -msgstr "" - -#: src/as-validator-issue-tag.h:378 -msgid "" -"Unable to reach remote location that this URL references - does it exist?" +#: tools/ascli-actions-misc.c:228 +#, c-format +msgid "Creating new desktop-entry file '%s' using data from '%s'" msgstr "" -#: src/as-validator-issue-tag.h:179 -msgid "" -"Unable to reach the screenshot image on its remote location - does the image " -"exist?" +#: tools/ascli-actions-misc.c:284 +msgid "No stock icon name was provided in the metainfo file. Can not continue." msgstr "" -#: src/as-validator-issue-tag.h:184 +#: tools/ascli-actions-misc.c:306 msgid "" -"Unable to reach the screenshot video on its remote location - does the video " -"file exist?" +"No provided binary specified in metainfo file, and no exec command specified " +"via '--exec'. Can not create 'Exec=' key." msgstr "" -#: src/as-validator-issue-tag.h:542 -#, fuzzy -msgid "Unable to read file." +#: tools/ascli-actions-misc.c:370 +#, fuzzy, c-format +msgid "Unable to save desktop entry file: %s" msgstr ".desktop-tiedostoa ei voida lukea: %s" -#: src/as-validator-issue-tag.h:574 -#, fuzzy -msgid "Unable to read the .desktop file associated with this component." -msgstr ".desktop-tiedostoa ei voida lukea: %s" +#: tools/ascli-actions-misc.c:393 +msgid "You need to specify a NEWS file as input." +msgstr "" -#: tools/ascli-actions-mdata.c:473 -#, c-format -msgid "Unable to read the .desktop file: %s" -msgstr ".desktop-tiedostoa ei voida lukea: %s" +#: tools/ascli-actions-misc.c:397 +msgid "" +"You need to specify a metainfo file to augment, or '-' to print to stdout." +msgstr "" -#: src/as-pool.c:606 -msgid "Unable to remove old cache." +#: tools/ascli-actions-misc.c:402 +msgid "No output filename specified, modifying metainfo file directly." msgstr "" -#: tools/ascli-actions-misc.c:370 -#, fuzzy, c-format -msgid "Unable to save desktop entry file: %s" -msgstr ".desktop-tiedostoa ei voida lukea: %s" +#: tools/ascli-actions-misc.c:509 +msgid "You need to specify a NEWS file as output, or '-' to print to stdout." +msgstr "" -#: tools/ascli-actions-mdata.c:552 -#, c-format -msgid "Unable to save the template metainfo file: %s" +#: tools/ascli-actions-misc.c:540 +msgid "You need to specify a NEWS format to write the output in." +msgstr "" + +#: tools/ascli-actions-pkgmgr.c:53 +msgid "" +"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" +"\" (part of PackageKit) is available." msgstr "" #: tools/ascli-actions-pkgmgr.c:67 @@ -1618,225 +2598,152 @@ msgid "Unable to spawn package manager: %s" msgstr "Ei voitu käynnistää pakettienhallintaa: %s" -#: tools/ascli-actions-mdata.c:322 +#. TRANSLATORS: We found no distribution package or bundle to install to make this software available +#: tools/ascli-actions-pkgmgr.c:106 #, c-format -msgid "Unable to write to '%s', can not install metainfo file." +msgid "Component '%s' has no installation candidate." msgstr "" -#. TRANSLATORS: ascli has been run with unknown command. -#: tools/appstream-cli.c:1009 -#, c-format -msgid "Unknown command '%s'." -msgstr "" +#: tools/ascli-actions-validate.c:176 tools/ascli-actions-validate.c:354 +#, fuzzy, c-format +msgid "File '%s' does not exist." +msgstr "Metadata-tiedostoa ”%s” ei ole olemassa." -#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. -#: tools/appstream-cli.c:608 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "error"-type hints +#: tools/ascli-actions-validate.c:228 #, c-format -msgid "Unknown compare relation '%s'. Valid values are:" -msgstr "" - -#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) -#: tools/appstream-cli.c:675 -msgid "" -"Use the given .desktop file to fill in the basic values of the metainfo file." -msgstr "" +msgid "errors: %lu" +msgstr "virheitä: %lu" -#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) -#: tools/appstream-cli.c:725 -msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." -msgstr "" +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "warning"-type hints +#: tools/ascli-actions-validate.c:235 +#, c-format +msgid "warnings: %lu" +msgstr "varoituksia: %lu" -#. TRANSLATORS: this is the menu spec main category for Utilities -#: src/as-category.c:329 -msgid "Utilities" -msgstr "Apuohjelmat" +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "info"-type hints +#: tools/ascli-actions-validate.c:242 +#, c-format +msgid "infos: %lu" +msgstr "ilmoituksia: %lu" -#: tools/appstream-cli.c:856 -msgid "Validate AppStream XML files for issues." -msgstr "Tarkasta AppStream XML -tiedostojen virheettömyys." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "pedantic"-type hints +#: tools/ascli-actions-validate.c:249 +#, c-format +msgid "pedantic: %lu" +msgstr "pedanttisia: %lu" -#: tools/appstream-cli.c:857 -msgid "Validate an installed file-tree of an application for valid metadata." +#: tools/ascli-actions-validate.c:268 tools/ascli-actions-validate.c:342 +msgid "You need to specify at least one file to validate!" msgstr "" -#: tools/ascli-actions-validate.c:301 tools/ascli-actions-validate.c:442 -#, c-format -msgid "Validation failed: %s" -msgstr "Tarkastus epäonnistui: %s" - -#: tools/ascli-actions-validate.c:289 tools/ascli-actions-validate.c:430 +#: tools/ascli-actions-validate.c:294 tools/ascli-actions-validate.c:435 msgid "Validation was successful." msgstr "Tarkastus onnistui." -#: tools/ascli-actions-validate.c:291 tools/ascli-actions-validate.c:432 +#: tools/ascli-actions-validate.c:296 tools/ascli-actions-validate.c:437 #, c-format msgid "Validation was successful: %s" msgstr "" -#: tools/appstream-cli.c:851 -msgid "Value of the item that should be found." -msgstr "" - -#: src/as-category.c:177 -msgctxt "Category of Graphics" -msgid "Vector Graphics" -msgstr "Vektorigrafiikka" - -#: tools/ascli-actions-misc.c:48 +#: tools/ascli-actions-validate.c:306 tools/ascli-actions-validate.c:447 #, c-format -msgid "Version: %s" -msgstr "Versio: %s" - -#: src/as-category.c:180 -msgctxt "Category of Graphics" -msgid "Viewers" -msgstr "Kuvankatselimet" +msgid "Validation failed: %s" +msgstr "Tarkastus epäonnistui: %s" -#: tools/ascli-actions-misc.c:153 +#: tools/ascli-actions-validate.c:368 tools/ascli-actions-validate.c:497 #, c-format -msgid "We have information on %i software components." -msgstr "" - -#: src/as-category.c:270 -msgctxt "Category of Communication" -msgid "Web Browsers" -msgstr "Selaimet" - -#: src/as-category.c:202 -msgctxt "Category of Office" -msgid "Word Processor" -msgstr "Tekstinkäsittely" - -#: tools/appstream-cli.c:871 -msgid "Write NEWS text or YAML file with information from a metainfo file." -msgstr "" - -#: tools/appstream-cli.c:874 msgid "" -"You can find information about subcommand-specific options by passing \"--" -"help\" to the subcommand." -msgstr "" - -#. TRANSLATORS: In ascli: The requested action needs higher permissions. -#: tools/ascli-actions-mdata.c:70 -msgid "You might need superuser permissions to perform this action." +"The validator can not create reports in the '%s' format. You may select " +"'yaml' or 'text' instead." msgstr "" -"Tämän toiminnon suorittamiseen tarvitaan mahdollisesti pääkäyttäjän oikeudet." -#: tools/ascli-actions-mdata.c:447 -msgid "" -"You need to give an AppStream software component type to generate a " -"template. Possible values are:" +#: tools/ascli-actions-validate.c:390 tools/ascli-actions-validate.c:484 +msgid "You need to specify a root directory to start validation!" msgstr "" -#: tools/appstream-cli.c:579 -msgid "" -"You need to provide at least two version numbers to compare as parameters." -msgstr "" +#: tools/ascli-utils.c:266 +msgid "Identifier" +msgstr "Tunniste" -#: tools/ascli-actions-misc.c:393 -msgid "You need to specify a NEWS file as input." +#: tools/ascli-utils.c:268 +msgid "Internal ID" msgstr "" -#: tools/ascli-actions-misc.c:509 -msgid "You need to specify a NEWS file as output, or '-' to print to stdout." -msgstr "" +#: tools/ascli-utils.c:269 +msgid "Name" +msgstr "Nimi" -#: tools/ascli-actions-misc.c:540 -msgid "You need to specify a NEWS format to write the output in." -msgstr "" +#: tools/ascli-utils.c:270 +msgid "Summary" +msgstr "Yhteenveto" -#. TRANSLATORS: ascli has been run without command. -#: tools/appstream-cli.c:925 -msgid "You need to specify a command." -msgstr "" +#: tools/ascli-utils.c:271 +msgid "Package" +msgstr "Paketti" -#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments -#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. -#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:254 -#: tools/ascli-actions-pkgmgr.c:80 -msgid "You need to specify a component-ID." +#: tools/ascli-utils.c:272 +msgid "Bundle" msgstr "" -#: tools/ascli-actions-misc.c:188 -msgid "" -"You need to specify a desktop-entry file to create or augment as output." -msgstr "" +#: tools/ascli-utils.c:273 +msgid "Homepage" +msgstr "Verkkosivusto" -#: tools/ascli-actions-mdata.c:309 -msgid "You need to specify a metadata file." -msgstr "" +#: tools/ascli-utils.c:274 +msgid "Icon" +msgstr "Kuvake" -#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 -msgid "You need to specify a metainfo file as input." -msgstr "" +#. developer name +#: tools/ascli-utils.c:294 +msgid "Developer" +msgstr "Kehittäjä" -#: tools/ascli-actions-misc.c:397 -msgid "" -"You need to specify a metainfo file to augment, or '-' to print to stdout." -msgstr "" +#: tools/ascli-utils.c:300 +msgid "Extends" +msgstr "Laajentaa" -#: tools/ascli-actions-validate.c:385 tools/ascli-actions-validate.c:479 -msgid "You need to specify a root directory to start validation!" -msgstr "" +#: tools/ascli-utils.c:306 +msgid "Description" +msgstr "Kuvaus" -#: tools/ascli-actions-mdata.c:164 -msgid "You need to specify a term to search for." -msgstr "" +#: tools/ascli-utils.c:326 +msgid "Default Screenshot URL" +msgstr "Oletusnäyttökuvan URL" -#: tools/ascli-actions-mdata.c:357 -msgid "You need to specify an input and output file." -msgstr "" +#. project group +#: tools/ascli-utils.c:333 +msgid "Project Group" +msgstr "Projektiryhmä" -#: tools/ascli-actions-validate.c:263 tools/ascli-actions-validate.c:337 -msgid "You need to specify at least one file to validate!" -msgstr "" +#. license +#: tools/ascli-utils.c:336 +msgid "License" +msgstr "Lisenssi" -#. TRANSLATORS: List of "grey-listed" words sperated with ";" -#. * Do not translate this list directly. Instead, -#. * provide a list of words in your language that people are likely -#. * to include in a search but that should normally be ignored in -#. * the search. -#. -#: src/as-pool.c:107 -msgid "app;application;package;program;programme;suite;tool" -msgstr "" +#: tools/ascli-utils.c:342 +msgid "Categories" +msgstr "Luokat" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:223 -#, c-format -msgid "errors: %lu" -msgstr "virheitä: %lu" +#: tools/ascli-utils.c:350 +msgid "Compulsory for" +msgstr "Tarvitaan työpöytäympäristössä" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:237 -#, c-format -msgid "infos: %lu" -msgstr "ilmoituksia: %lu" +#: tools/ascli-utils.c:378 +msgid "Provided Items" +msgstr "" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:244 -#, c-format -msgid "pedantic: %lu" -msgstr "pedanttisia: %lu" +#, fuzzy, c-format +#~ msgid "Unable to open new cache file: %s" +#~ msgstr ".desktop-tiedostoa ei voida lukea: %s" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:230 #, c-format -msgid "warnings: %lu" -msgstr "varoituksia: %lu" - -#~ msgid "Command '%s' is unknown." -#~ msgstr "Komento ”%s” on tuntematon." - -#, fuzzy -#~ msgid "Category of Games" -#~ msgstr "Luokat" - -#, fuzzy -#~ msgid "Category of Office" -#~ msgstr "Luokat" +#~ msgid "" +#~ "Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " +#~ "suffix." +#~ msgstr "" +#~ "Ei voida kopioida tiedostoa ”%s”: Tiedostopääte ei ole ”.metainfo.xml” " +#~ "tai”.appdata.xml”." -#, fuzzy -#~ msgid "Category of Science" -#~ msgstr "Luokat" +#~ msgid "Get components which provide the given item." +#~ msgstr "Hae komponentit, jotka tarjoavat pyydetyn kohteen." diff -Nru appstream-0.12.10/po/fr.po appstream-0.14.5/po/fr.po --- appstream-0.12.10/po/fr.po 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/po/fr.po 2021-08-28 20:15:28.000000000 +0000 @@ -1,3 +1,4 @@ +# #-#-#-#-# fr.po (AppStream) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Matthias Klumpp # This file is distributed under the same license as the appstream package. @@ -7,13 +8,32 @@ # Estébastien Robespi , 2019. # Édana , 2019. # Guillaume Feller , 2019. +# Balaky Félix , 2020. +# Bounedjar Mehdi , 2020. +# Thomas Schwery , 2020. +# Irénée THIRION , 2020. +# XoD DarK , 2020. +# Jeannette L , 2020. +# Bastien Tréhoux , 2020. +# Éfrit , 2020, 2021. +# Julien Humbert , 2020. +# #-#-#-#-# fr.po (appstream-glib) #-#-#-#-# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Claude Paroz , 2015 +# Jean-Baptiste Holcroft , 2017. #zanata +# José Fournier , 2017. #zanata +# Jean-Baptiste Holcroft , 2019. #zanata +# +# Translators: msgid "" msgstr "" -"Project-Id-Version: AppStream\n" +"Project-Id-Version: appstream-glib\n" "Report-Msgid-Bugs-To: appstream@lists.freedesktop.org\n" -"POT-Creation-Date: 2020-01-14 01:44+0100\n" -"PO-Revision-Date: 2019-12-28 16:19+0000\n" -"Last-Translator: Guillaume Feller \n" +"POT-Creation-Date: 2021-08-28 16:09+0200\n" +"PO-Revision-Date: 2021-08-27 09:34+0000\n" +"Last-Translator: Éfrit \n" "Language-Team: French \n" "Language: fr\n" @@ -21,1970 +41,3119 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 3.10\n" - -#: tools/appstream-cli.c:157 -#, c-format -msgid "'%s' command" -msgstr "commande « %s »" - -#: src/as-category.c:168 -msgctxt "Category of Graphics" -msgid "3D Graphics" -msgstr "Graphismes 3D" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:254 -msgid "" -"A 'requires' or 'recommends' item requires a value to denote a valid " -"relation." -msgstr "" -"Un élément « requires » ou « recommends » requiert une valeur pour dénoter " -"une relation valide." +"X-Generator: Weblate 4.8.1-dev\n" -#: src/as-validator-issue-tag.h:51 -msgid "" -"A tag must not be localized in metainfo files (upstream " -"metadata). Localize the individual paragraphs instead." -msgstr "" -"Une balise ne doit pas être traduite dans les fichiers " -"métainfo (métadonnées upstream). Traduisez les paragraphes individuels à la " -"place." +#: data/org.freedesktop.appstream.cli.metainfo.xml:8 +msgid "AppStream CLI" +msgstr "Interface en ligne de commande AppStream" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:195 -msgid "" -"A screenshot must contain at least one image or video in order to be useful. " -"Please add an to it." -msgstr "" -"Une capture d'écran doit contenir au moins une image ou une vidéo pour être " -"utile. Veuillez lui ajouter ." +#: data/org.freedesktop.appstream.cli.metainfo.xml:9 +msgid "An utility to work with AppStream metadata" +msgstr "Un utilitaire pour travailler avec les métadonnées AppStream" -#: src/as-validator-issue-tag.h:200 +#: data/org.freedesktop.appstream.cli.metainfo.xml:12 msgid "" -"A screenshot must contain either images or videos, but not both at the same " -"time. Please use this screenshot exclusively for either static images or for " -"videos." -msgstr "" -"Une capture d'écran doit contenir soit des images, soit des vidéos, mais pas " -"les deux en même temps. Veuillez utiliser cette capture d'écran " -"exclusivement soit pour des images statiques, soit des vidéos." +"AppStream is a metadata specification which permits software components to " +"provide information about themselves to automated systems and end-users " +"before the software is actually installed. The AppStream project provides " +"facilities to easily access and transform this metadata, as well as a few " +"additional services for building feature-rich software centers and similar " +"applications that make use of software metadata." +msgstr "" +"AppStream est une spécification de métadonnées qui permet aux composants " +"logiciels de fournir des informations sur eux-mêmes aux systèmes automatisés " +"et aux utilisateurs finaux avant que le logiciel ne soit éventuellement " +"installé. Le projet AppStream fournit des outils pour accéder et transformer " +"facilement ces métadonnées, ainsi que quelques services additionnels pour " +"construire des centres logiciels et assimilés riches en fonctionnalités qui " +"utilisent les métadonnées logicielles." + +#: data/org.freedesktop.appstream.cli.metainfo.xml:18 +msgid "" +"The appstreamcli command-line tool allows to read, write, and " +"transform AppStream XML or YAML metadata as well as to validate it for " +"compliance with the specification. It also provides easy access to the " +"system metadata pool, for example to query for software that provides a " +"specific Mediatype handler or for installing software by its component " +"identifier." +msgstr "" +"L’outil en ligne de commande appstreamcli permet la lecture, " +"l’écriture, la validation et la transformation des métadonnées XML ou YAML " +"d’AppStream. Il fournit également un accès aisé au pool de métadonnées " +"système pour, par exemple, chercher un logiciel qui fournit un gestionnaire " +"de type de média spécifique ou en installer un en utilisant son identifiant " +"de composant." -#: src/as-category.c:123 -msgctxt "Category of Games" -msgid "Action" -msgstr "Action" +#: src/as-category.c:66 +msgctxt "Category of AudioVideo" +msgid "Featured" +msgstr "Mises en vedette" -#. TRANSLATORS: this is the main category for Add-ons -#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor -#: src/as-category.c:320 tools/ascli-utils.c:398 -msgid "Add-ons" -msgstr "Extensions" +#: src/as-category.c:69 +msgctxt "Category of AudioVideo" +msgid "Audio Creation & Editing" +msgstr "Création & édition audio" -#: src/as-category.c:126 -msgctxt "Category of Games" -msgid "Adventure" -msgstr "Aventure" +#: src/as-category.c:75 +msgctxt "Category of AudioVideo" +msgid "Music Players" +msgstr "Lecteurs de musique" -#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) -#: tools/appstream-cli.c:116 -msgid "Also show pedantic hints." -msgstr "Afficher également des conseils détaillés." +#: src/as-category.c:84 +msgctxt "Category of Development" +msgid "Featured" +msgstr "Mises en vedette" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:497 -msgid "" -"An 'extends' tag is specified, but the component is not of type 'addon', " -"'localization' or 'repository'." -msgstr "" -"Un balise « extends » est spécifiée mais le composant n'est pas du type « " -"addon », « localization » ou « repository »." +#: src/as-category.c:87 +msgctxt "Category of Development" +msgid "Debuggers" +msgstr "Débogueurs" -#: tools/appstream-cli.c:850 -msgid "An item type (e.g. lib, bin, python3, …)" -msgstr "Un type d'élément (ex : lib, bin, python3…)" +#: src/as-category.c:90 +msgctxt "Category of Development" +msgid "IDEs" +msgstr "EDI" -#: data/org.freedesktop.appstream.cli.metainfo.xml:9 -msgid "An utility to work with AppStream metadata" -msgstr "Un utilitaire travaillant sur les métadonnées AppStream" +#: src/as-category.c:99 +msgctxt "Category of Education" +msgid "Featured" +msgstr "Mises en vedette" -#: data/org.freedesktop.appstream.cli.metainfo.xml:8 -msgid "AppStream CLI" -msgstr "Interface en ligne de commande AppStream" +#: src/as-category.c:102 +msgctxt "Category of Education" +msgid "Astronomy" +msgstr "Astronomie" -#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. -#: tools/appstream-cli.c:947 -#, c-format -msgid "" -"AppStream CLI tool version: %s\n" -"AppStream library version: %s" -msgstr "" -"Version de l'outil AppStream en ligne de commande : %s\n" -"Version de la bibliothèque AppStream : %s" +#: src/as-category.c:105 +msgctxt "Category of Education" +msgid "Chemistry" +msgstr "Chimie" -#. TRANSLATORS: In the status report of ascli: Header -#: tools/ascli-actions-misc.c:47 -msgid "AppStream Status:" -msgstr "État AppStream :" +#: src/as-category.c:108 +msgctxt "Category of Education" +msgid "Languages" +msgstr "Langues" -#. we performed a cache refresh -#. TRANSLATORS: Updating the metadata cache succeeded -#: tools/ascli-actions-mdata.c:80 -msgid "AppStream cache update completed successfully." -msgstr "La mise à jour du cache AppStream a été réalisé avec succès." +#: src/as-category.c:112 +msgctxt "Category of Education" +msgid "Math" +msgstr "Mathématiques" -#. cache wasn't updated, so the update wasn't necessary -#: tools/ascli-actions-mdata.c:86 -msgid "AppStream cache update is not necessary." -msgstr "La mise à jour du cache AppStream n'est pas nécessaire." +#: src/as-category.c:121 +msgctxt "Category of Games" +msgid "Featured" +msgstr "Mises en vedette" -#. TRANSLATORS: This is the header to the --help menu for subcommands -#. TRANSLATORS: This is the header to the --help menu -#: tools/appstream-cli.c:154 tools/appstream-cli.c:843 -msgid "AppStream command-line interface" -msgstr "Interface AppStream en ligne de commande" +#: src/as-category.c:124 +msgctxt "Category of Games" +msgid "Action" +msgstr "Action" -#: src/as-validator-issue-tag.h:63 -msgid "" -"AppStream descriptions support only a limited set of tags to format text: " -"Paragraphs (

                                                                                                                                        ) and lists (

                                                                                                                                          ,
                                                                                                                                            ). This description markup contains " -"an invalid XML tag that would not be rendered correctly in applications " -"supporting the metainfo specification." -msgstr "" -"Les descriptions Appstream n'interprète qu'un ensemble limité de balises de " -"format texte : les paragraphes (

                                                                                                                                            ) et les listes (

                                                                                                                                              ,
                                                                                                                                                ). Le texte " -"de cette description contient une balise XML qui ne sera pas prise en compte " -"correctement dans les applications disposant de la spécifications des " -"métainfos." +#: src/as-category.c:127 +msgctxt "Category of Games" +msgid "Adventure" +msgstr "Aventure" -#: data/org.freedesktop.appstream.cli.metainfo.xml:12 -msgid "" -"AppStream is a cross-distribution specification to provide metadata about " -"software components." -msgstr "" -"AppStream est une spécification multi-distribution qui fournit des " -"métadonnées concernant les composants logiciels." +#: src/as-category.c:130 +msgctxt "Category of Games" +msgid "Arcade" +msgstr "Arcade" -#: src/as-pool.c:1937 -#, c-format -msgid "" -"AppStream system cache refresh failed. Turn on verbose mode to get detailed " -"issue information." -msgstr "" -"La mise à jour du cache AppStream a échoué. Activez le mode verbeux pour " -"obtenir des informations détaillées." +#: src/as-category.c:133 +msgctxt "Category of Games" +msgid "Blocks" +msgstr "Puzzle" -#. TRANSLATORS: Output if appstreamcli --version is executed. -#: tools/appstream-cli.c:944 -#, c-format -msgid "AppStream version: %s" -msgstr "Version d’AppStream : %s" +#: src/as-category.c:136 +msgctxt "Category of Games" +msgid "Board" +msgstr "Plateau" -#: src/as-category.c:129 +#: src/as-category.c:139 msgctxt "Category of Games" -msgid "Arcade" -msgstr "Arcade" +msgid "Card" +msgstr "Carte" -#: src/as-category.c:234 -msgctxt "Category of Science" -msgid "Artificial Intelligence" -msgstr "Intelligence Artificielle" +#: src/as-category.c:142 +msgctxt "Category of Games" +msgid "Emulators" +msgstr "Émulateurs" -#: src/as-validator-issue-tag.h:91 -msgid "" -"As per AppStream specification, the mentioned tag must only appear once in " -"this context. Having multiple tags of this kind is not valid." -msgstr "" -"Le label mentionné ne doit apparaître qu'une fois dans ce contexte d'une " -"spécification AppStream. Il n'est pas valide d'avoir plusieurs label de ce " -"type." +#: src/as-category.c:145 +msgctxt "Category of Games" +msgid "Kids" +msgstr "Enfants" -#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command -#: tools/appstream-cli.c:766 -msgid "Assume the input file is in the selected format ('yaml' or 'text')." -msgstr "" -"Considérez que le fichier d'entrée est dans le format sélectionné (« yaml » " -"ou « text »)." +#: src/as-category.c:148 +msgctxt "Category of Games" +msgid "Logic" +msgstr "Logique" -#: src/as-category.c:101 -msgctxt "Category of Education" -msgid "Astronomy" -msgstr "Astronomie" +#: src/as-category.c:151 +msgctxt "Category of Games" +msgid "Role Playing" +msgstr "Jeu de rôle" -#: src/as-category.c:237 -msgctxt "Category of Science" -msgid "Astronomy" -msgstr "Astronomie" +#: src/as-category.c:154 +msgctxt "Category of Games" +msgid "Sports" +msgstr "Sports" -#. TRANSLATORS: this is the menu spec main category for Audio & Video -#: src/as-category.c:302 -msgid "Audio & Video" -msgstr "Audio & Vidéo" +#: src/as-category.c:158 +msgctxt "Category of Games" +msgid "Strategy" +msgstr "Stratégie" -#: src/as-category.c:68 -msgctxt "Category of AudioVideo" -msgid "Audio Creation & Editing" -msgstr "Création & Édition Audio" +#: src/as-category.c:166 +msgctxt "Category of Graphics" +msgid "Featured" +msgstr "Mises en vedette" -#: tools/ascli-actions-misc.c:219 -#, c-format -msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." -msgstr "" -"Ajout au fichier d'entrée de bureau existant « %s » avec les données de " -"« %s »." +#: src/as-category.c:169 +msgctxt "Category of Graphics" +msgid "3D Graphics" +msgstr "Graphismes 3D" -#: src/as-provided.c:146 -msgid "Binaries" -msgstr "Binaires" +#: src/as-category.c:172 +msgctxt "Category of Graphics" +msgid "Photography" +msgstr "Photographie" -#: src/as-category.c:132 -msgctxt "Category of Games" -msgid "Blocks" -msgstr "Blocs" +#: src/as-category.c:175 +msgctxt "Category of Graphics" +msgid "Scanning" +msgstr "Numérisation" -#: src/as-category.c:135 -msgctxt "Category of Games" -msgid "Board" -msgstr "Plateau" +#: src/as-category.c:178 +msgctxt "Category of Graphics" +msgid "Vector Graphics" +msgstr "Graphismes vectoriels" -#: tools/ascli-utils.c:299 -msgid "Bundle" -msgstr "Groupe" +#: src/as-category.c:181 +msgctxt "Category of Graphics" +msgid "Viewers" +msgstr "Visionneuses" -#: src/as-pool.c:1828 -#, c-format -msgid "Cache location '%s' is not writable." -msgstr "L'emplacement de cache « %s » n'est pas accessible en écriture." +#: src/as-category.c:189 +msgctxt "Category of Office" +msgid "Featured" +msgstr "Mises en vedette" -#: src/as-category.c:191 +#: src/as-category.c:192 msgctxt "Category of Office" msgid "Calendar" msgstr "Calendrier" -#: tools/ascli-actions-mdata.c:327 -#, c-format -msgid "" -"Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " -"suffix." -msgstr "" -"Impossible de copier « %s » : le fichier ne possède pas le suffixe « ." -"metainfo.xml » ou « .appdata.xml »." - -#: src/as-category.c:138 -msgctxt "Category of Games" -msgid "Card" -msgstr "Carte" - -#: tools/ascli-utils.c:369 -msgid "Categories" -msgstr "Catégories" +#: src/as-category.c:196 +msgctxt "Category of Office" +msgid "Database" +msgstr "Base de données" -#: src/as-category.c:259 -msgctxt "Category of Communication" -msgid "Chat" -msgstr "Messagerie instantanée" +#: src/as-category.c:199 +msgctxt "Category of Office" +msgid "Finance" +msgstr "Finance" -#: src/as-category.c:104 -msgctxt "Category of Education" -msgid "Chemistry" -msgstr "Chimie" +#: src/as-category.c:203 +msgctxt "Category of Office" +msgid "Word Processor" +msgstr "Traitement de texte" -#: src/as-category.c:240 -msgctxt "Category of Science" -msgid "Chemistry" -msgstr "Chimie" +#: src/as-category.c:212 +msgctxt "Category of Addons" +msgid "Fonts" +msgstr "Polices de caractères" -#: src/as-category.c:214 +#: src/as-category.c:215 msgctxt "Category of Addons" msgid "Codecs" msgstr "Codecs" -#. TRANSLATORS: this is the menu spec main category for Communication -#: src/as-category.c:326 -msgid "Communication & News" -msgstr "Communications & actualités" +#: src/as-category.c:218 +msgctxt "Category of Addons" +msgid "Input Sources" +msgstr "Sources d’entrée" -#: tools/appstream-cli.c:866 -msgid "Compare two version numbers." -msgstr "Comparer deux numéros de version." +#: src/as-category.c:221 +msgctxt "Category of Addons" +msgid "Language Packs" +msgstr "Packs de langue" -#: src/as-provided.c:166 -msgid "Component" -msgstr "Composant" - -#. TRANSLATORS: We found no distribution package or bundle to install to make this software available -#: tools/ascli-actions-pkgmgr.c:106 -#, c-format -msgid "Component '%s' has no installation candidate." -msgstr "Le composant « %s » ne possède pas de candidat à l'installation." - -#: tools/ascli-utils.c:377 -msgid "Compulsory for" -msgstr "Obligatoire pour" +#: src/as-category.c:224 +msgctxt "Category of Addons" +msgid "Localization" +msgstr "Régionalisation" -#: src/as-validator-issue-tag.h:361 -msgid "Consider using a secure (HTTPS) URL for the remote icon link." -msgstr "" -"Pensez à utiliser un URL sécurisé (HTTPS) pour le lien de l'icône distante." +#: src/as-category.c:232 +msgctxt "Category of Science" +msgid "Featured" +msgstr "Mises en vedette" -#: src/as-validator-issue-tag.h:383 -msgid "Consider using a secure (HTTPS) URL for this web link." -msgstr "Pensez à utiliser un URL sécurisé (HTTPS) pour ce lien." +#: src/as-category.c:235 +msgctxt "Category of Science" +msgid "Artificial Intelligence" +msgstr "Intelligence artificielle" -#: src/as-validator-issue-tag.h:189 -msgid "" -"Consider using a secure (HTTPS) URL to reference this screenshot image or " -"video." -msgstr "" -"Pensez à utiliser un URL sécurisé (HTTPS) pour référencer cette capture " -"d'écran." +#: src/as-category.c:238 +msgctxt "Category of Science" +msgid "Astronomy" +msgstr "Astronomie" -#: tools/appstream-cli.c:870 -msgid "Convert a YAML or text NEWS file into metainfo releases." -msgstr "" +#: src/as-category.c:241 +msgctxt "Category of Science" +msgid "Chemistry" +msgstr "Chimie" -#. TRANSLATORS: "convert" command in ascli. "Collection XML" is a term describing a specific type of AppStream XML data. -#: tools/appstream-cli.c:865 -msgid "Convert collection XML to YAML or vice versa." -msgstr "Convertit une collection XML vers YAML ou inversement." +#: src/as-category.c:244 +msgctxt "Category of Science" +msgid "Math" +msgstr "Mathématiques" -#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results -#: tools/ascli-actions-mdata.c:228 -#, c-format -msgid "Could not find component providing '%s::%s'." -msgstr "Impossible de trouver des composants qui fournissent « %s::%s »." +#: src/as-category.c:249 +msgctxt "Category of Science" +msgid "Robotics" +msgstr "Robotique" -#: tools/appstream-cli.c:869 -msgid "Create a XDG desktop-entry file from a metainfo file." -msgstr "" +#: src/as-category.c:257 +msgctxt "Category of Communication" +msgid "Featured" +msgstr "Mises en vedette" -#: tools/appstream-cli.c:868 -msgid "" -"Create a template for a metainfo file (to be filled out by the upstream " -"project)." -msgstr "" -"Créer un modèle pour un fichier metainfo (à compléter par le projet en " -"amont)." +#: src/as-category.c:260 +msgctxt "Category of Communication" +msgid "Chat" +msgstr "Messagerie instantanée" -#: tools/ascli-actions-misc.c:228 -#, c-format -msgid "Creating new desktop-entry file '%s' using data from '%s'" -msgstr "" +#: src/as-category.c:267 +msgctxt "Category of Communication" +msgid "News" +msgstr "Actualités" -#: src/as-provided.c:160 -msgid "D-Bus Session Services" -msgstr "Services de session DBus" +#: src/as-category.c:271 +msgctxt "Category of Communication" +msgid "Web Browsers" +msgstr "Navigateurs Web" -#: src/as-provided.c:158 -msgid "D-Bus System Services" -msgstr "Services du système DBus" +#: src/as-category.c:279 +msgctxt "Category of Utility" +msgid "Featured" +msgstr "Mises en vedette" -#: src/as-category.c:195 -msgctxt "Category of Office" -msgid "Database" -msgstr "Base de données" +#: src/as-category.c:282 +msgctxt "Category of Utility" +msgid "Text Editors" +msgstr "Éditeurs de texte" -#: src/as-category.c:86 -msgctxt "Category of Development" -msgid "Debuggers" -msgstr "Débogueurs" +#: src/as-category.c:285 +msgctxt "Category of Utility" +msgid "Terminal Emulators" +msgstr "Émulateurs de terminal" -#: tools/ascli-utils.c:353 -msgid "Default Screenshot URL" -msgstr "URL de la capture d'écran par défaut" +#: src/as-category.c:288 +msgctxt "Category of Utility" +msgid "File System" +msgstr "Système de fichiers" -#. TRANSLATORS: ascli flag description for: --format -#: tools/appstream-cli.c:83 -msgid "Default metadata format (valid values are 'xml' and 'yaml')." -msgstr "" -"Format de métadonnées par défaut (les valeurs valides sont « xml » et " -"« yaml »)." +#: src/as-category.c:291 +msgctxt "Category of Utility" +msgid "System Monitoring" +msgstr "Surveillance du système" -#: tools/ascli-utils.c:333 -msgid "Description" -msgstr "Description" +#: src/as-category.c:294 +msgctxt "Category of Utility" +msgid "Security" +msgstr "Sécurité" -#. developer name -#: tools/ascli-utils.c:321 -msgid "Developer" -msgstr "Développeur" +#. TRANSLATORS: this is the menu spec main category for Audio & Video +#: src/as-category.c:303 +msgid "Audio & Video" +msgstr "Audio & Vidéo" #. TRANSLATORS: this is the menu spec main category for Development -#: src/as-category.c:305 +#: src/as-category.c:306 msgid "Developer Tools" msgstr "Outils pour développeurs" -#: tools/appstream-cli.c:862 -msgid "Display status information about available AppStream metadata." -msgstr "" -"Affiche des informations d'état sur les métadonnées AppStream disponibles." - -#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions -#: tools/ascli-actions-misc.c:52 -msgid "Distribution metadata:" -msgstr "Métadonnées de la distribution :" - -#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) -#: tools/appstream-cli.c:126 -msgid "Do not use network access." -msgstr "Ne pas utiliser l’accès au réseau." - -#. TRANSLATORS: ascli flag description for: --no-color -#: tools/appstream-cli.c:908 -msgid "Don't show colored output." -msgstr "Ne pas afficher de sortie colorée." - -#: tools/appstream-cli.c:853 -msgid "Dump raw XML metadata for a component matching the ID." -msgstr "" -"Produire des métadonnées XML brutes pour un composant correspondant à l'ID." - #. TRANSLATORS: this is the menu spec main category for Education -#: src/as-category.c:308 +#: src/as-category.c:309 msgid "Education" msgstr "Éducation" -#. TRANSLATORS: No metainfo files have been found -#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 -msgid "Empty." -msgstr "Vide." - -#: src/as-category.c:141 -msgctxt "Category of Games" -msgid "Emulators" -msgstr "Émulateurs" - -#. TRANSLATORS: ascli flag description for: --force -#: tools/appstream-cli.c:245 -msgid "Enforce a cache refresh." -msgstr "Forcer une mise à jour du cache." - -#: src/as-validator-issue-tag.h:74 -msgid "Enumerations must only have list items (
                                                                                                                                              1. ) as children." -msgstr "" -"Les énumérations doivent seulement avoir des sous-balises liste (
                                                                                                                                              2. )." - -#: tools/ascli-actions-misc.c:159 -#, c-format -msgid "Error while loading the metadata pool: %s" -msgstr "Erreur durant le chargement du pool de métadonnées : %s" - -#: tools/ascli-utils.c:327 -msgid "Extends" -msgstr "Étend" - -#: src/as-category.c:65 -msgctxt "Category of AudioVideo" -msgid "Featured" -msgstr "Mises en avant" - -#: src/as-category.c:256 -msgctxt "Category of Communication" -msgid "Featured" -msgstr "Mises en avant" - -#: src/as-category.c:83 -msgctxt "Category of Development" -msgid "Featured" -msgstr "Mises en avant" +#. TRANSLATORS: this is the menu spec main category for Game +#: src/as-category.c:312 +msgid "Games" +msgstr "Jeux" -#: src/as-category.c:98 -msgctxt "Category of Education" -msgid "Featured" -msgstr "Mises en avant" +#. TRANSLATORS: this is the menu spec main category for Graphics +#: src/as-category.c:315 +msgid "Graphics & Photography" +msgstr "Graphismes & Photographie" -#: src/as-category.c:120 -msgctxt "Category of Games" -msgid "Featured" -msgstr "Mises en avant" +#. TRANSLATORS: this is the menu spec main category for Office +#: src/as-category.c:318 +msgid "Office" +msgstr "Bureautique" -#: src/as-category.c:165 -msgctxt "Category of Graphics" -msgid "Featured" -msgstr "Mises en avant" +#. TRANSLATORS: this is the main category for Add-ons +#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor +#: src/as-category.c:321 tools/ascli-utils.c:371 +msgid "Add-ons" +msgstr "Extensions" -#: src/as-category.c:188 -msgctxt "Category of Office" -msgid "Featured" -msgstr "Mises en avant" +#. TRANSLATORS: this is the menu spec main category for Science +#: src/as-category.c:324 +msgid "Science" +msgstr "Science" -#: src/as-category.c:231 -msgctxt "Category of Science" -msgid "Featured" -msgstr "Mises en avant" +#. TRANSLATORS: this is the menu spec main category for Communication +#: src/as-category.c:327 +msgid "Communication & News" +msgstr "Communications & actualités" -#: src/as-category.c:278 -msgctxt "Category of Utility" -msgid "Featured" -msgstr "Mises en avant" +#. TRANSLATORS: this is the menu spec main category for Utilities +#: src/as-category.c:330 +msgid "Utilities" +msgstr "Utilitaires" -#: tools/ascli-actions-validate.c:171 tools/ascli-actions-validate.c:349 -#, fuzzy, c-format -msgid "File '%s' does not exist." -msgstr "Le fichier de métadonnées « %s » n'existe pas." +#. TRANSLATORS: This is the formatting of English and localized name +#. * of the rating e.g. "Adults Only (solo adultos)" +#: src/as-content-rating.c:298 +#, c-format +msgid "%s (%s)" +msgstr "%s (%s)" + +#: src/as-content-rating.c:444 +msgid "General" +msgstr "Général" + +#: src/as-content-rating.c:453 +msgid "ALL" +msgstr "TOUS" + +#: src/as-content-rating.c:457 src/as-content-rating.c:560 +msgid "Adults Only" +msgstr "Adultes uniquements" + +#: src/as-content-rating.c:459 src/as-content-rating.c:559 +msgid "Mature" +msgstr "Mature" + +#: src/as-content-rating.c:461 src/as-content-rating.c:558 +msgid "Teen" +msgstr "Adolescents" + +#: src/as-content-rating.c:463 src/as-content-rating.c:557 +msgid "Everyone 10+" +msgstr "10 ans et plus" + +#: src/as-content-rating.c:465 src/as-content-rating.c:556 +msgid "Everyone" +msgstr "Tout le monde" + +#: src/as-content-rating.c:467 src/as-content-rating.c:555 +msgid "Early Childhood" +msgstr "Bas âge" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:839 +msgid "No cartoon violence" +msgstr "Aucune violence de dessins animés" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:841 +msgid "Cartoon characters in unsafe situations" +msgstr "Personnages de dessins animés en situation de danger" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:843 +msgid "Cartoon characters in aggressive conflict" +msgstr "Personnages de dessins animés en conflit agressif" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:845 +msgid "Graphic violence involving cartoon characters" +msgstr "Illustration de violences impliquant les personnages de dessins animés" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:850 +msgid "No fantasy violence" +msgstr "Pas de violences fantastiques" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:852 +msgid "Characters in unsafe situations easily distinguishable from reality" +msgstr "Personnages en situations dangereuses franchement irréelles" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:854 +msgid "Characters in aggressive conflict easily distinguishable from reality" +msgstr "Personnages en situation de conflit agressif franchement irréel" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:856 +msgid "Graphic violence easily distinguishable from reality" +msgstr "Illustration violente franchement irréelle" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:861 +msgid "No realistic violence" +msgstr "Aucune violence réaliste" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:863 +msgid "Mildly realistic characters in unsafe situations" +msgstr "Personnages moyennement réalistes en situation dangereuse" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:865 +msgid "Depictions of realistic characters in aggressive conflict" +msgstr "Illustrations de personnages réalistes en conflit agressif" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:867 +msgid "Graphic violence involving realistic characters" +msgstr "Illustrations de violences impliquant des personnages réalistes" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:872 +msgid "No bloodshed" +msgstr "Aucun massacre" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:874 +msgid "Unrealistic bloodshed" +msgstr "Massacre irréaliste" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:876 +msgid "Realistic bloodshed" +msgstr "Massacre réaliste" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:878 +msgid "Depictions of bloodshed and the mutilation of body parts" +msgstr "Illustrations d’un massacre et de mutilations corporelles" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:883 +msgid "No sexual violence" +msgstr "Aucune violence sexuelle" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:885 +msgid "Rape or other violent sexual behavior" +msgstr "Viol ou autre comportement sexuel violent" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:892 +msgid "No references to alcohol" +msgstr "Aucune allusion à des boissons alcoolisées" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:894 +msgid "References to alcoholic beverages" +msgstr "Allusions à des boissons alcoolisées" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:896 +msgid "Use of alcoholic beverages" +msgstr "Usage de boissons alcoolisées" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:902 +msgid "No references to illicit drugs" +msgstr "Aucune allusion à des stupéfiants illicites" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:904 +msgid "References to illicit drugs" +msgstr "Allusions à des stupéfiants illicites" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:906 +msgid "Use of illicit drugs" +msgstr "Usage de stupéfiants illicites" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:912 +msgid "No references to tobacco products" +msgstr "Aucune allusion à des produits dérivés du tabac" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:914 +msgid "References to tobacco products" +msgstr "Allusions à des produits dérivés du tabac" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:916 +msgid "Use of tobacco products" +msgstr "Usage de produits dérivés du tabac" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:922 +msgid "No nudity of any sort" +msgstr "Aucun nu d’aucune sorte" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:924 +msgid "Brief artistic nudity" +msgstr "Nu artistique de courte durée" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:926 +msgid "Prolonged nudity" +msgstr "État de nudité prolongée" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:932 +msgid "No references to or depictions of sexual nature" +msgstr "Aucune allusion ou image à caractère sexuel" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:934 +msgid "Provocative references or depictions" +msgstr "Allusions ou images provocatrices" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:936 +msgid "Sexual references or depictions" +msgstr "Allusions ou images à caractère sexuel" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:938 +msgid "Graphic sexual behavior" +msgstr "Illustrations de comportements sexuels" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:943 +msgid "No profanity of any kind" +msgstr "Aucune profanation d’aucune sorte" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:945 +msgid "Mild or infrequent use of profanity" +msgstr "Utilisation modérée ou occasionnelle d’injures" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:947 +msgid "Moderate use of profanity" +msgstr "Utilisation modérée d’injures" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:949 +msgid "Strong or frequent use of profanity" +msgstr "Utilisation forte ou fréquente d’injures" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:954 +msgid "No inappropriate humor" +msgstr "Aucun humour déplacé" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:956 +msgid "Slapstick humor" +msgstr "Humour burlesque" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:958 +msgid "Vulgar or bathroom humor" +msgstr "Humour vulgaire ou de caniveau" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:960 +msgid "Mature or sexual humor" +msgstr "Humour pour adultes ou sexuel" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:965 +msgid "No discriminatory language of any kind" +msgstr "Aucune allusion discriminatoire d’aucune sorte" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:967 +msgid "Negativity towards a specific group of people" +msgstr "Attitudes négatives vis à vis de groupes spécifiques de gens" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:969 +msgid "Discrimination designed to cause emotional harm" +msgstr "Discriminations destinées à blesser émotionnellement" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:971 +msgid "Explicit discrimination based on gender, sexuality, race or religion" +msgstr "" +"Discriminations explicites basées sur le genre, le sexe, la race ou la " +"religion" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:976 +msgid "No advertising of any kind" +msgstr "Aucune publicité d’aucune sorte" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:978 +msgid "Product placement" +msgstr "Placement de produits" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:980 +msgid "Explicit references to specific brands or trademarked products" +msgstr "Allusions explicites à des produits de marque spécifique ou déposée" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:982 +msgid "Users are encouraged to purchase specific real-world items" +msgstr "" +"Les utilisateurs sont encouragés à acheter des éléments spécifiques du monde " +"réel" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:987 +msgid "No gambling of any kind" +msgstr "Aucun pari d’aucune sorte" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:989 +msgid "Gambling on random events using tokens or credits" +msgstr "Paris sur des événements aléatoires à l’aide de jetons ou à crédit" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:991 +msgid "Gambling using “play” money" +msgstr "Paris avec de la monnaie « fictive »" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:993 +msgid "Gambling using real money" +msgstr "Paris avec du vrai argent" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:998 +msgid "No ability to spend money" +msgstr "Aucune possibilité de dépenser de l’argent" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1000 +msgid "Users are encouraged to donate real money" +msgstr "Les utilisateurs sont encouragés à donner de l’argent réel" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1003 +msgid "Ability to spend real money in-app" +msgstr "Possibilité de dépenser du vrai argent dans l’application" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1008 +msgid "No way to chat with other users" +msgstr "Aucune possibilité de discuter avec les autres utilisateurs" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1010 +msgid "User-to-user interactions without chat functionality" +msgstr "Interactions entre utilisateurs sans possibilité de discussion" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1012 +msgid "Moderated chat functionality between users" +msgstr "Possibilité modérée de discuter entre utilisateurs" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1014 +msgid "Uncontrolled chat functionality between users" +msgstr "Possibilité de discuter sans contrôle entre utilisateurs" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1019 +msgid "No way to talk with other users" +msgstr "Aucun moyen de parler avec les autres utilisateurs" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1021 +msgid "Uncontrolled audio or video chat functionality between users" +msgstr "Possibilité de discuter ou se voir sans contrôle entre utilisateurs" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1028 +msgid "No sharing of social network usernames or email addresses" +msgstr "" +"Aucun partage des noms d’utilisateur de réseaux sociaux ou des adresses " +"courriel" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1030 +msgid "Sharing social network usernames or email addresses" +msgstr "" +"Partage des noms d’utilisateur de réseaux sociaux ou des adresses courriel" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1037 +msgid "No sharing of user information with third parties" +msgstr "Aucun partage des identifiants d’utilisateur avec des tierces parties" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1039 +msgid "Checking for the latest application version" +msgstr "Vérification s’il s’agit de la dernière version de l’application" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1041 +msgid "Sharing diagnostic data that does not let others identify the user" +msgstr "" +"Partage des données de diagnostic ne permettant pas l’identification de " +"l’utilisateur" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1043 +msgid "Sharing information that lets others identify the user" +msgstr "Partage d’informations permettant l’identification de l’utilisateur" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1048 +msgid "No sharing of physical location with other users" +msgstr "Aucun partage de géolocalisation avec les autres utilisateurs" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1050 +msgid "Sharing physical location with other users" +msgstr "Partage de géolocalisation avec les autres utilisateurs" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1073 +msgid "No references to homosexuality" +msgstr "Aucune allusion à l’homosexualité" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1075 +msgid "Indirect references to homosexuality" +msgstr "Allusions indirectes à l’homosexualité" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1077 +msgid "Kissing between people of the same gender" +msgstr "Étreintes entre personnes d’un même sexe" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1079 +msgid "Graphic sexual behavior between people of the same gender" +msgstr "Images de comportements sexuels entre personnes d’un même sexe" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1084 +msgid "No references to prostitution" +msgstr "Aucune allusion à la prostitution" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1086 +msgid "Indirect references to prostitution" +msgstr "Allusions indirectes à la prostitution" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1088 +msgid "Direct references to prostitution" +msgstr "Allusions directes à la prostitution" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1090 +msgid "Graphic depictions of the act of prostitution" +msgstr "Images d’actes de prostitution" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1095 +msgid "No references to adultery" +msgstr "Aucune allusion à l’adultère" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1097 +msgid "Indirect references to adultery" +msgstr "Allusions indirectes à l’adultère" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1099 +msgid "Direct references to adultery" +msgstr "Allusions directes à l’adultère" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1101 +msgid "Graphic depictions of the act of adultery" +msgstr "Images d’actes d’adultère" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1106 +msgid "No sexualized characters" +msgstr "Représentations humaines à caractère non sexuel" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1109 +msgid "Scantily clad human characters" +msgstr "Représentations humaines légèrement vêtues" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1111 +msgid "Overtly sexualized human characters" +msgstr "Représentations humaines à caractère ouvertement sexuel" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1116 +msgid "No references to desecration" +msgstr "Aucune allusion à de la profanation" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1118 +msgid "Depictions of or references to historical desecration" +msgstr "Allusions ou images de profanations historiques" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1120 +msgid "Depictions of modern-day human desecration" +msgstr "Représentations d’actes de profanation contemporains sur humains" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1122 +msgid "Graphic depictions of modern-day desecration" +msgstr "Images d’actes de profanation contemporains sur humains" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1127 +msgid "No visible dead human remains" +msgstr "Aucune image de restes humains" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1129 +msgid "Visible dead human remains" +msgstr "Images de restes humains" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1131 +msgid "Dead human remains that are exposed to the elements" +msgstr "Restes humains exposés aux éléments" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1133 +msgid "Graphic depictions of desecration of human bodies" +msgstr "Images de profanations sur des corps humains" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1138 +msgid "No references to slavery" +msgstr "Aucune allusion à l’esclavagisme" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1140 +msgid "Depictions of or references to historical slavery" +msgstr "Représentations ou allusions à l’esclavagisme historique" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1142 +msgid "Depictions of modern-day slavery" +msgstr "Représentations d’esclavagisme contemporain" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1144 +msgid "Graphic depictions of modern-day slavery" +msgstr "Images d’esclavagisme contemporain" + +#. TRANSLATORS: We got a 429 error while trying to download data +#: src/as-curl.c:134 +#, c-format +msgid "Failed to download due to server limit" +msgstr "Échec du téléchargement dû à une limite du serveur" + +#: src/as-curl.c:141 src/as-curl.c:148 +#, c-format +msgid "Failed to download file: %s" +msgstr "Échec du téléchargement du fichier : %s" + +#. TRANSLATORS: We tried to download an URL, but received a 404 error code +#: src/as-curl.c:157 +#, c-format +msgid "URL was not found on the server." +msgstr "La ressource n’a pas été trouvée sur le serveur." -#: src/as-category.c:287 -msgctxt "Category of Utility" -msgid "File System" -msgstr "Système de fichiers" +#. TRANSLATORS: We received an uexpected HTTP status code while talking to a server, likely an error +#: src/as-curl.c:164 +#, c-format +msgid "Unexpected status code: %ld" +msgstr "Code d’état inattendu : %ld" -#: src/as-category.c:198 -msgctxt "Category of Office" -msgid "Finance" -msgstr "Finance" +#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty +#: src/as-curl.c:247 +#, c-format +msgid "Retrieved file size was zero." +msgstr "La taille du fichier récupéré est nulle." -#: src/as-provided.c:164 -msgid "Flashed Firmware" -msgstr "Micrologiciel flashé" +#. TRANSLATORS: List of "grey-listed" words sperated with ";" +#. * Do not translate this list directly. Instead, +#. * provide a list of words in your language that people are likely +#. * to include in a search but that should normally be ignored in +#. * the search. +#. +#: src/as-pool.c:111 +msgid "app;application;package;program;programme;suite;tool" +msgstr "app;application;logiciel;paquet;programme;suite;outil" -#: src/as-provided.c:150 -msgid "Fonts" -msgstr "Polices" +#: src/as-pool.c:620 +msgid "Unable to remove old cache." +msgstr "Impossible de supprimer l’ancien cache." -#: src/as-category.c:211 -msgctxt "Category of Addons" -msgid "Fonts" -msgstr "Polices" +#: src/as-pool.c:963 +msgid "Metadata files have errors:" +msgstr "Les fichiers de métadonnées comportent des erreurs :" -#: src/as-validator-issue-tag.h:237 +#: src/as-pool.c:1370 msgid "" -"For videos, only the WebM and Matroska (.mkv) container formats are " -"currently supported. The file extension of the referenced video does not " -"belong to either of these formats." -msgstr "" -"Pour les vidéos, les seuls formats pris en charge pour le moment sont WebM " -"et Matroska (.mkv). L'extension de la vidéo indiquée n'est pas celle de l'un " -"de ces formats." - -#. TRANSLATORS: ascli flag description for: --format when validating XML files -#: tools/appstream-cli.c:131 -msgid "Format of the generated report (valid values are 'text' and 'yaml')." +"Many components have been recognized as invalid. See debug output for " +"details." msgstr "" -"Format du rapport à générer (les possibilités sont « text » et « yaml »)." - -#. TRANSLATORS: Found metainfo files in legacy directories -#: tools/ascli-actions-misc.c:138 -#, c-format -msgid "Found %i components in legacy paths." -msgstr "%i composants trouvés dans des anciens chemins." +"De nombreux composants ont été reconnus comme invalides. Voyez la sortie de " +"débogage pour plus de détails." -#: tools/ascli-actions-misc.c:123 +#: src/as-pool.c:1996 #, c-format -msgid "Found %i components." -msgstr "%i composants trouvés." +msgid "Cache location '%s' is not writable." +msgstr "L’emplacement de cache « %s » n’est pas accessible en écriture." -#. TRANSLATORS: 'version' is an AppStream XML property. Please do not translate it. -#: src/as-validator-issue-tag.h:260 +#: src/as-pool.c:2109 msgid "" -"Found 'version' property on required/recommended item of a type that should " -"not have or require a version." +"The AppStream system cache was updated, but some components were ignored. " +"Refer to the verbose log for more information." msgstr "" -"Un objet requis ou recommandé d'un type qui ne devrait pas avoir besoin " -"d'une version a une propriété « version »." +"Le cache système d’AppStream a été mis à jour, mais certains composants ont " +"été ignorés. Consulter les journaux verbeux pour plus d’informations." -#. TRANSLATORS: 'version' and 'compare' are AppStream XML properties. Please do not translate them. -#: src/as-validator-issue-tag.h:266 +#: src/as-pool.c:2111 +#, c-format msgid "" -"Found 'version' property on this required/recommended item, but not " -"'compare' property. It is recommended to explicitly define a comparison " -"operation." -msgstr "" -"Cet objet requis ou recommandé a une propriété « version », mais n'a pas " -"celle « compare ». Il est recommandé de définir explicitement une telle " -"opération de comparaison." - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:277 -msgid "" -"Found a memory size dependency in a 'requires' tag. This means users will " -"not be able to even install the component without having enough RAM. This is " -"usually not intended and you want to use 'memory' in the 'recommends' tag " -"instead." +"The AppStream system cache was updated, but problems were found which " +"resulted in metadata being ignored: %s" msgstr "" -"Une taille de mémoire vive est marquée comme « requires ». Un utilisateur " -"qui n'a pas assez de mémoire vive ne pourra donc même pas installer ce " -"composant. C'est rarement l'effet désiré. Vous pouvez marquer « memory » " -"comme « recommends »." +"Le cache système d’AppStream a été mis à jour, mais des problèmes ont surgi " +"et ont amené les métadonnées à être ignorées : %s" -#: src/as-validator-issue-tag.h:248 +#: src/as-pool.c:2125 +#, c-format msgid "" -"Found an unknown tag in a requires/recommends group. This is likely an " -"error, because a component relation of this type is unknown." +"AppStream system cache refresh failed. Turn on verbose mode to get detailed " +"issue information." msgstr "" -"Un label inconnu est dans un groupe « requires » ou « recommends ». C'est " -"sûrement une erreur comme une relation de type est inconnue." +"La mise à jour du cache AppStream a échoué. Activez le mode verbeux pour " +"obtenir des informations détaillées." -#: src/as-validator-issue-tag.h:427 -msgid "" -"Found invalid tag. Non-standard tags should be prefixed with 'x-'. AppStream " -"also provides the tag to add arbitrary custom data to metainfo " -"files. This tag is read by AppStream libraries and may be useful instead of " -"defining new custom toplevel or 'x-'-prefixed tags if you just want to add " -"custom data to a metainfo file." -msgstr "" -"Label invalide. Un label doit commencer par « x- », sauf s'il est standard. " -"Le label fourni par AppStream permet d'ajouter des données " -"quelconques aux fichiers métainfos. Lu avec des librairies d'Appstream, ce " -"label peut être utile si vous voulez juste personnaliser un fichier " -"métainfos au lieu de définir des labels à haut niveau ou commençant par « x- " -"»." +#: src/as-provided.c:144 +msgid "Libraries" +msgstr "Bibliothèques" -#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. -#: src/as-validator.c:526 src/as-validator.c:939 src/as-validator.c:1024 -#: src/as-validator.c:1237 -#, c-format -msgid "Found: %s - Allowed: %s" -msgstr "Relevé : %s - Permis : %s" +#: src/as-provided.c:146 +msgid "Binaries" +msgstr "Binaires" -#. TRANSLATORS: this is the menu spec main category for Game -#: src/as-category.c:311 -msgid "Games" -msgstr "Jeux" +#: src/as-provided.c:148 +msgid "Media types" +msgstr "Types de média" + +#: src/as-provided.c:150 +msgid "Fonts" +msgstr "Polices de caractères" + +#: src/as-provided.c:152 +msgid "Modaliases" +msgstr "Modalias" + +#: src/as-provided.c:154 +msgid "Python (Version 2)" +msgstr "Python (version 2)" + +#: src/as-provided.c:156 +msgid "Python 3" +msgstr "Python 3" -#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command -#: tools/appstream-cli.c:814 -msgid "Generate the output in the selected format ('yaml' or 'text')." -msgstr "Génère la sortie dans le format sélectionné (« yaml » ou « text »)." +#: src/as-provided.c:158 +msgid "D-Bus System Services" +msgstr "Services du système D-Bus" -#: tools/appstream-cli.c:849 -msgid "Get components which provide the given item." -msgstr "Obtenir les composants qui fournissent l'élément indiqué." +#: src/as-provided.c:160 +msgid "D-Bus Session Services" +msgstr "Services de session D-Bus" -#: tools/appstream-cli.c:848 -msgid "Get information about a component by its ID." -msgstr "Obtenir des informations sur un composant par son ID." +#: src/as-provided.c:162 +msgid "Runtime Firmware" +msgstr "Micrologiciel à l’exécution" -#. TRANSLATORS: this is the menu spec main category for Graphics -#: src/as-category.c:314 -msgid "Graphics & Photography" -msgstr "Graphismes & Photographie" +#: src/as-provided.c:164 +msgid "Flashed Firmware" +msgstr "Micrologiciel flashé" -#: tools/ascli-utils.c:300 -msgid "Homepage" -msgstr "Page Web" +#: src/as-provided.c:166 +msgid "Component" +msgstr "Composant" -#: src/as-category.c:89 -msgctxt "Category of Development" -msgid "IDEs" -msgstr "Environnements de développement" +#: src/as-validator-issue-tag.h:41 +msgid "This tag requires a type property." +msgstr "Cette balise requiert une propriété de type." -#: tools/ascli-utils.c:301 -msgid "Icon" -msgstr "Icône" +#: src/as-validator-issue-tag.h:46 +msgid "Tags of this name are not permitted in this section." +msgstr "Les balises de ce nom ne sont pas permises dans cette section." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:351 -msgid "Icons of type 'remote' must contain an URL to the referenced icon." -msgstr "Un icône « remote » doit avoir un URL vers l'icône en question." - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:344 -#, fuzzy +#: src/as-validator-issue-tag.h:51 msgid "" -"Icons of type 'stock' or 'cached' must not contain an URL, a full or an " -"relative path to the icon. Only file basenames or stock names are allowed." +"A tag must not be localized in metainfo files (upstream " +"metadata). Localize the individual paragraphs instead." msgstr "" -"Un icône « stock » ou « cached » ne doit pas contenir d'URL, ni de chemin " -"d'accès même relatif. Seuls un simple nom de ficher ou un nom « stock » sont " -"permis." - -#: tools/ascli-actions-misc.c:94 -msgid "Iconsets" -msgstr "Jeux d'icônes" +"Une balise ne doit pas être régionalisée dans les fichiers " +"métainfo (métadonnées en amont). Régionalisez les paragraphes individuels à " +"la place." -#: tools/ascli-utils.c:295 -msgid "Identifier" -msgstr "Identifiant" +#: src/as-validator-issue-tag.h:57 +msgid "" +"This element (paragraph, list, etc.) of a tag must not be " +"localized individually in collection metadata. Localize the whole " +" tag instead. The AppStream collection metadata generator (e." +"g. `appstream-generator`) will already do the right thing when compiling the " +"data." +msgstr "" +"Cet élément (paragraphe, liste, etc.) d’une balise ne doit " +"pas être régionalisée individuellement dans une collection de métadonnées. " +"Régionalisez la balise entière à la place. Le générateur de " +"collection de métadonnées AppStream (p. ex. « appstream-generator ») " +"compilera les données de la bonne manière." -#: src/as-category.c:217 -msgctxt "Category of Addons" -msgid "Input Sources" -msgstr "Sources de saisie" +#: src/as-validator-issue-tag.h:63 +msgid "" +"AppStream descriptions support only a limited set of tags to format text: " +"Paragraphs (

                                                                                                                                                ) and lists (

                                                                                                                                                  ,
                                                                                                                                                    ). This description markup contains " +"an invalid XML tag that would not be rendered correctly in applications " +"supporting the metainfo specification." +msgstr "" +"Les descriptions AppStream ne prennent en charge qu’un ensemble limité de " +"balises pour formater du texte : les paragraphes (

                                                                                                                                                    ) et les listes (

                                                                                                                                                      ,
                                                                                                                                                        ). Cette description contient une balise XML invalide qui ne serait " +"pas rendue correctement dans les applications prenant en charge la " +"spécification métainfo." -#: tools/appstream-cli.c:863 -msgid "Install a metadata file into the right location." -msgstr "Installer un fichier de métadonnées au bon emplacement." +#: src/as-validator-issue-tag.h:69 +msgid "" +"This description paragraph contains invalid markup. Currently, only " +"and are permitted." +msgstr "" +"Ce paragraphe de description contient un balisage incorrect. Actuellement, " +"seules et sont autorisées." -#: tools/appstream-cli.c:859 -msgid "Install software matching the component-ID." -msgstr "Installez le logiciel correspondant à l'identifiant du composant." +#: src/as-validator-issue-tag.h:74 +msgid "Enumerations must only have list items (
                                                                                                                                                      1. ) as children." +msgstr "" +"Les énumérations doivent seulement avoir des sous-balises de type liste (
                                                                                                                                                      2. )." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:373 -#, fuzzy +#: src/as-validator-issue-tag.h:79 msgid "" -"Invalid 'type' property for this 'url' tag. URLs of this type are not known " -"in the AppStream specification." +"The first `description/p` paragraph of this component might be too short (< " +"80 characters). Please consider starting with a longer paragraph to improve " +"how the description looks like in software centers and to provide more " +"detailed information on this component immediately in the first paragraph." msgstr "" -"Ce label « url » a une propriété « type » non valide. La specification " -"d'AppStream n'a pas d'URL de ce type." +"Le premier paragraphe « description/p » de ce composant pourrait être trop " +"court (moins de 80 caractères). Veuillez considérer commencer avec un " +"paragraphe plus long pour améliorer l’apparence de la description dans les " +"logithèques et fournir plus d’informations détaillées sur ce composant dès " +"le premier paragraphe." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:553 +#: src/as-validator-issue-tag.h:86 msgid "" -"Invalid tag found in collection metadata. Only 'component' tags are " -"permitted." +"The description contains a web URL in plain text. This is not allowed, " +"please use the tag instead to share links." msgstr "" -"La collection de métadonnées contient un label non valide. Sont permis que " -"les labels « component »." +"La description contient une URL Web en texte brut. Ceci n’est pas autorisé, " +"veuillez utiliser une balise pour partager des liens." -#: tools/ascli-actions-mdata.c:213 -msgid "Invalid type for provided item selected. Valid values are:" +#: src/as-validator-issue-tag.h:91 +msgid "" +"As per AppStream specification, the mentioned tag must only appear once in " +"this context. Having multiple tags of this kind is not valid." msgstr "" -"Type invalide pour l'objet fourni sélectionné. Les valeurs valides sont :" +"Conformément à la spécification AppStream, la balise mentionnée ne doit " +"apparaître qu’une seule fois dans ce contexte. Avoir plusieurs balises de ce " +"type n’est pas valide." -#: src/as-validator-issue-tag.h:271 +#: src/as-validator-issue-tag.h:96 msgid "" -"Invalid version comparison operation on relation item. Only eq/ne/lt/gt/le/" -"ge are permitted." +"The mentioned tag is empty, which is highly likely not intended as it should " +"have content." msgstr "" -"Opération de comparaison de version non valide. Ne sont permis que 'eq', " -"'ne', 'lt', 'gt', 'le' et 'ge'." +"La balise mentionnée est vide, ce qui n’est très probablement pas voulu, car " +"elle devrait avoir du contenu." -#: src/as-validator-issue-tag.h:450 +#: src/as-validator-issue-tag.h:101 msgid "" -"It is recommended to add a long description to this component to present it " -"better to users." +"The component ID is required to follow a reverse domain-name scheme for its " +"name. See the AppStream specification for details." msgstr "" -"Il est conseillé de présenter ce composent aux utilisateurs en ajoutant une " -"longue description." +"L’identifiant du composant est requis afin de suivre un plan de nom de " +"domaine inverse pour son nom. Consulter la spécification AppStream pour plus " +"de détails." -#: src/as-validator-issue-tag.h:445 +#: src/as-validator-issue-tag.h:106 msgid "" -"It would be useful to add a long description to this font to present it " -"better to users." +"The component ID is not a reverse domain-name. Please update the ID to avoid " +"future issues and be compatible with all AppStream implementations.\n" +"You may also consider to update the name of the accompanying .desktop file " +"to follow the latest version of the Desktop-Entry specification and use a " +"rDNS name for it as well. In any case, do not forget to mention the new " +"desktop-entry in a tag for this component to keep the " +"application launchable from software centers and the .desktop file data " +"associated with the metainfo data." msgstr "" +"L’identifiant du composant n’est pas un nom de domaine inverse. Veuillez " +"mettre à jour l’identifiant pour éviter de futurs problèmes et être " +"compatible avec toutes les implémentations d’AppStream.\n" +"Veuillez également considérer la mise à jour du nom du fichier bureau lié " +"afin de suivre la dernière version de la spécification « Desktop-Entry » et " +"l’utilisation d’un nom de DNS inverse. Dans tous les cas, n’oubliez pas de " +"mentionner le nouveau fichier bureau dans une balise pour ce " +"composant pour garder l’application lançable par les logithèques et les " +"données du fichier bureau associées avec les données métainfos." -#: src/as-category.c:144 -msgctxt "Category of Games" -msgid "Kids" -msgstr "Enfants" +#: src/as-validator-issue-tag.h:114 +msgid "" +"The component ID might not follow the reverse domain-name schema (the TLD " +"used by it is not known to the validator)." +msgstr "" +"L’identifiant du composant pourrait ne pas suivre le plan du nom de domaine " +"inverse (le domaine de premier niveau utilisé n’est pas connu du validateur)." -#: src/as-category.c:220 -msgctxt "Category of Addons" -msgid "Language Packs" -msgstr "Packs de langue" +#: src/as-validator-issue-tag.h:119 +msgid "" +"The component ID contains an invalid character. Only ASCII characters, dots " +"and numbers are permitted." +msgstr "" +"L’identifiant du composant contient un caractère invalide. Seuls les " +"caractères ASCII, les points et les nombres sont autorisés." -#: src/as-category.c:107 -msgctxt "Category of Education" -msgid "Languages" -msgstr "Langues" +#: src/as-validator-issue-tag.h:124 +msgid "" +"The component ID contains a hyphen/minus. Using a hyphen is strongly " +"discouraged, to improve interoperability with other tools such as D-Bus. A " +"good option is to replace any hyphens with underscores (`_`)." +msgstr "" +"L’identifiant du composant contient un trait d’union. L’utilisation d’un " +"trait d’union est fortement découragée afin d’améliorer l’interopérabilité " +"avec d’autres outils tel que D-Bus. Une bonne solution est de remplacer les " +"traits d’union par des soulignés (« _ »)." -#: src/as-provided.c:144 -msgid "Libraries" -msgstr "Bibliothèques" +#: src/as-validator-issue-tag.h:130 +msgid "" +"The component ID contains a segment starting with a number. Starting a " +"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " +"interoperability with other tools such as D-Bus. Ideally, prefix these " +"segments with an underscore." +msgstr "" +"L’identifiant du composant contient un segment commençant par un nombre. " +"Commencer un segment de l’identifiant du DNS inverse avec un nombre est " +"fortement découragé afin de maintenir l’interopérabilité avec d’autres " +"outils tel que D-Bus. L’idéal est de préfixer ces segments avec un souligné." -#. license -#: tools/ascli-utils.c:363 -msgid "License" -msgstr "Licence" +#: src/as-validator-issue-tag.h:136 +msgid "The component ID should only contain lowercase letters." +msgstr "L’ID du composant ne doit contenir que des lettres minuscules." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:629 +#: src/as-validator-issue-tag.h:141 msgid "" -"Licenses for 'runtime' components are usually too complex to reflect them in " -"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " -"value for this component's 'project_license'. E.g. `LicenseRef-free=https://" -"example.com/licenses.html`" +"The component is part of the Freedesktop project, but its ID does not start " +"with fd.o's reverse-DNS name (\"org.freedesktop\")." msgstr "" +"Le composant fait partie du projet Freedesktop, mais son identifiant ne " +"commence pas par un nom de DNS inverse fd.o (« org.freedesktop »)." -#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command -#: tools/appstream-cli.c:771 +#: src/as-validator-issue-tag.h:146 msgid "" -"Limit the number of release entries that end up in the metainfo file (0 for " -"unlimited)." +"The component is part of the KDE project, but its ID does not start with " +"KDEs reverse-DNS name (\"org.kde\")." msgstr "" +"Le composant fait partie du projet KDE, mais son identifiant ne commence pas " +"par un nom de DNS inverse KDE (« org.kde »)." -#: src/as-category.c:223 -msgctxt "Category of Addons" -msgid "Localization" -msgstr "Localisation" +#: src/as-validator-issue-tag.h:151 +msgid "" +"The component is part of the GNOME project, but its ID does not start with " +"GNOMEs reverse-DNS name (\"org.gnome\")." +msgstr "" +"Le composant fait partie du projet GNOME, mais son identifiant ne commence " +"pas par un nom de DNS inverse GNOME (« org.gnome »)." -#: src/as-category.c:147 -msgctxt "Category of Games" -msgid "Logic" -msgstr "Logique" +#: src/as-validator-issue-tag.h:156 +msgid "The SPDX license expression is invalid and could not be parsed." +msgstr "" +"L’expression de la licence SPDX est invalide et n’a pas pu être analysée." -#. TRANSLATORS: ascli flag description for: --no-cache -#: tools/appstream-cli.c:67 -msgid "Make request without any caching." -msgstr "Effectuer une requête sans mise en cache." +#: src/as-validator-issue-tag.h:161 +msgid "" +"The license ID was not found in the SPDX database. Please check that the " +"license ID is written in an SPDX-conformant way and is a valid free software " +"license." +msgstr "" +"L’identifiant de licence n’a pas été trouvé dans la base de données SPDX. " +"Veuillez vérifier que l’identifiant de licence est conforme à SPDX et que " +"c’est une licence logicielle libre valide." -#. TRANSLATORS: ascli flag description for: --cachepath -#: tools/appstream-cli.c:57 -msgid "Manually selected location of AppStream cache." -msgstr "Définit manuellement l'emplacement du cache AppStream." +#: src/as-validator-issue-tag.h:167 +msgid "" +"The metadata itself seems to be licensed under a complex collection of " +"licenses. Please license the data under a simple permissive license, like " +"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " +"collections without the risk of license violations due to mutually " +"incompatible licenses." +msgstr "" +"Les métadonnées elles-mêmes semblent être sous une collection complexe de " +"licences. Veuillez utiliser une licence permissive simple pour ces " +"métadonnées, telle que FSFAP, MIT ou CC0-1.0 pour autoriser les " +"distributeurs à les inclure dans des collections mixtes de données sans " +"risquer de violation de licence due à des licences mutuellement " +"incompatibles." -#. TRANSLATORS: ascli flag description for: --datapath -#: tools/appstream-cli.c:62 -msgid "Manually selected location of AppStream metadata to scan." +#: src/as-validator-issue-tag.h:173 +msgid "" +"The metadata itself does not seem to be licensed under a permissive license. " +"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " +"0BSD to allow distributors to include it in mixed data collections without " +"the risk of license violations due to mutually incompatible licenses." msgstr "" -"Définit manuellement l'emplacement des métadonnées AppStream à analyser." +"Les métadonnées elles-mêmes ne semblent pas être sous une licence " +"permissive. Veuillez utiliser une licence permissive pour ces métadonnées, " +"telle que FSFAP, CC0-1.0 ou 0BSD, pour autoriser les distributeurs à les " +"inclure dans des collections mixtes de données sans risquer de violation de " +"licence due à des licences mutuellement incompatibles." -#: src/as-pool.c:1280 +#: src/as-validator-issue-tag.h:179 msgid "" -"Many components have been recognized as invalid. See debug output for " -"details." +"The update-contact does not appear to be a valid email address (escaping of " +"`@` is only allowed as `_at_` or `_AT_`)." msgstr "" -"De nombreux composants ont été reconnus comme non valides. Voir la sortie de " -"débogage pour plus de détails." +"Le contact de mise à jour ne semble pas être une adresse courriel valide " +"(l’échappement de « @ » est uniquement autorisé avec « _at_ » ou « _AT_ »)." -#: src/as-category.c:111 -msgctxt "Category of Education" -msgid "Math" -msgstr "Mathématiques" +#: src/as-validator-issue-tag.h:184 +msgid "" +"Unable to reach the screenshot image on its remote location - does the image " +"exist?" +msgstr "" +"Impossible d’atteindre la capture d’écran image à sa localisation distante. " +"L’image existe-t-elle bien ?" -#: src/as-category.c:243 -msgctxt "Category of Science" -msgid "Math" -msgstr "Mathématiques" +#: src/as-validator-issue-tag.h:189 +msgid "" +"Unable to reach the screenshot video on its remote location - does the video " +"file exist?" +msgstr "" +"Impossible d’atteindre la capture d’écran vidéo à sa localisation distante. " +"La vidéo existe-t-elle bien ?" -#: src/as-provided.c:148 -msgid "Media types" -msgstr "Types de média" +#: src/as-validator-issue-tag.h:194 +msgid "" +"Consider using a secure (HTTPS) URL to reference this screenshot image or " +"video." +msgstr "" +"Considérez l’usage d’une URL sécurisée (HTTPS) pour cette capture d’écran." -#: tools/ascli-actions-mdata.c:364 -#, c-format -msgid "Metadata file '%s' does not exist." -msgstr "Le fichier de métadonnées « %s » n'existe pas." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:200 +msgid "" +"A screenshot must contain at least one image or video in order to be useful. " +"Please add an to it." +msgstr "" +"Une capture d’écran doit contenir au moins une image ou une vidéo pour être " +"utile. Veuillez lui ajouter une ." -#: src/as-pool.c:881 -msgid "Metadata files have errors:" -msgstr "Les fichiers de métadonnées comportent des erreurs :" +#: src/as-validator-issue-tag.h:205 +msgid "" +"A screenshot must contain either images or videos, but not both at the same " +"time. Please use this screenshot exclusively for either static images or for " +"videos." +msgstr "" +"Une capture d’écran doit contenir soit des images, soit des vidéos, mais pas " +"les deux. Veuillez l’utiliser exclusivement pour des images statiques ou " +"bien des vidéos." -#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 -#: tools/ascli-actions-misc.c:515 -#, fuzzy, c-format -msgid "Metainfo file '%s' does not exist." -msgstr "Le fichier de métadonnées « %s » n'existe pas." +#: src/as-validator-issue-tag.h:211 +msgid "The screenshot does not have a caption text. Consider adding one." +msgstr "La capture d’écran n’a pas de légende. Considérez-en l’ajout." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:367 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:217 msgid "" -"Metainfo files may only contain icons of type 'stock' or 'remote', the set " -"type is not allowed." +"The screenshot video does not specify which video codec was used in a " +"`codec` property." msgstr "" +"La capture d’écran vidéo ne spécifie pas quel codec vidéo a été utilisé dans " +"la propriété « codec »." -#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report -#: tools/ascli-actions-misc.c:116 -msgid "Metainfo files:" -msgstr "Fichiers de méta-info :" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:223 +msgid "" +"The screenshot video does not specify which container format was used in a " +"`container` property." +msgstr "" +"La capture d’écran vidéo ne spécifie pas quel format conteneur a été utilisé " +"dans la propriété « container »." -#: src/as-provided.c:152 -msgid "Modaliases" -msgstr "Modalias" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:229 +msgid "" +"The selected video codec is not supported by AppStream and software centers " +"may not be able to play the video. Only the AV1 and VP9 codecs are currently " +"supported, using `av1` and `vp9` as values for the `codec` property." +msgstr "" +"Le codec vidéo sélectionné n’est pas pris en charge par AppStream et les " +"logithèques ne pourront donc peut-être pas lire la vidéo. Seuls les codecs " +"AV1 et VP9 sont actuellement pris en charge, utilisant les valeurs « av1 » " +"et « vp9 » pour la propriété « codec »." -#: src/as-category.c:74 -msgctxt "Category of AudioVideo" -msgid "Music Players" -msgstr "Lecteurs de musique" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:236 +msgid "" +"The selected video container format is not supported by AppStream and " +"software centers may not be able to play the video. Only the WebM and " +"Matroska video containers are currently supported, using `webm` and `mkv` as " +"values for the `container` property." +msgstr "" +"Le format de conteneur vidéo sélectionné n’est pas pris en charge par " +"AppStream et le logithèques ne pourront donc peut-être pas lire la vidéo. " +"Seuls les conteneurs vidéos WebM et Matroska sont actuellement pris en " +"charge, utilisant les valeurs « webm » et « mkv » pour la propriété " +"« container »." -#: tools/ascli-utils.c:296 -msgid "Name" -msgstr "Nom" +#: src/as-validator-issue-tag.h:242 +msgid "" +"For videos, only the WebM and Matroska (.mkv) container formats are " +"currently supported. The file extension of the referenced video does not " +"belong to either of these formats." +msgstr "" +"Pour les vidéos, seuls les formats conteneurs WebM et Matroska (.mkv) sont " +"actuellement pris en charge. L’extension de fichier de la vidéo référencée " +"ne correspond à aucun de ces formats." -#: src/as-category.c:266 -msgctxt "Category of Communication" -msgid "News" -msgstr "Actualités" +#: src/as-validator-issue-tag.h:248 +msgid "" +"The default screenshot of a software component must not be a video. Use a " +"static image as default screenshot and set the video as a secondary " +"screenshot." +msgstr "" +"La capture d’écran par défaut d’un composant logiciel ne doit pas être une " +"vidéo. Veuillez utiliser une image statique pour la capture d’écran par " +"défaut et définir la vidéo comme une capture d’écran secondaire." -#: src/as-validator-issue-tag.h:589 -msgid "No AppStream metadata was found in this directory or directory tree." +#: src/as-validator-issue-tag.h:253 +msgid "" +"Found an unknown tag in a requires/recommends group. This is likely an " +"error, because a component relation of this type is unknown." msgstr "" +"Une balise inconnue a été trouvée dans un groupe requis ou recommandé. C’est " +"probablement une erreur car une relation de composant de ce type est " +"inconnue." -#. pedantic because not everything which has metadata is an application -#: src/as-validator-issue-tag.h:594 -msgid "No XDG applications directory found." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:259 +msgid "" +"A `requires` or `recommends` item requires a value to denote a valid " +"relation." msgstr "" +"Un item « requires » ou « recommends » nécessite une valeur pour dénoter une " +"relation valide." -#: tools/ascli-actions-mdata.c:182 -#, c-format -msgid "No component matching '%s' found." -msgstr "Aucun composant correspondant à « %s » trouvé." +#. TRANSLATORS: `version` is an AppStream XML property. Please do not translate it. +#: src/as-validator-issue-tag.h:265 +msgid "" +"Found `version` property on required/recommended item of a type that should " +"not have or require a version." +msgstr "" +"Une propriété « version » a été trouvée sur un item requis ou recommandé " +"d’un type qui ne devrait pas avoir ou nécessiter de version." -#: tools/ascli-actions-misc.c:105 -msgid "No icons." -msgstr "Aucune icône." +#. TRANSLATORS: `version` and `compare` are AppStream XML properties. Please do not translate them. +#: src/as-validator-issue-tag.h:271 +msgid "" +"Found `version` property on this required/recommended item, but not " +"`compare` property. It is recommended to explicitly define a comparison " +"operation." +msgstr "" +"La propriété « version » a été trouvée sur cet item requis ou recommandé, " +"mais pas la propriété « compare ». Il est recommandé de définir " +"explicitement une opération de comparaison." -#: tools/ascli-actions-misc.c:402 -msgid "No output filename specified, modifying metainfo file directly." +#: src/as-validator-issue-tag.h:276 +msgid "" +"Invalid comparison operation on relation item. Only eq/ne/lt/gt/le/ge are " +"permitted." msgstr "" +"Opération de comparaison invalide sur l’item de relation. Seules « eq », " +"« ne », « lt », « gt », « le » et « ge » sont autorisées." -#: tools/ascli-actions-misc.c:306 +#: src/as-validator-issue-tag.h:281 msgid "" -"No provided binary specified in metainfo file, and no exec command specified " -"via '--exec'. Can not create 'Exec=' key." +"The relation item has a comparison operation set, but does not support any " +"comparisons." msgstr "" +"L’item de relation a un opérateur de comparaison défini, mais il ne prend en " +"charge aucune comparaison." -#: tools/ascli-actions-misc.c:284 -msgid "No stock icon name was provided in the metainfo file. Can not continue." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:287 +msgid "" +"Found a memory size relation in a `requires` tag. This means users will not " +"be able to even install the component without having enough RAM. This is " +"usually not intended and you want to use `memory` in the `recommends` tag " +"instead." msgstr "" +"Une relation taille mémoire a été trouvée dans une balise « requires ». Cela " +"signifie que les utilisateurs ne pourront pas même installer le composant " +"sans avoir assez de mémoire vive. Ce n’est généralement pas l’effet voulu ; " +"vous pouvez utiliser « memory » dans la balise « recommends » à la place." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:294 +msgid "" +"Found a user input control relation in a `requires` tag. This means users " +"will not be able to even install the component without having the defined " +"input control available on the system. This is usually not intended and you " +"want to use `control` in the `recommends` tag instead." +msgstr "" +"Une relation contrôle d’entrée utilisateur a été trouvée dans une balise " +"« requires ». Cela signifie que les utilisateurs ne pourront pas même " +"installer le composant sans avoir le contrôle d’entrée défini disponible sur " +"le système. Ce n’est généralement pas l’effet voulu ; vous pouvez utiliser " +"« control » dans la balise « recommends » à la place." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:301 +msgid "" +"This `control` item defines an unknown input method and is invalid. Check " +"the specification for a list of permitted values." +msgstr "" +"Cet item « control » définit une méthode d’entrée inconnue et est invalide. " +"Veuillez vérifier la spécification pour une liste de valeurs autorisées." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:307 +msgid "" +"This `display_length` item contains an invalid display length. Its value " +"must either be a shorthand string, or positive integer value denoting " +"logical pixels. Please refer to the AppStream specification for more " +"information on this tag." +msgstr "" +"Cet item `display_length` contient une longueur d’affichage invalide. Sa " +"valeur doit soit être une abréviation, soit un entier positif désignant des " +"pixels logiques. Veuillez vous référer à la spécification AppStream pour " +"plus d’information sur cette balise." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:314 +msgid "" +"This `side` property of this `display_length` item contains an invalid " +"value. It must either be `shortest` or `longest`, or unset to imply " +"`shortest` to make the item value refer to either the shortest or longest " +"side of the display." +msgstr "" +"La propriété `side` de cet item `display_length` contient une valeur " +"invalide. Il doit être soit `shortest` soit `longest`, ou bien non défini " +"pour impliquer `shortest`afin que la valeur de l’item désigne soit le plus " +"petit ou le plus grand côté de l’affichage." -#: tools/ascli-actions-pkgmgr.c:53 +#: src/as-validator-issue-tag.h:320 msgid "" -"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" -"\" (part of PackageKit) is available." +"The set component type is not a recognized, valid AppStream component type." msgstr "" -"Aucun gestionnaire de paquet en ligne de commande approprié n'a été trouvé. " -"Veuillez vérifier par exemple que « pkcon » (faisant partie de PackageKit) " -"est disponible." +"Le type de composant défini n’est pas un type de composant AppStream reconnu " +"et valide." -#: tools/ascli-actions-mdata.c:206 -msgid "No value for the item to search for was defined." -msgstr "Aucune valeur n'a été définie pour l'élément à rechercher." +#: src/as-validator-issue-tag.h:325 +msgid "" +"The component has a priority value set. This is not allowed in metainfo " +"files." +msgstr "" +"Le composant a une valeur de priorité définie. Ce n’est pas autorisé dans " +"les fichiers métainfo." -#. TRANSLATORS: this is the menu spec main category for Office -#: src/as-category.c:317 -msgid "Office" -msgstr "Bureautique" +#: src/as-validator-issue-tag.h:330 +msgid "" +"The component has a `merge` method defined. This is not allowed in metainfo " +"files." +msgstr "" +"Le composant a une méthode « merge » définie. Ce n’est pas autorisé dans les " +"fichiers métainfo." -#. TRANSLATORS: An unknown option was passed to appstreamcli. -#: tools/appstream-cli.c:192 -#, c-format -msgid "Option '%s' is unknown." -msgstr "L'option « %s » est inconnue." +#: src/as-validator-issue-tag.h:335 +msgid "The component is missing an ID ( tag)." +msgstr "Le composant n’a pas d’identifiant (balise )." -#: tools/ascli-utils.c:298 -msgid "Package" -msgstr "Paquet" +#: src/as-validator-issue-tag.h:340 +msgid "The component is missing a name ( tag)." +msgstr "Le composant n’a pas de nom (balise )." -#: src/as-category.c:171 -msgctxt "Category of Graphics" -msgid "Photography" -msgstr "Photographie" +#: src/as-validator-issue-tag.h:345 +msgid "The component is missing a summary ( tag)." +msgstr "Le composant n’a pas de résumé (balise )." -#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) -#: tools/appstream-cli.c:121 -#, fuzzy -msgid "Print detailed explanation for found issues." -msgstr "Afficher des informations détaillées au sujet des composants trouvés." +#: src/as-validator-issue-tag.h:350 +msgid "" +"The tag still contains a `type` property, probably from an old " +"conversion to the recent metainfo format." +msgstr "" +"La balise contient toujours une propriété « type », probablement issue " +"d’une ancienne conversion vers le récent format métainfo." -#. TRANSLATORS: ascli flag description for: --details -#: tools/appstream-cli.c:98 -msgid "Print detailed output about found components." -msgstr "Afficher des informations détaillées au sujet des composants trouvés." +#: src/as-validator-issue-tag.h:355 +msgid "" +"The `pkgname` tag appears multiple times. You should evaluate creating a " +"metapackage containing the metainfo and .desktop files in order to avoid " +"defining multiple package names per component." +msgstr "" +"La balise « pkgname » apparaît plusieurs fois. Veuillez considérer la " +"création d’un métapaquet contenant les métainfos et les fichiers bureau afin " +"d’éviter de définir plusieurs noms de paquet par composant." -#. project group -#: tools/ascli-utils.c:360 -msgid "Project Group" -msgstr "Groupe de projet" +#: src/as-validator-issue-tag.h:360 +msgid "The component name should (likely) not end with a dot (`.`)." +msgstr "" +"Le nom du composant ne devrait (probablement) pas se terminer par un point " +"(« . »)." -#: tools/ascli-utils.c:405 -msgid "Provided Items" -msgstr "Éléments fournis" +#: src/as-validator-issue-tag.h:365 +msgid "The component summary should not end with a dot (`.`)." +msgstr "" +"Le résumé du composant ne devrait pas se terminer par un point (« . »)." -#: src/as-provided.c:154 -msgid "Python (Version 2)" -msgstr "Python (version 2)" +#: src/as-validator-issue-tag.h:370 +msgid "The component summary must not contain tabs or linebreaks." +msgstr "" +"Le résumé du composant ne doit pas contenir de tabulation ou de retour à la " +"ligne." -#: src/as-provided.c:156 -msgid "Python 3" -msgstr "Python 3" +#: src/as-validator-issue-tag.h:375 +msgid "The summary must not contain any URL. Use the tags for links." +msgstr "" +"Le résumé ne doit contenir aucune URL. Utilisez les balises pour les " +"liens." -#: tools/appstream-cli.c:854 -msgid "Rebuild the component metadata cache." -msgstr "Reconstruire le cache des métadonnées du composant." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:381 +msgid "" +"Icons of type `stock` or `cached` must not contain an URL, a full or an " +"relative path to the icon. Only file basenames or stock names are allowed." +msgstr "" +"Les icônes de type « stock » ou « cached » ne doivent pas contenir ni d’URL " +"ni de chemin d’accès absolu ou relatif vers leurs icônes. Seuls les noms de " +"fichiers (sans affixes) sont autorisés." -#: tools/appstream-cli.c:860 -msgid "Remove software matching the component-ID." -msgstr "Désinstaller le logiciel correspondant à l'identifiant du composant." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:388 +msgid "Icons of type `remote` must contain an URL to the referenced icon." +msgstr "" +"Les icônes de type « remote » doivent contenir une URL vers l’icône " +"référencée." -#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty -#: src/as-validator.c:364 -msgid "Retrieved file size was zero." +#: src/as-validator-issue-tag.h:393 +msgid "Unable to reach remote icon at the given web location - does it exist?" msgstr "" +"Impossible d’atteindre l’icône distante avec la localisation Web donnée. " +"Existe-t-elle bien ?" -#: src/as-category.c:248 -msgctxt "Category of Science" -msgid "Robotics" -msgstr "Robotique" +#: src/as-validator-issue-tag.h:398 +msgid "Consider using a secure (HTTPS) URL for the remote icon link." +msgstr "" +"Considérez l’usage d’une URL sécurisée (HTTPS) pour le lien de l’icône " +"distante." -#: src/as-category.c:150 -msgctxt "Category of Games" -msgid "Role Playing" -msgstr "Jeu de rôle" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:404 +msgid "" +"Metainfo files may only contain icons of type `stock` or `remote`, the set " +"type is not allowed." +msgstr "" +"Les fichiers métainfo ne peuvent contenir que des icônes d type « stock » ou " +"« remote », le type défini n’est pas autorisé." -#: tools/appstream-cli.c:196 tools/appstream-cli.c:926 -#, c-format -msgid "Run '%s --help' to see a full list of available command line options." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:410 +msgid "" +"Invalid `type` property for this `url` tag. URLs of this type are not known " +"in the AppStream specification." msgstr "" -"Lancer « %s --help » pour afficher la liste des options disponibles en ligne " -"de commande." +"Propriété « type » invalide pour cette balise « url ». Les URL de ce type ne " +"sont pas définies dans la spécification AppStream." -#: tools/appstream-cli.c:198 -#, c-format +#: src/as-validator-issue-tag.h:415 msgid "" -"Run '%s --help' to see a list of available commands and options, and '%s %s " -"--help' to see a list of options specific for this subcommand." +"Unable to reach remote location that this URL references - does it exist?" msgstr "" -"Lancer « %s --help » pour afficher la liste des commandes et options " -"disponibles, et « %s %s --help » pour afficher les options spécifiques à " -"cette sous-commande." +"Impossible d’atteindre la localisation distante que cette URL référence. " +"Existe-t-elle bien ?" -#: src/as-provided.c:162 -msgid "Runtime Firmware" -msgstr "Micrologiciel à l’exécution" +#: src/as-validator-issue-tag.h:420 +msgid "Consider using a secure (HTTPS) URL for this web link." +msgstr "Considérez l’usage d’une URL sécurisée (HTTPS) pour ce lien." -#: src/as-category.c:174 -msgctxt "Category of Graphics" -msgid "Scanning" -msgstr "Numérisation" +#: src/as-validator-issue-tag.h:425 +msgid "A web URL was expected for this value." +msgstr "Une URL web était attendue pour cette valeur." -#. TRANSLATORS: this is the menu spec main category for Science -#: src/as-category.c:323 -msgid "Science" -msgstr "Science" +#: src/as-validator-issue-tag.h:430 +msgid "" +"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." +msgstr "" +"Ce lien Web utilise le protocole FTP. Considérez le basculement à HTTPS à la " +"place." -#: tools/appstream-cli.c:847 -msgid "Search the component database." -msgstr "Chercher dans la base de données des composants." +#: src/as-validator-issue-tag.h:435 +msgid "The can not contain a hyperlink." +msgstr " ne peut pas contenir d’hyperlien." -#: src/as-category.c:293 -msgctxt "Category of Utility" -msgid "Security" -msgstr "Sécurité" +#: src/as-validator-issue-tag.h:440 +msgid "" +"The set value is not an identifier for a desktop environment as registered " +"with Freedesktop.org." +msgstr "" +"La valeur définie n’est pas un identificateur pour un environnement de " +"bureau tel qu’enregistré à Freedesktop.org." -#. TRANSLATORS: ascli flag description for: --verbose -#: tools/appstream-cli.c:903 -msgid "Show extra debugging information." -msgstr "Afficher des informations de débogage supplémentaires." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:446 +msgid "This `launchable` tag has an unknown type and can not be used." +msgstr "La balise « launchable » a un type inconnu et ne peut être utilisé." -#. TRANSLATORS: ascli flag description for: --version -#: tools/appstream-cli.c:897 -msgid "Show the program version." -msgstr "Afficher la version du programme." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:452 +msgid "This `bundle` tag has an unknown type and can not be used." +msgstr "Cette balise « bundle » a un type inconnu et ne peut être utilisé." -#: src/as-validator-issue-tag.h:635 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:458 msgid "" -"Since a 'runtime' component is comprised of multiple other software " -"components, their component-IDs may be listed in a `` section for " -"this runtime." +"The `update_contact` tag should not be included in collection AppStream XML." msgstr "" +"La balise « update_contact » ne devrait pas être incluse dans une collection " +"AppStream XML." -#: src/as-category.c:153 -msgctxt "Category of Games" -msgid "Sports" -msgstr "Sports" +#: src/as-validator-issue-tag.h:463 +msgid "" +"This tag is a GNOME-specific extension to AppStream and not part of the " +"official specification. Do not expect it to work in all implementations and " +"in all software centers." +msgstr "" +"Cette balise est une extension spécifique de GNOME à AppStream et non une " +"partie de la spécification officielle. Ne vous attendez pas à la voir " +"fonctionner dans toutes les implémentations et toutes les logithèques." -#: src/as-category.c:157 -msgctxt "Category of Games" -msgid "Strategy" -msgstr "Stratégie" +#: src/as-validator-issue-tag.h:469 +msgid "" +"Found invalid tag. Non-standard tags should be prefixed with `x-`. AppStream " +"also provides the tag to add arbitrary custom data to metainfo " +"files. This tag is read by AppStream libraries and may be useful instead of " +"defining new custom toplevel or `x-`-prefixed tags if you just want to add " +"custom data to a metainfo file." +msgstr "" +"Balise invalide. Les balises non standards devraient être préfixées avec « x-" +" ». AppStream fournit aussi la balise pour ajouter des données " +"personnalisées arbitraires aux fichiers métainfo. Cette balise est reconnue " +"par les bibliothèques AppStream et peut être utilisée si vous souhaitez " +"seulement ajouter des données personnalisées à un fichier métainfo au lieu " +"de définir de nouvelles balises personnalisées de premier niveau ou " +"préfixées avec « x- »." -#. these are commands we can use with appstreamcli -#: tools/appstream-cli.c:845 -msgid "Subcommands:" -msgstr "Sous-commandes :" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:477 +msgid "" +"The essential tag `metadata_license` is missing. A license for the metadata " +"itself always has to be defined." +msgstr "" +"La balise essentielle « metadata_license » est manquante. Une licence pour " +"les métadonnées elles-mêmes doit toujours être définie." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:527 +#: src/as-validator-issue-tag.h:482 msgid "" -"Suggestions of any type other than 'upstream' are not allowed in metainfo " -"files." +"The component is missing a long description. Components of this type must " +"have a long description." msgstr "" +"Le composant n’a pas de longue description. Les composants de ce type " +"doivent avoir une longue description." -#: tools/ascli-utils.c:297 -msgid "Summary" -msgstr "Résumé" +#: src/as-validator-issue-tag.h:487 +msgid "" +"It would be useful to add a long description to this font to present it " +"better to users." +msgstr "" +"Il serait utile d’ajouter une longue description à cette police de " +"caractères pour mieux la présenter aux utilisateurs." -#. TRANSLATORS: Status summary in ascli -#: tools/ascli-actions-misc.c:145 -msgid "Summary:" -msgstr "Résumé :" +#: src/as-validator-issue-tag.h:492 +msgid "" +"It is recommended to add a long description to this component to present it " +"better to users." +msgstr "" +"Il est recommandé d’ajouter une longue description à ce composant pour mieux " +"le présenter aux utilisateurs." -#: src/as-category.c:290 -msgctxt "Category of Utility" -msgid "System Monitoring" -msgstr "Surveillance du système" +#: src/as-validator-issue-tag.h:497 +msgid "" +"This generic component is missing a long description. It may be useful to " +"add one." +msgstr "" +"Ce composant générique manque d’une longue description. Il peut être utile " +"d’en ajouter une." -#: src/as-validator-issue-tag.h:46 -msgid "Tags of this name are not permitted in this section." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:503 +msgid "" +"Type `console-application` component, but no information about binaries in " +"$PATH was provided via a `provides/binary` tag." msgstr "" +"Composant de type « console-application », mais aucune information sur les " +"binaires dans $PATH n’a été fournie via une balise « provides/binary »." -#: src/as-category.c:284 -msgctxt "Category of Utility" -msgid "Terminal Emulators" -msgstr "Émulateurs de terminal" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:509 +msgid "" +"This `web-application` component is missing a `launchable` tag of type `url`." +msgstr "" +"Ce composant « web-application » manque d’une balise « launchable » de type " +"« url »." -#: src/as-category.c:281 -msgctxt "Category of Utility" -msgid "Text Editors" -msgstr "Éditeurs de texte" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:515 +msgid "" +"This `web-application` component is missing a `icon` tag to specify a valid " +"icon." +msgstr "" +"Ce composant « web-application » manque d’une balise « icon » pour spécifier " +"une icône valide." -#: src/as-validator-issue-tag.h:318 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:521 msgid "" -"The 'pkgname' tag appears multiple times. You should evaluate creating a " -"metapackage containing the metainfo and .desktop files in order to avoid " -"defining multiple package names per component." +"This `web-application` component is missing categorizations. A `categories` " +"block is likely missing." msgstr "" +"Ce composant « web-application » manque de catégorisations. Un bloc " +"« categories » est probablement manquant." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:416 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:527 msgid "" -"The 'update_contact' tag should not be included in collection AppStream XML." +"Type `font` component, but no font information was provided via a `provides/" +"font` tag." msgstr "" +"Composant de type « font », mais aucune information sur les polices de " +"caractères n’a été fournie via la balise « provides/font »." -#: tools/ascli-actions-mdata.c:467 -#, c-format -msgid "The .desktop file '%s' does not exist." -msgstr "Le fichier .desktop « %s » n'existe pas." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:533 +msgid "" +"Type `driver` component, but no modalias information was provided via a " +"`provides/modalias` tag." +msgstr "" +"Composant de type « driver », mais aucune information sur les modalias n’a " +"été fournie via une balise « provides/modalias »." -#: src/as-validator-issue-tag.h:393 -msgid "The can not contain a hyperlink." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:539 +msgid "" +"An `extends` tag is specified, but the component is not of type `addon`, " +"`localization` or `repository`." msgstr "" +"Une balise « extends » est spécifiée mais le composant n’est pas du type " +"« addon », « localization » ou « repository »." -#: src/as-validator-issue-tag.h:313 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:545 +msgid "The component is an addon, but no `extends` tag was specified." +msgstr "" +"Le composant est une extension, mais aucune balise « extends » n’a été " +"spécifiée." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:551 msgid "" -"The tag still contains a 'type' property, probably from an old " -"conversion to the recent metainfo format." +"This `localization` component is missing an `extends` tag, to specify the " +"components it adds localization to." msgstr "" +"Le composant « localization » n’a pas de balise « extends » pour spécifier " +"les composants auxquels il ajoute la régionalisation." -#: src/as-validator-issue-tag.h:616 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:557 msgid "" -"The AppStream specification requires a complete, ISO 8601 date string with " -"at least day-granularity to denote dates. Please ensure the date string is " -"valid." +"This `localization` component does not define any languages this " +"localization is for." +msgstr "" +"Le composant « localization » ne définit aucune langue pour cette " +"régionalisation." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:563 +msgid "" +"This `service` component is missing a `launchable` tag of type `service`." msgstr "" +"Ce composant « service » manque d’une balise « launchable » de type " +"« service »." -#: src/as-pool.c:1924 -#, fuzzy, c-format +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:569 msgid "" -"The AppStream system cache was updated, but problems were found which " -"resulted in metadata being ignored: %s" +"Suggestions of any type other than `upstream` are not allowed in metainfo " +"files." msgstr "" -"Le système de cache AppStream a été mis à jour, mais des problèmes ont été " -"trouvés : %s" +"Les suggestions d’un autre type que « upstream » ne sont pas autorisées dans " +"les fichiers métainfo." -#: src/as-pool.c:1922 -#, fuzzy +#: src/as-validator-issue-tag.h:574 msgid "" -"The AppStream system cache was updated, but some components were ignored. " -"Refer to the verbose log for more information." +"The category name is not valid. Refer to the XDG Menu Specification for a " +"list of valid category names." msgstr "" -"Le cache système d'AppStream a été mis à jour, mais des erreurs ont été " -"détectées, ce qui pourrait conduire à des métadonnées manquantes. Consulter " -"les journaux verbeux pour plus d'information." +"Le nom de la catégorie est invalide. Consulter la spécification « XDG Menu » " +"pour une liste de noms de catégorie valides." -#: src/as-validator-issue-tag.h:151 -msgid "The SPDX license expression is invalid and could not be parsed." +#: src/as-validator-issue-tag.h:579 +msgid "The screenshot caption is too long (should be <= 80 characters)" msgstr "" +"La légende de la capture d’écran est trop longue (elle devrait être " +"inférieure à 80 caractères)" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows -#: tools/appstream-cli.c:683 -#, c-format -msgid "The TYPE must be a valid component-type, such as: %s" -msgstr "Le TYPE doit être un type de composant valide, comme : %s" +#: src/as-validator-issue-tag.h:584 +msgid "Unable to read file." +msgstr "Impossible de lire le fichier." -#: src/as-validator-issue-tag.h:547 +#: src/as-validator-issue-tag.h:589 msgid "The XML of this file is malformed." -msgstr "" +msgstr "L’XML de ce fichier est malformé." -#: src/as-validator-issue-tag.h:584 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:595 msgid "" -"The category defined in the .desktop file is not valid. Refer to the XDG " -"Menu Specification for a list of valid categories." +"Invalid tag found in collection metadata. Only `component` tags are " +"permitted." msgstr "" +"Balise invalide trouvée dans la collection de métadonnées. Seules les " +"balises « component » sont autorisées." -#: src/as-validator-issue-tag.h:532 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:601 msgid "" -"The category name is not valid. Refer to the XDG Menu Specification for a " -"list of valid category names." +"The metainfo file uses an ancient version of the AppStream specification, " +"which can not be validated. Please migrate it to version 0.6 (or higher)." msgstr "" +"Le fichier métainfo utilise une ancienne version de la spécification " +"AppStream qui ne peut être validée. Veuillez migrer vers la version 0.6 (ou " +"supérieure)." -#: src/as-validator-issue-tag.h:124 +#: src/as-validator-issue-tag.h:606 msgid "" -"The component ID contains a hyphen/minus. Using a hyphen is strongly " -"discouraged, to improve interoperability with other tools such as D-Bus. A " -"good option is to replace any hyphens with underscores ('_')." +"This XML document has an unknown root tag. Maybe this file is not a metainfo " +"document?" msgstr "" +"Ce document XML a une balise racine inconnue. Ce fichier n’est peut-être pas " +"un document métainfo ?" -#: src/as-validator-issue-tag.h:130 -msgid "" -"The component ID contains a segment starting with a number. Starting a " -"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " -"interoperability with other tools such as D-Bus. Ideally, prefix these " -"segments with an underscore." +#: src/as-validator-issue-tag.h:611 +msgid "The metainfo filename does not match the component ID." msgstr "" +"Le nom du fichier métainfo ne correspond pas à l’identifiant du composant." -#: src/as-validator-issue-tag.h:119 -msgid "" -"The component ID contains an invalid character. Only ASCII characters, dots " -"and numbers are permitted." +#: src/as-validator-issue-tag.h:616 +msgid "Unable to read the .desktop file associated with this component." +msgstr "Impossible de lire le fichier bureau associé avec ce composant." + +#: src/as-validator-issue-tag.h:621 +msgid "This component metadata refers to a non-existing .desktop file." msgstr "" +"Les métadonnées de ce composant réfèrent un fichier bureau non-existant." -#: src/as-validator-issue-tag.h:106 +#: src/as-validator-issue-tag.h:626 msgid "" -"The component ID is not a reverse domain-name. Please update the ID to avoid " -"future issues and be compatible with all AppStream implementations.\n" -"You may also consider to update the name of the accompanying .desktop file " -"to follow the latest version of the Desktop-Entry specification and use a " -"rDNS name for it as well. In any case, do not forget to mention the new " -"desktop-entry in a tag for this component to keep the " -"application launchable from software centers and the .desktop file data " -"associated with the metainfo data." +"The category defined in the .desktop file is not valid. Refer to the XDG " +"Menu Specification for a list of valid categories." msgstr "" +"La catégorie définie dans le fichier bureau est invalide. Consulter la " +"spécification « XDG Menu » pour une liste de catégories valides." -#: src/as-validator-issue-tag.h:101 -msgid "" -"The component ID is required to follow a reverse domain-name scheme for its " -"name. See the AppStream specification for details." +#: src/as-validator-issue-tag.h:631 +msgid "No AppStream metadata was found in this directory or directory tree." msgstr "" +"Aucune métadonnée AppStream n’a été trouvée dans ce répertoire ou dans " +"l’arborescence." -#: src/as-validator-issue-tag.h:114 +#. pedantic because not everything which has metadata is an application +#: src/as-validator-issue-tag.h:636 +msgid "No XDG applications directory found." +msgstr "Aucun répertoire d’applications XDG trouvé." + +#: src/as-validator-issue-tag.h:641 msgid "" -"The component ID might not follow the reverse domain-name schema (the TLD " -"used by it is not known to the validator)." +"The metainfo file is stored in a legacy path. Please place it in `/usr/share/" +"metainfo/`." msgstr "" +"Le fichier métainfo est situé à un chemin d’accès obsolescent. Veuillez le " +"placer à « /usr/share/metainfo »." -#: src/as-validator-issue-tag.h:293 -msgid "" -"The component has a 'merge' method defined. This is not allowed in metainfo " -"files." +#: src/as-validator-issue-tag.h:646 +msgid "The metainfo file specifies multiple components. This is not allowed." msgstr "" +"Le fichier métainfo spécifie plusieurs composants. Cela n’est pas autorisé." -#: src/as-validator-issue-tag.h:288 +#: src/as-validator-issue-tag.h:651 msgid "" -"The component has a priority value set. This is not allowed in metainfo " -"files." +"The releases are not sorted in a latest to oldest version order. This is " +"required as some tools will assume that the latest version is always at the " +"top. Sorting releases also increases overall readability of the metainfo " +"file." msgstr "" +"Les versions ne sont pas triées selon un ordre antichronologique. Cela est " +"requis, car certains outils vont supposer que la dernière version est " +"toujours au sommet. Trier les versions améliore également la lisibilité " +"globale du fichier métainfo." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:503 -msgid "The component is an addon, but no 'extends' tag was specified." +#: src/as-validator-issue-tag.h:658 +msgid "The value set as release urgency is not a known urgency value." msgstr "" +"La valeur définie comme version urgente n’est pas une valeur d’urgence " +"connue." -#: src/as-validator-issue-tag.h:440 +#: src/as-validator-issue-tag.h:663 +msgid "The value set as release type is invalid." +msgstr "La valeur définie comme type de version est invalide." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:669 msgid "" -"The component is missing a long description. Components of this type must " -"have a long description." +"The value set as artifact type is invalid. Must be either `source` or " +"`binary`." msgstr "" +"La valeur définie comme type d’artéfact est invalide. Elle doit être soit " +"`source` soit `binary`." -#: src/as-validator-issue-tag.h:303 -msgid "The component is missing a name ( tag)." +#: src/as-validator-issue-tag.h:674 +msgid "The value set as artifact bundle type is invalid." +msgstr "La valeur définie comme type de lot d’artéfacts est invalide." + +#: src/as-validator-issue-tag.h:679 +msgid "" +"The platform triplet for this release is invalid. It must be in the form of " +"`architecture-oskernel-osenv` - refer to the AppStream documentation or " +"information on normalized GNU triplets for more information and valid fields." msgstr "" +"Le triplet de la plateforme pour cette version est invalide. Il doit être de " +"la forme « architecture-noyau du SE-environnement du SE » — consulter la " +"documentation d’AppStream sur les triples GNU normalisés pour plus " +"d’informations sur les champs valides." -#: src/as-validator-issue-tag.h:308 -msgid "The component is missing a summary ( tag)." +#: src/as-validator-issue-tag.h:686 +msgid "The selected checksumming algorithm is unsupported or unknown." msgstr "" +"L’algorithme de somme de contrôle sélectionné n’est pas pris en charge ou " +"inconnu." -#: src/as-validator-issue-tag.h:298 -msgid "The component is missing an ID ( tag)." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:692 +msgid "The size type is unknown. Must be `download` or `installed`." msgstr "" +"Le type de la taille est inconnu. Il doit valoir `download` ou `installed`." -#: src/as-validator-issue-tag.h:136 +#: src/as-validator-issue-tag.h:697 msgid "" -"The component is part of the Freedesktop project, but its ID does not start " -"with fd.o's reverse-DNS name (\"org.freedesktop\")." +"The artifact filename must be a file basename, not a (relative or absolute) " +"path." msgstr "" +"L’artéfact du nom de fichier doit seulement contenir un nom de fichier, non " +"un chemin d’accès (relatif ou absolu)." -#: src/as-validator-issue-tag.h:146 +#: src/as-validator-issue-tag.h:702 +msgid "The value set as release issue type is invalid." +msgstr "La valeur définie comme type de numéro de version est invalide." + +#: src/as-validator-issue-tag.h:707 msgid "" -"The component is part of the GNOME project, but its ID does not start with " -"GNOMEs reverse-DNS name (\"org.gnome\")." +"The issue is tagged at security vulnerability with a CVE number, but its " +"value does not look like a valid CVE identifier." msgstr "" +"Le numéro est étiqueté comme vulnérabilité de sécurité avec un numéro CVE, " +"mais sa valeur ne ressemble pas à un identifiant de CVE valide." -#: src/as-validator-issue-tag.h:141 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:713 msgid "" -"The component is part of the KDE project, but its ID does not start with " -"KDEs reverse-DNS name (\"org.kde\")." +"This component is missing information about releases. Consider adding a " +"`releases` tag to describe releases and their changes." msgstr "" -#: src/as-validator-issue-tag.h:323 -msgid "The component name should (likely) not end with a dot ('.')." +#: src/as-validator-issue-tag.h:718 +msgid "" +"The AppStream specification requires a complete, ISO 8601 date string with " +"at least day-granularity to denote dates. Please ensure the date string is " +"valid." msgstr "" +"La spécification AppStream exige une date complète au format ISO 8601 avec " +"une granularité au minimum au jour près. Veuillez vous assurer que le format " +"de la date est valide." -#: src/as-validator-issue-tag.h:333 -msgid "The component summary must not contain tabs or linebreaks." +#: src/as-validator-issue-tag.h:724 +msgid "" +"This component extends, provides, requires or recommends itself, which is " +"certainly not intended and may confuse users or machines dealing with this " +"metadata." msgstr "" +"Ce composant s’étend, se fournit, se requiert ou se recommande lui-même, ce " +"qui n’est certainement pas voulu et peut désorienter les utilisateurs ou les " +"machines qui traitent ces métadonnées." -#: src/as-validator-issue-tag.h:328 -msgid "The component summary should not end with a dot ('.')." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:731 +msgid "" +"Licenses for `runtime` components are usually too complex to reflect them in " +"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " +"value for this component's `project_license`. E.g. `LicenseRef-free=https://" +"example.com/licenses.html`" msgstr "" +"Les licences pour les composants « runtime » sont généralement trop " +"complexes pour les représenter avec une simple expression SPDX. Considérez " +"l’utilisation de « LicenseRef » et une adresse Web comme valeur pour l’item " +"« project_license » du composant. P. ex. « LicenseRef-free=https://example." +"com/licenses.html »" -#: src/as-validator-issue-tag.h:243 +#: src/as-validator-issue-tag.h:737 msgid "" -"The default screenshot of a software component must not be a video. Use a " -"static image as default screenshot and set the video as a secondary " -"screenshot." +"Since a `runtime` component is comprised of multiple other software " +"components, their component-IDs may be listed in a `` section for " +"this runtime." msgstr "" +"Puisqu’un composant « runtime » comporte de nombreux autres composants " +"logiciels, leurs identifiants de composant peuvent être listés dans une " +"section pour cette exécution." -#: src/as-validator-issue-tag.h:86 +#: src/as-validator-issue-tag.h:742 msgid "" -"The description contains a web URL in plain text. This is not allowed, " -"please use the tag instead to share links." +"The type of the item that the component provides is not known to AppStream." msgstr "" +"Le type de l’item que le composant fournit n’est pas connu d’AppStream." -#: src/as-validator.c:152 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:748 msgid "" -"The emitted issue tag is unknown in the tag registry of AppStream. This is a " -"bug in the validator itself, please report this issue in our bugtracker." +"The toplevel `mimetypes` tag is deprecated. Please use `mediatype` tags in a " +"`provides` block instead to indicate that your software provides a media " +"handler for the given types." msgstr "" +"La balise de premier niveau `mimetypes` est obsolète. Veuillez à la place " +"utiliser les balises `mediatype` dans un bloc `provides` pour indiquer que " +"votre logiciel prend en charge les types de média donnés." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:435 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks) and keep the URL intact. +#: src/as-validator-issue-tag.h:755 msgid "" -"The essential tag 'metadata_license' is missing. A license for the metadata " -"itself always has to be defined." +"This component has no `content_rating` tag to provide age rating " +"information. You can generate the tag data online by answering a few " +"questions at https://hughsie.github.io/oars/" msgstr "" -#: src/as-validator-issue-tag.h:79 +#: src/as-validator.c:150 msgid "" -"The first 'description/p' paragraph of this component might be too short (< " -"80 characters). Please consider starting with a longer paragraph to improve " -"how the description looks like in software centers and to provide more " -"detailed information on this component immediately in the first paragraph." +"The emitted issue tag is unknown in the tag registry of AppStream. This is a " +"bug in the validator itself, please report this issue in our bugtracker." msgstr "" +"Le rapport d’erreur de balise émis est inconnu du registre de balises " +"d’AppStream. C’est un bogue dans le validateur lui-même, veuillez rapporter " +"le problème dans notre système de suivi des bogues." -#: src/as-validator-issue-tag.h:156 +#: src/as-validator.c:344 +msgid "URL format is invalid." +msgstr "Le format de l’URL est invalide." + +#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. +#: src/as-validator.c:522 src/as-validator.c:937 src/as-validator.c:1031 +#: src/as-validator.c:1428 src/as-validator.c:1448 src/as-validator.c:1481 +#, c-format +msgid "Found: %s - Allowed: %s" +msgstr "Trouvé : %s – Permis : %s" + +#. TRANSLATORS: ascompose flag description for: --verbose +#: tools/appstream-compose.c:181 +msgid "Show extra debugging information" +msgstr "Affiche des informations de débogage supplémentaires" + +#. TRANSLATORS: ascompose flag description for: --no-color +#. TRANSLATORS: ascli flag description for: --no-color +#: tools/appstream-compose.c:184 tools/appstreamcli.c:1087 +msgid "Don't show colored output." +msgstr "Ne pas afficher de sortie colorée." + +#. TRANSLATORS: ascompose flag description for: --version +#. TRANSLATORS: ascli flag description for: --version +#: tools/appstream-compose.c:187 tools/appstreamcli.c:1076 +msgid "Show the program version." +msgstr "Affiche la version du programme." + +#. TRANSLATORS: ascompose flag description for: --full-report +#: tools/appstream-compose.c:190 +msgid "Set mode of the issue report that is printed to the console" +msgstr "Définit le mode du rapport de bogue affiché dans le terminal" + +#. TRANSLATORS: ascompose flag description for: --prefix +#: tools/appstream-compose.c:193 +msgid "Override the default prefix (`/usr` by default)" +msgstr "Remplace le préfixe par défaut (`/usr` par défaut)" + +#. TRANSLATORS: ascompose flag description for: --result-root +#: tools/appstream-compose.c:196 +msgid "Set the result output directory" +msgstr "Définit le répertoire de sortie du résultat" + +#. TRANSLATORS: ascompose flag description for: --data-dir, `collection metadata` is an AppStream term +#: tools/appstream-compose.c:199 +msgid "Override the collection metadata output directory" +msgstr "Remplace le répertoire de sortie de la collection de métadonnées" + +#. TRANSLATORS: ascompose flag description for: --icons-dir +#: tools/appstream-compose.c:202 +msgid "Override the icon output directory" +msgstr "Remplace le répertoire de sortie de l’icône" + +#. TRANSLATORS: ascompose flag description for: --media-dir +#: tools/appstream-compose.c:205 +msgid "" +"Set the media output directory (for media data to be served by a webserver)" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --hints-dir +#: tools/appstream-compose.c:208 +msgid "Set a directory where HTML and text issue reports will be stored" +msgstr "" +"Définit un répertoire dans lequel les rapports de bogue texte et HTML vont " +"être stockés" + +#. TRANSLATORS: ascompose flag description for: --origin +#. TRANSLATORS: ascompose flag description for: --media-baseurl +#: tools/appstream-compose.c:211 tools/appstream-compose.c:214 +msgid "Set the origin name" +msgstr "Définit le nom d’origine" + +#. TRANSLATORS: ascompose flag description for: --components +#: tools/appstream-compose.c:217 +msgid "A comma-separated list of component-IDs to accept" +msgstr "" +"Une liste d’identifiants de composant séparés par des virgules à accepter" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:231 +msgid "Failed to parse arguments" +msgstr "Échec de l’analyse des arguments" + +#. TRANSLATORS: Output if appstreamcli --version is executed. +#: tools/appstream-compose.c:242 tools/appstreamcli.c:1230 +#, c-format +msgid "AppStream version: %s" +msgstr "Version d’AppStream : %s" + +#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. +#: tools/appstream-compose.c:245 tools/appstreamcli.c:1233 +#, c-format msgid "" -"The license ID was not found in the SPDX database. Please check that the " -"license ID is written in an SPDX-conformant way and is a valid free software " -"license." +"AppStream CLI tool version: %s\n" +"AppStream library version: %s" msgstr "" +"Version de l’outil en ligne de commande AppStream : %s\n" +"Version de la bibliothèque AppStream : %s" -#: src/as-validator-issue-tag.h:96 +#. TRANSLATORS: invalid value for the --print-report CLI option +#: tools/appstream-compose.c:264 +#, c-format msgid "" -"The mentioned tag is empty, which is highly likely not intended as it should " -"have content." +"Invalid value for `--print-report` option: %s\n" +"Possible values are:\n" +"`on-error` - only prints a short report if the run failed (default)\n" +"`short` - generates an abridged report\n" +"`full` - a detailed report will be printed" msgstr "" +"Valeur invalide pour l’option `--print-report` : %s\n" +"Les valeurs possibles sont :\n" +"`on-error` — affiche seulement un court rapport si l’exécution échoue (par " +"défaut)\n" +"`short` — génère un rapport abrégé\n" +"`full` — un rapport détaillé sera affiché" -#: src/as-validator-issue-tag.h:168 -msgid "" -"The metadata itself does not seem to be licensed under a permissive license. " -"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " -"0BSD to allow distributors to include it in mixed data collections without " -"the risk of license violations due to mutually incompatible licenses." +#: tools/appstream-compose.c:285 +#, c-format +msgid "Automatically selected '%s' as data output location." msgstr "" +"'%s' sélectionné automatiquement comme localisation de sortie des données." -#: src/as-validator-issue-tag.h:162 -msgid "" -"The metadata itself seems to be licensed under a complex collection of " -"licenses. Please license the data under a simple permissive license, like " -"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " -"collections without the risk of license violations due to mutually " -"incompatible licenses." +#. TRANSLATORS: we don't have a destination directory for compose +#: tools/appstream-compose.c:288 +msgid "No destination directory set, please provide a data output location!" msgstr "" +"Aucun répertoire de destination défini, veuillez fournir une localisation de " +"sortie des données !" + +#: tools/appstream-compose.c:298 tools/appstream-compose.c:300 +msgid "WARNING" +msgstr "AVERTISSEMENT" + +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:337 +#, c-format +msgid "Only accepting components: %s" +msgstr "Seuls composants acceptés : %s" + +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:340 +#, c-format +msgid "Only accepting component: %s" +msgstr "Seul composant accepté : %s" + +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:345 +msgid "Processing directories:" +msgstr "Traitement des répertoires :" + +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:348 +msgid "Processing directory:" +msgstr "Traitement du répertoire :" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:357 +msgid "Can not process invalid directory" +msgstr "Impossible de traiter un répertoire invalide" + +#. TRANSLATORS: information message +#: tools/appstream-compose.c:369 +msgid "Composing metadata..." +msgstr "Composition des métadonnées…" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:374 +msgid "Failed to compose AppStream metadata" +msgstr "Échec de la composition des métadonnées AppStream" -#: src/as-validator-issue-tag.h:599 +#. TRANSLATORS: appstream-compose failed to include all data +#: tools/appstream-compose.c:380 +msgid "Run failed, some data was ignored." +msgstr "L’exécution a échoué, certaines données ont été ignorées." + +#. TRANSLATORS: information message of appstream-compose +#: tools/appstream-compose.c:382 +msgid "Errors were raised during this compose run:" +msgstr "Des erreurs ont été levées durant l’exécution de cette composition :" + +#: tools/appstream-compose.c:383 msgid "" -"The metainfo file is stored in a legacy path. Please place it in '/usr/share/" -"metainfo'." +"Refer to the generated issue report data for details on the individual " +"problems." msgstr "" +"Consulter les données du rapport de bogue généré pour des détails sur les " +"problèmes individuels." -#: src/as-validator-issue-tag.h:604 -msgid "The metainfo file specifies multiple components. This is not allowed." -msgstr "" +#: tools/appstream-compose.c:386 +msgid "Overview of generated hints:" +msgstr "Vue d’ensemble des indices générés :" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:559 -msgid "" -"The metainfo file uses an ancient version of the AppStream specification, " -"which can not be validated. Please migrate it to version 0.6 (or higher)." +#. TRANSLATORS: information message +#: tools/appstream-compose.c:388 +msgid "Success!" +msgstr "Succès !" + +#. TRANSLATORS: ascli flag description for: --cachepath +#: tools/appstreamcli.c:59 +msgid "Manually selected location of AppStream cache." +msgstr "Définis manuellement l’emplacement du cache AppStream." + +#. TRANSLATORS: ascli flag description for: --datapath +#: tools/appstreamcli.c:64 +msgid "Manually selected location of AppStream metadata to scan." msgstr "" +"Définis manuellement l’emplacement des métadonnées AppStream à analyser." -#: src/as-validator-issue-tag.h:569 -#, fuzzy -msgid "The metainfo filename does not match the component ID." -msgstr "Désinstaller le logiciel correspondant à l'identifiant du composant." +#. TRANSLATORS: ascli flag description for: --no-cache +#: tools/appstreamcli.c:69 +msgid "Make request without any caching." +msgstr "Effectue une requête sans aucune mise en cache." -#: src/as-validator-issue-tag.h:609 -msgid "" -"The releases are not sorted in a latest to oldest version order. This is " -"required as some tools will assume that the latest version is always at the " -"top. Sorting releases also increases overall readability of the metainfo " -"file." +#. TRANSLATORS: ascli flag description for: --format +#: tools/appstreamcli.c:85 +msgid "Default metadata format (valid values are 'xml' and 'yaml')." msgstr "" +"Format de métadonnées par défaut (les valeurs valides sont « xml » et " +"« yaml »)." -#: src/as-validator-issue-tag.h:537 -msgid "The screenshot caption is too long (should be <= 80 characters)" +#. TRANSLATORS: ascli flag description for: --details +#: tools/appstreamcli.c:100 +msgid "Print detailed output about found components." +msgstr "Affiche des informations détaillées au sujet des composants trouvés." + +#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) +#: tools/appstreamcli.c:118 +msgid "Also show pedantic hints." +msgstr "Affiche également des indications minutieuses." + +#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) +#: tools/appstreamcli.c:123 +msgid "Print detailed explanation for found issues." +msgstr "Affiche des explications détaillées au sujet des problèmes trouvés." + +#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) +#: tools/appstreamcli.c:128 +msgid "Do not use network access." +msgstr "Ne pas utiliser l’accès au réseau." + +#. TRANSLATORS: ascli flag description for: --format when validating XML files +#: tools/appstreamcli.c:133 +msgid "Format of the generated report (valid values are 'text' and 'yaml')." msgstr "" +"Format du rapport généré (les valeurs valides sont « text » et « yaml »)." -#: src/as-validator-issue-tag.h:206 -msgid "The screenshot does not have a caption text. Consider adding one." +#. TRANSLATORS: This is the header to the --help menu for subcommands +#. TRANSLATORS: This is the header to the --help menu +#: tools/appstreamcli.c:153 tools/appstreamcli.c:981 +msgid "AppStream command-line interface" +msgstr "Interface en ligne de commande AppStream" + +#: tools/appstreamcli.c:156 +#, c-format +msgid "'%s' command" +msgstr "commande « %s »" + +#. TRANSLATORS: An unknown option was passed to appstreamcli. +#: tools/appstreamcli.c:191 +#, c-format +msgid "Option '%s' is unknown." +msgstr "L’option « %s » est inconnue." + +#: tools/appstreamcli.c:195 tools/appstreamcli.c:1207 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options." msgstr "" +"Lancer « %s --help » pour afficher la liste complète des options disponibles " +"en ligne de commande." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:218 +#: tools/appstreamcli.c:197 +#, c-format msgid "" -"The screenshot video does not specify which container format was used in a " -"'container' property." +"Run '%s --help' to see a list of available commands and options, and '%s %s " +"--help' to see a list of options specific for this subcommand." msgstr "" +"Lancer « %s --help » pour afficher la liste des commandes et options " +"disponibles et « %s %s --help » pour afficher la liste des options " +"spécifiques à cette sous-commande." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:212 -msgid "" -"The screenshot video does not specify which video codec was used in a " -"'codec' property." +#. TRANSLATORS: ascli flag description for: --force +#: tools/appstreamcli.c:245 +msgid "Enforce a cache refresh." +msgstr "Force une mise à jour du cache." + +#. TRANSLATORS: ascli flag description for: --user +#: tools/appstreamcli.c:251 +msgid "Update the user-specific instead of the system-wide cache." +msgstr "Met à jour le cache utilisateur au lieu du cache système." + +#. TRANSLATORS: ascli flag description for: --origin (part of the "put" subcommand) +#: tools/appstreamcli.c:477 +msgid "Set the data origin for the installed metadata collection file." msgstr "" +"Définit l’origine des données pour le fichier de collection des métadonnées " +"installé." + +#. TRANSLATORS: ascli flag description for: --user (part of the "put" subcommand) +#: tools/appstreamcli.c:482 +msgid "Install the file for the current user, instead of globally." +msgstr "Installe le fichier pour l’utilisateur courant au lieu de tous." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:224 +#: tools/appstreamcli.c:631 msgid "" -"The selected video codec is not supported by AppStream and software centers " -"may not be able to play the video. Only the AV1 and VP9 codecs are currently " -"supported, using 'av1' and 'vp9' as values for the 'codec' property." +"You need to provide at least two version numbers to compare as parameters." msgstr "" +"Vous devez fournir au moins deux numéros de version en paramètre pour " +"comparer." + +#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. +#: tools/appstreamcli.c:660 +#, c-format +msgid "Unknown compare relation '%s'. Valid values are:" +msgstr "Relation de comparaison « %s » inconnue. Les valeurs valides sont :" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:231 +#: tools/appstreamcli.c:700 msgid "" -"The selected video container format is not supported by AppStream and " -"software centers may not be able to play the video. Only the WebM and " -"Matroska video containers are currently supported, using 'webm' and 'mkv' as " -"values for the 'container' property." +"Too many parameters: Need two version numbers or version numbers and a " +"comparison operator." msgstr "" +"Trop de paramètres : il faut deux numéros de version ou des numéros de " +"version et un opérateur de comparaison." -#: src/as-validator-issue-tag.h:283 -#, fuzzy +#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) +#: tools/appstreamcli.c:726 msgid "" -"The set component type is not a recognized, valid AppStream component type." +"Use the given .desktop file to fill in the basic values of the metainfo file." msgstr "" -"Le type de composant logiciel « %s » n'est pas valide dans AppStream. Les " -"valeurs possibles sont :" +"Utilise le fichier bureau donné pour remplir les valeurs basiques du fichier " +"métainfo." -#: src/as-validator-issue-tag.h:398 +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand +#: tools/appstreamcli.c:731 msgid "" -"The set value is not an identifier for a desktop environment as registered " -"with Freedesktop.org." +"This command takes optional TYPE and FILE positional arguments, FILE being a " +"file to write to (or \"-\" for standard output)." msgstr "" +"Cette commande prend les arguments positionnels optionnels TYPE et FILE, " +"FILE étant un fichier dans lequel écrire (ou « - » pour la sortie standard)." -#: tools/ascli-actions-mdata.c:449 +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows +#: tools/appstreamcli.c:734 #, c-format -msgid "" -"The software component type '%s' is not valid in AppStream. Possible values " -"are:" -msgstr "" -"Le type de composant logiciel « %s » n'est pas valide dans AppStream. Les " -"valeurs possibles sont :" +msgid "The TYPE must be a valid component-type, such as: %s" +msgstr "Le TYPE doit être un type de composant valide, tel que : %s" -#: src/as-validator-issue-tag.h:338 -msgid "The summary must not contain any URL. Use the tags for links." -msgstr "" +#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) +#: tools/appstreamcli.c:775 +msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." +msgstr "Utilise la ligne spécifiée pour la clé « Exec= » du fichier bureau." -#: src/as-validator-issue-tag.h:640 -msgid "" -"The type of the item that the component provides is not known to AppStream." +#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command +#: tools/appstreamcli.c:815 +msgid "Assume the input file is in the selected format ('yaml' or 'text')." msgstr "" +"Suppose que le fichier d’entrée est dans le format sélectionné (« yaml » ou " +"« text »)." -#: src/as-validator-issue-tag.h:174 +#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command +#: tools/appstreamcli.c:820 msgid "" -"The update-contact does not appear to be a valid email address (escaping of " -"'@' is only allowed as '_at_' or '_AT_')." +"Limit the number of release entries that end up in the metainfo file (0 for " +"unlimited)." msgstr "" +"Limite le nombre d’entrées de version stockées dans le fichier métainfo (0 " +"pour illimité)." + +#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command +#: tools/appstreamcli.c:862 +msgid "Generate the output in the selected format ('yaml' or 'text')." +msgstr "Génère la sortie dans le format sélectionné (« yaml » ou « text »)." -#: tools/ascli-actions-validate.c:363 tools/ascli-actions-validate.c:492 +#: tools/appstreamcli.c:894 #, c-format -msgid "" -"The validator can not create reports in the '%s' format. You may select " -"'yaml' or 'text' instead." +msgid "Compose binary '%s' was not found! Can not continue." msgstr "" +"Le binaire de composition '%s' n’a pas été trouvé ! Impossible de continuer." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:410 -msgid "This 'bundle' tag has an unknown type and can not be used." -msgstr "" +#. TRANSLATORS: this is a (usually shorter) command alias, shown after the command summary text +#: tools/appstreamcli.c:956 +#, c-format +msgid "(Alias: '%s')" +msgstr "(Alias : « %s »)" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:404 -msgid "This 'launchable' tag has an unknown type and can not be used." -msgstr "" +#. these are commands we can use with appstreamcli +#: tools/appstreamcli.c:983 +msgid "Subcommands:" +msgstr "Sous-commandes :" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:515 +#: tools/appstreamcli.c:1029 msgid "" -"This 'localization' component does not define any languages this " -"localization is for." +"You can find information about subcommand-specific options by passing \"--" +"help\" to the subcommand." msgstr "" +"Vous pouvez trouver des informations concernant les options spécifiques à " +"une sous-commande en passant « --help » à la sous-commande." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:509 +#. TRANSLATORS: ascli has been run with unknown command. '%s --help' is the command to receive help and should not be translated. +#: tools/appstreamcli.c:1052 +#, c-format msgid "" -"This 'localization' component is missing an 'extends' tag, to specify the " -"components it adds localization to." +"Command '%s' is unknown. Run '%s --help' for a list of available commands." msgstr "" +"Commande « %s » inconnue. Lancer « %s --help » pour afficher la liste " +"complète des options disponibles en ligne de commande." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:521 -msgid "" -"This 'service' component is missing a 'launchable' tag of type 'service'." -msgstr "" +#. TRANSLATORS: ascli flag description for: --verbose +#: tools/appstreamcli.c:1082 +msgid "Show extra debugging information." +msgstr "Affiche des informations de débogage supplémentaires." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:473 -msgid "" -"This 'web-application' component is missing a 'icon' tag to specify a valid " -"icon." -msgstr "" +#. TRANSLATORS: ascli flag description for: --profile +#: tools/appstreamcli.c:1090 +msgid "Enable profiling" +msgstr "Activer le profilage" + +#. TRANSLATORS: `appstreamcli search` command description. +#: tools/appstreamcli.c:1102 +msgid "Search the component database." +msgstr "Cherche dans la base de données des composants." + +#. TRANSLATORS: `appstreamcli get` command description. +#: tools/appstreamcli.c:1107 +msgid "Get information about a component by its ID." +msgstr "Obtenir des informations sur un composant par son identifiant." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:467 +#. TRANSLATORS: `appstreamcli what-provides` command description. +#: tools/appstreamcli.c:1112 msgid "" -"This 'web-application' component is missing a 'launchable' tag of type 'url'." +"Get components which provide the given item. Needs an item type (e.g. lib, " +"bin, python3, …) and item value as parameter." msgstr "" +"Obtient les composants qui fournissent l’item donné. Nécessite un type " +"d’item (p. ex. lib, bin, python3…) et une valeur d’item en paramètre." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:479 -msgid "" -"This 'web-application' component is missing categorizations. A 'categories' " -"block is likely missing." +#. TRANSLATORS: `appstreamcli dump` command description. +#: tools/appstreamcli.c:1118 +msgid "Dump raw XML metadata for a component matching the ID." msgstr "" +"Sauvegarde les métadonnées XML brutes pour un composant correspondant à " +"l’identifiant." -#: src/as-validator-issue-tag.h:564 -msgid "" -"This XML document has an unknown root tag. Maybe this file is not a metainfo " -"document?" +#. TRANSLATORS: `appstreamcli refresh-cache` command description. +#: tools/appstreamcli.c:1123 +msgid "Rebuild the component metadata cache." +msgstr "Reconstruire le cache des métadonnées du composant." + +#. TRANSLATORS: `appstreamcli validate` command description. +#: tools/appstreamcli.c:1129 +msgid "Validate AppStream XML files for issues." +msgstr "Valider les fichiers XML AppStream." + +#. TRANSLATORS: `appstreamcli validate-tree` command description. +#: tools/appstreamcli.c:1134 +msgid "Validate an installed file-tree of an application for valid metadata." msgstr "" +"Valider les métadonnées d’une arborescence de fichiers installée d’une " +"application." -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand -#: tools/appstream-cli.c:680 -msgid "" -"This command takes optional TYPE and FILE positional arguments, FILE being a " -"file to write to (or \"-\" for standard output)." +#. TRANSLATORS: `appstreamcli install` command description. +#: tools/appstreamcli.c:1140 +msgid "Install software matching the component-ID." +msgstr "Installe le logiciel correspondant à l’identifiant du composant." + +#. TRANSLATORS: `appstreamcli remove` command description. +#: tools/appstreamcli.c:1145 +msgid "Remove software matching the component-ID." +msgstr "Désinstalle le logiciel correspondant à l’identifiant du composant." + +#. TRANSLATORS: `appstreamcli status` command description. +#: tools/appstreamcli.c:1151 +msgid "Display status information about available AppStream metadata." msgstr "" -"Cette commande prend les arguments positionnels optionels TYPE et FILE, FILE " -"étant un fichier dans lequel écrire (ou « - » pour la sortie standard)." +"Affiche des informations d’état sur les métadonnées AppStream disponibles." -#: src/as-validator-issue-tag.h:622 +#. TRANSLATORS: `appstreamcli os-info` command description. +#: tools/appstreamcli.c:1156 msgid "" -"This component extends, provides, requires or recommends itself, which is " -"certainly not intended and may confuse users or machines dealing with this " -"metadata." +"Show information about the current operating system from the metadata index." msgstr "" +"Affiche les informations sur le système d’exploitation courant depuis " +"l’index des métadonnées." -#: src/as-validator-issue-tag.h:579 -msgid "This component metadata refers to a non-existing .desktop file." -msgstr "" +#. TRANSLATORS: `appstreamcli put` command description. +#: tools/appstreamcli.c:1161 +msgid "Install a metadata file into the right location." +msgstr "Installe un fichier de métadonnées au bon emplacement." -#: src/as-validator-issue-tag.h:69 +#. TRANSLATORS: `appstreamcli convert` command description. "Collection XML" is a term describing a specific type of AppStream XML data. +#: tools/appstreamcli.c:1166 +msgid "Convert collection XML to YAML or vice versa." +msgstr "Converti une collection XML en YAML ou vice versa." + +#. TRANSLATORS: `appstreamcli vercmp` command description. +#: tools/appstreamcli.c:1171 +msgid "Compare two version numbers." +msgstr "Compare deux numéros de version." + +#. TRANSLATORS: `appstreamcli new-template` command description. +#: tools/appstreamcli.c:1177 msgid "" -"This description paragraph contains invalid markup. Currently, only " -"and are permitted." +"Create a template for a metainfo file (to be filled out by the upstream " +"project)." msgstr "" +"Créer un modèle pour un fichier métainfo (à remplir par le projet en amont)." -#: src/as-validator-issue-tag.h:57 -msgid "" -"This element (paragraph, list, etc.) of a tag must not be " -"localized individually in collection metadata. Localize the whole " -" tag instead. The AppStream collection metadata generator (e." -"g. `appstream-generator`) will already do the right thing when compiling the " -"data." +#. TRANSLATORS: `appstreamcli make-desktop-file` command description. +#: tools/appstreamcli.c:1182 +msgid "Create a desktop-entry file from a metainfo file." +msgstr "Créer un fichier bureau XDG à partir d’un fichier métainfo." + +#. TRANSLATORS: `appstreamcli news-to-metainfo` command description. +#: tools/appstreamcli.c:1187 +msgid "Convert a YAML or text NEWS file into metainfo releases." msgstr "" +"Converti un fichier YAML ou un fichier texte NEWS en une version métainfo." -#: src/as-validator-issue-tag.h:455 -msgid "" -"This generic component is missing a long description. It may be useful to " -"add one." +#. TRANSLATORS: `appstreamcli metainfo-to-news` command description. +#: tools/appstreamcli.c:1192 +msgid "Write NEWS text or YAML file with information from a metainfo file." msgstr "" +"Écrit le texte NEWS ou le fichier YAML avec les informations d’un fichier " +"métainfo." -#: src/as-validator-issue-tag.h:421 -msgid "" -"This tag is a GNOME-specific extension to AppStream and not part of the " -"official specification. Do not expect it to work in all implementations and " -"in all software centers." +#. TRANSLATORS: `appstreamcli compose` command description. +#: tools/appstreamcli.c:1198 +msgid "Compose AppStream collection metadata from directory trees." msgstr "" +"Compose la collection de métadonnées AppStream depuis l’arborescence des " +"répertoires." -#: src/as-validator-issue-tag.h:41 -msgid "This tag requires a type property." +#. TRANSLATORS: ascli has been run without command. +#: tools/appstreamcli.c:1206 +msgid "You need to specify a command." +msgstr "Vous devez spécifier une commande." + +#. TRANSLATORS: In ascli: The requested action needs higher permissions. +#: tools/ascli-actions-mdata.c:70 +msgid "You might need superuser permissions to perform this action." msgstr "" +"Vous pourriez avoir besoin des permissions superutilisateur pour réaliser " +"cette action." -#: data/org.freedesktop.appstream.cli.metainfo.xml:15 -msgid "" -"This tool allows for reading, writing, validating and transformation of " -"AppStream XML or YAML metadata. It also gives access to the system metadata " -"pool, for example to query for software that provides a specific MIME-type, " -"and installing it by its software component identifier." -msgstr "" -"Cet outil permet la lecture, l'écriture, la validation et la transformation " -"des métadonnées XML ou YAML d'AppStream. Il permet également d'accéder à " -"l'ensemble de métadonnées système pour, par exemple, chercher un logiciel " -"supportant un type mime spécifique et l'installer en utilisant son " -"identifiant de composant logiciel." +#. we performed a cache refresh +#. TRANSLATORS: Updating the metadata cache succeeded +#: tools/ascli-actions-mdata.c:80 +msgid "AppStream cache update completed successfully." +msgstr "La mise à jour du cache AppStream a été réalisée avec succès." -#: src/as-validator-issue-tag.h:388 -msgid "" -"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." +#. cache wasn't updated, so the update wasn't necessary +#: tools/ascli-actions-mdata.c:86 +msgid "AppStream cache update is not necessary." +msgstr "La mise à jour du cache AppStream n’est pas nécessaire." + +#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments +#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. +#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:253 +#: tools/ascli-actions-pkgmgr.c:80 +msgid "You need to specify a component-ID." +msgstr "Vous devez spécifier l’identifiant du composant." + +#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:265 +#: tools/ascli-actions-pkgmgr.c:93 +#, c-format +msgid "Unable to find component with ID '%s'!" +msgstr "Impossible de trouver un composant avec l’identifiant « %s » !" + +#: tools/ascli-actions-mdata.c:164 +msgid "You need to specify a term to search for." +msgstr "Vous devez spécifier un terme à rechercher." + +#. TRANSLATORS: We failed to find any component in the database, likely due to an error +#: tools/ascli-actions-mdata.c:177 +#, c-format +msgid "Unable to find component matching %s!" +msgstr "Impossible de trouver le composant correspondant à %s !" + +#: tools/ascli-actions-mdata.c:182 +#, c-format +msgid "No component matching '%s' found." +msgstr "Aucun composant correspondant à « %s » trouvé." + +#: tools/ascli-actions-mdata.c:206 +msgid "No value for the item to search for was defined." +msgstr "Aucune valeur n’a été définie pour l’item à rechercher." + +#: tools/ascli-actions-mdata.c:212 +msgid "Invalid type for provided item selected. Valid values are:" msgstr "" +"Type invalide pour l’item fourni sélectionné. Les valeurs valides sont :" + +#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results +#: tools/ascli-actions-mdata.c:227 +#, c-format +msgid "Could not find component providing '%s::%s'." +msgstr "Impossible de trouver des composants qui fournissent « %s::%s »." -#: tools/appstream-cli.c:648 +#: tools/ascli-actions-mdata.c:306 +msgid "You need to specify a metadata file." +msgstr "Vous devez spécifier un fichier de métadonnées." + +#: tools/ascli-actions-mdata.c:320 +#, c-format +msgid "Unable to install metadata file: %s" +msgstr "Impossible d’installer le fichier de métadonnées : %s" + +#: tools/ascli-actions-mdata.c:340 +msgid "You need to specify an input and output file." +msgstr "Vous devez spécifier un fichier d’entrée et de sortie." + +#: tools/ascli-actions-mdata.c:347 +#, c-format +msgid "Metadata file '%s' does not exist." +msgstr "Le fichier de métadonnées « %s » n’existe pas." + +#. TRANSLATORS: User is trying to convert a file in ascli +#: tools/ascli-actions-mdata.c:387 msgid "" -"Too many parameters: Need two version numbers or version numbers and a " -"comparison operator." +"Unable to convert file: Could not determine output format, please set it " +"explicitly using '--format='." msgstr "" -"Trop de paramètres : Il faut deux numéros de version ou deux numéros de " -"version et un opérateur de comparaison." +"Impossible de convertir le fichier : le format de sortie n’a pas pu être " +"déterminé, veuillez le définir explicitement en utilisant « --format= »." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:461 +#: tools/ascli-actions-mdata.c:438 +#, c-format +msgid "Unable to find operating system component '%s'!" +msgstr "Impossible de trouver le composant de système d’exploitation '%s' !" + +#: tools/ascli-actions-mdata.c:443 +msgid "Version" +msgstr "Version" + +#: tools/ascli-actions-mdata.c:467 msgid "" -"Type 'console-application' component, but no information about binaries in " -"$PATH was provided via a 'provides/binary' tag." +"You need to give an AppStream software component type to generate a " +"template. Possible values are:" msgstr "" +"Vous devez donner un type de composant logiciel AppStream pour générer un " +"modèle. Les valeurs possibles sont :" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:491 +#: tools/ascli-actions-mdata.c:469 +#, c-format msgid "" -"Type 'driver' component, but no modalias information was provided via a " -"provides/modalias tag." +"The software component type '%s' is not valid in AppStream. Possible values " +"are:" msgstr "" +"Le type de composant logiciel « %s » n’est pas valide dans AppStream. Les " +"valeurs possibles sont :" + +#: tools/ascli-actions-mdata.c:487 +#, c-format +msgid "The .desktop file '%s' does not exist." +msgstr "Le fichier .desktop « %s » n’existe pas." + +#: tools/ascli-actions-mdata.c:493 +#, c-format +msgid "Unable to read the .desktop file: %s" +msgstr "Impossible de lire le fichier bureau : %s" + +#: tools/ascli-actions-mdata.c:564 +#, c-format +msgid "Unable to build the template metainfo file: %s" +msgstr "Impossible de construire le fichier de modèle métainfo : %s" + +#: tools/ascli-actions-mdata.c:572 +#, c-format +msgid "Unable to save the template metainfo file: %s" +msgstr "Impossible d’enregistrer le fichier de modèle métainfo : %s" + +#. TRANSLATORS: In the status report of ascli: Header +#: tools/ascli-actions-misc.c:47 +msgid "AppStream Status:" +msgstr "État AppStream :" + +#: tools/ascli-actions-misc.c:48 +#, c-format +msgid "Version: %s" +msgstr "Version : %s" + +#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions +#: tools/ascli-actions-misc.c:52 +msgid "Distribution metadata:" +msgstr "Métadonnées de la distribution :" + +#: tools/ascli-actions-misc.c:94 +msgid "Iconsets" +msgstr "Jeux d’icônes" + +#: tools/ascli-actions-misc.c:105 +msgid "No icons." +msgstr "Aucune icône." + +#. TRANSLATORS: No metainfo files have been found +#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 +msgid "Empty." +msgstr "Vide." + +#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report +#: tools/ascli-actions-misc.c:116 +msgid "Metainfo files:" +msgstr "Fichiers de métainfo :" + +#: tools/ascli-actions-misc.c:123 +#, c-format +msgid "Found %i components." +msgstr "%i composants trouvés." + +#. TRANSLATORS: Found metainfo files in legacy directories +#: tools/ascli-actions-misc.c:138 +#, c-format +msgid "Found %i components in legacy paths." +msgstr "%i composants trouvés dans des chemins d’accès obsolescents." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:485 -msgid "" -"Type 'font' component, but no font information was provided via a 'provides/" -"font' tag." -msgstr "" +#. TRANSLATORS: Status summary in ascli +#: tools/ascli-actions-misc.c:145 +msgid "Summary:" +msgstr "Résumé :" -#: src/as-validator.c:333 -msgid "URL format is invalid." -msgstr "" +#: tools/ascli-actions-misc.c:153 +#, c-format +msgid "We have information on %i software components." +msgstr "Nous avons des informations sur %i composants logiciels." -#: tools/ascli-actions-mdata.c:544 +#: tools/ascli-actions-misc.c:159 #, c-format -msgid "Unable to build the template metainfo file: %s" -msgstr "Impossible de construire le fichier de méta-info modèle : %s" +msgid "Error while loading the metadata pool: %s" +msgstr "Erreur lors du chargement du pool de métadonnées : %s" -#. TRANSLATORS: User is trying to convert a file in ascli -#: tools/ascli-actions-mdata.c:400 +#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 +msgid "You need to specify a metainfo file as input." +msgstr "Vous devez spécifier un fichier métainfo comme entrée." + +#: tools/ascli-actions-misc.c:188 msgid "" -"Unable to convert file: Could not determine output format, please set it " -"explicitly using '--format='." +"You need to specify a desktop-entry file to create or augment as output." msgstr "" -"Impossible de convertir le fichier : le format de sortie n'a pas pu être " -"déterminé, veuillez le définir explicitement en utilisant « --format= »." +"Vous devez spécifier un fichier bureau à créer ou à accroître comme sortie." -#. TRANSLATORS: We failed to find any component in the database, likely due to an error -#: tools/ascli-actions-mdata.c:177 +#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 +#: tools/ascli-actions-misc.c:515 #, c-format -msgid "Unable to find component matching %s!" -msgstr "Impossible de trouver le composant correspondant à %s !" +msgid "Metainfo file '%s' does not exist." +msgstr "Le fichier métainfo « %s » n’existe pas." -#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:266 -#: tools/ascli-actions-pkgmgr.c:93 +#: tools/ascli-actions-misc.c:219 #, c-format -msgid "Unable to find component with ID '%s'!" -msgstr "Impossible de trouver le composant ayant l'ID « %s » !" +msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." +msgstr "Ajout au fichier bureau existant « %s » des données de « %s »." #: tools/ascli-actions-misc.c:224 -#, fuzzy, c-format +#, c-format msgid "Unable to load existing desktop-entry file template: %s" -msgstr "Impossible de lire le fichier .desktop : %s" +msgstr "Impossible de charger le modèle de fichier bureau existant : %s" -#: src/as-validator-issue-tag.h:356 -msgid "Unable to reach remote icon at the given web location - does it exist?" +#: tools/ascli-actions-misc.c:228 +#, c-format +msgid "Creating new desktop-entry file '%s' using data from '%s'" msgstr "" +"Création d’un nouveau fichier bureau « %s » à partir des données de « %s »" -#: src/as-validator-issue-tag.h:378 -msgid "" -"Unable to reach remote location that this URL references - does it exist?" +#: tools/ascli-actions-misc.c:284 +msgid "No stock icon name was provided in the metainfo file. Can not continue." msgstr "" +"Aucun nom d’icône d’action n’a été fournie dans le fichier métainfo. " +"Impossible de continuer." -#: src/as-validator-issue-tag.h:179 +#: tools/ascli-actions-misc.c:306 msgid "" -"Unable to reach the screenshot image on its remote location - does the image " -"exist?" +"No provided binary specified in metainfo file, and no exec command specified " +"via '--exec'. Can not create 'Exec=' key." msgstr "" +"Aucun binaire fourni spécifié dans le fichier métainfo, et aucune commande " +"d’exécution spécifiée via « --exec ». Impossible de créer la clé « Exec= »." -#: src/as-validator-issue-tag.h:184 -msgid "" -"Unable to reach the screenshot video on its remote location - does the video " -"file exist?" -msgstr "" +#: tools/ascli-actions-misc.c:370 +#, c-format +msgid "Unable to save desktop entry file: %s" +msgstr "Impossible d’enregistrer le fichier bureau : %s" -#: src/as-validator-issue-tag.h:542 -#, fuzzy -msgid "Unable to read file." -msgstr "Impossible de lire le fichier .desktop : %s" +#: tools/ascli-actions-misc.c:393 +msgid "You need to specify a NEWS file as input." +msgstr "Vous devez spécifier un fichier NEWS en entrée." -#: src/as-validator-issue-tag.h:574 -#, fuzzy -msgid "Unable to read the .desktop file associated with this component." -msgstr "Impossible de lire le fichier .desktop : %s" +#: tools/ascli-actions-misc.c:397 +msgid "" +"You need to specify a metainfo file to augment, or '-' to print to stdout." +msgstr "" +"Vous devez spécifier un fichier métainfo à accroître, ou « - » pour afficher " +"dans la sortie standard." -#: tools/ascli-actions-mdata.c:473 -#, c-format -msgid "Unable to read the .desktop file: %s" -msgstr "Impossible de lire le fichier .desktop : %s" +#: tools/ascli-actions-misc.c:402 +msgid "No output filename specified, modifying metainfo file directly." +msgstr "" +"Aucun nom de fichier de sortie spécifié ; modification directe du fichier " +"métainfo." -#: src/as-pool.c:606 -msgid "Unable to remove old cache." +#: tools/ascli-actions-misc.c:509 +msgid "You need to specify a NEWS file as output, or '-' to print to stdout." msgstr "" +"Vous devez spécifier un fichier NEWS en sortie, ou « - » pour afficher sur " +"la sortie standard." -#: tools/ascli-actions-misc.c:370 -#, fuzzy, c-format -msgid "Unable to save desktop entry file: %s" -msgstr "Impossible de lire le fichier .desktop : %s" +#: tools/ascli-actions-misc.c:540 +msgid "You need to specify a NEWS format to write the output in." +msgstr "Vous devez spécifier un format NEWS pour écrire la sortie." -#: tools/ascli-actions-mdata.c:552 -#, c-format -msgid "Unable to save the template metainfo file: %s" -msgstr "Impossible d'enregistrer le modèle de fichier de méta-info : %s" +#: tools/ascli-actions-pkgmgr.c:53 +msgid "" +"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" +"\" (part of PackageKit) is available." +msgstr "" +"Aucun gestionnaire de paquet en ligne de commande approprié n’a été trouvé. " +"Veuillez vérifier par exemple que « pkcon » (faisant partie de PackageKit) " +"est disponible." #: tools/ascli-actions-pkgmgr.c:67 #, c-format msgid "Unable to spawn package manager: %s" msgstr "Impossible de lancer le gestionnaire de paquet : %s" -#: tools/ascli-actions-mdata.c:322 +#. TRANSLATORS: We found no distribution package or bundle to install to make this software available +#: tools/ascli-actions-pkgmgr.c:106 #, c-format -msgid "Unable to write to '%s', can not install metainfo file." -msgstr "" -"Impossible d'écrire dans « %s », le fichier de méta-info ne peut pas être " -"installé." +msgid "Component '%s' has no installation candidate." +msgstr "Le composant « %s » n’a pas de candidat à l’installation." -#. TRANSLATORS: ascli has been run with unknown command. -#: tools/appstream-cli.c:1009 +#: tools/ascli-actions-validate.c:176 tools/ascli-actions-validate.c:354 #, c-format -msgid "Unknown command '%s'." -msgstr "Commande inconnue « %s »." +msgid "File '%s' does not exist." +msgstr "Le fichier « %s » n’existe pas." -#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. -#: tools/appstream-cli.c:608 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "error"-type hints +#: tools/ascli-actions-validate.c:228 #, c-format -msgid "Unknown compare relation '%s'. Valid values are:" -msgstr "Relation de comparaison « %s » inconnue. Les valeurs valables sont :" - -#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) -#: tools/appstream-cli.c:675 -msgid "" -"Use the given .desktop file to fill in the basic values of the metainfo file." -msgstr "" -"Utilisez le fichier .desktop donné pour compléter les valeurs de base du " -"fichier de méta-info." - -#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) -#: tools/appstream-cli.c:725 -msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." -msgstr "" - -#. TRANSLATORS: this is the menu spec main category for Utilities -#: src/as-category.c:329 -msgid "Utilities" -msgstr "Utilitaires" +msgid "errors: %lu" +msgstr "erreurs : %lu" -#: tools/appstream-cli.c:856 -msgid "Validate AppStream XML files for issues." -msgstr "Valider les fichiers XML AppStream." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "warning"-type hints +#: tools/ascli-actions-validate.c:235 +#, c-format +msgid "warnings: %lu" +msgstr "alertes : %lu" -#: tools/appstream-cli.c:857 -msgid "Validate an installed file-tree of an application for valid metadata." -msgstr "" -"Valider les métadonnées d'une arborescence de fichiers installée d'une " -"application." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "info"-type hints +#: tools/ascli-actions-validate.c:242 +#, c-format +msgid "infos: %lu" +msgstr "informations : %lu" -#: tools/ascli-actions-validate.c:301 tools/ascli-actions-validate.c:442 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "pedantic"-type hints +#: tools/ascli-actions-validate.c:249 #, c-format -msgid "Validation failed: %s" -msgstr "Validation échouée : %s" +msgid "pedantic: %lu" +msgstr "minutieux : %lu" + +#: tools/ascli-actions-validate.c:268 tools/ascli-actions-validate.c:342 +msgid "You need to specify at least one file to validate!" +msgstr "Vous devez spécifier au moins un fichier à valider !" -#: tools/ascli-actions-validate.c:289 tools/ascli-actions-validate.c:430 +#: tools/ascli-actions-validate.c:294 tools/ascli-actions-validate.c:435 msgid "Validation was successful." msgstr "La validation a réussi." -#: tools/ascli-actions-validate.c:291 tools/ascli-actions-validate.c:432 +#: tools/ascli-actions-validate.c:296 tools/ascli-actions-validate.c:437 #, c-format msgid "Validation was successful: %s" -msgstr "La validation a réussi : %s" - -#: tools/appstream-cli.c:851 -msgid "Value of the item that should be found." -msgstr "Valeur de l'élément devant être trouvé." - -#: src/as-category.c:177 -msgctxt "Category of Graphics" -msgid "Vector Graphics" -msgstr "Graphismes vectoriel" +msgstr "La validation a réussi : %s" -#: tools/ascli-actions-misc.c:48 +#: tools/ascli-actions-validate.c:306 tools/ascli-actions-validate.c:447 #, c-format -msgid "Version: %s" -msgstr "Version : %s" - -#: src/as-category.c:180 -msgctxt "Category of Graphics" -msgid "Viewers" -msgstr "Visionneuses" +msgid "Validation failed: %s" +msgstr "Validation échouée : %s" -#: tools/ascli-actions-misc.c:153 +#: tools/ascli-actions-validate.c:368 tools/ascli-actions-validate.c:497 #, c-format -msgid "We have information on %i software components." -msgstr "Il y a des informations sur %i composants logiciels." - -#: src/as-category.c:270 -msgctxt "Category of Communication" -msgid "Web Browsers" -msgstr "Navigateurs web" - -#: src/as-category.c:202 -msgctxt "Category of Office" -msgid "Word Processor" -msgstr "Traitement de texte" - -#: tools/appstream-cli.c:871 -msgid "Write NEWS text or YAML file with information from a metainfo file." -msgstr "" - -#: tools/appstream-cli.c:874 msgid "" -"You can find information about subcommand-specific options by passing \"--" -"help\" to the subcommand." +"The validator can not create reports in the '%s' format. You may select " +"'yaml' or 'text' instead." msgstr "" -"Vous pouvez trouver des informations concernant les options spécifiques à " -"une sous-commande en passant « --help » à la sous-commande." +"Le validateur ne peut créer de rapports dans le format « %s ». Vous pouvez " +"sélectionner « yaml » ou « text » à la place." -#. TRANSLATORS: In ascli: The requested action needs higher permissions. -#: tools/ascli-actions-mdata.c:70 -msgid "You might need superuser permissions to perform this action." +#: tools/ascli-actions-validate.c:390 tools/ascli-actions-validate.c:484 +msgid "You need to specify a root directory to start validation!" msgstr "" -"Vous avez probablement besoin des permissions du super-utilisateur pour " -"réaliser cette action." +"Vous devez spécifier un répertoire racine pour commencer la validation !" -#: tools/ascli-actions-mdata.c:447 -msgid "" -"You need to give an AppStream software component type to generate a " -"template. Possible values are:" -msgstr "" -"Vous devez préciser un type de composant logiciel AppStream pour générer un " -"modèle. Les valeurs possibles sont :" +#: tools/ascli-utils.c:266 +msgid "Identifier" +msgstr "Identificateur" -#: tools/appstream-cli.c:579 -msgid "" -"You need to provide at least two version numbers to compare as parameters." -msgstr "" -"Vous devez fournir en paramètre au moins deux numéros de version à comparer." +#: tools/ascli-utils.c:268 +msgid "Internal ID" +msgstr "Identifiant interne" -#: tools/ascli-actions-misc.c:393 -#, fuzzy -msgid "You need to specify a NEWS file as input." -msgstr "Vous devez spécifier un fichier de métadonnées." +#: tools/ascli-utils.c:269 +msgid "Name" +msgstr "Nom" -#: tools/ascli-actions-misc.c:509 -#, fuzzy -msgid "You need to specify a NEWS file as output, or '-' to print to stdout." -msgstr "Vous devez spécifier un fichier de métadonnées." +#: tools/ascli-utils.c:270 +msgid "Summary" +msgstr "Résumé" -#: tools/ascli-actions-misc.c:540 -#, fuzzy -msgid "You need to specify a NEWS format to write the output in." -msgstr "Vous devez spécifier un fichier d'entrée et de sortie." +#: tools/ascli-utils.c:271 +msgid "Package" +msgstr "Paquet" -#. TRANSLATORS: ascli has been run without command. -#: tools/appstream-cli.c:925 -msgid "You need to specify a command." -msgstr "Vous devez spécifier une commande." +#: tools/ascli-utils.c:272 +msgid "Bundle" +msgstr "Groupe" -#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments -#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. -#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:254 -#: tools/ascli-actions-pkgmgr.c:80 -msgid "You need to specify a component-ID." -msgstr "Vous devez spécifier l'ID du composant." +#: tools/ascli-utils.c:273 +msgid "Homepage" +msgstr "Page d’accueil" -#: tools/ascli-actions-misc.c:188 -#, fuzzy -msgid "" -"You need to specify a desktop-entry file to create or augment as output." -msgstr "Vous devez spécifier le fichier à valider !" +#: tools/ascli-utils.c:274 +msgid "Icon" +msgstr "Icône" -#: tools/ascli-actions-mdata.c:309 -msgid "You need to specify a metadata file." -msgstr "Vous devez spécifier un fichier de métadonnées." +#. developer name +#: tools/ascli-utils.c:294 +msgid "Developer" +msgstr "Développeur" -#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 -#, fuzzy -msgid "You need to specify a metainfo file as input." -msgstr "Vous devez spécifier un fichier de métadonnées." +#: tools/ascli-utils.c:300 +msgid "Extends" +msgstr "Étend" -#: tools/ascli-actions-misc.c:397 -#, fuzzy -msgid "" -"You need to specify a metainfo file to augment, or '-' to print to stdout." -msgstr "Vous devez spécifier un fichier de métadonnées." +#: tools/ascli-utils.c:306 +msgid "Description" +msgstr "Description" -#: tools/ascli-actions-validate.c:385 tools/ascli-actions-validate.c:479 -msgid "You need to specify a root directory to start validation!" -msgstr "" -"Vous devez spécifier un répertoire racine pour commencer la validation !" +#: tools/ascli-utils.c:326 +msgid "Default Screenshot URL" +msgstr "URL de la capture d’écran par défaut" -#: tools/ascli-actions-mdata.c:164 -msgid "You need to specify a term to search for." -msgstr "Vous devez spécifier un terme à rechercher." +#. project group +#: tools/ascli-utils.c:333 +msgid "Project Group" +msgstr "Groupe de projet" -#: tools/ascli-actions-mdata.c:357 -msgid "You need to specify an input and output file." -msgstr "Vous devez spécifier un fichier d'entrée et de sortie." +#. license +#: tools/ascli-utils.c:336 +msgid "License" +msgstr "Licence" -#: tools/ascli-actions-validate.c:263 tools/ascli-actions-validate.c:337 -#, fuzzy -msgid "You need to specify at least one file to validate!" -msgstr "Vous devez spécifier le fichier à valider !" +#: tools/ascli-utils.c:342 +msgid "Categories" +msgstr "Catégories" -#. TRANSLATORS: List of "grey-listed" words sperated with ";" -#. * Do not translate this list directly. Instead, -#. * provide a list of words in your language that people are likely -#. * to include in a search but that should normally be ignored in -#. * the search. -#. -#: src/as-pool.c:107 -msgid "app;application;package;program;programme;suite;tool" -msgstr "app;application;logiciel;paquet;programme;suite;outil;software" +#: tools/ascli-utils.c:350 +msgid "Compulsory for" +msgstr "Obligatoire pour" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:223 -#, c-format -msgid "errors: %lu" -msgstr "erreurs : %lu" +#: tools/ascli-utils.c:378 +msgid "Provided Items" +msgstr "Éléments fournis" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:237 -#, c-format -msgid "infos: %lu" -msgstr "informations : %lu" +#, fuzzy, c-format +#~ msgid "Unable to open new cache file: %s" +#~ msgstr "Impossible de lire le fichier bureau : %s" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:244 -#, c-format -msgid "pedantic: %lu" -msgstr "tatillon : %lu" +#~ msgid "" +#~ "AppStream is a cross-distribution specification to provide metadata about " +#~ "software components." +#~ msgstr "" +#~ "AppStream est une spécification multidistribution des métadonnées des " +#~ "composants logiciels." -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:230 #, c-format -msgid "warnings: %lu" -msgstr "alertes : %lu" - -#~ msgid "Command '%s' is unknown." -#~ msgstr "La commande « %s » est inconnue." - -#~ msgid "Do not use any caches when performing the request." -#~ msgstr "Ne pas utiliser de cache lors de l'exécution de la requête." - -#~ msgid "AppStream cache update failed." -#~ msgstr "La mise à jour du cache AppStream a échoué." +#~ msgid "Unable to write to '%s', can not install metainfo file." +#~ msgstr "" +#~ "Impossible d’écrire dans « %s », le fichier métainfo ne peut être " +#~ "installé." +#, c-format #~ msgid "" -#~ "AppStream data pool was loaded, but some metadata was ignored due to " -#~ "errors." +#~ "Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " +#~ "suffix." #~ msgstr "" -#~ "Le pool de données AppStream a été chargé, mais certaines métadonnées ont " -#~ "été ignorées en raison d'erreurs." - -#~ msgid "Can not search for unknown component type." -#~ msgstr "Impossible de rechercher un type de composant inconnu." +#~ "Impossible de copier « %s » : le fichier n’a pas le suffixe « .metainfo." +#~ "xml » ou « .appdata.xml »." -#, fuzzy -#~ msgid "Category of Games" -#~ msgstr "Catégories" +#~ msgid "An item type (e.g. lib, bin, python3, …)" +#~ msgstr "Un type d’élément (p. ex. : lib, bin, python3…)" -#, fuzzy -#~ msgid "Category of Office" -#~ msgstr "Catégories" +#~ msgid "Get components which provide the given item." +#~ msgstr "Obtenir les composants qui fournissent l’item indiqué." -#, fuzzy -#~ msgid "Category of Science" -#~ msgstr "Catégories" - -#~ msgid "Extensions" -#~ msgstr "Extensions" +#, c-format +#~ msgid "Unknown command '%s'." +#~ msgstr "Commande « %s » inconnue." -#~ msgid "File %s not found or permission denied!" -#~ msgstr "Fichier %s introuvable ou permission refusée !" +#~ msgid "Value of the item that should be found." +#~ msgstr "Valeur de l’item qui devrait être trouvé." diff -Nru appstream-0.12.10/po/gd.po appstream-0.14.5/po/gd.po --- appstream-0.12.10/po/gd.po 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/po/gd.po 2021-08-28 20:15:28.000000000 +0000 @@ -1,13 +1,13 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Matthias Klumpp # This file is distributed under the same license as the appstream package. -# GunChleoc , 2017. +# GunChleoc , 2017, 2020, 2021. msgid "" msgstr "" "Project-Id-Version: appstream\n" "Report-Msgid-Bugs-To: appstream@lists.freedesktop.org\n" -"POT-Creation-Date: 2020-01-14 01:44+0100\n" -"PO-Revision-Date: 2019-03-06 11:06+0000\n" +"POT-Creation-Date: 2021-08-28 16:09+0200\n" +"PO-Revision-Date: 2021-08-18 18:32+0000\n" "Last-Translator: GunChleoc \n" "Language-Team: Gaelic \n" @@ -17,1636 +17,2612 @@ "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : " "(n > 2 && n < 20) ? 2 : 3;\n" -"X-Generator: Weblate 3.5.1-dev\n" - -#: tools/appstream-cli.c:157 -#, c-format -msgid "'%s' command" -msgstr "Àithne “%s”" - -#: src/as-category.c:168 -msgctxt "Category of Graphics" -msgid "3D Graphics" -msgstr "Grafaigeachd 3D" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:254 -msgid "" -"A 'requires' or 'recommends' item requires a value to denote a valid " -"relation." -msgstr "" - -#: src/as-validator-issue-tag.h:51 -msgid "" -"A tag must not be localized in metainfo files (upstream " -"metadata). Localize the individual paragraphs instead." -msgstr "" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:195 -msgid "" -"A screenshot must contain at least one image or video in order to be useful. " -"Please add an to it." -msgstr "" - -#: src/as-validator-issue-tag.h:200 -msgid "" -"A screenshot must contain either images or videos, but not both at the same " -"time. Please use this screenshot exclusively for either static images or for " -"videos." -msgstr "" - -#: src/as-category.c:123 -msgctxt "Category of Games" -msgid "Action" -msgstr "Gnìomhan" - -#. TRANSLATORS: this is the main category for Add-ons -#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor -#: src/as-category.c:320 tools/ascli-utils.c:398 -msgid "Add-ons" -msgstr "Tuilleadain" - -#: src/as-category.c:126 -msgctxt "Category of Games" -msgid "Adventure" -msgstr "Dàna-thuras" - -#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) -#: tools/appstream-cli.c:116 -msgid "Also show pedantic hints." -msgstr "Seall oidheaman beadaganach cuideachd." - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:497 -msgid "" -"An 'extends' tag is specified, but the component is not of type 'addon', " -"'localization' or 'repository'." -msgstr "" - -#: tools/appstream-cli.c:850 -msgid "An item type (e.g. lib, bin, python3, …)" -msgstr "An seòrsa an nì (can lib, bin, python3, …)" - -#: data/org.freedesktop.appstream.cli.metainfo.xml:9 -msgid "An utility to work with AppStream metadata" -msgstr "Goireas gus obair le meata-dàta AppStream" +"X-Generator: Weblate 4.8-dev\n" #: data/org.freedesktop.appstream.cli.metainfo.xml:8 msgid "AppStream CLI" msgstr "Eadar-aghaidh loidhne-àithne AppStream" -#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. -#: tools/appstream-cli.c:947 -#, c-format -msgid "" -"AppStream CLI tool version: %s\n" -"AppStream library version: %s" -msgstr "" -"Tionndadh dhen inneal eadar-aghaidh loidhne-àithne AppStream: %s\n" -"Tionndadh dhen leabhar-lann AppStream: %s" - -#. TRANSLATORS: In the status report of ascli: Header -#: tools/ascli-actions-misc.c:47 -msgid "AppStream Status:" -msgstr "Staid AppStream:" - -#. we performed a cache refresh -#. TRANSLATORS: Updating the metadata cache succeeded -#: tools/ascli-actions-mdata.c:80 -msgid "AppStream cache update completed successfully." -msgstr "Chaidh an tasgadan aig AppStream ùrachadh." - -#. cache wasn't updated, so the update wasn't necessary -#: tools/ascli-actions-mdata.c:86 -msgid "AppStream cache update is not necessary." -msgstr "Chan eil feum air ùrachadh an tasgadain aig AppStream." - -#. TRANSLATORS: This is the header to the --help menu for subcommands -#. TRANSLATORS: This is the header to the --help menu -#: tools/appstream-cli.c:154 tools/appstream-cli.c:843 -msgid "AppStream command-line interface" -msgstr "Eadar-aghaidh loidhne-àithne AppStream" +#: data/org.freedesktop.appstream.cli.metainfo.xml:9 +msgid "An utility to work with AppStream metadata" +msgstr "Goireas gus obair le meata-dàta AppStream" -#: src/as-validator-issue-tag.h:63 +#: data/org.freedesktop.appstream.cli.metainfo.xml:12 msgid "" -"AppStream descriptions support only a limited set of tags to format text: " -"Paragraphs (

                                                                                                                                                        ) and lists (

                                                                                                                                                          ,
                                                                                                                                                            ). This description markup contains " -"an invalid XML tag that would not be rendered correctly in applications " -"supporting the metainfo specification." +"AppStream is a metadata specification which permits software components to " +"provide information about themselves to automated systems and end-users " +"before the software is actually installed. The AppStream project provides " +"facilities to easily access and transform this metadata, as well as a few " +"additional services for building feature-rich software centers and similar " +"applications that make use of software metadata." msgstr "" -#: data/org.freedesktop.appstream.cli.metainfo.xml:12 +#: data/org.freedesktop.appstream.cli.metainfo.xml:18 #, fuzzy msgid "" -"AppStream is a cross-distribution specification to provide metadata about " -"software components." +"The appstreamcli command-line tool allows to read, write, and " +"transform AppStream XML or YAML metadata as well as to validate it for " +"compliance with the specification. It also provides easy access to the " +"system metadata pool, for example to query for software that provides a " +"specific Mediatype handler or for installing software by its component " +"identifier." msgstr "" -"’S e sònrachadh thar-sgaoilidh a th’ ann an AppStream gus meata-dàta mu cho-" -"phàirtean bathair-bhog a sholar." +"Leigidh an t-inneal seo leat meata-dàta XML no YAML AppStream a leughadh, a " +"sgrìobhadh, a dhearbhadh agus cruth-atharrachadh. Leigidh e leat cuideachd " +"amar meata-dàta an t-siostaim inntrigeadh, can airson ceasnachadh air bathar-" +"bog a bheir seòrsa MIME sònraichte dhut agus airson a stàladh a-rèir an " +"aithnichear co-phàirt bathair-bhog aige." -#: src/as-pool.c:1937 -#, fuzzy, c-format -msgid "" -"AppStream system cache refresh failed. Turn on verbose mode to get detailed " -"issue information." -msgstr "" -"Cha deach leinn an tasgadan aig AppStream ùrachadh. Cuir air am modh " -"briathrach gus barrachd fiosrachadh fhaighinn mun duilgheadas." +#: src/as-category.c:66 +msgctxt "Category of AudioVideo" +msgid "Featured" +msgstr "Brosnaichte" -#. TRANSLATORS: Output if appstreamcli --version is executed. -#: tools/appstream-cli.c:944 -#, c-format -msgid "AppStream version: %s" -msgstr "Tionndadh dhe dh’AppStream: %s" +#: src/as-category.c:69 +msgctxt "Category of AudioVideo" +msgid "Audio Creation & Editing" +msgstr "Clàradh ⁊ deasachadh fuaime" -#: src/as-category.c:129 -msgctxt "Category of Games" -msgid "Arcade" -msgstr "Faoin-chleas" +#: src/as-category.c:75 +msgctxt "Category of AudioVideo" +msgid "Music Players" +msgstr "Cluicheadairean ciùil" -#: src/as-category.c:234 -msgctxt "Category of Science" -msgid "Artificial Intelligence" -msgstr "Inntinn fuadain" +#: src/as-category.c:84 +msgctxt "Category of Development" +msgid "Featured" +msgstr "Brosnaichte" -#: src/as-validator-issue-tag.h:91 -msgid "" -"As per AppStream specification, the mentioned tag must only appear once in " -"this context. Having multiple tags of this kind is not valid." -msgstr "" +#: src/as-category.c:87 +msgctxt "Category of Development" +msgid "Debuggers" +msgstr "Dì-bhugadairean" -#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command -#: tools/appstream-cli.c:766 -msgid "Assume the input file is in the selected format ('yaml' or 'text')." -msgstr "" +#: src/as-category.c:90 +msgctxt "Category of Development" +msgid "IDEs" +msgstr "Àrainneachdan leasachaidh co-fhillte" -#: src/as-category.c:101 +#: src/as-category.c:99 msgctxt "Category of Education" -msgid "Astronomy" -msgstr "Reul-eòlas" +msgid "Featured" +msgstr "Brosnaichte" -#: src/as-category.c:237 -msgctxt "Category of Science" +#: src/as-category.c:102 +msgctxt "Category of Education" msgid "Astronomy" msgstr "Reul-eòlas" -#. TRANSLATORS: this is the menu spec main category for Audio & Video -#: src/as-category.c:302 -msgid "Audio & Video" -msgstr "Fuaim ⁊ video" +#: src/as-category.c:105 +msgctxt "Category of Education" +msgid "Chemistry" +msgstr "Ceimigeachd" -#: src/as-category.c:68 -msgctxt "Category of AudioVideo" -msgid "Audio Creation & Editing" -msgstr "Clàradh ⁊ deasachadh fuaime" +#: src/as-category.c:108 +msgctxt "Category of Education" +msgid "Languages" +msgstr "Cànain" -#: tools/ascli-actions-misc.c:219 -#, c-format -msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." -msgstr "" +#: src/as-category.c:112 +msgctxt "Category of Education" +msgid "Math" +msgstr "Matamataig" -#: src/as-provided.c:146 -msgid "Binaries" -msgstr "Faidhlichean bìnearaidh" +#: src/as-category.c:121 +msgctxt "Category of Games" +msgid "Featured" +msgstr "Brosnaichte" + +#: src/as-category.c:124 +msgctxt "Category of Games" +msgid "Action" +msgstr "Gnìomhan" + +#: src/as-category.c:127 +msgctxt "Category of Games" +msgid "Adventure" +msgstr "Dàna-thuras" + +#: src/as-category.c:130 +msgctxt "Category of Games" +msgid "Arcade" +msgstr "Faoin-chleas" -#: src/as-category.c:132 +#: src/as-category.c:133 msgctxt "Category of Games" msgid "Blocks" msgstr "Blocaichean" -#: src/as-category.c:135 +#: src/as-category.c:136 msgctxt "Category of Games" msgid "Board" msgstr "Bòrd" -#: tools/ascli-utils.c:299 -msgid "Bundle" -msgstr "Trusgan" - -#: src/as-pool.c:1828 -#, c-format -msgid "Cache location '%s' is not writable." -msgstr "Cha ghabh sgrìobhadh ann an ionad “%s” an tasgadain." - -#: src/as-category.c:191 -msgctxt "Category of Office" -msgid "Calendar" -msgstr "Mìosachan" - -#: tools/ascli-actions-mdata.c:327 -#, c-format -msgid "" -"Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " -"suffix." -msgstr "" -"Cha b’ urrainn dhuinn lethbhreac dhe “%s” a dhèanamh: Chan eil iar-" -"leasachan “.metainfo.xml” no “.appdata.xml” aig an fhaidhle." - -#: src/as-category.c:138 +#: src/as-category.c:139 msgctxt "Category of Games" msgid "Card" msgstr "Cairt" -#: tools/ascli-utils.c:369 -msgid "Categories" -msgstr "Roinnean-seòrsa" +#: src/as-category.c:142 +msgctxt "Category of Games" +msgid "Emulators" +msgstr "Aithrisichean" -#: src/as-category.c:259 -msgctxt "Category of Communication" -msgid "Chat" -msgstr "Cabadaich" +#: src/as-category.c:145 +msgctxt "Category of Games" +msgid "Kids" +msgstr "Clann" -#: src/as-category.c:104 -msgctxt "Category of Education" -msgid "Chemistry" -msgstr "Ceimigeachd" +#: src/as-category.c:148 +msgctxt "Category of Games" +msgid "Logic" +msgstr "Loidig" -#: src/as-category.c:240 -msgctxt "Category of Science" -msgid "Chemistry" -msgstr "Ceimigeachd" +#: src/as-category.c:151 +msgctxt "Category of Games" +msgid "Role Playing" +msgstr "Cluich mas-fhìor" -#: src/as-category.c:214 -msgctxt "Category of Addons" -msgid "Codecs" -msgstr "Codecs" +#: src/as-category.c:154 +msgctxt "Category of Games" +msgid "Sports" +msgstr "Spòrs" -#. TRANSLATORS: this is the menu spec main category for Communication -#: src/as-category.c:326 -msgid "Communication & News" -msgstr "Conaltradh ⁊ naidheachdan" +#: src/as-category.c:158 +msgctxt "Category of Games" +msgid "Strategy" +msgstr "Ro-innleachd" -#: tools/appstream-cli.c:866 -msgid "Compare two version numbers." -msgstr "Dèan coimeas eadar dà àireamh tionndaidh." +#: src/as-category.c:166 +msgctxt "Category of Graphics" +msgid "Featured" +msgstr "Brosnaichte" -#: src/as-provided.c:166 -msgid "Component" -msgstr "Co-phàirt" +#: src/as-category.c:169 +msgctxt "Category of Graphics" +msgid "3D Graphics" +msgstr "Grafaigeachd 3D" -#. TRANSLATORS: We found no distribution package or bundle to install to make this software available -#: tools/ascli-actions-pkgmgr.c:106 -#, c-format -msgid "Component '%s' has no installation candidate." -msgstr "Chan eil tagraiche stàlaidh aig a’ cho-phàirt “%s”." +#: src/as-category.c:172 +msgctxt "Category of Graphics" +msgid "Photography" +msgstr "Togail dhealbhan" -#: tools/ascli-utils.c:377 -msgid "Compulsory for" -msgstr "Riatanach airson" +#: src/as-category.c:175 +msgctxt "Category of Graphics" +msgid "Scanning" +msgstr "Sganadh" -#: src/as-validator-issue-tag.h:361 -msgid "Consider using a secure (HTTPS) URL for the remote icon link." +#: src/as-category.c:178 +msgctxt "Category of Graphics" +msgid "Vector Graphics" +msgstr "Grafaigeachd vectoran" + +#: src/as-category.c:181 +msgctxt "Category of Graphics" +msgid "Viewers" +msgstr "Sealladairean" + +#: src/as-category.c:189 +msgctxt "Category of Office" +msgid "Featured" +msgstr "Brosnaichte" + +#: src/as-category.c:192 +msgctxt "Category of Office" +msgid "Calendar" +msgstr "Mìosachan" + +#: src/as-category.c:196 +msgctxt "Category of Office" +msgid "Database" +msgstr "Stòr-dàta" + +#: src/as-category.c:199 +msgctxt "Category of Office" +msgid "Finance" +msgstr "Ionmhas" + +#: src/as-category.c:203 +msgctxt "Category of Office" +msgid "Word Processor" +msgstr "Pròiseasadh fhaclan" + +#: src/as-category.c:212 +msgctxt "Category of Addons" +msgid "Fonts" +msgstr "Cruthan-clò" + +#: src/as-category.c:215 +msgctxt "Category of Addons" +msgid "Codecs" +msgstr "Codecs" + +#: src/as-category.c:218 +msgctxt "Category of Addons" +msgid "Input Sources" +msgstr "Tùsan ion-chuir" + +#: src/as-category.c:221 +msgctxt "Category of Addons" +msgid "Language Packs" +msgstr "Pacaidean cànain" + +#: src/as-category.c:224 +msgctxt "Category of Addons" +msgid "Localization" +msgstr "Ionadaileadh" + +#: src/as-category.c:232 +msgctxt "Category of Science" +msgid "Featured" +msgstr "Brosnaichte" + +#: src/as-category.c:235 +msgctxt "Category of Science" +msgid "Artificial Intelligence" +msgstr "Inntinn fuadain" + +#: src/as-category.c:238 +msgctxt "Category of Science" +msgid "Astronomy" +msgstr "Reul-eòlas" + +#: src/as-category.c:241 +msgctxt "Category of Science" +msgid "Chemistry" +msgstr "Ceimigeachd" + +#: src/as-category.c:244 +msgctxt "Category of Science" +msgid "Math" +msgstr "Matamataig" + +#: src/as-category.c:249 +msgctxt "Category of Science" +msgid "Robotics" +msgstr "Robotaireachd" + +#: src/as-category.c:257 +msgctxt "Category of Communication" +msgid "Featured" +msgstr "Brosnaichte" + +#: src/as-category.c:260 +msgctxt "Category of Communication" +msgid "Chat" +msgstr "Cabadaich" + +#: src/as-category.c:267 +msgctxt "Category of Communication" +msgid "News" +msgstr "Naidheachdan" + +#: src/as-category.c:271 +msgctxt "Category of Communication" +msgid "Web Browsers" +msgstr "Brabhsairean-lìn" + +#: src/as-category.c:279 +msgctxt "Category of Utility" +msgid "Featured" +msgstr "Brosnaichte" + +#: src/as-category.c:282 +msgctxt "Category of Utility" +msgid "Text Editors" +msgstr "Deasaichean teacsa" + +#: src/as-category.c:285 +msgctxt "Category of Utility" +msgid "Terminal Emulators" +msgstr "Aithrisichean tèirmineil" + +#: src/as-category.c:288 +msgctxt "Category of Utility" +msgid "File System" +msgstr "Siostam fhaidhlichean" + +#: src/as-category.c:291 +msgctxt "Category of Utility" +msgid "System Monitoring" +msgstr "Monatairean an t-siostaim" + +#: src/as-category.c:294 +msgctxt "Category of Utility" +msgid "Security" +msgstr "Tèarainteachd" + +#. TRANSLATORS: this is the menu spec main category for Audio & Video +#: src/as-category.c:303 +msgid "Audio & Video" +msgstr "Fuaim ⁊ video" + +#. TRANSLATORS: this is the menu spec main category for Development +#: src/as-category.c:306 +msgid "Developer Tools" +msgstr "Innealan luchd-leasachaidh" + +#. TRANSLATORS: this is the menu spec main category for Education +#: src/as-category.c:309 +msgid "Education" +msgstr "Foghlam" + +#. TRANSLATORS: this is the menu spec main category for Game +#: src/as-category.c:312 +msgid "Games" +msgstr "Geamannan" + +#. TRANSLATORS: this is the menu spec main category for Graphics +#: src/as-category.c:315 +msgid "Graphics & Photography" +msgstr "Grafaigeachd ⁊ togail dhealbhan" + +#. TRANSLATORS: this is the menu spec main category for Office +#: src/as-category.c:318 +msgid "Office" +msgstr "Oifis" + +#. TRANSLATORS: this is the main category for Add-ons +#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor +#: src/as-category.c:321 tools/ascli-utils.c:371 +msgid "Add-ons" +msgstr "Tuilleadain" + +#. TRANSLATORS: this is the menu spec main category for Science +#: src/as-category.c:324 +msgid "Science" +msgstr "Saidheans" + +#. TRANSLATORS: this is the menu spec main category for Communication +#: src/as-category.c:327 +msgid "Communication & News" +msgstr "Conaltradh ⁊ naidheachdan" + +#. TRANSLATORS: this is the menu spec main category for Utilities +#: src/as-category.c:330 +msgid "Utilities" +msgstr "Goireasan" + +#. TRANSLATORS: This is the formatting of English and localized name +#. * of the rating e.g. "Adults Only (solo adultos)" +#: src/as-content-rating.c:298 +#, c-format +msgid "%s (%s)" +msgstr "" + +#: src/as-content-rating.c:444 +msgid "General" +msgstr "" + +#: src/as-content-rating.c:453 +msgid "ALL" +msgstr "" + +#: src/as-content-rating.c:457 src/as-content-rating.c:560 +msgid "Adults Only" +msgstr "" + +#: src/as-content-rating.c:459 src/as-content-rating.c:559 +#, fuzzy +msgid "Mature" +msgstr "Brosnaichte" + +#: src/as-content-rating.c:461 src/as-content-rating.c:558 +msgid "Teen" +msgstr "" + +#: src/as-content-rating.c:463 src/as-content-rating.c:557 +msgid "Everyone 10+" +msgstr "" + +#: src/as-content-rating.c:465 src/as-content-rating.c:556 +msgid "Everyone" +msgstr "" + +#: src/as-content-rating.c:467 src/as-content-rating.c:555 +msgid "Early Childhood" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:839 +msgid "No cartoon violence" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:841 +msgid "Cartoon characters in unsafe situations" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:843 +msgid "Cartoon characters in aggressive conflict" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:845 +msgid "Graphic violence involving cartoon characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:850 +msgid "No fantasy violence" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:852 +msgid "Characters in unsafe situations easily distinguishable from reality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:854 +msgid "Characters in aggressive conflict easily distinguishable from reality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:856 +msgid "Graphic violence easily distinguishable from reality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:861 +msgid "No realistic violence" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:863 +msgid "Mildly realistic characters in unsafe situations" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:865 +msgid "Depictions of realistic characters in aggressive conflict" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:867 +msgid "Graphic violence involving realistic characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:872 +msgid "No bloodshed" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:874 +msgid "Unrealistic bloodshed" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:876 +msgid "Realistic bloodshed" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:878 +msgid "Depictions of bloodshed and the mutilation of body parts" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:883 +msgid "No sexual violence" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:885 +msgid "Rape or other violent sexual behavior" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:892 +msgid "No references to alcohol" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:894 +msgid "References to alcoholic beverages" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:896 +msgid "Use of alcoholic beverages" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:902 +msgid "No references to illicit drugs" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:904 +msgid "References to illicit drugs" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:906 +msgid "Use of illicit drugs" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:912 +msgid "No references to tobacco products" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:914 +msgid "References to tobacco products" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:916 +msgid "Use of tobacco products" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:922 +msgid "No nudity of any sort" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:924 +msgid "Brief artistic nudity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:926 +msgid "Prolonged nudity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:932 +msgid "No references to or depictions of sexual nature" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:934 +msgid "Provocative references or depictions" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:936 +msgid "Sexual references or depictions" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:938 +msgid "Graphic sexual behavior" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:943 +msgid "No profanity of any kind" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:945 +msgid "Mild or infrequent use of profanity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:947 +msgid "Moderate use of profanity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:949 +msgid "Strong or frequent use of profanity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:954 +msgid "No inappropriate humor" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:956 +msgid "Slapstick humor" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:958 +msgid "Vulgar or bathroom humor" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:960 +msgid "Mature or sexual humor" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:965 +msgid "No discriminatory language of any kind" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:967 +msgid "Negativity towards a specific group of people" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:969 +msgid "Discrimination designed to cause emotional harm" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:971 +msgid "Explicit discrimination based on gender, sexuality, race or religion" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:976 +msgid "No advertising of any kind" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:978 +msgid "Product placement" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:980 +msgid "Explicit references to specific brands or trademarked products" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:982 +msgid "Users are encouraged to purchase specific real-world items" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:987 +msgid "No gambling of any kind" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:989 +msgid "Gambling on random events using tokens or credits" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:991 +msgid "Gambling using “play” money" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:993 +msgid "Gambling using real money" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:998 +msgid "No ability to spend money" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1000 +msgid "Users are encouraged to donate real money" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1003 +msgid "Ability to spend real money in-app" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1008 +msgid "No way to chat with other users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1010 +msgid "User-to-user interactions without chat functionality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1012 +msgid "Moderated chat functionality between users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1014 +msgid "Uncontrolled chat functionality between users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1019 +msgid "No way to talk with other users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1021 +msgid "Uncontrolled audio or video chat functionality between users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1028 +msgid "No sharing of social network usernames or email addresses" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1030 +msgid "Sharing social network usernames or email addresses" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1037 +msgid "No sharing of user information with third parties" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1039 +msgid "Checking for the latest application version" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1041 +msgid "Sharing diagnostic data that does not let others identify the user" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1043 +msgid "Sharing information that lets others identify the user" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1048 +msgid "No sharing of physical location with other users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1050 +msgid "Sharing physical location with other users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1073 +msgid "No references to homosexuality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1075 +msgid "Indirect references to homosexuality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1077 +msgid "Kissing between people of the same gender" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1079 +msgid "Graphic sexual behavior between people of the same gender" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1084 +msgid "No references to prostitution" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1086 +msgid "Indirect references to prostitution" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1088 +msgid "Direct references to prostitution" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1090 +msgid "Graphic depictions of the act of prostitution" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1095 +msgid "No references to adultery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1097 +msgid "Indirect references to adultery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1099 +msgid "Direct references to adultery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1101 +msgid "Graphic depictions of the act of adultery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1106 +msgid "No sexualized characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1109 +msgid "Scantily clad human characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1111 +msgid "Overtly sexualized human characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1116 +msgid "No references to desecration" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1118 +msgid "Depictions of or references to historical desecration" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1120 +msgid "Depictions of modern-day human desecration" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1122 +msgid "Graphic depictions of modern-day desecration" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1127 +msgid "No visible dead human remains" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1129 +msgid "Visible dead human remains" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1131 +msgid "Dead human remains that are exposed to the elements" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1133 +msgid "Graphic depictions of desecration of human bodies" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1138 +msgid "No references to slavery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1140 +msgid "Depictions of or references to historical slavery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1142 +msgid "Depictions of modern-day slavery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1144 +msgid "Graphic depictions of modern-day slavery" +msgstr "" + +#. TRANSLATORS: We got a 429 error while trying to download data +#: src/as-curl.c:134 +#, c-format +msgid "Failed to download due to server limit" +msgstr "" + +#: src/as-curl.c:141 src/as-curl.c:148 +#, fuzzy, c-format +msgid "Failed to download file: %s" +msgstr "Cha deach leinn am faidhle .desktop a leughadh: %s" + +#. TRANSLATORS: We tried to download an URL, but received a 404 error code +#: src/as-curl.c:157 +#, c-format +msgid "URL was not found on the server." +msgstr "" + +#. TRANSLATORS: We received an uexpected HTTP status code while talking to a server, likely an error +#: src/as-curl.c:164 +#, c-format +msgid "Unexpected status code: %ld" +msgstr "" + +#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty +#: src/as-curl.c:247 +#, c-format +msgid "Retrieved file size was zero." msgstr "" -#: src/as-validator-issue-tag.h:383 -msgid "Consider using a secure (HTTPS) URL for this web link." +#. TRANSLATORS: List of "grey-listed" words sperated with ";" +#. * Do not translate this list directly. Instead, +#. * provide a list of words in your language that people are likely +#. * to include in a search but that should normally be ignored in +#. * the search. +#. +#: src/as-pool.c:111 +msgid "app;application;package;program;programme;suite;tool" msgstr "" +"app;application;package;program;programme;suite;tool;aplacaid;paca;pacaid;" +"pacadh;pasgan;prògram;inneal" -#: src/as-validator-issue-tag.h:189 -msgid "" -"Consider using a secure (HTTPS) URL to reference this screenshot image or " -"video." +#: src/as-pool.c:620 +msgid "Unable to remove old cache." msgstr "" -#: tools/appstream-cli.c:870 -msgid "Convert a YAML or text NEWS file into metainfo releases." -msgstr "" +#: src/as-pool.c:963 +msgid "Metadata files have errors:" +msgstr "Tha mearachd sna faidhlichean meata-dàta:" -#. TRANSLATORS: "convert" command in ascli. "Collection XML" is a term describing a specific type of AppStream XML data. -#: tools/appstream-cli.c:865 -msgid "Convert collection XML to YAML or vice versa." -msgstr "Iompaich XML cruinneachaidh gu YAML no an caochladh." +#: src/as-pool.c:1370 +msgid "" +"Many components have been recognized as invalid. See debug output for " +"details." +msgstr "" +"Mhothaich sinn do dh’iomadh co-phàirt mhì-dhligheach. Faic às-chur an dì-" +"bhugachaidh airson barrachd fiosrachaidh." -#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results -#: tools/ascli-actions-mdata.c:228 +#: src/as-pool.c:1996 #, c-format -msgid "Could not find component providing '%s::%s'." -msgstr "Cha do lorg sinn co-phàirt a sholaireas “%s::%s”." +msgid "Cache location '%s' is not writable." +msgstr "Cha ghabh sgrìobhadh ann an ionad “%s” an tasgadain." -#: tools/appstream-cli.c:869 -msgid "Create a XDG desktop-entry file from a metainfo file." +#: src/as-pool.c:2109 +#, fuzzy +msgid "" +"The AppStream system cache was updated, but some components were ignored. " +"Refer to the verbose log for more information." msgstr "" +"Chaidh tasgadan an t-siostaim aig AppStream ùrachadh ach mhothaich sinn dha " +"mhearachd no dhà a dh’adhbharaicheas gum bi meata-dàta a dhìth ma " +"dh’fhaoidte. Thoir sùil air an loga bhriathrach airson barrachd fiosrachaidh." -#: tools/appstream-cli.c:868 +#: src/as-pool.c:2111 +#, fuzzy, c-format msgid "" -"Create a template for a metainfo file (to be filled out by the upstream " -"project)." +"The AppStream system cache was updated, but problems were found which " +"resulted in metadata being ignored: %s" msgstr "" -"Cruthaich teamplaid airson faidhle meata-fhiosrachaidh (a thèid lìonadh le " -"pròiseact upstream)." +"Chaidh an tasgadan aig AppStream ùrachadh ach bha duilgheadas no dhà ann " +"leis: %s" -#: tools/ascli-actions-misc.c:228 -#, c-format -msgid "Creating new desktop-entry file '%s' using data from '%s'" +#: src/as-pool.c:2125 +#, fuzzy, c-format +msgid "" +"AppStream system cache refresh failed. Turn on verbose mode to get detailed " +"issue information." msgstr "" +"Cha deach leinn an tasgadan aig AppStream ùrachadh. Cuir air am modh " +"briathrach gus barrachd fiosrachadh fhaighinn mun duilgheadas." -#: src/as-provided.c:160 +#: src/as-provided.c:144 +msgid "Libraries" +msgstr "Leabhar-lannan" + +#: src/as-provided.c:146 +msgid "Binaries" +msgstr "Faidhlichean bìnearaidh" + +#: src/as-provided.c:148 #, fuzzy -msgid "D-Bus Session Services" -msgstr "Seirbheisean seisein DBus" +msgid "Media types" +msgstr "Seòrsachan MIME" + +#: src/as-provided.c:150 +msgid "Fonts" +msgstr "Cruthan-clò" + +#: src/as-provided.c:152 +msgid "Modaliases" +msgstr "Aliasan atharraichean" + +#: src/as-provided.c:154 +msgid "Python (Version 2)" +msgstr "Python (Tionndadh 2)" + +#: src/as-provided.c:156 +msgid "Python 3" +msgstr "Python 3" #: src/as-provided.c:158 #, fuzzy msgid "D-Bus System Services" msgstr "Seirbheisean siostaim DBus" -#: src/as-category.c:195 -msgctxt "Category of Office" -msgid "Database" -msgstr "Stòr-dàta" +#: src/as-provided.c:160 +#, fuzzy +msgid "D-Bus Session Services" +msgstr "Seirbheisean seisein DBus" -#: src/as-category.c:86 -msgctxt "Category of Development" -msgid "Debuggers" -msgstr "Dì-bhugadairean" +#: src/as-provided.c:162 +msgid "Runtime Firmware" +msgstr "Firmware ruith" -#: tools/ascli-utils.c:353 -msgid "Default Screenshot URL" -msgstr "URL a’ ghlacaidh-sgrìn thùsail" +#: src/as-provided.c:164 +msgid "Flashed Firmware" +msgstr "Firmware an sàs" -#. TRANSLATORS: ascli flag description for: --format -#: tools/appstream-cli.c:83 -msgid "Default metadata format (valid values are 'xml' and 'yaml')." +#: src/as-provided.c:166 +msgid "Component" +msgstr "Co-phàirt" + +#: src/as-validator-issue-tag.h:41 +msgid "This tag requires a type property." msgstr "" -"Fòrmat tùsail a’ mheata-dàta (is “xml” ’s “yaml” na luachan dligheach)." -#: tools/ascli-utils.c:333 -msgid "Description" -msgstr "Tuairisgeul" +#: src/as-validator-issue-tag.h:46 +msgid "Tags of this name are not permitted in this section." +msgstr "" -#. developer name -#: tools/ascli-utils.c:321 -msgid "Developer" -msgstr "Luchd-leasachaidh" +#: src/as-validator-issue-tag.h:51 +msgid "" +"A tag must not be localized in metainfo files (upstream " +"metadata). Localize the individual paragraphs instead." +msgstr "" -#. TRANSLATORS: this is the menu spec main category for Development -#: src/as-category.c:305 -msgid "Developer Tools" -msgstr "Innealan luchd-leasachaidh" +#: src/as-validator-issue-tag.h:57 +msgid "" +"This element (paragraph, list, etc.) of a tag must not be " +"localized individually in collection metadata. Localize the whole " +" tag instead. The AppStream collection metadata generator (e." +"g. `appstream-generator`) will already do the right thing when compiling the " +"data." +msgstr "" -#: tools/appstream-cli.c:862 -msgid "Display status information about available AppStream metadata." -msgstr "Seall fiosrachadh staide mun mheata-dàta AppStream a tha ri fhaighinn." +#: src/as-validator-issue-tag.h:63 +msgid "" +"AppStream descriptions support only a limited set of tags to format text: " +"Paragraphs (

                                                                                                                                                            ) and lists (

                                                                                                                                                              ,
                                                                                                                                                                ). This description markup contains " +"an invalid XML tag that would not be rendered correctly in applications " +"supporting the metainfo specification." +msgstr "" -#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions -#: tools/ascli-actions-misc.c:52 -msgid "Distribution metadata:" -msgstr "Meata-dàta an sgaoilidh:" +#: src/as-validator-issue-tag.h:69 +msgid "" +"This description paragraph contains invalid markup. Currently, only " +"and are permitted." +msgstr "" +"Tha markup mì-dhligheach ann am paragraf an tuairisgeil. Chan eil taic ach " +"ri agus aig an à seo." -#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) -#: tools/appstream-cli.c:126 -msgid "Do not use network access." -msgstr "Na cleachd inntrigeadh dhan lìonra." +#: src/as-validator-issue-tag.h:74 +msgid "Enumerations must only have list items (
                                                                                                                                                              1. ) as children." +msgstr "" -#. TRANSLATORS: ascli flag description for: --no-color -#: tools/appstream-cli.c:908 -msgid "Don't show colored output." -msgstr "Na seall às-chur dathte." +#: src/as-validator-issue-tag.h:79 +msgid "" +"The first `description/p` paragraph of this component might be too short (< " +"80 characters). Please consider starting with a longer paragraph to improve " +"how the description looks like in software centers and to provide more " +"detailed information on this component immediately in the first paragraph." +msgstr "" -#: tools/appstream-cli.c:853 -msgid "Dump raw XML metadata for a component matching the ID." +#: src/as-validator-issue-tag.h:86 +msgid "" +"The description contains a web URL in plain text. This is not allowed, " +"please use the tag instead to share links." msgstr "" -"Seall am meata-dàta XML amh airson co-phàirt a fhreagras ris an aithnichear." -#. TRANSLATORS: this is the menu spec main category for Education -#: src/as-category.c:308 -msgid "Education" -msgstr "Foghlam" +#: src/as-validator-issue-tag.h:91 +msgid "" +"As per AppStream specification, the mentioned tag must only appear once in " +"this context. Having multiple tags of this kind is not valid." +msgstr "" -#. TRANSLATORS: No metainfo files have been found -#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 -msgid "Empty." -msgstr "Falamh." +#: src/as-validator-issue-tag.h:96 +msgid "" +"The mentioned tag is empty, which is highly likely not intended as it should " +"have content." +msgstr "" -#: src/as-category.c:141 -msgctxt "Category of Games" -msgid "Emulators" -msgstr "Aithrisichean" +#: src/as-validator-issue-tag.h:101 +msgid "" +"The component ID is required to follow a reverse domain-name scheme for its " +"name. See the AppStream specification for details." +msgstr "" -#. TRANSLATORS: ascli flag description for: --force -#: tools/appstream-cli.c:245 -msgid "Enforce a cache refresh." -msgstr "Sparr ath-nuadhachadh an tasgadain air." +#: src/as-validator-issue-tag.h:106 +msgid "" +"The component ID is not a reverse domain-name. Please update the ID to avoid " +"future issues and be compatible with all AppStream implementations.\n" +"You may also consider to update the name of the accompanying .desktop file " +"to follow the latest version of the Desktop-Entry specification and use a " +"rDNS name for it as well. In any case, do not forget to mention the new " +"desktop-entry in a tag for this component to keep the " +"application launchable from software centers and the .desktop file data " +"associated with the metainfo data." +msgstr "" -#: src/as-validator-issue-tag.h:74 -msgid "Enumerations must only have list items (
                                                                                                                                                              2. ) as children." +#: src/as-validator-issue-tag.h:114 +msgid "" +"The component ID might not follow the reverse domain-name schema (the TLD " +"used by it is not known to the validator)." +msgstr "" + +#: src/as-validator-issue-tag.h:119 +msgid "" +"The component ID contains an invalid character. Only ASCII characters, dots " +"and numbers are permitted." +msgstr "" + +#: src/as-validator-issue-tag.h:124 +msgid "" +"The component ID contains a hyphen/minus. Using a hyphen is strongly " +"discouraged, to improve interoperability with other tools such as D-Bus. A " +"good option is to replace any hyphens with underscores (`_`)." +msgstr "" + +#: src/as-validator-issue-tag.h:130 +msgid "" +"The component ID contains a segment starting with a number. Starting a " +"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " +"interoperability with other tools such as D-Bus. Ideally, prefix these " +"segments with an underscore." +msgstr "" + +#: src/as-validator-issue-tag.h:136 +msgid "The component ID should only contain lowercase letters." +msgstr "" + +#: src/as-validator-issue-tag.h:141 +msgid "" +"The component is part of the Freedesktop project, but its ID does not start " +"with fd.o's reverse-DNS name (\"org.freedesktop\")." +msgstr "" + +#: src/as-validator-issue-tag.h:146 +msgid "" +"The component is part of the KDE project, but its ID does not start with " +"KDEs reverse-DNS name (\"org.kde\")." msgstr "" -#: tools/ascli-actions-misc.c:159 -#, c-format -msgid "Error while loading the metadata pool: %s" -msgstr "Mearachd le luchdadh amar a’ mheata-dàta: %s" - -#: tools/ascli-utils.c:327 -msgid "Extends" -msgstr "Leudaichidh e" +#: src/as-validator-issue-tag.h:151 +msgid "" +"The component is part of the GNOME project, but its ID does not start with " +"GNOMEs reverse-DNS name (\"org.gnome\")." +msgstr "" -#: src/as-category.c:65 -msgctxt "Category of AudioVideo" -msgid "Featured" -msgstr "Brosnaichte" +#: src/as-validator-issue-tag.h:156 +msgid "The SPDX license expression is invalid and could not be parsed." +msgstr "" -#: src/as-category.c:256 -msgctxt "Category of Communication" -msgid "Featured" -msgstr "Brosnaichte" +#: src/as-validator-issue-tag.h:161 +msgid "" +"The license ID was not found in the SPDX database. Please check that the " +"license ID is written in an SPDX-conformant way and is a valid free software " +"license." +msgstr "" +"Cha deach ID a’ cheadachais a lorg ann an stòr-dàta SPDX. Dèan cinnteach gun " +"ceach ID a’ cheadachais a sgrìobhadh air dòigh a ghèilleas ri SPDX agus gur " +"e ceadachas bathair-bhog shaoir dligheach a th’ ann." -#: src/as-category.c:83 -msgctxt "Category of Development" -msgid "Featured" -msgstr "Brosnaichte" +#: src/as-validator-issue-tag.h:167 +msgid "" +"The metadata itself seems to be licensed under a complex collection of " +"licenses. Please license the data under a simple permissive license, like " +"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " +"collections without the risk of license violations due to mutually " +"incompatible licenses." +msgstr "" -#: src/as-category.c:98 -msgctxt "Category of Education" -msgid "Featured" -msgstr "Brosnaichte" +#: src/as-validator-issue-tag.h:173 +msgid "" +"The metadata itself does not seem to be licensed under a permissive license. " +"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " +"0BSD to allow distributors to include it in mixed data collections without " +"the risk of license violations due to mutually incompatible licenses." +msgstr "" -#: src/as-category.c:120 -msgctxt "Category of Games" -msgid "Featured" -msgstr "Brosnaichte" +#: src/as-validator-issue-tag.h:179 +msgid "" +"The update-contact does not appear to be a valid email address (escaping of " +"`@` is only allowed as `_at_` or `_AT_`)." +msgstr "" -#: src/as-category.c:165 -msgctxt "Category of Graphics" -msgid "Featured" -msgstr "Brosnaichte" +#: src/as-validator-issue-tag.h:184 +msgid "" +"Unable to reach the screenshot image on its remote location - does the image " +"exist?" +msgstr "" -#: src/as-category.c:188 -msgctxt "Category of Office" -msgid "Featured" -msgstr "Brosnaichte" +#: src/as-validator-issue-tag.h:189 +msgid "" +"Unable to reach the screenshot video on its remote location - does the video " +"file exist?" +msgstr "" -#: src/as-category.c:231 -msgctxt "Category of Science" -msgid "Featured" -msgstr "Brosnaichte" +#: src/as-validator-issue-tag.h:194 +msgid "" +"Consider using a secure (HTTPS) URL to reference this screenshot image or " +"video." +msgstr "" -#: src/as-category.c:278 -msgctxt "Category of Utility" -msgid "Featured" -msgstr "Brosnaichte" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:200 +msgid "" +"A screenshot must contain at least one image or video in order to be useful. " +"Please add an to it." +msgstr "" -#: tools/ascli-actions-validate.c:171 tools/ascli-actions-validate.c:349 -#, fuzzy, c-format -msgid "File '%s' does not exist." -msgstr "Chan eil am faidhle meata-dàta “%s” ann." +#: src/as-validator-issue-tag.h:205 +msgid "" +"A screenshot must contain either images or videos, but not both at the same " +"time. Please use this screenshot exclusively for either static images or for " +"videos." +msgstr "" -#: src/as-category.c:287 -msgctxt "Category of Utility" -msgid "File System" -msgstr "Siostam fhaidhlichean" +#: src/as-validator-issue-tag.h:211 +msgid "The screenshot does not have a caption text. Consider adding one." +msgstr "" -#: src/as-category.c:198 -msgctxt "Category of Office" -msgid "Finance" -msgstr "Ionmhas" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:217 +msgid "" +"The screenshot video does not specify which video codec was used in a " +"`codec` property." +msgstr "" -#: src/as-provided.c:164 -msgid "Flashed Firmware" -msgstr "Firmware an sàs" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:223 +msgid "" +"The screenshot video does not specify which container format was used in a " +"`container` property." +msgstr "" -#: src/as-provided.c:150 -msgid "Fonts" -msgstr "Cruthan-clò" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:229 +msgid "" +"The selected video codec is not supported by AppStream and software centers " +"may not be able to play the video. Only the AV1 and VP9 codecs are currently " +"supported, using `av1` and `vp9` as values for the `codec` property." +msgstr "" -#: src/as-category.c:211 -msgctxt "Category of Addons" -msgid "Fonts" -msgstr "Cruthan-clò" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:236 +msgid "" +"The selected video container format is not supported by AppStream and " +"software centers may not be able to play the video. Only the WebM and " +"Matroska video containers are currently supported, using `webm` and `mkv` as " +"values for the `container` property." +msgstr "" -#: src/as-validator-issue-tag.h:237 +#: src/as-validator-issue-tag.h:242 msgid "" "For videos, only the WebM and Matroska (.mkv) container formats are " "currently supported. The file extension of the referenced video does not " "belong to either of these formats." msgstr "" -#. TRANSLATORS: ascli flag description for: --format when validating XML files -#: tools/appstream-cli.c:131 -#, fuzzy -msgid "Format of the generated report (valid values are 'text' and 'yaml')." +#: src/as-validator-issue-tag.h:248 +msgid "" +"The default screenshot of a software component must not be a video. Use a " +"static image as default screenshot and set the video as a secondary " +"screenshot." msgstr "" -"Fòrmat tùsail a’ mheata-dàta (is “xml” ’s “yaml” na luachan dligheach)." -#. TRANSLATORS: Found metainfo files in legacy directories -#: tools/ascli-actions-misc.c:138 -#, c-format -msgid "Found %i components in legacy paths." -msgstr "Chaidh %i co-phàirt(ean) a lorg ann an slighean dìleabach." +#: src/as-validator-issue-tag.h:253 +msgid "" +"Found an unknown tag in a requires/recommends group. This is likely an " +"error, because a component relation of this type is unknown." +msgstr "" -#: tools/ascli-actions-misc.c:123 -#, c-format -msgid "Found %i components." -msgstr "Chaidh %i co-phàirt(ean) a lorg." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:259 +msgid "" +"A `requires` or `recommends` item requires a value to denote a valid " +"relation." +msgstr "" -#. TRANSLATORS: 'version' is an AppStream XML property. Please do not translate it. -#: src/as-validator-issue-tag.h:260 +#. TRANSLATORS: `version` is an AppStream XML property. Please do not translate it. +#: src/as-validator-issue-tag.h:265 msgid "" -"Found 'version' property on required/recommended item of a type that should " +"Found `version` property on required/recommended item of a type that should " "not have or require a version." msgstr "" -#. TRANSLATORS: 'version' and 'compare' are AppStream XML properties. Please do not translate them. -#: src/as-validator-issue-tag.h:266 +#. TRANSLATORS: `version` and `compare` are AppStream XML properties. Please do not translate them. +#: src/as-validator-issue-tag.h:271 msgid "" -"Found 'version' property on this required/recommended item, but not " -"'compare' property. It is recommended to explicitly define a comparison " +"Found `version` property on this required/recommended item, but not " +"`compare` property. It is recommended to explicitly define a comparison " "operation." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:277 +#: src/as-validator-issue-tag.h:276 +#, fuzzy +msgid "" +"Invalid comparison operation on relation item. Only eq/ne/lt/gt/le/ge are " +"permitted." +msgstr "" +"Chaidh taga mì-dhligheach a lorg ann am meata-dàta a’ chruinneachaidh. Chan " +"eil ach tagaichean “component” ceadaichte." + +#: src/as-validator-issue-tag.h:281 msgid "" -"Found a memory size dependency in a 'requires' tag. This means users will " -"not be able to even install the component without having enough RAM. This is " -"usually not intended and you want to use 'memory' in the 'recommends' tag " +"The relation item has a comparison operation set, but does not support any " +"comparisons." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:287 +msgid "" +"Found a memory size relation in a `requires` tag. This means users will not " +"be able to even install the component without having enough RAM. This is " +"usually not intended and you want to use `memory` in the `recommends` tag " "instead." msgstr "" -#: src/as-validator-issue-tag.h:248 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:294 msgid "" -"Found an unknown tag in a requires/recommends group. This is likely an " -"error, because a component relation of this type is unknown." +"Found a user input control relation in a `requires` tag. This means users " +"will not be able to even install the component without having the defined " +"input control available on the system. This is usually not intended and you " +"want to use `control` in the `recommends` tag instead." msgstr "" -#: src/as-validator-issue-tag.h:427 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:301 msgid "" -"Found invalid tag. Non-standard tags should be prefixed with 'x-'. AppStream " -"also provides the tag to add arbitrary custom data to metainfo " -"files. This tag is read by AppStream libraries and may be useful instead of " -"defining new custom toplevel or 'x-'-prefixed tags if you just want to add " -"custom data to a metainfo file." +"This `control` item defines an unknown input method and is invalid. Check " +"the specification for a list of permitted values." msgstr "" -#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. -#: src/as-validator.c:526 src/as-validator.c:939 src/as-validator.c:1024 -#: src/as-validator.c:1237 -#, c-format -msgid "Found: %s - Allowed: %s" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:307 +msgid "" +"This `display_length` item contains an invalid display length. Its value " +"must either be a shorthand string, or positive integer value denoting " +"logical pixels. Please refer to the AppStream specification for more " +"information on this tag." msgstr "" -#. TRANSLATORS: this is the menu spec main category for Game -#: src/as-category.c:311 -msgid "Games" -msgstr "Geamannan" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:314 +msgid "" +"This `side` property of this `display_length` item contains an invalid " +"value. It must either be `shortest` or `longest`, or unset to imply " +"`shortest` to make the item value refer to either the shortest or longest " +"side of the display." +msgstr "" -#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command -#: tools/appstream-cli.c:814 -msgid "Generate the output in the selected format ('yaml' or 'text')." +#: src/as-validator-issue-tag.h:320 +msgid "" +"The set component type is not a recognized, valid AppStream component type." msgstr "" +"Chan eil seòrsa a’ cho-phàirt a chaidh a shuidheachadh ’na seòrsa co-phàirt " +"AppStream dligheach a dh’aithnicheadh sinn." -#: tools/appstream-cli.c:849 -msgid "Get components which provide the given item." -msgstr "Fhaigh na co-phàirtean a bheir an nì sònraichte dhut." +#: src/as-validator-issue-tag.h:325 +msgid "" +"The component has a priority value set. This is not allowed in metainfo " +"files." +msgstr "" -#: tools/appstream-cli.c:848 -msgid "Get information about a component by its ID." -msgstr "Faigh fiosrachadh mu cho-phàirt a-rèir aithnicheir." +#: src/as-validator-issue-tag.h:330 +msgid "" +"The component has a `merge` method defined. This is not allowed in metainfo " +"files." +msgstr "" -#. TRANSLATORS: this is the menu spec main category for Graphics -#: src/as-category.c:314 -msgid "Graphics & Photography" -msgstr "Grafaigeachd ⁊ togail dhealbhan" +#: src/as-validator-issue-tag.h:335 +msgid "The component is missing an ID ( tag)." +msgstr "" -#: tools/ascli-utils.c:300 -msgid "Homepage" -msgstr "Duilleag-dhachaigh" +#: src/as-validator-issue-tag.h:340 +msgid "The component is missing a name ( tag)." +msgstr "" -#: src/as-category.c:89 -msgctxt "Category of Development" -msgid "IDEs" -msgstr "Àrainneachdan leasachaidh co-fhillte" +#: src/as-validator-issue-tag.h:345 +msgid "The component is missing a summary ( tag)." +msgstr "" -#: tools/ascli-utils.c:301 -msgid "Icon" -msgstr "Ìomhaigheag" +#: src/as-validator-issue-tag.h:350 +msgid "" +"The tag still contains a `type` property, probably from an old " +"conversion to the recent metainfo format." +msgstr "" + +#: src/as-validator-issue-tag.h:355 +msgid "" +"The `pkgname` tag appears multiple times. You should evaluate creating a " +"metapackage containing the metainfo and .desktop files in order to avoid " +"defining multiple package names per component." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:351 -msgid "Icons of type 'remote' must contain an URL to the referenced icon." +#: src/as-validator-issue-tag.h:360 +msgid "The component name should (likely) not end with a dot (`.`)." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:344 +#: src/as-validator-issue-tag.h:365 +msgid "The component summary should not end with a dot (`.`)." +msgstr "" + +#: src/as-validator-issue-tag.h:370 +msgid "The component summary must not contain tabs or linebreaks." +msgstr "" + +#: src/as-validator-issue-tag.h:375 +msgid "The summary must not contain any URL. Use the tags for links." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:381 msgid "" -"Icons of type 'stock' or 'cached' must not contain an URL, a full or an " +"Icons of type `stock` or `cached` must not contain an URL, a full or an " "relative path to the icon. Only file basenames or stock names are allowed." msgstr "" -#: tools/ascli-actions-misc.c:94 -msgid "Iconsets" -msgstr "Buidhnean ìomhaigheagan" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:388 +msgid "Icons of type `remote` must contain an URL to the referenced icon." +msgstr "" -#: tools/ascli-utils.c:295 -msgid "Identifier" -msgstr "Aithnichear" +#: src/as-validator-issue-tag.h:393 +msgid "Unable to reach remote icon at the given web location - does it exist?" +msgstr "" + +#: src/as-validator-issue-tag.h:398 +msgid "Consider using a secure (HTTPS) URL for the remote icon link." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:404 +msgid "" +"Metainfo files may only contain icons of type `stock` or `remote`, the set " +"type is not allowed." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:410 +msgid "" +"Invalid `type` property for this `url` tag. URLs of this type are not known " +"in the AppStream specification." +msgstr "" + +#: src/as-validator-issue-tag.h:415 +msgid "" +"Unable to reach remote location that this URL references - does it exist?" +msgstr "" + +#: src/as-validator-issue-tag.h:420 +msgid "Consider using a secure (HTTPS) URL for this web link." +msgstr "" + +#: src/as-validator-issue-tag.h:425 +msgid "A web URL was expected for this value." +msgstr "" + +#: src/as-validator-issue-tag.h:430 +msgid "" +"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." +msgstr "" + +#: src/as-validator-issue-tag.h:435 +msgid "The can not contain a hyperlink." +msgstr "" -#: src/as-category.c:217 -msgctxt "Category of Addons" -msgid "Input Sources" -msgstr "Tùsan ion-chuir" +#: src/as-validator-issue-tag.h:440 +msgid "" +"The set value is not an identifier for a desktop environment as registered " +"with Freedesktop.org." +msgstr "" -#: tools/appstream-cli.c:863 -msgid "Install a metadata file into the right location." -msgstr "Stàlaich faidhle meata-dàta gun ionad cheart." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:446 +msgid "This `launchable` tag has an unknown type and can not be used." +msgstr "" -#: tools/appstream-cli.c:859 -msgid "Install software matching the component-ID." -msgstr "Stàlaich bathar-bog a fhreagras ris a’ component-ID." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:452 +msgid "This `bundle` tag has an unknown type and can not be used." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:373 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:458 msgid "" -"Invalid 'type' property for this 'url' tag. URLs of this type are not known " -"in the AppStream specification." +"The `update_contact` tag should not be included in collection AppStream XML." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:553 +#: src/as-validator-issue-tag.h:463 msgid "" -"Invalid tag found in collection metadata. Only 'component' tags are " -"permitted." +"This tag is a GNOME-specific extension to AppStream and not part of the " +"official specification. Do not expect it to work in all implementations and " +"in all software centers." msgstr "" -#: tools/ascli-actions-mdata.c:213 -msgid "Invalid type for provided item selected. Valid values are:" +#: src/as-validator-issue-tag.h:469 +msgid "" +"Found invalid tag. Non-standard tags should be prefixed with `x-`. AppStream " +"also provides the tag to add arbitrary custom data to metainfo " +"files. This tag is read by AppStream libraries and may be useful instead of " +"defining new custom toplevel or `x-`-prefixed tags if you just want to add " +"custom data to a metainfo file." msgstr "" -"Chan eil an seòrsa a thagh thu dhan nì a chaidh a sholar dligheach. Seo na " -"luachan dligheach:" -#: src/as-validator-issue-tag.h:271 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:477 msgid "" -"Invalid version comparison operation on relation item. Only eq/ne/lt/gt/le/" -"ge are permitted." +"The essential tag `metadata_license` is missing. A license for the metadata " +"itself always has to be defined." msgstr "" -#: src/as-validator-issue-tag.h:450 +#: src/as-validator-issue-tag.h:482 msgid "" -"It is recommended to add a long description to this component to present it " -"better to users." +"The component is missing a long description. Components of this type must " +"have a long description." msgstr "" -#: src/as-validator-issue-tag.h:445 +#: src/as-validator-issue-tag.h:487 msgid "" "It would be useful to add a long description to this font to present it " "better to users." msgstr "" -#: src/as-category.c:144 -msgctxt "Category of Games" -msgid "Kids" -msgstr "Clann" +#: src/as-validator-issue-tag.h:492 +msgid "" +"It is recommended to add a long description to this component to present it " +"better to users." +msgstr "" -#: src/as-category.c:220 -msgctxt "Category of Addons" -msgid "Language Packs" -msgstr "Pacaidean cànain" +#: src/as-validator-issue-tag.h:497 +msgid "" +"This generic component is missing a long description. It may be useful to " +"add one." +msgstr "" -#: src/as-category.c:107 -msgctxt "Category of Education" -msgid "Languages" -msgstr "Cànain" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:503 +msgid "" +"Type `console-application` component, but no information about binaries in " +"$PATH was provided via a `provides/binary` tag." +msgstr "" -#: src/as-provided.c:144 -msgid "Libraries" -msgstr "Leabhar-lannan" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:509 +#, fuzzy +msgid "" +"This `web-application` component is missing a `launchable` tag of type `url`." +msgstr "" +"Tha taga “icon” a dhìth air a’ cho-phàirt “web-application” airson " +"ìomhaigheag dhligheach a shònrachadh." -#. license -#: tools/ascli-utils.c:363 -msgid "License" -msgstr "Ceadachas" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:515 +#, fuzzy +msgid "" +"This `web-application` component is missing a `icon` tag to specify a valid " +"icon." +msgstr "" +"Tha taga “icon” a dhìth air a’ cho-phàirt “web-application” airson " +"ìomhaigheag dhligheach a shònrachadh." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:629 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:521 +#, fuzzy msgid "" -"Licenses for 'runtime' components are usually too complex to reflect them in " -"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " -"value for this component's 'project_license'. E.g. `LicenseRef-free=https://" -"example.com/licenses.html`" +"This `web-application` component is missing categorizations. A `categories` " +"block is likely missing." msgstr "" +"Tha taga “icon” a dhìth air a’ cho-phàirt “web-application” airson " +"ìomhaigheag dhligheach a shònrachadh." -#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command -#: tools/appstream-cli.c:771 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:527 msgid "" -"Limit the number of release entries that end up in the metainfo file (0 for " -"unlimited)." +"Type `font` component, but no font information was provided via a `provides/" +"font` tag." msgstr "" -#: src/as-category.c:223 -msgctxt "Category of Addons" -msgid "Localization" -msgstr "Ionadaileadh" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:533 +msgid "" +"Type `driver` component, but no modalias information was provided via a " +"`provides/modalias` tag." +msgstr "" -#: src/as-category.c:147 -msgctxt "Category of Games" -msgid "Logic" -msgstr "Loidig" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:539 +msgid "" +"An `extends` tag is specified, but the component is not of type `addon`, " +"`localization` or `repository`." +msgstr "" -#. TRANSLATORS: ascli flag description for: --no-cache -#: tools/appstream-cli.c:67 -msgid "Make request without any caching." -msgstr "Cuir iarrtas às aonais tasgadain." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:545 +msgid "The component is an addon, but no `extends` tag was specified." +msgstr "" -#. TRANSLATORS: ascli flag description for: --cachepath -#: tools/appstream-cli.c:57 -msgid "Manually selected location of AppStream cache." -msgstr "Ionad tasgadan AppStream air a thaghadh à làimh." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:551 +#, fuzzy +msgid "" +"This `localization` component is missing an `extends` tag, to specify the " +"components it adds localization to." +msgstr "" +"Tha taga “icon” a dhìth air a’ cho-phàirt “web-application” airson " +"ìomhaigheag dhligheach a shònrachadh." -#. TRANSLATORS: ascli flag description for: --datapath -#: tools/appstream-cli.c:62 -msgid "Manually selected location of AppStream metadata to scan." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:557 +msgid "" +"This `localization` component does not define any languages this " +"localization is for." msgstr "" -"Ionad tasgadan meata-dàta AppStream ri sganadh ’s air a thaghadh à làimh." -#: src/as-pool.c:1280 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:563 +#, fuzzy msgid "" -"Many components have been recognized as invalid. See debug output for " -"details." +"This `service` component is missing a `launchable` tag of type `service`." msgstr "" -"Mhothaich sinn do dh’iomadh co-phàirt mhì-dhligheach. Faic às-chur an dì-" -"bhugachaidh airson barrachd fiosrachaidh." +"Tha taga “icon” a dhìth air a’ cho-phàirt “web-application” airson " +"ìomhaigheag dhligheach a shònrachadh." -#: src/as-category.c:111 -msgctxt "Category of Education" -msgid "Math" -msgstr "Matamataig" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:569 +msgid "" +"Suggestions of any type other than `upstream` are not allowed in metainfo " +"files." +msgstr "" -#: src/as-category.c:243 -msgctxt "Category of Science" -msgid "Math" -msgstr "Matamataig" +#: src/as-validator-issue-tag.h:574 +msgid "" +"The category name is not valid. Refer to the XDG Menu Specification for a " +"list of valid category names." +msgstr "" -#: src/as-provided.c:148 -#, fuzzy -msgid "Media types" -msgstr "Seòrsachan MIME" +#: src/as-validator-issue-tag.h:579 +msgid "The screenshot caption is too long (should be <= 80 characters)" +msgstr "" -#: tools/ascli-actions-mdata.c:364 -#, c-format -msgid "Metadata file '%s' does not exist." -msgstr "Chan eil am faidhle meata-dàta “%s” ann." +#: src/as-validator-issue-tag.h:584 +msgid "Unable to read file." +msgstr "Cha deach leinn am faidhle a leughadh." -#: src/as-pool.c:881 -msgid "Metadata files have errors:" -msgstr "Tha mearachd sna faidhlichean meata-dàta:" +#: src/as-validator-issue-tag.h:589 +msgid "The XML of this file is malformed." +msgstr "" -#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 -#: tools/ascli-actions-misc.c:515 -#, fuzzy, c-format -msgid "Metainfo file '%s' does not exist." -msgstr "Chan eil am faidhle meata-dàta “%s” ann." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:595 +#, fuzzy +msgid "" +"Invalid tag found in collection metadata. Only `component` tags are " +"permitted." +msgstr "" +"Chaidh taga mì-dhligheach a lorg ann am meata-dàta a’ chruinneachaidh. Chan " +"eil ach tagaichean “component” ceadaichte." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:367 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:601 msgid "" -"Metainfo files may only contain icons of type 'stock' or 'remote', the set " -"type is not allowed." +"The metainfo file uses an ancient version of the AppStream specification, " +"which can not be validated. Please migrate it to version 0.6 (or higher)." msgstr "" -#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report -#: tools/ascli-actions-misc.c:116 -msgid "Metainfo files:" -msgstr "Faidhlichean meata-fhiosrachaidh:" +#: src/as-validator-issue-tag.h:606 +msgid "" +"This XML document has an unknown root tag. Maybe this file is not a metainfo " +"document?" +msgstr "" -#: src/as-provided.c:152 -msgid "Modaliases" -msgstr "Aliasan atharraichean" +#: src/as-validator-issue-tag.h:611 +#, fuzzy +msgid "The metainfo filename does not match the component ID." +msgstr "Thoir air falbh bathar-bog a fhreagras ris a’ component-ID." -#: src/as-category.c:74 -msgctxt "Category of AudioVideo" -msgid "Music Players" -msgstr "Cluicheadairean ciùil" +#: src/as-validator-issue-tag.h:616 +msgid "Unable to read the .desktop file associated with this component." +msgstr "" +"Cha deach leinn am faidhle .desktop a leughadh a tha co-cheangailte ris a’ " +"cho-phàirt seo." -#: tools/ascli-utils.c:296 -msgid "Name" -msgstr "Ainm" +#: src/as-validator-issue-tag.h:621 +msgid "This component metadata refers to a non-existing .desktop file." +msgstr "" -#: src/as-category.c:266 -msgctxt "Category of Communication" -msgid "News" -msgstr "Naidheachdan" +#: src/as-validator-issue-tag.h:626 +msgid "" +"The category defined in the .desktop file is not valid. Refer to the XDG " +"Menu Specification for a list of valid categories." +msgstr "" -#: src/as-validator-issue-tag.h:589 +#: src/as-validator-issue-tag.h:631 msgid "No AppStream metadata was found in this directory or directory tree." msgstr "" #. pedantic because not everything which has metadata is an application -#: src/as-validator-issue-tag.h:594 +#: src/as-validator-issue-tag.h:636 msgid "No XDG applications directory found." msgstr "" -#: tools/ascli-actions-mdata.c:182 -#, c-format -msgid "No component matching '%s' found." -msgstr "Cha deach co-phàirt a fhreagras ri “%s” a lorg." - -#: tools/ascli-actions-misc.c:105 -msgid "No icons." -msgstr "Chan eil ìomhaigheag ann." - -#: tools/ascli-actions-misc.c:402 -msgid "No output filename specified, modifying metainfo file directly." -msgstr "" - -#: tools/ascli-actions-misc.c:306 +#: src/as-validator-issue-tag.h:641 msgid "" -"No provided binary specified in metainfo file, and no exec command specified " -"via '--exec'. Can not create 'Exec=' key." +"The metainfo file is stored in a legacy path. Please place it in `/usr/share/" +"metainfo/`." msgstr "" -#: tools/ascli-actions-misc.c:284 -msgid "No stock icon name was provided in the metainfo file. Can not continue." +#: src/as-validator-issue-tag.h:646 +msgid "The metainfo file specifies multiple components. This is not allowed." msgstr "" -#: tools/ascli-actions-pkgmgr.c:53 +#: src/as-validator-issue-tag.h:651 msgid "" -"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" -"\" (part of PackageKit) is available." +"The releases are not sorted in a latest to oldest version order. This is " +"required as some tools will assume that the latest version is always at the " +"top. Sorting releases also increases overall readability of the metainfo " +"file." msgstr "" -"Cha deach eadar-aghaidh loidhne-àithne manaidsear phacaidean iomchaidh a " -"lorg. Dèan cinnteach gu bheil “pkcon” (pàirt dhe PackageKit) ri fhaighinn, " -"mar eisimpleir." - -#: tools/ascli-actions-mdata.c:206 -msgid "No value for the item to search for was defined." -msgstr "Cha deach luach a mhìneachadh airson lorg an nì." - -#. TRANSLATORS: this is the menu spec main category for Office -#: src/as-category.c:317 -msgid "Office" -msgstr "Oifis" - -#. TRANSLATORS: An unknown option was passed to appstreamcli. -#: tools/appstream-cli.c:192 -#, c-format -msgid "Option '%s' is unknown." -msgstr "Chan aithne dhuinn an roghainn “%s”." -#: tools/ascli-utils.c:298 -msgid "Package" -msgstr "Pacaid" +#: src/as-validator-issue-tag.h:658 +msgid "The value set as release urgency is not a known urgency value." +msgstr "" -#: src/as-category.c:171 -msgctxt "Category of Graphics" -msgid "Photography" -msgstr "Togail dhealbhan" +#: src/as-validator-issue-tag.h:663 +msgid "The value set as release type is invalid." +msgstr "" -#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) -#: tools/appstream-cli.c:121 -#, fuzzy -msgid "Print detailed explanation for found issues." -msgstr "Seall fiosrachadh mionaideach mu na co-phàirtean a chaidh a lorg." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:669 +msgid "" +"The value set as artifact type is invalid. Must be either `source` or " +"`binary`." +msgstr "" -#. TRANSLATORS: ascli flag description for: --details -#: tools/appstream-cli.c:98 -msgid "Print detailed output about found components." -msgstr "Seall fiosrachadh mionaideach mu na co-phàirtean a chaidh a lorg." +#: src/as-validator-issue-tag.h:674 +msgid "The value set as artifact bundle type is invalid." +msgstr "" -#. project group -#: tools/ascli-utils.c:360 -msgid "Project Group" -msgstr "Buidhean pròiseict" +#: src/as-validator-issue-tag.h:679 +msgid "" +"The platform triplet for this release is invalid. It must be in the form of " +"`architecture-oskernel-osenv` - refer to the AppStream documentation or " +"information on normalized GNU triplets for more information and valid fields." +msgstr "" -#: tools/ascli-utils.c:405 -msgid "Provided Items" -msgstr "Nithean ’gan solar" +#: src/as-validator-issue-tag.h:686 +msgid "The selected checksumming algorithm is unsupported or unknown." +msgstr "" -#: src/as-provided.c:154 -msgid "Python (Version 2)" -msgstr "Python (Tionndadh 2)" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:692 +msgid "The size type is unknown. Must be `download` or `installed`." +msgstr "" -#: src/as-provided.c:156 -msgid "Python 3" -msgstr "Python 3" +#: src/as-validator-issue-tag.h:697 +msgid "" +"The artifact filename must be a file basename, not a (relative or absolute) " +"path." +msgstr "" -#: tools/appstream-cli.c:854 -msgid "Rebuild the component metadata cache." -msgstr "Ath-thog tasgadan meata-dàta nan co-phàirtean." +#: src/as-validator-issue-tag.h:702 +msgid "The value set as release issue type is invalid." +msgstr "" -#: tools/appstream-cli.c:860 -msgid "Remove software matching the component-ID." -msgstr "Thoir air falbh bathar-bog a fhreagras ris a’ component-ID." +#: src/as-validator-issue-tag.h:707 +msgid "" +"The issue is tagged at security vulnerability with a CVE number, but its " +"value does not look like a valid CVE identifier." +msgstr "" -#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty -#: src/as-validator.c:364 -msgid "Retrieved file size was zero." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:713 +msgid "" +"This component is missing information about releases. Consider adding a " +"`releases` tag to describe releases and their changes." msgstr "" -#: src/as-category.c:248 -msgctxt "Category of Science" -msgid "Robotics" -msgstr "Robotaireachd" +#: src/as-validator-issue-tag.h:718 +msgid "" +"The AppStream specification requires a complete, ISO 8601 date string with " +"at least day-granularity to denote dates. Please ensure the date string is " +"valid." +msgstr "" -#: src/as-category.c:150 -msgctxt "Category of Games" -msgid "Role Playing" -msgstr "Cluich mas-fhìor" +#: src/as-validator-issue-tag.h:724 +msgid "" +"This component extends, provides, requires or recommends itself, which is " +"certainly not intended and may confuse users or machines dealing with this " +"metadata." +msgstr "" -#: tools/appstream-cli.c:196 tools/appstream-cli.c:926 -#, c-format -msgid "Run '%s --help' to see a full list of available command line options." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:731 +msgid "" +"Licenses for `runtime` components are usually too complex to reflect them in " +"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " +"value for this component's `project_license`. E.g. `LicenseRef-free=https://" +"example.com/licenses.html`" msgstr "" -"Ruith “%s --help” gus liosta shlàn dhe roghainnean na loidhne-àithne a tha " -"ri fhaighinn a shealltainn." -#: tools/appstream-cli.c:198 -#, c-format +#: src/as-validator-issue-tag.h:737 msgid "" -"Run '%s --help' to see a list of available commands and options, and '%s %s " -"--help' to see a list of options specific for this subcommand." +"Since a `runtime` component is comprised of multiple other software " +"components, their component-IDs may be listed in a `` section for " +"this runtime." msgstr "" -"Ruith “%s --help” gus liosta shlàn dhe dh’àitheantan ’s roghainnean na " -"loidhne-àithne a tha ri fhaighinn a shealltainn agus “%s %s --help” airson " -"liosta dhe na roghainnean a tha sònraichte dhan fho-àithne seo." -#: src/as-provided.c:162 -msgid "Runtime Firmware" -msgstr "Firmware ruith" +#: src/as-validator-issue-tag.h:742 +msgid "" +"The type of the item that the component provides is not known to AppStream." +msgstr "" -#: src/as-category.c:174 -msgctxt "Category of Graphics" -msgid "Scanning" -msgstr "Sganadh" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:748 +msgid "" +"The toplevel `mimetypes` tag is deprecated. Please use `mediatype` tags in a " +"`provides` block instead to indicate that your software provides a media " +"handler for the given types." +msgstr "" -#. TRANSLATORS: this is the menu spec main category for Science -#: src/as-category.c:323 -msgid "Science" -msgstr "Saidheans" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks) and keep the URL intact. +#: src/as-validator-issue-tag.h:755 +msgid "" +"This component has no `content_rating` tag to provide age rating " +"information. You can generate the tag data online by answering a few " +"questions at https://hughsie.github.io/oars/" +msgstr "" -#: tools/appstream-cli.c:847 -msgid "Search the component database." -msgstr "Lorg ann an stòr-dàta nan co-phàirtean." +#: src/as-validator.c:150 +msgid "" +"The emitted issue tag is unknown in the tag registry of AppStream. This is a " +"bug in the validator itself, please report this issue in our bugtracker." +msgstr "" -#: src/as-category.c:293 -msgctxt "Category of Utility" -msgid "Security" -msgstr "Tèarainteachd" +#: src/as-validator.c:344 +msgid "URL format is invalid." +msgstr "" -#. TRANSLATORS: ascli flag description for: --verbose -#: tools/appstream-cli.c:903 -msgid "Show extra debugging information." +#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. +#: src/as-validator.c:522 src/as-validator.c:937 src/as-validator.c:1031 +#: src/as-validator.c:1428 src/as-validator.c:1448 src/as-validator.c:1481 +#, c-format +msgid "Found: %s - Allowed: %s" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --verbose +#: tools/appstream-compose.c:181 +#, fuzzy +msgid "Show extra debugging information" msgstr "Seall fiosrachadh dì-bhugachaidh a bharrachd." +#. TRANSLATORS: ascompose flag description for: --no-color +#. TRANSLATORS: ascli flag description for: --no-color +#: tools/appstream-compose.c:184 tools/appstreamcli.c:1087 +msgid "Don't show colored output." +msgstr "Na seall às-chur dathte." + +#. TRANSLATORS: ascompose flag description for: --version #. TRANSLATORS: ascli flag description for: --version -#: tools/appstream-cli.c:897 +#: tools/appstream-compose.c:187 tools/appstreamcli.c:1076 msgid "Show the program version." msgstr "Seall an tionndadh dhen phrògram." -#: src/as-validator-issue-tag.h:635 -msgid "" -"Since a 'runtime' component is comprised of multiple other software " -"components, their component-IDs may be listed in a `` section for " -"this runtime." +#. TRANSLATORS: ascompose flag description for: --full-report +#: tools/appstream-compose.c:190 +msgid "Set mode of the issue report that is printed to the console" msgstr "" -#: src/as-category.c:153 -msgctxt "Category of Games" -msgid "Sports" -msgstr "Spòrs" +#. TRANSLATORS: ascompose flag description for: --prefix +#: tools/appstream-compose.c:193 +msgid "Override the default prefix (`/usr` by default)" +msgstr "" -#: src/as-category.c:157 -msgctxt "Category of Games" -msgid "Strategy" -msgstr "Ro-innleachd" +#. TRANSLATORS: ascompose flag description for: --result-root +#: tools/appstream-compose.c:196 +msgid "Set the result output directory" +msgstr "" -#. these are commands we can use with appstreamcli -#: tools/appstream-cli.c:845 -msgid "Subcommands:" -msgstr "Fo-àitheantan:" +#. TRANSLATORS: ascompose flag description for: --data-dir, `collection metadata` is an AppStream term +#: tools/appstream-compose.c:199 +msgid "Override the collection metadata output directory" +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:527 -msgid "" -"Suggestions of any type other than 'upstream' are not allowed in metainfo " -"files." +#. TRANSLATORS: ascompose flag description for: --icons-dir +#: tools/appstream-compose.c:202 +msgid "Override the icon output directory" msgstr "" -#: tools/ascli-utils.c:297 -msgid "Summary" -msgstr "Gearr-chunntas" +#. TRANSLATORS: ascompose flag description for: --media-dir +#: tools/appstream-compose.c:205 +msgid "" +"Set the media output directory (for media data to be served by a webserver)" +msgstr "" -#. TRANSLATORS: Status summary in ascli -#: tools/ascli-actions-misc.c:145 -msgid "Summary:" -msgstr "Gearr-chunntas:" +#. TRANSLATORS: ascompose flag description for: --hints-dir +#: tools/appstream-compose.c:208 +msgid "Set a directory where HTML and text issue reports will be stored" +msgstr "" -#: src/as-category.c:290 -msgctxt "Category of Utility" -msgid "System Monitoring" -msgstr "Monatairean an t-siostaim" +#. TRANSLATORS: ascompose flag description for: --origin +#. TRANSLATORS: ascompose flag description for: --media-baseurl +#: tools/appstream-compose.c:211 tools/appstream-compose.c:214 +msgid "Set the origin name" +msgstr "" -#: src/as-validator-issue-tag.h:46 -msgid "Tags of this name are not permitted in this section." +#. TRANSLATORS: ascompose flag description for: --components +#: tools/appstream-compose.c:217 +msgid "A comma-separated list of component-IDs to accept" msgstr "" -#: src/as-category.c:284 -msgctxt "Category of Utility" -msgid "Terminal Emulators" -msgstr "Aithrisichean tèirmineil" +#. TRANSLATORS: error message +#: tools/appstream-compose.c:231 +msgid "Failed to parse arguments" +msgstr "" -#: src/as-category.c:281 -msgctxt "Category of Utility" -msgid "Text Editors" -msgstr "Deasaichean teacsa" +#. TRANSLATORS: Output if appstreamcli --version is executed. +#: tools/appstream-compose.c:242 tools/appstreamcli.c:1230 +#, c-format +msgid "AppStream version: %s" +msgstr "Tionndadh dhe dh’AppStream: %s" -#: src/as-validator-issue-tag.h:318 +#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. +#: tools/appstream-compose.c:245 tools/appstreamcli.c:1233 +#, c-format msgid "" -"The 'pkgname' tag appears multiple times. You should evaluate creating a " -"metapackage containing the metainfo and .desktop files in order to avoid " -"defining multiple package names per component." +"AppStream CLI tool version: %s\n" +"AppStream library version: %s" msgstr "" +"Tionndadh dhen inneal eadar-aghaidh loidhne-àithne AppStream: %s\n" +"Tionndadh dhen leabhar-lann AppStream: %s" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:416 +#. TRANSLATORS: invalid value for the --print-report CLI option +#: tools/appstream-compose.c:264 +#, c-format msgid "" -"The 'update_contact' tag should not be included in collection AppStream XML." +"Invalid value for `--print-report` option: %s\n" +"Possible values are:\n" +"`on-error` - only prints a short report if the run failed (default)\n" +"`short` - generates an abridged report\n" +"`full` - a detailed report will be printed" msgstr "" -#: tools/ascli-actions-mdata.c:467 +#: tools/appstream-compose.c:285 #, c-format -msgid "The .desktop file '%s' does not exist." -msgstr "Chan eil am faidhle .desktop “%s” ann." +msgid "Automatically selected '%s' as data output location." +msgstr "" -#: src/as-validator-issue-tag.h:393 -msgid "The can not contain a hyperlink." +#. TRANSLATORS: we don't have a destination directory for compose +#: tools/appstream-compose.c:288 +msgid "No destination directory set, please provide a data output location!" msgstr "" -#: src/as-validator-issue-tag.h:313 -msgid "" -"The tag still contains a 'type' property, probably from an old " -"conversion to the recent metainfo format." +#: tools/appstream-compose.c:298 tools/appstream-compose.c:300 +msgid "WARNING" msgstr "" -#: src/as-validator-issue-tag.h:616 -msgid "" -"The AppStream specification requires a complete, ISO 8601 date string with " -"at least day-granularity to denote dates. Please ensure the date string is " -"valid." +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:337 +#, c-format +msgid "Only accepting components: %s" msgstr "" -#: src/as-pool.c:1924 -#, fuzzy, c-format -msgid "" -"The AppStream system cache was updated, but problems were found which " -"resulted in metadata being ignored: %s" +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:340 +#, c-format +msgid "Only accepting component: %s" +msgstr "" + +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:345 +msgid "Processing directories:" +msgstr "" + +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:348 +msgid "Processing directory:" +msgstr "" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:357 +msgid "Can not process invalid directory" +msgstr "" + +#. TRANSLATORS: information message +#: tools/appstream-compose.c:369 +msgid "Composing metadata..." msgstr "" -"Chaidh an tasgadan aig AppStream ùrachadh ach bha duilgheadas no dhà ann " -"leis: %s" -#: src/as-pool.c:1922 +#. TRANSLATORS: error message +#: tools/appstream-compose.c:374 #, fuzzy +msgid "Failed to compose AppStream metadata" +msgstr "Goireas gus obair le meata-dàta AppStream" + +#. TRANSLATORS: appstream-compose failed to include all data +#: tools/appstream-compose.c:380 +msgid "Run failed, some data was ignored." +msgstr "" + +#. TRANSLATORS: information message of appstream-compose +#: tools/appstream-compose.c:382 +msgid "Errors were raised during this compose run:" +msgstr "" + +#: tools/appstream-compose.c:383 msgid "" -"The AppStream system cache was updated, but some components were ignored. " -"Refer to the verbose log for more information." +"Refer to the generated issue report data for details on the individual " +"problems." msgstr "" -"Chaidh tasgadan an t-siostaim aig AppStream ùrachadh ach mhothaich sinn dha " -"mhearachd no dhà a dh’adhbharaicheas gum bi meata-dàta a dhìth ma " -"dh’fhaoidte. Thoir sùil air an loga bhriathrach airson barrachd fiosrachaidh." -#: src/as-validator-issue-tag.h:151 -msgid "The SPDX license expression is invalid and could not be parsed." +#: tools/appstream-compose.c:386 +msgid "Overview of generated hints:" msgstr "" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows -#: tools/appstream-cli.c:683 -#, c-format -msgid "The TYPE must be a valid component-type, such as: %s" -msgstr "Feumaidh TYPE a bhith ’na component-type dligheach, can: %s" +#. TRANSLATORS: information message +#: tools/appstream-compose.c:388 +msgid "Success!" +msgstr "" -#: src/as-validator-issue-tag.h:547 -msgid "The XML of this file is malformed." +#. TRANSLATORS: ascli flag description for: --cachepath +#: tools/appstreamcli.c:59 +msgid "Manually selected location of AppStream cache." +msgstr "Ionad tasgadan AppStream air a thaghadh à làimh." + +#. TRANSLATORS: ascli flag description for: --datapath +#: tools/appstreamcli.c:64 +msgid "Manually selected location of AppStream metadata to scan." msgstr "" +"Ionad tasgadan meata-dàta AppStream ri sganadh ’s air a thaghadh à làimh." -#: src/as-validator-issue-tag.h:584 -msgid "" -"The category defined in the .desktop file is not valid. Refer to the XDG " -"Menu Specification for a list of valid categories." +#. TRANSLATORS: ascli flag description for: --no-cache +#: tools/appstreamcli.c:69 +msgid "Make request without any caching." +msgstr "Cuir iarrtas às aonais tasgadain." + +#. TRANSLATORS: ascli flag description for: --format +#: tools/appstreamcli.c:85 +msgid "Default metadata format (valid values are 'xml' and 'yaml')." +msgstr "" +"Fòrmat bunaiteach a’ mheata-dàta (is “xml” ’s “yaml” na luachan dligheach)." + +#. TRANSLATORS: ascli flag description for: --details +#: tools/appstreamcli.c:100 +msgid "Print detailed output about found components." +msgstr "Seall fiosrachadh mionaideach mu na co-phàirtean a chaidh a lorg." + +#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) +#: tools/appstreamcli.c:118 +msgid "Also show pedantic hints." +msgstr "Seall oidheaman beadaganach cuideachd." + +#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) +#: tools/appstreamcli.c:123 +#, fuzzy +msgid "Print detailed explanation for found issues." +msgstr "Seall fiosrachadh mionaideach mu na co-phàirtean a chaidh a lorg." + +#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) +#: tools/appstreamcli.c:128 +msgid "Do not use network access." +msgstr "Na cleachd inntrigeadh dhan lìonra." + +#. TRANSLATORS: ascli flag description for: --format when validating XML files +#: tools/appstreamcli.c:133 +msgid "Format of the generated report (valid values are 'text' and 'yaml')." msgstr "" +"Fòrmat na h-aithisge a thèid a ghintinn (’s e “text” is “yaml” a tha sna " +"luachan dligheach)." -#: src/as-validator-issue-tag.h:532 +#. TRANSLATORS: This is the header to the --help menu for subcommands +#. TRANSLATORS: This is the header to the --help menu +#: tools/appstreamcli.c:153 tools/appstreamcli.c:981 +msgid "AppStream command-line interface" +msgstr "Eadar-aghaidh loidhne-àithne AppStream" + +#: tools/appstreamcli.c:156 +#, c-format +msgid "'%s' command" +msgstr "Àithne “%s”" + +#. TRANSLATORS: An unknown option was passed to appstreamcli. +#: tools/appstreamcli.c:191 +#, c-format +msgid "Option '%s' is unknown." +msgstr "Chan aithne dhuinn an roghainn “%s”." + +#: tools/appstreamcli.c:195 tools/appstreamcli.c:1207 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options." +msgstr "" +"Ruith “%s --help” gus liosta shlàn dhe roghainnean na loidhne-àithne a tha " +"ri fhaighinn a shealltainn." + +#: tools/appstreamcli.c:197 +#, c-format msgid "" -"The category name is not valid. Refer to the XDG Menu Specification for a " -"list of valid category names." +"Run '%s --help' to see a list of available commands and options, and '%s %s " +"--help' to see a list of options specific for this subcommand." msgstr "" +"Ruith “%s --help” gus liosta shlàn dhe dh’àitheantan ’s roghainnean na " +"loidhne-àithne a tha ri fhaighinn a shealltainn agus “%s %s --help” airson " +"liosta dhe na roghainnean a tha sònraichte dhan fho-àithne seo." + +#. TRANSLATORS: ascli flag description for: --force +#: tools/appstreamcli.c:245 +msgid "Enforce a cache refresh." +msgstr "Sparr ath-nuadhachadh an tasgadain air." -#: src/as-validator-issue-tag.h:124 -msgid "" -"The component ID contains a hyphen/minus. Using a hyphen is strongly " -"discouraged, to improve interoperability with other tools such as D-Bus. A " -"good option is to replace any hyphens with underscores ('_')." +#. TRANSLATORS: ascli flag description for: --user +#: tools/appstreamcli.c:251 +msgid "Update the user-specific instead of the system-wide cache." msgstr "" -#: src/as-validator-issue-tag.h:130 -msgid "" -"The component ID contains a segment starting with a number. Starting a " -"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " -"interoperability with other tools such as D-Bus. Ideally, prefix these " -"segments with an underscore." +#. TRANSLATORS: ascli flag description for: --origin (part of the "put" subcommand) +#: tools/appstreamcli.c:477 +msgid "Set the data origin for the installed metadata collection file." msgstr "" -#: src/as-validator-issue-tag.h:119 -msgid "" -"The component ID contains an invalid character. Only ASCII characters, dots " -"and numbers are permitted." +#. TRANSLATORS: ascli flag description for: --user (part of the "put" subcommand) +#: tools/appstreamcli.c:482 +msgid "Install the file for the current user, instead of globally." msgstr "" -#: src/as-validator-issue-tag.h:106 +#: tools/appstreamcli.c:631 msgid "" -"The component ID is not a reverse domain-name. Please update the ID to avoid " -"future issues and be compatible with all AppStream implementations.\n" -"You may also consider to update the name of the accompanying .desktop file " -"to follow the latest version of the Desktop-Entry specification and use a " -"rDNS name for it as well. In any case, do not forget to mention the new " -"desktop-entry in a tag for this component to keep the " -"application launchable from software centers and the .desktop file data " -"associated with the metainfo data." +"You need to provide at least two version numbers to compare as parameters." msgstr "" +"Feumaidh tu co-dhiù dà àireamh tionndaidh a chur seachad mar pharamadairean " +"a’ choimeis." -#: src/as-validator-issue-tag.h:101 +#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. +#: tools/appstreamcli.c:660 +#, c-format +msgid "Unknown compare relation '%s'. Valid values are:" +msgstr "Coimeas “’%s” nach aithne dhuinn. Seo na luachan dligheach:" + +#: tools/appstreamcli.c:700 msgid "" -"The component ID is required to follow a reverse domain-name scheme for its " -"name. See the AppStream specification for details." +"Too many parameters: Need two version numbers or version numbers and a " +"comparison operator." msgstr "" +"Cus paramadairean: Tha feum air dà àireamh tionndaidh no àireamhan " +"tionndaidh is gnìomharaiche coimeis." -#: src/as-validator-issue-tag.h:114 +#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) +#: tools/appstreamcli.c:726 msgid "" -"The component ID might not follow the reverse domain-name schema (the TLD " -"used by it is not known to the validator)." +"Use the given .desktop file to fill in the basic values of the metainfo file." msgstr "" +"Cleachd am faidhle .desktop sònraiche gus luachan bunaiteach a lìonadh ann " +"am faidhle a’ mheata-fhiosrachaidh." -#: src/as-validator-issue-tag.h:293 +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand +#: tools/appstreamcli.c:731 msgid "" -"The component has a 'merge' method defined. This is not allowed in metainfo " -"files." +"This command takes optional TYPE and FILE positional arguments, FILE being a " +"file to write to (or \"-\" for standard output)." msgstr "" +"Gabhaidh an àithne seo ri argamaidean suidheachail TYPE is FILE ma thogras " +"tu agus FILE ’na fhaidhle ris an dèid sgrìobhadh (no “-” airson an às-chuir " +"stannardaich)." -#: src/as-validator-issue-tag.h:288 -msgid "" -"The component has a priority value set. This is not allowed in metainfo " -"files." +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows +#: tools/appstreamcli.c:734 +#, c-format +msgid "The TYPE must be a valid component-type, such as: %s" +msgstr "Feumaidh TYPE a bhith ’na component-type dligheach, can: %s" + +#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) +#: tools/appstreamcli.c:775 +msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:503 -msgid "The component is an addon, but no 'extends' tag was specified." +#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command +#: tools/appstreamcli.c:815 +msgid "Assume the input file is in the selected format ('yaml' or 'text')." msgstr "" -#: src/as-validator-issue-tag.h:440 +#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command +#: tools/appstreamcli.c:820 msgid "" -"The component is missing a long description. Components of this type must " -"have a long description." +"Limit the number of release entries that end up in the metainfo file (0 for " +"unlimited)." msgstr "" -#: src/as-validator-issue-tag.h:303 -msgid "The component is missing a name ( tag)." +#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command +#: tools/appstreamcli.c:862 +msgid "Generate the output in the selected format ('yaml' or 'text')." msgstr "" -#: src/as-validator-issue-tag.h:308 -msgid "The component is missing a summary ( tag)." +#: tools/appstreamcli.c:894 +#, c-format +msgid "Compose binary '%s' was not found! Can not continue." msgstr "" -#: src/as-validator-issue-tag.h:298 -msgid "The component is missing an ID ( tag)." +#. TRANSLATORS: this is a (usually shorter) command alias, shown after the command summary text +#: tools/appstreamcli.c:956 +#, c-format +msgid "(Alias: '%s')" msgstr "" -#: src/as-validator-issue-tag.h:136 -msgid "" -"The component is part of the Freedesktop project, but its ID does not start " -"with fd.o's reverse-DNS name (\"org.freedesktop\")." -msgstr "" +#. these are commands we can use with appstreamcli +#: tools/appstreamcli.c:983 +msgid "Subcommands:" +msgstr "Fo-àitheantan:" -#: src/as-validator-issue-tag.h:146 +#: tools/appstreamcli.c:1029 msgid "" -"The component is part of the GNOME project, but its ID does not start with " -"GNOMEs reverse-DNS name (\"org.gnome\")." +"You can find information about subcommand-specific options by passing \"--" +"help\" to the subcommand." msgstr "" +"Cuir “--help” ri fo-àithne gus fiosrachadh fhaighinn mu na roghainnean a tha " +"sònraichte dhan fho-àithne sin." -#: src/as-validator-issue-tag.h:141 +#. TRANSLATORS: ascli has been run with unknown command. '%s --help' is the command to receive help and should not be translated. +#: tools/appstreamcli.c:1052 +#, fuzzy, c-format msgid "" -"The component is part of the KDE project, but its ID does not start with " -"KDEs reverse-DNS name (\"org.kde\")." +"Command '%s' is unknown. Run '%s --help' for a list of available commands." msgstr "" +"Ruith “%s --help” gus liosta shlàn dhe roghainnean na loidhne-àithne a tha " +"ri fhaighinn a shealltainn." -#: src/as-validator-issue-tag.h:323 -msgid "The component name should (likely) not end with a dot ('.')." -msgstr "" +#. TRANSLATORS: ascli flag description for: --verbose +#: tools/appstreamcli.c:1082 +msgid "Show extra debugging information." +msgstr "Seall fiosrachadh dì-bhugachaidh a bharrachd." -#: src/as-validator-issue-tag.h:333 -msgid "The component summary must not contain tabs or linebreaks." +#. TRANSLATORS: ascli flag description for: --profile +#: tools/appstreamcli.c:1090 +msgid "Enable profiling" msgstr "" -#: src/as-validator-issue-tag.h:328 -msgid "The component summary should not end with a dot ('.')." -msgstr "" +#. TRANSLATORS: `appstreamcli search` command description. +#: tools/appstreamcli.c:1102 +msgid "Search the component database." +msgstr "Lorg ann an stòr-dàta nan co-phàirtean." -#: src/as-validator-issue-tag.h:243 -msgid "" -"The default screenshot of a software component must not be a video. Use a " -"static image as default screenshot and set the video as a secondary " -"screenshot." -msgstr "" +#. TRANSLATORS: `appstreamcli get` command description. +#: tools/appstreamcli.c:1107 +msgid "Get information about a component by its ID." +msgstr "Faigh fiosrachadh mu cho-phàirt a-rèir aithnicheir." -#: src/as-validator-issue-tag.h:86 +#. TRANSLATORS: `appstreamcli what-provides` command description. +#: tools/appstreamcli.c:1112 msgid "" -"The description contains a web URL in plain text. This is not allowed, " -"please use the tag instead to share links." +"Get components which provide the given item. Needs an item type (e.g. lib, " +"bin, python3, …) and item value as parameter." msgstr "" -#: src/as-validator.c:152 -msgid "" -"The emitted issue tag is unknown in the tag registry of AppStream. This is a " -"bug in the validator itself, please report this issue in our bugtracker." +#. TRANSLATORS: `appstreamcli dump` command description. +#: tools/appstreamcli.c:1118 +msgid "Dump raw XML metadata for a component matching the ID." msgstr "" +"Seall am meata-dàta XML amh airson co-phàirt a fhreagras ris an aithnichear." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:435 -msgid "" -"The essential tag 'metadata_license' is missing. A license for the metadata " -"itself always has to be defined." -msgstr "" +#. TRANSLATORS: `appstreamcli refresh-cache` command description. +#: tools/appstreamcli.c:1123 +msgid "Rebuild the component metadata cache." +msgstr "Ath-thog tasgadan meata-dàta nan co-phàirtean." -#: src/as-validator-issue-tag.h:79 -msgid "" -"The first 'description/p' paragraph of this component might be too short (< " -"80 characters). Please consider starting with a longer paragraph to improve " -"how the description looks like in software centers and to provide more " -"detailed information on this component immediately in the first paragraph." -msgstr "" +#. TRANSLATORS: `appstreamcli validate` command description. +#: tools/appstreamcli.c:1129 +msgid "Validate AppStream XML files for issues." +msgstr "Dearbhaich faidhlichean XML AppStream feuch a bheil duilgheadasan ann." -#: src/as-validator-issue-tag.h:156 -msgid "" -"The license ID was not found in the SPDX database. Please check that the " -"license ID is written in an SPDX-conformant way and is a valid free software " -"license." +#. TRANSLATORS: `appstreamcli validate-tree` command description. +#: tools/appstreamcli.c:1134 +msgid "Validate an installed file-tree of an application for valid metadata." msgstr "" +"Dearbhaich craobh fhaidhlichean aig aplacaid a chaidh a stàladh feuch a " +"bheil am meata-dàta a tha ann dligheach." -#: src/as-validator-issue-tag.h:96 -msgid "" -"The mentioned tag is empty, which is highly likely not intended as it should " -"have content." -msgstr "" +#. TRANSLATORS: `appstreamcli install` command description. +#: tools/appstreamcli.c:1140 +msgid "Install software matching the component-ID." +msgstr "Stàlaich bathar-bog a fhreagras ris a’ component-ID." -#: src/as-validator-issue-tag.h:168 -msgid "" -"The metadata itself does not seem to be licensed under a permissive license. " -"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " -"0BSD to allow distributors to include it in mixed data collections without " -"the risk of license violations due to mutually incompatible licenses." -msgstr "" +#. TRANSLATORS: `appstreamcli remove` command description. +#: tools/appstreamcli.c:1145 +msgid "Remove software matching the component-ID." +msgstr "Thoir air falbh bathar-bog a fhreagras ris a’ component-ID." -#: src/as-validator-issue-tag.h:162 -msgid "" -"The metadata itself seems to be licensed under a complex collection of " -"licenses. Please license the data under a simple permissive license, like " -"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " -"collections without the risk of license violations due to mutually " -"incompatible licenses." -msgstr "" +#. TRANSLATORS: `appstreamcli status` command description. +#: tools/appstreamcli.c:1151 +msgid "Display status information about available AppStream metadata." +msgstr "Seall fiosrachadh staide mun mheata-dàta AppStream a tha ri fhaighinn." -#: src/as-validator-issue-tag.h:599 +#. TRANSLATORS: `appstreamcli os-info` command description. +#: tools/appstreamcli.c:1156 msgid "" -"The metainfo file is stored in a legacy path. Please place it in '/usr/share/" -"metainfo'." +"Show information about the current operating system from the metadata index." msgstr "" -#: src/as-validator-issue-tag.h:604 -msgid "The metainfo file specifies multiple components. This is not allowed." -msgstr "" +#. TRANSLATORS: `appstreamcli put` command description. +#: tools/appstreamcli.c:1161 +msgid "Install a metadata file into the right location." +msgstr "Stàlaich faidhle meata-dàta gun ionad cheart." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:559 -msgid "" -"The metainfo file uses an ancient version of the AppStream specification, " -"which can not be validated. Please migrate it to version 0.6 (or higher)." -msgstr "" +#. TRANSLATORS: `appstreamcli convert` command description. "Collection XML" is a term describing a specific type of AppStream XML data. +#: tools/appstreamcli.c:1166 +msgid "Convert collection XML to YAML or vice versa." +msgstr "Iompaich XML cruinneachaidh gu YAML no an caochladh." -#: src/as-validator-issue-tag.h:569 -#, fuzzy -msgid "The metainfo filename does not match the component ID." -msgstr "Thoir air falbh bathar-bog a fhreagras ris a’ component-ID." +#. TRANSLATORS: `appstreamcli vercmp` command description. +#: tools/appstreamcli.c:1171 +msgid "Compare two version numbers." +msgstr "Dèan coimeas eadar dà àireamh tionndaidh." -#: src/as-validator-issue-tag.h:609 +#. TRANSLATORS: `appstreamcli new-template` command description. +#: tools/appstreamcli.c:1177 msgid "" -"The releases are not sorted in a latest to oldest version order. This is " -"required as some tools will assume that the latest version is always at the " -"top. Sorting releases also increases overall readability of the metainfo " -"file." +"Create a template for a metainfo file (to be filled out by the upstream " +"project)." msgstr "" +"Cruthaich teamplaid airson faidhle meata-fhiosrachaidh (a thèid lìonadh le " +"pròiseact upstream)." -#: src/as-validator-issue-tag.h:537 -msgid "The screenshot caption is too long (should be <= 80 characters)" +#. TRANSLATORS: `appstreamcli make-desktop-file` command description. +#: tools/appstreamcli.c:1182 +msgid "Create a desktop-entry file from a metainfo file." msgstr "" -#: src/as-validator-issue-tag.h:206 -msgid "The screenshot does not have a caption text. Consider adding one." +#. TRANSLATORS: `appstreamcli news-to-metainfo` command description. +#: tools/appstreamcli.c:1187 +msgid "Convert a YAML or text NEWS file into metainfo releases." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:218 -msgid "" -"The screenshot video does not specify which container format was used in a " -"'container' property." +#. TRANSLATORS: `appstreamcli metainfo-to-news` command description. +#: tools/appstreamcli.c:1192 +msgid "Write NEWS text or YAML file with information from a metainfo file." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:212 -msgid "" -"The screenshot video does not specify which video codec was used in a " -"'codec' property." +#. TRANSLATORS: `appstreamcli compose` command description. +#: tools/appstreamcli.c:1198 +msgid "Compose AppStream collection metadata from directory trees." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:224 -msgid "" -"The selected video codec is not supported by AppStream and software centers " -"may not be able to play the video. Only the AV1 and VP9 codecs are currently " -"supported, using 'av1' and 'vp9' as values for the 'codec' property." -msgstr "" +#. TRANSLATORS: ascli has been run without command. +#: tools/appstreamcli.c:1206 +msgid "You need to specify a command." +msgstr "Feumaidh tu àithne a shònrachadh." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:231 -msgid "" -"The selected video container format is not supported by AppStream and " -"software centers may not be able to play the video. Only the WebM and " -"Matroska video containers are currently supported, using 'webm' and 'mkv' as " -"values for the 'container' property." -msgstr "" +#. TRANSLATORS: In ascli: The requested action needs higher permissions. +#: tools/ascli-actions-mdata.c:70 +msgid "You might need superuser permissions to perform this action." +msgstr "Feumaidh tu ceadan superuser gus an gnìomh seo a dhèanamh." -#: src/as-validator-issue-tag.h:283 -#, fuzzy -msgid "" -"The set component type is not a recognized, valid AppStream component type." -msgstr "" -"Chan eil seòrsa “%s” a’ cho-phàirt bathair-bhog dligheach an an AppStream. " -"Seo na luachan dligheach:" +#. we performed a cache refresh +#. TRANSLATORS: Updating the metadata cache succeeded +#: tools/ascli-actions-mdata.c:80 +msgid "AppStream cache update completed successfully." +msgstr "Chaidh an tasgadan aig AppStream ùrachadh." -#: src/as-validator-issue-tag.h:398 -msgid "" -"The set value is not an identifier for a desktop environment as registered " -"with Freedesktop.org." -msgstr "" +#. cache wasn't updated, so the update wasn't necessary +#: tools/ascli-actions-mdata.c:86 +msgid "AppStream cache update is not necessary." +msgstr "Chan eil feum air ùrachadh an tasgadain aig AppStream." -#: tools/ascli-actions-mdata.c:449 -#, c-format -msgid "" -"The software component type '%s' is not valid in AppStream. Possible values " -"are:" -msgstr "" -"Chan eil seòrsa “%s” a’ cho-phàirt bathair-bhog dligheach an an AppStream. " -"Seo na luachan dligheach:" +#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments +#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. +#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:253 +#: tools/ascli-actions-pkgmgr.c:80 +msgid "You need to specify a component-ID." +msgstr "Feumaidh tu aithnichear co-phàirt a shònrachadh." -#: src/as-validator-issue-tag.h:338 -msgid "The summary must not contain any URL. Use the tags for links." -msgstr "" +#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:265 +#: tools/ascli-actions-pkgmgr.c:93 +#, c-format +msgid "Unable to find component with ID '%s'!" +msgstr "Cha do lorg sinn co-phàirt leis an aithnichear %s!" -#: src/as-validator-issue-tag.h:640 -msgid "" -"The type of the item that the component provides is not known to AppStream." -msgstr "" +#: tools/ascli-actions-mdata.c:164 +msgid "You need to specify a term to search for." +msgstr "Feumaidh tu facal-luirg a shònrachadh." -#: src/as-validator-issue-tag.h:174 -msgid "" -"The update-contact does not appear to be a valid email address (escaping of " -"'@' is only allowed as '_at_' or '_AT_')." -msgstr "" +#. TRANSLATORS: We failed to find any component in the database, likely due to an error +#: tools/ascli-actions-mdata.c:177 +#, c-format +msgid "Unable to find component matching %s!" +msgstr "Cha do lorg sinn co-phàirt a fhreagras ri %s!" -#: tools/ascli-actions-validate.c:363 tools/ascli-actions-validate.c:492 +#: tools/ascli-actions-mdata.c:182 #, c-format -msgid "" -"The validator can not create reports in the '%s' format. You may select " -"'yaml' or 'text' instead." -msgstr "" +msgid "No component matching '%s' found." +msgstr "Cha deach co-phàirt a fhreagras ri “%s” a lorg." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:410 -msgid "This 'bundle' tag has an unknown type and can not be used." -msgstr "" +#: tools/ascli-actions-mdata.c:206 +msgid "No value for the item to search for was defined." +msgstr "Cha deach luach a mhìneachadh airson lorg an nì." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:404 -msgid "This 'launchable' tag has an unknown type and can not be used." +#: tools/ascli-actions-mdata.c:212 +msgid "Invalid type for provided item selected. Valid values are:" msgstr "" +"Chan eil an seòrsa a thagh thu dhan nì a chaidh a sholar dligheach. Seo na " +"luachan dligheach:" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:515 -msgid "" -"This 'localization' component does not define any languages this " -"localization is for." -msgstr "" +#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results +#: tools/ascli-actions-mdata.c:227 +#, c-format +msgid "Could not find component providing '%s::%s'." +msgstr "Cha do lorg sinn co-phàirt a sholaireas “%s::%s”." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:509 -msgid "" -"This 'localization' component is missing an 'extends' tag, to specify the " -"components it adds localization to." -msgstr "" +#: tools/ascli-actions-mdata.c:306 +msgid "You need to specify a metadata file." +msgstr "Feumaidh tu ainm faidhle meata-dàta a shònrachadh." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:521 -msgid "" -"This 'service' component is missing a 'launchable' tag of type 'service'." -msgstr "" +#: tools/ascli-actions-mdata.c:320 +#, fuzzy, c-format +msgid "Unable to install metadata file: %s" +msgstr "Cha deach leinn am faidhle .desktop a leughadh: %s" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:473 -msgid "" -"This 'web-application' component is missing a 'icon' tag to specify a valid " -"icon." -msgstr "" +#: tools/ascli-actions-mdata.c:340 +msgid "You need to specify an input and output file." +msgstr "Feumaidh tu na faidhlichean ion-chur is às-chur a shònrachadh." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:467 -msgid "" -"This 'web-application' component is missing a 'launchable' tag of type 'url'." -msgstr "" +#: tools/ascli-actions-mdata.c:347 +#, c-format +msgid "Metadata file '%s' does not exist." +msgstr "Chan eil am faidhle meata-dàta “%s” ann." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:479 +#. TRANSLATORS: User is trying to convert a file in ascli +#: tools/ascli-actions-mdata.c:387 msgid "" -"This 'web-application' component is missing categorizations. A 'categories' " -"block is likely missing." +"Unable to convert file: Could not determine output format, please set it " +"explicitly using '--format='." msgstr "" +"Cha b’ urrainn dhuinn am faidhle iompachadh: Cha deach leinn mothachadh dha " +"dh’fhòrmat an às-chuir, suidhich a làimh e le “--format=”." -#: src/as-validator-issue-tag.h:564 -msgid "" -"This XML document has an unknown root tag. Maybe this file is not a metainfo " -"document?" -msgstr "" +#: tools/ascli-actions-mdata.c:438 +#, fuzzy, c-format +msgid "Unable to find operating system component '%s'!" +msgstr "Cha do lorg sinn co-phàirt leis an aithnichear %s!" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand -#: tools/appstream-cli.c:680 -msgid "" -"This command takes optional TYPE and FILE positional arguments, FILE being a " -"file to write to (or \"-\" for standard output)." -msgstr "" -"Gabhaidh an àithne seo ri argamaidean suidheachail TYPE is FILE ma thogras " -"tu agus FILE ’na fhaidhle ris an dèid sgrìobhadh (no “-” airson an às-chuir " -"stannardaich)." +#: tools/ascli-actions-mdata.c:443 +#, fuzzy +msgid "Version" +msgstr "Tionndadh: %s" -#: src/as-validator-issue-tag.h:622 +#: tools/ascli-actions-mdata.c:467 msgid "" -"This component extends, provides, requires or recommends itself, which is " -"certainly not intended and may confuse users or machines dealing with this " -"metadata." -msgstr "" - -#: src/as-validator-issue-tag.h:579 -msgid "This component metadata refers to a non-existing .desktop file." +"You need to give an AppStream software component type to generate a " +"template. Possible values are:" msgstr "" +"Feumaidh tu seòrsa a’ cho-phàirt bathair-bhog AppStream a thoirt seachad gus " +"teamplaid a ghintinn. Seo na luachan dligheach:" -#: src/as-validator-issue-tag.h:69 +#: tools/ascli-actions-mdata.c:469 +#, c-format msgid "" -"This description paragraph contains invalid markup. Currently, only " -"and are permitted." +"The software component type '%s' is not valid in AppStream. Possible values " +"are:" msgstr "" +"Chan eil seòrsa “%s” a’ cho-phàirt bathair-bhog dligheach an an AppStream. " +"Seo na luachan dligheach:" -#: src/as-validator-issue-tag.h:57 -msgid "" -"This element (paragraph, list, etc.) of a tag must not be " -"localized individually in collection metadata. Localize the whole " -" tag instead. The AppStream collection metadata generator (e." -"g. `appstream-generator`) will already do the right thing when compiling the " -"data." -msgstr "" +#: tools/ascli-actions-mdata.c:487 +#, c-format +msgid "The .desktop file '%s' does not exist." +msgstr "Chan eil am faidhle .desktop “%s” ann." -#: src/as-validator-issue-tag.h:455 -msgid "" -"This generic component is missing a long description. It may be useful to " -"add one." -msgstr "" +#: tools/ascli-actions-mdata.c:493 +#, c-format +msgid "Unable to read the .desktop file: %s" +msgstr "Cha deach leinn am faidhle .desktop a leughadh: %s" -#: src/as-validator-issue-tag.h:421 -msgid "" -"This tag is a GNOME-specific extension to AppStream and not part of the " -"official specification. Do not expect it to work in all implementations and " -"in all software centers." -msgstr "" +#: tools/ascli-actions-mdata.c:564 +#, c-format +msgid "Unable to build the template metainfo file: %s" +msgstr "Cha b’ urrainn dhuinn faidhle teamplaid a’ mheata-dàta a thogail: %s" -#: src/as-validator-issue-tag.h:41 -msgid "This tag requires a type property." +#: tools/ascli-actions-mdata.c:572 +#, c-format +msgid "Unable to save the template metainfo file: %s" msgstr "" +"Cha b’ urrainn dhuinn faidhle teamplaid a’ mheata-dàta a shàbhaladh: %s" -#: data/org.freedesktop.appstream.cli.metainfo.xml:15 -msgid "" -"This tool allows for reading, writing, validating and transformation of " -"AppStream XML or YAML metadata. It also gives access to the system metadata " -"pool, for example to query for software that provides a specific MIME-type, " -"and installing it by its software component identifier." -msgstr "" -"Leigidh an t-inneal seo leat meata-dàta XML no YAML AppStream a leughadh, a " -"sgrìobhadh, a dhearbhadh agus cruth-atharrachadh. Leigidh e leat cuideachd " -"amar meata-dàta an t-siostaim inntrigeadh, can airson ceasnachadh air bathar-" -"bog a bheir seòrsa MIME sònraichte dhut agus airson a stàladh a-rèir an " -"aithnichear co-phàirt bathair-bhog aige." +#. TRANSLATORS: In the status report of ascli: Header +#: tools/ascli-actions-misc.c:47 +msgid "AppStream Status:" +msgstr "Staid AppStream:" -#: src/as-validator-issue-tag.h:388 -msgid "" -"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." -msgstr "" +#: tools/ascli-actions-misc.c:48 +#, c-format +msgid "Version: %s" +msgstr "Tionndadh: %s" -#: tools/appstream-cli.c:648 -msgid "" -"Too many parameters: Need two version numbers or version numbers and a " -"comparison operator." -msgstr "" -"Cus paramadairean: Tha feum air dà àireamh tionndaidh no àireamhan " -"tionndaidh is gnìomharaiche coimeis." +#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions +#: tools/ascli-actions-misc.c:52 +msgid "Distribution metadata:" +msgstr "Meata-dàta an sgaoilidh:" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:461 -msgid "" -"Type 'console-application' component, but no information about binaries in " -"$PATH was provided via a 'provides/binary' tag." -msgstr "" +#: tools/ascli-actions-misc.c:94 +msgid "Iconsets" +msgstr "Buidhnean ìomhaigheagan" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:491 -msgid "" -"Type 'driver' component, but no modalias information was provided via a " -"provides/modalias tag." -msgstr "" +#: tools/ascli-actions-misc.c:105 +msgid "No icons." +msgstr "Chan eil ìomhaigheag ann." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:485 -msgid "" -"Type 'font' component, but no font information was provided via a 'provides/" -"font' tag." -msgstr "" +#. TRANSLATORS: No metainfo files have been found +#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 +msgid "Empty." +msgstr "Falamh." -#: src/as-validator.c:333 -msgid "URL format is invalid." -msgstr "" +#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report +#: tools/ascli-actions-misc.c:116 +msgid "Metainfo files:" +msgstr "Faidhlichean meata-fhiosrachaidh:" -#: tools/ascli-actions-mdata.c:544 +#: tools/ascli-actions-misc.c:123 #, c-format -msgid "Unable to build the template metainfo file: %s" -msgstr "Cha b’ urrainn dhuinn faidhle teamplaid a’ mheata-dàta a thogail: %s" - -#. TRANSLATORS: User is trying to convert a file in ascli -#: tools/ascli-actions-mdata.c:400 -msgid "" -"Unable to convert file: Could not determine output format, please set it " -"explicitly using '--format='." -msgstr "" -"Cha b’ urrainn dhuinn am faidhle iompachadh: Cha deach leinn mothachadh dha " -"dh’fhòrmat an às-chuir, suidhich a làimh e le “--format=”." +msgid "Found %i components." +msgstr "Chaidh %i co-phàirt(ean) a lorg." -#. TRANSLATORS: We failed to find any component in the database, likely due to an error -#: tools/ascli-actions-mdata.c:177 +#. TRANSLATORS: Found metainfo files in legacy directories +#: tools/ascli-actions-misc.c:138 #, c-format -msgid "Unable to find component matching %s!" -msgstr "Cha do lorg sinn co-phàirt a fhreagras ri %s!" +msgid "Found %i components in legacy paths." +msgstr "Chaidh %i co-phàirt(ean) a lorg ann an slighean dìleabach." -#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:266 -#: tools/ascli-actions-pkgmgr.c:93 +#. TRANSLATORS: Status summary in ascli +#: tools/ascli-actions-misc.c:145 +msgid "Summary:" +msgstr "Gearr-chunntas:" + +#: tools/ascli-actions-misc.c:153 #, c-format -msgid "Unable to find component with ID '%s'!" -msgstr "Cha do lorg sinn co-phàirt leis an aithnichear %s!" +msgid "We have information on %i software components." +msgstr "Tha fiosrachadh againn mu %i co-phàirt(ean) bathair-bhog." -#: tools/ascli-actions-misc.c:224 -#, fuzzy, c-format -msgid "Unable to load existing desktop-entry file template: %s" -msgstr "Cha deach leinn am faidhle .desktop a leughadh: %s" +#: tools/ascli-actions-misc.c:159 +#, c-format +msgid "Error while loading the metadata pool: %s" +msgstr "Mearachd le luchdadh amar a’ mheata-dàta: %s" -#: src/as-validator-issue-tag.h:356 -msgid "Unable to reach remote icon at the given web location - does it exist?" -msgstr "" +#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 +#, fuzzy +msgid "You need to specify a metainfo file as input." +msgstr "Feumaidh tu ainm faidhle meata-dàta a shònrachadh." -#: src/as-validator-issue-tag.h:378 +#: tools/ascli-actions-misc.c:188 msgid "" -"Unable to reach remote location that this URL references - does it exist?" +"You need to specify a desktop-entry file to create or augment as output." msgstr "" +"Feumaidh tu faidhle desktop-entry a shònrachadh ’na às-chur a thèid a " +"chruthachadh no a chur ris." -#: src/as-validator-issue-tag.h:179 -msgid "" -"Unable to reach the screenshot image on its remote location - does the image " -"exist?" -msgstr "" +#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 +#: tools/ascli-actions-misc.c:515 +#, fuzzy, c-format +msgid "Metainfo file '%s' does not exist." +msgstr "Chan eil am faidhle meata-dàta “%s” ann." -#: src/as-validator-issue-tag.h:184 -msgid "" -"Unable to reach the screenshot video on its remote location - does the video " -"file exist?" +#: tools/ascli-actions-misc.c:219 +#, c-format +msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." msgstr "" -#: src/as-validator-issue-tag.h:542 -#, fuzzy -msgid "Unable to read file." -msgstr "Cha deach leinn am faidhle .desktop a leughadh: %s" - -#: src/as-validator-issue-tag.h:574 -#, fuzzy -msgid "Unable to read the .desktop file associated with this component." +#: tools/ascli-actions-misc.c:224 +#, fuzzy, c-format +msgid "Unable to load existing desktop-entry file template: %s" msgstr "Cha deach leinn am faidhle .desktop a leughadh: %s" -#: tools/ascli-actions-mdata.c:473 +#: tools/ascli-actions-misc.c:228 #, c-format -msgid "Unable to read the .desktop file: %s" -msgstr "Cha deach leinn am faidhle .desktop a leughadh: %s" +msgid "Creating new desktop-entry file '%s' using data from '%s'" +msgstr "" -#: src/as-pool.c:606 -msgid "Unable to remove old cache." +#: tools/ascli-actions-misc.c:284 +msgid "No stock icon name was provided in the metainfo file. Can not continue." +msgstr "" + +#: tools/ascli-actions-misc.c:306 +msgid "" +"No provided binary specified in metainfo file, and no exec command specified " +"via '--exec'. Can not create 'Exec=' key." msgstr "" #: tools/ascli-actions-misc.c:370 @@ -1654,248 +2630,216 @@ msgid "Unable to save desktop entry file: %s" msgstr "Cha deach leinn am faidhle .desktop a leughadh: %s" -#: tools/ascli-actions-mdata.c:552 -#, c-format -msgid "Unable to save the template metainfo file: %s" +#: tools/ascli-actions-misc.c:393 +#, fuzzy +msgid "You need to specify a NEWS file as input." +msgstr "Feumaidh tu ainm faidhle meata-dàta a shònrachadh." + +#: tools/ascli-actions-misc.c:397 +#, fuzzy +msgid "" +"You need to specify a metainfo file to augment, or '-' to print to stdout." +msgstr "Feumaidh tu ainm faidhle meata-dàta a shònrachadh." + +#: tools/ascli-actions-misc.c:402 +msgid "No output filename specified, modifying metainfo file directly." msgstr "" -"Cha b’ urrainn dhuinn faidhle teamplaid a’ mheata-dàta a shàbhaladh: %s" + +#: tools/ascli-actions-misc.c:509 +#, fuzzy +msgid "You need to specify a NEWS file as output, or '-' to print to stdout." +msgstr "Feumaidh tu ainm faidhle meata-dàta a shònrachadh." + +#: tools/ascli-actions-misc.c:540 +#, fuzzy +msgid "You need to specify a NEWS format to write the output in." +msgstr "Feumaidh tu na faidhlichean ion-chur is às-chur a shònrachadh." + +#: tools/ascli-actions-pkgmgr.c:53 +msgid "" +"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" +"\" (part of PackageKit) is available." +msgstr "" +"Cha deach eadar-aghaidh loidhne-àithne manaidsear phacaidean iomchaidh a " +"lorg. Dèan cinnteach gu bheil “pkcon” (pàirt dhe PackageKit) ri fhaighinn, " +"mar eisimpleir." #: tools/ascli-actions-pkgmgr.c:67 #, c-format msgid "Unable to spawn package manager: %s" msgstr "Cha deach leinn manaidsear phacaidean a shìoladh: %s" -#: tools/ascli-actions-mdata.c:322 +#. TRANSLATORS: We found no distribution package or bundle to install to make this software available +#: tools/ascli-actions-pkgmgr.c:106 #, c-format -msgid "Unable to write to '%s', can not install metainfo file." -msgstr "" -"Cha deach leinn sgrìobhadh gu “%s” ’s chan urrainn dhuinn faidhle a’ mheata-" -"fhiosrachaidh a stàladh." +msgid "Component '%s' has no installation candidate." +msgstr "Chan eil tagraiche stàlaidh aig a’ cho-phàirt “%s”." -#. TRANSLATORS: ascli has been run with unknown command. -#: tools/appstream-cli.c:1009 -#, c-format -msgid "Unknown command '%s'." -msgstr "Àithne “%s” nach aithne dhuinn." +#: tools/ascli-actions-validate.c:176 tools/ascli-actions-validate.c:354 +#, fuzzy, c-format +msgid "File '%s' does not exist." +msgstr "Chan eil am faidhle meata-dàta “%s” ann." -#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. -#: tools/appstream-cli.c:608 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "error"-type hints +#: tools/ascli-actions-validate.c:228 #, c-format -msgid "Unknown compare relation '%s'. Valid values are:" -msgstr "Coimeas “’%s” nach aithne dhuinn. Seo na luachan dligheach:" - -#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) -#: tools/appstream-cli.c:675 -msgid "" -"Use the given .desktop file to fill in the basic values of the metainfo file." -msgstr "" -"Cleachd am faidhle .desktop sònraiche gus luachan bunaiteach a lìonadh ann " -"am faidhle a’ mheata-fhiosrachaidh." - -#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) -#: tools/appstream-cli.c:725 -msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." -msgstr "" - -#. TRANSLATORS: this is the menu spec main category for Utilities -#: src/as-category.c:329 -msgid "Utilities" -msgstr "Goireasan" +msgid "errors: %lu" +msgstr "mearachdan: %lu" -#: tools/appstream-cli.c:856 -msgid "Validate AppStream XML files for issues." -msgstr "Dearbhaich faidhlichean XML AppStream feuch a bheil duilgheadasan ann." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "warning"-type hints +#: tools/ascli-actions-validate.c:235 +#, c-format +msgid "warnings: %lu" +msgstr "rabhaidhean: %lu" -#: tools/appstream-cli.c:857 -msgid "Validate an installed file-tree of an application for valid metadata." -msgstr "" -"Dearbhaich craobh fhaidhlichean aig aplacaid a chaidh a stàladh feuch a " -"bheil am meata-dàta a tha ann dligheach." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "info"-type hints +#: tools/ascli-actions-validate.c:242 +#, c-format +msgid "infos: %lu" +msgstr "fiosrachadh: %lu" -#: tools/ascli-actions-validate.c:301 tools/ascli-actions-validate.c:442 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "pedantic"-type hints +#: tools/ascli-actions-validate.c:249 #, c-format -msgid "Validation failed: %s" -msgstr "Dh’fhaillig leis an dearbhadh: %s" +msgid "pedantic: %lu" +msgstr "beadaganach: %lu" + +#: tools/ascli-actions-validate.c:268 tools/ascli-actions-validate.c:342 +#, fuzzy +msgid "You need to specify at least one file to validate!" +msgstr "Feumaidh tu faidhle ri dhearbhadh a shònrachadh!" -#: tools/ascli-actions-validate.c:289 tools/ascli-actions-validate.c:430 +#: tools/ascli-actions-validate.c:294 tools/ascli-actions-validate.c:435 msgid "Validation was successful." msgstr "Chaidh leis an dearbhadh." -#: tools/ascli-actions-validate.c:291 tools/ascli-actions-validate.c:432 +#: tools/ascli-actions-validate.c:296 tools/ascli-actions-validate.c:437 #, c-format msgid "Validation was successful: %s" msgstr "Chaidh leis an dearbhadh: %s" -#: tools/appstream-cli.c:851 -msgid "Value of the item that should be found." -msgstr "Luach an nì a bu choir lorg." - -#: src/as-category.c:177 -msgctxt "Category of Graphics" -msgid "Vector Graphics" -msgstr "Grafaigeachd vectoran" - -#: tools/ascli-actions-misc.c:48 +#: tools/ascli-actions-validate.c:306 tools/ascli-actions-validate.c:447 #, c-format -msgid "Version: %s" -msgstr "Tionndadh: %s" - -#: src/as-category.c:180 -msgctxt "Category of Graphics" -msgid "Viewers" -msgstr "Sealladairean" +msgid "Validation failed: %s" +msgstr "Dh’fhaillig leis an dearbhadh: %s" -#: tools/ascli-actions-misc.c:153 +#: tools/ascli-actions-validate.c:368 tools/ascli-actions-validate.c:497 #, c-format -msgid "We have information on %i software components." -msgstr "Tha fiosrachadh againn mu %i co-phàirt(ean) bathair-bhog." - -#: src/as-category.c:270 -msgctxt "Category of Communication" -msgid "Web Browsers" -msgstr "Brabhsairean-lìn" - -#: src/as-category.c:202 -msgctxt "Category of Office" -msgid "Word Processor" -msgstr "Pròiseasadh fhaclan" - -#: tools/appstream-cli.c:871 -msgid "Write NEWS text or YAML file with information from a metainfo file." +msgid "" +"The validator can not create reports in the '%s' format. You may select " +"'yaml' or 'text' instead." msgstr "" -#: tools/appstream-cli.c:874 -msgid "" -"You can find information about subcommand-specific options by passing \"--" -"help\" to the subcommand." +#: tools/ascli-actions-validate.c:390 tools/ascli-actions-validate.c:484 +msgid "You need to specify a root directory to start validation!" msgstr "" -"Cuir “--help” ri fo-àithne gus fiosrachadh fhaighinn mu na roghainnean a tha " -"sònraichte dhan fho-àithne sin." +"Feumaidh tu pasgan freumha a shònrachadh gus tòiseachadh air an dearbhadh!" -#. TRANSLATORS: In ascli: The requested action needs higher permissions. -#: tools/ascli-actions-mdata.c:70 -msgid "You might need superuser permissions to perform this action." -msgstr "Feumaidh tu ceadan superuser gus an gnìomh seo a dhèanamh." +#: tools/ascli-utils.c:266 +msgid "Identifier" +msgstr "Aithnichear" -#: tools/ascli-actions-mdata.c:447 -msgid "" -"You need to give an AppStream software component type to generate a " -"template. Possible values are:" +#: tools/ascli-utils.c:268 +msgid "Internal ID" msgstr "" -"Feumaidh tu seòrsa a’ cho-phàirt bathair-bhog AppStream a thoirt seachad gus " -"teamplaid a ghintinn. Seo na luachan dligheach:" -#: tools/appstream-cli.c:579 -msgid "" -"You need to provide at least two version numbers to compare as parameters." -msgstr "" -"Feumaidh tu co-dhiù dà àireamh tionndaidh a chur seachad mar pharamadairean " -"a’ choimeis." +#: tools/ascli-utils.c:269 +msgid "Name" +msgstr "Ainm" -#: tools/ascli-actions-misc.c:393 -#, fuzzy -msgid "You need to specify a NEWS file as input." -msgstr "Feumaidh tu ainm faidhle meata-dàta a shònrachadh." +#: tools/ascli-utils.c:270 +msgid "Summary" +msgstr "Gearr-chunntas" -#: tools/ascli-actions-misc.c:509 -#, fuzzy -msgid "You need to specify a NEWS file as output, or '-' to print to stdout." -msgstr "Feumaidh tu ainm faidhle meata-dàta a shònrachadh." +#: tools/ascli-utils.c:271 +msgid "Package" +msgstr "Pacaid" -#: tools/ascli-actions-misc.c:540 -#, fuzzy -msgid "You need to specify a NEWS format to write the output in." -msgstr "Feumaidh tu na faidhlichean ion-chur is às-chur a shònrachadh." +#: tools/ascli-utils.c:272 +msgid "Bundle" +msgstr "Trusgan" -#. TRANSLATORS: ascli has been run without command. -#: tools/appstream-cli.c:925 -msgid "You need to specify a command." -msgstr "Feumaidh tu àithne a shònrachadh." +#: tools/ascli-utils.c:273 +msgid "Homepage" +msgstr "Duilleag-dhachaigh" -#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments -#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. -#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:254 -#: tools/ascli-actions-pkgmgr.c:80 -msgid "You need to specify a component-ID." -msgstr "Feumaidh tu aithnichear co-phàirt a shònrachadh." +#: tools/ascli-utils.c:274 +msgid "Icon" +msgstr "Ìomhaigheag" -#: tools/ascli-actions-misc.c:188 -#, fuzzy -msgid "" -"You need to specify a desktop-entry file to create or augment as output." -msgstr "Feumaidh tu faidhle ri dhearbhadh a shònrachadh!" +#. developer name +#: tools/ascli-utils.c:294 +msgid "Developer" +msgstr "Luchd-leasachaidh" -#: tools/ascli-actions-mdata.c:309 -msgid "You need to specify a metadata file." -msgstr "Feumaidh tu ainm faidhle meata-dàta a shònrachadh." +#: tools/ascli-utils.c:300 +msgid "Extends" +msgstr "Leudaichidh e" -#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 -#, fuzzy -msgid "You need to specify a metainfo file as input." -msgstr "Feumaidh tu ainm faidhle meata-dàta a shònrachadh." +#: tools/ascli-utils.c:306 +msgid "Description" +msgstr "Tuairisgeul" -#: tools/ascli-actions-misc.c:397 -#, fuzzy -msgid "" -"You need to specify a metainfo file to augment, or '-' to print to stdout." -msgstr "Feumaidh tu ainm faidhle meata-dàta a shònrachadh." +#: tools/ascli-utils.c:326 +msgid "Default Screenshot URL" +msgstr "URL bunaiteach nan glacadh-sgrìn" -#: tools/ascli-actions-validate.c:385 tools/ascli-actions-validate.c:479 -msgid "You need to specify a root directory to start validation!" -msgstr "" -"Feumaidh tu pasgan freumha a shònrachadh gus tòiseachadh air an dearbhadh!" +#. project group +#: tools/ascli-utils.c:333 +msgid "Project Group" +msgstr "Buidhean pròiseict" -#: tools/ascli-actions-mdata.c:164 -msgid "You need to specify a term to search for." -msgstr "Feumaidh tu facal-luirg a shònrachadh." +#. license +#: tools/ascli-utils.c:336 +msgid "License" +msgstr "Ceadachas" -#: tools/ascli-actions-mdata.c:357 -msgid "You need to specify an input and output file." -msgstr "Feumaidh tu na faidhlichean ion-chur is às-chur a shònrachadh." +#: tools/ascli-utils.c:342 +msgid "Categories" +msgstr "Roinnean-seòrsa" -#: tools/ascli-actions-validate.c:263 tools/ascli-actions-validate.c:337 -#, fuzzy -msgid "You need to specify at least one file to validate!" -msgstr "Feumaidh tu faidhle ri dhearbhadh a shònrachadh!" +#: tools/ascli-utils.c:350 +msgid "Compulsory for" +msgstr "Riatanach airson" -#. TRANSLATORS: List of "grey-listed" words sperated with ";" -#. * Do not translate this list directly. Instead, -#. * provide a list of words in your language that people are likely -#. * to include in a search but that should normally be ignored in -#. * the search. -#. -#: src/as-pool.c:107 -msgid "app;application;package;program;programme;suite;tool" -msgstr "" -"app;application;package;program;programme;suite;tool;aplacaid;paca;pacaid;" -"pacadh;pasgan;prògram;inneal" +#: tools/ascli-utils.c:378 +msgid "Provided Items" +msgstr "Nithean ’gan solar" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:223 -#, c-format -msgid "errors: %lu" -msgstr "mearachdan: %lu" +#, fuzzy, c-format +#~ msgid "Unable to open new cache file: %s" +#~ msgstr "Cha deach leinn am faidhle .desktop a leughadh: %s" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:237 -#, c-format -msgid "infos: %lu" -msgstr "fiosrachadh: %lu" +#~ msgid "" +#~ "AppStream is a cross-distribution specification to provide metadata about " +#~ "software components." +#~ msgstr "" +#~ "’S e sònrachadh thar-sgaoilidh a th’ ann an AppStream gus meata-dàta mu " +#~ "cho-phàirtean bathair-bhog a sholar." -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:244 #, c-format -msgid "pedantic: %lu" -msgstr "beadaganach: %lu" +#~ msgid "Unable to write to '%s', can not install metainfo file." +#~ msgstr "" +#~ "Cha deach leinn sgrìobhadh gu “%s” ’s chan urrainn dhuinn faidhle a’ " +#~ "mheata-fhiosrachaidh a stàladh." -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:230 #, c-format -msgid "warnings: %lu" -msgstr "rabhaidhean: %lu" +#~ msgid "" +#~ "Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " +#~ "suffix." +#~ msgstr "" +#~ "Cha b’ urrainn dhuinn lethbhreac dhe “%s” a dhèanamh: Chan eil iar-" +#~ "leasachan “.metainfo.xml” no “.appdata.xml” aig an fhaidhle." + +#~ msgid "An item type (e.g. lib, bin, python3, …)" +#~ msgstr "An seòrsa an nì (can lib, bin, python3, …)" -#~ msgid "Command '%s' is unknown." -#~ msgstr "Chan aithne dhuinn an àithne “%s”." +#~ msgid "Get components which provide the given item." +#~ msgstr "Fhaigh na co-phàirtean a bheir an nì sònraichte dhut." + +#, c-format +#~ msgid "Unknown command '%s'." +#~ msgstr "Àithne “%s” nach aithne dhuinn." -#~ msgid "Do not use any caches when performing the request." -#~ msgstr "Na cleachd tasgadan nuair thèid an iarrtas a chur an sàs." +#~ msgid "Value of the item that should be found." +#~ msgstr "Luach an nì a bu choir lorg." diff -Nru appstream-0.12.10/po/gl.po appstream-0.14.5/po/gl.po --- appstream-0.12.10/po/gl.po 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/po/gl.po 2021-08-28 20:15:28.000000000 +0000 @@ -1,1560 +1,2389 @@ +# #-#-#-#-# gl.po (AppStream) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Matthias Klumpp # This file is distributed under the same license as the appstream package. # Translators: # Fran Diéguez , 2014-2015 # Fran Diéguez , 2019. +# #-#-#-#-# gl.po (appstream-glib) #-#-#-#-# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Fran Diéguez , 2014-2015 +# Richard Hughes , 2016. #zanata +# Marcos Lans , 2018. +#, fuzzy msgid "" msgstr "" -"Project-Id-Version: AppStream\n" +"Project-Id-Version: appstream-glib\n" "Report-Msgid-Bugs-To: appstream@lists.freedesktop.org\n" -"POT-Creation-Date: 2020-01-14 01:44+0100\n" -"PO-Revision-Date: 2019-09-07 09:25+0000\n" -"Last-Translator: Fran Diéguez \n" -"Language-Team: Galician \n" +"POT-Creation-Date: 2021-08-28 16:09+0200\n" +"PO-Revision-Date: 2019-12-28 12:27+0100\n" +"Last-Translator: Fran Diéguez \n" +"Language-Team: Galician (http://www.transifex.com/freedesktop/appstream-glib/" +"language/gl/)\n" "Language: gl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"#-#-#-#-# gl.po (AppStream) #-#-#-#-#\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 3.9-dev\n" +"#-#-#-#-# gl.po (appstream-glib) #-#-#-#-#\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 2.2.4\n" -#: tools/appstream-cli.c:157 -#, c-format -msgid "'%s' command" -msgstr "Orde «%s»" - -#: src/as-category.c:168 -msgctxt "Category of Graphics" -msgid "3D Graphics" -msgstr "Gráficos 3D" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:254 -msgid "" -"A 'requires' or 'recommends' item requires a value to denote a valid " -"relation." -msgstr "" -"Un elemento «requires» ou «recommeds» require un valor para denotar unha " -"relación válida." - -#: src/as-validator-issue-tag.h:51 -msgid "" -"A tag must not be localized in metainfo files (upstream " -"metadata). Localize the individual paragraphs instead." -msgstr "" -"A etiqueta non debe ser localizada na metainformación dos " -"ficheiros (metadatos de upstream). Localice un parárafo individual no lugar." - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:195 -msgid "" -"A screenshot must contain at least one image or video in order to be useful. " -"Please add an to it." -msgstr "" -"Unha captura de pantalla debe conter cando menos unha imaxe ou un vídeo para " -"ser útil. Engádalle unha ." - -#: src/as-validator-issue-tag.h:200 -msgid "" -"A screenshot must contain either images or videos, but not both at the same " -"time. Please use this screenshot exclusively for either static images or for " -"videos." -msgstr "" -"Unha captura de pantalla debe conter unha imaxe ou un vídeo, pero non os " -"dous á vez. Empregue esta captura exclusivamente para imaxes estáticas ou " -"para os vídeos." - -#: src/as-category.c:123 -msgctxt "Category of Games" -msgid "Action" -msgstr "Acción" - -#. TRANSLATORS: this is the main category for Add-ons -#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor -#: src/as-category.c:320 tools/ascli-utils.c:398 -msgid "Add-ons" -msgstr "Engadidos" - -#: src/as-category.c:126 -msgctxt "Category of Games" -msgid "Adventure" -msgstr "Aventura" - -#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) -#: tools/appstream-cli.c:116 -msgid "Also show pedantic hints." -msgstr "Mostrar tamén comentarios pedantes." - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:497 -msgid "" -"An 'extends' tag is specified, but the component is not of type 'addon', " -"'localization' or 'repository'." -msgstr "" -"Especificouse unha etiqueta «extends», pero o compoñente non é de tipo " -"«addon», «localization» ou «repository»." - -#: tools/appstream-cli.c:850 -msgid "An item type (e.g. lib, bin, python3, …)" -msgstr "Un tipo de elemento (p.ex.. lib, bin, python3, …)" +#: data/org.freedesktop.appstream.cli.metainfo.xml:8 +msgid "AppStream CLI" +msgstr "Interface de consola de AppStream" #: data/org.freedesktop.appstream.cli.metainfo.xml:9 msgid "An utility to work with AppStream metadata" msgstr "Unha utilidade para traballar con metadatos de AppStream" -#: data/org.freedesktop.appstream.cli.metainfo.xml:8 -msgid "AppStream CLI" -msgstr "Interface de consola de AppStream" - -#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. -#: tools/appstream-cli.c:947 -#, c-format +#: data/org.freedesktop.appstream.cli.metainfo.xml:12 msgid "" -"AppStream CLI tool version: %s\n" -"AppStream library version: %s" +"AppStream is a metadata specification which permits software components to " +"provide information about themselves to automated systems and end-users " +"before the software is actually installed. The AppStream project provides " +"facilities to easily access and transform this metadata, as well as a few " +"additional services for building feature-rich software centers and similar " +"applications that make use of software metadata." msgstr "" -"Versión da ferramenta de consola de AppStream: %s\n" -"Versión da bilioteca de AppStream: %s" - -#. TRANSLATORS: In the status report of ascli: Header -#: tools/ascli-actions-misc.c:47 -msgid "AppStream Status:" -msgstr "Estado de AppStream:" - -#. we performed a cache refresh -#. TRANSLATORS: Updating the metadata cache succeeded -#: tools/ascli-actions-mdata.c:80 -msgid "AppStream cache update completed successfully." -msgstr "Actualización de caché de AppStream completada con éxito." - -#. cache wasn't updated, so the update wasn't necessary -#: tools/ascli-actions-mdata.c:86 -msgid "AppStream cache update is not necessary." -msgstr "Non é necesaria a actualización de antememoria de AppStream." -#. TRANSLATORS: This is the header to the --help menu for subcommands -#. TRANSLATORS: This is the header to the --help menu -#: tools/appstream-cli.c:154 tools/appstream-cli.c:843 -msgid "AppStream command-line interface" -msgstr "Interface por liña de ordes de AppStream" - -#: src/as-validator-issue-tag.h:63 +#: data/org.freedesktop.appstream.cli.metainfo.xml:18 msgid "" -"AppStream descriptions support only a limited set of tags to format text: " -"Paragraphs (

                                                                                                                                                                ) and lists (

                                                                                                                                                                  ,
                                                                                                                                                                    ). This description markup contains " -"an invalid XML tag that would not be rendered correctly in applications " -"supporting the metainfo specification." +"The appstreamcli command-line tool allows to read, write, and " +"transform AppStream XML or YAML metadata as well as to validate it for " +"compliance with the specification. It also provides easy access to the " +"system metadata pool, for example to query for software that provides a " +"specific Mediatype handler or for installing software by its component " +"identifier." msgstr "" -#: data/org.freedesktop.appstream.cli.metainfo.xml:12 -msgid "" -"AppStream is a cross-distribution specification to provide metadata about " -"software components." -msgstr "" +#: src/as-category.c:66 +msgctxt "Category of AudioVideo" +msgid "Featured" +msgstr "Destacado" -#: src/as-pool.c:1937 -#, c-format -msgid "" -"AppStream system cache refresh failed. Turn on verbose mode to get detailed " -"issue information." -msgstr "" +#: src/as-category.c:69 +msgctxt "Category of AudioVideo" +msgid "Audio Creation & Editing" +msgstr "Creación e edición de son" -#. TRANSLATORS: Output if appstreamcli --version is executed. -#: tools/appstream-cli.c:944 -#, c-format -msgid "AppStream version: %s" -msgstr "Versión de AppStream: %s" +#: src/as-category.c:75 +msgctxt "Category of AudioVideo" +msgid "Music Players" +msgstr "Reprodutores de música" -#: src/as-category.c:129 -msgctxt "Category of Games" -msgid "Arcade" -msgstr "Máquina recreativa" +#: src/as-category.c:84 +msgctxt "Category of Development" +msgid "Featured" +msgstr "Destacados" -#: src/as-category.c:234 -msgctxt "Category of Science" -msgid "Artificial Intelligence" -msgstr "Intelixencia artificial" +#: src/as-category.c:87 +msgctxt "Category of Development" +msgid "Debuggers" +msgstr "Depuradores" -#: src/as-validator-issue-tag.h:91 -msgid "" -"As per AppStream specification, the mentioned tag must only appear once in " -"this context. Having multiple tags of this kind is not valid." -msgstr "" +#: src/as-category.c:90 +msgctxt "Category of Development" +msgid "IDEs" +msgstr "EID" -#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command -#: tools/appstream-cli.c:766 -msgid "Assume the input file is in the selected format ('yaml' or 'text')." -msgstr "" +#: src/as-category.c:99 +msgctxt "Category of Education" +msgid "Featured" +msgstr "Destacados" -#: src/as-category.c:101 +#: src/as-category.c:102 msgctxt "Category of Education" msgid "Astronomy" msgstr "Astronomía" -#: src/as-category.c:237 -msgctxt "Category of Science" -msgid "Astronomy" -msgstr "Astronomía" +#: src/as-category.c:105 +msgctxt "Category of Education" +msgid "Chemistry" +msgstr "Química" -#. TRANSLATORS: this is the menu spec main category for Audio & Video -#: src/as-category.c:302 -msgid "Audio & Video" -msgstr "Son e Vídeo" +#: src/as-category.c:108 +msgctxt "Category of Education" +msgid "Languages" +msgstr "Idiomas" -#: src/as-category.c:68 -msgctxt "Category of AudioVideo" -msgid "Audio Creation & Editing" -msgstr "Creación e edición de son" +#: src/as-category.c:112 +msgctxt "Category of Education" +msgid "Math" +msgstr "Matemáticas" -#: tools/ascli-actions-misc.c:219 -#, c-format -msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." -msgstr "" +#: src/as-category.c:121 +msgctxt "Category of Games" +msgid "Featured" +msgstr "Destacados" -#: src/as-provided.c:146 -msgid "Binaries" -msgstr "Binarios" +#: src/as-category.c:124 +msgctxt "Category of Games" +msgid "Action" +msgstr "Acción" + +#: src/as-category.c:127 +msgctxt "Category of Games" +msgid "Adventure" +msgstr "Aventura" + +#: src/as-category.c:130 +msgctxt "Category of Games" +msgid "Arcade" +msgstr "Máquina recreativa" -#: src/as-category.c:132 +#: src/as-category.c:133 msgctxt "Category of Games" msgid "Blocks" msgstr "Bloques" -#: src/as-category.c:135 +#: src/as-category.c:136 msgctxt "Category of Games" msgid "Board" msgstr "De mesa" -#: tools/ascli-utils.c:299 -msgid "Bundle" -msgstr "Paquete" - -#: src/as-pool.c:1828 -#, c-format -msgid "Cache location '%s' is not writable." -msgstr "" - -#: src/as-category.c:191 -msgctxt "Category of Office" -msgid "Calendar" -msgstr "Calendario" - -#: tools/ascli-actions-mdata.c:327 -#, c-format -msgid "" -"Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " -"suffix." -msgstr "" - -#: src/as-category.c:138 +#: src/as-category.c:139 msgctxt "Category of Games" msgid "Card" msgstr "Cartas" -#: tools/ascli-utils.c:369 -msgid "Categories" -msgstr "Categorías" +#: src/as-category.c:142 +msgctxt "Category of Games" +msgid "Emulators" +msgstr "Emuladores" -#: src/as-category.c:259 -msgctxt "Category of Communication" -msgid "Chat" -msgstr "Chat" +#: src/as-category.c:145 +msgctxt "Category of Games" +msgid "Kids" +msgstr "Nenos" -#: src/as-category.c:104 -msgctxt "Category of Education" -msgid "Chemistry" -msgstr "Química" +#: src/as-category.c:148 +msgctxt "Category of Games" +msgid "Logic" +msgstr "Lóxica" -#: src/as-category.c:240 -msgctxt "Category of Science" -msgid "Chemistry" -msgstr "Química" +#: src/as-category.c:151 +msgctxt "Category of Games" +msgid "Role Playing" +msgstr "Xogos de rol" -#: src/as-category.c:214 -msgctxt "Category of Addons" -msgid "Codecs" -msgstr "Códecs" +#: src/as-category.c:154 +msgctxt "Category of Games" +msgid "Sports" +msgstr "Deportes" -#. TRANSLATORS: this is the menu spec main category for Communication -#: src/as-category.c:326 -msgid "Communication & News" -msgstr "Comunicación e novas" +#: src/as-category.c:158 +msgctxt "Category of Games" +msgid "Strategy" +msgstr "Estratexia" -#: tools/appstream-cli.c:866 -msgid "Compare two version numbers." -msgstr "Comparar dous números de versión." +#: src/as-category.c:166 +msgctxt "Category of Graphics" +msgid "Featured" +msgstr "Destacados" -#: src/as-provided.c:166 -msgid "Component" -msgstr "Compoñente" +#: src/as-category.c:169 +msgctxt "Category of Graphics" +msgid "3D Graphics" +msgstr "Gráficos 3D" -#. TRANSLATORS: We found no distribution package or bundle to install to make this software available -#: tools/ascli-actions-pkgmgr.c:106 -#, c-format -msgid "Component '%s' has no installation candidate." +#: src/as-category.c:172 +msgctxt "Category of Graphics" +msgid "Photography" msgstr "" -#: tools/ascli-utils.c:377 -msgid "Compulsory for" -msgstr "Obrigatorio para" +#: src/as-category.c:175 +msgctxt "Category of Graphics" +msgid "Scanning" +msgstr "Dixitalización" -#: src/as-validator-issue-tag.h:361 -msgid "Consider using a secure (HTTPS) URL for the remote icon link." -msgstr "" +#: src/as-category.c:178 +msgctxt "Category of Graphics" +msgid "Vector Graphics" +msgstr "Gráficos vectorizados" -#: src/as-validator-issue-tag.h:383 -msgid "Consider using a secure (HTTPS) URL for this web link." +#: src/as-category.c:181 +msgctxt "Category of Graphics" +msgid "Viewers" msgstr "" -#: src/as-validator-issue-tag.h:189 -msgid "" -"Consider using a secure (HTTPS) URL to reference this screenshot image or " -"video." -msgstr "" +#: src/as-category.c:189 +msgctxt "Category of Office" +msgid "Featured" +msgstr "Destacados" -#: tools/appstream-cli.c:870 -msgid "Convert a YAML or text NEWS file into metainfo releases." -msgstr "" +#: src/as-category.c:192 +msgctxt "Category of Office" +msgid "Calendar" +msgstr "Calendario" -#. TRANSLATORS: "convert" command in ascli. "Collection XML" is a term describing a specific type of AppStream XML data. -#: tools/appstream-cli.c:865 -msgid "Convert collection XML to YAML or vice versa." -msgstr "" +#: src/as-category.c:196 +msgctxt "Category of Office" +msgid "Database" +msgstr "Base de datos" -#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results -#: tools/ascli-actions-mdata.c:228 -#, c-format -msgid "Could not find component providing '%s::%s'." -msgstr "Non foi posíbel atopar un compoñente que forneza «%s::%s»." +#: src/as-category.c:199 +msgctxt "Category of Office" +msgid "Finance" +msgstr "Finanzas" -#: tools/appstream-cli.c:869 -msgid "Create a XDG desktop-entry file from a metainfo file." +#: src/as-category.c:203 +msgctxt "Category of Office" +msgid "Word Processor" msgstr "" -#: tools/appstream-cli.c:868 -msgid "" -"Create a template for a metainfo file (to be filled out by the upstream " -"project)." -msgstr "" +#: src/as-category.c:212 +msgctxt "Category of Addons" +msgid "Fonts" +msgstr "Tipos de letra" -#: tools/ascli-actions-misc.c:228 -#, c-format -msgid "Creating new desktop-entry file '%s' using data from '%s'" -msgstr "" +#: src/as-category.c:215 +msgctxt "Category of Addons" +msgid "Codecs" +msgstr "Códecs" -#: src/as-provided.c:160 -msgid "D-Bus Session Services" -msgstr "Servidos de D-Bus da sesión" +#: src/as-category.c:218 +msgctxt "Category of Addons" +msgid "Input Sources" +msgstr "Fontes de entrada" -#: src/as-provided.c:158 -msgid "D-Bus System Services" -msgstr "Servizos de D-Bus do sistema" +#: src/as-category.c:221 +msgctxt "Category of Addons" +msgid "Language Packs" +msgstr "Paquetes de idiomas" -#: src/as-category.c:195 -msgctxt "Category of Office" -msgid "Database" -msgstr "Base de datos" +#: src/as-category.c:224 +msgctxt "Category of Addons" +msgid "Localization" +msgstr "Localización" -#: src/as-category.c:86 -msgctxt "Category of Development" -msgid "Debuggers" -msgstr "Depuradores" +#: src/as-category.c:232 +msgctxt "Category of Science" +msgid "Featured" +msgstr "Destacados" -#: tools/ascli-utils.c:353 -msgid "Default Screenshot URL" -msgstr "URL predeterminada da captura de pantalla" +#: src/as-category.c:235 +msgctxt "Category of Science" +msgid "Artificial Intelligence" +msgstr "Intelixencia artificial" -#. TRANSLATORS: ascli flag description for: --format -#: tools/appstream-cli.c:83 -msgid "Default metadata format (valid values are 'xml' and 'yaml')." +#: src/as-category.c:238 +msgctxt "Category of Science" +msgid "Astronomy" +msgstr "Astronomía" + +#: src/as-category.c:241 +msgctxt "Category of Science" +msgid "Chemistry" +msgstr "Química" + +#: src/as-category.c:244 +msgctxt "Category of Science" +msgid "Math" +msgstr "Matemáticas" + +#: src/as-category.c:249 +msgctxt "Category of Science" +msgid "Robotics" +msgstr "Robótica" + +#: src/as-category.c:257 +msgctxt "Category of Communication" +msgid "Featured" +msgstr "Destacado" + +#: src/as-category.c:260 +msgctxt "Category of Communication" +msgid "Chat" +msgstr "Chat" + +#: src/as-category.c:267 +msgctxt "Category of Communication" +msgid "News" +msgstr "Novas" + +#: src/as-category.c:271 +msgctxt "Category of Communication" +msgid "Web Browsers" msgstr "" -#: tools/ascli-utils.c:333 -msgid "Description" -msgstr "Descrición" +#: src/as-category.c:279 +msgctxt "Category of Utility" +msgid "Featured" +msgstr "Destacados" -#. developer name -#: tools/ascli-utils.c:321 -msgid "Developer" -msgstr "Desenvolvedor" +#: src/as-category.c:282 +msgctxt "Category of Utility" +msgid "Text Editors" +msgstr "Editores de texto" + +#: src/as-category.c:285 +msgctxt "Category of Utility" +msgid "Terminal Emulators" +msgstr "Emuladores de terminal" + +#: src/as-category.c:288 +msgctxt "Category of Utility" +msgid "File System" +msgstr "Sistema de ficheiros" + +#: src/as-category.c:291 +msgctxt "Category of Utility" +msgid "System Monitoring" +msgstr "Monitorización do sistema" + +#: src/as-category.c:294 +msgctxt "Category of Utility" +msgid "Security" +msgstr "Seguridade" + +#. TRANSLATORS: this is the menu spec main category for Audio & Video +#: src/as-category.c:303 +msgid "Audio & Video" +msgstr "Son e Vídeo" #. TRANSLATORS: this is the menu spec main category for Development -#: src/as-category.c:305 +#: src/as-category.c:306 msgid "Developer Tools" msgstr "Ferramentas de desenvolvemento" -#: tools/appstream-cli.c:862 -msgid "Display status information about available AppStream metadata." -msgstr "" +#. TRANSLATORS: this is the menu spec main category for Education +#: src/as-category.c:309 +msgid "Education" +msgstr "Educación" -#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions -#: tools/ascli-actions-misc.c:52 -msgid "Distribution metadata:" +#. TRANSLATORS: this is the menu spec main category for Game +#: src/as-category.c:312 +msgid "Games" +msgstr "Xogos" + +#. TRANSLATORS: this is the menu spec main category for Graphics +#: src/as-category.c:315 +msgid "Graphics & Photography" +msgstr "Imaxes e fotografía" + +#. TRANSLATORS: this is the menu spec main category for Office +#: src/as-category.c:318 +msgid "Office" +msgstr "Oficina" + +#. TRANSLATORS: this is the main category for Add-ons +#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor +#: src/as-category.c:321 tools/ascli-utils.c:371 +msgid "Add-ons" +msgstr "Engadidos" + +#. TRANSLATORS: this is the menu spec main category for Science +#: src/as-category.c:324 +msgid "Science" +msgstr "Ciencias" + +#. TRANSLATORS: this is the menu spec main category for Communication +#: src/as-category.c:327 +msgid "Communication & News" +msgstr "Comunicación e novas" + +#. TRANSLATORS: this is the menu spec main category for Utilities +#: src/as-category.c:330 +msgid "Utilities" msgstr "" -#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) -#: tools/appstream-cli.c:126 -msgid "Do not use network access." +#. TRANSLATORS: This is the formatting of English and localized name +#. * of the rating e.g. "Adults Only (solo adultos)" +#: src/as-content-rating.c:298 +#, c-format +msgid "%s (%s)" +msgstr "%s (%s)" + +#: src/as-content-rating.c:444 +msgid "General" +msgstr "Xeral" + +#: src/as-content-rating.c:453 +msgid "ALL" +msgstr "TODO" + +#: src/as-content-rating.c:457 src/as-content-rating.c:560 +msgid "Adults Only" +msgstr "Só adultos" + +#: src/as-content-rating.c:459 src/as-content-rating.c:559 +msgid "Mature" +msgstr "Maduro" + +#: src/as-content-rating.c:461 src/as-content-rating.c:558 +msgid "Teen" +msgstr "Adolescentes" + +#: src/as-content-rating.c:463 src/as-content-rating.c:557 +msgid "Everyone 10+" +msgstr "Con máis de 10 anos" + +#: src/as-content-rating.c:465 src/as-content-rating.c:556 +msgid "Everyone" +msgstr "Calquera" + +#: src/as-content-rating.c:467 src/as-content-rating.c:555 +msgid "Early Childhood" +msgstr "Nenos pequenos" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:839 +msgid "No cartoon violence" +msgstr "Sen violencia con personaxes animados" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:841 +msgid "Cartoon characters in unsafe situations" +msgstr "Personaxes de banda deseñada en situacións non seguras" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:843 +msgid "Cartoon characters in aggressive conflict" +msgstr "Personaxes animados en conflitos agresivos" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:845 +msgid "Graphic violence involving cartoon characters" +msgstr "Violencia gráfica con personaxes animados" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:850 +msgid "No fantasy violence" +msgstr "Sen violencia fantástica" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:852 +msgid "Characters in unsafe situations easily distinguishable from reality" +msgstr "" +"Personaxes en situacións non seguras distinguíbeis facilmante da realidade" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:854 +msgid "Characters in aggressive conflict easily distinguishable from reality" +msgstr "" +"Personaxes en conflitos agresivos distinguíbeis facilmente da realidade" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:856 +msgid "Graphic violence easily distinguishable from reality" +msgstr "Violencia gráfica distinguíbel facilmente da realidade" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:861 +msgid "No realistic violence" +msgstr "Sen violencia realista" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:863 +msgid "Mildly realistic characters in unsafe situations" +msgstr "Personaxes semi-realistas en situacións non seguras" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:865 +msgid "Depictions of realistic characters in aggressive conflict" +msgstr "Representacións de personaxes realistas en conflitos agresivos" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:867 +msgid "Graphic violence involving realistic characters" +msgstr "Violencia gráfica con personaes realistas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:872 +msgid "No bloodshed" +msgstr "Sen masacres" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:874 +msgid "Unrealistic bloodshed" +msgstr "Masacre non realista" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:876 +msgid "Realistic bloodshed" +msgstr "Masacre realista" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:878 +msgid "Depictions of bloodshed and the mutilation of body parts" +msgstr "Representacións de masacres e mutilación de partes do corpo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:883 +msgid "No sexual violence" +msgstr "Sen violencia sexual" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:885 +msgid "Rape or other violent sexual behavior" +msgstr "Violación ou outro comportamento sexual violento" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:892 +msgid "No references to alcohol" +msgstr "Sen referencias a bebidas alcohólicas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:894 +msgid "References to alcoholic beverages" +msgstr "Referencias a bebeidas alcohólicas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:896 +msgid "Use of alcoholic beverages" +msgstr "Use de bebidas alcohólicas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:902 +msgid "No references to illicit drugs" +msgstr "Sen referencias a drogas ilegais" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:904 +msgid "References to illicit drugs" +msgstr "Referencias a drogas ilegais" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:906 +msgid "Use of illicit drugs" +msgstr "Uso de drogas ilegais" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:912 +msgid "No references to tobacco products" +msgstr "Sen referencias a produtos de tabaco" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:914 +msgid "References to tobacco products" +msgstr "Referencias ao tabaco" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:916 +msgid "Use of tobacco products" +msgstr "Uso de tabaco" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:922 +msgid "No nudity of any sort" +msgstr "Sen desnudos de ningún tipo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:924 +msgid "Brief artistic nudity" +msgstr "Desnudez artística breve" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:926 +msgid "Prolonged nudity" +msgstr "Desnudez prolongada" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:932 +msgid "No references to or depictions of sexual nature" +msgstr "Sen representacións ou referencias sexuais" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:934 +msgid "Provocative references or depictions" +msgstr "Representacións ou referencias provocativas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:936 +msgid "Sexual references or depictions" +msgstr "Representacións ou referencias sexuais" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:938 +msgid "Graphic sexual behavior" +msgstr "Comportamento sexual gráfico" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:943 +msgid "No profanity of any kind" +msgstr "Sen blasfemia de ningún tipo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:945 +msgid "Mild or infrequent use of profanity" +msgstr "Uso moderado ou pouco frecuente da blasfemia" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:947 +msgid "Moderate use of profanity" +msgstr "Uso moderado da blasfemia" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:949 +msgid "Strong or frequent use of profanity" +msgstr "Uso amplio ou frecuente da blasfemia" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:954 +msgid "No inappropriate humor" +msgstr "Sen humor non axeitado" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:956 +msgid "Slapstick humor" +msgstr "Humor" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:958 +msgid "Vulgar or bathroom humor" +msgstr "Humor vulgar ou estolóxico" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:960 +msgid "Mature or sexual humor" +msgstr "Humor adulto ou sexual" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:965 +msgid "No discriminatory language of any kind" +msgstr "Sen idioma discriminatorio de calqueira tipo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:967 +msgid "Negativity towards a specific group of people" +msgstr "Negatividade cara un determinado grupo de persoas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:969 +msgid "Discrimination designed to cause emotional harm" +msgstr "Discriminación para causar dano emocional" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:971 +msgid "Explicit discrimination based on gender, sexuality, race or religion" +msgstr "" +"Discriminación explícita baseada en xénero, sexualidade, raza ou relixión" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:976 +msgid "No advertising of any kind" +msgstr "Sen publicidade de ningún tipo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:978 +msgid "Product placement" +msgstr "Venta de produtos" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:980 +msgid "Explicit references to specific brands or trademarked products" +msgstr "" +"Referencias explícitas a marcas concretas ou produtos de marcas rexistradas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:982 +msgid "Users are encouraged to purchase specific real-world items" +msgstr "Incítase aos xogadores a comprar determian dos elementos do mundo real" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:987 +msgid "No gambling of any kind" +msgstr "Sen apostas de ningún tipo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:989 +msgid "Gambling on random events using tokens or credits" +msgstr "Xogo en eventos aleatorios usando créditos ou vidas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:991 +msgid "Gambling using “play” money" +msgstr "Xogo usando diñeiro virtual" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:993 +msgid "Gambling using real money" +msgstr "Xogo usando diñeiro real" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:998 +msgid "No ability to spend money" +msgstr "Sen posibilidade de gastar" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1000 +msgid "Users are encouraged to donate real money" +msgstr "Incítase aos xogadores a donar diñeiro real" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1003 +msgid "Ability to spend real money in-app" +msgstr "Posibilidade de gastar diñeiro real no xogo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1008 +msgid "No way to chat with other users" +msgstr "Sen posibilidade de chatear con outros usuarios" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1010 +msgid "User-to-user interactions without chat functionality" +msgstr "Interaccións de usuario a usuario sen a funcionalidade de chat" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1012 +msgid "Moderated chat functionality between users" +msgstr "Funcionalidade de chat moderado entre usuarios" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1014 +msgid "Uncontrolled chat functionality between users" +msgstr "Funcionalidade de chat sen controlar entre usuarios" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1019 +msgid "No way to talk with other users" +msgstr "Sen posibilidade de falar con outros usuarios" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1021 +msgid "Uncontrolled audio or video chat functionality between users" +msgstr "Funcionalidade de son ou vídeo sen controlar entre usuarios" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1028 +msgid "No sharing of social network usernames or email addresses" +msgstr "" +"Non comparte nas redes socaiais de nomes de usuario ou enderezos de correo-e" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1030 +msgid "Sharing social network usernames or email addresses" +msgstr "" +"Compartición en redes sociais de nomes de usuario ou enderezos de correo-e" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1037 +msgid "No sharing of user information with third parties" +msgstr "Non comnparte a información do usuario con terceiros" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1039 +msgid "Checking for the latest application version" +msgstr "Buscando a última versión da aplicación" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1041 +msgid "Sharing diagnostic data that does not let others identify the user" +msgstr "" +"Compartición de datos de diagnóstico que non lle permite a outros " +"identificar ao usuario" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1043 +msgid "Sharing information that lets others identify the user" +msgstr "Compartición de información identificable ao usuario" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1048 +msgid "No sharing of physical location with other users" +msgstr "Non comparte a localización física con outros usuarios" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1050 +msgid "Sharing physical location with other users" +msgstr "Compartición da localización física con outros usuarios" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1073 +msgid "No references to homosexuality" +msgstr "Sen referencias a homosexualidade" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1075 +msgid "Indirect references to homosexuality" +msgstr "Referencias indirectas á homosexualidade" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1077 +msgid "Kissing between people of the same gender" +msgstr "Bicos entre persoas do mesmo xénero" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1079 +msgid "Graphic sexual behavior between people of the same gender" +msgstr "Comportamento sexual gráfico entre persoas do mesmo sexo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1084 +msgid "No references to prostitution" +msgstr "Sen referencias a prostitución" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1086 +msgid "Indirect references to prostitution" +msgstr "Referencias indirectas á prostitución" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1088 +msgid "Direct references to prostitution" +msgstr "Referencias directas á prostitución" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1090 +msgid "Graphic depictions of the act of prostitution" +msgstr "Representacións gráficas do acto da prostitución" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1095 +msgid "No references to adultery" +msgstr "Sen referencias ao adulterio" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1097 +msgid "Indirect references to adultery" +msgstr "Referencias indirectas ao adulterio" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1099 +msgid "Direct references to adultery" +msgstr "Referencias directas ao adulterio" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1101 +msgid "Graphic depictions of the act of adultery" +msgstr "Representacións gráficas ao acto do adulterio" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1106 +msgid "No sexualized characters" +msgstr "Sen personaxes sexualizados" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1109 +msgid "Scantily clad human characters" +msgstr "Personaxes humanos escasamente vestidos" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1111 +msgid "Overtly sexualized human characters" +msgstr "Caracteres humanos abertamente sexualizados" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1116 +msgid "No references to desecration" +msgstr "Sen referencias á profanación" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1118 +msgid "Depictions of or references to historical desecration" +msgstr "Representacións ou referencias á profanación histórica" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1120 +msgid "Depictions of modern-day human desecration" +msgstr "Representacións da profanación humana moderna" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1122 +msgid "Graphic depictions of modern-day desecration" +msgstr "Representacións gráficas da profanación moderna" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1127 +msgid "No visible dead human remains" +msgstr "Non hai restos humanos mortos visíbeis" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1129 +msgid "Visible dead human remains" +msgstr "Restos humanos mortos visíbeis" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1131 +msgid "Dead human remains that are exposed to the elements" +msgstr "Restos humanos mortos que están expostos aos elementos" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1133 +msgid "Graphic depictions of desecration of human bodies" +msgstr "Representacións gráficas de profanación de corpos humanos" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1138 +msgid "No references to slavery" +msgstr "Sen referencias á escravitude" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1140 +msgid "Depictions of or references to historical slavery" +msgstr "Representacións ou referencias á escravitude histórica" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1142 +msgid "Depictions of modern-day slavery" +msgstr "Representacións de escravitude moderna" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1144 +msgid "Graphic depictions of modern-day slavery" +msgstr "Representacións gráficas de escravitude moderna" + +#. TRANSLATORS: We got a 429 error while trying to download data +#: src/as-curl.c:134 +#, c-format +msgid "Failed to download due to server limit" msgstr "" -#. TRANSLATORS: ascli flag description for: --no-color -#: tools/appstream-cli.c:908 -msgid "Don't show colored output." -msgstr "Non mostrar a saída con cores." +#: src/as-curl.c:141 src/as-curl.c:148 +#, fuzzy, c-format +msgid "Failed to download file: %s" +msgstr "Non foi posíbel atopar os compoñentes que coinciden con %s!" -#: tools/appstream-cli.c:853 -msgid "Dump raw XML metadata for a component matching the ID." +#. TRANSLATORS: We tried to download an URL, but received a 404 error code +#: src/as-curl.c:157 +#, c-format +msgid "URL was not found on the server." msgstr "" -#. TRANSLATORS: this is the menu spec main category for Education -#: src/as-category.c:308 -msgid "Education" -msgstr "Educación" +#. TRANSLATORS: We received an uexpected HTTP status code while talking to a server, likely an error +#: src/as-curl.c:164 +#, c-format +msgid "Unexpected status code: %ld" +msgstr "" -#. TRANSLATORS: No metainfo files have been found -#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 -msgid "Empty." -msgstr "Baleiro." +#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty +#: src/as-curl.c:247 +#, c-format +msgid "Retrieved file size was zero." +msgstr "" -#: src/as-category.c:141 -msgctxt "Category of Games" -msgid "Emulators" -msgstr "Emuladores" +#. TRANSLATORS: List of "grey-listed" words sperated with ";" +#. * Do not translate this list directly. Instead, +#. * provide a list of words in your language that people are likely +#. * to include in a search but that should normally be ignored in +#. * the search. +#. +#: src/as-pool.c:111 +msgid "app;application;package;program;programme;suite;tool" +msgstr "app;aplicativo;aplicación;paquete;programa;suite;ferramenta" -#. TRANSLATORS: ascli flag description for: --force -#: tools/appstream-cli.c:245 -msgid "Enforce a cache refresh." -msgstr "Forzar a actualización da caché." +#: src/as-pool.c:620 +msgid "Unable to remove old cache." +msgstr "" -#: src/as-validator-issue-tag.h:74 -msgid "Enumerations must only have list items (
                                                                                                                                                                  1. ) as children." +#: src/as-pool.c:963 +msgid "Metadata files have errors:" msgstr "" -#: tools/ascli-actions-misc.c:159 +#: src/as-pool.c:1370 +msgid "" +"Many components have been recognized as invalid. See debug output for " +"details." +msgstr "" + +#: src/as-pool.c:1996 #, c-format -msgid "Error while loading the metadata pool: %s" +msgid "Cache location '%s' is not writable." msgstr "" -#: tools/ascli-utils.c:327 -msgid "Extends" -msgstr "Extende" +#: src/as-pool.c:2109 +msgid "" +"The AppStream system cache was updated, but some components were ignored. " +"Refer to the verbose log for more information." +msgstr "" -#: src/as-category.c:65 -msgctxt "Category of AudioVideo" -msgid "Featured" -msgstr "Destacado" +#: src/as-pool.c:2111 +#, c-format +msgid "" +"The AppStream system cache was updated, but problems were found which " +"resulted in metadata being ignored: %s" +msgstr "" -#: src/as-category.c:256 -msgctxt "Category of Communication" -msgid "Featured" -msgstr "Destacado" +#: src/as-pool.c:2125 +#, c-format +msgid "" +"AppStream system cache refresh failed. Turn on verbose mode to get detailed " +"issue information." +msgstr "" -#: src/as-category.c:83 -msgctxt "Category of Development" -msgid "Featured" -msgstr "Destacados" +#: src/as-provided.c:144 +msgid "Libraries" +msgstr "Bibliotecas" -#: src/as-category.c:98 -msgctxt "Category of Education" -msgid "Featured" -msgstr "Destacados" +#: src/as-provided.c:146 +msgid "Binaries" +msgstr "Binarios" -#: src/as-category.c:120 -msgctxt "Category of Games" -msgid "Featured" -msgstr "Destacados" +#: src/as-provided.c:148 +msgid "Media types" +msgstr "Tipos de medios" -#: src/as-category.c:165 -msgctxt "Category of Graphics" -msgid "Featured" -msgstr "Destacados" +#: src/as-provided.c:150 +msgid "Fonts" +msgstr "Tipos de letra" -#: src/as-category.c:188 -msgctxt "Category of Office" -msgid "Featured" -msgstr "Destacados" +#: src/as-provided.c:152 +msgid "Modaliases" +msgstr "" -#: src/as-category.c:231 -msgctxt "Category of Science" -msgid "Featured" -msgstr "Destacados" +#: src/as-provided.c:154 +msgid "Python (Version 2)" +msgstr "Python (Versión 2)" -#: src/as-category.c:278 -msgctxt "Category of Utility" -msgid "Featured" -msgstr "Destacados" +#: src/as-provided.c:156 +msgid "Python 3" +msgstr "Python 3" -#: tools/ascli-actions-validate.c:171 tools/ascli-actions-validate.c:349 -#, c-format -msgid "File '%s' does not exist." -msgstr "O ficheiro «%s» non existe." +#: src/as-provided.c:158 +msgid "D-Bus System Services" +msgstr "Servizos de D-Bus do sistema" -#: src/as-category.c:287 -msgctxt "Category of Utility" -msgid "File System" -msgstr "Sistema de ficheiros" +#: src/as-provided.c:160 +msgid "D-Bus Session Services" +msgstr "Servidos de D-Bus da sesión" -#: src/as-category.c:198 -msgctxt "Category of Office" -msgid "Finance" -msgstr "Finanzas" +#: src/as-provided.c:162 +msgid "Runtime Firmware" +msgstr "" #: src/as-provided.c:164 msgid "Flashed Firmware" msgstr "Firmware instalado" -#: src/as-provided.c:150 -msgid "Fonts" -msgstr "Tipos de letra" +#: src/as-provided.c:166 +msgid "Component" +msgstr "Compoñente" + +#: src/as-validator-issue-tag.h:41 +msgid "This tag requires a type property." +msgstr "" + +#: src/as-validator-issue-tag.h:46 +msgid "Tags of this name are not permitted in this section." +msgstr "" + +#: src/as-validator-issue-tag.h:51 +msgid "" +"A tag must not be localized in metainfo files (upstream " +"metadata). Localize the individual paragraphs instead." +msgstr "" +"A etiqueta non debe ser localizada na metainformación dos " +"ficheiros (metadatos de upstream). Localice un parárafo individual no lugar." + +#: src/as-validator-issue-tag.h:57 +msgid "" +"This element (paragraph, list, etc.) of a tag must not be " +"localized individually in collection metadata. Localize the whole " +" tag instead. The AppStream collection metadata generator (e." +"g. `appstream-generator`) will already do the right thing when compiling the " +"data." +msgstr "" + +#: src/as-validator-issue-tag.h:63 +msgid "" +"AppStream descriptions support only a limited set of tags to format text: " +"Paragraphs (

                                                                                                                                                                    ) and lists (

                                                                                                                                                                      ,
                                                                                                                                                                        ). This description markup contains " +"an invalid XML tag that would not be rendered correctly in applications " +"supporting the metainfo specification." +msgstr "" + +#: src/as-validator-issue-tag.h:69 +msgid "" +"This description paragraph contains invalid markup. Currently, only " +"and are permitted." +msgstr "" + +#: src/as-validator-issue-tag.h:74 +msgid "Enumerations must only have list items (
                                                                                                                                                                      1. ) as children." +msgstr "" + +#: src/as-validator-issue-tag.h:79 +msgid "" +"The first `description/p` paragraph of this component might be too short (< " +"80 characters). Please consider starting with a longer paragraph to improve " +"how the description looks like in software centers and to provide more " +"detailed information on this component immediately in the first paragraph." +msgstr "" + +#: src/as-validator-issue-tag.h:86 +msgid "" +"The description contains a web URL in plain text. This is not allowed, " +"please use the tag instead to share links." +msgstr "" + +#: src/as-validator-issue-tag.h:91 +msgid "" +"As per AppStream specification, the mentioned tag must only appear once in " +"this context. Having multiple tags of this kind is not valid." +msgstr "" + +#: src/as-validator-issue-tag.h:96 +msgid "" +"The mentioned tag is empty, which is highly likely not intended as it should " +"have content." +msgstr "" + +#: src/as-validator-issue-tag.h:101 +msgid "" +"The component ID is required to follow a reverse domain-name scheme for its " +"name. See the AppStream specification for details." +msgstr "" + +#: src/as-validator-issue-tag.h:106 +msgid "" +"The component ID is not a reverse domain-name. Please update the ID to avoid " +"future issues and be compatible with all AppStream implementations.\n" +"You may also consider to update the name of the accompanying .desktop file " +"to follow the latest version of the Desktop-Entry specification and use a " +"rDNS name for it as well. In any case, do not forget to mention the new " +"desktop-entry in a tag for this component to keep the " +"application launchable from software centers and the .desktop file data " +"associated with the metainfo data." +msgstr "" + +#: src/as-validator-issue-tag.h:114 +msgid "" +"The component ID might not follow the reverse domain-name schema (the TLD " +"used by it is not known to the validator)." +msgstr "" + +#: src/as-validator-issue-tag.h:119 +msgid "" +"The component ID contains an invalid character. Only ASCII characters, dots " +"and numbers are permitted." +msgstr "" + +#: src/as-validator-issue-tag.h:124 +msgid "" +"The component ID contains a hyphen/minus. Using a hyphen is strongly " +"discouraged, to improve interoperability with other tools such as D-Bus. A " +"good option is to replace any hyphens with underscores (`_`)." +msgstr "" + +#: src/as-validator-issue-tag.h:130 +msgid "" +"The component ID contains a segment starting with a number. Starting a " +"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " +"interoperability with other tools such as D-Bus. Ideally, prefix these " +"segments with an underscore." +msgstr "" + +#: src/as-validator-issue-tag.h:136 +msgid "The component ID should only contain lowercase letters." +msgstr "" -#: src/as-category.c:211 -msgctxt "Category of Addons" -msgid "Fonts" -msgstr "Tipos de letra" +#: src/as-validator-issue-tag.h:141 +msgid "" +"The component is part of the Freedesktop project, but its ID does not start " +"with fd.o's reverse-DNS name (\"org.freedesktop\")." +msgstr "" -#: src/as-validator-issue-tag.h:237 +#: src/as-validator-issue-tag.h:146 msgid "" -"For videos, only the WebM and Matroska (.mkv) container formats are " -"currently supported. The file extension of the referenced video does not " -"belong to either of these formats." +"The component is part of the KDE project, but its ID does not start with " +"KDEs reverse-DNS name (\"org.kde\")." msgstr "" -#. TRANSLATORS: ascli flag description for: --format when validating XML files -#: tools/appstream-cli.c:131 -msgid "Format of the generated report (valid values are 'text' and 'yaml')." +#: src/as-validator-issue-tag.h:151 +msgid "" +"The component is part of the GNOME project, but its ID does not start with " +"GNOMEs reverse-DNS name (\"org.gnome\")." msgstr "" -#. TRANSLATORS: Found metainfo files in legacy directories -#: tools/ascli-actions-misc.c:138 -#, c-format -msgid "Found %i components in legacy paths." +#: src/as-validator-issue-tag.h:156 +msgid "The SPDX license expression is invalid and could not be parsed." msgstr "" -#: tools/ascli-actions-misc.c:123 -#, c-format -msgid "Found %i components." +#: src/as-validator-issue-tag.h:161 +msgid "" +"The license ID was not found in the SPDX database. Please check that the " +"license ID is written in an SPDX-conformant way and is a valid free software " +"license." msgstr "" -#. TRANSLATORS: 'version' is an AppStream XML property. Please do not translate it. -#: src/as-validator-issue-tag.h:260 +#: src/as-validator-issue-tag.h:167 msgid "" -"Found 'version' property on required/recommended item of a type that should " -"not have or require a version." +"The metadata itself seems to be licensed under a complex collection of " +"licenses. Please license the data under a simple permissive license, like " +"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " +"collections without the risk of license violations due to mutually " +"incompatible licenses." msgstr "" -#. TRANSLATORS: 'version' and 'compare' are AppStream XML properties. Please do not translate them. -#: src/as-validator-issue-tag.h:266 +#: src/as-validator-issue-tag.h:173 msgid "" -"Found 'version' property on this required/recommended item, but not " -"'compare' property. It is recommended to explicitly define a comparison " -"operation." +"The metadata itself does not seem to be licensed under a permissive license. " +"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " +"0BSD to allow distributors to include it in mixed data collections without " +"the risk of license violations due to mutually incompatible licenses." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:277 +#: src/as-validator-issue-tag.h:179 msgid "" -"Found a memory size dependency in a 'requires' tag. This means users will " -"not be able to even install the component without having enough RAM. This is " -"usually not intended and you want to use 'memory' in the 'recommends' tag " -"instead." +"The update-contact does not appear to be a valid email address (escaping of " +"`@` is only allowed as `_at_` or `_AT_`)." msgstr "" -#: src/as-validator-issue-tag.h:248 +#: src/as-validator-issue-tag.h:184 msgid "" -"Found an unknown tag in a requires/recommends group. This is likely an " -"error, because a component relation of this type is unknown." +"Unable to reach the screenshot image on its remote location - does the image " +"exist?" msgstr "" -#: src/as-validator-issue-tag.h:427 +#: src/as-validator-issue-tag.h:189 msgid "" -"Found invalid tag. Non-standard tags should be prefixed with 'x-'. AppStream " -"also provides the tag to add arbitrary custom data to metainfo " -"files. This tag is read by AppStream libraries and may be useful instead of " -"defining new custom toplevel or 'x-'-prefixed tags if you just want to add " -"custom data to a metainfo file." +"Unable to reach the screenshot video on its remote location - does the video " +"file exist?" msgstr "" -#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. -#: src/as-validator.c:526 src/as-validator.c:939 src/as-validator.c:1024 -#: src/as-validator.c:1237 -#, c-format -msgid "Found: %s - Allowed: %s" +#: src/as-validator-issue-tag.h:194 +msgid "" +"Consider using a secure (HTTPS) URL to reference this screenshot image or " +"video." msgstr "" -#. TRANSLATORS: this is the menu spec main category for Game -#: src/as-category.c:311 -msgid "Games" -msgstr "Xogos" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:200 +msgid "" +"A screenshot must contain at least one image or video in order to be useful. " +"Please add an to it." +msgstr "" +"Unha captura de pantalla debe conter cando menos unha imaxe ou un vídeo para " +"ser útil. Engádalle unha ." -#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command -#: tools/appstream-cli.c:814 -msgid "Generate the output in the selected format ('yaml' or 'text')." +#: src/as-validator-issue-tag.h:205 +msgid "" +"A screenshot must contain either images or videos, but not both at the same " +"time. Please use this screenshot exclusively for either static images or for " +"videos." msgstr "" +"Unha captura de pantalla debe conter unha imaxe ou un vídeo, pero non os " +"dous á vez. Empregue esta captura exclusivamente para imaxes estáticas ou " +"para os vídeos." -#: tools/appstream-cli.c:849 -msgid "Get components which provide the given item." +#: src/as-validator-issue-tag.h:211 +msgid "The screenshot does not have a caption text. Consider adding one." msgstr "" -#: tools/appstream-cli.c:848 -msgid "Get information about a component by its ID." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:217 +msgid "" +"The screenshot video does not specify which video codec was used in a " +"`codec` property." msgstr "" -#. TRANSLATORS: this is the menu spec main category for Graphics -#: src/as-category.c:314 -msgid "Graphics & Photography" -msgstr "Imaxes e fotografía" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:223 +msgid "" +"The screenshot video does not specify which container format was used in a " +"`container` property." +msgstr "" -#: tools/ascli-utils.c:300 -msgid "Homepage" -msgstr "Sitio web" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:229 +msgid "" +"The selected video codec is not supported by AppStream and software centers " +"may not be able to play the video. Only the AV1 and VP9 codecs are currently " +"supported, using `av1` and `vp9` as values for the `codec` property." +msgstr "" -#: src/as-category.c:89 -msgctxt "Category of Development" -msgid "IDEs" -msgstr "EID" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:236 +msgid "" +"The selected video container format is not supported by AppStream and " +"software centers may not be able to play the video. Only the WebM and " +"Matroska video containers are currently supported, using `webm` and `mkv` as " +"values for the `container` property." +msgstr "" -#: tools/ascli-utils.c:301 -msgid "Icon" -msgstr "Icona" +#: src/as-validator-issue-tag.h:242 +msgid "" +"For videos, only the WebM and Matroska (.mkv) container formats are " +"currently supported. The file extension of the referenced video does not " +"belong to either of these formats." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:351 -msgid "Icons of type 'remote' must contain an URL to the referenced icon." +#: src/as-validator-issue-tag.h:248 +msgid "" +"The default screenshot of a software component must not be a video. Use a " +"static image as default screenshot and set the video as a secondary " +"screenshot." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:344 +#: src/as-validator-issue-tag.h:253 msgid "" -"Icons of type 'stock' or 'cached' must not contain an URL, a full or an " -"relative path to the icon. Only file basenames or stock names are allowed." +"Found an unknown tag in a requires/recommends group. This is likely an " +"error, because a component relation of this type is unknown." msgstr "" -#: tools/ascli-actions-misc.c:94 -msgid "Iconsets" -msgstr "Conxuntos de iconas" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:259 +#, fuzzy +msgid "" +"A `requires` or `recommends` item requires a value to denote a valid " +"relation." +msgstr "" +"Un elemento «requires» ou «recommeds» require un valor para denotar unha " +"relación válida." -#: tools/ascli-utils.c:295 -msgid "Identifier" -msgstr "Identificador" +#. TRANSLATORS: `version` is an AppStream XML property. Please do not translate it. +#: src/as-validator-issue-tag.h:265 +msgid "" +"Found `version` property on required/recommended item of a type that should " +"not have or require a version." +msgstr "" -#: src/as-category.c:217 -msgctxt "Category of Addons" -msgid "Input Sources" -msgstr "Fontes de entrada" +#. TRANSLATORS: `version` and `compare` are AppStream XML properties. Please do not translate them. +#: src/as-validator-issue-tag.h:271 +msgid "" +"Found `version` property on this required/recommended item, but not " +"`compare` property. It is recommended to explicitly define a comparison " +"operation." +msgstr "" -#: tools/appstream-cli.c:863 -msgid "Install a metadata file into the right location." +#: src/as-validator-issue-tag.h:276 +msgid "" +"Invalid comparison operation on relation item. Only eq/ne/lt/gt/le/ge are " +"permitted." msgstr "" -#: tools/appstream-cli.c:859 -msgid "Install software matching the component-ID." +#: src/as-validator-issue-tag.h:281 +msgid "" +"The relation item has a comparison operation set, but does not support any " +"comparisons." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:373 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:287 msgid "" -"Invalid 'type' property for this 'url' tag. URLs of this type are not known " -"in the AppStream specification." +"Found a memory size relation in a `requires` tag. This means users will not " +"be able to even install the component without having enough RAM. This is " +"usually not intended and you want to use `memory` in the `recommends` tag " +"instead." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:553 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:294 msgid "" -"Invalid tag found in collection metadata. Only 'component' tags are " -"permitted." +"Found a user input control relation in a `requires` tag. This means users " +"will not be able to even install the component without having the defined " +"input control available on the system. This is usually not intended and you " +"want to use `control` in the `recommends` tag instead." msgstr "" -#: tools/ascli-actions-mdata.c:213 -msgid "Invalid type for provided item selected. Valid values are:" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:301 +msgid "" +"This `control` item defines an unknown input method and is invalid. Check " +"the specification for a list of permitted values." msgstr "" -#: src/as-validator-issue-tag.h:271 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:307 msgid "" -"Invalid version comparison operation on relation item. Only eq/ne/lt/gt/le/" -"ge are permitted." +"This `display_length` item contains an invalid display length. Its value " +"must either be a shorthand string, or positive integer value denoting " +"logical pixels. Please refer to the AppStream specification for more " +"information on this tag." msgstr "" -#: src/as-validator-issue-tag.h:450 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:314 msgid "" -"It is recommended to add a long description to this component to present it " -"better to users." +"This `side` property of this `display_length` item contains an invalid " +"value. It must either be `shortest` or `longest`, or unset to imply " +"`shortest` to make the item value refer to either the shortest or longest " +"side of the display." msgstr "" -#: src/as-validator-issue-tag.h:445 +#: src/as-validator-issue-tag.h:320 msgid "" -"It would be useful to add a long description to this font to present it " -"better to users." +"The set component type is not a recognized, valid AppStream component type." msgstr "" -#: src/as-category.c:144 -msgctxt "Category of Games" -msgid "Kids" -msgstr "Nenos" +#: src/as-validator-issue-tag.h:325 +msgid "" +"The component has a priority value set. This is not allowed in metainfo " +"files." +msgstr "" -#: src/as-category.c:220 -msgctxt "Category of Addons" -msgid "Language Packs" -msgstr "Paquetes de idiomas" +#: src/as-validator-issue-tag.h:330 +msgid "" +"The component has a `merge` method defined. This is not allowed in metainfo " +"files." +msgstr "" -#: src/as-category.c:107 -msgctxt "Category of Education" -msgid "Languages" -msgstr "Idiomas" +#: src/as-validator-issue-tag.h:335 +msgid "The component is missing an ID ( tag)." +msgstr "" -#: src/as-provided.c:144 -msgid "Libraries" -msgstr "Bibliotecas" +#: src/as-validator-issue-tag.h:340 +msgid "The component is missing a name ( tag)." +msgstr "" -#. license -#: tools/ascli-utils.c:363 -msgid "License" -msgstr "Licenza" +#: src/as-validator-issue-tag.h:345 +msgid "The component is missing a summary ( tag)." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:629 +#: src/as-validator-issue-tag.h:350 msgid "" -"Licenses for 'runtime' components are usually too complex to reflect them in " -"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " -"value for this component's 'project_license'. E.g. `LicenseRef-free=https://" -"example.com/licenses.html`" +"The tag still contains a `type` property, probably from an old " +"conversion to the recent metainfo format." msgstr "" -#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command -#: tools/appstream-cli.c:771 +#: src/as-validator-issue-tag.h:355 msgid "" -"Limit the number of release entries that end up in the metainfo file (0 for " -"unlimited)." +"The `pkgname` tag appears multiple times. You should evaluate creating a " +"metapackage containing the metainfo and .desktop files in order to avoid " +"defining multiple package names per component." msgstr "" -#: src/as-category.c:223 -msgctxt "Category of Addons" -msgid "Localization" -msgstr "Localización" - -#: src/as-category.c:147 -msgctxt "Category of Games" -msgid "Logic" -msgstr "Lóxica" +#: src/as-validator-issue-tag.h:360 +msgid "The component name should (likely) not end with a dot (`.`)." +msgstr "" -#. TRANSLATORS: ascli flag description for: --no-cache -#: tools/appstream-cli.c:67 -msgid "Make request without any caching." -msgstr "Realizar solicitude sen almacenar en caché." +#: src/as-validator-issue-tag.h:365 +msgid "The component summary should not end with a dot (`.`)." +msgstr "" -#. TRANSLATORS: ascli flag description for: --cachepath -#: tools/appstream-cli.c:57 -msgid "Manually selected location of AppStream cache." -msgstr "Estabelecer manualmente a localización da caché de AppStream." +#: src/as-validator-issue-tag.h:370 +msgid "The component summary must not contain tabs or linebreaks." +msgstr "" -#. TRANSLATORS: ascli flag description for: --datapath -#: tools/appstream-cli.c:62 -msgid "Manually selected location of AppStream metadata to scan." +#: src/as-validator-issue-tag.h:375 +msgid "The summary must not contain any URL. Use the tags for links." msgstr "" -"Estabelecer manualmente a localización do metadato de AppStream para " -"analizar." -#: src/as-pool.c:1280 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:381 msgid "" -"Many components have been recognized as invalid. See debug output for " -"details." +"Icons of type `stock` or `cached` must not contain an URL, a full or an " +"relative path to the icon. Only file basenames or stock names are allowed." msgstr "" -#: src/as-category.c:111 -msgctxt "Category of Education" -msgid "Math" -msgstr "Matemáticas" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:388 +msgid "Icons of type `remote` must contain an URL to the referenced icon." +msgstr "" -#: src/as-category.c:243 -msgctxt "Category of Science" -msgid "Math" -msgstr "Matemáticas" +#: src/as-validator-issue-tag.h:393 +msgid "Unable to reach remote icon at the given web location - does it exist?" +msgstr "" -#: src/as-provided.c:148 -msgid "Media types" -msgstr "Tipos de medios" +#: src/as-validator-issue-tag.h:398 +msgid "Consider using a secure (HTTPS) URL for the remote icon link." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:404 +msgid "" +"Metainfo files may only contain icons of type `stock` or `remote`, the set " +"type is not allowed." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:410 +msgid "" +"Invalid `type` property for this `url` tag. URLs of this type are not known " +"in the AppStream specification." +msgstr "" -#: tools/ascli-actions-mdata.c:364 -#, c-format -msgid "Metadata file '%s' does not exist." +#: src/as-validator-issue-tag.h:415 +msgid "" +"Unable to reach remote location that this URL references - does it exist?" msgstr "" -#: src/as-pool.c:881 -msgid "Metadata files have errors:" +#: src/as-validator-issue-tag.h:420 +msgid "Consider using a secure (HTTPS) URL for this web link." msgstr "" -#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 -#: tools/ascli-actions-misc.c:515 -#, fuzzy, c-format -msgid "Metainfo file '%s' does not exist." -msgstr "O ficheiro «%s» non existe." +#: src/as-validator-issue-tag.h:425 +msgid "A web URL was expected for this value." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:367 +#: src/as-validator-issue-tag.h:430 msgid "" -"Metainfo files may only contain icons of type 'stock' or 'remote', the set " -"type is not allowed." +"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." msgstr "" -#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report -#: tools/ascli-actions-misc.c:116 -msgid "Metainfo files:" +#: src/as-validator-issue-tag.h:435 +msgid "The can not contain a hyperlink." msgstr "" -#: src/as-provided.c:152 -msgid "Modaliases" +#: src/as-validator-issue-tag.h:440 +msgid "" +"The set value is not an identifier for a desktop environment as registered " +"with Freedesktop.org." msgstr "" -#: src/as-category.c:74 -msgctxt "Category of AudioVideo" -msgid "Music Players" -msgstr "Reprodutores de música" - -#: tools/ascli-utils.c:296 -msgid "Name" -msgstr "Nome" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:446 +msgid "This `launchable` tag has an unknown type and can not be used." +msgstr "" -#: src/as-category.c:266 -msgctxt "Category of Communication" -msgid "News" -msgstr "Novas" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:452 +msgid "This `bundle` tag has an unknown type and can not be used." +msgstr "" -#: src/as-validator-issue-tag.h:589 -msgid "No AppStream metadata was found in this directory or directory tree." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:458 +msgid "" +"The `update_contact` tag should not be included in collection AppStream XML." msgstr "" -#. pedantic because not everything which has metadata is an application -#: src/as-validator-issue-tag.h:594 -msgid "No XDG applications directory found." +#: src/as-validator-issue-tag.h:463 +msgid "" +"This tag is a GNOME-specific extension to AppStream and not part of the " +"official specification. Do not expect it to work in all implementations and " +"in all software centers." msgstr "" -#: tools/ascli-actions-mdata.c:182 -#, c-format -msgid "No component matching '%s' found." -msgstr "Non hai ningún compoñente que coincida con «%s»." +#: src/as-validator-issue-tag.h:469 +msgid "" +"Found invalid tag. Non-standard tags should be prefixed with `x-`. AppStream " +"also provides the tag to add arbitrary custom data to metainfo " +"files. This tag is read by AppStream libraries and may be useful instead of " +"defining new custom toplevel or `x-`-prefixed tags if you just want to add " +"custom data to a metainfo file." +msgstr "" -#: tools/ascli-actions-misc.c:105 -msgid "No icons." -msgstr "Sen iconas." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:477 +msgid "" +"The essential tag `metadata_license` is missing. A license for the metadata " +"itself always has to be defined." +msgstr "" -#: tools/ascli-actions-misc.c:402 -msgid "No output filename specified, modifying metainfo file directly." +#: src/as-validator-issue-tag.h:482 +msgid "" +"The component is missing a long description. Components of this type must " +"have a long description." msgstr "" -#: tools/ascli-actions-misc.c:306 +#: src/as-validator-issue-tag.h:487 msgid "" -"No provided binary specified in metainfo file, and no exec command specified " -"via '--exec'. Can not create 'Exec=' key." +"It would be useful to add a long description to this font to present it " +"better to users." msgstr "" -#: tools/ascli-actions-misc.c:284 -msgid "No stock icon name was provided in the metainfo file. Can not continue." +#: src/as-validator-issue-tag.h:492 +msgid "" +"It is recommended to add a long description to this component to present it " +"better to users." msgstr "" -#: tools/ascli-actions-pkgmgr.c:53 +#: src/as-validator-issue-tag.h:497 msgid "" -"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" -"\" (part of PackageKit) is available." +"This generic component is missing a long description. It may be useful to " +"add one." msgstr "" -#: tools/ascli-actions-mdata.c:206 -msgid "No value for the item to search for was defined." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:503 +msgid "" +"Type `console-application` component, but no information about binaries in " +"$PATH was provided via a `provides/binary` tag." msgstr "" -#. TRANSLATORS: this is the menu spec main category for Office -#: src/as-category.c:317 -msgid "Office" -msgstr "Oficina" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:509 +msgid "" +"This `web-application` component is missing a `launchable` tag of type `url`." +msgstr "" -#. TRANSLATORS: An unknown option was passed to appstreamcli. -#: tools/appstream-cli.c:192 -#, c-format -msgid "Option '%s' is unknown." -msgstr "Orde «%s» descoñecida." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:515 +msgid "" +"This `web-application` component is missing a `icon` tag to specify a valid " +"icon." +msgstr "" -#: tools/ascli-utils.c:298 -msgid "Package" -msgstr "Paquete" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:521 +msgid "" +"This `web-application` component is missing categorizations. A `categories` " +"block is likely missing." +msgstr "" -#: src/as-category.c:171 -msgctxt "Category of Graphics" -msgid "Photography" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:527 +msgid "" +"Type `font` component, but no font information was provided via a `provides/" +"font` tag." msgstr "" -#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) -#: tools/appstream-cli.c:121 -msgid "Print detailed explanation for found issues." -msgstr "Mostrar a información detallada para atopar erros." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:533 +msgid "" +"Type `driver` component, but no modalias information was provided via a " +"`provides/modalias` tag." +msgstr "" -#. TRANSLATORS: ascli flag description for: --details -#: tools/appstream-cli.c:98 -msgid "Print detailed output about found components." -msgstr "Mostrar a información detallada sobre os compoñentes atopados." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:539 +#, fuzzy +msgid "" +"An `extends` tag is specified, but the component is not of type `addon`, " +"`localization` or `repository`." +msgstr "" +"Especificouse unha etiqueta «extends», pero o compoñente non é de tipo " +"«addon», «localization» ou «repository»." -#. project group -#: tools/ascli-utils.c:360 -msgid "Project Group" -msgstr "Grupo do proxecto" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:545 +msgid "The component is an addon, but no `extends` tag was specified." +msgstr "" -#: tools/ascli-utils.c:405 -msgid "Provided Items" -msgstr "Elementos fornecidos" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:551 +msgid "" +"This `localization` component is missing an `extends` tag, to specify the " +"components it adds localization to." +msgstr "" -#: src/as-provided.c:154 -msgid "Python (Version 2)" -msgstr "Python (Versión 2)" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:557 +msgid "" +"This `localization` component does not define any languages this " +"localization is for." +msgstr "" -#: src/as-provided.c:156 -msgid "Python 3" -msgstr "Python 3" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:563 +msgid "" +"This `service` component is missing a `launchable` tag of type `service`." +msgstr "" -#: tools/appstream-cli.c:854 -msgid "Rebuild the component metadata cache." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:569 +msgid "" +"Suggestions of any type other than `upstream` are not allowed in metainfo " +"files." msgstr "" -#: tools/appstream-cli.c:860 -msgid "Remove software matching the component-ID." +#: src/as-validator-issue-tag.h:574 +msgid "" +"The category name is not valid. Refer to the XDG Menu Specification for a " +"list of valid category names." msgstr "" -#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty -#: src/as-validator.c:364 -msgid "Retrieved file size was zero." +#: src/as-validator-issue-tag.h:579 +msgid "The screenshot caption is too long (should be <= 80 characters)" msgstr "" -#: src/as-category.c:248 -msgctxt "Category of Science" -msgid "Robotics" -msgstr "Robótica" +#: src/as-validator-issue-tag.h:584 +msgid "Unable to read file." +msgstr "" -#: src/as-category.c:150 -msgctxt "Category of Games" -msgid "Role Playing" -msgstr "Xogos de rol" +#: src/as-validator-issue-tag.h:589 +msgid "The XML of this file is malformed." +msgstr "O XML deste ficheiro está mal formado." -#: tools/appstream-cli.c:196 tools/appstream-cli.c:926 -#, c-format -msgid "Run '%s --help' to see a full list of available command line options." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:595 +msgid "" +"Invalid tag found in collection metadata. Only `component` tags are " +"permitted." msgstr "" -"Execute «%s --help» para ver a lista completa de opcións de liña de ordes " -"dispoñíbeis." -#: tools/appstream-cli.c:198 -#, fuzzy, c-format +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:601 msgid "" -"Run '%s --help' to see a list of available commands and options, and '%s %s " -"--help' to see a list of options specific for this subcommand." +"The metainfo file uses an ancient version of the AppStream specification, " +"which can not be validated. Please migrate it to version 0.6 (or higher)." msgstr "" -"Execute «%s --help» para ver a lista completa de opcións de liña de ordes " -"dispoñíbeis." -#: src/as-provided.c:162 -msgid "Runtime Firmware" +#: src/as-validator-issue-tag.h:606 +msgid "" +"This XML document has an unknown root tag. Maybe this file is not a metainfo " +"document?" msgstr "" -#: src/as-category.c:174 -msgctxt "Category of Graphics" -msgid "Scanning" -msgstr "Dixitalización" +#: src/as-validator-issue-tag.h:611 +msgid "The metainfo filename does not match the component ID." +msgstr "" -#. TRANSLATORS: this is the menu spec main category for Science -#: src/as-category.c:323 -msgid "Science" -msgstr "Ciencias" +#: src/as-validator-issue-tag.h:616 +msgid "Unable to read the .desktop file associated with this component." +msgstr "" -#: tools/appstream-cli.c:847 -msgid "Search the component database." -msgstr "Buscar na base de datos de compoñentes." +#: src/as-validator-issue-tag.h:621 +msgid "This component metadata refers to a non-existing .desktop file." +msgstr "" -#: src/as-category.c:293 -msgctxt "Category of Utility" -msgid "Security" -msgstr "Seguridade" +#: src/as-validator-issue-tag.h:626 +msgid "" +"The category defined in the .desktop file is not valid. Refer to the XDG " +"Menu Specification for a list of valid categories." +msgstr "" -#. TRANSLATORS: ascli flag description for: --verbose -#: tools/appstream-cli.c:903 -msgid "Show extra debugging information." -msgstr "Mostrar información de depuración adicional." +#: src/as-validator-issue-tag.h:631 +msgid "No AppStream metadata was found in this directory or directory tree." +msgstr "" -#. TRANSLATORS: ascli flag description for: --version -#: tools/appstream-cli.c:897 -msgid "Show the program version." -msgstr "Mostrar a versión do programa." +#. pedantic because not everything which has metadata is an application +#: src/as-validator-issue-tag.h:636 +msgid "No XDG applications directory found." +msgstr "" -#: src/as-validator-issue-tag.h:635 +#: src/as-validator-issue-tag.h:641 msgid "" -"Since a 'runtime' component is comprised of multiple other software " -"components, their component-IDs may be listed in a `` section for " -"this runtime." +"The metainfo file is stored in a legacy path. Please place it in `/usr/share/" +"metainfo/`." msgstr "" -#: src/as-category.c:153 -msgctxt "Category of Games" -msgid "Sports" -msgstr "Deportes" - -#: src/as-category.c:157 -msgctxt "Category of Games" -msgid "Strategy" -msgstr "Estratexia" - -#. these are commands we can use with appstreamcli -#: tools/appstream-cli.c:845 -msgid "Subcommands:" -msgstr "Subordes:" +#: src/as-validator-issue-tag.h:646 +msgid "The metainfo file specifies multiple components. This is not allowed." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:527 +#: src/as-validator-issue-tag.h:651 msgid "" -"Suggestions of any type other than 'upstream' are not allowed in metainfo " -"files." +"The releases are not sorted in a latest to oldest version order. This is " +"required as some tools will assume that the latest version is always at the " +"top. Sorting releases also increases overall readability of the metainfo " +"file." msgstr "" -#: tools/ascli-utils.c:297 -msgid "Summary" -msgstr "Resumo" - -#. TRANSLATORS: Status summary in ascli -#: tools/ascli-actions-misc.c:145 -msgid "Summary:" -msgstr "Resumo:" +#: src/as-validator-issue-tag.h:658 +msgid "The value set as release urgency is not a known urgency value." +msgstr "" -#: src/as-category.c:290 -msgctxt "Category of Utility" -msgid "System Monitoring" -msgstr "Monitorización do sistema" +#: src/as-validator-issue-tag.h:663 +msgid "The value set as release type is invalid." +msgstr "" -#: src/as-validator-issue-tag.h:46 -msgid "Tags of this name are not permitted in this section." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:669 +msgid "" +"The value set as artifact type is invalid. Must be either `source` or " +"`binary`." +msgstr "" + +#: src/as-validator-issue-tag.h:674 +msgid "The value set as artifact bundle type is invalid." msgstr "" -#: src/as-category.c:284 -msgctxt "Category of Utility" -msgid "Terminal Emulators" -msgstr "Emuladores de terminal" +#: src/as-validator-issue-tag.h:679 +msgid "" +"The platform triplet for this release is invalid. It must be in the form of " +"`architecture-oskernel-osenv` - refer to the AppStream documentation or " +"information on normalized GNU triplets for more information and valid fields." +msgstr "" -#: src/as-category.c:281 -msgctxt "Category of Utility" -msgid "Text Editors" -msgstr "Editores de texto" +#: src/as-validator-issue-tag.h:686 +msgid "The selected checksumming algorithm is unsupported or unknown." +msgstr "" -#: src/as-validator-issue-tag.h:318 -msgid "" -"The 'pkgname' tag appears multiple times. You should evaluate creating a " -"metapackage containing the metainfo and .desktop files in order to avoid " -"defining multiple package names per component." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:692 +msgid "The size type is unknown. Must be `download` or `installed`." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:416 +#: src/as-validator-issue-tag.h:697 msgid "" -"The 'update_contact' tag should not be included in collection AppStream XML." +"The artifact filename must be a file basename, not a (relative or absolute) " +"path." msgstr "" -#: tools/ascli-actions-mdata.c:467 -#, c-format -msgid "The .desktop file '%s' does not exist." -msgstr "O ficheiro .desktop «%s» non existe." +#: src/as-validator-issue-tag.h:702 +msgid "The value set as release issue type is invalid." +msgstr "" -#: src/as-validator-issue-tag.h:393 -msgid "The can not contain a hyperlink." +#: src/as-validator-issue-tag.h:707 +msgid "" +"The issue is tagged at security vulnerability with a CVE number, but its " +"value does not look like a valid CVE identifier." msgstr "" -#: src/as-validator-issue-tag.h:313 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:713 msgid "" -"The tag still contains a 'type' property, probably from an old " -"conversion to the recent metainfo format." +"This component is missing information about releases. Consider adding a " +"`releases` tag to describe releases and their changes." msgstr "" -#: src/as-validator-issue-tag.h:616 +#: src/as-validator-issue-tag.h:718 msgid "" "The AppStream specification requires a complete, ISO 8601 date string with " "at least day-granularity to denote dates. Please ensure the date string is " "valid." msgstr "" -#: src/as-pool.c:1924 -#, c-format +#: src/as-validator-issue-tag.h:724 msgid "" -"The AppStream system cache was updated, but problems were found which " -"resulted in metadata being ignored: %s" +"This component extends, provides, requires or recommends itself, which is " +"certainly not intended and may confuse users or machines dealing with this " +"metadata." msgstr "" -#: src/as-pool.c:1922 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:731 msgid "" -"The AppStream system cache was updated, but some components were ignored. " -"Refer to the verbose log for more information." -msgstr "" - -#: src/as-validator-issue-tag.h:151 -msgid "The SPDX license expression is invalid and could not be parsed." +"Licenses for `runtime` components are usually too complex to reflect them in " +"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " +"value for this component's `project_license`. E.g. `LicenseRef-free=https://" +"example.com/licenses.html`" msgstr "" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows -#: tools/appstream-cli.c:683 -#, c-format -msgid "The TYPE must be a valid component-type, such as: %s" +#: src/as-validator-issue-tag.h:737 +msgid "" +"Since a `runtime` component is comprised of multiple other software " +"components, their component-IDs may be listed in a `` section for " +"this runtime." msgstr "" -#: src/as-validator-issue-tag.h:547 -msgid "The XML of this file is malformed." -msgstr "O XML deste ficheiro está mal formado." - -#: src/as-validator-issue-tag.h:584 +#: src/as-validator-issue-tag.h:742 msgid "" -"The category defined in the .desktop file is not valid. Refer to the XDG " -"Menu Specification for a list of valid categories." +"The type of the item that the component provides is not known to AppStream." msgstr "" -#: src/as-validator-issue-tag.h:532 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:748 msgid "" -"The category name is not valid. Refer to the XDG Menu Specification for a " -"list of valid category names." +"The toplevel `mimetypes` tag is deprecated. Please use `mediatype` tags in a " +"`provides` block instead to indicate that your software provides a media " +"handler for the given types." msgstr "" -#: src/as-validator-issue-tag.h:124 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks) and keep the URL intact. +#: src/as-validator-issue-tag.h:755 msgid "" -"The component ID contains a hyphen/minus. Using a hyphen is strongly " -"discouraged, to improve interoperability with other tools such as D-Bus. A " -"good option is to replace any hyphens with underscores ('_')." +"This component has no `content_rating` tag to provide age rating " +"information. You can generate the tag data online by answering a few " +"questions at https://hughsie.github.io/oars/" msgstr "" -#: src/as-validator-issue-tag.h:130 +#: src/as-validator.c:150 msgid "" -"The component ID contains a segment starting with a number. Starting a " -"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " -"interoperability with other tools such as D-Bus. Ideally, prefix these " -"segments with an underscore." +"The emitted issue tag is unknown in the tag registry of AppStream. This is a " +"bug in the validator itself, please report this issue in our bugtracker." msgstr "" -#: src/as-validator-issue-tag.h:119 -msgid "" -"The component ID contains an invalid character. Only ASCII characters, dots " -"and numbers are permitted." +#: src/as-validator.c:344 +msgid "URL format is invalid." msgstr "" -#: src/as-validator-issue-tag.h:106 -msgid "" -"The component ID is not a reverse domain-name. Please update the ID to avoid " -"future issues and be compatible with all AppStream implementations.\n" -"You may also consider to update the name of the accompanying .desktop file " -"to follow the latest version of the Desktop-Entry specification and use a " -"rDNS name for it as well. In any case, do not forget to mention the new " -"desktop-entry in a tag for this component to keep the " -"application launchable from software centers and the .desktop file data " -"associated with the metainfo data." +#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. +#: src/as-validator.c:522 src/as-validator.c:937 src/as-validator.c:1031 +#: src/as-validator.c:1428 src/as-validator.c:1448 src/as-validator.c:1481 +#, c-format +msgid "Found: %s - Allowed: %s" msgstr "" -#: src/as-validator-issue-tag.h:101 -msgid "" -"The component ID is required to follow a reverse domain-name scheme for its " -"name. See the AppStream specification for details." +#. TRANSLATORS: ascompose flag description for: --verbose +#: tools/appstream-compose.c:181 +#, fuzzy +msgid "Show extra debugging information" +msgstr "Mostrar información de depuración adicional." + +#. TRANSLATORS: ascompose flag description for: --no-color +#. TRANSLATORS: ascli flag description for: --no-color +#: tools/appstream-compose.c:184 tools/appstreamcli.c:1087 +msgid "Don't show colored output." +msgstr "Non mostrar a saída con cores." + +#. TRANSLATORS: ascompose flag description for: --version +#. TRANSLATORS: ascli flag description for: --version +#: tools/appstream-compose.c:187 tools/appstreamcli.c:1076 +msgid "Show the program version." +msgstr "Mostrar a versión do programa." + +#. TRANSLATORS: ascompose flag description for: --full-report +#: tools/appstream-compose.c:190 +msgid "Set mode of the issue report that is printed to the console" msgstr "" -#: src/as-validator-issue-tag.h:114 -msgid "" -"The component ID might not follow the reverse domain-name schema (the TLD " -"used by it is not known to the validator)." +#. TRANSLATORS: ascompose flag description for: --prefix +#: tools/appstream-compose.c:193 +msgid "Override the default prefix (`/usr` by default)" msgstr "" -#: src/as-validator-issue-tag.h:293 -msgid "" -"The component has a 'merge' method defined. This is not allowed in metainfo " -"files." +#. TRANSLATORS: ascompose flag description for: --result-root +#: tools/appstream-compose.c:196 +msgid "Set the result output directory" msgstr "" -#: src/as-validator-issue-tag.h:288 -msgid "" -"The component has a priority value set. This is not allowed in metainfo " -"files." +#. TRANSLATORS: ascompose flag description for: --data-dir, `collection metadata` is an AppStream term +#: tools/appstream-compose.c:199 +msgid "Override the collection metadata output directory" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:503 -msgid "The component is an addon, but no 'extends' tag was specified." +#. TRANSLATORS: ascompose flag description for: --icons-dir +#: tools/appstream-compose.c:202 +msgid "Override the icon output directory" msgstr "" -#: src/as-validator-issue-tag.h:440 +#. TRANSLATORS: ascompose flag description for: --media-dir +#: tools/appstream-compose.c:205 msgid "" -"The component is missing a long description. Components of this type must " -"have a long description." +"Set the media output directory (for media data to be served by a webserver)" msgstr "" -#: src/as-validator-issue-tag.h:303 -msgid "The component is missing a name ( tag)." +#. TRANSLATORS: ascompose flag description for: --hints-dir +#: tools/appstream-compose.c:208 +msgid "Set a directory where HTML and text issue reports will be stored" msgstr "" -#: src/as-validator-issue-tag.h:308 -msgid "The component is missing a summary ( tag)." +#. TRANSLATORS: ascompose flag description for: --origin +#. TRANSLATORS: ascompose flag description for: --media-baseurl +#: tools/appstream-compose.c:211 tools/appstream-compose.c:214 +msgid "Set the origin name" msgstr "" -#: src/as-validator-issue-tag.h:298 -msgid "The component is missing an ID ( tag)." +#. TRANSLATORS: ascompose flag description for: --components +#: tools/appstream-compose.c:217 +msgid "A comma-separated list of component-IDs to accept" msgstr "" -#: src/as-validator-issue-tag.h:136 -msgid "" -"The component is part of the Freedesktop project, but its ID does not start " -"with fd.o's reverse-DNS name (\"org.freedesktop\")." +#. TRANSLATORS: error message +#: tools/appstream-compose.c:231 +msgid "Failed to parse arguments" msgstr "" -#: src/as-validator-issue-tag.h:146 +#. TRANSLATORS: Output if appstreamcli --version is executed. +#: tools/appstream-compose.c:242 tools/appstreamcli.c:1230 +#, c-format +msgid "AppStream version: %s" +msgstr "Versión de AppStream: %s" + +#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. +#: tools/appstream-compose.c:245 tools/appstreamcli.c:1233 +#, c-format msgid "" -"The component is part of the GNOME project, but its ID does not start with " -"GNOMEs reverse-DNS name (\"org.gnome\")." +"AppStream CLI tool version: %s\n" +"AppStream library version: %s" msgstr "" +"Versión da ferramenta de consola de AppStream: %s\n" +"Versión da bilioteca de AppStream: %s" -#: src/as-validator-issue-tag.h:141 +#. TRANSLATORS: invalid value for the --print-report CLI option +#: tools/appstream-compose.c:264 +#, c-format msgid "" -"The component is part of the KDE project, but its ID does not start with " -"KDEs reverse-DNS name (\"org.kde\")." +"Invalid value for `--print-report` option: %s\n" +"Possible values are:\n" +"`on-error` - only prints a short report if the run failed (default)\n" +"`short` - generates an abridged report\n" +"`full` - a detailed report will be printed" msgstr "" -#: src/as-validator-issue-tag.h:323 -msgid "The component name should (likely) not end with a dot ('.')." +#: tools/appstream-compose.c:285 +#, c-format +msgid "Automatically selected '%s' as data output location." msgstr "" -#: src/as-validator-issue-tag.h:333 -msgid "The component summary must not contain tabs or linebreaks." +#. TRANSLATORS: we don't have a destination directory for compose +#: tools/appstream-compose.c:288 +msgid "No destination directory set, please provide a data output location!" msgstr "" -#: src/as-validator-issue-tag.h:328 -msgid "The component summary should not end with a dot ('.')." +#: tools/appstream-compose.c:298 tools/appstream-compose.c:300 +msgid "WARNING" msgstr "" -#: src/as-validator-issue-tag.h:243 -msgid "" -"The default screenshot of a software component must not be a video. Use a " -"static image as default screenshot and set the video as a secondary " -"screenshot." +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:337 +#, c-format +msgid "Only accepting components: %s" msgstr "" -#: src/as-validator-issue-tag.h:86 -msgid "" -"The description contains a web URL in plain text. This is not allowed, " -"please use the tag instead to share links." +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:340 +#, c-format +msgid "Only accepting component: %s" msgstr "" -#: src/as-validator.c:152 -msgid "" -"The emitted issue tag is unknown in the tag registry of AppStream. This is a " -"bug in the validator itself, please report this issue in our bugtracker." +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:345 +msgid "Processing directories:" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:435 -msgid "" -"The essential tag 'metadata_license' is missing. A license for the metadata " -"itself always has to be defined." +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:348 +msgid "Processing directory:" msgstr "" -#: src/as-validator-issue-tag.h:79 -msgid "" -"The first 'description/p' paragraph of this component might be too short (< " -"80 characters). Please consider starting with a longer paragraph to improve " -"how the description looks like in software centers and to provide more " -"detailed information on this component immediately in the first paragraph." +#. TRANSLATORS: error message +#: tools/appstream-compose.c:357 +msgid "Can not process invalid directory" msgstr "" -#: src/as-validator-issue-tag.h:156 -msgid "" -"The license ID was not found in the SPDX database. Please check that the " -"license ID is written in an SPDX-conformant way and is a valid free software " -"license." +#. TRANSLATORS: information message +#: tools/appstream-compose.c:369 +msgid "Composing metadata..." msgstr "" -#: src/as-validator-issue-tag.h:96 -msgid "" -"The mentioned tag is empty, which is highly likely not intended as it should " -"have content." +#. TRANSLATORS: error message +#: tools/appstream-compose.c:374 +#, fuzzy +msgid "Failed to compose AppStream metadata" +msgstr "Unha utilidade para traballar con metadatos de AppStream" + +#. TRANSLATORS: appstream-compose failed to include all data +#: tools/appstream-compose.c:380 +msgid "Run failed, some data was ignored." msgstr "" -#: src/as-validator-issue-tag.h:168 -msgid "" -"The metadata itself does not seem to be licensed under a permissive license. " -"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " -"0BSD to allow distributors to include it in mixed data collections without " -"the risk of license violations due to mutually incompatible licenses." +#. TRANSLATORS: information message of appstream-compose +#: tools/appstream-compose.c:382 +msgid "Errors were raised during this compose run:" msgstr "" -#: src/as-validator-issue-tag.h:162 +#: tools/appstream-compose.c:383 msgid "" -"The metadata itself seems to be licensed under a complex collection of " -"licenses. Please license the data under a simple permissive license, like " -"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " -"collections without the risk of license violations due to mutually " -"incompatible licenses." +"Refer to the generated issue report data for details on the individual " +"problems." msgstr "" -#: src/as-validator-issue-tag.h:599 -msgid "" -"The metainfo file is stored in a legacy path. Please place it in '/usr/share/" -"metainfo'." +#: tools/appstream-compose.c:386 +msgid "Overview of generated hints:" msgstr "" -#: src/as-validator-issue-tag.h:604 -msgid "The metainfo file specifies multiple components. This is not allowed." +#. TRANSLATORS: information message +#: tools/appstream-compose.c:388 +msgid "Success!" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:559 -msgid "" -"The metainfo file uses an ancient version of the AppStream specification, " -"which can not be validated. Please migrate it to version 0.6 (or higher)." +#. TRANSLATORS: ascli flag description for: --cachepath +#: tools/appstreamcli.c:59 +msgid "Manually selected location of AppStream cache." +msgstr "Estabelecer manualmente a localización da caché de AppStream." + +#. TRANSLATORS: ascli flag description for: --datapath +#: tools/appstreamcli.c:64 +msgid "Manually selected location of AppStream metadata to scan." msgstr "" +"Estabelecer manualmente a localización do metadato de AppStream para " +"analizar." -#: src/as-validator-issue-tag.h:569 -msgid "The metainfo filename does not match the component ID." +#. TRANSLATORS: ascli flag description for: --no-cache +#: tools/appstreamcli.c:69 +msgid "Make request without any caching." +msgstr "Realizar solicitude sen almacenar en caché." + +#. TRANSLATORS: ascli flag description for: --format +#: tools/appstreamcli.c:85 +msgid "Default metadata format (valid values are 'xml' and 'yaml')." msgstr "" -#: src/as-validator-issue-tag.h:609 -msgid "" -"The releases are not sorted in a latest to oldest version order. This is " -"required as some tools will assume that the latest version is always at the " -"top. Sorting releases also increases overall readability of the metainfo " -"file." +#. TRANSLATORS: ascli flag description for: --details +#: tools/appstreamcli.c:100 +msgid "Print detailed output about found components." +msgstr "Mostrar a información detallada sobre os compoñentes atopados." + +#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) +#: tools/appstreamcli.c:118 +msgid "Also show pedantic hints." +msgstr "Mostrar tamén comentarios pedantes." + +#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) +#: tools/appstreamcli.c:123 +msgid "Print detailed explanation for found issues." +msgstr "Mostrar a información detallada para atopar erros." + +#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) +#: tools/appstreamcli.c:128 +msgid "Do not use network access." msgstr "" -#: src/as-validator-issue-tag.h:537 -msgid "The screenshot caption is too long (should be <= 80 characters)" +#. TRANSLATORS: ascli flag description for: --format when validating XML files +#: tools/appstreamcli.c:133 +msgid "Format of the generated report (valid values are 'text' and 'yaml')." msgstr "" -#: src/as-validator-issue-tag.h:206 -msgid "The screenshot does not have a caption text. Consider adding one." +#. TRANSLATORS: This is the header to the --help menu for subcommands +#. TRANSLATORS: This is the header to the --help menu +#: tools/appstreamcli.c:153 tools/appstreamcli.c:981 +msgid "AppStream command-line interface" +msgstr "Interface por liña de ordes de AppStream" + +#: tools/appstreamcli.c:156 +#, c-format +msgid "'%s' command" +msgstr "Orde «%s»" + +#. TRANSLATORS: An unknown option was passed to appstreamcli. +#: tools/appstreamcli.c:191 +#, c-format +msgid "Option '%s' is unknown." +msgstr "Orde «%s» descoñecida." + +#: tools/appstreamcli.c:195 tools/appstreamcli.c:1207 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options." msgstr "" +"Execute «%s --help» para ver a lista completa de opcións de liña de ordes " +"dispoñíbeis." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:218 +#: tools/appstreamcli.c:197 +#, fuzzy, c-format msgid "" -"The screenshot video does not specify which container format was used in a " -"'container' property." +"Run '%s --help' to see a list of available commands and options, and '%s %s " +"--help' to see a list of options specific for this subcommand." +msgstr "" +"Execute «%s --help» para ver a lista completa de opcións de liña de ordes " +"dispoñíbeis." + +#. TRANSLATORS: ascli flag description for: --force +#: tools/appstreamcli.c:245 +msgid "Enforce a cache refresh." +msgstr "Forzar a actualización da caché." + +#. TRANSLATORS: ascli flag description for: --user +#: tools/appstreamcli.c:251 +msgid "Update the user-specific instead of the system-wide cache." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --origin (part of the "put" subcommand) +#: tools/appstreamcli.c:477 +msgid "Set the data origin for the installed metadata collection file." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --user (part of the "put" subcommand) +#: tools/appstreamcli.c:482 +msgid "Install the file for the current user, instead of globally." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:212 +#: tools/appstreamcli.c:631 msgid "" -"The screenshot video does not specify which video codec was used in a " -"'codec' property." +"You need to provide at least two version numbers to compare as parameters." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:224 -msgid "" -"The selected video codec is not supported by AppStream and software centers " -"may not be able to play the video. Only the AV1 and VP9 codecs are currently " -"supported, using 'av1' and 'vp9' as values for the 'codec' property." +#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. +#: tools/appstreamcli.c:660 +#, c-format +msgid "Unknown compare relation '%s'. Valid values are:" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:231 +#: tools/appstreamcli.c:700 msgid "" -"The selected video container format is not supported by AppStream and " -"software centers may not be able to play the video. Only the WebM and " -"Matroska video containers are currently supported, using 'webm' and 'mkv' as " -"values for the 'container' property." +"Too many parameters: Need two version numbers or version numbers and a " +"comparison operator." msgstr "" -#: src/as-validator-issue-tag.h:283 +#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) +#: tools/appstreamcli.c:726 msgid "" -"The set component type is not a recognized, valid AppStream component type." +"Use the given .desktop file to fill in the basic values of the metainfo file." msgstr "" -#: src/as-validator-issue-tag.h:398 +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand +#: tools/appstreamcli.c:731 msgid "" -"The set value is not an identifier for a desktop environment as registered " -"with Freedesktop.org." +"This command takes optional TYPE and FILE positional arguments, FILE being a " +"file to write to (or \"-\" for standard output)." msgstr "" -#: tools/ascli-actions-mdata.c:449 +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows +#: tools/appstreamcli.c:734 #, c-format -msgid "" -"The software component type '%s' is not valid in AppStream. Possible values " -"are:" +msgid "The TYPE must be a valid component-type, such as: %s" msgstr "" -#: src/as-validator-issue-tag.h:338 -msgid "The summary must not contain any URL. Use the tags for links." +#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) +#: tools/appstreamcli.c:775 +msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." msgstr "" -#: src/as-validator-issue-tag.h:640 -msgid "" -"The type of the item that the component provides is not known to AppStream." +#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command +#: tools/appstreamcli.c:815 +msgid "Assume the input file is in the selected format ('yaml' or 'text')." msgstr "" -#: src/as-validator-issue-tag.h:174 +#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command +#: tools/appstreamcli.c:820 msgid "" -"The update-contact does not appear to be a valid email address (escaping of " -"'@' is only allowed as '_at_' or '_AT_')." +"Limit the number of release entries that end up in the metainfo file (0 for " +"unlimited)." msgstr "" -#: tools/ascli-actions-validate.c:363 tools/ascli-actions-validate.c:492 -#, c-format -msgid "" -"The validator can not create reports in the '%s' format. You may select " -"'yaml' or 'text' instead." +#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command +#: tools/appstreamcli.c:862 +msgid "Generate the output in the selected format ('yaml' or 'text')." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:410 -msgid "This 'bundle' tag has an unknown type and can not be used." +#: tools/appstreamcli.c:894 +#, c-format +msgid "Compose binary '%s' was not found! Can not continue." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:404 -msgid "This 'launchable' tag has an unknown type and can not be used." +#. TRANSLATORS: this is a (usually shorter) command alias, shown after the command summary text +#: tools/appstreamcli.c:956 +#, c-format +msgid "(Alias: '%s')" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:515 -msgid "" -"This 'localization' component does not define any languages this " -"localization is for." -msgstr "" +#. these are commands we can use with appstreamcli +#: tools/appstreamcli.c:983 +msgid "Subcommands:" +msgstr "Subordes:" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:509 +#: tools/appstreamcli.c:1029 msgid "" -"This 'localization' component is missing an 'extends' tag, to specify the " -"components it adds localization to." +"You can find information about subcommand-specific options by passing \"--" +"help\" to the subcommand." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:521 +#. TRANSLATORS: ascli has been run with unknown command. '%s --help' is the command to receive help and should not be translated. +#: tools/appstreamcli.c:1052 +#, fuzzy, c-format msgid "" -"This 'service' component is missing a 'launchable' tag of type 'service'." +"Command '%s' is unknown. Run '%s --help' for a list of available commands." msgstr "" +"Execute «%s --help» para ver a lista completa de opcións de liña de ordes " +"dispoñíbeis." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:473 -msgid "" -"This 'web-application' component is missing a 'icon' tag to specify a valid " -"icon." +#. TRANSLATORS: ascli flag description for: --verbose +#: tools/appstreamcli.c:1082 +msgid "Show extra debugging information." +msgstr "Mostrar información de depuración adicional." + +#. TRANSLATORS: ascli flag description for: --profile +#: tools/appstreamcli.c:1090 +msgid "Enable profiling" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:467 -msgid "" -"This 'web-application' component is missing a 'launchable' tag of type 'url'." +#. TRANSLATORS: `appstreamcli search` command description. +#: tools/appstreamcli.c:1102 +msgid "Search the component database." +msgstr "Buscar na base de datos de compoñentes." + +#. TRANSLATORS: `appstreamcli get` command description. +#: tools/appstreamcli.c:1107 +msgid "Get information about a component by its ID." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:479 +#. TRANSLATORS: `appstreamcli what-provides` command description. +#: tools/appstreamcli.c:1112 msgid "" -"This 'web-application' component is missing categorizations. A 'categories' " -"block is likely missing." +"Get components which provide the given item. Needs an item type (e.g. lib, " +"bin, python3, …) and item value as parameter." msgstr "" -#: src/as-validator-issue-tag.h:564 -msgid "" -"This XML document has an unknown root tag. Maybe this file is not a metainfo " -"document?" +#. TRANSLATORS: `appstreamcli dump` command description. +#: tools/appstreamcli.c:1118 +msgid "Dump raw XML metadata for a component matching the ID." msgstr "" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand -#: tools/appstream-cli.c:680 -msgid "" -"This command takes optional TYPE and FILE positional arguments, FILE being a " -"file to write to (or \"-\" for standard output)." +#. TRANSLATORS: `appstreamcli refresh-cache` command description. +#: tools/appstreamcli.c:1123 +msgid "Rebuild the component metadata cache." msgstr "" -#: src/as-validator-issue-tag.h:622 -msgid "" -"This component extends, provides, requires or recommends itself, which is " -"certainly not intended and may confuse users or machines dealing with this " -"metadata." +#. TRANSLATORS: `appstreamcli validate` command description. +#: tools/appstreamcli.c:1129 +msgid "Validate AppStream XML files for issues." msgstr "" -#: src/as-validator-issue-tag.h:579 -msgid "This component metadata refers to a non-existing .desktop file." +#. TRANSLATORS: `appstreamcli validate-tree` command description. +#: tools/appstreamcli.c:1134 +msgid "Validate an installed file-tree of an application for valid metadata." msgstr "" -#: src/as-validator-issue-tag.h:69 -msgid "" -"This description paragraph contains invalid markup. Currently, only " -"and are permitted." +#. TRANSLATORS: `appstreamcli install` command description. +#: tools/appstreamcli.c:1140 +msgid "Install software matching the component-ID." msgstr "" -#: src/as-validator-issue-tag.h:57 -msgid "" -"This element (paragraph, list, etc.) of a tag must not be " -"localized individually in collection metadata. Localize the whole " -" tag instead. The AppStream collection metadata generator (e." -"g. `appstream-generator`) will already do the right thing when compiling the " -"data." +#. TRANSLATORS: `appstreamcli remove` command description. +#: tools/appstreamcli.c:1145 +msgid "Remove software matching the component-ID." msgstr "" -#: src/as-validator-issue-tag.h:455 -msgid "" -"This generic component is missing a long description. It may be useful to " -"add one." +#. TRANSLATORS: `appstreamcli status` command description. +#: tools/appstreamcli.c:1151 +msgid "Display status information about available AppStream metadata." msgstr "" -#: src/as-validator-issue-tag.h:421 +#. TRANSLATORS: `appstreamcli os-info` command description. +#: tools/appstreamcli.c:1156 msgid "" -"This tag is a GNOME-specific extension to AppStream and not part of the " -"official specification. Do not expect it to work in all implementations and " -"in all software centers." +"Show information about the current operating system from the metadata index." msgstr "" -#: src/as-validator-issue-tag.h:41 -msgid "This tag requires a type property." +#. TRANSLATORS: `appstreamcli put` command description. +#: tools/appstreamcli.c:1161 +msgid "Install a metadata file into the right location." msgstr "" -#: data/org.freedesktop.appstream.cli.metainfo.xml:15 -msgid "" -"This tool allows for reading, writing, validating and transformation of " -"AppStream XML or YAML metadata. It also gives access to the system metadata " -"pool, for example to query for software that provides a specific MIME-type, " -"and installing it by its software component identifier." +#. TRANSLATORS: `appstreamcli convert` command description. "Collection XML" is a term describing a specific type of AppStream XML data. +#: tools/appstreamcli.c:1166 +msgid "Convert collection XML to YAML or vice versa." msgstr "" -#: src/as-validator-issue-tag.h:388 +#. TRANSLATORS: `appstreamcli vercmp` command description. +#: tools/appstreamcli.c:1171 +msgid "Compare two version numbers." +msgstr "Comparar dous números de versión." + +#. TRANSLATORS: `appstreamcli new-template` command description. +#: tools/appstreamcli.c:1177 msgid "" -"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." +"Create a template for a metainfo file (to be filled out by the upstream " +"project)." msgstr "" -#: tools/appstream-cli.c:648 -msgid "" -"Too many parameters: Need two version numbers or version numbers and a " -"comparison operator." +#. TRANSLATORS: `appstreamcli make-desktop-file` command description. +#: tools/appstreamcli.c:1182 +msgid "Create a desktop-entry file from a metainfo file." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:461 -msgid "" -"Type 'console-application' component, but no information about binaries in " -"$PATH was provided via a 'provides/binary' tag." +#. TRANSLATORS: `appstreamcli news-to-metainfo` command description. +#: tools/appstreamcli.c:1187 +msgid "Convert a YAML or text NEWS file into metainfo releases." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:491 -msgid "" -"Type 'driver' component, but no modalias information was provided via a " -"provides/modalias tag." +#. TRANSLATORS: `appstreamcli metainfo-to-news` command description. +#: tools/appstreamcli.c:1192 +msgid "Write NEWS text or YAML file with information from a metainfo file." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:485 -msgid "" -"Type 'font' component, but no font information was provided via a 'provides/" -"font' tag." +#. TRANSLATORS: `appstreamcli compose` command description. +#: tools/appstreamcli.c:1198 +msgid "Compose AppStream collection metadata from directory trees." msgstr "" -#: src/as-validator.c:333 -msgid "URL format is invalid." +#. TRANSLATORS: ascli has been run without command. +#: tools/appstreamcli.c:1206 +msgid "You need to specify a command." +msgstr "Debe especificar unha orde." + +#. TRANSLATORS: In ascli: The requested action needs higher permissions. +#: tools/ascli-actions-mdata.c:70 +msgid "You might need superuser permissions to perform this action." msgstr "" -#: tools/ascli-actions-mdata.c:544 +#. we performed a cache refresh +#. TRANSLATORS: Updating the metadata cache succeeded +#: tools/ascli-actions-mdata.c:80 +msgid "AppStream cache update completed successfully." +msgstr "Actualización de caché de AppStream completada con éxito." + +#. cache wasn't updated, so the update wasn't necessary +#: tools/ascli-actions-mdata.c:86 +msgid "AppStream cache update is not necessary." +msgstr "Non é necesaria a actualización de antememoria de AppStream." + +#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments +#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. +#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:253 +#: tools/ascli-actions-pkgmgr.c:80 +msgid "You need to specify a component-ID." +msgstr "Debe especificar un identificador de compoñente." + +#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:265 +#: tools/ascli-actions-pkgmgr.c:93 #, c-format -msgid "Unable to build the template metainfo file: %s" -msgstr "" +msgid "Unable to find component with ID '%s'!" +msgstr "Non foi posíbel atopar compoñentes co identificador «%s»." -#. TRANSLATORS: User is trying to convert a file in ascli -#: tools/ascli-actions-mdata.c:400 -msgid "" -"Unable to convert file: Could not determine output format, please set it " -"explicitly using '--format='." -msgstr "" +#: tools/ascli-actions-mdata.c:164 +msgid "You need to specify a term to search for." +msgstr "Debe especifica-lo termo a procurar." #. TRANSLATORS: We failed to find any component in the database, likely due to an error #: tools/ascli-actions-mdata.c:177 @@ -1562,183 +2391,196 @@ msgid "Unable to find component matching %s!" msgstr "Non foi posíbel atopar os compoñentes que coinciden con %s!" -#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:266 -#: tools/ascli-actions-pkgmgr.c:93 -#, c-format -msgid "Unable to find component with ID '%s'!" -msgstr "Non foi posíbel atopar compoñentes co identificador «%s»." - -#: tools/ascli-actions-misc.c:224 +#: tools/ascli-actions-mdata.c:182 #, c-format -msgid "Unable to load existing desktop-entry file template: %s" -msgstr "" +msgid "No component matching '%s' found." +msgstr "Non hai ningún compoñente que coincida con «%s»." -#: src/as-validator-issue-tag.h:356 -msgid "Unable to reach remote icon at the given web location - does it exist?" +#: tools/ascli-actions-mdata.c:206 +msgid "No value for the item to search for was defined." msgstr "" -#: src/as-validator-issue-tag.h:378 -msgid "" -"Unable to reach remote location that this URL references - does it exist?" +#: tools/ascli-actions-mdata.c:212 +msgid "Invalid type for provided item selected. Valid values are:" msgstr "" -#: src/as-validator-issue-tag.h:179 -msgid "" -"Unable to reach the screenshot image on its remote location - does the image " -"exist?" -msgstr "" +#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results +#: tools/ascli-actions-mdata.c:227 +#, c-format +msgid "Could not find component providing '%s::%s'." +msgstr "Non foi posíbel atopar un compoñente que forneza «%s::%s»." -#: src/as-validator-issue-tag.h:184 -msgid "" -"Unable to reach the screenshot video on its remote location - does the video " -"file exist?" +#: tools/ascli-actions-mdata.c:306 +msgid "You need to specify a metadata file." msgstr "" -#: src/as-validator-issue-tag.h:542 -msgid "Unable to read file." -msgstr "" +#: tools/ascli-actions-mdata.c:320 +#, fuzzy, c-format +msgid "Unable to install metadata file: %s" +msgstr "Non foi posíbel atopar os compoñentes que coinciden con %s!" -#: src/as-validator-issue-tag.h:574 -msgid "Unable to read the .desktop file associated with this component." -msgstr "" +#: tools/ascli-actions-mdata.c:340 +msgid "You need to specify an input and output file." +msgstr "Debe especificar un ficheiro de entrada e un de saída." -#: tools/ascli-actions-mdata.c:473 +#: tools/ascli-actions-mdata.c:347 #, c-format -msgid "Unable to read the .desktop file: %s" +msgid "Metadata file '%s' does not exist." msgstr "" -#: src/as-pool.c:606 -msgid "Unable to remove old cache." +#. TRANSLATORS: User is trying to convert a file in ascli +#: tools/ascli-actions-mdata.c:387 +msgid "" +"Unable to convert file: Could not determine output format, please set it " +"explicitly using '--format='." msgstr "" -#: tools/ascli-actions-misc.c:370 -#, c-format -msgid "Unable to save desktop entry file: %s" -msgstr "" +#: tools/ascli-actions-mdata.c:438 +#, fuzzy, c-format +msgid "Unable to find operating system component '%s'!" +msgstr "Non foi posíbel atopar compoñentes co identificador «%s»." -#: tools/ascli-actions-mdata.c:552 -#, c-format -msgid "Unable to save the template metainfo file: %s" +#: tools/ascli-actions-mdata.c:443 +msgid "Version" msgstr "" -#: tools/ascli-actions-pkgmgr.c:67 -#, c-format -msgid "Unable to spawn package manager: %s" +#: tools/ascli-actions-mdata.c:467 +msgid "" +"You need to give an AppStream software component type to generate a " +"template. Possible values are:" msgstr "" -#: tools/ascli-actions-mdata.c:322 +#: tools/ascli-actions-mdata.c:469 #, c-format -msgid "Unable to write to '%s', can not install metainfo file." +msgid "" +"The software component type '%s' is not valid in AppStream. Possible values " +"are:" msgstr "" -#. TRANSLATORS: ascli has been run with unknown command. -#: tools/appstream-cli.c:1009 +#: tools/ascli-actions-mdata.c:487 #, c-format -msgid "Unknown command '%s'." -msgstr "" +msgid "The .desktop file '%s' does not exist." +msgstr "O ficheiro .desktop «%s» non existe." -#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. -#: tools/appstream-cli.c:608 +#: tools/ascli-actions-mdata.c:493 #, c-format -msgid "Unknown compare relation '%s'. Valid values are:" -msgstr "" - -#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) -#: tools/appstream-cli.c:675 -msgid "" -"Use the given .desktop file to fill in the basic values of the metainfo file." -msgstr "" - -#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) -#: tools/appstream-cli.c:725 -msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." -msgstr "" - -#. TRANSLATORS: this is the menu spec main category for Utilities -#: src/as-category.c:329 -msgid "Utilities" -msgstr "" - -#: tools/appstream-cli.c:856 -msgid "Validate AppStream XML files for issues." +msgid "Unable to read the .desktop file: %s" msgstr "" -#: tools/appstream-cli.c:857 -msgid "Validate an installed file-tree of an application for valid metadata." +#: tools/ascli-actions-mdata.c:564 +#, c-format +msgid "Unable to build the template metainfo file: %s" msgstr "" -#: tools/ascli-actions-validate.c:301 tools/ascli-actions-validate.c:442 +#: tools/ascli-actions-mdata.c:572 #, c-format -msgid "Validation failed: %s" -msgstr "Fallou a validación: %s" +msgid "Unable to save the template metainfo file: %s" +msgstr "" -#: tools/ascli-actions-validate.c:289 tools/ascli-actions-validate.c:430 -msgid "Validation was successful." -msgstr "Validación rematada con éxito." +#. TRANSLATORS: In the status report of ascli: Header +#: tools/ascli-actions-misc.c:47 +msgid "AppStream Status:" +msgstr "Estado de AppStream:" -#: tools/ascli-actions-validate.c:291 tools/ascli-actions-validate.c:432 +#: tools/ascli-actions-misc.c:48 #, c-format -msgid "Validation was successful: %s" -msgstr "Validación rematada con éxito: %s" +msgid "Version: %s" +msgstr "" -#: tools/appstream-cli.c:851 -msgid "Value of the item that should be found." +#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions +#: tools/ascli-actions-misc.c:52 +msgid "Distribution metadata:" msgstr "" -#: src/as-category.c:177 -msgctxt "Category of Graphics" -msgid "Vector Graphics" -msgstr "Gráficos vectorizados" +#: tools/ascli-actions-misc.c:94 +msgid "Iconsets" +msgstr "Conxuntos de iconas" -#: tools/ascli-actions-misc.c:48 +#: tools/ascli-actions-misc.c:105 +msgid "No icons." +msgstr "Sen iconas." + +#. TRANSLATORS: No metainfo files have been found +#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 +msgid "Empty." +msgstr "Baleiro." + +#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report +#: tools/ascli-actions-misc.c:116 +msgid "Metainfo files:" +msgstr "" + +#: tools/ascli-actions-misc.c:123 #, c-format -msgid "Version: %s" +msgid "Found %i components." msgstr "" -#: src/as-category.c:180 -msgctxt "Category of Graphics" -msgid "Viewers" +#. TRANSLATORS: Found metainfo files in legacy directories +#: tools/ascli-actions-misc.c:138 +#, c-format +msgid "Found %i components in legacy paths." msgstr "" +#. TRANSLATORS: Status summary in ascli +#: tools/ascli-actions-misc.c:145 +msgid "Summary:" +msgstr "Resumo:" + #: tools/ascli-actions-misc.c:153 #, c-format msgid "We have information on %i software components." msgstr "" -#: src/as-category.c:270 -msgctxt "Category of Communication" -msgid "Web Browsers" +#: tools/ascli-actions-misc.c:159 +#, c-format +msgid "Error while loading the metadata pool: %s" msgstr "" -#: src/as-category.c:202 -msgctxt "Category of Office" -msgid "Word Processor" +#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 +#, fuzzy +msgid "You need to specify a metainfo file as input." +msgstr "Debe especificar cando menos un ficheiro a validar!" + +#: tools/ascli-actions-misc.c:188 +#, fuzzy +msgid "" +"You need to specify a desktop-entry file to create or augment as output." +msgstr "Debe especificar cando menos un ficheiro a validar!" + +#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 +#: tools/ascli-actions-misc.c:515 +#, fuzzy, c-format +msgid "Metainfo file '%s' does not exist." +msgstr "O ficheiro «%s» non existe." + +#: tools/ascli-actions-misc.c:219 +#, c-format +msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." msgstr "" -#: tools/appstream-cli.c:871 -msgid "Write NEWS text or YAML file with information from a metainfo file." +#: tools/ascli-actions-misc.c:224 +#, c-format +msgid "Unable to load existing desktop-entry file template: %s" msgstr "" -#: tools/appstream-cli.c:874 -msgid "" -"You can find information about subcommand-specific options by passing \"--" -"help\" to the subcommand." +#: tools/ascli-actions-misc.c:228 +#, c-format +msgid "Creating new desktop-entry file '%s' using data from '%s'" msgstr "" -#. TRANSLATORS: In ascli: The requested action needs higher permissions. -#: tools/ascli-actions-mdata.c:70 -msgid "You might need superuser permissions to perform this action." +#: tools/ascli-actions-misc.c:284 +msgid "No stock icon name was provided in the metainfo file. Can not continue." msgstr "" -#: tools/ascli-actions-mdata.c:447 +#: tools/ascli-actions-misc.c:306 msgid "" -"You need to give an AppStream software component type to generate a " -"template. Possible values are:" +"No provided binary specified in metainfo file, and no exec command specified " +"via '--exec'. Can not create 'Exec=' key." msgstr "" -#: tools/appstream-cli.c:579 -msgid "" -"You need to provide at least two version numbers to compare as parameters." +#: tools/ascli-actions-misc.c:370 +#, c-format +msgid "Unable to save desktop entry file: %s" msgstr "" #: tools/ascli-actions-misc.c:393 @@ -1746,6 +2588,16 @@ msgid "You need to specify a NEWS file as input." msgstr "Debe especificar cando menos un ficheiro a validar!" +#: tools/ascli-actions-misc.c:397 +#, fuzzy +msgid "" +"You need to specify a metainfo file to augment, or '-' to print to stdout." +msgstr "Debe especificar cando menos un ficheiro a validar!" + +#: tools/ascli-actions-misc.c:402 +msgid "No output filename specified, modifying metainfo file directly." +msgstr "" + #: tools/ascli-actions-misc.c:509 #, fuzzy msgid "You need to specify a NEWS file as output, or '-' to print to stdout." @@ -1756,117 +2608,155 @@ msgid "You need to specify a NEWS format to write the output in." msgstr "Debe especificar un ficheiro de entrada e un de saída." -#. TRANSLATORS: ascli has been run without command. -#: tools/appstream-cli.c:925 -msgid "You need to specify a command." -msgstr "Debe especificar unha orde." - -#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments -#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. -#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:254 -#: tools/ascli-actions-pkgmgr.c:80 -msgid "You need to specify a component-ID." -msgstr "Debe especificar un identificador de compoñente." - -#: tools/ascli-actions-misc.c:188 -#, fuzzy +#: tools/ascli-actions-pkgmgr.c:53 msgid "" -"You need to specify a desktop-entry file to create or augment as output." -msgstr "Debe especificar cando menos un ficheiro a validar!" +"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" +"\" (part of PackageKit) is available." +msgstr "" -#: tools/ascli-actions-mdata.c:309 -msgid "You need to specify a metadata file." +#: tools/ascli-actions-pkgmgr.c:67 +#, c-format +msgid "Unable to spawn package manager: %s" msgstr "" -#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 -#, fuzzy -msgid "You need to specify a metainfo file as input." -msgstr "Debe especificar cando menos un ficheiro a validar!" +#. TRANSLATORS: We found no distribution package or bundle to install to make this software available +#: tools/ascli-actions-pkgmgr.c:106 +#, c-format +msgid "Component '%s' has no installation candidate." +msgstr "" -#: tools/ascli-actions-misc.c:397 -#, fuzzy -msgid "" -"You need to specify a metainfo file to augment, or '-' to print to stdout." -msgstr "Debe especificar cando menos un ficheiro a validar!" +#: tools/ascli-actions-validate.c:176 tools/ascli-actions-validate.c:354 +#, c-format +msgid "File '%s' does not exist." +msgstr "O ficheiro «%s» non existe." -#: tools/ascli-actions-validate.c:385 tools/ascli-actions-validate.c:479 -msgid "You need to specify a root directory to start validation!" -msgstr "Debe especificar un directorio raíz para comezar a validación!" +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "error"-type hints +#: tools/ascli-actions-validate.c:228 +#, c-format +msgid "errors: %lu" +msgstr "" -#: tools/ascli-actions-mdata.c:164 -msgid "You need to specify a term to search for." -msgstr "Debe especifica-lo termo a procurar." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "warning"-type hints +#: tools/ascli-actions-validate.c:235 +#, c-format +msgid "warnings: %lu" +msgstr "" -#: tools/ascli-actions-mdata.c:357 -msgid "You need to specify an input and output file." -msgstr "Debe especificar un ficheiro de entrada e un de saída." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "info"-type hints +#: tools/ascli-actions-validate.c:242 +#, c-format +msgid "infos: %lu" +msgstr "" + +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "pedantic"-type hints +#: tools/ascli-actions-validate.c:249 +#, c-format +msgid "pedantic: %lu" +msgstr "" -#: tools/ascli-actions-validate.c:263 tools/ascli-actions-validate.c:337 +#: tools/ascli-actions-validate.c:268 tools/ascli-actions-validate.c:342 msgid "You need to specify at least one file to validate!" msgstr "Debe especificar cando menos un ficheiro a validar!" -#. TRANSLATORS: List of "grey-listed" words sperated with ";" -#. * Do not translate this list directly. Instead, -#. * provide a list of words in your language that people are likely -#. * to include in a search but that should normally be ignored in -#. * the search. -#. -#: src/as-pool.c:107 -msgid "app;application;package;program;programme;suite;tool" -msgstr "app;aplicativo;aplicación;paquete;programa;suite;ferramenta" +#: tools/ascli-actions-validate.c:294 tools/ascli-actions-validate.c:435 +msgid "Validation was successful." +msgstr "Validación rematada con éxito." -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:223 +#: tools/ascli-actions-validate.c:296 tools/ascli-actions-validate.c:437 #, c-format -msgid "errors: %lu" -msgstr "" +msgid "Validation was successful: %s" +msgstr "Validación rematada con éxito: %s" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:237 +#: tools/ascli-actions-validate.c:306 tools/ascli-actions-validate.c:447 #, c-format -msgid "infos: %lu" -msgstr "" +msgid "Validation failed: %s" +msgstr "Fallou a validación: %s" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:244 +#: tools/ascli-actions-validate.c:368 tools/ascli-actions-validate.c:497 #, c-format -msgid "pedantic: %lu" +msgid "" +"The validator can not create reports in the '%s' format. You may select " +"'yaml' or 'text' instead." msgstr "" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:230 -#, c-format -msgid "warnings: %lu" +#: tools/ascli-actions-validate.c:390 tools/ascli-actions-validate.c:484 +msgid "You need to specify a root directory to start validation!" +msgstr "Debe especificar un directorio raíz para comezar a validación!" + +#: tools/ascli-utils.c:266 +msgid "Identifier" +msgstr "Identificador" + +#: tools/ascli-utils.c:268 +msgid "Internal ID" msgstr "" -#~ msgid "Command '%s' is unknown." -#~ msgstr "Orde «%s» descoñecida." +#: tools/ascli-utils.c:269 +msgid "Name" +msgstr "Nome" + +#: tools/ascli-utils.c:270 +msgid "Summary" +msgstr "Resumo" -#, fuzzy -#~ msgid "Do not use any caches when performing the request." -#~ msgstr "Non usar a caché de Xapian ao levar a cabo a consulta" +#: tools/ascli-utils.c:271 +msgid "Package" +msgstr "Paquete" -#~ msgid "AppStream cache update failed." -#~ msgstr "Fallou a actualización da caché de AppStream." +#: tools/ascli-utils.c:272 +msgid "Bundle" +msgstr "Paquete" -#, fuzzy -#~ msgid "Category of Games" -#~ msgstr "Categorías" +#: tools/ascli-utils.c:273 +msgid "Homepage" +msgstr "Sitio web" -#, fuzzy -#~ msgid "Category of Office" -#~ msgstr "Categorías" +#: tools/ascli-utils.c:274 +msgid "Icon" +msgstr "Icona" -#, fuzzy -#~ msgid "Category of Science" -#~ msgstr "Categorías" +#. developer name +#: tools/ascli-utils.c:294 +msgid "Developer" +msgstr "Desenvolvedor" -#~ msgid "File %s not found or permission denied!" -#~ msgstr "Non se atopou o ficheiro %s ou denegouse o permiso!" +#: tools/ascli-utils.c:300 +msgid "Extends" +msgstr "Extende" -#, fuzzy -#~ msgid "No component providing '%s::%s' found." -#~ msgstr "Non hai ningún compoñente que coincida con «%s»." +#: tools/ascli-utils.c:306 +msgid "Description" +msgstr "Descrición" + +#: tools/ascli-utils.c:326 +msgid "Default Screenshot URL" +msgstr "URL predeterminada da captura de pantalla" + +#. project group +#: tools/ascli-utils.c:333 +msgid "Project Group" +msgstr "Grupo do proxecto" + +#. license +#: tools/ascli-utils.c:336 +msgid "License" +msgstr "Licenza" + +#: tools/ascli-utils.c:342 +msgid "Categories" +msgstr "Categorías" + +#: tools/ascli-utils.c:350 +msgid "Compulsory for" +msgstr "Obrigatorio para" + +#: tools/ascli-utils.c:378 +msgid "Provided Items" +msgstr "Elementos fornecidos" + +#, fuzzy, c-format +#~ msgid "Unable to open new cache file: %s" +#~ msgstr "Non foi posíbel atopar os compoñentes que coinciden con %s!" -#~ msgid "XDG Menu XML file '%s' is damaged." -#~ msgstr "O ficheiro XML «%s» do menú XDG está danado." +#~ msgid "An item type (e.g. lib, bin, python3, …)" +#~ msgstr "Un tipo de elemento (p.ex.. lib, bin, python3, …)" diff -Nru appstream-0.12.10/po/he.po appstream-0.14.5/po/he.po --- appstream-0.12.10/po/he.po 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/po/he.po 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,2706 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR Matthias Klumpp +# This file is distributed under the same license as the appstream package. +# Omer I.S. , 2021. +msgid "" +msgstr "" +"Project-Id-Version: appstream\n" +"Report-Msgid-Bugs-To: appstream@lists.freedesktop.org\n" +"POT-Creation-Date: 2021-08-28 16:09+0200\n" +"PO-Revision-Date: 2021-07-12 10:34+0000\n" +"Last-Translator: Omer I.S. \n" +"Language-Team: Hebrew \n" +"Language: he\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && " +"n % 10 == 0) ? 2 : 3));\n" +"X-Generator: Weblate 4.8-dev\n" + +#: data/org.freedesktop.appstream.cli.metainfo.xml:8 +msgid "AppStream CLI" +msgstr "" + +#: data/org.freedesktop.appstream.cli.metainfo.xml:9 +msgid "An utility to work with AppStream metadata" +msgstr "כלי עזר לעבודה עם נתוני העל של AppStream" + +#: data/org.freedesktop.appstream.cli.metainfo.xml:12 +msgid "" +"AppStream is a metadata specification which permits software components to " +"provide information about themselves to automated systems and end-users " +"before the software is actually installed. The AppStream project provides " +"facilities to easily access and transform this metadata, as well as a few " +"additional services for building feature-rich software centers and similar " +"applications that make use of software metadata." +msgstr "" + +#: data/org.freedesktop.appstream.cli.metainfo.xml:18 +msgid "" +"The appstreamcli command-line tool allows to read, write, and " +"transform AppStream XML or YAML metadata as well as to validate it for " +"compliance with the specification. It also provides easy access to the " +"system metadata pool, for example to query for software that provides a " +"specific Mediatype handler or for installing software by its component " +"identifier." +msgstr "" + +#: src/as-category.c:66 +msgctxt "Category of AudioVideo" +msgid "Featured" +msgstr "מומלצים" + +#: src/as-category.c:69 +msgctxt "Category of AudioVideo" +msgid "Audio Creation & Editing" +msgstr "יצירה ועריכת שמע" + +#: src/as-category.c:75 +msgctxt "Category of AudioVideo" +msgid "Music Players" +msgstr "נגני מוזיקה" + +#: src/as-category.c:84 +msgctxt "Category of Development" +msgid "Featured" +msgstr "מומלצים" + +#: src/as-category.c:87 +msgctxt "Category of Development" +msgid "Debuggers" +msgstr "ניפוי תקלות" + +#: src/as-category.c:90 +msgctxt "Category of Development" +msgid "IDEs" +msgstr "סביבות פיתוח" + +#: src/as-category.c:99 +msgctxt "Category of Education" +msgid "Featured" +msgstr "מומלצים" + +#: src/as-category.c:102 +msgctxt "Category of Education" +msgid "Astronomy" +msgstr "אסטרונומיה" + +#: src/as-category.c:105 +msgctxt "Category of Education" +msgid "Chemistry" +msgstr "כימיה" + +#: src/as-category.c:108 +msgctxt "Category of Education" +msgid "Languages" +msgstr "שפות" + +#: src/as-category.c:112 +msgctxt "Category of Education" +msgid "Math" +msgstr "מתמטיקה" + +#: src/as-category.c:121 +msgctxt "Category of Games" +msgid "Featured" +msgstr "מומלצים" + +#: src/as-category.c:124 +msgctxt "Category of Games" +msgid "Action" +msgstr "אקשן" + +#: src/as-category.c:127 +msgctxt "Category of Games" +msgid "Adventure" +msgstr "הרפתקאות" + +#: src/as-category.c:130 +msgctxt "Category of Games" +msgid "Arcade" +msgstr "ארקייד" + +#: src/as-category.c:133 +#, fuzzy +msgctxt "Category of Games" +msgid "Blocks" +msgstr "קוביות" + +#: src/as-category.c:136 +msgctxt "Category of Games" +msgid "Board" +msgstr "לוח" + +#: src/as-category.c:139 +msgctxt "Category of Games" +msgid "Card" +msgstr "קלפים" + +#: src/as-category.c:142 +msgctxt "Category of Games" +msgid "Emulators" +msgstr "מדמים" + +#: src/as-category.c:145 +msgctxt "Category of Games" +msgid "Kids" +msgstr "לילדים" + +#: src/as-category.c:148 +msgctxt "Category of Games" +msgid "Logic" +msgstr "לוגיקה" + +#: src/as-category.c:151 +msgctxt "Category of Games" +msgid "Role Playing" +msgstr "משחקי תפקידים" + +#: src/as-category.c:154 +msgctxt "Category of Games" +msgid "Sports" +msgstr "ספורט" + +#: src/as-category.c:158 +msgctxt "Category of Games" +msgid "Strategy" +msgstr "אסטרטגיה" + +#: src/as-category.c:166 +msgctxt "Category of Graphics" +msgid "Featured" +msgstr "מומלצים" + +#: src/as-category.c:169 +msgctxt "Category of Graphics" +msgid "3D Graphics" +msgstr "גרפיקה בתלת ממד" + +#: src/as-category.c:172 +msgctxt "Category of Graphics" +msgid "Photography" +msgstr "צילום" + +#: src/as-category.c:175 +msgctxt "Category of Graphics" +msgid "Scanning" +msgstr "סריקה" + +#: src/as-category.c:178 +msgctxt "Category of Graphics" +msgid "Vector Graphics" +msgstr "גרפיקה וקטורית" + +#: src/as-category.c:181 +msgctxt "Category of Graphics" +msgid "Viewers" +msgstr "מציגים" + +#: src/as-category.c:189 +msgctxt "Category of Office" +msgid "Featured" +msgstr "מומלצים" + +#: src/as-category.c:192 +msgctxt "Category of Office" +msgid "Calendar" +msgstr "לוח שנה" + +#: src/as-category.c:196 +msgctxt "Category of Office" +msgid "Database" +msgstr "מסד נתונים" + +#: src/as-category.c:199 +msgctxt "Category of Office" +msgid "Finance" +msgstr "כספים" + +#: src/as-category.c:203 +msgctxt "Category of Office" +msgid "Word Processor" +msgstr "מעבד תמלילים" + +#: src/as-category.c:212 +msgctxt "Category of Addons" +msgid "Fonts" +msgstr "גופנים" + +#: src/as-category.c:215 +msgctxt "Category of Addons" +msgid "Codecs" +msgstr "קודקים" + +#: src/as-category.c:218 +msgctxt "Category of Addons" +msgid "Input Sources" +msgstr "מקורות קלט" + +#: src/as-category.c:221 +msgctxt "Category of Addons" +msgid "Language Packs" +msgstr "חבילות שפה" + +#: src/as-category.c:224 +msgctxt "Category of Addons" +msgid "Localization" +msgstr "המקמה" + +#: src/as-category.c:232 +msgctxt "Category of Science" +msgid "Featured" +msgstr "מומלצים" + +#: src/as-category.c:235 +msgctxt "Category of Science" +msgid "Artificial Intelligence" +msgstr "בינה מלאכותית" + +#: src/as-category.c:238 +msgctxt "Category of Science" +msgid "Astronomy" +msgstr "אסטרונומיה" + +#: src/as-category.c:241 +msgctxt "Category of Science" +msgid "Chemistry" +msgstr "כימיה" + +#: src/as-category.c:244 +msgctxt "Category of Science" +msgid "Math" +msgstr "מתמטיקה" + +#: src/as-category.c:249 +msgctxt "Category of Science" +msgid "Robotics" +msgstr "רובוטיקה" + +#: src/as-category.c:257 +msgctxt "Category of Communication" +msgid "Featured" +msgstr "מומלצים" + +#: src/as-category.c:260 +msgctxt "Category of Communication" +msgid "Chat" +msgstr "צ׳אט" + +#: src/as-category.c:267 +msgctxt "Category of Communication" +msgid "News" +msgstr "חדשות" + +#: src/as-category.c:271 +msgctxt "Category of Communication" +msgid "Web Browsers" +msgstr "דפדפני רשת" + +#: src/as-category.c:279 +msgctxt "Category of Utility" +msgid "Featured" +msgstr "מומלצים" + +#: src/as-category.c:282 +msgctxt "Category of Utility" +msgid "Text Editors" +msgstr "עורכי טקסט" + +#: src/as-category.c:285 +msgctxt "Category of Utility" +msgid "Terminal Emulators" +msgstr "מדמי מסוף" + +#: src/as-category.c:288 +msgctxt "Category of Utility" +msgid "File System" +msgstr "מערכת קבצים" + +#: src/as-category.c:291 +msgctxt "Category of Utility" +msgid "System Monitoring" +msgstr "צגי מערכת" + +#: src/as-category.c:294 +msgctxt "Category of Utility" +msgid "Security" +msgstr "אבטחה" + +#. TRANSLATORS: this is the menu spec main category for Audio & Video +#: src/as-category.c:303 +msgid "Audio & Video" +msgstr "שמע ווידאו" + +#. TRANSLATORS: this is the menu spec main category for Development +#: src/as-category.c:306 +msgid "Developer Tools" +msgstr "כלים למפתחים" + +#. TRANSLATORS: this is the menu spec main category for Education +#: src/as-category.c:309 +msgid "Education" +msgstr "חינוך" + +#. TRANSLATORS: this is the menu spec main category for Game +#: src/as-category.c:312 +msgid "Games" +msgstr "משחקים" + +#. TRANSLATORS: this is the menu spec main category for Graphics +#: src/as-category.c:315 +msgid "Graphics & Photography" +msgstr "גרפיקה וצילום" + +#. TRANSLATORS: this is the menu spec main category for Office +#: src/as-category.c:318 +msgid "Office" +msgstr "משרד" + +#. TRANSLATORS: this is the main category for Add-ons +#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor +#: src/as-category.c:321 tools/ascli-utils.c:371 +msgid "Add-ons" +msgstr "תוספים" + +#. TRANSLATORS: this is the menu spec main category for Science +#: src/as-category.c:324 +msgid "Science" +msgstr "מדע" + +#. TRANSLATORS: this is the menu spec main category for Communication +#: src/as-category.c:327 +msgid "Communication & News" +msgstr "תקשורת וחדשות" + +#. TRANSLATORS: this is the menu spec main category for Utilities +#: src/as-category.c:330 +msgid "Utilities" +msgstr "עזרים" + +#. TRANSLATORS: This is the formatting of English and localized name +#. * of the rating e.g. "Adults Only (solo adultos)" +#: src/as-content-rating.c:298 +#, c-format +msgid "%s (%s)" +msgstr "%s (%s)" + +#: src/as-content-rating.c:444 +msgid "General" +msgstr "כללי" + +#: src/as-content-rating.c:453 +msgid "ALL" +msgstr "הכול" + +#: src/as-content-rating.c:457 src/as-content-rating.c:560 +msgid "Adults Only" +msgstr "למבוגרים בלבד" + +#: src/as-content-rating.c:459 src/as-content-rating.c:559 +msgid "Mature" +msgstr "למבוגרים" + +#: src/as-content-rating.c:461 src/as-content-rating.c:558 +msgid "Teen" +msgstr "לנוער" + +#: src/as-content-rating.c:463 src/as-content-rating.c:557 +msgid "Everyone 10+" +msgstr "לגילאי 10+" + +#: src/as-content-rating.c:465 src/as-content-rating.c:556 +msgid "Everyone" +msgstr "לכולם" + +#: src/as-content-rating.c:467 src/as-content-rating.c:555 +msgid "Early Childhood" +msgstr "לגיל הרך" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:839 +msgid "No cartoon violence" +msgstr "ללא אלימות מצוירת" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:841 +msgid "Cartoon characters in unsafe situations" +msgstr "דמויות מצוירות במצבים לא בטוחים" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:843 +msgid "Cartoon characters in aggressive conflict" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:845 +msgid "Graphic violence involving cartoon characters" +msgstr "אלימות גרפית מעורבת בדמויות מצוירות" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:850 +msgid "No fantasy violence" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:852 +msgid "Characters in unsafe situations easily distinguishable from reality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:854 +msgid "Characters in aggressive conflict easily distinguishable from reality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:856 +msgid "Graphic violence easily distinguishable from reality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:861 +msgid "No realistic violence" +msgstr "ללא אלימות ריאליסטית" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:863 +msgid "Mildly realistic characters in unsafe situations" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:865 +msgid "Depictions of realistic characters in aggressive conflict" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:867 +msgid "Graphic violence involving realistic characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:872 +msgid "No bloodshed" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:874 +msgid "Unrealistic bloodshed" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:876 +msgid "Realistic bloodshed" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:878 +msgid "Depictions of bloodshed and the mutilation of body parts" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:883 +msgid "No sexual violence" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:885 +msgid "Rape or other violent sexual behavior" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:892 +msgid "No references to alcohol" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:894 +msgid "References to alcoholic beverages" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:896 +msgid "Use of alcoholic beverages" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:902 +msgid "No references to illicit drugs" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:904 +msgid "References to illicit drugs" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:906 +msgid "Use of illicit drugs" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:912 +msgid "No references to tobacco products" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:914 +msgid "References to tobacco products" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:916 +msgid "Use of tobacco products" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:922 +msgid "No nudity of any sort" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:924 +msgid "Brief artistic nudity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:926 +msgid "Prolonged nudity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:932 +msgid "No references to or depictions of sexual nature" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:934 +msgid "Provocative references or depictions" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:936 +msgid "Sexual references or depictions" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:938 +msgid "Graphic sexual behavior" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:943 +msgid "No profanity of any kind" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:945 +msgid "Mild or infrequent use of profanity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:947 +msgid "Moderate use of profanity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:949 +msgid "Strong or frequent use of profanity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:954 +msgid "No inappropriate humor" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:956 +msgid "Slapstick humor" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:958 +msgid "Vulgar or bathroom humor" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:960 +msgid "Mature or sexual humor" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:965 +msgid "No discriminatory language of any kind" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:967 +msgid "Negativity towards a specific group of people" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:969 +msgid "Discrimination designed to cause emotional harm" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:971 +msgid "Explicit discrimination based on gender, sexuality, race or religion" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:976 +msgid "No advertising of any kind" +msgstr "ללא פרסומות מכל סוג" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:978 +msgid "Product placement" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:980 +msgid "Explicit references to specific brands or trademarked products" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:982 +msgid "Users are encouraged to purchase specific real-world items" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:987 +msgid "No gambling of any kind" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:989 +msgid "Gambling on random events using tokens or credits" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:991 +msgid "Gambling using “play” money" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:993 +msgid "Gambling using real money" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:998 +msgid "No ability to spend money" +msgstr "אין יכולת לשלם כסף" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1000 +msgid "Users are encouraged to donate real money" +msgstr "המשתמשים מעוּדדים לשלם כסף אמיתי" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1003 +msgid "Ability to spend real money in-app" +msgstr "יכולת לשלם כסף אמיתי ביישום" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1008 +msgid "No way to chat with other users" +msgstr "אין דרך לשוחח עם משתמשים אחרים בצ׳אט" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1010 +msgid "User-to-user interactions without chat functionality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1012 +msgid "Moderated chat functionality between users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1014 +msgid "Uncontrolled chat functionality between users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1019 +msgid "No way to talk with other users" +msgstr "אין דרך לשוחח עם משתמשים אחרים" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1021 +msgid "Uncontrolled audio or video chat functionality between users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1028 +msgid "No sharing of social network usernames or email addresses" +msgstr "אין שיתוף של שמות משתמשים ברשתות חברתיות או של כתובות דוא״ל" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1030 +msgid "Sharing social network usernames or email addresses" +msgstr "שיתוף של שמות משתמשים ברשתות חברתיות או של כתובות דוא״ל" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1037 +msgid "No sharing of user information with third parties" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1039 +msgid "Checking for the latest application version" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1041 +msgid "Sharing diagnostic data that does not let others identify the user" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1043 +msgid "Sharing information that lets others identify the user" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1048 +msgid "No sharing of physical location with other users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1050 +msgid "Sharing physical location with other users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1073 +msgid "No references to homosexuality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1075 +msgid "Indirect references to homosexuality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1077 +msgid "Kissing between people of the same gender" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1079 +msgid "Graphic sexual behavior between people of the same gender" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1084 +msgid "No references to prostitution" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1086 +msgid "Indirect references to prostitution" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1088 +msgid "Direct references to prostitution" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1090 +msgid "Graphic depictions of the act of prostitution" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1095 +msgid "No references to adultery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1097 +msgid "Indirect references to adultery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1099 +msgid "Direct references to adultery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1101 +msgid "Graphic depictions of the act of adultery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1106 +msgid "No sexualized characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1109 +msgid "Scantily clad human characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1111 +msgid "Overtly sexualized human characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1116 +msgid "No references to desecration" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1118 +msgid "Depictions of or references to historical desecration" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1120 +msgid "Depictions of modern-day human desecration" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1122 +msgid "Graphic depictions of modern-day desecration" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1127 +msgid "No visible dead human remains" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1129 +msgid "Visible dead human remains" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1131 +msgid "Dead human remains that are exposed to the elements" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1133 +msgid "Graphic depictions of desecration of human bodies" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1138 +msgid "No references to slavery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1140 +msgid "Depictions of or references to historical slavery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1142 +msgid "Depictions of modern-day slavery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1144 +msgid "Graphic depictions of modern-day slavery" +msgstr "" + +#. TRANSLATORS: We got a 429 error while trying to download data +#: src/as-curl.c:134 +#, c-format +msgid "Failed to download due to server limit" +msgstr "" + +#: src/as-curl.c:141 src/as-curl.c:148 +#, c-format +msgid "Failed to download file: %s" +msgstr "" + +#. TRANSLATORS: We tried to download an URL, but received a 404 error code +#: src/as-curl.c:157 +#, c-format +msgid "URL was not found on the server." +msgstr "" + +#. TRANSLATORS: We received an uexpected HTTP status code while talking to a server, likely an error +#: src/as-curl.c:164 +#, c-format +msgid "Unexpected status code: %ld" +msgstr "" + +#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty +#: src/as-curl.c:247 +#, c-format +msgid "Retrieved file size was zero." +msgstr "" + +#. TRANSLATORS: List of "grey-listed" words sperated with ";" +#. * Do not translate this list directly. Instead, +#. * provide a list of words in your language that people are likely +#. * to include in a search but that should normally be ignored in +#. * the search. +#. +#: src/as-pool.c:111 +msgid "app;application;package;program;programme;suite;tool" +msgstr "" + +#: src/as-pool.c:620 +msgid "Unable to remove old cache." +msgstr "אין אפשרות להסיר את המטמון הישן." + +#: src/as-pool.c:963 +msgid "Metadata files have errors:" +msgstr "" + +#: src/as-pool.c:1370 +msgid "" +"Many components have been recognized as invalid. See debug output for " +"details." +msgstr "" + +#: src/as-pool.c:1996 +#, c-format +msgid "Cache location '%s' is not writable." +msgstr "" + +#: src/as-pool.c:2109 +msgid "" +"The AppStream system cache was updated, but some components were ignored. " +"Refer to the verbose log for more information." +msgstr "" + +#: src/as-pool.c:2111 +#, c-format +msgid "" +"The AppStream system cache was updated, but problems were found which " +"resulted in metadata being ignored: %s" +msgstr "" + +#: src/as-pool.c:2125 +#, c-format +msgid "" +"AppStream system cache refresh failed. Turn on verbose mode to get detailed " +"issue information." +msgstr "" + +#: src/as-provided.c:144 +msgid "Libraries" +msgstr "ספריות" + +#: src/as-provided.c:146 +msgid "Binaries" +msgstr "" + +#: src/as-provided.c:148 +msgid "Media types" +msgstr "" + +#: src/as-provided.c:150 +msgid "Fonts" +msgstr "גופנים" + +#: src/as-provided.c:152 +msgid "Modaliases" +msgstr "" + +#: src/as-provided.c:154 +msgid "Python (Version 2)" +msgstr "" + +#: src/as-provided.c:156 +msgid "Python 3" +msgstr "" + +#: src/as-provided.c:158 +msgid "D-Bus System Services" +msgstr "" + +#: src/as-provided.c:160 +msgid "D-Bus Session Services" +msgstr "" + +#: src/as-provided.c:162 +msgid "Runtime Firmware" +msgstr "" + +#: src/as-provided.c:164 +msgid "Flashed Firmware" +msgstr "" + +#: src/as-provided.c:166 +msgid "Component" +msgstr "" + +#: src/as-validator-issue-tag.h:41 +msgid "This tag requires a type property." +msgstr "" + +#: src/as-validator-issue-tag.h:46 +msgid "Tags of this name are not permitted in this section." +msgstr "" + +#: src/as-validator-issue-tag.h:51 +msgid "" +"A tag must not be localized in metainfo files (upstream " +"metadata). Localize the individual paragraphs instead." +msgstr "" + +#: src/as-validator-issue-tag.h:57 +msgid "" +"This element (paragraph, list, etc.) of a tag must not be " +"localized individually in collection metadata. Localize the whole " +" tag instead. The AppStream collection metadata generator (e." +"g. `appstream-generator`) will already do the right thing when compiling the " +"data." +msgstr "" + +#: src/as-validator-issue-tag.h:63 +msgid "" +"AppStream descriptions support only a limited set of tags to format text: " +"Paragraphs (

                                                                                                                                                                        ) and lists (

                                                                                                                                                                          ,
                                                                                                                                                                            ). This description markup contains " +"an invalid XML tag that would not be rendered correctly in applications " +"supporting the metainfo specification." +msgstr "" + +#: src/as-validator-issue-tag.h:69 +msgid "" +"This description paragraph contains invalid markup. Currently, only " +"and are permitted." +msgstr "" + +#: src/as-validator-issue-tag.h:74 +msgid "Enumerations must only have list items (
                                                                                                                                                                          1. ) as children." +msgstr "" + +#: src/as-validator-issue-tag.h:79 +msgid "" +"The first `description/p` paragraph of this component might be too short (< " +"80 characters). Please consider starting with a longer paragraph to improve " +"how the description looks like in software centers and to provide more " +"detailed information on this component immediately in the first paragraph." +msgstr "" + +#: src/as-validator-issue-tag.h:86 +msgid "" +"The description contains a web URL in plain text. This is not allowed, " +"please use the tag instead to share links." +msgstr "" + +#: src/as-validator-issue-tag.h:91 +msgid "" +"As per AppStream specification, the mentioned tag must only appear once in " +"this context. Having multiple tags of this kind is not valid." +msgstr "" + +#: src/as-validator-issue-tag.h:96 +msgid "" +"The mentioned tag is empty, which is highly likely not intended as it should " +"have content." +msgstr "" + +#: src/as-validator-issue-tag.h:101 +msgid "" +"The component ID is required to follow a reverse domain-name scheme for its " +"name. See the AppStream specification for details." +msgstr "" + +#: src/as-validator-issue-tag.h:106 +msgid "" +"The component ID is not a reverse domain-name. Please update the ID to avoid " +"future issues and be compatible with all AppStream implementations.\n" +"You may also consider to update the name of the accompanying .desktop file " +"to follow the latest version of the Desktop-Entry specification and use a " +"rDNS name for it as well. In any case, do not forget to mention the new " +"desktop-entry in a tag for this component to keep the " +"application launchable from software centers and the .desktop file data " +"associated with the metainfo data." +msgstr "" + +#: src/as-validator-issue-tag.h:114 +msgid "" +"The component ID might not follow the reverse domain-name schema (the TLD " +"used by it is not known to the validator)." +msgstr "" + +#: src/as-validator-issue-tag.h:119 +msgid "" +"The component ID contains an invalid character. Only ASCII characters, dots " +"and numbers are permitted." +msgstr "" + +#: src/as-validator-issue-tag.h:124 +msgid "" +"The component ID contains a hyphen/minus. Using a hyphen is strongly " +"discouraged, to improve interoperability with other tools such as D-Bus. A " +"good option is to replace any hyphens with underscores (`_`)." +msgstr "" + +#: src/as-validator-issue-tag.h:130 +msgid "" +"The component ID contains a segment starting with a number. Starting a " +"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " +"interoperability with other tools such as D-Bus. Ideally, prefix these " +"segments with an underscore." +msgstr "" + +#: src/as-validator-issue-tag.h:136 +msgid "The component ID should only contain lowercase letters." +msgstr "" + +#: src/as-validator-issue-tag.h:141 +msgid "" +"The component is part of the Freedesktop project, but its ID does not start " +"with fd.o's reverse-DNS name (\"org.freedesktop\")." +msgstr "" + +#: src/as-validator-issue-tag.h:146 +msgid "" +"The component is part of the KDE project, but its ID does not start with " +"KDEs reverse-DNS name (\"org.kde\")." +msgstr "" + +#: src/as-validator-issue-tag.h:151 +msgid "" +"The component is part of the GNOME project, but its ID does not start with " +"GNOMEs reverse-DNS name (\"org.gnome\")." +msgstr "" + +#: src/as-validator-issue-tag.h:156 +msgid "The SPDX license expression is invalid and could not be parsed." +msgstr "" + +#: src/as-validator-issue-tag.h:161 +msgid "" +"The license ID was not found in the SPDX database. Please check that the " +"license ID is written in an SPDX-conformant way and is a valid free software " +"license." +msgstr "" + +#: src/as-validator-issue-tag.h:167 +msgid "" +"The metadata itself seems to be licensed under a complex collection of " +"licenses. Please license the data under a simple permissive license, like " +"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " +"collections without the risk of license violations due to mutually " +"incompatible licenses." +msgstr "" + +#: src/as-validator-issue-tag.h:173 +msgid "" +"The metadata itself does not seem to be licensed under a permissive license. " +"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " +"0BSD to allow distributors to include it in mixed data collections without " +"the risk of license violations due to mutually incompatible licenses." +msgstr "" + +#: src/as-validator-issue-tag.h:179 +msgid "" +"The update-contact does not appear to be a valid email address (escaping of " +"`@` is only allowed as `_at_` or `_AT_`)." +msgstr "" + +#: src/as-validator-issue-tag.h:184 +msgid "" +"Unable to reach the screenshot image on its remote location - does the image " +"exist?" +msgstr "" + +#: src/as-validator-issue-tag.h:189 +msgid "" +"Unable to reach the screenshot video on its remote location - does the video " +"file exist?" +msgstr "" + +#: src/as-validator-issue-tag.h:194 +msgid "" +"Consider using a secure (HTTPS) URL to reference this screenshot image or " +"video." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:200 +msgid "" +"A screenshot must contain at least one image or video in order to be useful. " +"Please add an to it." +msgstr "" + +#: src/as-validator-issue-tag.h:205 +msgid "" +"A screenshot must contain either images or videos, but not both at the same " +"time. Please use this screenshot exclusively for either static images or for " +"videos." +msgstr "" + +#: src/as-validator-issue-tag.h:211 +msgid "The screenshot does not have a caption text. Consider adding one." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:217 +msgid "" +"The screenshot video does not specify which video codec was used in a " +"`codec` property." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:223 +msgid "" +"The screenshot video does not specify which container format was used in a " +"`container` property." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:229 +msgid "" +"The selected video codec is not supported by AppStream and software centers " +"may not be able to play the video. Only the AV1 and VP9 codecs are currently " +"supported, using `av1` and `vp9` as values for the `codec` property." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:236 +msgid "" +"The selected video container format is not supported by AppStream and " +"software centers may not be able to play the video. Only the WebM and " +"Matroska video containers are currently supported, using `webm` and `mkv` as " +"values for the `container` property." +msgstr "" + +#: src/as-validator-issue-tag.h:242 +msgid "" +"For videos, only the WebM and Matroska (.mkv) container formats are " +"currently supported. The file extension of the referenced video does not " +"belong to either of these formats." +msgstr "" + +#: src/as-validator-issue-tag.h:248 +msgid "" +"The default screenshot of a software component must not be a video. Use a " +"static image as default screenshot and set the video as a secondary " +"screenshot." +msgstr "" + +#: src/as-validator-issue-tag.h:253 +msgid "" +"Found an unknown tag in a requires/recommends group. This is likely an " +"error, because a component relation of this type is unknown." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:259 +msgid "" +"A `requires` or `recommends` item requires a value to denote a valid " +"relation." +msgstr "" + +#. TRANSLATORS: `version` is an AppStream XML property. Please do not translate it. +#: src/as-validator-issue-tag.h:265 +msgid "" +"Found `version` property on required/recommended item of a type that should " +"not have or require a version." +msgstr "" + +#. TRANSLATORS: `version` and `compare` are AppStream XML properties. Please do not translate them. +#: src/as-validator-issue-tag.h:271 +msgid "" +"Found `version` property on this required/recommended item, but not " +"`compare` property. It is recommended to explicitly define a comparison " +"operation." +msgstr "" + +#: src/as-validator-issue-tag.h:276 +msgid "" +"Invalid comparison operation on relation item. Only eq/ne/lt/gt/le/ge are " +"permitted." +msgstr "" + +#: src/as-validator-issue-tag.h:281 +msgid "" +"The relation item has a comparison operation set, but does not support any " +"comparisons." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:287 +msgid "" +"Found a memory size relation in a `requires` tag. This means users will not " +"be able to even install the component without having enough RAM. This is " +"usually not intended and you want to use `memory` in the `recommends` tag " +"instead." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:294 +msgid "" +"Found a user input control relation in a `requires` tag. This means users " +"will not be able to even install the component without having the defined " +"input control available on the system. This is usually not intended and you " +"want to use `control` in the `recommends` tag instead." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:301 +msgid "" +"This `control` item defines an unknown input method and is invalid. Check " +"the specification for a list of permitted values." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:307 +msgid "" +"This `display_length` item contains an invalid display length. Its value " +"must either be a shorthand string, or positive integer value denoting " +"logical pixels. Please refer to the AppStream specification for more " +"information on this tag." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:314 +msgid "" +"This `side` property of this `display_length` item contains an invalid " +"value. It must either be `shortest` or `longest`, or unset to imply " +"`shortest` to make the item value refer to either the shortest or longest " +"side of the display." +msgstr "" + +#: src/as-validator-issue-tag.h:320 +msgid "" +"The set component type is not a recognized, valid AppStream component type." +msgstr "" + +#: src/as-validator-issue-tag.h:325 +msgid "" +"The component has a priority value set. This is not allowed in metainfo " +"files." +msgstr "" + +#: src/as-validator-issue-tag.h:330 +msgid "" +"The component has a `merge` method defined. This is not allowed in metainfo " +"files." +msgstr "" + +#: src/as-validator-issue-tag.h:335 +msgid "The component is missing an ID ( tag)." +msgstr "" + +#: src/as-validator-issue-tag.h:340 +msgid "The component is missing a name ( tag)." +msgstr "" + +#: src/as-validator-issue-tag.h:345 +msgid "The component is missing a summary ( tag)." +msgstr "" + +#: src/as-validator-issue-tag.h:350 +msgid "" +"The tag still contains a `type` property, probably from an old " +"conversion to the recent metainfo format." +msgstr "" + +#: src/as-validator-issue-tag.h:355 +msgid "" +"The `pkgname` tag appears multiple times. You should evaluate creating a " +"metapackage containing the metainfo and .desktop files in order to avoid " +"defining multiple package names per component." +msgstr "" + +#: src/as-validator-issue-tag.h:360 +msgid "The component name should (likely) not end with a dot (`.`)." +msgstr "" + +#: src/as-validator-issue-tag.h:365 +msgid "The component summary should not end with a dot (`.`)." +msgstr "" + +#: src/as-validator-issue-tag.h:370 +msgid "The component summary must not contain tabs or linebreaks." +msgstr "" + +#: src/as-validator-issue-tag.h:375 +msgid "The summary must not contain any URL. Use the tags for links." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:381 +msgid "" +"Icons of type `stock` or `cached` must not contain an URL, a full or an " +"relative path to the icon. Only file basenames or stock names are allowed." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:388 +msgid "Icons of type `remote` must contain an URL to the referenced icon." +msgstr "" + +#: src/as-validator-issue-tag.h:393 +msgid "Unable to reach remote icon at the given web location - does it exist?" +msgstr "" + +#: src/as-validator-issue-tag.h:398 +msgid "Consider using a secure (HTTPS) URL for the remote icon link." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:404 +msgid "" +"Metainfo files may only contain icons of type `stock` or `remote`, the set " +"type is not allowed." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:410 +msgid "" +"Invalid `type` property for this `url` tag. URLs of this type are not known " +"in the AppStream specification." +msgstr "" + +#: src/as-validator-issue-tag.h:415 +msgid "" +"Unable to reach remote location that this URL references - does it exist?" +msgstr "" + +#: src/as-validator-issue-tag.h:420 +msgid "Consider using a secure (HTTPS) URL for this web link." +msgstr "" + +#: src/as-validator-issue-tag.h:425 +msgid "A web URL was expected for this value." +msgstr "" + +#: src/as-validator-issue-tag.h:430 +msgid "" +"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." +msgstr "" + +#: src/as-validator-issue-tag.h:435 +msgid "The can not contain a hyperlink." +msgstr "" + +#: src/as-validator-issue-tag.h:440 +msgid "" +"The set value is not an identifier for a desktop environment as registered " +"with Freedesktop.org." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:446 +msgid "This `launchable` tag has an unknown type and can not be used." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:452 +msgid "This `bundle` tag has an unknown type and can not be used." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:458 +msgid "" +"The `update_contact` tag should not be included in collection AppStream XML." +msgstr "" + +#: src/as-validator-issue-tag.h:463 +msgid "" +"This tag is a GNOME-specific extension to AppStream and not part of the " +"official specification. Do not expect it to work in all implementations and " +"in all software centers." +msgstr "" + +#: src/as-validator-issue-tag.h:469 +msgid "" +"Found invalid tag. Non-standard tags should be prefixed with `x-`. AppStream " +"also provides the tag to add arbitrary custom data to metainfo " +"files. This tag is read by AppStream libraries and may be useful instead of " +"defining new custom toplevel or `x-`-prefixed tags if you just want to add " +"custom data to a metainfo file." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:477 +msgid "" +"The essential tag `metadata_license` is missing. A license for the metadata " +"itself always has to be defined." +msgstr "" + +#: src/as-validator-issue-tag.h:482 +msgid "" +"The component is missing a long description. Components of this type must " +"have a long description." +msgstr "" + +#: src/as-validator-issue-tag.h:487 +msgid "" +"It would be useful to add a long description to this font to present it " +"better to users." +msgstr "" + +#: src/as-validator-issue-tag.h:492 +msgid "" +"It is recommended to add a long description to this component to present it " +"better to users." +msgstr "" + +#: src/as-validator-issue-tag.h:497 +msgid "" +"This generic component is missing a long description. It may be useful to " +"add one." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:503 +msgid "" +"Type `console-application` component, but no information about binaries in " +"$PATH was provided via a `provides/binary` tag." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:509 +msgid "" +"This `web-application` component is missing a `launchable` tag of type `url`." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:515 +msgid "" +"This `web-application` component is missing a `icon` tag to specify a valid " +"icon." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:521 +msgid "" +"This `web-application` component is missing categorizations. A `categories` " +"block is likely missing." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:527 +msgid "" +"Type `font` component, but no font information was provided via a `provides/" +"font` tag." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:533 +msgid "" +"Type `driver` component, but no modalias information was provided via a " +"`provides/modalias` tag." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:539 +msgid "" +"An `extends` tag is specified, but the component is not of type `addon`, " +"`localization` or `repository`." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:545 +msgid "The component is an addon, but no `extends` tag was specified." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:551 +msgid "" +"This `localization` component is missing an `extends` tag, to specify the " +"components it adds localization to." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:557 +msgid "" +"This `localization` component does not define any languages this " +"localization is for." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:563 +msgid "" +"This `service` component is missing a `launchable` tag of type `service`." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:569 +msgid "" +"Suggestions of any type other than `upstream` are not allowed in metainfo " +"files." +msgstr "" + +#: src/as-validator-issue-tag.h:574 +msgid "" +"The category name is not valid. Refer to the XDG Menu Specification for a " +"list of valid category names." +msgstr "" + +#: src/as-validator-issue-tag.h:579 +msgid "The screenshot caption is too long (should be <= 80 characters)" +msgstr "" + +#: src/as-validator-issue-tag.h:584 +msgid "Unable to read file." +msgstr "" + +#: src/as-validator-issue-tag.h:589 +msgid "The XML of this file is malformed." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:595 +msgid "" +"Invalid tag found in collection metadata. Only `component` tags are " +"permitted." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:601 +msgid "" +"The metainfo file uses an ancient version of the AppStream specification, " +"which can not be validated. Please migrate it to version 0.6 (or higher)." +msgstr "" + +#: src/as-validator-issue-tag.h:606 +msgid "" +"This XML document has an unknown root tag. Maybe this file is not a metainfo " +"document?" +msgstr "" + +#: src/as-validator-issue-tag.h:611 +msgid "The metainfo filename does not match the component ID." +msgstr "" + +#: src/as-validator-issue-tag.h:616 +msgid "Unable to read the .desktop file associated with this component." +msgstr "" + +#: src/as-validator-issue-tag.h:621 +msgid "This component metadata refers to a non-existing .desktop file." +msgstr "" + +#: src/as-validator-issue-tag.h:626 +msgid "" +"The category defined in the .desktop file is not valid. Refer to the XDG " +"Menu Specification for a list of valid categories." +msgstr "" + +#: src/as-validator-issue-tag.h:631 +msgid "No AppStream metadata was found in this directory or directory tree." +msgstr "" + +#. pedantic because not everything which has metadata is an application +#: src/as-validator-issue-tag.h:636 +msgid "No XDG applications directory found." +msgstr "" + +#: src/as-validator-issue-tag.h:641 +msgid "" +"The metainfo file is stored in a legacy path. Please place it in `/usr/share/" +"metainfo/`." +msgstr "" + +#: src/as-validator-issue-tag.h:646 +msgid "The metainfo file specifies multiple components. This is not allowed." +msgstr "" + +#: src/as-validator-issue-tag.h:651 +msgid "" +"The releases are not sorted in a latest to oldest version order. This is " +"required as some tools will assume that the latest version is always at the " +"top. Sorting releases also increases overall readability of the metainfo " +"file." +msgstr "" + +#: src/as-validator-issue-tag.h:658 +msgid "The value set as release urgency is not a known urgency value." +msgstr "" + +#: src/as-validator-issue-tag.h:663 +msgid "The value set as release type is invalid." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:669 +msgid "" +"The value set as artifact type is invalid. Must be either `source` or " +"`binary`." +msgstr "" + +#: src/as-validator-issue-tag.h:674 +msgid "The value set as artifact bundle type is invalid." +msgstr "" + +#: src/as-validator-issue-tag.h:679 +msgid "" +"The platform triplet for this release is invalid. It must be in the form of " +"`architecture-oskernel-osenv` - refer to the AppStream documentation or " +"information on normalized GNU triplets for more information and valid fields." +msgstr "" + +#: src/as-validator-issue-tag.h:686 +msgid "The selected checksumming algorithm is unsupported or unknown." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:692 +msgid "The size type is unknown. Must be `download` or `installed`." +msgstr "" + +#: src/as-validator-issue-tag.h:697 +msgid "" +"The artifact filename must be a file basename, not a (relative or absolute) " +"path." +msgstr "" + +#: src/as-validator-issue-tag.h:702 +msgid "The value set as release issue type is invalid." +msgstr "" + +#: src/as-validator-issue-tag.h:707 +msgid "" +"The issue is tagged at security vulnerability with a CVE number, but its " +"value does not look like a valid CVE identifier." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:713 +msgid "" +"This component is missing information about releases. Consider adding a " +"`releases` tag to describe releases and their changes." +msgstr "" + +#: src/as-validator-issue-tag.h:718 +msgid "" +"The AppStream specification requires a complete, ISO 8601 date string with " +"at least day-granularity to denote dates. Please ensure the date string is " +"valid." +msgstr "" + +#: src/as-validator-issue-tag.h:724 +msgid "" +"This component extends, provides, requires or recommends itself, which is " +"certainly not intended and may confuse users or machines dealing with this " +"metadata." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:731 +msgid "" +"Licenses for `runtime` components are usually too complex to reflect them in " +"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " +"value for this component's `project_license`. E.g. `LicenseRef-free=https://" +"example.com/licenses.html`" +msgstr "" + +#: src/as-validator-issue-tag.h:737 +msgid "" +"Since a `runtime` component is comprised of multiple other software " +"components, their component-IDs may be listed in a `` section for " +"this runtime." +msgstr "" + +#: src/as-validator-issue-tag.h:742 +msgid "" +"The type of the item that the component provides is not known to AppStream." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:748 +msgid "" +"The toplevel `mimetypes` tag is deprecated. Please use `mediatype` tags in a " +"`provides` block instead to indicate that your software provides a media " +"handler for the given types." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks) and keep the URL intact. +#: src/as-validator-issue-tag.h:755 +msgid "" +"This component has no `content_rating` tag to provide age rating " +"information. You can generate the tag data online by answering a few " +"questions at https://hughsie.github.io/oars/" +msgstr "" + +#: src/as-validator.c:150 +msgid "" +"The emitted issue tag is unknown in the tag registry of AppStream. This is a " +"bug in the validator itself, please report this issue in our bugtracker." +msgstr "" + +#: src/as-validator.c:344 +msgid "URL format is invalid." +msgstr "" + +#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. +#: src/as-validator.c:522 src/as-validator.c:937 src/as-validator.c:1031 +#: src/as-validator.c:1428 src/as-validator.c:1448 src/as-validator.c:1481 +#, c-format +msgid "Found: %s - Allowed: %s" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --verbose +#: tools/appstream-compose.c:181 +msgid "Show extra debugging information" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --no-color +#. TRANSLATORS: ascli flag description for: --no-color +#: tools/appstream-compose.c:184 tools/appstreamcli.c:1087 +msgid "Don't show colored output." +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --version +#. TRANSLATORS: ascli flag description for: --version +#: tools/appstream-compose.c:187 tools/appstreamcli.c:1076 +msgid "Show the program version." +msgstr "הצגת גרסת התוכנית." + +#. TRANSLATORS: ascompose flag description for: --full-report +#: tools/appstream-compose.c:190 +msgid "Set mode of the issue report that is printed to the console" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --prefix +#: tools/appstream-compose.c:193 +msgid "Override the default prefix (`/usr` by default)" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --result-root +#: tools/appstream-compose.c:196 +msgid "Set the result output directory" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --data-dir, `collection metadata` is an AppStream term +#: tools/appstream-compose.c:199 +msgid "Override the collection metadata output directory" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --icons-dir +#: tools/appstream-compose.c:202 +msgid "Override the icon output directory" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --media-dir +#: tools/appstream-compose.c:205 +msgid "" +"Set the media output directory (for media data to be served by a webserver)" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --hints-dir +#: tools/appstream-compose.c:208 +msgid "Set a directory where HTML and text issue reports will be stored" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --origin +#. TRANSLATORS: ascompose flag description for: --media-baseurl +#: tools/appstream-compose.c:211 tools/appstream-compose.c:214 +msgid "Set the origin name" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --components +#: tools/appstream-compose.c:217 +msgid "A comma-separated list of component-IDs to accept" +msgstr "" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:231 +msgid "Failed to parse arguments" +msgstr "" + +#. TRANSLATORS: Output if appstreamcli --version is executed. +#: tools/appstream-compose.c:242 tools/appstreamcli.c:1230 +#, c-format +msgid "AppStream version: %s" +msgstr "" + +#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. +#: tools/appstream-compose.c:245 tools/appstreamcli.c:1233 +#, c-format +msgid "" +"AppStream CLI tool version: %s\n" +"AppStream library version: %s" +msgstr "" + +#. TRANSLATORS: invalid value for the --print-report CLI option +#: tools/appstream-compose.c:264 +#, c-format +msgid "" +"Invalid value for `--print-report` option: %s\n" +"Possible values are:\n" +"`on-error` - only prints a short report if the run failed (default)\n" +"`short` - generates an abridged report\n" +"`full` - a detailed report will be printed" +msgstr "" + +#: tools/appstream-compose.c:285 +#, c-format +msgid "Automatically selected '%s' as data output location." +msgstr "" + +#. TRANSLATORS: we don't have a destination directory for compose +#: tools/appstream-compose.c:288 +msgid "No destination directory set, please provide a data output location!" +msgstr "" + +#: tools/appstream-compose.c:298 tools/appstream-compose.c:300 +msgid "WARNING" +msgstr "" + +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:337 +#, c-format +msgid "Only accepting components: %s" +msgstr "" + +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:340 +#, c-format +msgid "Only accepting component: %s" +msgstr "" + +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:345 +msgid "Processing directories:" +msgstr "" + +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:348 +msgid "Processing directory:" +msgstr "" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:357 +msgid "Can not process invalid directory" +msgstr "" + +#. TRANSLATORS: information message +#: tools/appstream-compose.c:369 +msgid "Composing metadata..." +msgstr "" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:374 +#, fuzzy +msgid "Failed to compose AppStream metadata" +msgstr "כלי עזר לעבודה עם נתוני העל של AppStream" + +#. TRANSLATORS: appstream-compose failed to include all data +#: tools/appstream-compose.c:380 +msgid "Run failed, some data was ignored." +msgstr "" + +#. TRANSLATORS: information message of appstream-compose +#: tools/appstream-compose.c:382 +msgid "Errors were raised during this compose run:" +msgstr "" + +#: tools/appstream-compose.c:383 +msgid "" +"Refer to the generated issue report data for details on the individual " +"problems." +msgstr "" + +#: tools/appstream-compose.c:386 +msgid "Overview of generated hints:" +msgstr "" + +#. TRANSLATORS: information message +#: tools/appstream-compose.c:388 +msgid "Success!" +msgstr "" + +#. TRANSLATORS: ascli flag description for: --cachepath +#: tools/appstreamcli.c:59 +msgid "Manually selected location of AppStream cache." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --datapath +#: tools/appstreamcli.c:64 +msgid "Manually selected location of AppStream metadata to scan." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --no-cache +#: tools/appstreamcli.c:69 +msgid "Make request without any caching." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --format +#: tools/appstreamcli.c:85 +msgid "Default metadata format (valid values are 'xml' and 'yaml')." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --details +#: tools/appstreamcli.c:100 +msgid "Print detailed output about found components." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) +#: tools/appstreamcli.c:118 +msgid "Also show pedantic hints." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) +#: tools/appstreamcli.c:123 +msgid "Print detailed explanation for found issues." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) +#: tools/appstreamcli.c:128 +msgid "Do not use network access." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --format when validating XML files +#: tools/appstreamcli.c:133 +msgid "Format of the generated report (valid values are 'text' and 'yaml')." +msgstr "" + +#. TRANSLATORS: This is the header to the --help menu for subcommands +#. TRANSLATORS: This is the header to the --help menu +#: tools/appstreamcli.c:153 tools/appstreamcli.c:981 +msgid "AppStream command-line interface" +msgstr "" + +#: tools/appstreamcli.c:156 +#, c-format +msgid "'%s' command" +msgstr "" + +#. TRANSLATORS: An unknown option was passed to appstreamcli. +#: tools/appstreamcli.c:191 +#, c-format +msgid "Option '%s' is unknown." +msgstr "" + +#: tools/appstreamcli.c:195 tools/appstreamcli.c:1207 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options." +msgstr "" + +#: tools/appstreamcli.c:197 +#, c-format +msgid "" +"Run '%s --help' to see a list of available commands and options, and '%s %s " +"--help' to see a list of options specific for this subcommand." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --force +#: tools/appstreamcli.c:245 +msgid "Enforce a cache refresh." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --user +#: tools/appstreamcli.c:251 +msgid "Update the user-specific instead of the system-wide cache." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --origin (part of the "put" subcommand) +#: tools/appstreamcli.c:477 +msgid "Set the data origin for the installed metadata collection file." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --user (part of the "put" subcommand) +#: tools/appstreamcli.c:482 +msgid "Install the file for the current user, instead of globally." +msgstr "" + +#: tools/appstreamcli.c:631 +msgid "" +"You need to provide at least two version numbers to compare as parameters." +msgstr "" + +#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. +#: tools/appstreamcli.c:660 +#, c-format +msgid "Unknown compare relation '%s'. Valid values are:" +msgstr "" + +#: tools/appstreamcli.c:700 +msgid "" +"Too many parameters: Need two version numbers or version numbers and a " +"comparison operator." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) +#: tools/appstreamcli.c:726 +msgid "" +"Use the given .desktop file to fill in the basic values of the metainfo file." +msgstr "" + +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand +#: tools/appstreamcli.c:731 +msgid "" +"This command takes optional TYPE and FILE positional arguments, FILE being a " +"file to write to (or \"-\" for standard output)." +msgstr "" + +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows +#: tools/appstreamcli.c:734 +#, c-format +msgid "The TYPE must be a valid component-type, such as: %s" +msgstr "" + +#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) +#: tools/appstreamcli.c:775 +msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command +#: tools/appstreamcli.c:815 +msgid "Assume the input file is in the selected format ('yaml' or 'text')." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command +#: tools/appstreamcli.c:820 +msgid "" +"Limit the number of release entries that end up in the metainfo file (0 for " +"unlimited)." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command +#: tools/appstreamcli.c:862 +msgid "Generate the output in the selected format ('yaml' or 'text')." +msgstr "" + +#: tools/appstreamcli.c:894 +#, c-format +msgid "Compose binary '%s' was not found! Can not continue." +msgstr "" + +#. TRANSLATORS: this is a (usually shorter) command alias, shown after the command summary text +#: tools/appstreamcli.c:956 +#, c-format +msgid "(Alias: '%s')" +msgstr "" + +#. these are commands we can use with appstreamcli +#: tools/appstreamcli.c:983 +msgid "Subcommands:" +msgstr "" + +#: tools/appstreamcli.c:1029 +msgid "" +"You can find information about subcommand-specific options by passing \"--" +"help\" to the subcommand." +msgstr "" + +#. TRANSLATORS: ascli has been run with unknown command. '%s --help' is the command to receive help and should not be translated. +#: tools/appstreamcli.c:1052 +#, c-format +msgid "" +"Command '%s' is unknown. Run '%s --help' for a list of available commands." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --verbose +#: tools/appstreamcli.c:1082 +msgid "Show extra debugging information." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --profile +#: tools/appstreamcli.c:1090 +msgid "Enable profiling" +msgstr "" + +#. TRANSLATORS: `appstreamcli search` command description. +#: tools/appstreamcli.c:1102 +msgid "Search the component database." +msgstr "" + +#. TRANSLATORS: `appstreamcli get` command description. +#: tools/appstreamcli.c:1107 +msgid "Get information about a component by its ID." +msgstr "" + +#. TRANSLATORS: `appstreamcli what-provides` command description. +#: tools/appstreamcli.c:1112 +msgid "" +"Get components which provide the given item. Needs an item type (e.g. lib, " +"bin, python3, …) and item value as parameter." +msgstr "" + +#. TRANSLATORS: `appstreamcli dump` command description. +#: tools/appstreamcli.c:1118 +msgid "Dump raw XML metadata for a component matching the ID." +msgstr "" + +#. TRANSLATORS: `appstreamcli refresh-cache` command description. +#: tools/appstreamcli.c:1123 +msgid "Rebuild the component metadata cache." +msgstr "" + +#. TRANSLATORS: `appstreamcli validate` command description. +#: tools/appstreamcli.c:1129 +msgid "Validate AppStream XML files for issues." +msgstr "" + +#. TRANSLATORS: `appstreamcli validate-tree` command description. +#: tools/appstreamcli.c:1134 +msgid "Validate an installed file-tree of an application for valid metadata." +msgstr "" + +#. TRANSLATORS: `appstreamcli install` command description. +#: tools/appstreamcli.c:1140 +msgid "Install software matching the component-ID." +msgstr "" + +#. TRANSLATORS: `appstreamcli remove` command description. +#: tools/appstreamcli.c:1145 +msgid "Remove software matching the component-ID." +msgstr "" + +#. TRANSLATORS: `appstreamcli status` command description. +#: tools/appstreamcli.c:1151 +msgid "Display status information about available AppStream metadata." +msgstr "" + +#. TRANSLATORS: `appstreamcli os-info` command description. +#: tools/appstreamcli.c:1156 +msgid "" +"Show information about the current operating system from the metadata index." +msgstr "" + +#. TRANSLATORS: `appstreamcli put` command description. +#: tools/appstreamcli.c:1161 +msgid "Install a metadata file into the right location." +msgstr "" + +#. TRANSLATORS: `appstreamcli convert` command description. "Collection XML" is a term describing a specific type of AppStream XML data. +#: tools/appstreamcli.c:1166 +msgid "Convert collection XML to YAML or vice versa." +msgstr "" + +#. TRANSLATORS: `appstreamcli vercmp` command description. +#: tools/appstreamcli.c:1171 +msgid "Compare two version numbers." +msgstr "" + +#. TRANSLATORS: `appstreamcli new-template` command description. +#: tools/appstreamcli.c:1177 +msgid "" +"Create a template for a metainfo file (to be filled out by the upstream " +"project)." +msgstr "" + +#. TRANSLATORS: `appstreamcli make-desktop-file` command description. +#: tools/appstreamcli.c:1182 +msgid "Create a desktop-entry file from a metainfo file." +msgstr "" + +#. TRANSLATORS: `appstreamcli news-to-metainfo` command description. +#: tools/appstreamcli.c:1187 +msgid "Convert a YAML or text NEWS file into metainfo releases." +msgstr "" + +#. TRANSLATORS: `appstreamcli metainfo-to-news` command description. +#: tools/appstreamcli.c:1192 +msgid "Write NEWS text or YAML file with information from a metainfo file." +msgstr "" + +#. TRANSLATORS: `appstreamcli compose` command description. +#: tools/appstreamcli.c:1198 +msgid "Compose AppStream collection metadata from directory trees." +msgstr "" + +#. TRANSLATORS: ascli has been run without command. +#: tools/appstreamcli.c:1206 +msgid "You need to specify a command." +msgstr "" + +#. TRANSLATORS: In ascli: The requested action needs higher permissions. +#: tools/ascli-actions-mdata.c:70 +msgid "You might need superuser permissions to perform this action." +msgstr "" + +#. we performed a cache refresh +#. TRANSLATORS: Updating the metadata cache succeeded +#: tools/ascli-actions-mdata.c:80 +msgid "AppStream cache update completed successfully." +msgstr "" + +#. cache wasn't updated, so the update wasn't necessary +#: tools/ascli-actions-mdata.c:86 +msgid "AppStream cache update is not necessary." +msgstr "" + +#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments +#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. +#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:253 +#: tools/ascli-actions-pkgmgr.c:80 +msgid "You need to specify a component-ID." +msgstr "" + +#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:265 +#: tools/ascli-actions-pkgmgr.c:93 +#, c-format +msgid "Unable to find component with ID '%s'!" +msgstr "" + +#: tools/ascli-actions-mdata.c:164 +msgid "You need to specify a term to search for." +msgstr "" + +#. TRANSLATORS: We failed to find any component in the database, likely due to an error +#: tools/ascli-actions-mdata.c:177 +#, c-format +msgid "Unable to find component matching %s!" +msgstr "" + +#: tools/ascli-actions-mdata.c:182 +#, c-format +msgid "No component matching '%s' found." +msgstr "" + +#: tools/ascli-actions-mdata.c:206 +msgid "No value for the item to search for was defined." +msgstr "" + +#: tools/ascli-actions-mdata.c:212 +msgid "Invalid type for provided item selected. Valid values are:" +msgstr "" + +#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results +#: tools/ascli-actions-mdata.c:227 +#, c-format +msgid "Could not find component providing '%s::%s'." +msgstr "" + +#: tools/ascli-actions-mdata.c:306 +msgid "You need to specify a metadata file." +msgstr "" + +#: tools/ascli-actions-mdata.c:320 +#, c-format +msgid "Unable to install metadata file: %s" +msgstr "" + +#: tools/ascli-actions-mdata.c:340 +msgid "You need to specify an input and output file." +msgstr "" + +#: tools/ascli-actions-mdata.c:347 +#, c-format +msgid "Metadata file '%s' does not exist." +msgstr "" + +#. TRANSLATORS: User is trying to convert a file in ascli +#: tools/ascli-actions-mdata.c:387 +msgid "" +"Unable to convert file: Could not determine output format, please set it " +"explicitly using '--format='." +msgstr "" + +#: tools/ascli-actions-mdata.c:438 +#, c-format +msgid "Unable to find operating system component '%s'!" +msgstr "" + +#: tools/ascli-actions-mdata.c:443 +msgid "Version" +msgstr "" + +#: tools/ascli-actions-mdata.c:467 +msgid "" +"You need to give an AppStream software component type to generate a " +"template. Possible values are:" +msgstr "" + +#: tools/ascli-actions-mdata.c:469 +#, c-format +msgid "" +"The software component type '%s' is not valid in AppStream. Possible values " +"are:" +msgstr "" + +#: tools/ascli-actions-mdata.c:487 +#, c-format +msgid "The .desktop file '%s' does not exist." +msgstr "" + +#: tools/ascli-actions-mdata.c:493 +#, c-format +msgid "Unable to read the .desktop file: %s" +msgstr "" + +#: tools/ascli-actions-mdata.c:564 +#, c-format +msgid "Unable to build the template metainfo file: %s" +msgstr "" + +#: tools/ascli-actions-mdata.c:572 +#, c-format +msgid "Unable to save the template metainfo file: %s" +msgstr "" + +#. TRANSLATORS: In the status report of ascli: Header +#: tools/ascli-actions-misc.c:47 +msgid "AppStream Status:" +msgstr "" + +#: tools/ascli-actions-misc.c:48 +#, c-format +msgid "Version: %s" +msgstr "" + +#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions +#: tools/ascli-actions-misc.c:52 +msgid "Distribution metadata:" +msgstr "" + +#: tools/ascli-actions-misc.c:94 +msgid "Iconsets" +msgstr "" + +#: tools/ascli-actions-misc.c:105 +msgid "No icons." +msgstr "" + +#. TRANSLATORS: No metainfo files have been found +#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 +msgid "Empty." +msgstr "" + +#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report +#: tools/ascli-actions-misc.c:116 +msgid "Metainfo files:" +msgstr "" + +#: tools/ascli-actions-misc.c:123 +#, c-format +msgid "Found %i components." +msgstr "" + +#. TRANSLATORS: Found metainfo files in legacy directories +#: tools/ascli-actions-misc.c:138 +#, c-format +msgid "Found %i components in legacy paths." +msgstr "" + +#. TRANSLATORS: Status summary in ascli +#: tools/ascli-actions-misc.c:145 +msgid "Summary:" +msgstr "סיכום:" + +#: tools/ascli-actions-misc.c:153 +#, c-format +msgid "We have information on %i software components." +msgstr "" + +#: tools/ascli-actions-misc.c:159 +#, c-format +msgid "Error while loading the metadata pool: %s" +msgstr "" + +#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 +msgid "You need to specify a metainfo file as input." +msgstr "" + +#: tools/ascli-actions-misc.c:188 +msgid "" +"You need to specify a desktop-entry file to create or augment as output." +msgstr "" + +#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 +#: tools/ascli-actions-misc.c:515 +#, c-format +msgid "Metainfo file '%s' does not exist." +msgstr "" + +#: tools/ascli-actions-misc.c:219 +#, c-format +msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." +msgstr "" + +#: tools/ascli-actions-misc.c:224 +#, c-format +msgid "Unable to load existing desktop-entry file template: %s" +msgstr "" + +#: tools/ascli-actions-misc.c:228 +#, c-format +msgid "Creating new desktop-entry file '%s' using data from '%s'" +msgstr "" + +#: tools/ascli-actions-misc.c:284 +msgid "No stock icon name was provided in the metainfo file. Can not continue." +msgstr "" + +#: tools/ascli-actions-misc.c:306 +msgid "" +"No provided binary specified in metainfo file, and no exec command specified " +"via '--exec'. Can not create 'Exec=' key." +msgstr "" + +#: tools/ascli-actions-misc.c:370 +#, c-format +msgid "Unable to save desktop entry file: %s" +msgstr "" + +#: tools/ascli-actions-misc.c:393 +msgid "You need to specify a NEWS file as input." +msgstr "" + +#: tools/ascli-actions-misc.c:397 +msgid "" +"You need to specify a metainfo file to augment, or '-' to print to stdout." +msgstr "" + +#: tools/ascli-actions-misc.c:402 +msgid "No output filename specified, modifying metainfo file directly." +msgstr "" + +#: tools/ascli-actions-misc.c:509 +msgid "You need to specify a NEWS file as output, or '-' to print to stdout." +msgstr "" + +#: tools/ascli-actions-misc.c:540 +msgid "You need to specify a NEWS format to write the output in." +msgstr "" + +#: tools/ascli-actions-pkgmgr.c:53 +msgid "" +"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" +"\" (part of PackageKit) is available." +msgstr "" + +#: tools/ascli-actions-pkgmgr.c:67 +#, c-format +msgid "Unable to spawn package manager: %s" +msgstr "" + +#. TRANSLATORS: We found no distribution package or bundle to install to make this software available +#: tools/ascli-actions-pkgmgr.c:106 +#, c-format +msgid "Component '%s' has no installation candidate." +msgstr "" + +#: tools/ascli-actions-validate.c:176 tools/ascli-actions-validate.c:354 +#, c-format +msgid "File '%s' does not exist." +msgstr "" + +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "error"-type hints +#: tools/ascli-actions-validate.c:228 +#, c-format +msgid "errors: %lu" +msgstr "שגיאות: %lu" + +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "warning"-type hints +#: tools/ascli-actions-validate.c:235 +#, c-format +msgid "warnings: %lu" +msgstr "אזהרות: %lu" + +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "info"-type hints +#: tools/ascli-actions-validate.c:242 +#, c-format +msgid "infos: %lu" +msgstr "" + +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "pedantic"-type hints +#: tools/ascli-actions-validate.c:249 +#, c-format +msgid "pedantic: %lu" +msgstr "" + +#: tools/ascli-actions-validate.c:268 tools/ascli-actions-validate.c:342 +msgid "You need to specify at least one file to validate!" +msgstr "" + +#: tools/ascli-actions-validate.c:294 tools/ascli-actions-validate.c:435 +msgid "Validation was successful." +msgstr "" + +#: tools/ascli-actions-validate.c:296 tools/ascli-actions-validate.c:437 +#, c-format +msgid "Validation was successful: %s" +msgstr "" + +#: tools/ascli-actions-validate.c:306 tools/ascli-actions-validate.c:447 +#, c-format +msgid "Validation failed: %s" +msgstr "" + +#: tools/ascli-actions-validate.c:368 tools/ascli-actions-validate.c:497 +#, c-format +msgid "" +"The validator can not create reports in the '%s' format. You may select " +"'yaml' or 'text' instead." +msgstr "" + +#: tools/ascli-actions-validate.c:390 tools/ascli-actions-validate.c:484 +msgid "You need to specify a root directory to start validation!" +msgstr "" + +#: tools/ascli-utils.c:266 +msgid "Identifier" +msgstr "" + +#: tools/ascli-utils.c:268 +msgid "Internal ID" +msgstr "" + +#: tools/ascli-utils.c:269 +msgid "Name" +msgstr "" + +#: tools/ascli-utils.c:270 +msgid "Summary" +msgstr "" + +#: tools/ascli-utils.c:271 +msgid "Package" +msgstr "" + +#: tools/ascli-utils.c:272 +msgid "Bundle" +msgstr "" + +#: tools/ascli-utils.c:273 +msgid "Homepage" +msgstr "דף הבית" + +#: tools/ascli-utils.c:274 +msgid "Icon" +msgstr "סמל" + +#. developer name +#: tools/ascli-utils.c:294 +msgid "Developer" +msgstr "" + +#: tools/ascli-utils.c:300 +msgid "Extends" +msgstr "" + +#: tools/ascli-utils.c:306 +msgid "Description" +msgstr "תיאור" + +#: tools/ascli-utils.c:326 +msgid "Default Screenshot URL" +msgstr "" + +#. project group +#: tools/ascli-utils.c:333 +msgid "Project Group" +msgstr "" + +#. license +#: tools/ascli-utils.c:336 +msgid "License" +msgstr "רישיון" + +#: tools/ascli-utils.c:342 +msgid "Categories" +msgstr "קטגוריות" + +#: tools/ascli-utils.c:350 +msgid "Compulsory for" +msgstr "" + +#: tools/ascli-utils.c:378 +msgid "Provided Items" +msgstr "" + +#, fuzzy, c-format +#~ msgid "Unable to open new cache file: %s" +#~ msgstr "אין אפשרות להסיר את המטמון הישן." diff -Nru appstream-0.12.10/po/hr.po appstream-0.14.5/po/hr.po --- appstream-0.12.10/po/hr.po 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/po/hr.po 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,3042 @@ +# #-#-#-#-# hr.po (appstream) #-#-#-#-# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR Matthias Klumpp +# This file is distributed under the same license as the appstream package. +# gogogogi , 2020. +# Milo Ivir , 2020, 2021. +# #-#-#-#-# hr.po (appstream-glib) #-#-#-#-# +# Croatian translation for appstream-glib. +# Copyright (C) 2020 appstream-glib's COPYRIGHT HOLDER +# This file is distributed under the same license as the appstream-glib package. +# Milo Ivir , 2020, 2021. +msgid "" +msgstr "" +"Project-Id-Version: appstream-glib\n" +"Report-Msgid-Bugs-To: appstream@lists.freedesktop.org\n" +"POT-Creation-Date: 2021-08-28 16:09+0200\n" +"PO-Revision-Date: 2021-03-05 23:50+0000\n" +"Last-Translator: Milo Ivir \n" +"Language-Team: Croatian \n" +"Language: hr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 4.5.1\n" + +#: data/org.freedesktop.appstream.cli.metainfo.xml:8 +msgid "AppStream CLI" +msgstr "AppStream CLI" + +#: data/org.freedesktop.appstream.cli.metainfo.xml:9 +msgid "An utility to work with AppStream metadata" +msgstr "Uslužni program za rad s AppStream metapodacima" + +#: data/org.freedesktop.appstream.cli.metainfo.xml:12 +msgid "" +"AppStream is a metadata specification which permits software components to " +"provide information about themselves to automated systems and end-users " +"before the software is actually installed. The AppStream project provides " +"facilities to easily access and transform this metadata, as well as a few " +"additional services for building feature-rich software centers and similar " +"applications that make use of software metadata." +msgstr "" + +#: data/org.freedesktop.appstream.cli.metainfo.xml:18 +msgid "" +"The appstreamcli command-line tool allows to read, write, and " +"transform AppStream XML or YAML metadata as well as to validate it for " +"compliance with the specification. It also provides easy access to the " +"system metadata pool, for example to query for software that provides a " +"specific Mediatype handler or for installing software by its component " +"identifier." +msgstr "" +"Alat appstreamcli omogućuje čitanje, pisanje, provjeru ispravnosti " +"i transformaciju AppStream XML ili YAML metapodataka. Također daje pristup " +"sabiralištu metapodataka sustava, na primjer, za traženje softvera koji " +"pruža određenu MIME vrstu ili za instaliranje pomoću njenog identifikatora " +"komponenata softvera." + +#: src/as-category.c:66 +msgctxt "Category of AudioVideo" +msgid "Featured" +msgstr "Predstavljeno" + +#: src/as-category.c:69 +msgctxt "Category of AudioVideo" +msgid "Audio Creation & Editing" +msgstr "Stvaranje i uređivanje audiosnimaka" + +#: src/as-category.c:75 +msgctxt "Category of AudioVideo" +msgid "Music Players" +msgstr "Reproduktori glazbe" + +#: src/as-category.c:84 +msgctxt "Category of Development" +msgid "Featured" +msgstr "Predstavljeno" + +#: src/as-category.c:87 +msgctxt "Category of Development" +msgid "Debuggers" +msgstr "Otklanjanje grešaka" + +#: src/as-category.c:90 +msgctxt "Category of Development" +msgid "IDEs" +msgstr "Integrirana razvojna okruženja" + +#: src/as-category.c:99 +msgctxt "Category of Education" +msgid "Featured" +msgstr "Predstavljeno" + +#: src/as-category.c:102 +msgctxt "Category of Education" +msgid "Astronomy" +msgstr "Astronomija" + +#: src/as-category.c:105 +msgctxt "Category of Education" +msgid "Chemistry" +msgstr "Kemija" + +#: src/as-category.c:108 +msgctxt "Category of Education" +msgid "Languages" +msgstr "Jezici" + +#: src/as-category.c:112 +msgctxt "Category of Education" +msgid "Math" +msgstr "Matematika" + +#: src/as-category.c:121 +msgctxt "Category of Games" +msgid "Featured" +msgstr "Predstavljene igre" + +#: src/as-category.c:124 +msgctxt "Category of Games" +msgid "Action" +msgstr "Akcijske igre" + +#: src/as-category.c:127 +msgctxt "Category of Games" +msgid "Adventure" +msgstr "Pustolovne igre" + +#: src/as-category.c:130 +msgctxt "Category of Games" +msgid "Arcade" +msgstr "Arkadne igre" + +#: src/as-category.c:133 +msgctxt "Category of Games" +msgid "Blocks" +msgstr "Igre blokova" + +#: src/as-category.c:136 +msgctxt "Category of Games" +msgid "Board" +msgstr "Igre na ploči" + +#: src/as-category.c:139 +msgctxt "Category of Games" +msgid "Card" +msgstr "Kartaške igre" + +#: src/as-category.c:142 +msgctxt "Category of Games" +msgid "Emulators" +msgstr "Emulatori" + +#: src/as-category.c:145 +msgctxt "Category of Games" +msgid "Kids" +msgstr "Dječje igre" + +#: src/as-category.c:148 +msgctxt "Category of Games" +msgid "Logic" +msgstr "Logičke igre" + +#: src/as-category.c:151 +msgctxt "Category of Games" +msgid "Role Playing" +msgstr "Igranje uloga" + +#: src/as-category.c:154 +msgctxt "Category of Games" +msgid "Sports" +msgstr "Sportske igre" + +#: src/as-category.c:158 +msgctxt "Category of Games" +msgid "Strategy" +msgstr "Strateške igre" + +#: src/as-category.c:166 +msgctxt "Category of Graphics" +msgid "Featured" +msgstr "Predstavljeno" + +#: src/as-category.c:169 +msgctxt "Category of Graphics" +msgid "3D Graphics" +msgstr "3D grafike" + +#: src/as-category.c:172 +msgctxt "Category of Graphics" +msgid "Photography" +msgstr "Fotografija" + +#: src/as-category.c:175 +msgctxt "Category of Graphics" +msgid "Scanning" +msgstr "Skeniranje" + +#: src/as-category.c:178 +msgctxt "Category of Graphics" +msgid "Vector Graphics" +msgstr "Vektorske grafike" + +#: src/as-category.c:181 +msgctxt "Category of Graphics" +msgid "Viewers" +msgstr "Prikazivači" + +#: src/as-category.c:189 +msgctxt "Category of Office" +msgid "Featured" +msgstr "Predstavljeno" + +#: src/as-category.c:192 +msgctxt "Category of Office" +msgid "Calendar" +msgstr "Kalendar" + +#: src/as-category.c:196 +msgctxt "Category of Office" +msgid "Database" +msgstr "Baza podataka" + +#: src/as-category.c:199 +msgctxt "Category of Office" +msgid "Finance" +msgstr "Računovodstvo" + +#: src/as-category.c:203 +msgctxt "Category of Office" +msgid "Word Processor" +msgstr "Obrada teksta" + +#: src/as-category.c:212 +msgctxt "Category of Addons" +msgid "Fonts" +msgstr "Fontovi" + +#: src/as-category.c:215 +msgctxt "Category of Addons" +msgid "Codecs" +msgstr "Kodeki" + +#: src/as-category.c:218 +msgctxt "Category of Addons" +msgid "Input Sources" +msgstr "Izvori unosa" + +#: src/as-category.c:221 +msgctxt "Category of Addons" +msgid "Language Packs" +msgstr "Jezični paketi" + +#: src/as-category.c:224 +msgctxt "Category of Addons" +msgid "Localization" +msgstr "Lokalizacija" + +#: src/as-category.c:232 +msgctxt "Category of Science" +msgid "Featured" +msgstr "Predstavljeno" + +#: src/as-category.c:235 +msgctxt "Category of Science" +msgid "Artificial Intelligence" +msgstr "Umjetna inteligencija" + +#: src/as-category.c:238 +msgctxt "Category of Science" +msgid "Astronomy" +msgstr "Astronomija" + +#: src/as-category.c:241 +msgctxt "Category of Science" +msgid "Chemistry" +msgstr "Kemija" + +#: src/as-category.c:244 +msgctxt "Category of Science" +msgid "Math" +msgstr "Matematika" + +#: src/as-category.c:249 +msgctxt "Category of Science" +msgid "Robotics" +msgstr "Robotika" + +#: src/as-category.c:257 +msgctxt "Category of Communication" +msgid "Featured" +msgstr "Predstavljeno" + +#: src/as-category.c:260 +msgctxt "Category of Communication" +msgid "Chat" +msgstr "Chat" + +#: src/as-category.c:267 +msgctxt "Category of Communication" +msgid "News" +msgstr "Vijesti" + +#: src/as-category.c:271 +msgctxt "Category of Communication" +msgid "Web Browsers" +msgstr "Web preglednici" + +#: src/as-category.c:279 +msgctxt "Category of Utility" +msgid "Featured" +msgstr "Predstavljeno" + +#: src/as-category.c:282 +msgctxt "Category of Utility" +msgid "Text Editors" +msgstr "Uređivanje teksta" + +#: src/as-category.c:285 +msgctxt "Category of Utility" +msgid "Terminal Emulators" +msgstr "Emulatori terminala" + +#: src/as-category.c:288 +msgctxt "Category of Utility" +msgid "File System" +msgstr "Datotečni sustav" + +#: src/as-category.c:291 +msgctxt "Category of Utility" +msgid "System Monitoring" +msgstr "Praćenje sustava" + +#: src/as-category.c:294 +msgctxt "Category of Utility" +msgid "Security" +msgstr "Sigurnost" + +#. TRANSLATORS: this is the menu spec main category for Audio & Video +#: src/as-category.c:303 +msgid "Audio & Video" +msgstr "Audio- i videosnimke" + +#. TRANSLATORS: this is the menu spec main category for Development +#: src/as-category.c:306 +msgid "Developer Tools" +msgstr "Alati za programere" + +#. TRANSLATORS: this is the menu spec main category for Education +#: src/as-category.c:309 +msgid "Education" +msgstr "Obrazovanje" + +#. TRANSLATORS: this is the menu spec main category for Game +#: src/as-category.c:312 +msgid "Games" +msgstr "Igre" + +#. TRANSLATORS: this is the menu spec main category for Graphics +#: src/as-category.c:315 +msgid "Graphics & Photography" +msgstr "Grafike i fotografija" + +#. TRANSLATORS: this is the menu spec main category for Office +#: src/as-category.c:318 +msgid "Office" +msgstr "Ured" + +#. TRANSLATORS: this is the main category for Add-ons +#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor +#: src/as-category.c:321 tools/ascli-utils.c:371 +msgid "Add-ons" +msgstr "Dodaci" + +#. TRANSLATORS: this is the menu spec main category for Science +#: src/as-category.c:324 +msgid "Science" +msgstr "Znanost" + +#. TRANSLATORS: this is the menu spec main category for Communication +#: src/as-category.c:327 +msgid "Communication & News" +msgstr "Komunikacija i vijesti" + +#. TRANSLATORS: this is the menu spec main category for Utilities +#: src/as-category.c:330 +msgid "Utilities" +msgstr "Uslužni programi" + +#. TRANSLATORS: This is the formatting of English and localized name +#. * of the rating e.g. "Adults Only (solo adultos)" +#: src/as-content-rating.c:298 +#, c-format +msgid "%s (%s)" +msgstr "%s (%s)" + +#: src/as-content-rating.c:444 +msgid "General" +msgstr "Opće" + +#: src/as-content-rating.c:453 +msgid "ALL" +msgstr "SVE" + +#: src/as-content-rating.c:457 src/as-content-rating.c:560 +msgid "Adults Only" +msgstr "Samo za odrasle osobe" + +#: src/as-content-rating.c:459 src/as-content-rating.c:559 +msgid "Mature" +msgstr "Zrele osobe" + +#: src/as-content-rating.c:461 src/as-content-rating.c:558 +msgid "Teen" +msgstr "Tinejdžeri" + +#: src/as-content-rating.c:463 src/as-content-rating.c:557 +msgid "Everyone 10+" +msgstr "Svatko stariji od 10 godina" + +#: src/as-content-rating.c:465 src/as-content-rating.c:556 +msgid "Everyone" +msgstr "Svatko" + +#: src/as-content-rating.c:467 src/as-content-rating.c:555 +msgid "Early Childhood" +msgstr "Rano djetinjstvo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:839 +msgid "No cartoon violence" +msgstr "Bez animiranog nasilja" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:841 +msgid "Cartoon characters in unsafe situations" +msgstr "Animirani likovi u nesigurnim situacijama" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:843 +msgid "Cartoon characters in aggressive conflict" +msgstr "Animirani likovi u agresivnim konfliktnim situacijama" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:845 +msgid "Graphic violence involving cartoon characters" +msgstr "Grafički prikaz nasilja koje uključuje animirane likove" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:850 +msgid "No fantasy violence" +msgstr "Bez izmišljenog nasilja" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:852 +msgid "Characters in unsafe situations easily distinguishable from reality" +msgstr "Likovi u nesigurnim situacijama, koje se lako prepoznaju kao nestvarne" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:854 +msgid "Characters in aggressive conflict easily distinguishable from reality" +msgstr "" +"Likovi u agresivnim konfliktnim situacijama, koje se lako prepoznaju kao " +"nestvarne" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:856 +msgid "Graphic violence easily distinguishable from reality" +msgstr "Grafički prikaz nasilja, koje se lako prepoznaje kao nestvarno" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:861 +msgid "No realistic violence" +msgstr "Bez realističnog nasilja" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:863 +msgid "Mildly realistic characters in unsafe situations" +msgstr "Manje realistični likovi u nesigurnim situacijama" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:865 +msgid "Depictions of realistic characters in aggressive conflict" +msgstr "Prikazi realističnih likova u agresivnim konfliktnim situacijama" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:867 +msgid "Graphic violence involving realistic characters" +msgstr "Grafički prikaz nasilja, koje uključuje realistične likove" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:872 +msgid "No bloodshed" +msgstr "Bez krvoprolića" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:874 +msgid "Unrealistic bloodshed" +msgstr "Nerealistično krvoproliće" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:876 +msgid "Realistic bloodshed" +msgstr "Realistično krvoproliće" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:878 +msgid "Depictions of bloodshed and the mutilation of body parts" +msgstr "Prikazi krvoprolića i osakaćenih tijela" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:883 +msgid "No sexual violence" +msgstr "Bez seksualnog nasilja" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:885 +msgid "Rape or other violent sexual behavior" +msgstr "Silovanje ili drugo nasilno seksualno ponašanje" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:892 +msgid "No references to alcohol" +msgstr "Bez spominjanja alkohola" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:894 +msgid "References to alcoholic beverages" +msgstr "Spominjanje alkoholnih pića" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:896 +msgid "Use of alcoholic beverages" +msgstr "Upotreba alkoholnih pića" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:902 +msgid "No references to illicit drugs" +msgstr "Bez spominjanja nezakonitih droga" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:904 +msgid "References to illicit drugs" +msgstr "Spominjanje nezakonitih droga" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:906 +msgid "Use of illicit drugs" +msgstr "Upotreba nezakonitih droga" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:912 +msgid "No references to tobacco products" +msgstr "Bez spominjanja duhanskih proizvoda" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:914 +msgid "References to tobacco products" +msgstr "Spominjanje duhanskih proizvoda" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:916 +msgid "Use of tobacco products" +msgstr "Upotreba duhanskih proizvoda" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:922 +msgid "No nudity of any sort" +msgstr "Bez golotinje" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:924 +msgid "Brief artistic nudity" +msgstr "Kratka umjetnička golotinja" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:926 +msgid "Prolonged nudity" +msgstr "Duži prikaz golotinje" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:932 +msgid "No references to or depictions of sexual nature" +msgstr "Bez spominjanja ili prikaza seksa" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:934 +msgid "Provocative references or depictions" +msgstr "Spominjanje ili prikaz provokativnog karaktera" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:936 +msgid "Sexual references or depictions" +msgstr "Spominjanje ili prikaz seksa" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:938 +msgid "Graphic sexual behavior" +msgstr "Grafički prikaz seksa" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:943 +msgid "No profanity of any kind" +msgstr "Bez vulgarnosti bilo koje vrste" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:945 +msgid "Mild or infrequent use of profanity" +msgstr "Blaga ili rijetka upotreba vulgarnosti" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:947 +msgid "Moderate use of profanity" +msgstr "Poneka upotreba vulgarnosti" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:949 +msgid "Strong or frequent use of profanity" +msgstr "Jaka ili česta upotreba vulgarnosti" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:954 +msgid "No inappropriate humor" +msgstr "Bez nepristojnog humora" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:956 +msgid "Slapstick humor" +msgstr "Smiješni humor" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:958 +msgid "Vulgar or bathroom humor" +msgstr "Vulgarni humor" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:960 +msgid "Mature or sexual humor" +msgstr "Odrasli ili seksualni humor" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:965 +msgid "No discriminatory language of any kind" +msgstr "Bez diskriminirajućeg jezika bilo koje vrste" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:967 +msgid "Negativity towards a specific group of people" +msgstr "Negativnost prema određenoj skupini ljudi" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:969 +msgid "Discrimination designed to cause emotional harm" +msgstr "Diskriminacija sa ciljem nanošenja emocionalne štete" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:971 +msgid "Explicit discrimination based on gender, sexuality, race or religion" +msgstr "Izričita diskriminacija na temelju spola, seksualnosti, rase ili vjere" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:976 +msgid "No advertising of any kind" +msgstr "Bez oglasa bilo koje vrste" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:978 +msgid "Product placement" +msgstr "Smještanje proizvoda" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:980 +msgid "Explicit references to specific brands or trademarked products" +msgstr "Izričito spominjanje određenih marki ili proizvoda zaštićene marke" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:982 +msgid "Users are encouraged to purchase specific real-world items" +msgstr "Korisnike se potiče na kupnju određenih stvarnih predmeta" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:987 +msgid "No gambling of any kind" +msgstr "Bez kockanja bilo koje vrste" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:989 +msgid "Gambling on random events using tokens or credits" +msgstr "Sporadično kockanje sa žetonima ili kreditima" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:991 +msgid "Gambling using “play” money" +msgstr "Kockanje s lažnim novcem" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:993 +msgid "Gambling using real money" +msgstr "Kockanje s pravim novcem" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:998 +msgid "No ability to spend money" +msgstr "Bez mogućnosti trošenja novca" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1000 +msgid "Users are encouraged to donate real money" +msgstr "Korisnike se potiče na doniranje pravog novca" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1003 +msgid "Ability to spend real money in-app" +msgstr "Mogućnost trošenja stvarnog novca unutar programa" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1008 +msgid "No way to chat with other users" +msgstr "Bez mogućnosti razgovaranja s ostalim korisnicima" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1010 +msgid "User-to-user interactions without chat functionality" +msgstr "Međukorisnička interakcija bez mogućnosti razgovaranja" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1012 +msgid "Moderated chat functionality between users" +msgstr "Poneka mogućnost razgovaranja s korisnicima" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1014 +msgid "Uncontrolled chat functionality between users" +msgstr "Neograničena mogućnost razgovaranja s korisnicima" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1019 +msgid "No way to talk with other users" +msgstr "Bez mogućnosti razgovaranja s ostalim korisnicima" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1021 +msgid "Uncontrolled audio or video chat functionality between users" +msgstr "" +"Neograničena mogućnost razgovaranja s korisnicima putem audio- ili " +"videokanala" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1028 +msgid "No sharing of social network usernames or email addresses" +msgstr "Bez dijeljenja korisničkih imena društvenih mreža ili adresa e-pošte" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1030 +msgid "Sharing social network usernames or email addresses" +msgstr "Dijeljenje korisničkih imena društvenih mreža ili adresa e-pošte" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1037 +msgid "No sharing of user information with third parties" +msgstr "Bez dijeljenja korisničkih podataka sa sporednim strankama" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1039 +msgid "Checking for the latest application version" +msgstr "Traženje najnovije verzije programa" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1041 +msgid "Sharing diagnostic data that does not let others identify the user" +msgstr "" +"Dijeljenje dijagnostičkih podataka bez mogućnosti identificiranja korisnika" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1043 +msgid "Sharing information that lets others identify the user" +msgstr "Dijeljenje podataka bez mogućnosti identificiranja korisnika" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1048 +msgid "No sharing of physical location with other users" +msgstr "Bez dijeljenja stvarne lokacije s ostalim korisnicima" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1050 +msgid "Sharing physical location with other users" +msgstr "Dijeljenje stvarne lokacije s ostalim korisnicima" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1073 +msgid "No references to homosexuality" +msgstr "Bez spominjanja homoseksualnosti" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1075 +msgid "Indirect references to homosexuality" +msgstr "Neizravno spominjanje homoseksualnosti" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1077 +msgid "Kissing between people of the same gender" +msgstr "Ljubljenje između osoba istog spola" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1079 +msgid "Graphic sexual behavior between people of the same gender" +msgstr "Grafički prikaz seksa između osoba istog spola" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1084 +msgid "No references to prostitution" +msgstr "Bez spominjanja prostitucije" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1086 +msgid "Indirect references to prostitution" +msgstr "Neizravno spominjanje prostitucije" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1088 +msgid "Direct references to prostitution" +msgstr "Izravno spominjanje prostitucije" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1090 +msgid "Graphic depictions of the act of prostitution" +msgstr "Grafički prikazi prostitucije" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1095 +msgid "No references to adultery" +msgstr "Bez spominjanja preljuba" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1097 +msgid "Indirect references to adultery" +msgstr "Neizravno spominjanje preljuba" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1099 +msgid "Direct references to adultery" +msgstr "Izravno spominjanje preljuba" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1101 +msgid "Graphic depictions of the act of adultery" +msgstr "Grafički prikazi preljuba" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1106 +msgid "No sexualized characters" +msgstr "Bez seksualiziranih likova" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1109 +msgid "Scantily clad human characters" +msgstr "Oskudno obučeni ljudski likovi" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1111 +msgid "Overtly sexualized human characters" +msgstr "Jasno vidljivi seksualizirani ljudski likovi" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1116 +msgid "No references to desecration" +msgstr "Bez spominjanja skrnavljenja" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1118 +msgid "Depictions of or references to historical desecration" +msgstr "Prikazi ili spominjanje skrnavljenja u povijesti" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1120 +msgid "Depictions of modern-day human desecration" +msgstr "Prikazi suvremenog skrnavljenja osoba" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1122 +msgid "Graphic depictions of modern-day desecration" +msgstr "Grafički prikazi suvremenog skrnavljenja" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1127 +msgid "No visible dead human remains" +msgstr "Bez vidljivih ostataka mrtvih osoba" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1129 +msgid "Visible dead human remains" +msgstr "Vidljivi ostaci mrtvih osoba" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1131 +msgid "Dead human remains that are exposed to the elements" +msgstr "Ostaci mrtvih osoba koji su izloženi vremenskim uvjetima" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1133 +msgid "Graphic depictions of desecration of human bodies" +msgstr "Grafički prikazi suvremenog skrnavljenja ljudskih tijela" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1138 +msgid "No references to slavery" +msgstr "Bez spominjanje ropstva" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1140 +msgid "Depictions of or references to historical slavery" +msgstr "Prikazi ili spominjanje ropstva u povijesti" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1142 +msgid "Depictions of modern-day slavery" +msgstr "Prikazi suvremenog ropstva" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1144 +msgid "Graphic depictions of modern-day slavery" +msgstr "Grafički prikazi suvremenog ropstva" + +#. TRANSLATORS: We got a 429 error while trying to download data +#: src/as-curl.c:134 +#, c-format +msgid "Failed to download due to server limit" +msgstr "Neuspjelo preuzimanje zbog ograničenja poslužitelja" + +#: src/as-curl.c:141 src/as-curl.c:148 +#, c-format +msgid "Failed to download file: %s" +msgstr "Neuspjelo preuzimanje datoteke: %s" + +#. TRANSLATORS: We tried to download an URL, but received a 404 error code +#: src/as-curl.c:157 +#, c-format +msgid "URL was not found on the server." +msgstr "URL adresa nije pronađena na poslužitelju." + +#. TRANSLATORS: We received an uexpected HTTP status code while talking to a server, likely an error +#: src/as-curl.c:164 +#, c-format +msgid "Unexpected status code: %ld" +msgstr "Neočekivani kod stanja: %ld" + +#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty +#: src/as-curl.c:247 +#, c-format +msgid "Retrieved file size was zero." +msgstr "Veličina preuzete datoteke je bila nula." + +#. TRANSLATORS: List of "grey-listed" words sperated with ";" +#. * Do not translate this list directly. Instead, +#. * provide a list of words in your language that people are likely +#. * to include in a search but that should normally be ignored in +#. * the search. +#. +#: src/as-pool.c:111 +msgid "app;application;package;program;programme;suite;tool" +msgstr "app;aplikacija;paket;program;komplet;alat" + +#: src/as-pool.c:620 +msgid "Unable to remove old cache." +msgstr "Nije moguće ukloniti staru predmemoriju." + +#: src/as-pool.c:963 +msgid "Metadata files have errors:" +msgstr "Datoteke metapodataka sadrže greške:" + +#: src/as-pool.c:1370 +msgid "" +"Many components have been recognized as invalid. See debug output for " +"details." +msgstr "" +"Mnoge komponente prepoznate su kao neispravne. Pojedinosti se mogu " +"pregledati u rezultatu otklanjanja grešaka." + +#: src/as-pool.c:1996 +#, c-format +msgid "Cache location '%s' is not writable." +msgstr "Mjesto predmemorije „%s” je zaštićeno od pisanja." + +#: src/as-pool.c:2109 +msgid "" +"The AppStream system cache was updated, but some components were ignored. " +"Refer to the verbose log for more information." +msgstr "" +"AppStream predmemorija sustava je aktualizirana, ali neke komponente su " +"zanemarene. Dodatne informacije nalaze se u opširnom log-zapisu." + +#: src/as-pool.c:2111 +#, c-format +msgid "" +"The AppStream system cache was updated, but problems were found which " +"resulted in metadata being ignored: %s" +msgstr "" +"AppStream predmemorija sustava je aktualizirana, ali pronađeni su problemi, " +"zbog čega su metapodaci zanemareni: %s" + +#: src/as-pool.c:2125 +#, c-format +msgid "" +"AppStream system cache refresh failed. Turn on verbose mode to get detailed " +"issue information." +msgstr "" +"Neuspjelo aktualiziranje AppStream predmemorije sustava. Uključi modus " +"opširnog izvještavanja za dobivanje detaljnih informacija o problemu." + +#: src/as-provided.c:144 +msgid "Libraries" +msgstr "Biblioteke" + +#: src/as-provided.c:146 +msgid "Binaries" +msgstr "Binarne datoteke" + +#: src/as-provided.c:148 +msgid "Media types" +msgstr "Vrste medija" + +#: src/as-provided.c:150 +msgid "Fonts" +msgstr "Fontovi" + +#: src/as-provided.c:152 +msgid "Modaliases" +msgstr "Modaliasi" + +#: src/as-provided.c:154 +msgid "Python (Version 2)" +msgstr "Python (verzija 2)" + +#: src/as-provided.c:156 +msgid "Python 3" +msgstr "Python 3" + +#: src/as-provided.c:158 +msgid "D-Bus System Services" +msgstr "Usluge D-Bus sustava" + +#: src/as-provided.c:160 +msgid "D-Bus Session Services" +msgstr "Usluge D-Bus sesija" + +#: src/as-provided.c:162 +msgid "Runtime Firmware" +msgstr "Firmver vremena izvođenja" + +#: src/as-provided.c:164 +msgid "Flashed Firmware" +msgstr "Prepisani firmware" + +#: src/as-provided.c:166 +msgid "Component" +msgstr "Komponenta" + +#: src/as-validator-issue-tag.h:41 +msgid "This tag requires a type property." +msgstr "Ova oznaka treba jedno svojstvo vrste." + +#: src/as-validator-issue-tag.h:46 +msgid "Tags of this name are not permitted in this section." +msgstr "Oznake s ovim imenom nisu dozvoljene u ovom odjeljku." + +#: src/as-validator-issue-tag.h:51 +msgid "" +"A tag must not be localized in metainfo files (upstream " +"metadata). Localize the individual paragraphs instead." +msgstr "" +" oznaka se ne smije lokalizirati u datotekama metapodataka " +"(metapodaci glevne grane). Umjesto toga lokaliziraj pojedinačne odlomke." + +#: src/as-validator-issue-tag.h:57 +msgid "" +"This element (paragraph, list, etc.) of a tag must not be " +"localized individually in collection metadata. Localize the whole " +" tag instead. The AppStream collection metadata generator (e." +"g. `appstream-generator`) will already do the right thing when compiling the " +"data." +msgstr "" +"Ovaj element (odlomak, popis itd.) oznake ne smije se " +"pojedinačno lokalizirati u metapodacima zbirke. Umjesto toga lokaliziraj " +"cijelu oznaku . AppStream generator metapodataka zbirke (npr. " +"`appstream-generator`) će već sam od sebe ispravno postupiti pri " +"sastavljanju podataka." + +#: src/as-validator-issue-tag.h:63 +msgid "" +"AppStream descriptions support only a limited set of tags to format text: " +"Paragraphs (

                                                                                                                                                                            ) and lists (

                                                                                                                                                                              ,
                                                                                                                                                                                ). This description markup contains " +"an invalid XML tag that would not be rendered correctly in applications " +"supporting the metainfo specification." +msgstr "" +"AppStream podržava samo ograničen skup oznaka za formatiranje teksta opisa: " +"oznake za odlomke (

                                                                                                                                                                                ) i za popise (

                                                                                                                                                                                  ,
                                                                                                                                                                                    ). Označavanje u opisu " +"sadrži neispravnu XML-oznaku, koja se neće ispravno prikazati u programima " +"koji podržavaju specifikaciju metapodataka." + +#: src/as-validator-issue-tag.h:69 +msgid "" +"This description paragraph contains invalid markup. Currently, only " +"and are permitted." +msgstr "" +"Ovaj odlomak opisa sadrži neispravno označavanje. Trenutačno su dozvoljene " +"samo oznake i ." + +#: src/as-validator-issue-tag.h:74 +msgid "Enumerations must only have list items (
                                                                                                                                                                                  1. ) as children." +msgstr "Nabrajanja smiju sadržati samo podređene elemente popisa (
                                                                                                                                                                                  2. )." + +#: src/as-validator-issue-tag.h:79 +msgid "" +"The first `description/p` paragraph of this component might be too short (< " +"80 characters). Please consider starting with a longer paragraph to improve " +"how the description looks like in software centers and to provide more " +"detailed information on this component immediately in the first paragraph." +msgstr "" +"Prvi `description/p` odlomak ove komponente čini se prekratak (manje od 80 " +"znakova). Razmotri mogućnost upotrebe duljeg odlomka, kako bi se poboljšao " +"prikaz opisa u softverskim centrima i pružile detaljnije informacije o ovoj " +"komponenti već u prvom odlomku." + +#: src/as-validator-issue-tag.h:86 +msgid "" +"The description contains a web URL in plain text. This is not allowed, " +"please use the tag instead to share links." +msgstr "" +"Opis sadrži internetsku URL-adresu u običnom tekstu. To nije dozvoljeno. Za " +"dijeljenje poveznica koristi oznaku ." + +#: src/as-validator-issue-tag.h:91 +msgid "" +"As per AppStream specification, the mentioned tag must only appear once in " +"this context. Having multiple tags of this kind is not valid." +msgstr "" +"Prema AppStream specifikaciji, spomenuta se oznaka u ovom kontekstu smije " +"pojaviti samo jednom. Neispravno je imati više od jedne oznake ove vrste." + +#: src/as-validator-issue-tag.h:96 +msgid "" +"The mentioned tag is empty, which is highly likely not intended as it should " +"have content." +msgstr "" +"Spomenuta oznaka je prazna, što se vrlo vjerojatno ne želi, jer bi trebala " +"imati sadržaj." + +#: src/as-validator-issue-tag.h:101 +msgid "" +"The component ID is required to follow a reverse domain-name scheme for its " +"name. See the AppStream specification for details." +msgstr "" +"ID oznaka komponente mora slijediti obrnutu domain-name shemu za ime. " +"Pojedinosti se nalaze u AppStream specifikaciji." + +#: src/as-validator-issue-tag.h:106 +msgid "" +"The component ID is not a reverse domain-name. Please update the ID to avoid " +"future issues and be compatible with all AppStream implementations.\n" +"You may also consider to update the name of the accompanying .desktop file " +"to follow the latest version of the Desktop-Entry specification and use a " +"rDNS name for it as well. In any case, do not forget to mention the new " +"desktop-entry in a tag for this component to keep the " +"application launchable from software centers and the .desktop file data " +"associated with the metainfo data." +msgstr "" +"ID oznaka komponente nije obrnuto ime domene. Aktualiziraj ID oznaku, za " +"izbjegavanje budućih poteškoća i za kompatibilnost sa svim implementacijama " +"AppStream-a.\n" +"Također, razmotri mogućnost aktualiziranja imena pridružene .desktop " +"datoteke, čime slijediš najnoviju verziju Desktop-Entry specifikacije. " +"Također koristi i rDNS ime. U svakom slučaju, nemoj zaboraviti spomenuti " +"novi desktop-entry u oznaci za ovu komponentu, kako bi se " +"program mogao pokrentui iz softverskih centara i podatke .desktop datoteka " +"povezanih s podacima metapodataka." + +#: src/as-validator-issue-tag.h:114 +msgid "" +"The component ID might not follow the reverse domain-name schema (the TLD " +"used by it is not known to the validator)." +msgstr "" +"ID oznaka komponente možda ne slijedi obrnutu domain-name shemu za ime " +"(provjera ne pozna korišteni TLD)." + +#: src/as-validator-issue-tag.h:119 +msgid "" +"The component ID contains an invalid character. Only ASCII characters, dots " +"and numbers are permitted." +msgstr "" +"ID oznaka komponente sadrži neispravan znak. Dopušteni su samo ASCII " +"znakovi, točke i brojevi." + +#: src/as-validator-issue-tag.h:124 +msgid "" +"The component ID contains a hyphen/minus. Using a hyphen is strongly " +"discouraged, to improve interoperability with other tools such as D-Bus. A " +"good option is to replace any hyphens with underscores (`_`)." +msgstr "" +"ID oznaka komponente sadrži crticu/minus. Izričito se ne preporučuje " +"upotreba crtice, kako bi se poboljšala interoperabilnost s drugim alatima " +"poput D-Bus-a. Kao alternativa može se koristiti podvlaka (`_`)." + +#: src/as-validator-issue-tag.h:130 +msgid "" +"The component ID contains a segment starting with a number. Starting a " +"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " +"interoperability with other tools such as D-Bus. Ideally, prefix these " +"segments with an underscore." +msgstr "" +"ID oznaka komponente sadrži segment, koji počinje s brojem. Izričito se ne " +"preporučuje, segment ID oznake s preokrenutim DNS-om započeti s brojem, kako " +"bi se poboljšala interoperabilnost s drugim alatima poput D-Bus-a. Najbolje " +"je, da ti segmenti počnu s podvlakom (`_`)." + +#: src/as-validator-issue-tag.h:136 +msgid "The component ID should only contain lowercase letters." +msgstr "ID oznaka komponente treba sadržati samo mala slova." + +#: src/as-validator-issue-tag.h:141 +msgid "" +"The component is part of the Freedesktop project, but its ID does not start " +"with fd.o's reverse-DNS name (\"org.freedesktop\")." +msgstr "" +"Komponenta je dio Freedesktop projekta, ali njegova ID oznaka ne započinje s " +"Freedesktopovim obrnutim DNS imenom („org.freedesktop”)." + +#: src/as-validator-issue-tag.h:146 +msgid "" +"The component is part of the KDE project, but its ID does not start with " +"KDEs reverse-DNS name (\"org.kde\")." +msgstr "" +"Komponenta je dio KDE projekta, ali njegova ID oznaka ne započinje s KDE-" +"ovim obrnutim DNS imenom („org.freedesktop”)." + +#: src/as-validator-issue-tag.h:151 +msgid "" +"The component is part of the GNOME project, but its ID does not start with " +"GNOMEs reverse-DNS name (\"org.gnome\")." +msgstr "" +"Komponenta je dio GNOME projekta, ali njegova ID oznaka ne započinje s GNOME-" +"ovim obrnutim DNS imenom („org.gnome”)." + +#: src/as-validator-issue-tag.h:156 +msgid "The SPDX license expression is invalid and could not be parsed." +msgstr "Izraz SPDX licence nije ispravan i nije ga moguće obraditi." + +#: src/as-validator-issue-tag.h:161 +msgid "" +"The license ID was not found in the SPDX database. Please check that the " +"license ID is written in an SPDX-conformant way and is a valid free software " +"license." +msgstr "" +"ID oznaka licence nije pronađena u bazi podataka SPDX. Provjeri, je li ID " +"oznaka licence zapisana na odgovarrajući SPDX način i je li lincenca " +"ispravna za besplatan softver." + +#: src/as-validator-issue-tag.h:167 +msgid "" +"The metadata itself seems to be licensed under a complex collection of " +"licenses. Please license the data under a simple permissive license, like " +"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " +"collections without the risk of license violations due to mutually " +"incompatible licenses." +msgstr "" +"Čini se da su metapodaci licenzirani pod složenom zbirkom licenci. " +"Licenciraj podatke pod jednostavnom licencom kao što su FSFAP, MIT or " +"CC0-1.0, kako bi se distributerima dozvolilo uključivanje podataka u " +"miješane zbirke podataka, bez rizika od kršenja licenci zbog obostrano " +"nekompatibilnih licenci." + +#: src/as-validator-issue-tag.h:173 +msgid "" +"The metadata itself does not seem to be licensed under a permissive license. " +"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " +"0BSD to allow distributors to include it in mixed data collections without " +"the risk of license violations due to mutually incompatible licenses." +msgstr "" +"Čini se da metapodaci nisu licenzirani pod ispravnom licencom. Licenciraj " +"podatke pod licencom kao što su FSFAP, CC0-1.0 ili 0BSD, kako bi se " +"distributerima dozvolilo uključivanje podataka u miješane zbirke podataka, " +"bez rizika od kršenja licenci zbog obostrano nekompatibilnih licenci." + +#: src/as-validator-issue-tag.h:179 +msgid "" +"The update-contact does not appear to be a valid email address (escaping of " +"`@` is only allowed as `_at_` or `_AT_`)." +msgstr "" +"Čini se da update-contact (aktualiziraj kontakt) nije ispravna adresa e-" +"pošte (zamjena znaka `@` dopuštena je samo kao `_at_` ili` _AT_`)." + +#: src/as-validator-issue-tag.h:184 +msgid "" +"Unable to reach the screenshot image on its remote location - does the image " +"exist?" +msgstr "" +"Nije moguće dohvatiti sliku snimke ekrana na njenom udaljenom mjestu – je li " +"slika uopće postoji?" + +#: src/as-validator-issue-tag.h:189 +msgid "" +"Unable to reach the screenshot video on its remote location - does the video " +"file exist?" +msgstr "" +"Nije moguće dohvatiti videosnimku ekrana na njenom udaljenom mjestu – je li " +"videosnimka uopće postoji?" + +#: src/as-validator-issue-tag.h:194 +msgid "" +"Consider using a secure (HTTPS) URL to reference this screenshot image or " +"video." +msgstr "" +"Razmotri mogućnost upotrebe sigurne (HTTPS) URL adrese za povezivanje na ovu " +"sliku ili videosnimku snimke ekrana." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:200 +msgid "" +"A screenshot must contain at least one image or video in order to be useful. " +"Please add an to it." +msgstr "" +"Snimka ekrana mora sadržati barem jednu sliku ili videozapis, da bi bila " +"korisna. Dodaj joj oznaku ." + +#: src/as-validator-issue-tag.h:205 +msgid "" +"A screenshot must contain either images or videos, but not both at the same " +"time. Please use this screenshot exclusively for either static images or for " +"videos." +msgstr "" +"Snimka ekrana mora sadržati slike ili videozapise, ali ne oboje istovremeno. " +"Koristi ovu snimku ekrana samo za statične slike ili videozapise." + +#: src/as-validator-issue-tag.h:211 +msgid "The screenshot does not have a caption text. Consider adding one." +msgstr "Snimka ekrana nema podnaslov. Razmotri mogućnost dodavanja podnaslova." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:217 +msgid "" +"The screenshot video does not specify which video codec was used in a " +"`codec` property." +msgstr "" +"Videosnimka ekrana ne navodi korišteni videokodek koji je korišten u `codec` " +"svojstvu." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:223 +msgid "" +"The screenshot video does not specify which container format was used in a " +"`container` property." +msgstr "" +"Videosnimka ekrana ne navodi format spremnika koji je korišten u `container` " +"svojstvu." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:229 +msgid "" +"The selected video codec is not supported by AppStream and software centers " +"may not be able to play the video. Only the AV1 and VP9 codecs are currently " +"supported, using `av1` and `vp9` as values for the `codec` property." +msgstr "" +"AppStream ne podržava odabrani videokodek i softverski centri možda neće " +"moći reproducirati videosnimku. Trenutačno su podržani samo kodeki AV1 i " +"VP9, koristeći `av1` i` vp9` kao vrijednosti za `codec` svojstvo." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:236 +msgid "" +"The selected video container format is not supported by AppStream and " +"software centers may not be able to play the video. Only the WebM and " +"Matroska video containers are currently supported, using `webm` and `mkv` as " +"values for the `container` property." +msgstr "" +"AppStream ne podržava odabrani spremnik videosnimaka i softverski centri " +"možda neće moći reproducirati videosnimku. Trenutačno su podržani samo " +"videospremnici AWebM i Matroska, koristeći `webm` i` mkv` kao vrijednosti za " +"`container` svojstvo." + +#: src/as-validator-issue-tag.h:242 +msgid "" +"For videos, only the WebM and Matroska (.mkv) container formats are " +"currently supported. The file extension of the referenced video does not " +"belong to either of these formats." +msgstr "" +"Za videosnimke se trenutačno podržavaju samo WebM i Matroska (.mkv) " +"spremnici. Datotečni nastavak povezane datoteke videosnimke ne pripada " +"nijednom od ovih formata." + +#: src/as-validator-issue-tag.h:248 +msgid "" +"The default screenshot of a software component must not be a video. Use a " +"static image as default screenshot and set the video as a secondary " +"screenshot." +msgstr "" +"Standardna snimka ekrana softverske komponente ne smije biti videosnimka. Za " +"standardnu snimku ekrana postavlja se statička slika, videosnimka se " +"postavlja kao sekundarna snimka ekrana." + +#: src/as-validator-issue-tag.h:253 +msgid "" +"Found an unknown tag in a requires/recommends group. This is likely an " +"error, because a component relation of this type is unknown." +msgstr "" +"Pronađena je nepoznata oznaka u grupi requires/recommends. Vjerojatno je " +"riječ o grešci, jer je ova vrsta odnosa komponenata nepoznata." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:259 +msgid "" +"A `requires` or `recommends` item requires a value to denote a valid " +"relation." +msgstr "" +"`requires` ili `recommends` zahtijevaju vrijednost za označavanje jednog " +"ispravnog odnosa." + +#. TRANSLATORS: `version` is an AppStream XML property. Please do not translate it. +#: src/as-validator-issue-tag.h:265 +msgid "" +"Found `version` property on required/recommended item of a type that should " +"not have or require a version." +msgstr "" +"Pronađeno je svojstvo `version` za obaveznu/preporučenu vrstu elementa, koja " +"ne bi trebala imati ili zahtijevati verziju." + +#. TRANSLATORS: `version` and `compare` are AppStream XML properties. Please do not translate them. +#: src/as-validator-issue-tag.h:271 +msgid "" +"Found `version` property on this required/recommended item, but not " +"`compare` property. It is recommended to explicitly define a comparison " +"operation." +msgstr "" +"Pronađeno je svojstvo `version` za ovaj obavezan/preporučen element, ali ne " +"i svojstvo `compare`. Preporučuje se izričito definiranje operacije za " +"uspoređivanje." + +#: src/as-validator-issue-tag.h:276 +msgid "" +"Invalid comparison operation on relation item. Only eq/ne/lt/gt/le/ge are " +"permitted." +msgstr "" +"Neispravna operacija uspoređivanja na elementu veze. Dozvoljene su samo eq/" +"ne/lt/gt/le/ge." + +#: src/as-validator-issue-tag.h:281 +msgid "" +"The relation item has a comparison operation set, but does not support any " +"comparisons." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:287 +msgid "" +"Found a memory size relation in a `requires` tag. This means users will not " +"be able to even install the component without having enough RAM. This is " +"usually not intended and you want to use `memory` in the `recommends` tag " +"instead." +msgstr "" +"Pronađen je odnos veličine memorije u oznaci `requires`. To znači, da bez " +"dovoljno RAM-a, korisnici neće moći instalirati čak niti komponentu. " +"Uobičajeno se to ne namjerava, te se umjesto toga u oznaci `recommends` " +"treba koristi `memory`." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:294 +msgid "" +"Found a user input control relation in a `requires` tag. This means users " +"will not be able to even install the component without having the defined " +"input control available on the system. This is usually not intended and you " +"want to use `control` in the `recommends` tag instead." +msgstr "" +"Pronađen je odnos polja korisničkog unosa u oznaci `requires`. To znači, da " +"bez dostupnog polja unosa, korisnici neće moći instalirati čak niti " +"komponentu. Uobičajeno se to ne namjerava, te se umjesto toga u oznaci " +"`recommends` treba koristi `control`." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:301 +msgid "" +"This `control` item defines an unknown input method and is invalid. Check " +"the specification for a list of permitted values." +msgstr "" +"Ovaj `control` element definira nepoznatu metodu unosa i nije ispravan. " +"Popis dozvoljenih vrijednosti nalazi se u specifikaciji." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:307 +msgid "" +"This `display_length` item contains an invalid display length. Its value " +"must either be a shorthand string, or positive integer value denoting " +"logical pixels. Please refer to the AppStream specification for more " +"information on this tag." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:314 +msgid "" +"This `side` property of this `display_length` item contains an invalid " +"value. It must either be `shortest` or `longest`, or unset to imply " +"`shortest` to make the item value refer to either the shortest or longest " +"side of the display." +msgstr "" + +#: src/as-validator-issue-tag.h:320 +msgid "" +"The set component type is not a recognized, valid AppStream component type." +msgstr "" +"Postavljena vrsta komponente nije prepoznata, ispravna AppStream vrsta " +"komponente." + +#: src/as-validator-issue-tag.h:325 +msgid "" +"The component has a priority value set. This is not allowed in metainfo " +"files." +msgstr "" +"Komponenta ima postavljenu vrijednost prioriteta. To nije dozvoljeno u " +"datotekama metapodataka." + +#: src/as-validator-issue-tag.h:330 +msgid "" +"The component has a `merge` method defined. This is not allowed in metainfo " +"files." +msgstr "" +"Komponenta sadrži definiranu metodu `merge`. To nije dozvoljeno u datotekama " +"metapodataka." + +#: src/as-validator-issue-tag.h:335 +msgid "The component is missing an ID ( tag)." +msgstr "Komponenti nedostaje ID oznaka ( oznaka)." + +#: src/as-validator-issue-tag.h:340 +msgid "The component is missing a name ( tag)." +msgstr "Komponenti nedostaje ime ( oznaka)." + +#: src/as-validator-issue-tag.h:345 +msgid "The component is missing a summary ( tag)." +msgstr "Komponenti nedostaje sažetak ( oznaka)." + +#: src/as-validator-issue-tag.h:350 +msgid "" +"The tag still contains a `type` property, probably from an old " +"conversion to the recent metainfo format." +msgstr "" +"Oznaka i dalje sadrži svojstvo `type`, koje je vjerojatno nastalo pri " +"staroj pretvorbi u noviji format metapodataka." + +#: src/as-validator-issue-tag.h:355 +msgid "" +"The `pkgname` tag appears multiple times. You should evaluate creating a " +"metapackage containing the metainfo and .desktop files in order to avoid " +"defining multiple package names per component." +msgstr "" +"Oznaka `pkgname` pojavljuje se više puta. Bilo bi dobro stvoriti metapaket " +"koji sadrži datoteke metapodataka i .desktop datoteke, kako bi se izbjeglo " +"definiranje više naziva paketa po komponenti." + +#: src/as-validator-issue-tag.h:360 +msgid "The component name should (likely) not end with a dot (`.`)." +msgstr "Ime komponente (vjerojatno) ne treba završiti s točkom (`.`)." + +#: src/as-validator-issue-tag.h:365 +msgid "The component summary should not end with a dot (`.`)." +msgstr "Ime komponente ne treba završiti s točkom (`.`)." + +#: src/as-validator-issue-tag.h:370 +msgid "The component summary must not contain tabs or linebreaks." +msgstr "Sažetak komponente ne smije sadržati tabulatore niti prijelome redaka." + +#: src/as-validator-issue-tag.h:375 +msgid "The summary must not contain any URL. Use the tags for links." +msgstr "" +"Sažetak ne smije sadržati nijednu URL adresu. Za poveznice, koristi " +"oznake." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:381 +msgid "" +"Icons of type `stock` or `cached` must not contain an URL, a full or an " +"relative path to the icon. Only file basenames or stock names are allowed." +msgstr "" +"Ikone vrste `stock` ili `cached` ne smiju sadržati URL adresu, potpunu ili " +"relativnu stazu ikone. Dozvoljna su samo osnovna imena datoteka ili imena " +"zbirke." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:388 +msgid "Icons of type `remote` must contain an URL to the referenced icon." +msgstr "Ikone vrste `remote` moraju sadržati URL adresu na povezanu ikonu." + +#: src/as-validator-issue-tag.h:393 +msgid "Unable to reach remote icon at the given web location - does it exist?" +msgstr "" +"Nije moguće dohvatiti udaljenu ikonu na određenom web-mjestu – je li uopće " +"postoji?" + +#: src/as-validator-issue-tag.h:398 +msgid "Consider using a secure (HTTPS) URL for the remote icon link." +msgstr "" +"Razmotri mogućnost upotrebe sigurne (HTTPS) URL adrese za poveznicu na " +"udaljenu ikonu." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:404 +msgid "" +"Metainfo files may only contain icons of type `stock` or `remote`, the set " +"type is not allowed." +msgstr "" +"Datoteke metapodataka smiju sadržati samo ikone vrste `stock` ili `remote`. " +"Postavljena vrsta nije dozvoljena." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:410 +msgid "" +"Invalid `type` property for this `url` tag. URLs of this type are not known " +"in the AppStream specification." +msgstr "" +"Neispravno svojstvo `type` za ovu `url` oznaku. AppStream specifikacija ne " +"pozna ovu vrstu URL adresa." + +#: src/as-validator-issue-tag.h:415 +msgid "" +"Unable to reach remote location that this URL references - does it exist?" +msgstr "" +"Nije moguće dohvatiti udaljeno mjesto na koje se ova URL adresa povezuje – " +"je li uopće postoji?" + +#: src/as-validator-issue-tag.h:420 +msgid "Consider using a secure (HTTPS) URL for this web link." +msgstr "" +"Razmotri mogućnost upotrebe sigurne (HTTPS) URL adrese za ovu web-poveznicu." + +#: src/as-validator-issue-tag.h:425 +msgid "A web URL was expected for this value." +msgstr "Za ovu se vrijednost očekivala internetska URL adresa." + +#: src/as-validator-issue-tag.h:430 +msgid "" +"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." +msgstr "" +"Web-poveznica koristi FTP protokol. Razmotri mogućnost prebacivanja na " +"HTTP(S)." + +#: src/as-validator-issue-tag.h:435 +msgid "The can not contain a hyperlink." +msgstr "Oznaka ne smije sadržati hiperpoveznicu." + +#: src/as-validator-issue-tag.h:440 +msgid "" +"The set value is not an identifier for a desktop environment as registered " +"with Freedesktop.org." +msgstr "" +"Postavljena vrijednost nije identifikator za radno okruženje, kao što je " +"registrirano pri Freedesktop.org." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:446 +msgid "This `launchable` tag has an unknown type and can not be used." +msgstr "Ova `launchable` oznaka sadrži nepoznatu vrstu i ne može se koristiti." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:452 +msgid "This `bundle` tag has an unknown type and can not be used." +msgstr "Ova `bundle` oznaka sadrži nepoznatu vrstu i ne može se koristiti." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:458 +msgid "" +"The `update_contact` tag should not be included in collection AppStream XML." +msgstr "Oznaku `update_contact` ne treba uključivati u AppStream XML zbirku." + +#: src/as-validator-issue-tag.h:463 +msgid "" +"This tag is a GNOME-specific extension to AppStream and not part of the " +"official specification. Do not expect it to work in all implementations and " +"in all software centers." +msgstr "" +"Ova oznaka je GNOME-specifično proširenje za AppStream i nije dio službene " +"specifikacije. Ne očekuj da će raditi u svim implementacijama i u svim " +"softverskim centrima." + +#: src/as-validator-issue-tag.h:469 +msgid "" +"Found invalid tag. Non-standard tags should be prefixed with `x-`. AppStream " +"also provides the tag to add arbitrary custom data to metainfo " +"files. This tag is read by AppStream libraries and may be useful instead of " +"defining new custom toplevel or `x-`-prefixed tags if you just want to add " +"custom data to a metainfo file." +msgstr "" +"Pronađena je neispravna oznaka. Nestandardne oznake trebale bi se označiti s " +"prefiksom `x-`. AppStream također pruža oznaku za dodavanje " +"proizvoljnih prilagođenih podataka u datoteke metapodataka. AppStream " +"biblioteke čitaju ovu oznaku i ona može biti korisna, kako bi se izbjeglo " +"definiranje nove prilagođene oznake najviše razine ili oznake s `x-` " +"prefiksom, ako se samo žele dodati prilagođeni podaci u datoteku " +"metapodataka." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:477 +msgid "" +"The essential tag `metadata_license` is missing. A license for the metadata " +"itself always has to be defined." +msgstr "" +"Nedostaje osnovna oznaka `metadata_license`. Licenca za metapodatke se mora " +"uvijek definirati." + +#: src/as-validator-issue-tag.h:482 +msgid "" +"The component is missing a long description. Components of this type must " +"have a long description." +msgstr "" +"Komponenti nedostaje dug opis. Komponente ove vrste moraju imati dug opis." + +#: src/as-validator-issue-tag.h:487 +msgid "" +"It would be useful to add a long description to this font to present it " +"better to users." +msgstr "" +"Bilo bi korisno dodati dugačak opis ovom fontu, kako bi se bolje predstavio " +"korisnicima." + +#: src/as-validator-issue-tag.h:492 +msgid "" +"It is recommended to add a long description to this component to present it " +"better to users." +msgstr "" +"Preporučujemo dodati dugačak opis ovoj komponenti, kako bi se bolje " +"predstavila korisnicima." + +#: src/as-validator-issue-tag.h:497 +msgid "" +"This generic component is missing a long description. It may be useful to " +"add one." +msgstr "" +"Ovoj generičkoj komponenti nedostaje dug opis. Možda bi bilo korisno dodati " +"ga." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:503 +msgid "" +"Type `console-application` component, but no information about binaries in " +"$PATH was provided via a `provides/binary` tag." +msgstr "" +"Komponenta vrste `console-application`, ali informacije o binarnim " +"datotekama u $PATH-u nisu pružene putem oznake `provides/binary`." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:509 +msgid "" +"This `web-application` component is missing a `launchable` tag of type `url`." +msgstr "" +"Ovoj `web-application` komponenti nedostaje `launchable` oznaka vrste `url`." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:515 +msgid "" +"This `web-application` component is missing a `icon` tag to specify a valid " +"icon." +msgstr "" +"Ovoj `web-application` komponenti nedostaje `icon` oznaka za navođenje " +"ispravne ikone." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:521 +msgid "" +"This `web-application` component is missing categorizations. A `categories` " +"block is likely missing." +msgstr "" +"Ovoj `web-application` komponenti nedostaje kategorizacija. Vjerojatno " +"nedostaje `categories` blok." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:527 +msgid "" +"Type `font` component, but no font information was provided via a `provides/" +"font` tag." +msgstr "" +"Komponenta vrste `font`, ali podaci fonta nisu pruženi putem `provides/font` " +"oznake." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:533 +msgid "" +"Type `driver` component, but no modalias information was provided via a " +"`provides/modalias` tag." +msgstr "" +"Komponenta vrste `driver`, ali niti jedna modalias informacija nije navedena " +"putem oznake `provides/modalias`." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:539 +msgid "" +"An `extends` tag is specified, but the component is not of type `addon`, " +"`localization` or `repository`." +msgstr "" +"Navedena je `extends` oznaka, ali komponenta nije vrste `addon`, " +"`localization` ili `repository`." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:545 +msgid "The component is an addon, but no `extends` tag was specified." +msgstr "Komponenta je dodatak, ali `extends` oznaka nije navedena." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:551 +msgid "" +"This `localization` component is missing an `extends` tag, to specify the " +"components it adds localization to." +msgstr "" +"Ovoj `localization` komponenti nedostaje `extends` oznaka za navođenje " +"komponenata kojima dodaje lokalizaciju." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:557 +msgid "" +"This `localization` component does not define any languages this " +"localization is for." +msgstr "Ova `localization` komponenta nema zadanih jezika za ovu lokalizaciju." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:563 +msgid "" +"This `service` component is missing a `launchable` tag of type `service`." +msgstr "" +"Ovoj `service` komponenti nedostaje `launchable` oznaka vrste `service`." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:569 +msgid "" +"Suggestions of any type other than `upstream` are not allowed in metainfo " +"files." +msgstr "" +"U datotekama metapodataka je dozvoljena samo `upstream` vrsta prijedloga." + +#: src/as-validator-issue-tag.h:574 +msgid "" +"The category name is not valid. Refer to the XDG Menu Specification for a " +"list of valid category names." +msgstr "" +"Ime kategorije nije ispravno. Popis ispravnih imena kategorija nalazi se u " +"specifikaciji XDG izbornika." + +#: src/as-validator-issue-tag.h:579 +msgid "The screenshot caption is too long (should be <= 80 characters)" +msgstr "" +"Podnaslov snimke ekrana je predug (treba biti kraći od ili jednak 80 znakova)" + +#: src/as-validator-issue-tag.h:584 +msgid "Unable to read file." +msgstr "Nije moguće čitati datoteku." + +#: src/as-validator-issue-tag.h:589 +msgid "The XML of this file is malformed." +msgstr "XML ove datoteke nije ispravno formatiran." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:595 +msgid "" +"Invalid tag found in collection metadata. Only `component` tags are " +"permitted." +msgstr "" +"Pronađena je neispravna oznaka u metapodacima zbirke. Dopuštene su samo " +"oznake `component`." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:601 +msgid "" +"The metainfo file uses an ancient version of the AppStream specification, " +"which can not be validated. Please migrate it to version 0.6 (or higher)." +msgstr "" +"Datoteka metapodataka koristi prastaru verziju AppStream specifikacije, koju " +"nije moguće provjeriti. Prebaci je na verziju 0.6 (ili noviju)." + +#: src/as-validator-issue-tag.h:606 +msgid "" +"This XML document has an unknown root tag. Maybe this file is not a metainfo " +"document?" +msgstr "" +"Ovaj XML dokument sadrži nepoznatu osnovnu oznaku. Možda ova datoteka nije " +"dokument metapodataka?" + +#: src/as-validator-issue-tag.h:611 +msgid "The metainfo filename does not match the component ID." +msgstr "Ime datoteke metapodataka ne se poklapa s ID oznakom komponente." + +#: src/as-validator-issue-tag.h:616 +msgid "Unable to read the .desktop file associated with this component." +msgstr "" +"Nije moguće čitati .desktop datoteku koja je povezana s ovom komponentom." + +#: src/as-validator-issue-tag.h:621 +msgid "This component metadata refers to a non-existing .desktop file." +msgstr "" +"Ovaj se metapodatak komponente poziva na nepostojeću .desktop datoteku." + +#: src/as-validator-issue-tag.h:626 +msgid "" +"The category defined in the .desktop file is not valid. Refer to the XDG " +"Menu Specification for a list of valid categories." +msgstr "" +"U .desktop datoteci definirana kategorija nije ispravna. Popis ispravnih " +"kategorija nalazi se u specifikaciji XDG izbornika." + +#: src/as-validator-issue-tag.h:631 +msgid "No AppStream metadata was found in this directory or directory tree." +msgstr "U ovoj mapi ili stablu mapa nema AppStream metapodataka." + +#. pedantic because not everything which has metadata is an application +#: src/as-validator-issue-tag.h:636 +msgid "No XDG applications directory found." +msgstr "Nema mape XDG-programa." + +#: src/as-validator-issue-tag.h:641 +msgid "" +"The metainfo file is stored in a legacy path. Please place it in `/usr/share/" +"metainfo/`." +msgstr "" +"Datoteka metapodataka spremljena je u staroj stazi. Premjesti je u `/usr/" +"share/metainfo/`." + +#: src/as-validator-issue-tag.h:646 +msgid "The metainfo file specifies multiple components. This is not allowed." +msgstr "Datoteka metapodataka navodi više komponenata. To nije dozvoljeno." + +#: src/as-validator-issue-tag.h:651 +msgid "" +"The releases are not sorted in a latest to oldest version order. This is " +"required as some tools will assume that the latest version is always at the " +"top. Sorting releases also increases overall readability of the metainfo " +"file." +msgstr "" +"Redoslijed izdanja nije od najnovije do najstarije verzije. Ovo je potrebno, " +"jer neki alati pretpostavljaju da se najnovija verzija uvijek nalazi na " +"vrhu. Razvrstavanje izdanja također povećava opću čitljivost datoteke " +"metapodataka." + +#: src/as-validator-issue-tag.h:658 +msgid "The value set as release urgency is not a known urgency value." +msgstr "" +"Vrijednost koja je postavljena kao hitnost izdanja nije poznata vrijednost " +"hitnosti." + +#: src/as-validator-issue-tag.h:663 +msgid "The value set as release type is invalid." +msgstr "Vrijednost koja je postavljena kao vrsta izdanja je neispravna." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:669 +msgid "" +"The value set as artifact type is invalid. Must be either `source` or " +"`binary`." +msgstr "" +"Vrijednost koja je postavljena kao vrsta artefakta je neispravna. Mora biti " +"`source` ili `binary`." + +#: src/as-validator-issue-tag.h:674 +msgid "The value set as artifact bundle type is invalid." +msgstr "" +"Vrijednost koja je postavljena kao vrsta paketa artefakata je neispravna." + +#: src/as-validator-issue-tag.h:679 +msgid "" +"The platform triplet for this release is invalid. It must be in the form of " +"`architecture-oskernel-osenv` - refer to the AppStream documentation or " +"information on normalized GNU triplets for more information and valid fields." +msgstr "" + +#: src/as-validator-issue-tag.h:686 +msgid "The selected checksumming algorithm is unsupported or unknown." +msgstr "" +"Odabrani algoritam za računanje kontrolnog zbroja nije podržan ili je " +"nepoznat." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:692 +msgid "The size type is unknown. Must be `download` or `installed`." +msgstr "Vrsta veličine nije poznata. Mora biti `download` ili `installed`." + +#: src/as-validator-issue-tag.h:697 +msgid "" +"The artifact filename must be a file basename, not a (relative or absolute) " +"path." +msgstr "" +"Naziv datoteke artefakta mora biti osnovno ime datoteke, a ne (relativna ili " +"apsolutna) staza." + +#: src/as-validator-issue-tag.h:702 +msgid "The value set as release issue type is invalid." +msgstr "" +"Vrijednost koja je postavljena kao vrsta problema izdanja je neispravna." + +#: src/as-validator-issue-tag.h:707 +msgid "" +"The issue is tagged at security vulnerability with a CVE number, but its " +"value does not look like a valid CVE identifier." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:713 +msgid "" +"This component is missing information about releases. Consider adding a " +"`releases` tag to describe releases and their changes." +msgstr "" + +#: src/as-validator-issue-tag.h:718 +msgid "" +"The AppStream specification requires a complete, ISO 8601 date string with " +"at least day-granularity to denote dates. Please ensure the date string is " +"valid." +msgstr "" +"Za označavanje datuma, AppStream specifikacija zahtijeva potpun datum u ISO " +"8601 formatu, koji sadrži barem vrijednost za dan. Provjeri ispravnost " +"datuma." + +#: src/as-validator-issue-tag.h:724 +msgid "" +"This component extends, provides, requires or recommends itself, which is " +"certainly not intended and may confuse users or machines dealing with this " +"metadata." +msgstr "" +"Ova komponenta proširuje, pruža, zahtijeva ili se preporučuje, što sigurno " +"nije namjera i može zbuniti korisnike ili strojeve koji rade s ovim " +"metapodacima." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:731 +msgid "" +"Licenses for `runtime` components are usually too complex to reflect them in " +"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " +"value for this component's `project_license`. E.g. `LicenseRef-free=https://" +"example.com/licenses.html`" +msgstr "" +"Licence za `runtime` komponente obično su previše složene da bi se mogle " +"prikazati u jednostavnom SPDX izrazu. Razmotri mogućnost upotrebe " +"`LicenseRef` i internetske URL-adrese kao vrijednosti za `project_license` " +"ove komponente. Npr. `LicenseRef-free=https://example.com/licenses.html`" + +#: src/as-validator-issue-tag.h:737 +msgid "" +"Since a `runtime` component is comprised of multiple other software " +"components, their component-IDs may be listed in a `` section for " +"this runtime." +msgstr "" +"Budući da se `runtime` komponenta sastoji od više drugih softverskih " +"komponenata, njihove se ID oznake komponenata mogu popisati u `` " +"odjeljku za ovo vrijeme izvođenja." + +#: src/as-validator-issue-tag.h:742 +msgid "" +"The type of the item that the component provides is not known to AppStream." +msgstr "AppStream ne pozna vrstu elemenata koju komponenta pruža." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:748 +msgid "" +"The toplevel `mimetypes` tag is deprecated. Please use `mediatype` tags in a " +"`provides` block instead to indicate that your software provides a media " +"handler for the given types." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks) and keep the URL intact. +#: src/as-validator-issue-tag.h:755 +msgid "" +"This component has no `content_rating` tag to provide age rating " +"information. You can generate the tag data online by answering a few " +"questions at https://hughsie.github.io/oars/" +msgstr "" + +#: src/as-validator.c:150 +msgid "" +"The emitted issue tag is unknown in the tag registry of AppStream. This is a " +"bug in the validator itself, please report this issue in our bugtracker." +msgstr "" +"Izdvojena oznaka problema nepoznata je u registru oznaka AppStreama. Ovo je " +"greška u samoj provjeri. Prijavi ovaj problem u našem sustavu za praćenje " +"grešaka." + +#: src/as-validator.c:344 +msgid "URL format is invalid." +msgstr "URL format je neispravan." + +#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. +#: src/as-validator.c:522 src/as-validator.c:937 src/as-validator.c:1031 +#: src/as-validator.c:1428 src/as-validator.c:1448 src/as-validator.c:1481 +#, c-format +msgid "Found: %s - Allowed: %s" +msgstr "Pronađeno: %s – Dozvoljeno: %s" + +#. TRANSLATORS: ascompose flag description for: --verbose +#: tools/appstream-compose.c:181 +#, fuzzy +msgid "Show extra debugging information" +msgstr "Prikaži dodatne informacije otklanjanja grešaka." + +#. TRANSLATORS: ascompose flag description for: --no-color +#. TRANSLATORS: ascli flag description for: --no-color +#: tools/appstream-compose.c:184 tools/appstreamcli.c:1087 +msgid "Don't show colored output." +msgstr "Nemoj prikazati rezultat u boji." + +#. TRANSLATORS: ascompose flag description for: --version +#. TRANSLATORS: ascli flag description for: --version +#: tools/appstream-compose.c:187 tools/appstreamcli.c:1076 +msgid "Show the program version." +msgstr "Prikaži verziju programa." + +#. TRANSLATORS: ascompose flag description for: --full-report +#: tools/appstream-compose.c:190 +msgid "Set mode of the issue report that is printed to the console" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --prefix +#: tools/appstream-compose.c:193 +msgid "Override the default prefix (`/usr` by default)" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --result-root +#: tools/appstream-compose.c:196 +msgid "Set the result output directory" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --data-dir, `collection metadata` is an AppStream term +#: tools/appstream-compose.c:199 +msgid "Override the collection metadata output directory" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --icons-dir +#: tools/appstream-compose.c:202 +msgid "Override the icon output directory" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --media-dir +#: tools/appstream-compose.c:205 +msgid "" +"Set the media output directory (for media data to be served by a webserver)" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --hints-dir +#: tools/appstream-compose.c:208 +msgid "Set a directory where HTML and text issue reports will be stored" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --origin +#. TRANSLATORS: ascompose flag description for: --media-baseurl +#: tools/appstream-compose.c:211 tools/appstream-compose.c:214 +msgid "Set the origin name" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --components +#: tools/appstream-compose.c:217 +msgid "A comma-separated list of component-IDs to accept" +msgstr "" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:231 +msgid "Failed to parse arguments" +msgstr "" + +#. TRANSLATORS: Output if appstreamcli --version is executed. +#: tools/appstream-compose.c:242 tools/appstreamcli.c:1230 +#, c-format +msgid "AppStream version: %s" +msgstr "AppStream verzija: %s" + +#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. +#: tools/appstream-compose.c:245 tools/appstreamcli.c:1233 +#, c-format +msgid "" +"AppStream CLI tool version: %s\n" +"AppStream library version: %s" +msgstr "" +"Verzija AppStream CLI alata: %s\n" +"Verzija AppStream biblioteke: %s" + +#. TRANSLATORS: invalid value for the --print-report CLI option +#: tools/appstream-compose.c:264 +#, c-format +msgid "" +"Invalid value for `--print-report` option: %s\n" +"Possible values are:\n" +"`on-error` - only prints a short report if the run failed (default)\n" +"`short` - generates an abridged report\n" +"`full` - a detailed report will be printed" +msgstr "" + +#: tools/appstream-compose.c:285 +#, c-format +msgid "Automatically selected '%s' as data output location." +msgstr "" + +#. TRANSLATORS: we don't have a destination directory for compose +#: tools/appstream-compose.c:288 +msgid "No destination directory set, please provide a data output location!" +msgstr "" + +#: tools/appstream-compose.c:298 tools/appstream-compose.c:300 +msgid "WARNING" +msgstr "" + +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:337 +#, c-format +msgid "Only accepting components: %s" +msgstr "" + +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:340 +#, c-format +msgid "Only accepting component: %s" +msgstr "" + +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:345 +msgid "Processing directories:" +msgstr "" + +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:348 +msgid "Processing directory:" +msgstr "" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:357 +msgid "Can not process invalid directory" +msgstr "" + +#. TRANSLATORS: information message +#: tools/appstream-compose.c:369 +msgid "Composing metadata..." +msgstr "" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:374 +#, fuzzy +msgid "Failed to compose AppStream metadata" +msgstr "Uslužni program za rad s AppStream metapodacima" + +#. TRANSLATORS: appstream-compose failed to include all data +#: tools/appstream-compose.c:380 +msgid "Run failed, some data was ignored." +msgstr "" + +#. TRANSLATORS: information message of appstream-compose +#: tools/appstream-compose.c:382 +msgid "Errors were raised during this compose run:" +msgstr "" + +#: tools/appstream-compose.c:383 +msgid "" +"Refer to the generated issue report data for details on the individual " +"problems." +msgstr "" + +#: tools/appstream-compose.c:386 +msgid "Overview of generated hints:" +msgstr "" + +#. TRANSLATORS: information message +#: tools/appstream-compose.c:388 +msgid "Success!" +msgstr "" + +#. TRANSLATORS: ascli flag description for: --cachepath +#: tools/appstreamcli.c:59 +msgid "Manually selected location of AppStream cache." +msgstr "Ručno odaberi mjesto AppStream predmemorije." + +#. TRANSLATORS: ascli flag description for: --datapath +#: tools/appstreamcli.c:64 +msgid "Manually selected location of AppStream metadata to scan." +msgstr "Ručno odaberi mjesto za traženje AppStream metapodataka." + +#. TRANSLATORS: ascli flag description for: --no-cache +#: tools/appstreamcli.c:69 +msgid "Make request without any caching." +msgstr "Postavi zahtjev bez spremanja u predmemoriju." + +#. TRANSLATORS: ascli flag description for: --format +#: tools/appstreamcli.c:85 +msgid "Default metadata format (valid values are 'xml' and 'yaml')." +msgstr "" +"Standardni format metapodataka (ispravne vrijednosti su „xml” i „yaml”)." + +#. TRANSLATORS: ascli flag description for: --details +#: tools/appstreamcli.c:100 +msgid "Print detailed output about found components." +msgstr "Ispiši detaljan rezultat o pronađenim komponentama." + +#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) +#: tools/appstreamcli.c:118 +msgid "Also show pedantic hints." +msgstr "Također pokaži pedantne savjete." + +#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) +#: tools/appstreamcli.c:123 +msgid "Print detailed explanation for found issues." +msgstr "Ispiši detaljna obrazloženja za pronađene probleme." + +#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) +#: tools/appstreamcli.c:128 +msgid "Do not use network access." +msgstr "Nemoj koristiti mrežni pristup." + +#. TRANSLATORS: ascli flag description for: --format when validating XML files +#: tools/appstreamcli.c:133 +msgid "Format of the generated report (valid values are 'text' and 'yaml')." +msgstr "Format izrađenog izvještaja (ispravne vrijednosti su „text” i „yaml”)." + +#. TRANSLATORS: This is the header to the --help menu for subcommands +#. TRANSLATORS: This is the header to the --help menu +#: tools/appstreamcli.c:153 tools/appstreamcli.c:981 +msgid "AppStream command-line interface" +msgstr "AppStream sučelje naredbenog retka" + +#: tools/appstreamcli.c:156 +#, c-format +msgid "'%s' command" +msgstr "„%s” naredba" + +#. TRANSLATORS: An unknown option was passed to appstreamcli. +#: tools/appstreamcli.c:191 +#, c-format +msgid "Option '%s' is unknown." +msgstr "Opcija „%s” je nepoznata." + +#: tools/appstreamcli.c:195 tools/appstreamcli.c:1207 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options." +msgstr "" +"Pokreni „%s --help“ za prikaz popisa svih dostupnih mogućnosti u naredbenom " +"retku." + +#: tools/appstreamcli.c:197 +#, c-format +msgid "" +"Run '%s --help' to see a list of available commands and options, and '%s %s " +"--help' to see a list of options specific for this subcommand." +msgstr "" +"Pokreni „%s --help” za prikaz popisa dostupnih naredbi i mogućnosti. Koristi " +"„%s %s --help” za prikaz popisa mogućnosti za navedenu podnaredbu." + +#. TRANSLATORS: ascli flag description for: --force +#: tools/appstreamcli.c:245 +msgid "Enforce a cache refresh." +msgstr "Prisilno aktualiziraj predmemoriju." + +#. TRANSLATORS: ascli flag description for: --user +#: tools/appstreamcli.c:251 +msgid "Update the user-specific instead of the system-wide cache." +msgstr "Aktualiziraj korisničku predmemoriju umjesto sustavsku." + +#. TRANSLATORS: ascli flag description for: --origin (part of the "put" subcommand) +#: tools/appstreamcli.c:477 +msgid "Set the data origin for the installed metadata collection file." +msgstr "Postavi izvor podataka za instaliranu datoteku zbirke metapodataka." + +#. TRANSLATORS: ascli flag description for: --user (part of the "put" subcommand) +#: tools/appstreamcli.c:482 +msgid "Install the file for the current user, instead of globally." +msgstr "Instaliraj datoteku za trenutačnog korisnika, umjesto globalno." + +#: tools/appstreamcli.c:631 +msgid "" +"You need to provide at least two version numbers to compare as parameters." +msgstr "" +"Moraju se zadati barem dva broja verzija za uspoređivanje kao parametara." + +#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. +#: tools/appstreamcli.c:660 +#, c-format +msgid "Unknown compare relation '%s'. Valid values are:" +msgstr "Nepoznat odnos usporedbe „%s”. Ispravne vrijednosti su:" + +#: tools/appstreamcli.c:700 +msgid "" +"Too many parameters: Need two version numbers or version numbers and a " +"comparison operator." +msgstr "" +"Previše parametara: Potrebna su dva broja verzija ili brojevi verzije i " +"jedan operator za uspoređivanje." + +#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) +#: tools/appstreamcli.c:726 +msgid "" +"Use the given .desktop file to fill in the basic values of the metainfo file." +msgstr "" +"Koristi zadanu .desktop datoteku za popunjavanje osnovnih vrijednosti " +"datoteke metapodataka." + +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand +#: tools/appstreamcli.c:731 +msgid "" +"This command takes optional TYPE and FILE positional arguments, FILE being a " +"file to write to (or \"-\" for standard output)." +msgstr "" +"Ova naredba uzima opcionalne argumente TYPE i FILE, pri čemu je FILE " +"datoteka u koju se piše (ili „-” za standardni izlaz)." + +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows +#: tools/appstreamcli.c:734 +#, c-format +msgid "The TYPE must be a valid component-type, such as: %s" +msgstr "TYPE mora biti ispravni component-type (vrsta komponente), poput: %s" + +#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) +#: tools/appstreamcli.c:775 +msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." +msgstr "Koristi navedeni redak za „Exec=” ključ desktop-entry datoteke." + +#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command +#: tools/appstreamcli.c:815 +msgid "Assume the input file is in the selected format ('yaml' or 'text')." +msgstr "" +"Pretpostavi, da je datoteka unosa odabranog formata („yaml” ili „text”)." + +#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command +#: tools/appstreamcli.c:820 +msgid "" +"Limit the number of release entries that end up in the metainfo file (0 for " +"unlimited)." +msgstr "" +"Ograniči broj unosa izdanja koji će se na kraju naći u datoteci metapodataka " +"(0 za neograničeno)." + +#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command +#: tools/appstreamcli.c:862 +msgid "Generate the output in the selected format ('yaml' or 'text')." +msgstr "Izradi rezultat u odabranom formatu („yaml” ili „text”)." + +#: tools/appstreamcli.c:894 +#, c-format +msgid "Compose binary '%s' was not found! Can not continue." +msgstr "" + +#. TRANSLATORS: this is a (usually shorter) command alias, shown after the command summary text +#: tools/appstreamcli.c:956 +#, c-format +msgid "(Alias: '%s')" +msgstr "(Alias: „%s”)" + +#. these are commands we can use with appstreamcli +#: tools/appstreamcli.c:983 +msgid "Subcommands:" +msgstr "Podnaredbe:" + +#: tools/appstreamcli.c:1029 +msgid "" +"You can find information about subcommand-specific options by passing \"--" +"help\" to the subcommand." +msgstr "" +"Informacije o mogućnostima određene podnaredbe moguće je dobiti pomoću „--" +"help” u podnaredbi." + +#. TRANSLATORS: ascli has been run with unknown command. '%s --help' is the command to receive help and should not be translated. +#: tools/appstreamcli.c:1052 +#, c-format +msgid "" +"Command '%s' is unknown. Run '%s --help' for a list of available commands." +msgstr "" +"Nepoznata naredba „%s”. Pokreni „%s --help“ za prikaz popisa dostupnih " +"naredbi." + +#. TRANSLATORS: ascli flag description for: --verbose +#: tools/appstreamcli.c:1082 +msgid "Show extra debugging information." +msgstr "Prikaži dodatne informacije otklanjanja grešaka." + +#. TRANSLATORS: ascli flag description for: --profile +#: tools/appstreamcli.c:1090 +msgid "Enable profiling" +msgstr "Aktiviraj profiliranje" + +#. TRANSLATORS: `appstreamcli search` command description. +#: tools/appstreamcli.c:1102 +msgid "Search the component database." +msgstr "Pretraži bazu podataka za komponente." + +#. TRANSLATORS: `appstreamcli get` command description. +#: tools/appstreamcli.c:1107 +msgid "Get information about a component by its ID." +msgstr "Dobavi podatke komponente na osnovi njene ID oznake." + +#. TRANSLATORS: `appstreamcli what-provides` command description. +#: tools/appstreamcli.c:1112 +msgid "" +"Get components which provide the given item. Needs an item type (e.g. lib, " +"bin, python3, …) and item value as parameter." +msgstr "" +"Dobavi komponente koje pružaju određenu stavku. Kao parametar se mora " +"navesti vrsta stavke (npr. lib, kanta, piton3, …) i vrijednost stavke." + +#. TRANSLATORS: `appstreamcli dump` command description. +#: tools/appstreamcli.c:1118 +msgid "Dump raw XML metadata for a component matching the ID." +msgstr "" +"Iščitaj neobrađene XML metapodatke za komponentu koja odgovara ID oznaci." + +#. TRANSLATORS: `appstreamcli refresh-cache` command description. +#: tools/appstreamcli.c:1123 +msgid "Rebuild the component metadata cache." +msgstr "Ponovo izgradi predmemoriju metapodataka komponente." + +#. TRANSLATORS: `appstreamcli validate` command description. +#: tools/appstreamcli.c:1129 +msgid "Validate AppStream XML files for issues." +msgstr "Provjeri AppStream XML datoteke." + +#. TRANSLATORS: `appstreamcli validate-tree` command description. +#: tools/appstreamcli.c:1134 +msgid "Validate an installed file-tree of an application for valid metadata." +msgstr "" +"Provjeri ispravnost metapodataka za instalirano stablo datoteka programa." + +#. TRANSLATORS: `appstreamcli install` command description. +#: tools/appstreamcli.c:1140 +msgid "Install software matching the component-ID." +msgstr "Instaliraj softver koji se poklapa s ID oznakom komponente." + +#. TRANSLATORS: `appstreamcli remove` command description. +#: tools/appstreamcli.c:1145 +msgid "Remove software matching the component-ID." +msgstr "Ukloni softver koji se poklapa s ID oznakom komponente." + +#. TRANSLATORS: `appstreamcli status` command description. +#: tools/appstreamcli.c:1151 +msgid "Display status information about available AppStream metadata." +msgstr "Prikaži podatke stanja dostupnih AppStream metapodataka." + +#. TRANSLATORS: `appstreamcli os-info` command description. +#: tools/appstreamcli.c:1156 +msgid "" +"Show information about the current operating system from the metadata index." +msgstr "" +"Prikaži podatke trenutačnog operacijskog sustava iz indeksa metapodataka." + +#. TRANSLATORS: `appstreamcli put` command description. +#: tools/appstreamcli.c:1161 +msgid "Install a metadata file into the right location." +msgstr "Instaliraj jednu datoteku metapodataka na ispravno mjesto." + +#. TRANSLATORS: `appstreamcli convert` command description. "Collection XML" is a term describing a specific type of AppStream XML data. +#: tools/appstreamcli.c:1166 +msgid "Convert collection XML to YAML or vice versa." +msgstr "Pretvori XML zbirku u YAML ili obratno." + +#. TRANSLATORS: `appstreamcli vercmp` command description. +#: tools/appstreamcli.c:1171 +msgid "Compare two version numbers." +msgstr "Usporedi brojeve dviju verzija." + +#. TRANSLATORS: `appstreamcli new-template` command description. +#: tools/appstreamcli.c:1177 +msgid "" +"Create a template for a metainfo file (to be filled out by the upstream " +"project)." +msgstr "" +"Stvori predložak za datoteku metapodataka (popunjava se izvornim projektom)." + +#. TRANSLATORS: `appstreamcli make-desktop-file` command description. +#: tools/appstreamcli.c:1182 +msgid "Create a desktop-entry file from a metainfo file." +msgstr "Stvori desktop-entry datoteku iz datoteke metapodataka." + +#. TRANSLATORS: `appstreamcli news-to-metainfo` command description. +#: tools/appstreamcli.c:1187 +msgid "Convert a YAML or text NEWS file into metainfo releases." +msgstr "Pretvori YAML ili tekstualnu NEWS datoteku u izdanja metapodataka." + +#. TRANSLATORS: `appstreamcli metainfo-to-news` command description. +#: tools/appstreamcli.c:1192 +msgid "Write NEWS text or YAML file with information from a metainfo file." +msgstr "" +"Zapiši tekstualnu NEWS ili YAML datoteku s podacima iz datoteke metapodataka." + +#. TRANSLATORS: `appstreamcli compose` command description. +#: tools/appstreamcli.c:1198 +#, fuzzy +msgid "Compose AppStream collection metadata from directory trees." +msgstr "U ovoj mapi ili stablu mapa nema AppStream metapodataka." + +#. TRANSLATORS: ascli has been run without command. +#: tools/appstreamcli.c:1206 +msgid "You need to specify a command." +msgstr "Mora se navesti jedna naredba." + +#. TRANSLATORS: In ascli: The requested action needs higher permissions. +#: tools/ascli-actions-mdata.c:70 +msgid "You might need superuser permissions to perform this action." +msgstr "Za izvršavanje ove radnje možda su potrebna administratorska prava." + +#. we performed a cache refresh +#. TRANSLATORS: Updating the metadata cache succeeded +#: tools/ascli-actions-mdata.c:80 +msgid "AppStream cache update completed successfully." +msgstr "AppStream predmemorija je uspješno aktualizirana." + +#. cache wasn't updated, so the update wasn't necessary +#: tools/ascli-actions-mdata.c:86 +msgid "AppStream cache update is not necessary." +msgstr "Nije potrebno aktualizirati AppStream predmemoriju." + +#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments +#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. +#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:253 +#: tools/ascli-actions-pkgmgr.c:80 +msgid "You need to specify a component-ID." +msgstr "Mora se navesti jedna ID oznaka komponenata." + +#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:265 +#: tools/ascli-actions-pkgmgr.c:93 +#, c-format +msgid "Unable to find component with ID '%s'!" +msgstr "Nije moguće pronaći komponentu s ID oznakom „%s”!" + +#: tools/ascli-actions-mdata.c:164 +msgid "You need to specify a term to search for." +msgstr "Mora se navesti jedan traženi pojam." + +#. TRANSLATORS: We failed to find any component in the database, likely due to an error +#: tools/ascli-actions-mdata.c:177 +#, c-format +msgid "Unable to find component matching %s!" +msgstr "Nije moguće pronaći komponentu koja se poklapa s %s!" + +#: tools/ascli-actions-mdata.c:182 +#, c-format +msgid "No component matching '%s' found." +msgstr "Nema komponente koja se poklapa s „%s”." + +#: tools/ascli-actions-mdata.c:206 +msgid "No value for the item to search for was defined." +msgstr "Vrijednost za traženi element nije određen." + +#: tools/ascli-actions-mdata.c:212 +msgid "Invalid type for provided item selected. Valid values are:" +msgstr "" +"Odabrana je neispravna vrsta za pružani element. Ispravne vrijednosti su:" + +#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results +#: tools/ascli-actions-mdata.c:227 +#, c-format +msgid "Could not find component providing '%s::%s'." +msgstr "Nije bilo moguće pronaći komponentu, koja omogućuje „%s::%s”." + +#: tools/ascli-actions-mdata.c:306 +msgid "You need to specify a metadata file." +msgstr "Mora se navesti jedna datoteka metapodataka." + +#: tools/ascli-actions-mdata.c:320 +#, c-format +msgid "Unable to install metadata file: %s" +msgstr "Nije moguće instalirati datoteku metapodaka: %s" + +#: tools/ascli-actions-mdata.c:340 +msgid "You need to specify an input and output file." +msgstr "Moraju se navesti datoteke za unos i za rezultat." + +#: tools/ascli-actions-mdata.c:347 +#, c-format +msgid "Metadata file '%s' does not exist." +msgstr "Datoteka metapodataka „%s” ne postoji." + +#. TRANSLATORS: User is trying to convert a file in ascli +#: tools/ascli-actions-mdata.c:387 +msgid "" +"Unable to convert file: Could not determine output format, please set it " +"explicitly using '--format='." +msgstr "" +"Nije moguće pretvoriti datoteku: Nije moguće odrediti format rezultata. " +"Podesi je izričito, koristeći „--format=”." + +#: tools/ascli-actions-mdata.c:438 +#, c-format +msgid "Unable to find operating system component '%s'!" +msgstr "Nije moguće pronaći komponentu operacijskog sustava „%s”!" + +#: tools/ascli-actions-mdata.c:443 +msgid "Version" +msgstr "Verzija" + +#: tools/ascli-actions-mdata.c:467 +msgid "" +"You need to give an AppStream software component type to generate a " +"template. Possible values are:" +msgstr "" +"Za generiranje predloška mora se zadati AppStream vrsta softverske " +"komponente. Moguće vrijednosti su:" + +#: tools/ascli-actions-mdata.c:469 +#, c-format +msgid "" +"The software component type '%s' is not valid in AppStream. Possible values " +"are:" +msgstr "" +"Softverska vrsta komponenata „%s” nije ispravna u AppStreamu. Moguće " +"vrijednosti su:" + +#: tools/ascli-actions-mdata.c:487 +#, c-format +msgid "The .desktop file '%s' does not exist." +msgstr ".desktop datoteka „%s” ne postoji." + +#: tools/ascli-actions-mdata.c:493 +#, c-format +msgid "Unable to read the .desktop file: %s" +msgstr "Nije moguće čitati .desktop datoteku: %s" + +#: tools/ascli-actions-mdata.c:564 +#, c-format +msgid "Unable to build the template metainfo file: %s" +msgstr "Nije moguće izgraditi predložak datoteke metapodataka: %s" + +#: tools/ascli-actions-mdata.c:572 +#, c-format +msgid "Unable to save the template metainfo file: %s" +msgstr "Nije moguće spremiti predložak datoteke metapodataka: %s" + +#. TRANSLATORS: In the status report of ascli: Header +#: tools/ascli-actions-misc.c:47 +msgid "AppStream Status:" +msgstr "AppStream stanje:" + +#: tools/ascli-actions-misc.c:48 +#, c-format +msgid "Version: %s" +msgstr "Inačica %s" + +#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions +#: tools/ascli-actions-misc.c:52 +msgid "Distribution metadata:" +msgstr "Metapodaci distribucije:" + +#: tools/ascli-actions-misc.c:94 +msgid "Iconsets" +msgstr "Kompleti ikona" + +#: tools/ascli-actions-misc.c:105 +msgid "No icons." +msgstr "Nema ikona." + +#. TRANSLATORS: No metainfo files have been found +#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 +msgid "Empty." +msgstr "Prazno." + +#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report +#: tools/ascli-actions-misc.c:116 +msgid "Metainfo files:" +msgstr "Datoteke metapodataka:" + +#: tools/ascli-actions-misc.c:123 +#, c-format +msgid "Found %i components." +msgstr "Pronađene su %i komponente." + +#. TRANSLATORS: Found metainfo files in legacy directories +#: tools/ascli-actions-misc.c:138 +#, c-format +msgid "Found %i components in legacy paths." +msgstr "Pronađene su %i komponente u starim stazama." + +#. TRANSLATORS: Status summary in ascli +#: tools/ascli-actions-misc.c:145 +msgid "Summary:" +msgstr "Sažetak:" + +#: tools/ascli-actions-misc.c:153 +#, c-format +msgid "We have information on %i software components." +msgstr "Imamo informacije o komponentama %i softvera." + +#: tools/ascli-actions-misc.c:159 +#, c-format +msgid "Error while loading the metadata pool: %s" +msgstr "Greška tijekom učitavanja sabirališta metadataka: %s" + +#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 +msgid "You need to specify a metainfo file as input." +msgstr "Mora se navesti jedna datoteka metapodataka kao unos." + +#: tools/ascli-actions-misc.c:188 +msgid "" +"You need to specify a desktop-entry file to create or augment as output." +msgstr "" +"Mora se navesti jedna desktop-entry datoteka za stvaranje ili proširivanje " +"kao rezultat." + +#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 +#: tools/ascli-actions-misc.c:515 +#, c-format +msgid "Metainfo file '%s' does not exist." +msgstr "Datoteka metapodataka „%s” ne postoji." + +#: tools/ascli-actions-misc.c:219 +#, c-format +msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." +msgstr "Proširivanje postojeće desktop-entry datoteke „%s” s podacima iz „%s”." + +#: tools/ascli-actions-misc.c:224 +#, c-format +msgid "Unable to load existing desktop-entry file template: %s" +msgstr "Nije moguće učitati postojeći predložak desktop-entry datoteke: %s" + +#: tools/ascli-actions-misc.c:228 +#, c-format +msgid "Creating new desktop-entry file '%s' using data from '%s'" +msgstr "Stvaranje nove desktop-entry datoteke „%s”, kosristeći podatke iz „%s”" + +#: tools/ascli-actions-misc.c:284 +msgid "No stock icon name was provided in the metainfo file. Can not continue." +msgstr "" +"U datoteci metapodataka nije navedeno nijedno ime ikone. Nije moguće " +"nastaviti." + +#: tools/ascli-actions-misc.c:306 +msgid "" +"No provided binary specified in metainfo file, and no exec command specified " +"via '--exec'. Can not create 'Exec=' key." +msgstr "" +"U datoteci metapodataka nije navedena nijedna pružena binarna datoteka. " +"Također nijedna navedena nijedna izvršna naredba putem „--exec”. Nije moguće " +"stvoriti „Exec=” ključ." + +#: tools/ascli-actions-misc.c:370 +#, c-format +msgid "Unable to save desktop entry file: %s" +msgstr "Nije moguće spremiti desktop-entry datoteku: %s" + +#: tools/ascli-actions-misc.c:393 +msgid "You need to specify a NEWS file as input." +msgstr "Mora se navesti jedna NEWS datoteka kao unos." + +#: tools/ascli-actions-misc.c:397 +msgid "" +"You need to specify a metainfo file to augment, or '-' to print to stdout." +msgstr "" +"Mora se navesti jedna datoteka metapodataka za proširivanje ili „-” za ispis " +"u standardni rezultat." + +#: tools/ascli-actions-misc.c:402 +msgid "No output filename specified, modifying metainfo file directly." +msgstr "" +"Ime datoteke rezultata nije navedeno. Datoteka metapodataka se izravno " +"mijenja." + +#: tools/ascli-actions-misc.c:509 +msgid "You need to specify a NEWS file as output, or '-' to print to stdout." +msgstr "" +"Mora se navesti jedna NEWS datoteka kao rezultat ili „-” za ispis u " +"standardni rezultat." + +#: tools/ascli-actions-misc.c:540 +msgid "You need to specify a NEWS format to write the output in." +msgstr "Mora se navesti jedan NEWS format u kojem će se zapisati rezultat." + +#: tools/ascli-actions-pkgmgr.c:53 +msgid "" +"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" +"\" (part of PackageKit) is available." +msgstr "" +"Nije pronađeno odgovarajuće sučelje naredbenog retka upravljača paketa. " +"Provjeri, je li npr. dostupan „pkcon” (dio PackageKit-a)." + +#: tools/ascli-actions-pkgmgr.c:67 +#, c-format +msgid "Unable to spawn package manager: %s" +msgstr "Nije moguće učitati upravljača paketa: %s" + +#. TRANSLATORS: We found no distribution package or bundle to install to make this software available +#: tools/ascli-actions-pkgmgr.c:106 +#, c-format +msgid "Component '%s' has no installation candidate." +msgstr "Komponenta „%s” nema kandidata za instalaciju." + +#: tools/ascli-actions-validate.c:176 tools/ascli-actions-validate.c:354 +#, c-format +msgid "File '%s' does not exist." +msgstr "Datoteka „%s” ne postoji." + +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "error"-type hints +#: tools/ascli-actions-validate.c:228 +#, c-format +msgid "errors: %lu" +msgstr "greške: %lu" + +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "warning"-type hints +#: tools/ascli-actions-validate.c:235 +#, c-format +msgid "warnings: %lu" +msgstr "upozorenja: %lu" + +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "info"-type hints +#: tools/ascli-actions-validate.c:242 +#, c-format +msgid "infos: %lu" +msgstr "podaci: %lu" + +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "pedantic"-type hints +#: tools/ascli-actions-validate.c:249 +#, c-format +msgid "pedantic: %lu" +msgstr "pedantno: %lu" + +#: tools/ascli-actions-validate.c:268 tools/ascli-actions-validate.c:342 +msgid "You need to specify at least one file to validate!" +msgstr "Za provjeru se mora navesti barem jedna datoteka!" + +#: tools/ascli-actions-validate.c:294 tools/ascli-actions-validate.c:435 +msgid "Validation was successful." +msgstr "Provjera je uspjela." + +#: tools/ascli-actions-validate.c:296 tools/ascli-actions-validate.c:437 +#, c-format +msgid "Validation was successful: %s" +msgstr "Provjera je uspjela: %s" + +#: tools/ascli-actions-validate.c:306 tools/ascli-actions-validate.c:447 +#, c-format +msgid "Validation failed: %s" +msgstr "Provjera je neuspjela: %s" + +#: tools/ascli-actions-validate.c:368 tools/ascli-actions-validate.c:497 +#, c-format +msgid "" +"The validator can not create reports in the '%s' format. You may select " +"'yaml' or 'text' instead." +msgstr "" +"Provjera ne može stvoriti izvještaje u „%s” formatu. Odaberi „yaml” ili " +"„text”." + +#: tools/ascli-actions-validate.c:390 tools/ascli-actions-validate.c:484 +msgid "You need to specify a root directory to start validation!" +msgstr "Za pokretanje provjere mora se navesti jedna početna mapa!" + +#: tools/ascli-utils.c:266 +msgid "Identifier" +msgstr "Identifikator" + +#: tools/ascli-utils.c:268 +msgid "Internal ID" +msgstr "Interni ID" + +#: tools/ascli-utils.c:269 +msgid "Name" +msgstr "Ime" + +#: tools/ascli-utils.c:270 +msgid "Summary" +msgstr "Sažetak" + +#: tools/ascli-utils.c:271 +msgid "Package" +msgstr "Paket" + +#: tools/ascli-utils.c:272 +msgid "Bundle" +msgstr "Paket" + +#: tools/ascli-utils.c:273 +msgid "Homepage" +msgstr "Početna web-stranica" + +#: tools/ascli-utils.c:274 +msgid "Icon" +msgstr "Ikona" + +#. developer name +#: tools/ascli-utils.c:294 +msgid "Developer" +msgstr "Programer" + +#: tools/ascli-utils.c:300 +msgid "Extends" +msgstr "Proširenja" + +#: tools/ascli-utils.c:306 +msgid "Description" +msgstr "Opis" + +#: tools/ascli-utils.c:326 +msgid "Default Screenshot URL" +msgstr "Standardni URL za slike ekrana" + +#. project group +#: tools/ascli-utils.c:333 +msgid "Project Group" +msgstr "Grupa projekta" + +#. license +#: tools/ascli-utils.c:336 +msgid "License" +msgstr "Licenca" + +#: tools/ascli-utils.c:342 +msgid "Categories" +msgstr "Kategorije" + +#: tools/ascli-utils.c:350 +msgid "Compulsory for" +msgstr "Obavezno za" + +#: tools/ascli-utils.c:378 +msgid "Provided Items" +msgstr "Pružani elementi" + +#, c-format +#~ msgid "Unable to open new cache file: %s" +#~ msgstr "Nije moguće otvoriti novu datoteku predmemorije: %s" + +#~ msgid "" +#~ "AppStream is a cross-distribution specification to provide metadata about " +#~ "software components." +#~ msgstr "" +#~ "AppStream je univerzalna specifikacija za pružanje metapodataka o " +#~ "komponentama softvera." + +#, c-format +#~ msgid "Unable to write to '%s', can not install metainfo file." +#~ msgstr "" +#~ "Nije moguće pisati u „%s”. Nije moguće instalirati datoteku metapodataka." + +#, c-format +#~ msgid "" +#~ "Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " +#~ "suffix." +#~ msgstr "" +#~ "Nije moguće kopirati „%s”: Datoteka nema „.metainfo.xml” ili „.appdata." +#~ "xml” sufiks." + +#~ msgid "An item type (e.g. lib, bin, python3, …)" +#~ msgstr "Vrsta elementa (npr. lib, bin, python3, …)" + +#~ msgid "Get components which provide the given item." +#~ msgstr "Dobij komponente koje pružaju zadani element." + +#, c-format +#~ msgid "Unknown command '%s'." +#~ msgstr "Nepoznata naredba „%s”." + +#~ msgid "Value of the item that should be found." +#~ msgstr "Vrijednost traženog elementa." diff -Nru appstream-0.12.10/po/hu.po appstream-0.14.5/po/hu.po --- appstream-0.12.10/po/hu.po 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/po/hu.po 2021-08-28 20:15:28.000000000 +0000 @@ -1,3 +1,4 @@ +# #-#-#-#-# hu.po (AppStream) #-#-#-#-# # Copyright (C) YEAR Matthias Klumpp # This file is distributed under the same license as the appstream package. # Translators: @@ -5,13 +6,28 @@ # kelemeng , 2015-2016. # Gabor Kelemen , 2016. # Balázs Úr , 2019. +# Fehérvári Marcell , 2020. +# #-#-#-#-# hu.po (appstream-glib) #-#-#-#-# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Balázs Úr , 2014-2016 +# kelemeng , 2016 +# Meskó Balázs , 2016. #zanata +# Meskó Balázs , 2017. #zanata +# Zoltan Hoppar , 2017. #zanata +# Meskó Balázs , 2018. #zanata +# Balázs Meskó , 2020. +# SoftwareByRedline , 2021. +# +# Translators: msgid "" msgstr "" -"Project-Id-Version: AppStream\n" +"Project-Id-Version: appstream-glib\n" "Report-Msgid-Bugs-To: appstream@lists.freedesktop.org\n" -"POT-Creation-Date: 2020-01-14 01:44+0100\n" -"PO-Revision-Date: 2019-09-14 15:39+0000\n" -"Last-Translator: Balázs Úr \n" +"POT-Creation-Date: 2021-08-28 16:09+0200\n" +"PO-Revision-Date: 2021-03-23 13:29+0000\n" +"Last-Translator: SoftwareByRedline \n" "Language-Team: Hungarian \n" "Language: hu\n" @@ -19,1128 +35,2028 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 3.9-dev\n" - -#: tools/appstream-cli.c:157 -#, c-format -msgid "'%s' command" -msgstr "„%s” parancs" - -#: src/as-category.c:168 -msgctxt "Category of Graphics" -msgid "3D Graphics" -msgstr "3D grafika" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:254 -msgid "" -"A 'requires' or 'recommends' item requires a value to denote a valid " -"relation." -msgstr "" -"Egy „requires” vagy „recommends” elem egy értéket igényel egy érvényes " -"kapcsolat jelöléséhez." - -#: src/as-validator-issue-tag.h:51 -msgid "" -"A tag must not be localized in metainfo files (upstream " -"metadata). Localize the individual paragraphs instead." -msgstr "" -"Egy címkét tilos honosítani a metainformációs fájlokban " -"(távoli metaadatok). Honosítsa inkább az önálló bekezdéseket." - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:195 -msgid "" -"A screenshot must contain at least one image or video in order to be useful. " -"Please add an to it." -msgstr "" -"Egy képernyőképnek tartalmaznia kell legalább egy képet vagy videót, hogy " -"használható legyen. Adjon hozzá egy címkét." - -#: src/as-validator-issue-tag.h:200 -msgid "" -"A screenshot must contain either images or videos, but not both at the same " -"time. Please use this screenshot exclusively for either static images or for " -"videos." -msgstr "" -"Egy képernyőképnek tartalmaznia kell képeket vagy videókat, de nem " -"mindkettőt egyszerre. Használja ezt a képernyőképet kizárólagosan vagy " -"statikus képekhez, vagy videókhoz." - -#: src/as-category.c:123 -msgctxt "Category of Games" -msgid "Action" -msgstr "Akció" - -#. TRANSLATORS: this is the main category for Add-ons -#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor -#: src/as-category.c:320 tools/ascli-utils.c:398 -msgid "Add-ons" -msgstr "Kiegészítők" - -#: src/as-category.c:126 -msgctxt "Category of Games" -msgid "Adventure" -msgstr "Kaland" - -#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) -#: tools/appstream-cli.c:116 -msgid "Also show pedantic hints." -msgstr "Az akadékoskodó tippeket is írja ki." - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:497 -msgid "" -"An 'extends' tag is specified, but the component is not of type 'addon', " -"'localization' or 'repository'." -msgstr "" -"Egy „extends” címke meg van adva, de az összetevő nem „addon”, " -"„localization” vagy „repository” típusú." - -#: tools/appstream-cli.c:850 -msgid "An item type (e.g. lib, bin, python3, …)" -msgstr "Egy elemtípus (például lib, bin, python3, …)" - -#: data/org.freedesktop.appstream.cli.metainfo.xml:9 -msgid "An utility to work with AppStream metadata" -msgstr "Egy segédprogram az AppStream metaadatokkal való munkához" +"X-Generator: Weblate 4.5.2-dev\n" #: data/org.freedesktop.appstream.cli.metainfo.xml:8 msgid "AppStream CLI" msgstr "AppStream parancssori felület" -#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. -#: tools/appstream-cli.c:947 -#, c-format -msgid "" -"AppStream CLI tool version: %s\n" -"AppStream library version: %s" -msgstr "" -"AppStream CLI eszközverzió: %s\n" -"AppStream programkönyvtár-verzió: %s" - -#. TRANSLATORS: In the status report of ascli: Header -#: tools/ascli-actions-misc.c:47 -msgid "AppStream Status:" -msgstr "AppStream állapot:" - -#. we performed a cache refresh -#. TRANSLATORS: Updating the metadata cache succeeded -#: tools/ascli-actions-mdata.c:80 -msgid "AppStream cache update completed successfully." -msgstr "Az AppStream gyorsítótár-frissítés sikeresen befejeződött." - -#. cache wasn't updated, so the update wasn't necessary -#: tools/ascli-actions-mdata.c:86 -msgid "AppStream cache update is not necessary." -msgstr "Az AppStream gyorsítótár frissítése nem szükséges." - -#. TRANSLATORS: This is the header to the --help menu for subcommands -#. TRANSLATORS: This is the header to the --help menu -#: tools/appstream-cli.c:154 tools/appstream-cli.c:843 -msgid "AppStream command-line interface" -msgstr "AppStream parancssori felület" - -#: src/as-validator-issue-tag.h:63 -msgid "" -"AppStream descriptions support only a limited set of tags to format text: " -"Paragraphs (

                                                                                                                                                                                    ) and lists (

                                                                                                                                                                                      ,
                                                                                                                                                                                        ). This description markup contains " -"an invalid XML tag that would not be rendered correctly in applications " -"supporting the metainfo specification." -msgstr "" -"Az AppStream leírások csak korlátozott címkehalmazt támogatnak a szöveg " -"formázásához: bekezdéseket (

                                                                                                                                                                                        ) és listákat (

                                                                                                                                                                                          ,
                                                                                                                                                                                            ). Ez a " -"leírásjelölő érvénytelen XML címkét tartalmaz, amelyet nem lehetne helyesen " -"megjeleníteni a metainformáció specifikációját támogató alkalmazásokban." +#: data/org.freedesktop.appstream.cli.metainfo.xml:9 +msgid "An utility to work with AppStream metadata" +msgstr "Egy segédprogram az AppStream metaadatokkal való munkához" #: data/org.freedesktop.appstream.cli.metainfo.xml:12 msgid "" -"AppStream is a cross-distribution specification to provide metadata about " -"software components." +"AppStream is a metadata specification which permits software components to " +"provide information about themselves to automated systems and end-users " +"before the software is actually installed. The AppStream project provides " +"facilities to easily access and transform this metadata, as well as a few " +"additional services for building feature-rich software centers and similar " +"applications that make use of software metadata." +msgstr "" +"Az AppStream egy metaadat-specifikáció, ami révén a szoftveres komponensek " +"információt szolgáltathatnak magukról automata rendszereknek és a " +"végfelhasználóknak, mielőtt a szoftver telepítve lenne." + +#: data/org.freedesktop.appstream.cli.metainfo.xml:18 +msgid "" +"The appstreamcli command-line tool allows to read, write, and " +"transform AppStream XML or YAML metadata as well as to validate it for " +"compliance with the specification. It also provides easy access to the " +"system metadata pool, for example to query for software that provides a " +"specific Mediatype handler or for installing software by its component " +"identifier." msgstr "" -"Az AppStream egy disztribúciók közötti specifikáció, amely metaadatokat " -"biztosít a szoftverösszetevőkről." +"Ezzel az eszközzel AppStream XML vagy YAML metaadatokat olvashat, írhat, " +"érvényesíthet és alakíthat át. Hozzáférést is biztosít a rendszer " +"metaadataihoz, például le tudja kérdezni a szoftvereket, amelyek bizonyos " +"MIME-típusokat biztosítanak, és telepíteni tudja a szoftverösszetevő-" +"azonosítója alapján." -#: src/as-pool.c:1937 -#, c-format -msgid "" -"AppStream system cache refresh failed. Turn on verbose mode to get detailed " -"issue information." -msgstr "" -"Az AppStream rendszergyorsítótár frissítése sikertelen. Kapcsolja be a " -"bőbeszédű módot a részletesebb problémainformációkért." +#: src/as-category.c:66 +msgctxt "Category of AudioVideo" +msgid "Featured" +msgstr "Kiemelt" -#. TRANSLATORS: Output if appstreamcli --version is executed. -#: tools/appstream-cli.c:944 -#, c-format -msgid "AppStream version: %s" -msgstr "AppStream verzió: %s" +#: src/as-category.c:69 +msgctxt "Category of AudioVideo" +msgid "Audio Creation & Editing" +msgstr "Zenelétrehozás és szerkesztés" -#: src/as-category.c:129 -msgctxt "Category of Games" -msgid "Arcade" -msgstr "Ügyességi" +#: src/as-category.c:75 +msgctxt "Category of AudioVideo" +msgid "Music Players" +msgstr "Zenelejátszók" -#: src/as-category.c:234 -msgctxt "Category of Science" -msgid "Artificial Intelligence" -msgstr "Mesterséges intelligencia" +#: src/as-category.c:84 +msgctxt "Category of Development" +msgid "Featured" +msgstr "Kiemelt" -#: src/as-validator-issue-tag.h:91 -msgid "" -"As per AppStream specification, the mentioned tag must only appear once in " -"this context. Having multiple tags of this kind is not valid." -msgstr "" -"Az AppStream specifikációja szerint az említett címkének csak egyszer szabad " -"megjelennie ebben a környezetben. Több ilyen fajta címke megléte nem " -"érvényes." +#: src/as-category.c:87 +msgctxt "Category of Development" +msgid "Debuggers" +msgstr "Hibakeresők" -#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command -#: tools/appstream-cli.c:766 -msgid "Assume the input file is in the selected format ('yaml' or 'text')." -msgstr "" +#: src/as-category.c:90 +msgctxt "Category of Development" +msgid "IDEs" +msgstr "IDE-k" -#: src/as-category.c:101 +#: src/as-category.c:99 msgctxt "Category of Education" -msgid "Astronomy" -msgstr "Csillagászat" +msgid "Featured" +msgstr "Kiemelt" -#: src/as-category.c:237 -msgctxt "Category of Science" +#: src/as-category.c:102 +msgctxt "Category of Education" msgid "Astronomy" msgstr "Csillagászat" -#. TRANSLATORS: this is the menu spec main category for Audio & Video -#: src/as-category.c:302 -msgid "Audio & Video" -msgstr "Hang és videó" +#: src/as-category.c:105 +msgctxt "Category of Education" +msgid "Chemistry" +msgstr "Kémia" -#: src/as-category.c:68 -msgctxt "Category of AudioVideo" -msgid "Audio Creation & Editing" -msgstr "Zenelétrehozás és szerkesztés" +#: src/as-category.c:108 +msgctxt "Category of Education" +msgid "Languages" +msgstr "Nyelvek" -#: tools/ascli-actions-misc.c:219 -#, c-format -msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." -msgstr "" +#: src/as-category.c:112 +msgctxt "Category of Education" +msgid "Math" +msgstr "Matematika" -#: src/as-provided.c:146 -msgid "Binaries" -msgstr "Binárisok" +#: src/as-category.c:121 +msgctxt "Category of Games" +msgid "Featured" +msgstr "Kiemelt" -#: src/as-category.c:132 +#: src/as-category.c:124 +msgctxt "Category of Games" +msgid "Action" +msgstr "Akció" + +#: src/as-category.c:127 +msgctxt "Category of Games" +msgid "Adventure" +msgstr "Kaland" + +#: src/as-category.c:130 +msgctxt "Category of Games" +msgid "Arcade" +msgstr "Ügyességi" + +#: src/as-category.c:133 msgctxt "Category of Games" msgid "Blocks" msgstr "Kockák" -#: src/as-category.c:135 +#: src/as-category.c:136 msgctxt "Category of Games" msgid "Board" msgstr "Tábla" -#: tools/ascli-utils.c:299 -msgid "Bundle" -msgstr "Csomag" - -#: src/as-pool.c:1828 -#, c-format -msgid "Cache location '%s' is not writable." -msgstr "A(z) „%s” gyorsítótárhely nem írható." - -#: src/as-category.c:191 -msgctxt "Category of Office" -msgid "Calendar" -msgstr "Naptár" - -#: tools/ascli-actions-mdata.c:327 -#, c-format -msgid "" -"Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " -"suffix." -msgstr "" -"A(z) „%s” nem másolható: a fájlnak nincs „.metainfo.xml” vagy „.appdata.xml” " -"végződése." - -#: src/as-category.c:138 +#: src/as-category.c:139 msgctxt "Category of Games" msgid "Card" msgstr "Kártya" -#: tools/ascli-utils.c:369 -msgid "Categories" -msgstr "Kategóriák" +#: src/as-category.c:142 +msgctxt "Category of Games" +msgid "Emulators" +msgstr "Emulátorok" -#: src/as-category.c:259 -msgctxt "Category of Communication" -msgid "Chat" -msgstr "Csevegés" +#: src/as-category.c:145 +msgctxt "Category of Games" +msgid "Kids" +msgstr "Gyerekjátékok" -#: src/as-category.c:104 -msgctxt "Category of Education" -msgid "Chemistry" -msgstr "Kémia" +#: src/as-category.c:148 +msgctxt "Category of Games" +msgid "Logic" +msgstr "Logikai" -#: src/as-category.c:240 -msgctxt "Category of Science" -msgid "Chemistry" -msgstr "Kémia" +#: src/as-category.c:151 +msgctxt "Category of Games" +msgid "Role Playing" +msgstr "Szerepjátékok" -#: src/as-category.c:214 -msgctxt "Category of Addons" -msgid "Codecs" -msgstr "Kodekek" +#: src/as-category.c:154 +msgctxt "Category of Games" +msgid "Sports" +msgstr "Sport" -#. TRANSLATORS: this is the menu spec main category for Communication -#: src/as-category.c:326 -msgid "Communication & News" -msgstr "Kommunikáció és hírek" +#: src/as-category.c:158 +msgctxt "Category of Games" +msgid "Strategy" +msgstr "Stratégia" -#: tools/appstream-cli.c:866 -msgid "Compare two version numbers." -msgstr "Két verziószám összehasonlítása." - -#: src/as-provided.c:166 -msgid "Component" -msgstr "Összetevő" - -#. TRANSLATORS: We found no distribution package or bundle to install to make this software available -#: tools/ascli-actions-pkgmgr.c:106 -#, c-format -msgid "Component '%s' has no installation candidate." -msgstr "A(z) „%s” összetevőnek nincs telepítésre jelölt változata." - -#: tools/ascli-utils.c:377 -msgid "Compulsory for" -msgstr "Kötelező ehhez" - -#: src/as-validator-issue-tag.h:361 -msgid "Consider using a secure (HTTPS) URL for the remote icon link." -msgstr "" -"Fontolja meg egy biztonságos (HTTPS) URL használatát a távoli ikon " -"hivatkozásánál." - -#: src/as-validator-issue-tag.h:383 -msgid "Consider using a secure (HTTPS) URL for this web link." -msgstr "" -"Fontolja meg egy biztonságos (HTTPS) URL használatát a webes hivatkozásánál." - -#: src/as-validator-issue-tag.h:189 -msgid "" -"Consider using a secure (HTTPS) URL to reference this screenshot image or " -"video." -msgstr "" -"Fontolja meg egy biztonságos (HTTPS) URL használatát a képernyőkép vagy " -"képernyőfelvétel hivatkozásához." - -#: tools/appstream-cli.c:870 -msgid "Convert a YAML or text NEWS file into metainfo releases." -msgstr "" +#: src/as-category.c:166 +msgctxt "Category of Graphics" +msgid "Featured" +msgstr "Kiemelt" -#. TRANSLATORS: "convert" command in ascli. "Collection XML" is a term describing a specific type of AppStream XML data. -#: tools/appstream-cli.c:865 -msgid "Convert collection XML to YAML or vice versa." -msgstr "Gyűjtemény átalakítása XML-ről YAML-ra vagy fordítva." +#: src/as-category.c:169 +msgctxt "Category of Graphics" +msgid "3D Graphics" +msgstr "3D grafika" -#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results -#: tools/ascli-actions-mdata.c:228 -#, c-format -msgid "Could not find component providing '%s::%s'." -msgstr "Nem található a következőt biztosító összetevő: „%s::%s”." +#: src/as-category.c:172 +msgctxt "Category of Graphics" +msgid "Photography" +msgstr "Fényképészet" -#: tools/appstream-cli.c:869 -msgid "Create a XDG desktop-entry file from a metainfo file." -msgstr "" +#: src/as-category.c:175 +msgctxt "Category of Graphics" +msgid "Scanning" +msgstr "Képolvasás" -#: tools/appstream-cli.c:868 -msgid "" -"Create a template for a metainfo file (to be filled out by the upstream " -"project)." -msgstr "" -"Sablon létrehozása egy metainformációs fájlhoz (a fő projekt általi " -"kitöltéshez)." +#: src/as-category.c:178 +msgctxt "Category of Graphics" +msgid "Vector Graphics" +msgstr "Vektorgrafika" -#: tools/ascli-actions-misc.c:228 -#, c-format -msgid "Creating new desktop-entry file '%s' using data from '%s'" -msgstr "" +#: src/as-category.c:181 +msgctxt "Category of Graphics" +msgid "Viewers" +msgstr "Megjelenítők" -#: src/as-provided.c:160 -msgid "D-Bus Session Services" -msgstr "D-Bus munkamenet-szolgáltatások" +#: src/as-category.c:189 +msgctxt "Category of Office" +msgid "Featured" +msgstr "Kiemelt" -#: src/as-provided.c:158 -msgid "D-Bus System Services" -msgstr "D-Bus rendszerszolgáltatások" +#: src/as-category.c:192 +msgctxt "Category of Office" +msgid "Calendar" +msgstr "Naptár" -#: src/as-category.c:195 +#: src/as-category.c:196 msgctxt "Category of Office" msgid "Database" msgstr "Adatbázis" -#: src/as-category.c:86 -msgctxt "Category of Development" -msgid "Debuggers" -msgstr "Hibakeresők" - -#: tools/ascli-utils.c:353 -msgid "Default Screenshot URL" -msgstr "Alapértelmezett képernyőkép URL" - -#. TRANSLATORS: ascli flag description for: --format -#: tools/appstream-cli.c:83 -msgid "Default metadata format (valid values are 'xml' and 'yaml')." -msgstr "Alapértelmezett metaadat-formátum (érvényes értékek: „xml” és „yaml”)." - -#: tools/ascli-utils.c:333 -msgid "Description" -msgstr "Leírás" - -#. developer name -#: tools/ascli-utils.c:321 -msgid "Developer" -msgstr "Fejlesztő" - -#. TRANSLATORS: this is the menu spec main category for Development -#: src/as-category.c:305 -msgid "Developer Tools" -msgstr "Fejlesztői eszközök" - -#: tools/appstream-cli.c:862 -msgid "Display status information about available AppStream metadata." -msgstr "Állapotinformációk megjelenítése az elérhető AppStream metaadatokról." +#: src/as-category.c:199 +msgctxt "Category of Office" +msgid "Finance" +msgstr "Pénzügy" -#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions -#: tools/ascli-actions-misc.c:52 -msgid "Distribution metadata:" -msgstr "Disztribúció metaadatok:" +#: src/as-category.c:203 +msgctxt "Category of Office" +msgid "Word Processor" +msgstr "Szövegszerkesztő" -#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) -#: tools/appstream-cli.c:126 -msgid "Do not use network access." -msgstr "Ne használjon hálózati hozzáférést." +#: src/as-category.c:212 +msgctxt "Category of Addons" +msgid "Fonts" +msgstr "Betűkészletek" -#. TRANSLATORS: ascli flag description for: --no-color -#: tools/appstream-cli.c:908 -msgid "Don't show colored output." -msgstr "Ne jelenítsen meg színes kimenetet." +#: src/as-category.c:215 +msgctxt "Category of Addons" +msgid "Codecs" +msgstr "Kodekek" -#: tools/appstream-cli.c:853 -msgid "Dump raw XML metadata for a component matching the ID." -msgstr "Nyers XML-metaadatok kiírása az azonosítóra illeszkedő összetevőhöz." +#: src/as-category.c:218 +msgctxt "Category of Addons" +msgid "Input Sources" +msgstr "Beviteli források" -#. TRANSLATORS: this is the menu spec main category for Education -#: src/as-category.c:308 -msgid "Education" -msgstr "Oktatás" +#: src/as-category.c:221 +msgctxt "Category of Addons" +msgid "Language Packs" +msgstr "Nyelvi csomagok" -#. TRANSLATORS: No metainfo files have been found -#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 -msgid "Empty." -msgstr "Üres." +#: src/as-category.c:224 +msgctxt "Category of Addons" +msgid "Localization" +msgstr "Honosítás" -#: src/as-category.c:141 -msgctxt "Category of Games" -msgid "Emulators" -msgstr "Emulátorok" +#: src/as-category.c:232 +msgctxt "Category of Science" +msgid "Featured" +msgstr "Kiemelt" -#. TRANSLATORS: ascli flag description for: --force -#: tools/appstream-cli.c:245 -msgid "Enforce a cache refresh." -msgstr "Gyorsítótár-frissítés kényszerítése." +#: src/as-category.c:235 +msgctxt "Category of Science" +msgid "Artificial Intelligence" +msgstr "Mesterséges intelligencia" -#: src/as-validator-issue-tag.h:74 -msgid "Enumerations must only have list items (
                                                                                                                                                                                          1. ) as children." -msgstr "A felsorolásoknak csak listaelemei (
                                                                                                                                                                                          2. ) lehetnek gyermekekként." +#: src/as-category.c:238 +msgctxt "Category of Science" +msgid "Astronomy" +msgstr "Csillagászat" -#: tools/ascli-actions-misc.c:159 -#, c-format -msgid "Error while loading the metadata pool: %s" -msgstr "Hiba a metaadat-tároló betöltésekor: %s" +#: src/as-category.c:241 +msgctxt "Category of Science" +msgid "Chemistry" +msgstr "Kémia" -#: tools/ascli-utils.c:327 -msgid "Extends" -msgstr "Kibővíti" +#: src/as-category.c:244 +msgctxt "Category of Science" +msgid "Math" +msgstr "Matematika" -#: src/as-category.c:65 -msgctxt "Category of AudioVideo" -msgid "Featured" -msgstr "Kiemelt" +#: src/as-category.c:249 +msgctxt "Category of Science" +msgid "Robotics" +msgstr "Robotika" -#: src/as-category.c:256 +#: src/as-category.c:257 msgctxt "Category of Communication" msgid "Featured" msgstr "Kiemelt" -#: src/as-category.c:83 -msgctxt "Category of Development" -msgid "Featured" -msgstr "Kiemelt" - -#: src/as-category.c:98 -msgctxt "Category of Education" -msgid "Featured" -msgstr "Kiemelt" - -#: src/as-category.c:120 -msgctxt "Category of Games" -msgid "Featured" -msgstr "Kiemelt" +#: src/as-category.c:260 +msgctxt "Category of Communication" +msgid "Chat" +msgstr "Csevegés" -#: src/as-category.c:165 -msgctxt "Category of Graphics" -msgid "Featured" -msgstr "Kiemelt" +#: src/as-category.c:267 +msgctxt "Category of Communication" +msgid "News" +msgstr "Hírek" -#: src/as-category.c:188 -msgctxt "Category of Office" -msgid "Featured" -msgstr "Kiemelt" +#: src/as-category.c:271 +msgctxt "Category of Communication" +msgid "Web Browsers" +msgstr "Webböngészők" -#: src/as-category.c:231 -msgctxt "Category of Science" +#: src/as-category.c:279 +msgctxt "Category of Utility" msgid "Featured" msgstr "Kiemelt" -#: src/as-category.c:278 +#: src/as-category.c:282 msgctxt "Category of Utility" -msgid "Featured" -msgstr "Kiemelt" +msgid "Text Editors" +msgstr "Szövegszerkesztők" -#: tools/ascli-actions-validate.c:171 tools/ascli-actions-validate.c:349 -#, c-format -msgid "File '%s' does not exist." -msgstr "A(z) „%s” fájl nem létezik." +#: src/as-category.c:285 +msgctxt "Category of Utility" +msgid "Terminal Emulators" +msgstr "Terminálemulátorok" -#: src/as-category.c:287 +#: src/as-category.c:288 msgctxt "Category of Utility" msgid "File System" msgstr "Fájlrendszer" -#: src/as-category.c:198 -msgctxt "Category of Office" -msgid "Finance" -msgstr "Pénzügy" +#: src/as-category.c:291 +msgctxt "Category of Utility" +msgid "System Monitoring" +msgstr "Rendszerfigyelés" -#: src/as-provided.c:164 -msgid "Flashed Firmware" -msgstr "Flashelt firmware" +#: src/as-category.c:294 +msgctxt "Category of Utility" +msgid "Security" +msgstr "Biztonság" -#: src/as-provided.c:150 -msgid "Fonts" -msgstr "Betűkészletek" +#. TRANSLATORS: this is the menu spec main category for Audio & Video +#: src/as-category.c:303 +msgid "Audio & Video" +msgstr "Hang és videó" -#: src/as-category.c:211 -msgctxt "Category of Addons" -msgid "Fonts" -msgstr "Betűkészletek" +#. TRANSLATORS: this is the menu spec main category for Development +#: src/as-category.c:306 +msgid "Developer Tools" +msgstr "Fejlesztői eszközök" -#: src/as-validator-issue-tag.h:237 -msgid "" -"For videos, only the WebM and Matroska (.mkv) container formats are " -"currently supported. The file extension of the referenced video does not " -"belong to either of these formats." -msgstr "" -"Videóknál jelenleg csak a WebM és Matroska (.mkv) konténerformátumok " -"támogatottak. A hivatkozott videó fájlkiterjesztése nem tartozik ezek közül " -"egyik formátumhoz sem." - -#. TRANSLATORS: ascli flag description for: --format when validating XML files -#: tools/appstream-cli.c:131 -msgid "Format of the generated report (valid values are 'text' and 'yaml')." -msgstr "" -"Az előállított jelentés formátuma (érvényes értékek: „text” és „yaml”)." - -#. TRANSLATORS: Found metainfo files in legacy directories -#: tools/ascli-actions-misc.c:138 -#, c-format -msgid "Found %i components in legacy paths." -msgstr "%i összetevő található örökölt útvonalakon." - -#: tools/ascli-actions-misc.c:123 -#, c-format -msgid "Found %i components." -msgstr "%i összetevő található." - -#. TRANSLATORS: 'version' is an AppStream XML property. Please do not translate it. -#: src/as-validator-issue-tag.h:260 -msgid "" -"Found 'version' property on required/recommended item of a type that should " -"not have or require a version." -msgstr "" -"Egy „version” tulajdonság található egy típus szükséges/javasolt elemén, " -"amelynek nem lehetne vagy nem igényelhet verziót." - -#. TRANSLATORS: 'version' and 'compare' are AppStream XML properties. Please do not translate them. -#: src/as-validator-issue-tag.h:266 -msgid "" -"Found 'version' property on this required/recommended item, but not " -"'compare' property. It is recommended to explicitly define a comparison " -"operation." -msgstr "" -"Egy „version” tulajdonság található ezen a szükséges/javasolt elemen, de " -"nincs „compare” tulajdonság. Javasolt kifejezetten meghatározni egy " -"összehasonlítási műveletet." - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:277 -msgid "" -"Found a memory size dependency in a 'requires' tag. This means users will " -"not be able to even install the component without having enough RAM. This is " -"usually not intended and you want to use 'memory' in the 'recommends' tag " -"instead." -msgstr "" -"Memóriaméret-függőség található egy „requires” címkén. Ez azt jelenti, hogy " -"a felhasználók nem lesznek képesek még csak telepíteni sem az összetevőt " -"elegendő RAM nélkül. Ez általában nem szándékos, és inkább a „memory” " -"tulajdonságot kellene használnia a „recommends” címkében." - -#: src/as-validator-issue-tag.h:248 -msgid "" -"Found an unknown tag in a requires/recommends group. This is likely an " -"error, because a component relation of this type is unknown." -msgstr "" -"Ismeretlen címke található egy szükséges/javasolt csoportban. Ez " -"valószínűleg hiba, mert ennek a típusnak az összetevő-kapcsolata ismeretlen." - -#: src/as-validator-issue-tag.h:427 -msgid "" -"Found invalid tag. Non-standard tags should be prefixed with 'x-'. AppStream " -"also provides the tag to add arbitrary custom data to metainfo " -"files. This tag is read by AppStream libraries and may be useful instead of " -"defining new custom toplevel or 'x-'-prefixed tags if you just want to add " -"custom data to a metainfo file." -msgstr "" -"Érvénytelen címke található. A nem szabványos címkéket „x-” előtaggal kell " -"ellátni. Az AppStream a címkét is biztosítja a metainformációs " -"fájlhoz történő tetszőleges egyéni adat hozzáadásához. Ezt a címkét az " -"AppStream programkönyvtárak olvassák, és hasznos lehet új, egyéni " -"felsőszintű vagy „x-” előtaggal ellátott címkék meghatározása helyett, ha " -"csak egyéni adatot szeretne egy metainformációs fájlhoz adni." - -#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. -#: src/as-validator.c:526 src/as-validator.c:939 src/as-validator.c:1024 -#: src/as-validator.c:1237 -#, c-format -msgid "Found: %s - Allowed: %s" -msgstr "Megtalálva: %s – Megengedett: %s" +#. TRANSLATORS: this is the menu spec main category for Education +#: src/as-category.c:309 +msgid "Education" +msgstr "Oktatás" #. TRANSLATORS: this is the menu spec main category for Game -#: src/as-category.c:311 +#: src/as-category.c:312 msgid "Games" msgstr "Játékok" -#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command -#: tools/appstream-cli.c:814 -msgid "Generate the output in the selected format ('yaml' or 'text')." -msgstr "" - -#: tools/appstream-cli.c:849 -msgid "Get components which provide the given item." -msgstr "Összetevők lekérése, amelyek a megadott elemet biztosítják." - -#: tools/appstream-cli.c:848 -msgid "Get information about a component by its ID." -msgstr "Információk kérése egy összetevőről az azonosítója szerint." - #. TRANSLATORS: this is the menu spec main category for Graphics -#: src/as-category.c:314 +#: src/as-category.c:315 msgid "Graphics & Photography" msgstr "Grafika és fényképészet" -#: tools/ascli-utils.c:300 -msgid "Homepage" -msgstr "Honlap" +#. TRANSLATORS: this is the menu spec main category for Office +#: src/as-category.c:318 +msgid "Office" +msgstr "Iroda" -#: src/as-category.c:89 -msgctxt "Category of Development" -msgid "IDEs" -msgstr "IDE-k" +#. TRANSLATORS: this is the main category for Add-ons +#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor +#: src/as-category.c:321 tools/ascli-utils.c:371 +msgid "Add-ons" +msgstr "Kiegészítők" -#: tools/ascli-utils.c:301 -msgid "Icon" -msgstr "Ikon" +#. TRANSLATORS: this is the menu spec main category for Science +#: src/as-category.c:324 +msgid "Science" +msgstr "Tudomány" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:351 -msgid "Icons of type 'remote' must contain an URL to the referenced icon." -msgstr "" -"A „remote” típusú ikonoknak tartalmazniuk kell egy URL-t a hivatkozott " -"ikonra." +#. TRANSLATORS: this is the menu spec main category for Communication +#: src/as-category.c:327 +msgid "Communication & News" +msgstr "Kommunikáció és hírek" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:344 -msgid "" -"Icons of type 'stock' or 'cached' must not contain an URL, a full or an " -"relative path to the icon. Only file basenames or stock names are allowed." +#. TRANSLATORS: this is the menu spec main category for Utilities +#: src/as-category.c:330 +msgid "Utilities" +msgstr "Segédprogramok" + +#. TRANSLATORS: This is the formatting of English and localized name +#. * of the rating e.g. "Adults Only (solo adultos)" +#: src/as-content-rating.c:298 +#, c-format +msgid "%s (%s)" +msgstr "%s (%s)" + +#: src/as-content-rating.c:444 +msgid "General" +msgstr "Általános" + +#: src/as-content-rating.c:453 +msgid "ALL" +msgstr "ÖSSZES" + +#: src/as-content-rating.c:457 src/as-content-rating.c:560 +msgid "Adults Only" +msgstr "Csak felnőtt" + +#: src/as-content-rating.c:459 src/as-content-rating.c:559 +msgid "Mature" +msgstr "Érett" + +#: src/as-content-rating.c:461 src/as-content-rating.c:558 +msgid "Teen" +msgstr "Tizenéves" + +#: src/as-content-rating.c:463 src/as-content-rating.c:557 +msgid "Everyone 10+" +msgstr "Mindenki 10+" + +#: src/as-content-rating.c:465 src/as-content-rating.c:556 +msgid "Everyone" +msgstr "Mindenki" + +#: src/as-content-rating.c:467 src/as-content-rating.c:555 +msgid "Early Childhood" +msgstr "Fiatal gyermekkor" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:839 +msgid "No cartoon violence" +msgstr "Nincs rajzfilmes erőszak" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:841 +msgid "Cartoon characters in unsafe situations" +msgstr "Rajzfilmfigurák veszélyes helyzetekben" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:843 +msgid "Cartoon characters in aggressive conflict" +msgstr "Rajzfilmfigurák agresszív konfliktusban" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:845 +msgid "Graphic violence involving cartoon characters" +msgstr "Rajzfilmfigurákat érintő grafikus erőszak" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:850 +msgid "No fantasy violence" +msgstr "Nincs kitalált erőszak" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:852 +msgid "Characters in unsafe situations easily distinguishable from reality" +msgstr "" +"Karakterek veszélyes helyzetekben, amely könnyen megkülönböztethető a " +"valóságtól" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:854 +msgid "Characters in aggressive conflict easily distinguishable from reality" +msgstr "" +"Karakterek agresszív konfliktusban, amely könnyen megkülönböztethető a " +"valóságtól" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:856 +msgid "Graphic violence easily distinguishable from reality" +msgstr "Grafikus erőszak, amely könnyen megkülönböztethető a valóságtól" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:861 +msgid "No realistic violence" +msgstr "Nincs valósághű erőszak" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:863 +msgid "Mildly realistic characters in unsafe situations" +msgstr "Enyhén valósághű karakterek veszélyes helyzetekben" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:865 +msgid "Depictions of realistic characters in aggressive conflict" +msgstr "Valósághű karakterek ábrázolása agresszív konfliktusban" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:867 +msgid "Graphic violence involving realistic characters" +msgstr "Valósághű karaktereket érintő grafikus erőszak" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:872 +msgid "No bloodshed" +msgstr "Nincs vérontás" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:874 +msgid "Unrealistic bloodshed" +msgstr "Nem valósághű vérontás" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:876 +msgid "Realistic bloodshed" +msgstr "Valósághű vérontás" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:878 +msgid "Depictions of bloodshed and the mutilation of body parts" +msgstr "Várontás és a testrészek megcsonkításának ábrázolása" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:883 +msgid "No sexual violence" +msgstr "Nincs szexuális erőszak" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:885 +msgid "Rape or other violent sexual behavior" +msgstr "Megerőszakolás vagy egyéb erőszakos szexuális viselkedés" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:892 +msgid "No references to alcohol" +msgstr "Nincs alkoholtartalmú italokra való hivatkozás" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:894 +msgid "References to alcoholic beverages" +msgstr "Alkoholtartalmú italokra való hivatkozások" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:896 +msgid "Use of alcoholic beverages" +msgstr "Alkoholtartalmú italok használata" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:902 +msgid "No references to illicit drugs" +msgstr "Nincs tiltott kábítószerekre való hivatkozás" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:904 +msgid "References to illicit drugs" +msgstr "Tiltott kábítószerekre való hivatkozások" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:906 +msgid "Use of illicit drugs" +msgstr "Tiltott kábítószerek használata" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:912 +msgid "No references to tobacco products" +msgstr "Nincs dohánytermékekre való hivatkozás" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:914 +msgid "References to tobacco products" +msgstr "Dohánytermékekre való hivatkozások" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:916 +msgid "Use of tobacco products" +msgstr "Dohánytermékek használata" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:922 +msgid "No nudity of any sort" +msgstr "Nincs semmiféle meztelenség" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:924 +msgid "Brief artistic nudity" +msgstr "Rövid művészi meztelenség" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:926 +msgid "Prolonged nudity" +msgstr "Hosszan tartó meztelenség" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:932 +msgid "No references to or depictions of sexual nature" +msgstr "Nincs szexuális természetű hivatkozás vagy annak ábrázolása" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:934 +msgid "Provocative references or depictions" +msgstr "Kihívó hivatkozások vagy ábrázolások" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:936 +msgid "Sexual references or depictions" +msgstr "Szexuális hivatkozások vagy ábrázolások" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:938 +msgid "Graphic sexual behavior" +msgstr "Grafikus szexuális viselkedés" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:943 +msgid "No profanity of any kind" +msgstr "Nincs káromkodás" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:945 +msgid "Mild or infrequent use of profanity" +msgstr "Enyhe vagy ritka káromkodáshasználat" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:947 +msgid "Moderate use of profanity" +msgstr "Mérsékelt káromkodáshasználat" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:949 +msgid "Strong or frequent use of profanity" +msgstr "Erős vagy gyakori káromkodáshasználat" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:954 +msgid "No inappropriate humor" +msgstr "Nincs helytelen humor" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:956 +msgid "Slapstick humor" +msgstr "Helyzethumor" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:958 +msgid "Vulgar or bathroom humor" +msgstr "Vulgáris vagy fürdőszoba humor" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:960 +msgid "Mature or sexual humor" +msgstr "Felnőtt vagy szexuális humor" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:965 +msgid "No discriminatory language of any kind" +msgstr "Nincs semmiféle diszkriminatív nyelvezet" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:967 +msgid "Negativity towards a specific group of people" +msgstr "Negatívság egy bizonyos embercsoport felé" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:969 +msgid "Discrimination designed to cause emotional harm" +msgstr "Érzelmi károsodást okozó tervezett diszkrimináció" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:971 +msgid "Explicit discrimination based on gender, sexuality, race or religion" +msgstr "Kifejezetten nemi, szexuális, faji vagy vallási alapú diszkrimináció" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:976 +msgid "No advertising of any kind" +msgstr "Nincs semmiféle hirdetés" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:978 +msgid "Product placement" +msgstr "Termékelhelyezés" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:980 +msgid "Explicit references to specific brands or trademarked products" +msgstr "" +"Közvetlen utalások egy bizonyos márkára vagy védjeggyel védett termékre" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:982 +msgid "Users are encouraged to purchase specific real-world items" +msgstr "" +"A felhasználókat arra ösztönzik, hogy a valódi világban bizonyos tárgyakat " +"vásároljanak" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:987 +msgid "No gambling of any kind" +msgstr "Nincs semmiféle szerencsejáték" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:989 +msgid "Gambling on random events using tokens or credits" +msgstr "" +"Szerencsejáték véletlenszerű eseményeken zsetonok vagy kreditek használatával" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:991 +msgid "Gambling using “play” money" +msgstr "Szerencsejáték „játékpénz” használatával" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:993 +msgid "Gambling using real money" +msgstr "Szerencsejáték valódi pénz használatával" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:998 +msgid "No ability to spend money" +msgstr "Nem lehet valódi pénzt elkölteni" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1000 +msgid "Users are encouraged to donate real money" +msgstr "A felhasználókat arra ösztönzik, hogy valós pénzt adományozzanak" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1003 +msgid "Ability to spend real money in-app" +msgstr "Lehetőség az alkalmazáson belül valódi pénzt elkölteni" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1008 +msgid "No way to chat with other users" +msgstr "Nincs mód a csevegésre más felhasználókkal" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1010 +msgid "User-to-user interactions without chat functionality" +msgstr "Felhasználók közötti interakciók, csevegés funkcionalitás nélkül" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1012 +msgid "Moderated chat functionality between users" +msgstr "Moderált csevegés funkcionalitás a felhasználók között" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1014 +msgid "Uncontrolled chat functionality between users" +msgstr "Ellenőrizetlen csevegés funkcionalitás a felhasználók között" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1019 +msgid "No way to talk with other users" +msgstr "Nincs mód a beszélgetésre más felhasználókkal" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1021 +msgid "Uncontrolled audio or video chat functionality between users" +msgstr "" +"Ellenőrizetlen hang- vagy videocsevegés funkcionalitás a felhasználók között" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1028 +msgid "No sharing of social network usernames or email addresses" +msgstr "" +"Nincs közösségi hálózatokon használt felhasználónevek vagy e-mail címek " +"megosztása" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1030 +msgid "Sharing social network usernames or email addresses" +msgstr "" +"Közösségi hálózatokon használt felhasználónevek vagy e-mail címek megosztása" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1037 +msgid "No sharing of user information with third parties" +msgstr "Nincs felhasználói információk megosztása harmadik féllel" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1039 +msgid "Checking for the latest application version" +msgstr "A legfrissebb alkalmazásverzió ellenőrzése" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1041 +msgid "Sharing diagnostic data that does not let others identify the user" +msgstr "" +"Diagnosztikai adatok megosztása, amelyek mások számára nem azonosítják a " +"felhasználót" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1043 +msgid "Sharing information that lets others identify the user" +msgstr "" +"Információk megosztása, amelyek mások számára azonosítják a felhasználót" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1048 +msgid "No sharing of physical location with other users" +msgstr "Nincs fizikai hely megosztása más felhasználók számára" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1050 +msgid "Sharing physical location with other users" +msgstr "Fizikai hely megosztása más felhasználók számára" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1073 +msgid "No references to homosexuality" +msgstr "Nincs homoszexualitásra való hivatkozás" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1075 +msgid "Indirect references to homosexuality" +msgstr "Közvetett homoszexualitásra való hivatkozás" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1077 +msgid "Kissing between people of the same gender" +msgstr "Csókolózás azonos nemű emberek között" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1079 +msgid "Graphic sexual behavior between people of the same gender" +msgstr "Grafikus szexuális viselkedés azonos nemű emberek között" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1084 +msgid "No references to prostitution" +msgstr "Nincs prostitúcióra való hivatkozás" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1086 +msgid "Indirect references to prostitution" +msgstr "Közvetett prostitúcióra való hivatkozás" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1088 +msgid "Direct references to prostitution" +msgstr "Közvetlen prostitúcióra való hivatkozás" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1090 +msgid "Graphic depictions of the act of prostitution" +msgstr "Prostitúció grafikus ábrázolása" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1095 +msgid "No references to adultery" +msgstr "Nincs házasságtörésre való hivatkozás" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1097 +msgid "Indirect references to adultery" +msgstr "Közvetett házasságtörésre való hivatkozás" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1099 +msgid "Direct references to adultery" +msgstr "Közvetlen házasságtörésre való hivatkozás" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1101 +msgid "Graphic depictions of the act of adultery" +msgstr "Házasságtörés grafikus ábrázolása" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1106 +msgid "No sexualized characters" +msgstr "Nincsenek szexualizált karakterek" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1109 +msgid "Scantily clad human characters" +msgstr "Hiányosan öltözött emberi karakterek" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1111 +msgid "Overtly sexualized human characters" +msgstr "Nyíltan szexualizált emberi karakterek" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1116 +msgid "No references to desecration" +msgstr "Nincs gyalázásra való hivatkozás" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1118 +msgid "Depictions of or references to historical desecration" +msgstr "Gyalázás történelmi ábrázolása vagy arra való hivatkozás" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1120 +msgid "Depictions of modern-day human desecration" +msgstr "Modern kori emberi gyalázás ábrázolása" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1122 +msgid "Graphic depictions of modern-day desecration" +msgstr "Modern kori emberi gyalázás grafikus ábrázolása" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1127 +msgid "No visible dead human remains" +msgstr "Nincsenek látható emberi maradványok" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1129 +msgid "Visible dead human remains" +msgstr "Látható emberi maradványok" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1131 +msgid "Dead human remains that are exposed to the elements" +msgstr "Emberi maradványok, kitéve az időjárási viszonyoknak" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1133 +msgid "Graphic depictions of desecration of human bodies" +msgstr "Emberi testek gyalázásának grafikus ábrázolása" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1138 +msgid "No references to slavery" +msgstr "Nincs rabszolgaságra való hivatkozás" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1140 +msgid "Depictions of or references to historical slavery" +msgstr "Rabszolgaság történelmi ábrázolása vagy arra való hivatkozás" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1142 +msgid "Depictions of modern-day slavery" +msgstr "Modern kori rabszolgaság ábrázolása" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1144 +msgid "Graphic depictions of modern-day slavery" +msgstr "Modern kori rabszolgaság grafikus ábrázolása" + +#. TRANSLATORS: We got a 429 error while trying to download data +#: src/as-curl.c:134 +#, c-format +msgid "Failed to download due to server limit" msgstr "" -"A „stock” vagy „cached” típusú ikonok nem tartalmazhatnak URL-t, teljes vagy " -"relatív útvonalat az ikonhoz. Csak a fájl alapnevei vagy törzsnevei " -"engedélyezettek." -#: tools/ascli-actions-misc.c:94 -msgid "Iconsets" -msgstr "Ikonkészletek" +#: src/as-curl.c:141 src/as-curl.c:148 +#, fuzzy, c-format +msgid "Failed to download file: %s" +msgstr "A .desktop fájl nem olvasható: %s" -#: tools/ascli-utils.c:295 -msgid "Identifier" -msgstr "Azonosító" +#. TRANSLATORS: We tried to download an URL, but received a 404 error code +#: src/as-curl.c:157 +#, c-format +msgid "URL was not found on the server." +msgstr "" -#: src/as-category.c:217 -msgctxt "Category of Addons" -msgid "Input Sources" -msgstr "Beviteli források" +#. TRANSLATORS: We received an uexpected HTTP status code while talking to a server, likely an error +#: src/as-curl.c:164 +#, c-format +msgid "Unexpected status code: %ld" +msgstr "" -#: tools/appstream-cli.c:863 -msgid "Install a metadata file into the right location." -msgstr "Metaadatfájl telepítése a megfelelő helyre." +#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty +#: src/as-curl.c:247 +#, c-format +msgid "Retrieved file size was zero." +msgstr "A visszakapott fájlméret nulla volt." -#: tools/appstream-cli.c:859 -msgid "Install software matching the component-ID." -msgstr "Az összetevő-azonosítónak megfelelő szoftver telepítése." +#. TRANSLATORS: List of "grey-listed" words sperated with ";" +#. * Do not translate this list directly. Instead, +#. * provide a list of words in your language that people are likely +#. * to include in a search but that should normally be ignored in +#. * the search. +#. +#: src/as-pool.c:111 +msgid "app;application;package;program;programme;suite;tool" +msgstr "app;alkalmazás;csomag;program;alkalmazáscsomag;eszköz" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:373 -msgid "" -"Invalid 'type' property for this 'url' tag. URLs of this type are not known " -"in the AppStream specification." -msgstr "" -"Érvénytelen „type” tulajdonság ennél az „url” címkénél. Az ilyen típusú URL-" -"ek nem ismertek az AppStream specifikációban." +#: src/as-pool.c:620 +msgid "Unable to remove old cache." +msgstr "Nem lehet eltávolítani a régi gyorsítótárat." + +#: src/as-pool.c:963 +msgid "Metadata files have errors:" +msgstr "A metaadat fájlok hibákat tartalmaznak:" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:553 +#: src/as-pool.c:1370 msgid "" -"Invalid tag found in collection metadata. Only 'component' tags are " -"permitted." +"Many components have been recognized as invalid. See debug output for " +"details." msgstr "" -"Érvénytelen címke található a gyűjtemény metaadataiban. Csak „component” " -"címkék engedélyezettek." +"Több összetevő is érvénytelenként lett felismerve. Nézze meg a hibakeresési " +"kimenetet a részletekért." -#: tools/ascli-actions-mdata.c:213 -msgid "Invalid type for provided item selected. Valid values are:" -msgstr "" -"Érvénytelen típus lett kiválasztva a biztosított elemhez. Az érvényes " -"értékek:" +#: src/as-pool.c:1996 +#, c-format +msgid "Cache location '%s' is not writable." +msgstr "A(z) „%s” gyorsítótárhely nem írható." -#: src/as-validator-issue-tag.h:271 +#: src/as-pool.c:2109 msgid "" -"Invalid version comparison operation on relation item. Only eq/ne/lt/gt/le/" -"ge are permitted." +"The AppStream system cache was updated, but some components were ignored. " +"Refer to the verbose log for more information." msgstr "" -"Érvénytelen verzió-összehasonlító művelet a kapcsolat elemen. Csak eq/ne/lt/" -"gt/le/ge engedélyezett." +"Az AppStream rendszergyorsítótár frissítve lett, de néhány összetevő " +"figyelmen kívül lett hagyva. További információkért nézze meg a részletes " +"naplót." -#: src/as-validator-issue-tag.h:450 +#: src/as-pool.c:2111 +#, c-format msgid "" -"It is recommended to add a long description to this component to present it " -"better to users." +"The AppStream system cache was updated, but problems were found which " +"resulted in metadata being ignored: %s" msgstr "" -"Javasolt egy hosszú leírást hozzáadni ehhez az összetevőhöz, hogy jobban " -"jelenjen meg a felhasználóknak." +"Az AppStream rendszergyorsítótár frissítve lett, de problémák találhatók, " +"amelyek azt eredményezik, hogy a metaadatok figyelmen kívül lesznek hagyva: " +"%s" -#: src/as-validator-issue-tag.h:445 +#: src/as-pool.c:2125 +#, c-format msgid "" -"It would be useful to add a long description to this font to present it " -"better to users." +"AppStream system cache refresh failed. Turn on verbose mode to get detailed " +"issue information." msgstr "" -"Hasznos lenne egy hosszú leírást hozzáadni ehhez a betűkészlethez, hogy " -"jobban jelenjen meg a felhasználóknak." - -#: src/as-category.c:144 -msgctxt "Category of Games" -msgid "Kids" -msgstr "Gyerekjátékok" - -#: src/as-category.c:220 -msgctxt "Category of Addons" -msgid "Language Packs" -msgstr "Nyelvi csomagok" - -#: src/as-category.c:107 -msgctxt "Category of Education" -msgid "Languages" -msgstr "Nyelvek" +"Az AppStream rendszergyorsítótár frissítése sikertelen. Kapcsolja be a " +"bőbeszédű módot a részletesebb problémainformációkért." #: src/as-provided.c:144 msgid "Libraries" msgstr "Programkönyvtárak" -#. license -#: tools/ascli-utils.c:363 -msgid "License" -msgstr "Licenc" +#: src/as-provided.c:146 +msgid "Binaries" +msgstr "Binárisok" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:629 -msgid "" -"Licenses for 'runtime' components are usually too complex to reflect them in " -"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " -"value for this component's 'project_license'. E.g. `LicenseRef-free=https://" -"example.com/licenses.html`" -msgstr "" +#: src/as-provided.c:148 +msgid "Media types" +msgstr "MIME-típusok" -#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command -#: tools/appstream-cli.c:771 -msgid "" -"Limit the number of release entries that end up in the metainfo file (0 for " -"unlimited)." -msgstr "" +#: src/as-provided.c:150 +msgid "Fonts" +msgstr "Betűkészletek" -#: src/as-category.c:223 -msgctxt "Category of Addons" -msgid "Localization" -msgstr "Honosítás" +#: src/as-provided.c:152 +msgid "Modaliases" +msgstr "Modaliasok" -#: src/as-category.c:147 -msgctxt "Category of Games" -msgid "Logic" -msgstr "Logikai" +#: src/as-provided.c:154 +msgid "Python (Version 2)" +msgstr "Python (2-es verzió)" -#. TRANSLATORS: ascli flag description for: --no-cache -#: tools/appstream-cli.c:67 -msgid "Make request without any caching." -msgstr "Kérés küldése gyorsítótárazás nélkül." +#: src/as-provided.c:156 +msgid "Python 3" +msgstr "Python 3" -#. TRANSLATORS: ascli flag description for: --cachepath -#: tools/appstream-cli.c:57 -msgid "Manually selected location of AppStream cache." -msgstr "Az AppStream gyorsítótár kézileg kiválasztott helye." +#: src/as-provided.c:158 +msgid "D-Bus System Services" +msgstr "D-Bus rendszerszolgáltatások" -#. TRANSLATORS: ascli flag description for: --datapath -#: tools/appstream-cli.c:62 -msgid "Manually selected location of AppStream metadata to scan." -msgstr "Az AppStream metaadatok kézileg kiválasztott helye a kereséshez." +#: src/as-provided.c:160 +msgid "D-Bus Session Services" +msgstr "D-Bus munkamenet-szolgáltatások" -#: src/as-pool.c:1280 -msgid "" -"Many components have been recognized as invalid. See debug output for " -"details." -msgstr "" -"Több összetevő is érvénytelenként lett felismerve. Nézze meg a hibakeresési " -"kimenetet a részletekért." +#: src/as-provided.c:162 +msgid "Runtime Firmware" +msgstr "Futásidejű firmware" -#: src/as-category.c:111 -msgctxt "Category of Education" -msgid "Math" -msgstr "Matematika" +#: src/as-provided.c:164 +msgid "Flashed Firmware" +msgstr "Flashelt firmware" + +#: src/as-provided.c:166 +msgid "Component" +msgstr "Összetevő" + +#: src/as-validator-issue-tag.h:41 +msgid "This tag requires a type property." +msgstr "Ez a címke egy típus tulajdonságot igényel." + +#: src/as-validator-issue-tag.h:46 +msgid "Tags of this name are not permitted in this section." +msgstr "A név címkéi nem engedélyezettek ebben a szakaszban." + +#: src/as-validator-issue-tag.h:51 +msgid "" +"A tag must not be localized in metainfo files (upstream " +"metadata). Localize the individual paragraphs instead." +msgstr "" +"Egy címkét tilos honosítani a metainformációs fájlokban " +"(távoli metaadatok). Honosítsa inkább az önálló bekezdéseket." + +#: src/as-validator-issue-tag.h:57 +msgid "" +"This element (paragraph, list, etc.) of a tag must not be " +"localized individually in collection metadata. Localize the whole " +" tag instead. The AppStream collection metadata generator (e." +"g. `appstream-generator`) will already do the right thing when compiling the " +"data." +msgstr "" +"Egy címke elemét (bekezdés, lista, stb.) egyénileg kell " +"honosítani a gyűjtemény metaadataiban. Honosítsa inkább a teljes " +" címkét. Az AppStream gyűjtemény metaadat-előállítója (vagyis " +"az „appstream-generator”) már el fogja végezni a megfelelő dolgot az adatok " +"fordításakor." + +#: src/as-validator-issue-tag.h:63 +msgid "" +"AppStream descriptions support only a limited set of tags to format text: " +"Paragraphs (

                                                                                                                                                                                            ) and lists (

                                                                                                                                                                                              ,
                                                                                                                                                                                                ). This description markup contains " +"an invalid XML tag that would not be rendered correctly in applications " +"supporting the metainfo specification." +msgstr "" +"Az AppStream leírások csak korlátozott címkehalmazt támogatnak a szöveg " +"formázásához: bekezdéseket (

                                                                                                                                                                                                ) és listákat (

                                                                                                                                                                                                  ,
                                                                                                                                                                                                    ). Ez a " +"leírásjelölő érvénytelen XML címkét tartalmaz, amelyet nem lehetne helyesen " +"megjeleníteni a metainformáció specifikációját támogató alkalmazásokban." + +#: src/as-validator-issue-tag.h:69 +msgid "" +"This description paragraph contains invalid markup. Currently, only " +"and are permitted." +msgstr "" +"Ez a leírásbekezdés érvénytelen jelölőt tartalmaz. Jelenleg csak az és " +"a engedélyezett." + +#: src/as-validator-issue-tag.h:74 +msgid "Enumerations must only have list items (
                                                                                                                                                                                                  1. ) as children." +msgstr "A felsorolásoknak csak listaelemei (
                                                                                                                                                                                                  2. ) lehetnek gyermekekként." + +#: src/as-validator-issue-tag.h:79 +msgid "" +"The first `description/p` paragraph of this component might be too short (< " +"80 characters). Please consider starting with a longer paragraph to improve " +"how the description looks like in software centers and to provide more " +"detailed information on this component immediately in the first paragraph." +msgstr "" +"Az összetevő első „description/p” bekezdése talán túl rövid (<80 karakter). " +"Fontolja meg, hogy egy hosszabb bekezdéssel kezdjen, hogy jobban nézzen ki a " +"szoftverközpontokban, valamint hogy részletesebb információt biztosítson " +"erről az összetevőről, már az első bekezdésben." + +#: src/as-validator-issue-tag.h:86 +msgid "" +"The description contains a web URL in plain text. This is not allowed, " +"please use the tag instead to share links." +msgstr "" +"A leírás egyszerű szöveges formátumú webes URL-t tartalmaz. Ez nem " +"engedélyezett, használja helyette az címkét a hivatkozások " +"megosztásához." + +#: src/as-validator-issue-tag.h:91 +msgid "" +"As per AppStream specification, the mentioned tag must only appear once in " +"this context. Having multiple tags of this kind is not valid." +msgstr "" +"Az AppStream specifikációja szerint az említett címkének csak egyszer szabad " +"megjelennie ebben a környezetben. Több ilyen fajta címke megléte nem " +"érvényes." + +#: src/as-validator-issue-tag.h:96 +msgid "" +"The mentioned tag is empty, which is highly likely not intended as it should " +"have content." +msgstr "" +"Az említett címke üres, amely erősen valószínűen nem szándékos, mivel lennie " +"kell tartalmának." + +#: src/as-validator-issue-tag.h:101 +msgid "" +"The component ID is required to follow a reverse domain-name scheme for its " +"name. See the AppStream specification for details." +msgstr "" +"AZ összetevő-azonosító nevének egy fordított tartománynév sémát kell " +"követnie. A részletekért nézze meg az AppStream specifikációt." + +#: src/as-validator-issue-tag.h:106 +msgid "" +"The component ID is not a reverse domain-name. Please update the ID to avoid " +"future issues and be compatible with all AppStream implementations.\n" +"You may also consider to update the name of the accompanying .desktop file " +"to follow the latest version of the Desktop-Entry specification and use a " +"rDNS name for it as well. In any case, do not forget to mention the new " +"desktop-entry in a tag for this component to keep the " +"application launchable from software centers and the .desktop file data " +"associated with the metainfo data." +msgstr "" +"Az összetevő-azonosító nem fordított tartománynév. Frissítse az azonosítót, " +"hogy elkerülje a későbbi problémákat, illetve kompatibilis legyen az összes " +"AppStream megvalósítással.\n" +"Fontolóra veheti a velejáró .desktop fájl nevének frissítését is az asztali " +"bejegyzés specifikáció legújabb verziójának követéséhez, valamint egy rDNS " +"név használatát is. Mindenesetre ne felejtse el megemlíteni az új asztali " +"bejegyzést egy címkében ennél az összetevőnél, hogy az " +"alkalmazás indítható maradjon a szoftverközpontokból és a metainformációs " +"adatokkal társított .desktop fájlokból." + +#: src/as-validator-issue-tag.h:114 +msgid "" +"The component ID might not follow the reverse domain-name schema (the TLD " +"used by it is not known to the validator)." +msgstr "" +"Az összetevő-azonosító lehet, hogy nem követi a fordított tartománynév sémát " +"(az általa használt TLD nem ismert az érvényesítő számára)." + +#: src/as-validator-issue-tag.h:119 +msgid "" +"The component ID contains an invalid character. Only ASCII characters, dots " +"and numbers are permitted." +msgstr "" +"Az összetevő-azonosító érvénytelen karaktert tartalmaz. Csak ASCII " +"karakterek, pontok és számok engedélyezettek." + +#: src/as-validator-issue-tag.h:124 +#, fuzzy +msgid "" +"The component ID contains a hyphen/minus. Using a hyphen is strongly " +"discouraged, to improve interoperability with other tools such as D-Bus. A " +"good option is to replace any hyphens with underscores (`_`)." +msgstr "" +"Az összetevő-azonosító elválasztást vagy mínuszt tartalmaz. Az elválasztás " +"használata erősen ellenjavasolt a más eszközökkel (mint például a D-Busszal) " +"történő interoperabilitás növelése érdekében. Jó választás lehet az összes " +"elválasztást aláhúzásra („_”) cserélni." + +#: src/as-validator-issue-tag.h:130 +msgid "" +"The component ID contains a segment starting with a number. Starting a " +"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " +"interoperability with other tools such as D-Bus. Ideally, prefix these " +"segments with an underscore." +msgstr "" +"Az összetevő-azonosító számmal kezdődő szakaszt tartalmaz. A fordított DNS " +"azonosító szakaszát számmal kezdeni erősen ellenjavasolt az egyéb " +"eszközökkel (mint például a D-Busszal) történő interoperabilitás " +"fenntartásához. Ideális esetben lássa el aláhúzás előtaggal ezeket a " +"szakaszokat." + +#: src/as-validator-issue-tag.h:136 +#, fuzzy +msgid "The component ID should only contain lowercase letters." +msgstr "" +"Az összetevő összegzése nem tartalmazhat tabulátorokat vagy sortöréseket." + +#: src/as-validator-issue-tag.h:141 +msgid "" +"The component is part of the Freedesktop project, but its ID does not start " +"with fd.o's reverse-DNS name (\"org.freedesktop\")." +msgstr "" +"Az összetevő a Freedesktop projekt része, de az azonosítója nem az fd.o " +"fordított DNS nevével („org.freedesktop”) kezdődik." + +#: src/as-validator-issue-tag.h:146 +msgid "" +"The component is part of the KDE project, but its ID does not start with " +"KDEs reverse-DNS name (\"org.kde\")." +msgstr "" +"Az összetevő a KDE projekt része, de az azonosítója nem a KDE fordított DNS " +"nevével („org.kde”) kezdődik." + +#: src/as-validator-issue-tag.h:151 +msgid "" +"The component is part of the GNOME project, but its ID does not start with " +"GNOMEs reverse-DNS name (\"org.gnome\")." +msgstr "" +"Az összetevő a GNOME projekt része, de az azonosítója nem a GNOME fordított " +"DNS nevével („org.gnome”) kezdődik." + +#: src/as-validator-issue-tag.h:156 +msgid "The SPDX license expression is invalid and could not be parsed." +msgstr "Az SPDX licenckifejezés érvénytelen, és nem sikerült feldolgozni." + +#: src/as-validator-issue-tag.h:161 +msgid "" +"The license ID was not found in the SPDX database. Please check that the " +"license ID is written in an SPDX-conformant way and is a valid free software " +"license." +msgstr "" +"A licencazonosító nem található az SPDX-adatbázisban. Ellenőrizze, hogy a " +"licencazonosító az SPDX-nek megfelelő módon van-e írva, illetve érvényes " +"szabad szoftver licenc-e." + +#: src/as-validator-issue-tag.h:167 +msgid "" +"The metadata itself seems to be licensed under a complex collection of " +"licenses. Please license the data under a simple permissive license, like " +"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " +"collections without the risk of license violations due to mutually " +"incompatible licenses." +msgstr "" +"Úgy tűnik, hogy maga a metaadat licencek összetett gyűjteménye alatt van " +"licencelve. Licencelje az adatot egyszerű megengedő licenc alatt, mint " +"például FSFAP, MIT vagy CC0-1.0, hogy lehetővé tegye a forgalmazóknak, hogy " +"felvegyék azt kevert adatú gyűjteményekbe, anélkül hogy a licenc " +"megsértésének kockázatát vállalnák a kölcsönösen inkompatibilis licencek " +"miatt." + +#: src/as-validator-issue-tag.h:173 +msgid "" +"The metadata itself does not seem to be licensed under a permissive license. " +"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " +"0BSD to allow distributors to include it in mixed data collections without " +"the risk of license violations due to mutually incompatible licenses." +msgstr "" +"Nem tűnik úgy, mintha maga a metaadat megengedő licenc alatt lenne " +"licencelve. Licencelje az adatot megengedő licenc alatt, mint például FSFAP, " +"CC0-1.0 vagy 0BSD, hogy lehetővé tegye a forgalmazóknak, hogy felvegyék azt " +"kevert adatú gyűjteményekbe, anélkül hogy a licenc megsértésének kockázatát " +"vállalnák a kölcsönösen inkompatibilis licencek miatt." + +#: src/as-validator-issue-tag.h:179 +#, fuzzy +msgid "" +"The update-contact does not appear to be a valid email address (escaping of " +"`@` is only allowed as `_at_` or `_AT_`)." +msgstr "" +"A frissítő személy nem tűnik érvényes e-mail címnek (a „@” elfedése csak " +"„_at_” vagy „_AT_” helyettesítőként engedélyezett)." + +#: src/as-validator-issue-tag.h:184 +msgid "" +"Unable to reach the screenshot image on its remote location - does the image " +"exist?" +msgstr "Nem lehet elérni a képernyőképet a távoli helyén – létezik a kép?" + +#: src/as-validator-issue-tag.h:189 +msgid "" +"Unable to reach the screenshot video on its remote location - does the video " +"file exist?" +msgstr "" +"Nem lehet elérni a képernyőkép-videót a távoli helyén – létezik a videofájl?" + +#: src/as-validator-issue-tag.h:194 +msgid "" +"Consider using a secure (HTTPS) URL to reference this screenshot image or " +"video." +msgstr "" +"Fontolja meg egy biztonságos (HTTPS) URL használatát a képernyőkép vagy " +"képernyőfelvétel hivatkozásához." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:200 +msgid "" +"A screenshot must contain at least one image or video in order to be useful. " +"Please add an to it." +msgstr "" +"Egy képernyőképnek tartalmaznia kell legalább egy képet vagy videót, hogy " +"használható legyen. Adjon hozzá egy címkét." + +#: src/as-validator-issue-tag.h:205 +msgid "" +"A screenshot must contain either images or videos, but not both at the same " +"time. Please use this screenshot exclusively for either static images or for " +"videos." +msgstr "" +"Egy képernyőképnek tartalmaznia kell képeket vagy videókat, de nem " +"mindkettőt egyszerre. Használja ezt a képernyőképet kizárólagosan vagy " +"statikus képekhez, vagy videókhoz." + +#: src/as-validator-issue-tag.h:211 +msgid "The screenshot does not have a caption text. Consider adding one." +msgstr "" +"A képernyőképnek nincs feliratszövege. Fontolja meg a feliratszöveg " +"hozzáadását." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:217 +msgid "" +"The screenshot video does not specify which video codec was used in a " +"`codec` property." +msgstr "" +"A képernyőkép-videó nem adja meg, hogy mely videókodeket használták egy " +"„codec” tulajdonságban." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:223 +#, fuzzy +msgid "" +"The screenshot video does not specify which container format was used in a " +"`container` property." +msgstr "" +"A képernyőkép-videó nem adja meg, hogy mely konténerformátumot használták " +"egy „container” tulajdonságban." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:229 +#, fuzzy +msgid "" +"The selected video codec is not supported by AppStream and software centers " +"may not be able to play the video. Only the AV1 and VP9 codecs are currently " +"supported, using `av1` and `vp9` as values for the `codec` property." +msgstr "" +"A kiválasztott videokodeket nem támogatja az AppStream, és a " +"szoftverközpontok esetleg nem lesznek képesek lejátszani a videót. Jelenleg " +"csak az AV1 és VP9 kodekek támogatottak, használja az „av1” és „vp9” " +"értékeket a „codec” tulajdonságnál." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:236 +#, fuzzy +msgid "" +"The selected video container format is not supported by AppStream and " +"software centers may not be able to play the video. Only the WebM and " +"Matroska video containers are currently supported, using `webm` and `mkv` as " +"values for the `container` property." +msgstr "" +"A kiválasztott videokonténer-formátumot nem támogatja az AppStream, és a " +"szoftverközpontok esetleg nem lesznek képesek lejátszani a videót. Jelenleg " +"csak a WebM és Matroska videokonténerek támogatottak, használja a „webm” és " +"„mkv” értékeket a „container” tulajdonságnál." + +#: src/as-validator-issue-tag.h:242 +msgid "" +"For videos, only the WebM and Matroska (.mkv) container formats are " +"currently supported. The file extension of the referenced video does not " +"belong to either of these formats." +msgstr "" +"Videóknál jelenleg csak a WebM és Matroska (.mkv) konténerformátumok " +"támogatottak. A hivatkozott videó fájlkiterjesztése nem tartozik ezek közül " +"egyik formátumhoz sem." + +#: src/as-validator-issue-tag.h:248 +msgid "" +"The default screenshot of a software component must not be a video. Use a " +"static image as default screenshot and set the video as a secondary " +"screenshot." +msgstr "" +"Egy szoftver-összetevő alapértelmezett képernyőképe nem lehet videó. " +"Használjon statikus képet alapértelmezett képernyőképként, és állítsa be a " +"videót másodlagos képernyőképként." + +#: src/as-validator-issue-tag.h:253 +msgid "" +"Found an unknown tag in a requires/recommends group. This is likely an " +"error, because a component relation of this type is unknown." +msgstr "" +"Ismeretlen címke található egy szükséges/javasolt csoportban. Ez " +"valószínűleg hiba, mert ennek a típusnak az összetevő-kapcsolata ismeretlen." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:259 +msgid "" +"A `requires` or `recommends` item requires a value to denote a valid " +"relation." +msgstr "" +"Egy „requires” vagy „recommends” elem értéket igényel egy érvényes kapcsolat " +"jelöléséhez." + +#. TRANSLATORS: `version` is an AppStream XML property. Please do not translate it. +#: src/as-validator-issue-tag.h:265 +msgid "" +"Found `version` property on required/recommended item of a type that should " +"not have or require a version." +msgstr "" +"Egy „version” tulajdonság található egy típus szükséges/javasolt elemén, " +"amelynek nem lehetne vagy nem igényelhet verziót." + +#. TRANSLATORS: `version` and `compare` are AppStream XML properties. Please do not translate them. +#: src/as-validator-issue-tag.h:271 +msgid "" +"Found `version` property on this required/recommended item, but not " +"`compare` property. It is recommended to explicitly define a comparison " +"operation." +msgstr "" +"Egy „version” tulajdonság található ezen a szükséges/javasolt elemen, de " +"nincs „compare” tulajdonság. Javasolt kifejezetten meghatározni egy " +"összehasonlítási műveletet." + +#: src/as-validator-issue-tag.h:276 +#, fuzzy +msgid "" +"Invalid comparison operation on relation item. Only eq/ne/lt/gt/le/ge are " +"permitted." +msgstr "" +"Érvénytelen verzió-összehasonlító művelet a kapcsolat elemen. Csak eq/ne/lt/" +"gt/le/ge engedélyezett." + +#: src/as-validator-issue-tag.h:281 +msgid "" +"The relation item has a comparison operation set, but does not support any " +"comparisons." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:287 +msgid "" +"Found a memory size relation in a `requires` tag. This means users will not " +"be able to even install the component without having enough RAM. This is " +"usually not intended and you want to use `memory` in the `recommends` tag " +"instead." +msgstr "" +"Memóriaméret-függőség található egy „requires” címkén. Ez azt jelenti, hogy " +"a felhasználók nem lesznek képesek még csak telepíteni sem az összetevőt " +"elegendő RAM nélkül. Ez általában nem szándékos, és inkább a „memory” " +"tulajdonságot kellene használnia a „recommends” címkében." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:294 +msgid "" +"Found a user input control relation in a `requires` tag. This means users " +"will not be able to even install the component without having the defined " +"input control available on the system. This is usually not intended and you " +"want to use `control` in the `recommends` tag instead." +msgstr "" +"Memóriaméret-függőség található egy „requires” címkén. Ez azt jelenti, hogy " +"a felhasználók nem lesznek képesek még csak telepíteni sem az összetevőt " +"elegendő RAM nélkül. Ez általában nem szándékos, és inkább a „memory” " +"tulajdonságot kellene használnia a „recommends” címkében." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:301 +#, fuzzy +msgid "" +"This `control` item defines an unknown input method and is invalid. Check " +"the specification for a list of permitted values." +msgstr "" +"A .desktop fájlban meghatározott kategória nem érvényes. Nézze meg az XDG " +"menüspecifikációt az érvényes kategóriák listájához." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:307 +msgid "" +"This `display_length` item contains an invalid display length. Its value " +"must either be a shorthand string, or positive integer value denoting " +"logical pixels. Please refer to the AppStream specification for more " +"information on this tag." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:314 +msgid "" +"This `side` property of this `display_length` item contains an invalid " +"value. It must either be `shortest` or `longest`, or unset to imply " +"`shortest` to make the item value refer to either the shortest or longest " +"side of the display." +msgstr "" + +#: src/as-validator-issue-tag.h:320 +msgid "" +"The set component type is not a recognized, valid AppStream component type." +msgstr "" +"A beállított összetevőtípus nem felismert, nem érvényes AppStream " +"összetevőtípus." -#: src/as-category.c:243 -msgctxt "Category of Science" -msgid "Math" -msgstr "Matematika" +#: src/as-validator-issue-tag.h:325 +msgid "" +"The component has a priority value set. This is not allowed in metainfo " +"files." +msgstr "" +"Az összetevő egy beállított prioritásértékkel rendelkezik. Ez nem " +"engedélyezett a metainformációs fájlokban." -#: src/as-provided.c:148 -msgid "Media types" -msgstr "MIME-típusok" +#: src/as-validator-issue-tag.h:330 +msgid "" +"The component has a `merge` method defined. This is not allowed in metainfo " +"files." +msgstr "" +"Az összetevő egy meghatározott „merge” módszerrel rendelkezik. Ez nem " +"engedélyezett a metainformációs fájlokban." -#: tools/ascli-actions-mdata.c:364 -#, c-format -msgid "Metadata file '%s' does not exist." -msgstr "A(z) „%s” metaadatfájl nem létezik." +#: src/as-validator-issue-tag.h:335 +msgid "The component is missing an ID ( tag)." +msgstr "Az összetevőből hiányzik egy azonosító (az címke)." -#: src/as-pool.c:881 -msgid "Metadata files have errors:" -msgstr "A metaadat fájlok hibákat tartalmaznak:" +#: src/as-validator-issue-tag.h:340 +msgid "The component is missing a name ( tag)." +msgstr "Az összetevőből hiányzik egy név (a címke)." -#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 -#: tools/ascli-actions-misc.c:515 -#, fuzzy, c-format -msgid "Metainfo file '%s' does not exist." -msgstr "A(z) „%s” metaadatfájl nem létezik." +#: src/as-validator-issue-tag.h:345 +msgid "The component is missing a summary ( tag)." +msgstr "Az összetevőből hiányzik egy összegzés (a címke)." + +#: src/as-validator-issue-tag.h:350 +msgid "" +"The tag still contains a `type` property, probably from an old " +"conversion to the recent metainfo format." +msgstr "" +"Az címke még mindig tartalmaz „type” tulajdonságot, valószínűleg egy, " +"a legújabb metainformációs formátumra történő régi átalakításból." + +#: src/as-validator-issue-tag.h:355 +msgid "" +"The `pkgname` tag appears multiple times. You should evaluate creating a " +"metapackage containing the metainfo and .desktop files in order to avoid " +"defining multiple package names per component." +msgstr "" +"A „pkgname” címke többször jelenik meg. Meg kellene fontolnia egy a " +"metainformációs fájlokat és a .desktop fájlokat tartalmazó metacsomag " +"létrehozását, annak érdekében hogy elkerülje az összetevőnkénti több " +"csomagnév meghatározását." + +#: src/as-validator-issue-tag.h:360 +#, fuzzy +msgid "The component name should (likely) not end with a dot (`.`)." +msgstr "Az összetevő neve (valószínűleg) nem végződhet ponttal („.”)." + +#: src/as-validator-issue-tag.h:365 +#, fuzzy +msgid "The component summary should not end with a dot (`.`)." +msgstr "Az összetevő összegzése nem végződhet ponttal („.”)." + +#: src/as-validator-issue-tag.h:370 +msgid "The component summary must not contain tabs or linebreaks." +msgstr "" +"Az összetevő összegzése nem tartalmazhat tabulátorokat vagy sortöréseket." + +#: src/as-validator-issue-tag.h:375 +msgid "The summary must not contain any URL. Use the tags for links." +msgstr "" +"Az összegzés nem tartalmazhat semmilyen URL-t. Használja az címkéket " +"a hivatkozásokhoz." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:367 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:381 msgid "" -"Metainfo files may only contain icons of type 'stock' or 'remote', the set " +"Icons of type `stock` or `cached` must not contain an URL, a full or an " +"relative path to the icon. Only file basenames or stock names are allowed." +msgstr "" +"A „stock” vagy „cached” típusú ikonok nem tartalmazhatnak URL-t, teljes vagy " +"relatív útvonalat az ikonhoz. Csak a fájl alapnevei vagy törzsnevei " +"engedélyezettek." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:388 +msgid "Icons of type `remote` must contain an URL to the referenced icon." +msgstr "" +"A „remote” típusú ikonoknak tartalmazniuk kell egy URL-t a hivatkozott " +"ikonra." + +#: src/as-validator-issue-tag.h:393 +msgid "Unable to reach remote icon at the given web location - does it exist?" +msgstr "Nem lehet elérni a távoli ikont a megadott webhelyen – létezik?" + +#: src/as-validator-issue-tag.h:398 +msgid "Consider using a secure (HTTPS) URL for the remote icon link." +msgstr "" +"Fontolja meg egy biztonságos (HTTPS) URL használatát a távoli ikon " +"hivatkozásánál." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:404 +msgid "" +"Metainfo files may only contain icons of type `stock` or `remote`, the set " "type is not allowed." msgstr "" "A metainformációs fájlok csak „stock” vagy „remote” típusú ikonokat " "tartalmazhatnak, a beállított típus nem engedélyezett." -#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report -#: tools/ascli-actions-misc.c:116 -msgid "Metainfo files:" -msgstr "Metainformációs fájlok:" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:410 +msgid "" +"Invalid `type` property for this `url` tag. URLs of this type are not known " +"in the AppStream specification." +msgstr "" +"Érvénytelen „type” tulajdonság ennél az „url” címkénél. Az ilyen típusú URL-" +"ek nem ismertek az AppStream specifikációban." -#: src/as-provided.c:152 -msgid "Modaliases" -msgstr "Modaliasok" +#: src/as-validator-issue-tag.h:415 +msgid "" +"Unable to reach remote location that this URL references - does it exist?" +msgstr "" +"Nem lehet elérni a távoli helyet, amelyre ez az URL hivatkozik – létezik?" -#: src/as-category.c:74 -msgctxt "Category of AudioVideo" -msgid "Music Players" -msgstr "Zenelejátszók" +#: src/as-validator-issue-tag.h:420 +msgid "Consider using a secure (HTTPS) URL for this web link." +msgstr "" +"Fontolja meg egy biztonságos (HTTPS) URL használatát a webes hivatkozásánál." -#: tools/ascli-utils.c:296 -msgid "Name" -msgstr "Név" +#: src/as-validator-issue-tag.h:425 +msgid "A web URL was expected for this value." +msgstr "" -#: src/as-category.c:266 -msgctxt "Category of Communication" -msgid "News" -msgstr "Hírek" +#: src/as-validator-issue-tag.h:430 +msgid "" +"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." +msgstr "" -#: src/as-validator-issue-tag.h:589 -msgid "No AppStream metadata was found in this directory or directory tree." +#: src/as-validator-issue-tag.h:435 +msgid "The can not contain a hyperlink." +msgstr "A nem tartalmazhat hiperhivatkozást." + +#: src/as-validator-issue-tag.h:440 +#, fuzzy +msgid "" +"The set value is not an identifier for a desktop environment as registered " +"with Freedesktop.org." msgstr "" -"Nem található AppStream metaadat ebben a könyvtárban vagy könyvtárfában." +"A megadott értékek nem egy olyan asztali környezet azonosítói, ahogy a " +"Freedesktop.org-nál regisztrálva vannak." -#. pedantic because not everything which has metadata is an application -#: src/as-validator-issue-tag.h:594 -msgid "No XDG applications directory found." -msgstr "Nem található XDG alkalmazások könyvtár." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:446 +#, fuzzy +msgid "This `launchable` tag has an unknown type and can not be used." +msgstr "" +"Ez a „launchable” címke ismeretlen típussal rendelkezik, és nem használható." -#: tools/ascli-actions-mdata.c:182 -#, c-format -msgid "No component matching '%s' found." -msgstr "Nem található erre illeszkedő összetevő: „%s”." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:452 +#, fuzzy +msgid "This `bundle` tag has an unknown type and can not be used." +msgstr "" +"Ez a „bundle” címke ismeretlen típussal rendelkezik, és nem használható." -#: tools/ascli-actions-misc.c:105 -msgid "No icons." -msgstr "Nincsenek ikonok." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:458 +msgid "" +"The `update_contact` tag should not be included in collection AppStream XML." +msgstr "" +"Az „update_contact” címkét nem szabad felvenni az AppStream XML gyűjteménybe." -#: tools/ascli-actions-misc.c:402 -msgid "No output filename specified, modifying metainfo file directly." +#: src/as-validator-issue-tag.h:463 +msgid "" +"This tag is a GNOME-specific extension to AppStream and not part of the " +"official specification. Do not expect it to work in all implementations and " +"in all software centers." msgstr "" +"Ez a címke egy GNOME-ra jellemző kiterjesztés az AppStreamhez, és nem része " +"a hivatalos specifikációnak. Ne számítson arra, hogy működni fog minden " +"megvalósításban és minden szoftverközpontban." -#: tools/ascli-actions-misc.c:306 +#: src/as-validator-issue-tag.h:469 msgid "" -"No provided binary specified in metainfo file, and no exec command specified " -"via '--exec'. Can not create 'Exec=' key." +"Found invalid tag. Non-standard tags should be prefixed with `x-`. AppStream " +"also provides the tag to add arbitrary custom data to metainfo " +"files. This tag is read by AppStream libraries and may be useful instead of " +"defining new custom toplevel or `x-`-prefixed tags if you just want to add " +"custom data to a metainfo file." msgstr "" +"Érvénytelen címke található. A nem szabványos címkéket „x-” előtaggal kell " +"ellátni. Az AppStream a címkét is biztosítja a metainformációs " +"fájlhoz történő tetszőleges egyéni adat hozzáadásához. Ezt a címkét az " +"AppStream programkönyvtárak olvassák, és hasznos lehet új, egyéni " +"felsőszintű vagy „x-” előtaggal ellátott címkék meghatározása helyett, ha " +"csak egyéni adatot szeretne egy metainformációs fájlhoz adni." -#: tools/ascli-actions-misc.c:284 -msgid "No stock icon name was provided in the metainfo file. Can not continue." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:477 +#, fuzzy +msgid "" +"The essential tag `metadata_license` is missing. A license for the metadata " +"itself always has to be defined." msgstr "" +"Az alapvető „metadata_license” címke hiányzik. Magának a metaadatnak a " +"licencét mindig meg kell határozni." -#: tools/ascli-actions-pkgmgr.c:53 +#: src/as-validator-issue-tag.h:482 msgid "" -"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" -"\" (part of PackageKit) is available." +"The component is missing a long description. Components of this type must " +"have a long description." msgstr "" -"Nem található megfelelő csomagkezelő CLI. Győződjön meg arról, hogy például " -"a „pkcon” (a PackageKit része) elérhető-e." +"Az összetevőből hiányzik egy hosszú leírás. Az ilyen típusú összetevőknek " +"rendelkezniük kell hosszú leírással." -#: tools/ascli-actions-mdata.c:206 -msgid "No value for the item to search for was defined." -msgstr "Nem lett érték meghatározva a keresendő elemhez." +#: src/as-validator-issue-tag.h:487 +msgid "" +"It would be useful to add a long description to this font to present it " +"better to users." +msgstr "" +"Hasznos lenne egy hosszú leírást hozzáadni ehhez a betűkészlethez, hogy " +"jobban jelenjen meg a felhasználóknak." -#. TRANSLATORS: this is the menu spec main category for Office -#: src/as-category.c:317 -msgid "Office" -msgstr "Iroda" +#: src/as-validator-issue-tag.h:492 +msgid "" +"It is recommended to add a long description to this component to present it " +"better to users." +msgstr "" +"Javasolt egy hosszú leírást hozzáadni ehhez az összetevőhöz, hogy jobban " +"jelenjen meg a felhasználóknak." -#. TRANSLATORS: An unknown option was passed to appstreamcli. -#: tools/appstream-cli.c:192 -#, c-format -msgid "Option '%s' is unknown." -msgstr "A(z) „%s” kapcsoló ismeretlen." +#: src/as-validator-issue-tag.h:497 +msgid "" +"This generic component is missing a long description. It may be useful to " +"add one." +msgstr "" +"Ebből az általános összetevőből hiányzik egy hosszú leírás. Hasznos lenne " +"hozzáadni egyet." -#: tools/ascli-utils.c:298 -msgid "Package" -msgstr "Csomag" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:503 +#, fuzzy +msgid "" +"Type `console-application` component, but no information about binaries in " +"$PATH was provided via a `provides/binary` tag." +msgstr "" +"Gépelje be a „console-application” összetevőt, de nem lett információ " +"megadva a $PATH környezeti változóban lévő binárissal kapcsolatban egy " +"„provides/binary” címkén keresztül." -#: src/as-category.c:171 -msgctxt "Category of Graphics" -msgid "Photography" -msgstr "Fényképészet" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:509 +#, fuzzy +msgid "" +"This `web-application` component is missing a `launchable` tag of type `url`." +msgstr "" +"Ebből a „web-application” összetevőből hiányzik egy „url” típusú " +"„launchable” címke." -#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) -#: tools/appstream-cli.c:121 -msgid "Print detailed explanation for found issues." -msgstr "Részletes magyarázat kiírása a megtalált hibákhoz." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:515 +#, fuzzy +msgid "" +"This `web-application` component is missing a `icon` tag to specify a valid " +"icon." +msgstr "" +"Ebből a „web-application” összetevőből hiányzik egy „icon” címke egy " +"érvényes ikon megadásához." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:521 +msgid "" +"This `web-application` component is missing categorizations. A `categories` " +"block is likely missing." +msgstr "" +"Ebből a „web-application” összetevőből hiányzik a kategorizálás. " +"Valószínűleg hiányzik egy „categories” blokk." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:527 +#, fuzzy +msgid "" +"Type `font` component, but no font information was provided via a `provides/" +"font` tag." +msgstr "" +"Gépelje be a „font” összetevőt, de nem lett betűkészlet-információ megadva " +"egy „provides/font címkén keresztül." -#. TRANSLATORS: ascli flag description for: --details -#: tools/appstream-cli.c:98 -msgid "Print detailed output about found components." -msgstr "Részletes kimenet kiírása a megtalált összetevőkről." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:533 +msgid "" +"Type `driver` component, but no modalias information was provided via a " +"`provides/modalias` tag." +msgstr "" +"„driver” típusú összetevő, de nem lett modalias-információ megadva egy " +"„provides/modalias” címkén keresztül." -#. project group -#: tools/ascli-utils.c:360 -msgid "Project Group" -msgstr "Projektcsoport" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:539 +msgid "" +"An `extends` tag is specified, but the component is not of type `addon`, " +"`localization` or `repository`." +msgstr "" +"Egy „extends” címke meg van adva, de az összetevő nem „addon”, " +"„localization” vagy „repository” típusú." -#: tools/ascli-utils.c:405 -msgid "Provided Items" -msgstr "Szolgáltatott elemek" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:545 +msgid "The component is an addon, but no `extends` tag was specified." +msgstr "Az összetevő egy kiegészítő, de nem lett „extends” címke megadva." -#: src/as-provided.c:154 -msgid "Python (Version 2)" -msgstr "Python (2-es verzió)" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:551 +#, fuzzy +msgid "" +"This `localization` component is missing an `extends` tag, to specify the " +"components it adds localization to." +msgstr "" +"Ebből a „localization” összetevőből hiányzik egy „extends” címke, hogy " +"megadja azokat az összetevőket, amelyekhez honosítást ad hozzá." -#: src/as-provided.c:156 -msgid "Python 3" -msgstr "Python 3" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:557 +#, fuzzy +msgid "" +"This `localization` component does not define any languages this " +"localization is for." +msgstr "" +"Ez a „localization” összetevő nem határoz meg semmilyen nyelvet ehhez a " +"honosításhoz." -#: tools/appstream-cli.c:854 -msgid "Rebuild the component metadata cache." -msgstr "Az összetevő-metaadat gyorsítótár újraépítése." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:563 +#, fuzzy +msgid "" +"This `service` component is missing a `launchable` tag of type `service`." +msgstr "" +"Ebből a „service” összetevőből hiányzik egy „service” típusú „launchable” " +"címke." -#: tools/appstream-cli.c:860 -msgid "Remove software matching the component-ID." -msgstr "Az összetevő-azonosítónak megfelelő szoftver eltávolítása." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:569 +msgid "" +"Suggestions of any type other than `upstream` are not allowed in metainfo " +"files." +msgstr "" +"Az „upstream” típuson kívül bármely más típus javaslatai nem engedélyezettek " +"a metainformációs fájlokban." -#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty -#: src/as-validator.c:364 -msgid "Retrieved file size was zero." +#: src/as-validator-issue-tag.h:574 +msgid "" +"The category name is not valid. Refer to the XDG Menu Specification for a " +"list of valid category names." msgstr "" +"A kategórianév nem érvényes. Nézze meg az XDG menüspecifikációt az érvényes " +"kategórianevek listájához." -#: src/as-category.c:248 -msgctxt "Category of Science" -msgid "Robotics" -msgstr "Robotika" +#: src/as-validator-issue-tag.h:579 +msgid "The screenshot caption is too long (should be <= 80 characters)" +msgstr "A képernyőkép felirata túl hosszú (legfeljebb 80 karakter lehet)" -#: src/as-category.c:150 -msgctxt "Category of Games" -msgid "Role Playing" -msgstr "Szerepjátékok" +#: src/as-validator-issue-tag.h:584 +msgid "Unable to read file." +msgstr "Nem lehet olvasni a fájlt." -#: tools/appstream-cli.c:196 tools/appstream-cli.c:926 -#, c-format -msgid "Run '%s --help' to see a full list of available command line options." +#: src/as-validator-issue-tag.h:589 +msgid "The XML of this file is malformed." +msgstr "A fájl XML-je helytelenül formázott." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:595 +msgid "" +"Invalid tag found in collection metadata. Only `component` tags are " +"permitted." msgstr "" -"Futtassa a(z) „%s --help” parancsot az elérhető parancssori kapcsolók teljes " -"listájáért." +"Érvénytelen címke található a gyűjtemény metaadataiban. Csak „component” " +"címkék engedélyezettek." -#: tools/appstream-cli.c:198 -#, c-format +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:601 msgid "" -"Run '%s --help' to see a list of available commands and options, and '%s %s " -"--help' to see a list of options specific for this subcommand." +"The metainfo file uses an ancient version of the AppStream specification, " +"which can not be validated. Please migrate it to version 0.6 (or higher)." msgstr "" -"Futtassa a(z) „%s --help” parancsot az elérhető parancsok és kapcsolók " -"listájáért, illetve a(z) „%s %s --help” parancsot az erre az alparancsra " -"jellemző kapcsolók listájának megtekintéséhez." +"A metainformációs fájl az AppStream specifikáció ősi verzióját használja, " +"amelyet nem lehet érvényesíteni. Alakítsa át a 0.6-os (vagy újabb) verzióra." -#: src/as-provided.c:162 -msgid "Runtime Firmware" -msgstr "Futásidejű firmware" +#: src/as-validator-issue-tag.h:606 +msgid "" +"This XML document has an unknown root tag. Maybe this file is not a metainfo " +"document?" +msgstr "" +"Ennek az XML dokumentumnak ismeretlen gyökércímkéje van. Talán ez a fájl nem " +"metainformációs dokumentum?" -#: src/as-category.c:174 -msgctxt "Category of Graphics" -msgid "Scanning" -msgstr "Képolvasás" +#: src/as-validator-issue-tag.h:611 +msgid "The metainfo filename does not match the component ID." +msgstr "A metainformációs fájl neve nem egyezik az összetevő-azonosítóval." -#. TRANSLATORS: this is the menu spec main category for Science -#: src/as-category.c:323 -msgid "Science" -msgstr "Tudomány" +#: src/as-validator-issue-tag.h:616 +msgid "Unable to read the .desktop file associated with this component." +msgstr "Nem lehet olvasni az összetevőhöz hozzárendelt .desktop fájlt." -#: tools/appstream-cli.c:847 -msgid "Search the component database." -msgstr "Keresés az összetevő-adatbázisban." +#: src/as-validator-issue-tag.h:621 +msgid "This component metadata refers to a non-existing .desktop file." +msgstr "Ez az összetevő-metaadat egy nem létező .desktop fájlra hivatkozik." -#: src/as-category.c:293 -msgctxt "Category of Utility" -msgid "Security" -msgstr "Biztonság" +#: src/as-validator-issue-tag.h:626 +msgid "" +"The category defined in the .desktop file is not valid. Refer to the XDG " +"Menu Specification for a list of valid categories." +msgstr "" +"A .desktop fájlban meghatározott kategória nem érvényes. Nézze meg az XDG " +"menüspecifikációt az érvényes kategóriák listájához." -#. TRANSLATORS: ascli flag description for: --verbose -#: tools/appstream-cli.c:903 -msgid "Show extra debugging information." -msgstr "További hibakeresési információk megjelenítése." +#: src/as-validator-issue-tag.h:631 +msgid "No AppStream metadata was found in this directory or directory tree." +msgstr "" +"Nem található AppStream metaadat ebben a könyvtárban vagy könyvtárfában." -#. TRANSLATORS: ascli flag description for: --version -#: tools/appstream-cli.c:897 -msgid "Show the program version." -msgstr "A programverzió megjelenítése." +#. pedantic because not everything which has metadata is an application +#: src/as-validator-issue-tag.h:636 +msgid "No XDG applications directory found." +msgstr "Nem található XDG alkalmazások könyvtár." -#: src/as-validator-issue-tag.h:635 +#: src/as-validator-issue-tag.h:641 +#, fuzzy msgid "" -"Since a 'runtime' component is comprised of multiple other software " -"components, their component-IDs may be listed in a `` section for " -"this runtime." +"The metainfo file is stored in a legacy path. Please place it in `/usr/share/" +"metainfo/`." msgstr "" +"A metainformációs fájl örökölt útvonalon van tárolva. Tegye azt az „/usr/" +"share/metainfo” könyvtárba." -#: src/as-category.c:153 -msgctxt "Category of Games" -msgid "Sports" -msgstr "Sport" - -#: src/as-category.c:157 -msgctxt "Category of Games" -msgid "Strategy" -msgstr "Stratégia" - -#. these are commands we can use with appstreamcli -#: tools/appstream-cli.c:845 -msgid "Subcommands:" -msgstr "Alparancsok:" +#: src/as-validator-issue-tag.h:646 +msgid "The metainfo file specifies multiple components. This is not allowed." +msgstr "" +"A metainformációs fájl több összetevőt határoz meg. Ez nem engedélyezett." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:527 +#: src/as-validator-issue-tag.h:651 msgid "" -"Suggestions of any type other than 'upstream' are not allowed in metainfo " -"files." +"The releases are not sorted in a latest to oldest version order. This is " +"required as some tools will assume that the latest version is always at the " +"top. Sorting releases also increases overall readability of the metainfo " +"file." msgstr "" -"Az „upstream” típuson kívül bármely más típus javaslatai nem engedélyezettek " -"a metainformációs fájlokban." +"A kiadások nem a legfrissebb verziótól a legrégebbi verzióig vannak " +"rendezve. Ez követelmény, mivel néhány eszköz azt fogja feltételezni, hogy a " +"legfrissebb verzió mindig felül van. A kiadások rendezése növeli a " +"metainformációs fájl általános olvashatóságát is." -#: tools/ascli-utils.c:297 -msgid "Summary" -msgstr "Összegzés" +#: src/as-validator-issue-tag.h:658 +msgid "The value set as release urgency is not a known urgency value." +msgstr "" -#. TRANSLATORS: Status summary in ascli -#: tools/ascli-actions-misc.c:145 -msgid "Summary:" -msgstr "Összegzés:" +#: src/as-validator-issue-tag.h:663 +msgid "The value set as release type is invalid." +msgstr "" -#: src/as-category.c:290 -msgctxt "Category of Utility" -msgid "System Monitoring" -msgstr "Rendszerfigyelés" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:669 +msgid "" +"The value set as artifact type is invalid. Must be either `source` or " +"`binary`." +msgstr "" -#: src/as-validator-issue-tag.h:46 -msgid "Tags of this name are not permitted in this section." -msgstr "A név címkéi nem engedélyezettek ebben a szakaszban." +#: src/as-validator-issue-tag.h:674 +msgid "The value set as artifact bundle type is invalid." +msgstr "" -#: src/as-category.c:284 -msgctxt "Category of Utility" -msgid "Terminal Emulators" -msgstr "Terminálemulátorok" +#: src/as-validator-issue-tag.h:679 +msgid "" +"The platform triplet for this release is invalid. It must be in the form of " +"`architecture-oskernel-osenv` - refer to the AppStream documentation or " +"information on normalized GNU triplets for more information and valid fields." +msgstr "" -#: src/as-category.c:281 -msgctxt "Category of Utility" -msgid "Text Editors" -msgstr "Szövegszerkesztők" +#: src/as-validator-issue-tag.h:686 +msgid "The selected checksumming algorithm is unsupported or unknown." +msgstr "" -#: src/as-validator-issue-tag.h:318 -msgid "" -"The 'pkgname' tag appears multiple times. You should evaluate creating a " -"metapackage containing the metainfo and .desktop files in order to avoid " -"defining multiple package names per component." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:692 +msgid "The size type is unknown. Must be `download` or `installed`." msgstr "" -"A „pkgname” címke többször jelenik meg. El kellene gondolkoznia a " -"metainformációs fájlokat és a .desktop fájlokat tartalmazó metacsomag " -"létrehozásán, annak érdeklében hogy elkerülje a több csomagnév meghatározást " -"összetevőnként." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:416 +#: src/as-validator-issue-tag.h:697 msgid "" -"The 'update_contact' tag should not be included in collection AppStream XML." +"The artifact filename must be a file basename, not a (relative or absolute) " +"path." msgstr "" -"Az „update_contact” címkét nem szabad felvenni az AppStream XML gyűjteménybe." -#: tools/ascli-actions-mdata.c:467 -#, c-format -msgid "The .desktop file '%s' does not exist." -msgstr "A(z) „%s” .desktop fájl nem létezik." +#: src/as-validator-issue-tag.h:702 +msgid "The value set as release issue type is invalid." +msgstr "" -#: src/as-validator-issue-tag.h:393 -msgid "The can not contain a hyperlink." -msgstr "A nem tartalmazhat hiperhivatkozást." +#: src/as-validator-issue-tag.h:707 +msgid "" +"The issue is tagged at security vulnerability with a CVE number, but its " +"value does not look like a valid CVE identifier." +msgstr "" -#: src/as-validator-issue-tag.h:313 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:713 msgid "" -"The tag still contains a 'type' property, probably from an old " -"conversion to the recent metainfo format." +"This component is missing information about releases. Consider adding a " +"`releases` tag to describe releases and their changes." msgstr "" -"Az címke még mindig tartalmaz „type” tulajdonságot, valószínűleg egy, " -"a legújabb metainformációs formátumra történő régi átalakításból." -#: src/as-validator-issue-tag.h:616 +#: src/as-validator-issue-tag.h:718 msgid "" "The AppStream specification requires a complete, ISO 8601 date string with " "at least day-granularity to denote dates. Please ensure the date string is " @@ -1150,992 +2066,1022 @@ "ISO 8601 dátumszöveget igényel a dátumok jelölésére. Győződjön meg arról, " "hogy a dátumszöveg érvényes-e." -#: src/as-pool.c:1924 -#, c-format +#: src/as-validator-issue-tag.h:724 msgid "" -"The AppStream system cache was updated, but problems were found which " -"resulted in metadata being ignored: %s" +"This component extends, provides, requires or recommends itself, which is " +"certainly not intended and may confuse users or machines dealing with this " +"metadata." msgstr "" -"Az AppStream rendszergyorsítótár frissítve lett, de problémák találhatók, " -"amelyek azt eredményezik, hogy a metaadatok figyelmen kívül lesznek hagyva: " -"%s" +"Ez az összetevő kiterjeszti, biztosítja, igényli vagy javasolja saját magát, " +"ami bizonyára nem szándékos, és összezavarhatja az ezzel a metaadatokkal " +"dolgozó felhasználókat vagy a gépeket." -#: src/as-pool.c:1922 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:731 msgid "" -"The AppStream system cache was updated, but some components were ignored. " -"Refer to the verbose log for more information." +"Licenses for `runtime` components are usually too complex to reflect them in " +"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " +"value for this component's `project_license`. E.g. `LicenseRef-free=https://" +"example.com/licenses.html`" msgstr "" -"Az AppStream rendszergyorsítótár frissítve lett, de néhány összetevő " -"figyelmen kívül lett hagyva. További információkért nézze meg a részletes " -"naplót." - -#: src/as-validator-issue-tag.h:151 -msgid "The SPDX license expression is invalid and could not be parsed." -msgstr "Az SPDX licenckifejezés érvénytelen, és nem sikerült feldolgozni." -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows -#: tools/appstream-cli.c:683 -#, c-format -msgid "The TYPE must be a valid component-type, such as: %s" -msgstr "A TÍPUS értéke érvényes összetevőtípus kell legyen, mint például: %s" +#: src/as-validator-issue-tag.h:737 +msgid "" +"Since a `runtime` component is comprised of multiple other software " +"components, their component-IDs may be listed in a `` section for " +"this runtime." +msgstr "" -#: src/as-validator-issue-tag.h:547 -msgid "The XML of this file is malformed." -msgstr "A fájl XML-je helytelenül formázott." +#: src/as-validator-issue-tag.h:742 +msgid "" +"The type of the item that the component provides is not known to AppStream." +msgstr "" +"Az összetevő által biztosított elem típusa nem ismert az AppStream számára." -#: src/as-validator-issue-tag.h:584 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:748 msgid "" -"The category defined in the .desktop file is not valid. Refer to the XDG " -"Menu Specification for a list of valid categories." +"The toplevel `mimetypes` tag is deprecated. Please use `mediatype` tags in a " +"`provides` block instead to indicate that your software provides a media " +"handler for the given types." msgstr "" -"A .desktop fájlban meghatározott kategória nem érvényes. Nézze meg az XDG " -"menüspecifikációt az érvényes kategóriák listájához." -#: src/as-validator-issue-tag.h:532 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks) and keep the URL intact. +#: src/as-validator-issue-tag.h:755 msgid "" -"The category name is not valid. Refer to the XDG Menu Specification for a " -"list of valid category names." +"This component has no `content_rating` tag to provide age rating " +"information. You can generate the tag data online by answering a few " +"questions at https://hughsie.github.io/oars/" msgstr "" -"A kategórianév nem érvényes. Nézze meg az XDG menüspecifikációt az érvényes " -"kategórianevek listájához." -#: src/as-validator-issue-tag.h:124 +#: src/as-validator.c:150 msgid "" -"The component ID contains a hyphen/minus. Using a hyphen is strongly " -"discouraged, to improve interoperability with other tools such as D-Bus. A " -"good option is to replace any hyphens with underscores ('_')." +"The emitted issue tag is unknown in the tag registry of AppStream. This is a " +"bug in the validator itself, please report this issue in our bugtracker." msgstr "" -"Az összetevő-azonosító elválasztást vagy mínuszt tartalmaz. Az elválasztás " -"használata erősen ellenjavasolt a más eszközökkel (mint például a D-Busszal) " -"történő interoperabilitás növelése érdekében. Jó választás lehet az összes " -"elválasztást aláhúzásra („_”) cserélni." +"A kibocsátott probléma címke ismeretlen az AppStream címkeadatbázisában. Ez " +"egy hiba magában az érvényesítőben. Jelentse ezt a hibát a hibakövetőnkben." -#: src/as-validator-issue-tag.h:130 -msgid "" -"The component ID contains a segment starting with a number. Starting a " -"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " -"interoperability with other tools such as D-Bus. Ideally, prefix these " -"segments with an underscore." +#: src/as-validator.c:344 +msgid "URL format is invalid." msgstr "" -"Az összetevő-azonosító számmal kezdődő szakaszt tartalmaz. A fordított DNS " -"azonosító szakaszát számmal kezdeni erősen ellenjavasolt az egyéb " -"eszközökkel (mint például a D-Busszal) történő interoperabilitás " -"fenntartásához. Ideális esetben lássa el aláhúzás előtaggal ezeket a " -"szakaszokat." -#: src/as-validator-issue-tag.h:119 -msgid "" -"The component ID contains an invalid character. Only ASCII characters, dots " -"and numbers are permitted." +#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. +#: src/as-validator.c:522 src/as-validator.c:937 src/as-validator.c:1031 +#: src/as-validator.c:1428 src/as-validator.c:1448 src/as-validator.c:1481 +#, c-format +msgid "Found: %s - Allowed: %s" +msgstr "Megtalálva: %s – Megengedett: %s" + +#. TRANSLATORS: ascompose flag description for: --verbose +#: tools/appstream-compose.c:181 +#, fuzzy +msgid "Show extra debugging information" +msgstr "További hibakeresési információk megjelenítése." + +#. TRANSLATORS: ascompose flag description for: --no-color +#. TRANSLATORS: ascli flag description for: --no-color +#: tools/appstream-compose.c:184 tools/appstreamcli.c:1087 +msgid "Don't show colored output." +msgstr "Ne jelenítsen meg színes kimenetet." + +#. TRANSLATORS: ascompose flag description for: --version +#. TRANSLATORS: ascli flag description for: --version +#: tools/appstream-compose.c:187 tools/appstreamcli.c:1076 +msgid "Show the program version." +msgstr "A programverzió megjelenítése." + +#. TRANSLATORS: ascompose flag description for: --full-report +#: tools/appstream-compose.c:190 +msgid "Set mode of the issue report that is printed to the console" msgstr "" -"Az összetevő-azonosító érvénytelen karaktert tartalmaz. Csak ASCII " -"karakterek, pontok és számok engedélyezettek." -#: src/as-validator-issue-tag.h:106 -msgid "" -"The component ID is not a reverse domain-name. Please update the ID to avoid " -"future issues and be compatible with all AppStream implementations.\n" -"You may also consider to update the name of the accompanying .desktop file " -"to follow the latest version of the Desktop-Entry specification and use a " -"rDNS name for it as well. In any case, do not forget to mention the new " -"desktop-entry in a tag for this component to keep the " -"application launchable from software centers and the .desktop file data " -"associated with the metainfo data." +#. TRANSLATORS: ascompose flag description for: --prefix +#: tools/appstream-compose.c:193 +msgid "Override the default prefix (`/usr` by default)" msgstr "" -"Az összetevő-azonosító nem fordított tartománynév. Frissítse az azonosítót, " -"hogy elkerülje a későbbi problémákat, illetve kompatibilis legyen az összes " -"AppStream megvalósítással.\n" -"Fontolóra veheti a velejáró .desktop fájl nevének frissítését is az asztali " -"bejegyzés specifikáció legújabb verziójának követéséhez, valamint egy rDNS " -"név használatát is. Mindenesetre ne felejtse el megemlíteni az új asztali " -"bejegyzést egy címkében ennél az összetevőnél, hogy az " -"alkalmazás indítható maradjon a szoftverközpontokból és a metainformációs " -"adatokkal társított .desktop fájlokból." -#: src/as-validator-issue-tag.h:101 -msgid "" -"The component ID is required to follow a reverse domain-name scheme for its " -"name. See the AppStream specification for details." +#. TRANSLATORS: ascompose flag description for: --result-root +#: tools/appstream-compose.c:196 +msgid "Set the result output directory" msgstr "" -"AZ összetevő-azonosító nevének egy fordított tartománynév sémát kell " -"követnie. A részletekért nézze meg az AppStream specifikációt." -#: src/as-validator-issue-tag.h:114 -msgid "" -"The component ID might not follow the reverse domain-name schema (the TLD " -"used by it is not known to the validator)." +#. TRANSLATORS: ascompose flag description for: --data-dir, `collection metadata` is an AppStream term +#: tools/appstream-compose.c:199 +msgid "Override the collection metadata output directory" msgstr "" -"Az összetevő-azonosító lehet, hogy nem követi a fordított tartománynév sémát " -"(az általa használt TLD nem ismert az érvényesítő számára)." -#: src/as-validator-issue-tag.h:293 -msgid "" -"The component has a 'merge' method defined. This is not allowed in metainfo " -"files." +#. TRANSLATORS: ascompose flag description for: --icons-dir +#: tools/appstream-compose.c:202 +msgid "Override the icon output directory" msgstr "" -"Az összetevő egy meghatározott „merge” módszerrel rendelkezik. Ez nem " -"engedélyezett a metainformációs fájlokban." -#: src/as-validator-issue-tag.h:288 +#. TRANSLATORS: ascompose flag description for: --media-dir +#: tools/appstream-compose.c:205 msgid "" -"The component has a priority value set. This is not allowed in metainfo " -"files." +"Set the media output directory (for media data to be served by a webserver)" msgstr "" -"Az összetevő egy beállított prioritásértékkel rendelkezik. Ez nem " -"engedélyezett a metainformációs fájlokban." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:503 -msgid "The component is an addon, but no 'extends' tag was specified." -msgstr "Az összetevő egy kiterjesztés, de nem lett „extends” címke megadva." +#. TRANSLATORS: ascompose flag description for: --hints-dir +#: tools/appstream-compose.c:208 +msgid "Set a directory where HTML and text issue reports will be stored" +msgstr "" -#: src/as-validator-issue-tag.h:440 -msgid "" -"The component is missing a long description. Components of this type must " -"have a long description." +#. TRANSLATORS: ascompose flag description for: --origin +#. TRANSLATORS: ascompose flag description for: --media-baseurl +#: tools/appstream-compose.c:211 tools/appstream-compose.c:214 +msgid "Set the origin name" msgstr "" -"Az összetevőből hiányzik egy hosszú leírás. Az ilyen típusú összetevőknek " -"rendelkezniük kell hosszú leírással." -#: src/as-validator-issue-tag.h:303 -msgid "The component is missing a name ( tag)." -msgstr "Az összetevőből hiányzik egy név (a címke)." +#. TRANSLATORS: ascompose flag description for: --components +#: tools/appstream-compose.c:217 +msgid "A comma-separated list of component-IDs to accept" +msgstr "" -#: src/as-validator-issue-tag.h:308 -msgid "The component is missing a summary ( tag)." -msgstr "Az összetevőből hiányzik egy összegzés (a címke)." +#. TRANSLATORS: error message +#: tools/appstream-compose.c:231 +msgid "Failed to parse arguments" +msgstr "" -#: src/as-validator-issue-tag.h:298 -msgid "The component is missing an ID ( tag)." -msgstr "Az összetevőből hiányzik egy azonosító (az címke)." +#. TRANSLATORS: Output if appstreamcli --version is executed. +#: tools/appstream-compose.c:242 tools/appstreamcli.c:1230 +#, c-format +msgid "AppStream version: %s" +msgstr "AppStream verzió: %s" -#: src/as-validator-issue-tag.h:136 +#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. +#: tools/appstream-compose.c:245 tools/appstreamcli.c:1233 +#, c-format msgid "" -"The component is part of the Freedesktop project, but its ID does not start " -"with fd.o's reverse-DNS name (\"org.freedesktop\")." +"AppStream CLI tool version: %s\n" +"AppStream library version: %s" msgstr "" -"Az összetevő a Freedesktop projekt része, de az azonosítója nem az fd.o " -"fordított DNS nevével („org.freedesktop”) kezdődik." +"AppStream CLI eszközverzió: %s\n" +"AppStream programkönyvtár-verzió: %s" -#: src/as-validator-issue-tag.h:146 +#. TRANSLATORS: invalid value for the --print-report CLI option +#: tools/appstream-compose.c:264 +#, c-format msgid "" -"The component is part of the GNOME project, but its ID does not start with " -"GNOMEs reverse-DNS name (\"org.gnome\")." +"Invalid value for `--print-report` option: %s\n" +"Possible values are:\n" +"`on-error` - only prints a short report if the run failed (default)\n" +"`short` - generates an abridged report\n" +"`full` - a detailed report will be printed" msgstr "" -"Az összetevő a GNOME projekt része, de az azonosítója nem a GNOME fordított " -"DNS nevével („org.gnome”) kezdődik." -#: src/as-validator-issue-tag.h:141 -msgid "" -"The component is part of the KDE project, but its ID does not start with " -"KDEs reverse-DNS name (\"org.kde\")." +#: tools/appstream-compose.c:285 +#, c-format +msgid "Automatically selected '%s' as data output location." msgstr "" -"Az összetevő a KDE projekt része, de az azonosítója nem a KDE fordított DNS " -"nevével („org.kde”) kezdődik." -#: src/as-validator-issue-tag.h:323 -msgid "The component name should (likely) not end with a dot ('.')." -msgstr "Az összetevő neve (valószínűleg) nem végződhet ponttal („.”)." +#. TRANSLATORS: we don't have a destination directory for compose +#: tools/appstream-compose.c:288 +msgid "No destination directory set, please provide a data output location!" +msgstr "" -#: src/as-validator-issue-tag.h:333 -msgid "The component summary must not contain tabs or linebreaks." +#: tools/appstream-compose.c:298 tools/appstream-compose.c:300 +msgid "WARNING" msgstr "" -"Az összetevő összegzése nem tartalmazhat tabulátorokat vagy sortöréseket." -#: src/as-validator-issue-tag.h:328 -msgid "The component summary should not end with a dot ('.')." -msgstr "Az összetevő összegzése nem végződhet ponttal („.”)." +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:337 +#, c-format +msgid "Only accepting components: %s" +msgstr "" -#: src/as-validator-issue-tag.h:243 -msgid "" -"The default screenshot of a software component must not be a video. Use a " -"static image as default screenshot and set the video as a secondary " -"screenshot." +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:340 +#, c-format +msgid "Only accepting component: %s" msgstr "" -"Egy szoftver-összetevő alapértelmezett képernyőképe nem lehet videó. " -"Használjon statikus képet alapértelmezett képernyőképként, és állítsa be a " -"videót másodlagos képernyőképként." -#: src/as-validator-issue-tag.h:86 -msgid "" -"The description contains a web URL in plain text. This is not allowed, " -"please use the tag instead to share links." +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:345 +msgid "Processing directories:" msgstr "" -"A leírás egyszerű szöveges formátumú webes URL-t tartalmaz. Ez nem " -"engedélyezett, használja helyette az címkét a hivatkozások " -"megosztásához." -#: src/as-validator.c:152 -msgid "" -"The emitted issue tag is unknown in the tag registry of AppStream. This is a " -"bug in the validator itself, please report this issue in our bugtracker." +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:348 +msgid "Processing directory:" msgstr "" -"A kibocsátott probléma címke ismeretlen az AppStream címkeadatbázisában. Ez " -"egy hiba magában az érvényesítőben. Jelentse ezt a hibát a hibakövetőnkben." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:435 -msgid "" -"The essential tag 'metadata_license' is missing. A license for the metadata " -"itself always has to be defined." +#. TRANSLATORS: error message +#: tools/appstream-compose.c:357 +msgid "Can not process invalid directory" msgstr "" -"Az alapvető „metadata_license” címke hiányzik. Magának a metaadatnak a " -"licencét mindig meg kell határozni." -#: src/as-validator-issue-tag.h:79 -msgid "" -"The first 'description/p' paragraph of this component might be too short (< " -"80 characters). Please consider starting with a longer paragraph to improve " -"how the description looks like in software centers and to provide more " -"detailed information on this component immediately in the first paragraph." +#. TRANSLATORS: information message +#: tools/appstream-compose.c:369 +msgid "Composing metadata..." msgstr "" -"Az összetevő első „description/p” bekezdése talán túl rövid (<80 karakter). " -"Fontolja meg, hogy egy hosszabb bekezdéssel kezdjen annak javításához, hogy " -"a leírás hogyan nézzen ki a szoftverközpontokban, valamint hogy részletesebb " -"információt biztosítson erről az összetevőről azonnal az első bekezdésben." -#: src/as-validator-issue-tag.h:156 +#. TRANSLATORS: error message +#: tools/appstream-compose.c:374 #, fuzzy -msgid "" -"The license ID was not found in the SPDX database. Please check that the " -"license ID is written in an SPDX-conformant way and is a valid free software " -"license." +msgid "Failed to compose AppStream metadata" +msgstr "Egy segédprogram az AppStream metaadatokkal való munkához" + +#. TRANSLATORS: appstream-compose failed to include all data +#: tools/appstream-compose.c:380 +msgid "Run failed, some data was ignored." msgstr "" -"A licencazonosító nem található az SPDX adatbázisban. Ellenőrizze, hogy a " -"licencazonosító az SPDX-nek megfelelő módon van-e írva, illetve érvényes " -"szabad szoftveres licenc-e." -#: src/as-validator-issue-tag.h:96 -msgid "" -"The mentioned tag is empty, which is highly likely not intended as it should " -"have content." +#. TRANSLATORS: information message of appstream-compose +#: tools/appstream-compose.c:382 +msgid "Errors were raised during this compose run:" msgstr "" -"Az említett címke üres, amely erősen valószínűen nem szándékos, mivel lennie " -"kell tartalmának." -#: src/as-validator-issue-tag.h:168 +#: tools/appstream-compose.c:383 msgid "" -"The metadata itself does not seem to be licensed under a permissive license. " -"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " -"0BSD to allow distributors to include it in mixed data collections without " -"the risk of license violations due to mutually incompatible licenses." +"Refer to the generated issue report data for details on the individual " +"problems." msgstr "" -"Nem tűnik úgy, mintha maga a metaadat megengedő licenc alatt lenne " -"licencelve. Licencelje az adatot megengedő licenc alatt, mint például FSFAP, " -"CC0-1.0 vagy 0BSD, hogy lehetővé tegye a forgalmazóknak, hogy felvegyék azt " -"kevert adatú gyűjteményekbe, anélkül hogy a licenc megsértésének kockázatát " -"vállalnák a kölcsönösen inkompatibilis licencek miatt." -#: src/as-validator-issue-tag.h:162 -msgid "" -"The metadata itself seems to be licensed under a complex collection of " -"licenses. Please license the data under a simple permissive license, like " -"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " -"collections without the risk of license violations due to mutually " -"incompatible licenses." +#: tools/appstream-compose.c:386 +msgid "Overview of generated hints:" +msgstr "" + +#. TRANSLATORS: information message +#: tools/appstream-compose.c:388 +msgid "Success!" +msgstr "" + +#. TRANSLATORS: ascli flag description for: --cachepath +#: tools/appstreamcli.c:59 +msgid "Manually selected location of AppStream cache." +msgstr "Az AppStream gyorsítótár kézileg kiválasztott helye." + +#. TRANSLATORS: ascli flag description for: --datapath +#: tools/appstreamcli.c:64 +msgid "Manually selected location of AppStream metadata to scan." +msgstr "Az AppStream metaadatok kézileg kiválasztott helye a kereséshez." + +#. TRANSLATORS: ascli flag description for: --no-cache +#: tools/appstreamcli.c:69 +msgid "Make request without any caching." +msgstr "Kérés küldése gyorsítótárazás nélkül." + +#. TRANSLATORS: ascli flag description for: --format +#: tools/appstreamcli.c:85 +msgid "Default metadata format (valid values are 'xml' and 'yaml')." +msgstr "Alapértelmezett metaadat-formátum (érvényes értékek: „xml” és „yaml”)." + +#. TRANSLATORS: ascli flag description for: --details +#: tools/appstreamcli.c:100 +msgid "Print detailed output about found components." +msgstr "Részletes kimenet kiírása a megtalált összetevőkről." + +#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) +#: tools/appstreamcli.c:118 +msgid "Also show pedantic hints." +msgstr "Az akadékoskodó tippeket is írja ki." + +#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) +#: tools/appstreamcli.c:123 +msgid "Print detailed explanation for found issues." +msgstr "Részletes magyarázat kiírása a megtalált hibákhoz." + +#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) +#: tools/appstreamcli.c:128 +msgid "Do not use network access." +msgstr "Ne használjon hálózati hozzáférést." + +#. TRANSLATORS: ascli flag description for: --format when validating XML files +#: tools/appstreamcli.c:133 +msgid "Format of the generated report (valid values are 'text' and 'yaml')." +msgstr "" +"Az előállított jelentés formátuma (érvényes értékek: „text” és „yaml”)." + +#. TRANSLATORS: This is the header to the --help menu for subcommands +#. TRANSLATORS: This is the header to the --help menu +#: tools/appstreamcli.c:153 tools/appstreamcli.c:981 +msgid "AppStream command-line interface" +msgstr "AppStream parancssori felület" + +#: tools/appstreamcli.c:156 +#, c-format +msgid "'%s' command" +msgstr "„%s” parancs" + +#. TRANSLATORS: An unknown option was passed to appstreamcli. +#: tools/appstreamcli.c:191 +#, c-format +msgid "Option '%s' is unknown." +msgstr "A(z) „%s” kapcsoló ismeretlen." + +#: tools/appstreamcli.c:195 tools/appstreamcli.c:1207 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options." msgstr "" -"Úgy tűnik, hogy maga a metaadat licencek összetett gyűjteménye alatt van " -"licencelve. Licencelje az adatot egyszerű megengedő licenc alatt, mint " -"például FSFAP, MIT vagy CC0-1.0, hogy lehetővé tegye a forgalmazóknak, hogy " -"felvegyék azt kevert adatú gyűjteményekbe, anélkül hogy a licenc " -"megsértésének kockázatát vállalnák a kölcsönösen inkompatibilis licencek " -"miatt." +"Futtassa a(z) „%s --help” parancsot az elérhető parancssori kapcsolók teljes " +"listájáért." -#: src/as-validator-issue-tag.h:599 +#: tools/appstreamcli.c:197 +#, c-format msgid "" -"The metainfo file is stored in a legacy path. Please place it in '/usr/share/" -"metainfo'." +"Run '%s --help' to see a list of available commands and options, and '%s %s " +"--help' to see a list of options specific for this subcommand." msgstr "" -"A metainformációs fájl örökölt útvonalon van tárolva. Tegye azt az „/usr/" -"share/metainfo” könyvtárba." +"Futtassa a(z) „%s --help” parancsot az elérhető parancsok és kapcsolók " +"listájáért, illetve a(z) „%s %s --help” parancsot az erre az alparancsra " +"jellemző kapcsolók listájának megtekintéséhez." -#: src/as-validator-issue-tag.h:604 -msgid "The metainfo file specifies multiple components. This is not allowed." +#. TRANSLATORS: ascli flag description for: --force +#: tools/appstreamcli.c:245 +msgid "Enforce a cache refresh." +msgstr "Gyorsítótár-frissítés kényszerítése." + +#. TRANSLATORS: ascli flag description for: --user +#: tools/appstreamcli.c:251 +msgid "Update the user-specific instead of the system-wide cache." msgstr "" -"A metainformációs fájl több összetevőt határoz meg. Ez nem engedélyezett." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:559 -msgid "" -"The metainfo file uses an ancient version of the AppStream specification, " -"which can not be validated. Please migrate it to version 0.6 (or higher)." +#. TRANSLATORS: ascli flag description for: --origin (part of the "put" subcommand) +#: tools/appstreamcli.c:477 +msgid "Set the data origin for the installed metadata collection file." msgstr "" -"A metainformációs fájl az AppStream specifikáció ősi verzióját használja, " -"amelyet nem lehet érvényesíteni. Alakítsa át a 0.6-os (vagy újabb) verzióra." -#: src/as-validator-issue-tag.h:569 -msgid "The metainfo filename does not match the component ID." -msgstr "A metainformációs fájl neve nem egyezik az összetevő-azonosítóval." +#. TRANSLATORS: ascli flag description for: --user (part of the "put" subcommand) +#: tools/appstreamcli.c:482 +msgid "Install the file for the current user, instead of globally." +msgstr "" -#: src/as-validator-issue-tag.h:609 +#: tools/appstreamcli.c:631 msgid "" -"The releases are not sorted in a latest to oldest version order. This is " -"required as some tools will assume that the latest version is always at the " -"top. Sorting releases also increases overall readability of the metainfo " -"file." +"You need to provide at least two version numbers to compare as parameters." msgstr "" -"A kiadások nem a legfrissebb verziótól a legrégebbi verzióig vannak " -"rendezve. Ez követelmény, mivel néhány eszköz azt fogja feltételezni, hogy a " -"legfrissebb verzió mindig felül van. A kiadások rendezése növeli a " -"metainformációs fájl általános olvashatóságát is." - -#: src/as-validator-issue-tag.h:537 -msgid "The screenshot caption is too long (should be <= 80 characters)" -msgstr "A képernyőkép felirata túl hosszú (legfeljebb 80 karakter lehet)" +"Meg kell adnia legalább két összehasonlítandó verziószámot paraméterként." -#: src/as-validator-issue-tag.h:206 -msgid "The screenshot does not have a caption text. Consider adding one." -msgstr "" -"A képernyőképnek nincs feliratszövege. Fontolja meg a feliratszöveg " -"hozzáadását." +#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. +#: tools/appstreamcli.c:660 +#, c-format +msgid "Unknown compare relation '%s'. Valid values are:" +msgstr "Ismeretlen „%s” összehasonlító-kapcsolat. Az érvényes értékek:" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:218 +#: tools/appstreamcli.c:700 msgid "" -"The screenshot video does not specify which container format was used in a " -"'container' property." +"Too many parameters: Need two version numbers or version numbers and a " +"comparison operator." msgstr "" -"A képernyőkép-videó nem adja meg, hogy mely konténerformátumot használták " -"egy „container” tulajdonságban." +"Túl sok paraméter: két verziószám vagy egy verziószám és egy összehasonlító " +"operátor szükséges." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:212 +#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) +#: tools/appstreamcli.c:726 msgid "" -"The screenshot video does not specify which video codec was used in a " -"'codec' property." +"Use the given .desktop file to fill in the basic values of the metainfo file." msgstr "" -"A képernyőkép-videó nem adja meg, hogy mely vedeokodeket használták egy " -"„codec” tulajdonságban." +"A megadott .desktop fájl használata a metainfo fájl alapvető értékeinek " +"kitöltésére." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:224 +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand +#: tools/appstreamcli.c:731 msgid "" -"The selected video codec is not supported by AppStream and software centers " -"may not be able to play the video. Only the AV1 and VP9 codecs are currently " -"supported, using 'av1' and 'vp9' as values for the 'codec' property." +"This command takes optional TYPE and FILE positional arguments, FILE being a " +"file to write to (or \"-\" for standard output)." msgstr "" -"A kiválasztott videokodeket nem támogatja az AppStream, és a " -"szoftverközpontok esetleg nem lesznek képesek lejátszani a videót. Jelenleg " -"csak az AV1 és VP9 kodekek támogatottak, használja az „av1” és „vp9” " -"értékeket a „codec” tulajdonságnál." +"Ez a parancs a nem kötelező TÍPUS és FÁJL pozicionálási argumentumokat " +"fogadja, ahol a FÁJL a kimeneti fájl (vagy szabványos kimenet esetén „-”)." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:231 -msgid "" -"The selected video container format is not supported by AppStream and " -"software centers may not be able to play the video. Only the WebM and " -"Matroska video containers are currently supported, using 'webm' and 'mkv' as " -"values for the 'container' property." +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows +#: tools/appstreamcli.c:734 +#, c-format +msgid "The TYPE must be a valid component-type, such as: %s" +msgstr "A TÍPUS értéke érvényes összetevőtípus kell legyen, mint például: %s" + +#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) +#: tools/appstreamcli.c:775 +msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." msgstr "" -"A kiválasztott videokonténer-formátumot nem támogatja az AppStream, és a " -"szoftverközpontok esetleg nem lesznek képesek lejátszani a videót. Jelenleg " -"csak a WebM és Matroska videokonténerek támogatottak, használja a „webm” és " -"„mkv” értékeket a „container” tulajdonságnál." -#: src/as-validator-issue-tag.h:283 -msgid "" -"The set component type is not a recognized, valid AppStream component type." +#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command +#: tools/appstreamcli.c:815 +msgid "Assume the input file is in the selected format ('yaml' or 'text')." msgstr "" -"A beállított összetevőtípus nem felismert, nem érvényes AppStream " -"összetevőtípus." +"Tegyük fel, hogy a bemeneti fájl a kiválasztott formátumban van ( \"yaml\" " +"vagy \"text\" )" -#: src/as-validator-issue-tag.h:398 -#, fuzzy +#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command +#: tools/appstreamcli.c:820 msgid "" -"The set value is not an identifier for a desktop environment as registered " -"with Freedesktop.org." +"Limit the number of release entries that end up in the metainfo file (0 for " +"unlimited)." msgstr "" -"A megadott értékek nem egy olyan asztali környezet azonosítói, ahogy a " -"Freedesktop.org-nál regisztrálva vannak." +"A metainformációs fájlba bekerülő kiadási bejegyzések számának korlátozása " +"(0 esetén korlátlan)." + +#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command +#: tools/appstreamcli.c:862 +msgid "Generate the output in the selected format ('yaml' or 'text')." +msgstr "Kimenet előállítása a kiválasztott formátumban („yaml” vagy „text”)." -#: tools/ascli-actions-mdata.c:449 +#: tools/appstreamcli.c:894 #, c-format -msgid "" -"The software component type '%s' is not valid in AppStream. Possible values " -"are:" +msgid "Compose binary '%s' was not found! Can not continue." msgstr "" -"A(z) „%s” szoftverösszetevő-típus nem érvényes az AppStreamben. A lehetséges " -"értékek:" -#: src/as-validator-issue-tag.h:338 -msgid "The summary must not contain any URL. Use the tags for links." +#. TRANSLATORS: this is a (usually shorter) command alias, shown after the command summary text +#: tools/appstreamcli.c:956 +#, c-format +msgid "(Alias: '%s')" msgstr "" -"Az összegzés nem tartalmazhat semmilyen URL-t. Használja az címkéket " -"a hivatkozásokhoz." -#: src/as-validator-issue-tag.h:640 +#. these are commands we can use with appstreamcli +#: tools/appstreamcli.c:983 +msgid "Subcommands:" +msgstr "Alparancsok:" + +#: tools/appstreamcli.c:1029 msgid "" -"The type of the item that the component provides is not known to AppStream." +"You can find information about subcommand-specific options by passing \"--" +"help\" to the subcommand." msgstr "" -"Az összetevő által biztosított elem típusa nem ismert az AppStream számára." +"Információkat találhat az alparancsra jellemző kapcsolókról a „--help” " +"átadásával az alparancsnak." -#: src/as-validator-issue-tag.h:174 +#. TRANSLATORS: ascli has been run with unknown command. '%s --help' is the command to receive help and should not be translated. +#: tools/appstreamcli.c:1052 +#, fuzzy, c-format msgid "" -"The update-contact does not appear to be a valid email address (escaping of " -"'@' is only allowed as '_at_' or '_AT_')." +"Command '%s' is unknown. Run '%s --help' for a list of available commands." msgstr "" -"A frissítő személy nem tűnik érvényes e-mail címnek (a „@” elfedése csak " -"„_at_” vagy „_AT_” helyettesítőként engedélyezett)." +"Futtassa a(z) „%s --help” parancsot az elérhető parancssori kapcsolók teljes " +"listájáért." -#: tools/ascli-actions-validate.c:363 tools/ascli-actions-validate.c:492 -#, c-format -msgid "" -"The validator can not create reports in the '%s' format. You may select " -"'yaml' or 'text' instead." +#. TRANSLATORS: ascli flag description for: --verbose +#: tools/appstreamcli.c:1082 +msgid "Show extra debugging information." +msgstr "További hibakeresési információk megjelenítése." + +#. TRANSLATORS: ascli flag description for: --profile +#: tools/appstreamcli.c:1090 +msgid "Enable profiling" msgstr "" -"Az érvényesítő nem képes jelentéseket létrehozni „%s” formátumban. Válasszon " -"inkább „yaml” vagy „text” formátumot." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:410 -msgid "This 'bundle' tag has an unknown type and can not be used." +#. TRANSLATORS: `appstreamcli search` command description. +#: tools/appstreamcli.c:1102 +msgid "Search the component database." +msgstr "Keresés az összetevő-adatbázisban." + +#. TRANSLATORS: `appstreamcli get` command description. +#: tools/appstreamcli.c:1107 +msgid "Get information about a component by its ID." +msgstr "Információk kérése egy összetevőről az azonosítója szerint." + +#. TRANSLATORS: `appstreamcli what-provides` command description. +#: tools/appstreamcli.c:1112 +msgid "" +"Get components which provide the given item. Needs an item type (e.g. lib, " +"bin, python3, …) and item value as parameter." msgstr "" -"Ez a „bundle” címke ismeretlen típussal rendelkezik, és nem használható." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:404 -msgid "This 'launchable' tag has an unknown type and can not be used." +#. TRANSLATORS: `appstreamcli dump` command description. +#: tools/appstreamcli.c:1118 +msgid "Dump raw XML metadata for a component matching the ID." +msgstr "Nyers XML-metaadatok kiírása az azonosítóra illeszkedő összetevőhöz." + +#. TRANSLATORS: `appstreamcli refresh-cache` command description. +#: tools/appstreamcli.c:1123 +msgid "Rebuild the component metadata cache." +msgstr "Az összetevő-metaadat gyorsítótár újraépítése." + +#. TRANSLATORS: `appstreamcli validate` command description. +#: tools/appstreamcli.c:1129 +msgid "Validate AppStream XML files for issues." +msgstr "AppStream XML-fájlok érvényesítése a hibáknál." + +#. TRANSLATORS: `appstreamcli validate-tree` command description. +#: tools/appstreamcli.c:1134 +msgid "Validate an installed file-tree of an application for valid metadata." msgstr "" -"Ez a „launchable” címke ismeretlen típussal rendelkezik, és nem használható." +"Egy alkalmazás telepített fájlfájának összevetése az érvényes metaadatokkal." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:515 +#. TRANSLATORS: `appstreamcli install` command description. +#: tools/appstreamcli.c:1140 +msgid "Install software matching the component-ID." +msgstr "Az összetevő-azonosítónak megfelelő szoftver telepítése." + +#. TRANSLATORS: `appstreamcli remove` command description. +#: tools/appstreamcli.c:1145 +msgid "Remove software matching the component-ID." +msgstr "Az összetevő-azonosítónak megfelelő szoftver eltávolítása." + +#. TRANSLATORS: `appstreamcli status` command description. +#: tools/appstreamcli.c:1151 +msgid "Display status information about available AppStream metadata." +msgstr "Állapotinformációk megjelenítése az elérhető AppStream metaadatokról." + +#. TRANSLATORS: `appstreamcli os-info` command description. +#: tools/appstreamcli.c:1156 msgid "" -"This 'localization' component does not define any languages this " -"localization is for." +"Show information about the current operating system from the metadata index." msgstr "" -"Ez a „localization” összetevő nem határoz meg semmilyen nyelvet ehhez a " -"honosításhoz." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:509 +#. TRANSLATORS: `appstreamcli put` command description. +#: tools/appstreamcli.c:1161 +msgid "Install a metadata file into the right location." +msgstr "Metaadatfájl telepítése a megfelelő helyre." + +#. TRANSLATORS: `appstreamcli convert` command description. "Collection XML" is a term describing a specific type of AppStream XML data. +#: tools/appstreamcli.c:1166 +msgid "Convert collection XML to YAML or vice versa." +msgstr "Gyűjtemény átalakítása XML-ről YAML-ra vagy fordítva." + +#. TRANSLATORS: `appstreamcli vercmp` command description. +#: tools/appstreamcli.c:1171 +msgid "Compare two version numbers." +msgstr "Két verziószám összehasonlítása." + +#. TRANSLATORS: `appstreamcli new-template` command description. +#: tools/appstreamcli.c:1177 msgid "" -"This 'localization' component is missing an 'extends' tag, to specify the " -"components it adds localization to." +"Create a template for a metainfo file (to be filled out by the upstream " +"project)." msgstr "" -"Ebből a „localization” összetevőből hiányzik egy „extends” címke, hogy " -"megadja azokat az összetevőket, amelyekhez honosítást ad hozzá." +"Sablon létrehozása egy metainformációs fájlhoz (a fő projekt általi " +"kitöltéshez)." + +#. TRANSLATORS: `appstreamcli make-desktop-file` command description. +#: tools/appstreamcli.c:1182 +#, fuzzy +msgid "Create a desktop-entry file from a metainfo file." +msgstr "XDG asztali bejegyzés készítése metainfo fájlból." + +#. TRANSLATORS: `appstreamcli news-to-metainfo` command description. +#: tools/appstreamcli.c:1187 +msgid "Convert a YAML or text NEWS file into metainfo releases." +msgstr "Fordítsa a YAML vagy text fájlokat metainfo megjelenesbe." + +#. TRANSLATORS: `appstreamcli metainfo-to-news` command description. +#: tools/appstreamcli.c:1192 +msgid "Write NEWS text or YAML file with information from a metainfo file." +msgstr "" +"NEWS szöveg vagy YAML fájl írása a metainformációs fájlban található " +"információkból." + +#. TRANSLATORS: `appstreamcli compose` command description. +#: tools/appstreamcli.c:1198 +#, fuzzy +msgid "Compose AppStream collection metadata from directory trees." +msgstr "" +"Nem található AppStream metaadat ebben a könyvtárban vagy könyvtárfában." + +#. TRANSLATORS: ascli has been run without command. +#: tools/appstreamcli.c:1206 +msgid "You need to specify a command." +msgstr "Meg kell adnia egy parancsot." + +#. TRANSLATORS: In ascli: The requested action needs higher permissions. +#: tools/ascli-actions-mdata.c:70 +msgid "You might need superuser permissions to perform this action." +msgstr "A művelet végrehajtásához rendszergazdai jogokra lehet szükség." + +#. we performed a cache refresh +#. TRANSLATORS: Updating the metadata cache succeeded +#: tools/ascli-actions-mdata.c:80 +msgid "AppStream cache update completed successfully." +msgstr "Az AppStream gyorsítótár-frissítés sikeresen befejeződött." + +#. cache wasn't updated, so the update wasn't necessary +#: tools/ascli-actions-mdata.c:86 +msgid "AppStream cache update is not necessary." +msgstr "Az AppStream gyorsítótár frissítése nem szükséges." + +#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments +#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. +#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:253 +#: tools/ascli-actions-pkgmgr.c:80 +msgid "You need to specify a component-ID." +msgstr "Meg kell adnia egy összetevő-azonosítót." + +#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:265 +#: tools/ascli-actions-pkgmgr.c:93 +#, c-format +msgid "Unable to find component with ID '%s'!" +msgstr "Nem található összetevő a következő azonosítóval: „%s”!" + +#: tools/ascli-actions-mdata.c:164 +msgid "You need to specify a term to search for." +msgstr "Meg kell adnia egy kifejezést a kereséshez." + +#. TRANSLATORS: We failed to find any component in the database, likely due to an error +#: tools/ascli-actions-mdata.c:177 +#, c-format +msgid "Unable to find component matching %s!" +msgstr "Nem található a következőre illeszkedő összetevő: %s!" + +#: tools/ascli-actions-mdata.c:182 +#, c-format +msgid "No component matching '%s' found." +msgstr "Nem található erre illeszkedő összetevő: „%s”." + +#: tools/ascli-actions-mdata.c:206 +msgid "No value for the item to search for was defined." +msgstr "Nem lett érték meghatározva a keresendő elemhez." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:521 -msgid "" -"This 'service' component is missing a 'launchable' tag of type 'service'." +#: tools/ascli-actions-mdata.c:212 +msgid "Invalid type for provided item selected. Valid values are:" msgstr "" -"Ebből a „service” összetevőből hiányzik egy „service” típusú „launchable” " -"címke." +"Érvénytelen típus lett kiválasztva a biztosított elemhez. Az érvényes " +"értékek:" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:473 -msgid "" -"This 'web-application' component is missing a 'icon' tag to specify a valid " -"icon." -msgstr "" -"Ebből a „web-application” összetevőből hiányzik egy „icon” címke egy " -"érvényes ikon megadásához." +#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results +#: tools/ascli-actions-mdata.c:227 +#, c-format +msgid "Could not find component providing '%s::%s'." +msgstr "Nem található a következőt biztosító összetevő: „%s::%s”." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:467 -msgid "" -"This 'web-application' component is missing a 'launchable' tag of type 'url'." -msgstr "" -"Ebből a „web-application” összetevőből hiányzik egy „url” típusú " -"„launchable” címke." +#: tools/ascli-actions-mdata.c:306 +msgid "You need to specify a metadata file." +msgstr "Meg kell adnia egy metaadatfájlt." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:479 -msgid "" -"This 'web-application' component is missing categorizations. A 'categories' " -"block is likely missing." -msgstr "" -"Ebből a „web-application” összetevőből hiányzik a kategorizálás. " -"Valószínűleg hiányzik egy „categories” blokk." +#: tools/ascli-actions-mdata.c:320 +#, fuzzy, c-format +msgid "Unable to install metadata file: %s" +msgstr "A .desktop fájl nem olvasható: %s" -#: src/as-validator-issue-tag.h:564 -msgid "" -"This XML document has an unknown root tag. Maybe this file is not a metainfo " -"document?" -msgstr "" -"Ennek az XML dokumentumnak ismeretlen gyökércímkéje van. Talán ez a fájl nem " -"metainformációs dokumentum?" +#: tools/ascli-actions-mdata.c:340 +msgid "You need to specify an input and output file." +msgstr "Meg kell adnia egy bemeneti és egy kimeneti fájlt." -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand -#: tools/appstream-cli.c:680 -msgid "" -"This command takes optional TYPE and FILE positional arguments, FILE being a " -"file to write to (or \"-\" for standard output)." -msgstr "" -"Ez a parancs a nem kötelező TÍPUS és FÁJL pozicionálási argumentumokat " -"fogadja, ahol a FÁJL a kimeneti fájl (vagy szabványos kimenet esetén „-”)." +#: tools/ascli-actions-mdata.c:347 +#, c-format +msgid "Metadata file '%s' does not exist." +msgstr "A(z) „%s” metaadatfájl nem létezik." -#: src/as-validator-issue-tag.h:622 +#. TRANSLATORS: User is trying to convert a file in ascli +#: tools/ascli-actions-mdata.c:387 msgid "" -"This component extends, provides, requires or recommends itself, which is " -"certainly not intended and may confuse users or machines dealing with this " -"metadata." +"Unable to convert file: Could not determine output format, please set it " +"explicitly using '--format='." msgstr "" -"Ez az összetevő kiterjeszti, biztosítja, igényli vagy javasolja saját magát, " -"ami bizonyára nem szándékos, és összezavarhatja az ezzel a metaadatokkal " -"dolgozó felhasználókat vagy a gépeket." +"Nem lehet átalakítani a fájlt: nem sikerült meghatározni a kimeneti " +"formátumot, állítsa be egyértelműen a „--format=” használatával." -#: src/as-validator-issue-tag.h:579 -msgid "This component metadata refers to a non-existing .desktop file." -msgstr "Ez az összetevő-metaadat egy nem létező .desktop fájlra hivatkozik." +#: tools/ascli-actions-mdata.c:438 +#, fuzzy, c-format +msgid "Unable to find operating system component '%s'!" +msgstr "Nem található összetevő a következő azonosítóval: „%s”!" -#: src/as-validator-issue-tag.h:69 -msgid "" -"This description paragraph contains invalid markup. Currently, only " -"and are permitted." -msgstr "" -"Ez a leírásbekezdés érvénytelen jelölőt tartalmaz. Jelenleg csak az és " -"a engedélyezett." +#: tools/ascli-actions-mdata.c:443 +msgid "Version" +msgstr "Verzió" -#: src/as-validator-issue-tag.h:57 +#: tools/ascli-actions-mdata.c:467 msgid "" -"This element (paragraph, list, etc.) of a tag must not be " -"localized individually in collection metadata. Localize the whole " -" tag instead. The AppStream collection metadata generator (e." -"g. `appstream-generator`) will already do the right thing when compiling the " -"data." +"You need to give an AppStream software component type to generate a " +"template. Possible values are:" msgstr "" -"Egy címke elemét (bekezdés, lista, stb.) egyénileg kell " -"honosítani a gyűjtemény metaadataiban. Honosítsa inkább a teljes " -" címkét. Az AppStream gyűjtemény metaadat-előállítója (vagyis " -"az „appstream-generator”) már el fogja végezni a megfelelő dolgot az adatok " -"fordításakor." +"Meg kell adnia egy AppStream szoftverösszetevő-típust egy sablon " +"előállításához. A lehetséges értékek:" -#: src/as-validator-issue-tag.h:455 +#: tools/ascli-actions-mdata.c:469 +#, c-format msgid "" -"This generic component is missing a long description. It may be useful to " -"add one." +"The software component type '%s' is not valid in AppStream. Possible values " +"are:" msgstr "" -"Ebből az általános összetevőből hiányzik egy hosszú leírás. Hasznos lenne " -"hozzáadni egyet." +"A(z) „%s” szoftverösszetevő-típus nem érvényes az AppStreamben. A lehetséges " +"értékek:" -#: src/as-validator-issue-tag.h:421 -msgid "" -"This tag is a GNOME-specific extension to AppStream and not part of the " -"official specification. Do not expect it to work in all implementations and " -"in all software centers." -msgstr "" -"Ez a címke egy GNOME-ra jellemző kiterjesztés az AppStreamhez, és nem része " -"a hivatalos specifikációnak. Ne számítson arra, hogy működni fog minden " -"megvalósításban és minden szoftverközpontban." +#: tools/ascli-actions-mdata.c:487 +#, c-format +msgid "The .desktop file '%s' does not exist." +msgstr "A(z) „%s” .desktop fájl nem létezik." -#: src/as-validator-issue-tag.h:41 -msgid "This tag requires a type property." -msgstr "Ez a címke egy típus tulajdonságot igényel." +#: tools/ascli-actions-mdata.c:493 +#, c-format +msgid "Unable to read the .desktop file: %s" +msgstr "Nem lehet olvasni a .desktop fájlt: %s" -#: data/org.freedesktop.appstream.cli.metainfo.xml:15 -msgid "" -"This tool allows for reading, writing, validating and transformation of " -"AppStream XML or YAML metadata. It also gives access to the system metadata " -"pool, for example to query for software that provides a specific MIME-type, " -"and installing it by its software component identifier." -msgstr "" -"Ezzel az eszközzel AppStream XML vagy YAML metaadatokat olvashat, írhat, " -"érvényesíthet és alakíthat át. Hozzáférést is biztosít a rendszer " -"metaadataihoz, például le tudja kérdezni a szoftvereket, amelyek bizonyos " -"MIME-típusokat biztosítanak, és telepíteni tudja a szoftverösszetevő-" -"azonosítója alapján." +#: tools/ascli-actions-mdata.c:564 +#, c-format +msgid "Unable to build the template metainfo file: %s" +msgstr "Nem lehet összeállítani a sablon metainformációs fájlt: %s" -#: src/as-validator-issue-tag.h:388 -msgid "" -"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." -msgstr "" +#: tools/ascli-actions-mdata.c:572 +#, c-format +msgid "Unable to save the template metainfo file: %s" +msgstr "Nem lehet elmenteni a sablon metainformációs fájlt: %s" -#: tools/appstream-cli.c:648 -msgid "" -"Too many parameters: Need two version numbers or version numbers and a " -"comparison operator." -msgstr "" -"Túl sok paraméter: két verziószám vagy egy verziószám és egy összehasonlító " -"operátor szükséges." +#. TRANSLATORS: In the status report of ascli: Header +#: tools/ascli-actions-misc.c:47 +msgid "AppStream Status:" +msgstr "AppStream állapot:" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:461 -msgid "" -"Type 'console-application' component, but no information about binaries in " -"$PATH was provided via a 'provides/binary' tag." -msgstr "" -"Gépelje be a „console-application” összetevőt, de nem lett információ " -"megadva a $PATH környezeti változóban lévő binárissal kapcsolatban egy " -"„provides/binary” címkén keresztül." +#: tools/ascli-actions-misc.c:48 +#, c-format +msgid "Version: %s" +msgstr "Verzió: %s" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:491 -msgid "" -"Type 'driver' component, but no modalias information was provided via a " -"provides/modalias tag." -msgstr "" -"Gépelje be a „driver” összetevőt, de nem lett modalias-információ megadva " -"egy „provides/modalias” címkén keresztül." +#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions +#: tools/ascli-actions-misc.c:52 +msgid "Distribution metadata:" +msgstr "Disztribúció metaadatok:" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:485 -msgid "" -"Type 'font' component, but no font information was provided via a 'provides/" -"font' tag." -msgstr "" -"Gépelje be a „font” összetevőt, de nem lett betűkészlet-információ megadva " -"egy „provides/font címkén keresztül." +#: tools/ascli-actions-misc.c:94 +msgid "Iconsets" +msgstr "Ikonkészletek" -#: src/as-validator.c:333 -msgid "URL format is invalid." -msgstr "" +#: tools/ascli-actions-misc.c:105 +msgid "No icons." +msgstr "Nincsenek ikonok." -#: tools/ascli-actions-mdata.c:544 -#, c-format -msgid "Unable to build the template metainfo file: %s" -msgstr "Nem lehet összeállítani a sablon metainformációs fájlt: %s" +#. TRANSLATORS: No metainfo files have been found +#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 +msgid "Empty." +msgstr "Üres." -#. TRANSLATORS: User is trying to convert a file in ascli -#: tools/ascli-actions-mdata.c:400 -msgid "" -"Unable to convert file: Could not determine output format, please set it " -"explicitly using '--format='." -msgstr "" -"Nem lehet átalakítani a fájlt: nem sikerült meghatározni a kimeneti " -"formátumot, állítsa be egyértelműen a „--format=” használatával." +#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report +#: tools/ascli-actions-misc.c:116 +msgid "Metainfo files:" +msgstr "Metainformációs fájlok:" -#. TRANSLATORS: We failed to find any component in the database, likely due to an error -#: tools/ascli-actions-mdata.c:177 +#: tools/ascli-actions-misc.c:123 #, c-format -msgid "Unable to find component matching %s!" -msgstr "Nem található a következőre illeszkedő összetevő: %s!" +msgid "Found %i components." +msgstr "%i összetevő található." -#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:266 -#: tools/ascli-actions-pkgmgr.c:93 +#. TRANSLATORS: Found metainfo files in legacy directories +#: tools/ascli-actions-misc.c:138 #, c-format -msgid "Unable to find component with ID '%s'!" -msgstr "Nem található összetevő a következő azonosítóval: „%s”!" +msgid "Found %i components in legacy paths." +msgstr "%i összetevő található örökölt útvonalakon." -#: tools/ascli-actions-misc.c:224 -#, fuzzy, c-format -msgid "Unable to load existing desktop-entry file template: %s" -msgstr "A .desktop fájl nem olvasható: %s" +#. TRANSLATORS: Status summary in ascli +#: tools/ascli-actions-misc.c:145 +msgid "Summary:" +msgstr "Összegzés:" -#: src/as-validator-issue-tag.h:356 -msgid "Unable to reach remote icon at the given web location - does it exist?" -msgstr "Nem lehet elérni a távoli ikont a megadott webhelyen – létezik?" +#: tools/ascli-actions-misc.c:153 +#, c-format +msgid "We have information on %i software components." +msgstr "%i szoftverkomponensről van információnk." -#: src/as-validator-issue-tag.h:378 -msgid "" -"Unable to reach remote location that this URL references - does it exist?" -msgstr "" -"Nem lehet elérni a távoli helyet, amelyre ez az URL hivatkozik – létezik?" +#: tools/ascli-actions-misc.c:159 +#, c-format +msgid "Error while loading the metadata pool: %s" +msgstr "Hiba a metaadat-tároló betöltésekor: %s" -#: src/as-validator-issue-tag.h:179 -msgid "" -"Unable to reach the screenshot image on its remote location - does the image " -"exist?" -msgstr "Nem lehet elérni a képernyőképet a távoli helyén – létezik a kép?" +#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 +#, fuzzy +msgid "You need to specify a metainfo file as input." +msgstr "Meg kell adnia egy metaadatfájlt." -#: src/as-validator-issue-tag.h:184 +#: tools/ascli-actions-misc.c:188 +#, fuzzy msgid "" -"Unable to reach the screenshot video on its remote location - does the video " -"file exist?" -msgstr "" -"Nem lehet elérni a képernyőkép-videót a távoli helyén – létezik a videofájl?" +"You need to specify a desktop-entry file to create or augment as output." +msgstr "Meg kell adnia egy fájlt az ellenőrzéshez!" -#: src/as-validator-issue-tag.h:542 -msgid "Unable to read file." -msgstr "Nem lehet olvasni a fájlt." +#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 +#: tools/ascli-actions-misc.c:515 +#, c-format +msgid "Metainfo file '%s' does not exist." +msgstr "A(z) „%s” metainformációs fájl nem létezik." -#: src/as-validator-issue-tag.h:574 -msgid "Unable to read the .desktop file associated with this component." -msgstr "Nem lehet olvasni az összetevőhöz hozzárendelt .desktop fájlt." +#: tools/ascli-actions-misc.c:219 +#, c-format +msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." +msgstr "A létező „%s” asztalbejegyzés kiegészítése a(z) „%s” adataival." + +#: tools/ascli-actions-misc.c:224 +#, fuzzy, c-format +msgid "Unable to load existing desktop-entry file template: %s" +msgstr "A .desktop fájl nem olvasható: %s" -#: tools/ascli-actions-mdata.c:473 +#: tools/ascli-actions-misc.c:228 #, c-format -msgid "Unable to read the .desktop file: %s" -msgstr "Nem lehet olvasni a .desktop fájlt: %s" +msgid "Creating new desktop-entry file '%s' using data from '%s'" +msgstr "Új asztali bejegyzés készítése '%s' adat felhasználásával '%s'" -#: src/as-pool.c:606 -msgid "Unable to remove old cache." -msgstr "Nem lehet eltávolítani a régi gyorsítótárat." +#: tools/ascli-actions-misc.c:284 +msgid "No stock icon name was provided in the metainfo file. Can not continue." +msgstr "" +"Nincs gyári ikonnév megadva a metainformációs fájlban. Nem lehet folytatni." + +#: tools/ascli-actions-misc.c:306 +msgid "" +"No provided binary specified in metainfo file, and no exec command specified " +"via '--exec'. Can not create 'Exec=' key." +msgstr "" +"Nincs bináris megadva a metainformációs fájlban, és nincs végrehajtandó " +"parancs megadva az „--exec” kapcsolóval. Az „Esc=” kulcs nem hozható létre." #: tools/ascli-actions-misc.c:370 #, fuzzy, c-format msgid "Unable to save desktop entry file: %s" msgstr "A .desktop fájl nem olvasható: %s" -#: tools/ascli-actions-mdata.c:552 -#, c-format -msgid "Unable to save the template metainfo file: %s" -msgstr "Nem lehet elmenteni a sablon metainformációs fájlt: %s" +#: tools/ascli-actions-misc.c:393 +msgid "You need to specify a NEWS file as input." +msgstr "Meg kell adnia egy NEW fájlt bemenetként." + +#: tools/ascli-actions-misc.c:397 +msgid "" +"You need to specify a metainfo file to augment, or '-' to print to stdout." +msgstr "" +"Meg kell adnia egy metainformációs fájlt az argumentumnak, vagy „-” a " +"szabványos kimenetre íráshoz." + +#: tools/ascli-actions-misc.c:402 +msgid "No output filename specified, modifying metainfo file directly." +msgstr "" +"Nincs kimeneti fájlnév megadva, a metainformációs fájl közvetlen módosítása." + +#: tools/ascli-actions-misc.c:509 +msgid "You need to specify a NEWS file as output, or '-' to print to stdout." +msgstr "" +"Meg kell adnia egy NEW fájlt kimenetként, vagy „-” a szabványos kimenetre " +"íráshoz." + +#: tools/ascli-actions-misc.c:540 +msgid "You need to specify a NEWS format to write the output in." +msgstr "Meg kell adnia a NEWS formátumot, amiben a bemeneti van." + +#: tools/ascli-actions-pkgmgr.c:53 +msgid "" +"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" +"\" (part of PackageKit) is available." +msgstr "" +"Nem található megfelelő csomagkezelő CLI. Győződjön meg arról, hogy például " +"a „pkcon” (a PackageKit része) elérhető-e." #: tools/ascli-actions-pkgmgr.c:67 #, c-format msgid "Unable to spawn package manager: %s" msgstr "Nem lehet elindítani a csomagkezelőt: %s" -#: tools/ascli-actions-mdata.c:322 +#. TRANSLATORS: We found no distribution package or bundle to install to make this software available +#: tools/ascli-actions-pkgmgr.c:106 #, c-format -msgid "Unable to write to '%s', can not install metainfo file." -msgstr "Nem lehet írni ide: „%s”. A metainformációs fájl nem telepíthető." +msgid "Component '%s' has no installation candidate." +msgstr "A(z) „%s” összetevőnek nincs telepítésre jelölt változata." -#. TRANSLATORS: ascli has been run with unknown command. -#: tools/appstream-cli.c:1009 +#: tools/ascli-actions-validate.c:176 tools/ascli-actions-validate.c:354 #, c-format -msgid "Unknown command '%s'." -msgstr "Ismeretlen parancs: „%s”." +msgid "File '%s' does not exist." +msgstr "A(z) „%s” fájl nem létezik." -#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. -#: tools/appstream-cli.c:608 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "error"-type hints +#: tools/ascli-actions-validate.c:228 #, c-format -msgid "Unknown compare relation '%s'. Valid values are:" -msgstr "Ismeretlen „%s” összehasonlító-kapcsolat. Az érvényes értékek:" - -#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) -#: tools/appstream-cli.c:675 -msgid "" -"Use the given .desktop file to fill in the basic values of the metainfo file." -msgstr "" -"A megadott .desktop fájl használata a metainfo fájl alapvető értékeinek " -"kitöltésére." - -#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) -#: tools/appstream-cli.c:725 -msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." -msgstr "" - -#. TRANSLATORS: this is the menu spec main category for Utilities -#: src/as-category.c:329 -msgid "Utilities" -msgstr "Segédprogramok" +msgid "errors: %lu" +msgstr "hiba: %lu" -#: tools/appstream-cli.c:856 -msgid "Validate AppStream XML files for issues." -msgstr "AppStream XML-fájlok érvényesítése a hibáknál." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "warning"-type hints +#: tools/ascli-actions-validate.c:235 +#, c-format +msgid "warnings: %lu" +msgstr "figyelmeztetés: %lu" -#: tools/appstream-cli.c:857 -msgid "Validate an installed file-tree of an application for valid metadata." -msgstr "" -"Egy alkalmazás telepített fájlfájának összevetése az érvényes metaadatokkal." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "info"-type hints +#: tools/ascli-actions-validate.c:242 +#, c-format +msgid "infos: %lu" +msgstr "információ: %lu" -#: tools/ascli-actions-validate.c:301 tools/ascli-actions-validate.c:442 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "pedantic"-type hints +#: tools/ascli-actions-validate.c:249 #, c-format -msgid "Validation failed: %s" -msgstr "Az érvényesítés sikertelen: %s" +msgid "pedantic: %lu" +msgstr "akadékoskodó: %lu" -#: tools/ascli-actions-validate.c:289 tools/ascli-actions-validate.c:430 +#: tools/ascli-actions-validate.c:268 tools/ascli-actions-validate.c:342 +msgid "You need to specify at least one file to validate!" +msgstr "Meg kell adnia legalább egy fájlt az érvényesítéshez!" + +#: tools/ascli-actions-validate.c:294 tools/ascli-actions-validate.c:435 msgid "Validation was successful." msgstr "Az érvényesítés sikeres volt." -#: tools/ascli-actions-validate.c:291 tools/ascli-actions-validate.c:432 +#: tools/ascli-actions-validate.c:296 tools/ascli-actions-validate.c:437 #, c-format msgid "Validation was successful: %s" msgstr "Az érvényesítés sikeres volt: %s" -#: tools/appstream-cli.c:851 -msgid "Value of the item that should be found." -msgstr "Az elem értéke, amelyet meg kell találni." - -#: src/as-category.c:177 -msgctxt "Category of Graphics" -msgid "Vector Graphics" -msgstr "Vektorgrafika" - -#: tools/ascli-actions-misc.c:48 +#: tools/ascli-actions-validate.c:306 tools/ascli-actions-validate.c:447 #, c-format -msgid "Version: %s" -msgstr "Verzió: %s" - -#: src/as-category.c:180 -msgctxt "Category of Graphics" -msgid "Viewers" -msgstr "Megjelenítők" +msgid "Validation failed: %s" +msgstr "Az érvényesítés sikertelen: %s" -#: tools/ascli-actions-misc.c:153 +#: tools/ascli-actions-validate.c:368 tools/ascli-actions-validate.c:497 #, c-format -msgid "We have information on %i software components." -msgstr "%i szoftverkomponensről van információnk." - -#: src/as-category.c:270 -msgctxt "Category of Communication" -msgid "Web Browsers" -msgstr "Webböngészők" - -#: src/as-category.c:202 -msgctxt "Category of Office" -msgid "Word Processor" -msgstr "Szövegszerkesztő" - -#: tools/appstream-cli.c:871 -msgid "Write NEWS text or YAML file with information from a metainfo file." -msgstr "" - -#: tools/appstream-cli.c:874 msgid "" -"You can find information about subcommand-specific options by passing \"--" -"help\" to the subcommand." +"The validator can not create reports in the '%s' format. You may select " +"'yaml' or 'text' instead." msgstr "" -"Információkat találhat az alparancsra jellemző kapcsolókról a „--help” " -"átadásával az alparancsnak." +"Az érvényesítő nem képes jelentéseket létrehozni „%s” formátumban. Válasszon " +"inkább „yaml” vagy „text” formátumot." -#. TRANSLATORS: In ascli: The requested action needs higher permissions. -#: tools/ascli-actions-mdata.c:70 -msgid "You might need superuser permissions to perform this action." -msgstr "A művelet végrehajtásához rendszergazdai jogokra lehet szükség." +#: tools/ascli-actions-validate.c:390 tools/ascli-actions-validate.c:484 +msgid "You need to specify a root directory to start validation!" +msgstr "Meg kell adnia egy gyökérkönyvtárat az érvényesítés megkezdéséhez!" -#: tools/ascli-actions-mdata.c:447 -msgid "" -"You need to give an AppStream software component type to generate a " -"template. Possible values are:" -msgstr "" -"Meg kell adnia egy AppStream szoftverösszetevő-típust egy sablon " -"előállításához. A lehetséges értékek:" +#: tools/ascli-utils.c:266 +msgid "Identifier" +msgstr "Azonosító" -#: tools/appstream-cli.c:579 -msgid "" -"You need to provide at least two version numbers to compare as parameters." +#: tools/ascli-utils.c:268 +msgid "Internal ID" msgstr "" -"Meg kell adnia legalább két összehasonlítandó verziószámot paraméterként." - -#: tools/ascli-actions-misc.c:393 -#, fuzzy -msgid "You need to specify a NEWS file as input." -msgstr "Meg kell adnia egy metaadatfájlt." - -#: tools/ascli-actions-misc.c:509 -#, fuzzy -msgid "You need to specify a NEWS file as output, or '-' to print to stdout." -msgstr "Meg kell adnia egy metaadatfájlt." -#: tools/ascli-actions-misc.c:540 -#, fuzzy -msgid "You need to specify a NEWS format to write the output in." -msgstr "Meg kell adnia egy bemeneti és egy kimeneti fájlt." +#: tools/ascli-utils.c:269 +msgid "Name" +msgstr "Név" -#. TRANSLATORS: ascli has been run without command. -#: tools/appstream-cli.c:925 -msgid "You need to specify a command." -msgstr "Meg kell adnia egy parancsot." +#: tools/ascli-utils.c:270 +msgid "Summary" +msgstr "Összegzés" -#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments -#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. -#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:254 -#: tools/ascli-actions-pkgmgr.c:80 -msgid "You need to specify a component-ID." -msgstr "Meg kell adnia egy összetevő-azonosítót." +#: tools/ascli-utils.c:271 +msgid "Package" +msgstr "Csomag" -#: tools/ascli-actions-misc.c:188 -#, fuzzy -msgid "" -"You need to specify a desktop-entry file to create or augment as output." -msgstr "Meg kell adnia egy fájlt az ellenőrzéshez!" +#: tools/ascli-utils.c:272 +msgid "Bundle" +msgstr "Csomag" -#: tools/ascli-actions-mdata.c:309 -msgid "You need to specify a metadata file." -msgstr "Meg kell adnia egy metaadatfájlt." +#: tools/ascli-utils.c:273 +msgid "Homepage" +msgstr "Honlap" -#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 -#, fuzzy -msgid "You need to specify a metainfo file as input." -msgstr "Meg kell adnia egy metaadatfájlt." +#: tools/ascli-utils.c:274 +msgid "Icon" +msgstr "Ikon" -#: tools/ascli-actions-misc.c:397 -#, fuzzy -msgid "" -"You need to specify a metainfo file to augment, or '-' to print to stdout." -msgstr "Meg kell adnia egy metaadatfájlt." +#. developer name +#: tools/ascli-utils.c:294 +msgid "Developer" +msgstr "Fejlesztő" -#: tools/ascli-actions-validate.c:385 tools/ascli-actions-validate.c:479 -msgid "You need to specify a root directory to start validation!" -msgstr "Meg kell adnia egy gyökérkönyvtárat az érvényesítés megkezdéséhez!" +#: tools/ascli-utils.c:300 +msgid "Extends" +msgstr "Kibővíti" -#: tools/ascli-actions-mdata.c:164 -msgid "You need to specify a term to search for." -msgstr "Meg kell adnia egy kifejezést a kereséshez." +#: tools/ascli-utils.c:306 +msgid "Description" +msgstr "Leírás" -#: tools/ascli-actions-mdata.c:357 -msgid "You need to specify an input and output file." -msgstr "Meg kell adnia egy bemeneti és egy kimeneti fájlt." +#: tools/ascli-utils.c:326 +msgid "Default Screenshot URL" +msgstr "Alapértelmezett képernyőkép URL" -#: tools/ascli-actions-validate.c:263 tools/ascli-actions-validate.c:337 -msgid "You need to specify at least one file to validate!" -msgstr "Meg kell adnia legalább egy fájlt az érvényesítéshez!" +#. project group +#: tools/ascli-utils.c:333 +msgid "Project Group" +msgstr "Projektcsoport" -#. TRANSLATORS: List of "grey-listed" words sperated with ";" -#. * Do not translate this list directly. Instead, -#. * provide a list of words in your language that people are likely -#. * to include in a search but that should normally be ignored in -#. * the search. -#. -#: src/as-pool.c:107 -msgid "app;application;package;program;programme;suite;tool" -msgstr "app;alkalmazás;csomag;program;alkalmazáscsomag;eszköz" +#. license +#: tools/ascli-utils.c:336 +msgid "License" +msgstr "Licenc" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:223 -#, c-format -msgid "errors: %lu" -msgstr "hiba: %lu" +#: tools/ascli-utils.c:342 +msgid "Categories" +msgstr "Kategóriák" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:237 -#, c-format -msgid "infos: %lu" -msgstr "információ: %lu" +#: tools/ascli-utils.c:350 +msgid "Compulsory for" +msgstr "Kötelező ehhez" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:244 -#, c-format -msgid "pedantic: %lu" -msgstr "akadékoskodó: %lu" +#: tools/ascli-utils.c:378 +msgid "Provided Items" +msgstr "Szolgáltatott elemek" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:230 -#, c-format -msgid "warnings: %lu" -msgstr "figyelmeztetés: %lu" +#, fuzzy, c-format +#~ msgid "Unable to open new cache file: %s" +#~ msgstr "Nem lehet olvasni a .desktop fájlt: %s" #~ msgid "" -#~ "Unable to find the curl binary. remote URLs can not be checked for " -#~ "validity!" +#~ "AppStream is a cross-distribution specification to provide metadata about " +#~ "software components." #~ msgstr "" -#~ "Nem található a curl bináris. A távoli URL-ek érvényességét nem lehet " -#~ "ellenőrizni!" +#~ "Az AppStream egy disztribúciók közötti specifikáció, amely metaadatokat " +#~ "biztosít a szoftverösszetevőkről." -#~ msgid "Command '%s' is unknown." -#~ msgstr "A(z) „%s” parancs ismeretlen." - -#~ msgid "Do not use any caches when performing the request." -#~ msgstr "Ne használjon semmilyen gyorsítótárat a kérés végrehajtásakor." - -#~ msgid "AppStream cache update failed." -#~ msgstr "Az AppStream gyorsítótár-frissítés meghiúsult." +#, c-format +#~ msgid "Unable to write to '%s', can not install metainfo file." +#~ msgstr "Nem lehet írni ide: „%s”. A metainformációs fájl nem telepíthető." +#, c-format #~ msgid "" -#~ "AppStream data pool was loaded, but some metadata was ignored due to " -#~ "errors." +#~ "Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " +#~ "suffix." #~ msgstr "" -#~ "Az AppStream adattároló be lett töltve, de néhány metaadat mellőzve lett " -#~ "a hibák miatt." +#~ "A(z) „%s” nem másolható: a fájlnak nincs „.metainfo.xml” vagy „.appdata." +#~ "xml” végződése." -#~ msgid "Can not search for unknown component type." -#~ msgstr "Nem lehet rákeresni ismeretlen összetevőtípusra." +#~ msgid "An item type (e.g. lib, bin, python3, …)" +#~ msgstr "Egy elemtípus (például lib, bin, python3, …)" -#, fuzzy -#~ msgid "Category of Games" -#~ msgstr "Kategóriák" - -#, fuzzy -#~ msgid "Category of Office" -#~ msgstr "Kategóriák" - -#, fuzzy -#~ msgid "Category of Science" -#~ msgstr "Kategóriák" - -#~ msgid "Extensions" -#~ msgstr "Kiterjesztések" +#~ msgid "Get components which provide the given item." +#~ msgstr "Összetevők lekérése, amelyek a megadott elemet biztosítják." -#~ msgid "File %s not found or permission denied!" -#~ msgstr "A(z) %s fájl nem található vagy a hozzáférés megtagadva!" - -#~ msgid "No component providing '%s::%s' found." -#~ msgstr "Nem található „%s::%s” szolgáltatását biztosító összetevő." +#, c-format +#~ msgid "Unknown command '%s'." +#~ msgstr "Ismeretlen parancs: „%s”." -#~ msgid "XDG Menu XML file '%s' is damaged." -#~ msgstr "A(z) „%s” XDG menü XML fájl sérült." +#~ msgid "Value of the item that should be found." +#~ msgstr "Az elem értéke, amelyet meg kell találni." diff -Nru appstream-0.12.10/po/id.po appstream-0.14.5/po/id.po --- appstream-0.12.10/po/id.po 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/po/id.po 2021-08-28 20:15:28.000000000 +0000 @@ -1,16 +1,27 @@ +# #-#-#-#-# id.po (AppStream) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Matthias Klumpp # This file is distributed under the same license as the appstream package. # # Translators: -# Andika Triwidada , 2014-2016 +# Andika Triwidada , 2014-2016, 2020. +# #-#-#-#-# id.po (appstream-glib) #-#-#-#-# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Andika Triwidada , 2016 +# Richard Hughes , 2016. #zanata +# Andika Triwidada , 2017. #zanata +# Reza Almanda , 2021. +# +# Translators: msgid "" msgstr "" -"Project-Id-Version: AppStream\n" +"Project-Id-Version: appstream-glib\n" "Report-Msgid-Bugs-To: appstream@lists.freedesktop.org\n" -"POT-Creation-Date: 2020-01-14 01:44+0100\n" -"PO-Revision-Date: 2018-06-16 08:10+0000\n" -"Last-Translator: Andika Triwidada \n" +"POT-Creation-Date: 2021-08-28 16:09+0200\n" +"PO-Revision-Date: 2021-07-10 13:34+0000\n" +"Last-Translator: Reza Almanda \n" "Language-Team: Indonesian \n" "Language: id\n" @@ -18,1904 +29,3051 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 3.0.1\n" - -#: tools/appstream-cli.c:157 -#, c-format -msgid "'%s' command" -msgstr "perintah '%s'" - -#: src/as-category.c:168 -msgctxt "Category of Graphics" -msgid "3D Graphics" -msgstr "Grafis 3D" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:254 -msgid "" -"A 'requires' or 'recommends' item requires a value to denote a valid " -"relation." -msgstr "" - -#: src/as-validator-issue-tag.h:51 -msgid "" -"A tag must not be localized in metainfo files (upstream " -"metadata). Localize the individual paragraphs instead." -msgstr "" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:195 -msgid "" -"A screenshot must contain at least one image or video in order to be useful. " -"Please add an to it." -msgstr "" - -#: src/as-validator-issue-tag.h:200 -msgid "" -"A screenshot must contain either images or videos, but not both at the same " -"time. Please use this screenshot exclusively for either static images or for " -"videos." -msgstr "" - -#: src/as-category.c:123 -msgctxt "Category of Games" -msgid "Action" -msgstr "Aksi" - -#. TRANSLATORS: this is the main category for Add-ons -#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor -#: src/as-category.c:320 tools/ascli-utils.c:398 -msgid "Add-ons" -msgstr "Pengaya" - -#: src/as-category.c:126 -msgctxt "Category of Games" -msgid "Adventure" -msgstr "Petualangan" - -#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) -#: tools/appstream-cli.c:116 -msgid "Also show pedantic hints." -msgstr "Tampilkan juga saran pedantik." - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:497 -msgid "" -"An 'extends' tag is specified, but the component is not of type 'addon', " -"'localization' or 'repository'." -msgstr "" - -#: tools/appstream-cli.c:850 -msgid "An item type (e.g. lib, bin, python3, …)" -msgstr "Suatu tipe butir (mis. lib, bin, python3, ...)" - -#: data/org.freedesktop.appstream.cli.metainfo.xml:9 -msgid "An utility to work with AppStream metadata" -msgstr "Utilitas untuk bekerja dengan metadata AppStream" +"X-Generator: Weblate 4.8-dev\n" #: data/org.freedesktop.appstream.cli.metainfo.xml:8 msgid "AppStream CLI" msgstr "CLI AppStream" -#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. -#: tools/appstream-cli.c:947 -#, c-format -msgid "" -"AppStream CLI tool version: %s\n" -"AppStream library version: %s" -msgstr "" -"Alat CLI AppStream versi: %s\n" -"Pustaka AppStream versi: %s" - -#. TRANSLATORS: In the status report of ascli: Header -#: tools/ascli-actions-misc.c:47 -msgid "AppStream Status:" -msgstr "Status AppStream:" - -#. we performed a cache refresh -#. TRANSLATORS: Updating the metadata cache succeeded -#: tools/ascli-actions-mdata.c:80 -msgid "AppStream cache update completed successfully." -msgstr "Pemutakhiran singgahan AppStream berakhir dengan sukses." - -#. cache wasn't updated, so the update wasn't necessary -#: tools/ascli-actions-mdata.c:86 -msgid "AppStream cache update is not necessary." -msgstr "Pemutakhiran singgahan AppStream tidak perlu." - -#. TRANSLATORS: This is the header to the --help menu for subcommands -#. TRANSLATORS: This is the header to the --help menu -#: tools/appstream-cli.c:154 tools/appstream-cli.c:843 -msgid "AppStream command-line interface" -msgstr "Antarmuka baris perintah AppStream" - -#: src/as-validator-issue-tag.h:63 -msgid "" -"AppStream descriptions support only a limited set of tags to format text: " -"Paragraphs (

                                                                                                                                                                                                    ) and lists (

                                                                                                                                                                                                      ,
                                                                                                                                                                                                        ). This description markup contains " -"an invalid XML tag that would not be rendered correctly in applications " -"supporting the metainfo specification." -msgstr "" +#: data/org.freedesktop.appstream.cli.metainfo.xml:9 +msgid "An utility to work with AppStream metadata" +msgstr "Utilitas untuk bekerja dengan metadata AppStream" #: data/org.freedesktop.appstream.cli.metainfo.xml:12 -#, fuzzy msgid "" -"AppStream is a cross-distribution specification to provide metadata about " -"software components." -msgstr "" -"AppStream adalah spesifikasi lintas-distribusi untuk menyediakan metadata " -"tentang komponen perangkat lunak." +"AppStream is a metadata specification which permits software components to " +"provide information about themselves to automated systems and end-users " +"before the software is actually installed. The AppStream project provides " +"facilities to easily access and transform this metadata, as well as a few " +"additional services for building feature-rich software centers and similar " +"applications that make use of software metadata." +msgstr "" +"AppStream adalah memungkinkan perangkat lunak memberika informasi tentang " +"diri mereka ke sistem otomatis dan pengguna akhir sebelum benar-benar " +"diinstal. Proyek AppStream menyediakan fasilitas untuk dengan mudah " +"mengakses dan mengubah metadata ini, serta beberapa layanan tambahan untuk " +"membangun pusat perangkat lunak yang kaya fitur dan aplikasi serupa yang " +"memanfaatkan metadata perangkat lunak." + +#: data/org.freedesktop.appstream.cli.metainfo.xml:18 +msgid "" +"The appstreamcli command-line tool allows to read, write, and " +"transform AppStream XML or YAML metadata as well as to validate it for " +"compliance with the specification. It also provides easy access to the " +"system metadata pool, for example to query for software that provides a " +"specific Mediatype handler or for installing software by its component " +"identifier." +msgstr "" +"appstreamcli memungkinkan pembacaan, penulisan, validasi, dan " +"transformasi metadata XML atau YAML AppStream. Ini memberi akses ke pool " +"metadata sistem untuk misalnya mengkueri perangkat lunak yang menyediakan " +"MIME-type tertentu dan memasangnya dengan identifier komponen perangkat " +"lunaknya." -#: src/as-pool.c:1937 -#, fuzzy, c-format -msgid "" -"AppStream system cache refresh failed. Turn on verbose mode to get detailed " -"issue information." -msgstr "" -"Pemutakhiran singgahan AppStream gagal. Hidupkan mode rinci untuk memperoleh " -"informasi masalah lebih terrinci." +#: src/as-category.c:66 +msgctxt "Category of AudioVideo" +msgid "Featured" +msgstr "Unggulan" -#. TRANSLATORS: Output if appstreamcli --version is executed. -#: tools/appstream-cli.c:944 -#, c-format -msgid "AppStream version: %s" -msgstr "AppStream versi: %s" +#: src/as-category.c:69 +msgctxt "Category of AudioVideo" +msgid "Audio Creation & Editing" +msgstr "Pembuatan & Penyuntingan Audio" -#: src/as-category.c:129 -msgctxt "Category of Games" -msgid "Arcade" -msgstr "Arkade" +#: src/as-category.c:75 +msgctxt "Category of AudioVideo" +msgid "Music Players" +msgstr "Pemutar Musik" -#: src/as-category.c:234 -msgctxt "Category of Science" -msgid "Artificial Intelligence" -msgstr "Kecerdasan Buatan" +#: src/as-category.c:84 +msgctxt "Category of Development" +msgid "Featured" +msgstr "Unggulan" -#: src/as-validator-issue-tag.h:91 -msgid "" -"As per AppStream specification, the mentioned tag must only appear once in " -"this context. Having multiple tags of this kind is not valid." -msgstr "" +#: src/as-category.c:87 +msgctxt "Category of Development" +msgid "Debuggers" +msgstr "Debugger" -#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command -#: tools/appstream-cli.c:766 -msgid "Assume the input file is in the selected format ('yaml' or 'text')." -msgstr "" +#: src/as-category.c:90 +msgctxt "Category of Development" +msgid "IDEs" +msgstr "IDE" -#: src/as-category.c:101 +#: src/as-category.c:99 msgctxt "Category of Education" -msgid "Astronomy" -msgstr "Astronomi" +msgid "Featured" +msgstr "Unggulan" -#: src/as-category.c:237 -msgctxt "Category of Science" +#: src/as-category.c:102 +msgctxt "Category of Education" msgid "Astronomy" msgstr "Astronomi" -#. TRANSLATORS: this is the menu spec main category for Audio & Video -#: src/as-category.c:302 -msgid "Audio & Video" -msgstr "Audio & Video" +#: src/as-category.c:105 +msgctxt "Category of Education" +msgid "Chemistry" +msgstr "Kimia" -#: src/as-category.c:68 -msgctxt "Category of AudioVideo" -msgid "Audio Creation & Editing" -msgstr "Pembuatan & Penyuntingan Audio" +#: src/as-category.c:108 +msgctxt "Category of Education" +msgid "Languages" +msgstr "Bahasa" -#: tools/ascli-actions-misc.c:219 -#, c-format -msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." -msgstr "" +#: src/as-category.c:112 +msgctxt "Category of Education" +msgid "Math" +msgstr "Matematika" -#: src/as-provided.c:146 -msgid "Binaries" -msgstr "Biner" +#: src/as-category.c:121 +msgctxt "Category of Games" +msgid "Featured" +msgstr "Unggulan" + +#: src/as-category.c:124 +msgctxt "Category of Games" +msgid "Action" +msgstr "Aksi" + +#: src/as-category.c:127 +msgctxt "Category of Games" +msgid "Adventure" +msgstr "Petualangan" + +#: src/as-category.c:130 +msgctxt "Category of Games" +msgid "Arcade" +msgstr "Arkade" -#: src/as-category.c:132 +#: src/as-category.c:133 msgctxt "Category of Games" msgid "Blocks" msgstr "Balok" -#: src/as-category.c:135 +#: src/as-category.c:136 msgctxt "Category of Games" msgid "Board" msgstr "Papan" -#: tools/ascli-utils.c:299 -msgid "Bundle" -msgstr "Bundel" - -#: src/as-pool.c:1828 -#, c-format -msgid "Cache location '%s' is not writable." -msgstr "Lokasi singgahan '%s' tidak dapat ditulisi." - -#: src/as-category.c:191 -msgctxt "Category of Office" -msgid "Calendar" -msgstr "Kalender" - -#: tools/ascli-actions-mdata.c:327 -#, c-format -msgid "" -"Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " -"suffix." -msgstr "" -"Tidak bisa menyalin '%s': Berkas tidak memiliki akhiran '.metainfo.xml' atau " -"'.appdata.xml'." - -#: src/as-category.c:138 +#: src/as-category.c:139 msgctxt "Category of Games" msgid "Card" msgstr "Kartu" -#: tools/ascli-utils.c:369 -msgid "Categories" -msgstr "Kategori" +#: src/as-category.c:142 +msgctxt "Category of Games" +msgid "Emulators" +msgstr "Emulator" -#: src/as-category.c:259 -msgctxt "Category of Communication" -msgid "Chat" -msgstr "Komunikasi" +#: src/as-category.c:145 +msgctxt "Category of Games" +msgid "Kids" +msgstr "Anak-anak" -#: src/as-category.c:104 -msgctxt "Category of Education" -msgid "Chemistry" -msgstr "Kimia" +#: src/as-category.c:148 +msgctxt "Category of Games" +msgid "Logic" +msgstr "Logika" -#: src/as-category.c:240 -msgctxt "Category of Science" -msgid "Chemistry" -msgstr "Kimia" +#: src/as-category.c:151 +msgctxt "Category of Games" +msgid "Role Playing" +msgstr "Bermain Peran" -#: src/as-category.c:214 -msgctxt "Category of Addons" -msgid "Codecs" -msgstr "Kodek" +#: src/as-category.c:154 +msgctxt "Category of Games" +msgid "Sports" +msgstr "Olah Raga" -#. TRANSLATORS: this is the menu spec main category for Communication -#: src/as-category.c:326 -msgid "Communication & News" -msgstr "Komunikasi & Berita" +#: src/as-category.c:158 +msgctxt "Category of Games" +msgid "Strategy" +msgstr "Strategi" -#: tools/appstream-cli.c:866 -msgid "Compare two version numbers." -msgstr "Bandingkan dua nomor versi." +#: src/as-category.c:166 +msgctxt "Category of Graphics" +msgid "Featured" +msgstr "Unggulan" -#: src/as-provided.c:166 -msgid "Component" -msgstr "Komponen" +#: src/as-category.c:169 +msgctxt "Category of Graphics" +msgid "3D Graphics" +msgstr "Grafis 3D" -#. TRANSLATORS: We found no distribution package or bundle to install to make this software available -#: tools/ascli-actions-pkgmgr.c:106 -#, c-format -msgid "Component '%s' has no installation candidate." -msgstr "Komponen '%s' tidak punya kandidat instalasi." +#: src/as-category.c:172 +msgctxt "Category of Graphics" +msgid "Photography" +msgstr "Fotografi" -#: tools/ascli-utils.c:377 -msgid "Compulsory for" -msgstr "Wajib bagi" +#: src/as-category.c:175 +msgctxt "Category of Graphics" +msgid "Scanning" +msgstr "Pemindaian" -#: src/as-validator-issue-tag.h:361 -msgid "Consider using a secure (HTTPS) URL for the remote icon link." +#: src/as-category.c:178 +msgctxt "Category of Graphics" +msgid "Vector Graphics" +msgstr "Grafik Vektor" + +#: src/as-category.c:181 +msgctxt "Category of Graphics" +msgid "Viewers" +msgstr "Penampil" + +#: src/as-category.c:189 +msgctxt "Category of Office" +msgid "Featured" +msgstr "Unggulan" + +#: src/as-category.c:192 +msgctxt "Category of Office" +msgid "Calendar" +msgstr "Kalender" + +#: src/as-category.c:196 +msgctxt "Category of Office" +msgid "Database" +msgstr "Basis data" + +#: src/as-category.c:199 +msgctxt "Category of Office" +msgid "Finance" +msgstr "Finansial" + +#: src/as-category.c:203 +msgctxt "Category of Office" +msgid "Word Processor" +msgstr "Pengolah Kata" + +#: src/as-category.c:212 +msgctxt "Category of Addons" +msgid "Fonts" +msgstr "Fonta" + +#: src/as-category.c:215 +msgctxt "Category of Addons" +msgid "Codecs" +msgstr "Kodek" + +#: src/as-category.c:218 +msgctxt "Category of Addons" +msgid "Input Sources" +msgstr "Sumber Masukan" + +#: src/as-category.c:221 +msgctxt "Category of Addons" +msgid "Language Packs" +msgstr "Paket Bahasa" + +#: src/as-category.c:224 +msgctxt "Category of Addons" +msgid "Localization" +msgstr "Lokalisasi" + +#: src/as-category.c:232 +msgctxt "Category of Science" +msgid "Featured" +msgstr "Unggulan" + +#: src/as-category.c:235 +msgctxt "Category of Science" +msgid "Artificial Intelligence" +msgstr "Kecerdasan Buatan" + +#: src/as-category.c:238 +msgctxt "Category of Science" +msgid "Astronomy" +msgstr "Astronomi" + +#: src/as-category.c:241 +msgctxt "Category of Science" +msgid "Chemistry" +msgstr "Kimia" + +#: src/as-category.c:244 +msgctxt "Category of Science" +msgid "Math" +msgstr "Matematika" + +#: src/as-category.c:249 +msgctxt "Category of Science" +msgid "Robotics" +msgstr "Robotika" + +#: src/as-category.c:257 +msgctxt "Category of Communication" +msgid "Featured" +msgstr "Unggulan" + +#: src/as-category.c:260 +msgctxt "Category of Communication" +msgid "Chat" +msgstr "Komunikasi" + +#: src/as-category.c:267 +msgctxt "Category of Communication" +msgid "News" +msgstr "Berita" + +#: src/as-category.c:271 +msgctxt "Category of Communication" +msgid "Web Browsers" +msgstr "Peramban Web" + +#: src/as-category.c:279 +msgctxt "Category of Utility" +msgid "Featured" +msgstr "Unggulan" + +#: src/as-category.c:282 +msgctxt "Category of Utility" +msgid "Text Editors" +msgstr "Penyunting Teks" + +#: src/as-category.c:285 +msgctxt "Category of Utility" +msgid "Terminal Emulators" +msgstr "Emulator Terminal" + +#: src/as-category.c:288 +msgctxt "Category of Utility" +msgid "File System" +msgstr "Sistem Berkas" + +#: src/as-category.c:291 +msgctxt "Category of Utility" +msgid "System Monitoring" +msgstr "Pemantauan Sistem" + +#: src/as-category.c:294 +msgctxt "Category of Utility" +msgid "Security" +msgstr "Keamanan" + +#. TRANSLATORS: this is the menu spec main category for Audio & Video +#: src/as-category.c:303 +msgid "Audio & Video" +msgstr "Audio & Video" + +#. TRANSLATORS: this is the menu spec main category for Development +#: src/as-category.c:306 +msgid "Developer Tools" +msgstr "Alat Pengembang" + +#. TRANSLATORS: this is the menu spec main category for Education +#: src/as-category.c:309 +msgid "Education" +msgstr "Edukasi" + +#. TRANSLATORS: this is the menu spec main category for Game +#: src/as-category.c:312 +msgid "Games" +msgstr "Permainan" + +#. TRANSLATORS: this is the menu spec main category for Graphics +#: src/as-category.c:315 +msgid "Graphics & Photography" +msgstr "Grafis & Fotografi" + +#. TRANSLATORS: this is the menu spec main category for Office +#: src/as-category.c:318 +msgid "Office" +msgstr "Perkantoran" + +#. TRANSLATORS: this is the main category for Add-ons +#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor +#: src/as-category.c:321 tools/ascli-utils.c:371 +msgid "Add-ons" +msgstr "Pengaya" + +#. TRANSLATORS: this is the menu spec main category for Science +#: src/as-category.c:324 +msgid "Science" +msgstr "Sains" + +#. TRANSLATORS: this is the menu spec main category for Communication +#: src/as-category.c:327 +msgid "Communication & News" +msgstr "Komunikasi & Berita" + +#. TRANSLATORS: this is the menu spec main category for Utilities +#: src/as-category.c:330 +msgid "Utilities" +msgstr "Utilitas" + +#. TRANSLATORS: This is the formatting of English and localized name +#. * of the rating e.g. "Adults Only (solo adultos)" +#: src/as-content-rating.c:298 +#, c-format +msgid "%s (%s)" +msgstr "%s (%s)" + +#: src/as-content-rating.c:444 +msgid "General" +msgstr "Umum" + +#: src/as-content-rating.c:453 +msgid "ALL" +msgstr "SEMUA" + +#: src/as-content-rating.c:457 src/as-content-rating.c:560 +msgid "Adults Only" +msgstr "Hanya untuk orang dewasa" + +#: src/as-content-rating.c:459 src/as-content-rating.c:559 +msgid "Mature" +msgstr "Dewasa" + +#: src/as-content-rating.c:461 src/as-content-rating.c:558 +msgid "Teen" +msgstr "Remaja" + +#: src/as-content-rating.c:463 src/as-content-rating.c:557 +msgid "Everyone 10+" +msgstr "Semua orang 10+" + +#: src/as-content-rating.c:465 src/as-content-rating.c:556 +msgid "Everyone" +msgstr "Semua orang" + +#: src/as-content-rating.c:467 src/as-content-rating.c:555 +msgid "Early Childhood" +msgstr "Anak usia dini" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:839 +msgid "No cartoon violence" +msgstr "Tidak ada kekerasan kartun" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:841 +msgid "Cartoon characters in unsafe situations" +msgstr "Karakter kartun dalam situasi yang tidak aman" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:843 +msgid "Cartoon characters in aggressive conflict" +msgstr "Karakter kartun dalam konflik agresif" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:845 +msgid "Graphic violence involving cartoon characters" +msgstr "Kekerasan grafis yang melibatkan karakter kartun" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:850 +msgid "No fantasy violence" +msgstr "Tidak ada kekerasan fantasi" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:852 +msgid "Characters in unsafe situations easily distinguishable from reality" +msgstr "" +"Karakter dalam situasi yang tidak aman dengan mudah dibedakan dari realitas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:854 +msgid "Characters in aggressive conflict easily distinguishable from reality" +msgstr "Karakter dalam konflik agresif dengan mudah dibedakan dari realitas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:856 +msgid "Graphic violence easily distinguishable from reality" +msgstr "Kekerasan grafis dengan mudah dibedakan dari realitas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:861 +msgid "No realistic violence" +msgstr "Tidak ada kekerasan realistis" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:863 +msgid "Mildly realistic characters in unsafe situations" +msgstr "Sedikit karakter realistis dalam situasi yang tidak aman" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:865 +msgid "Depictions of realistic characters in aggressive conflict" +msgstr "Penggambaran karakter yang realistis dalam konflik agresif" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:867 +msgid "Graphic violence involving realistic characters" +msgstr "Kekerasan grafis yang melibatkan karakter yang realistis" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:872 +msgid "No bloodshed" +msgstr "Tidak ada pertumpahan darah" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:874 +msgid "Unrealistic bloodshed" +msgstr "Pertumpahan darah yang tidak realistis" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:876 +msgid "Realistic bloodshed" +msgstr "Pertumpahan darah yang realistis" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:878 +msgid "Depictions of bloodshed and the mutilation of body parts" +msgstr "Penggambaran pertumpahan darah dan mutilasi bagian tubuh" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:883 +msgid "No sexual violence" +msgstr "Tidak ada kekerasan seksual" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:885 +msgid "Rape or other violent sexual behavior" +msgstr "Perkosaan atau perilaku seksual kekerasan lainnya" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:892 +msgid "No references to alcohol" +msgstr "Tidak ada referensi untuk alkohol" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:894 +msgid "References to alcoholic beverages" +msgstr "Referensi untuk minuman beralkohol" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:896 +msgid "Use of alcoholic beverages" +msgstr "Penggunaan minuman beralkohol" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:902 +msgid "No references to illicit drugs" +msgstr "Tidak ada referensi untuk obat-obatan terlarang" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:904 +msgid "References to illicit drugs" +msgstr "Referensi untuk obat-obatan terlarang" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:906 +msgid "Use of illicit drugs" +msgstr "Penggunaan obat-obatan terlarang" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:912 +msgid "No references to tobacco products" +msgstr "Tidak ada referensi untuk produk tembakau" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:914 +msgid "References to tobacco products" +msgstr "Referensi untuk produk tembakau" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:916 +msgid "Use of tobacco products" +msgstr "Penggunaan produk tembakau" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:922 +msgid "No nudity of any sort" +msgstr "Tidak ada ketelanjangan apapun" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:924 +msgid "Brief artistic nudity" +msgstr "Ketelanjangan artistik singkat" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:926 +msgid "Prolonged nudity" +msgstr "Ketelanjangan berkepanjangan" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:932 +msgid "No references to or depictions of sexual nature" +msgstr "Tidak ada referensi atau penggambaran sifat seksual" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:934 +msgid "Provocative references or depictions" +msgstr "Referensi provokatif atau penggambaran" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:936 +msgid "Sexual references or depictions" +msgstr "Referensi seksual atau penggambaran" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:938 +msgid "Graphic sexual behavior" +msgstr "Perilaku seksual grafis" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:943 +msgid "No profanity of any kind" +msgstr "Tidak ada kata-kata tidak senonoh apapun" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:945 +msgid "Mild or infrequent use of profanity" +msgstr "Penggunaan ringan atau jarang kata-kata tidak senonoh" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:947 +msgid "Moderate use of profanity" +msgstr "Penggunaan sedang kata-kata tidak senonoh" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:949 +msgid "Strong or frequent use of profanity" +msgstr "Penggunaan kuat atau sering kata-kata tidak senonoh" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:954 +msgid "No inappropriate humor" +msgstr "Tidak ada humor yang tidak pantas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:956 +msgid "Slapstick humor" +msgstr "Humor slapstick" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:958 +msgid "Vulgar or bathroom humor" +msgstr "Vulgar atau humor kamar mandi" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:960 +msgid "Mature or sexual humor" +msgstr "Humor dewasa atau seksual" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:965 +msgid "No discriminatory language of any kind" +msgstr "Tidak ada bahasa diskriminatif apapun" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:967 +msgid "Negativity towards a specific group of people" +msgstr "Negatif terhadap sekelompok orang tertentu" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:969 +msgid "Discrimination designed to cause emotional harm" +msgstr "Diskriminasi dirancang untuk menyebabkan kerusakan emosional" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:971 +msgid "Explicit discrimination based on gender, sexuality, race or religion" +msgstr "Diskriminasi eksplisit berdasarkan gender, seksualitas, ras atau agama" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:976 +msgid "No advertising of any kind" +msgstr "Tidak ada iklan jenis apapun" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:978 +msgid "Product placement" +msgstr "Penempatan produk" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:980 +msgid "Explicit references to specific brands or trademarked products" +msgstr "" +"Referensi eksplisit untuk merek tertentu atau produk dengan merek dagang" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:982 +msgid "Users are encouraged to purchase specific real-world items" +msgstr "Pengguna dianjurkan untuk membeli barang dunia nyata tertentu" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:987 +msgid "No gambling of any kind" +msgstr "Tidak ada perjudian jenis apapun" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:989 +msgid "Gambling on random events using tokens or credits" +msgstr "Perjudian pada peristiwa acak menggunakan token atau kredit" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:991 +msgid "Gambling using “play” money" +msgstr "Perjudian menggunakan \"permainan\" uang" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:993 +msgid "Gambling using real money" +msgstr "Perjudian menggunakan uang riil" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:998 +msgid "No ability to spend money" +msgstr "Tidak ada kemampuan membelanjakan uang" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1000 +msgid "Users are encouraged to donate real money" +msgstr "Pengguna dianjurkan untuk menyumbangkan uang sungguhan" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1003 +msgid "Ability to spend real money in-app" +msgstr "Kemampuan untuk menghabiskan uang riil dalam aplikasi" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1008 +msgid "No way to chat with other users" +msgstr "Tidak ada cara untuk mengobrol dengan pengguna lain" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1010 +msgid "User-to-user interactions without chat functionality" +msgstr "Interaksi antar pengguna tanpa fungsi obrolan" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1012 +msgid "Moderated chat functionality between users" +msgstr "Moderasi fungsi obrolan antar pengguna" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1014 +msgid "Uncontrolled chat functionality between users" +msgstr "Fungsi obrolan yang tidak terkontrol antara pengguna" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1019 +msgid "No way to talk with other users" +msgstr "Tidak ada cara untuk berbicara dengan pengguna lain" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1021 +msgid "Uncontrolled audio or video chat functionality between users" +msgstr "Fungsi obrolan audio atau video yang tidak terkontrol antara pengguna" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1028 +msgid "No sharing of social network usernames or email addresses" +msgstr "Tidak berbagi alamat surel atau nama pengguna media sosial" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1030 +msgid "Sharing social network usernames or email addresses" +msgstr "Berbagai nama pengguna jejaring sosial atau alamat surel" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1037 +msgid "No sharing of user information with third parties" +msgstr "Tidak berbagi informasi pengguna dengan pihak ketiga" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1039 +msgid "Checking for the latest application version" +msgstr "Memeriksa versi aplikasi terbaru" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1041 +msgid "Sharing diagnostic data that does not let others identify the user" +msgstr "" +"Berbagi data diagnostik yang tidak membiarkan orang lain mengidentifikasi " +"pengguna" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1043 +msgid "Sharing information that lets others identify the user" +msgstr "" +"Berbagi informasi yang memungkinkan orang lain mengidentifikasi pengguna" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1048 +msgid "No sharing of physical location with other users" +msgstr "Tidak berbagi lokasi fisik dengan pengguna lain" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1050 +msgid "Sharing physical location with other users" +msgstr "Berbagi lokasi fisik dengan pengguna lain" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1073 +msgid "No references to homosexuality" +msgstr "Tidak ada referensi untuk homoseksualitas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1075 +msgid "Indirect references to homosexuality" +msgstr "Tidak ada referensi untuk homoseksualitas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1077 +msgid "Kissing between people of the same gender" +msgstr "Berciuman antara orang-orang dengan jenis kelamin yang sama" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1079 +msgid "Graphic sexual behavior between people of the same gender" +msgstr "Perilaku seksual grafis antara orang dengan jenis kelamin yang sama" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1084 +msgid "No references to prostitution" +msgstr "Tidak ada referensi untuk prostitusi" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1086 +msgid "Indirect references to prostitution" +msgstr "Referensi tidak langsung untuk prostitusi" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1088 +msgid "Direct references to prostitution" +msgstr "Referensi langsung ke prostitusi" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1090 +msgid "Graphic depictions of the act of prostitution" +msgstr "Penggambaran grafis dari prostitusi" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1095 +msgid "No references to adultery" +msgstr "Tidak ada referensi untuk perzinaan" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1097 +msgid "Indirect references to adultery" +msgstr "Referensi tidak langsung untuk perzinaan" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1099 +msgid "Direct references to adultery" +msgstr "Referensi langsung ke perzinaan" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1101 +msgid "Graphic depictions of the act of adultery" +msgstr "Penggambaran grafis dari tindakan perzinaan" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1106 +msgid "No sexualized characters" +msgstr "Tidak ada karakter seksual" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1109 +msgid "Scantily clad human characters" +msgstr "Karakter manusia berpakaian minim" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1111 +msgid "Overtly sexualized human characters" +msgstr "Karakter manusia seksual secara menyeluruh" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1116 +msgid "No references to desecration" +msgstr "Tidak ada referensi untuk penodaan" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1118 +msgid "Depictions of or references to historical desecration" +msgstr "Penggambaran atau referensi tentang penodaan sejarah" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1120 +msgid "Depictions of modern-day human desecration" +msgstr "Penggambaran tentang penodaan manusia zaman modern" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1122 +msgid "Graphic depictions of modern-day desecration" +msgstr "Penggambaran grafis tentang penodaan modern" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1127 +msgid "No visible dead human remains" +msgstr "Tidak ada sisa manusia mati yang terlihat" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1129 +msgid "Visible dead human remains" +msgstr "Sisa manusia mati yang terlihat" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1131 +msgid "Dead human remains that are exposed to the elements" +msgstr "Sisa manusia mati yang terpapar unsur" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1133 +msgid "Graphic depictions of desecration of human bodies" +msgstr "Penggambaran grafis penodaan tubuh manusia" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1138 +msgid "No references to slavery" +msgstr "Tidak ada referensi untuk perbudakan" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1140 +msgid "Depictions of or references to historical slavery" +msgstr "Penggambaran atau referensi tentang perbudakan sejarah" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1142 +msgid "Depictions of modern-day slavery" +msgstr "Penggambaran perbudakan modern" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1144 +msgid "Graphic depictions of modern-day slavery" +msgstr "Penggambaran grafis tentang perbudakan modern" + +#. TRANSLATORS: We got a 429 error while trying to download data +#: src/as-curl.c:134 +#, c-format +msgid "Failed to download due to server limit" +msgstr "Gagal mengunduh karena batas server" + +#: src/as-curl.c:141 src/as-curl.c:148 +#, c-format +msgid "Failed to download file: %s" +msgstr "Tidak dapat mengunduh berkas: %s" + +#. TRANSLATORS: We tried to download an URL, but received a 404 error code +#: src/as-curl.c:157 +#, c-format +msgid "URL was not found on the server." +msgstr "URL tidak ditemukan di server." + +#. TRANSLATORS: We received an uexpected HTTP status code while talking to a server, likely an error +#: src/as-curl.c:164 +#, c-format +msgid "Unexpected status code: %ld" +msgstr "Kode status tak terduga: %ld" + +#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty +#: src/as-curl.c:247 +#, c-format +msgid "Retrieved file size was zero." +msgstr "Ukuran berkas yang diambil adalah nol." + +#. TRANSLATORS: List of "grey-listed" words sperated with ";" +#. * Do not translate this list directly. Instead, +#. * provide a list of words in your language that people are likely +#. * to include in a search but that should normally be ignored in +#. * the search. +#. +#: src/as-pool.c:111 +msgid "app;application;package;program;programme;suite;tool" +msgstr "app;application;package;program;programme;suite;tool;aplikasi;paket" + +#: src/as-pool.c:620 +msgid "Unable to remove old cache." +msgstr "Tidak dapat menghapus singgahan lama." + +#: src/as-pool.c:963 +msgid "Metadata files have errors:" +msgstr "Berkas metadata punya kesalahan:" + +#: src/as-pool.c:1370 +msgid "" +"Many components have been recognized as invalid. See debug output for " +"details." +msgstr "" +"Banyak komponen yang dikenal tidak valid. Lihat hasil debug untuk detailnya." + +#: src/as-pool.c:1996 +#, c-format +msgid "Cache location '%s' is not writable." +msgstr "Lokasi singgahan '%s' tidak dapat ditulisi." + +#: src/as-pool.c:2109 +msgid "" +"The AppStream system cache was updated, but some components were ignored. " +"Refer to the verbose log for more information." +msgstr "" +"Singgahan sistem AppStream dimutakhirkan, tapi beberapa komponen diabaikan. " +"Lihatlah log rinci untuk informasi lebih lanjut." + +#: src/as-pool.c:2111 +#, c-format +msgid "" +"The AppStream system cache was updated, but problems were found which " +"resulted in metadata being ignored: %s" +msgstr "" +"Singgahan sistem AppStream dimutakhirkan, tapi ditemukan masalah yang " +"menyebabkan metadata diabaikan: %s" + +#: src/as-pool.c:2125 +#, c-format +msgid "" +"AppStream system cache refresh failed. Turn on verbose mode to get detailed " +"issue information." +msgstr "" +"Penyegaran singgahan sistem AppStream gagal. Hidupkan mode rinci untuk " +"memperoleh informasi masalah lebih terperinci." + +#: src/as-provided.c:144 +msgid "Libraries" +msgstr "Pustaka" + +#: src/as-provided.c:146 +msgid "Binaries" +msgstr "Biner" + +#: src/as-provided.c:148 +msgid "Media types" +msgstr "Tipe media" + +#: src/as-provided.c:150 +msgid "Fonts" +msgstr "Fonta" + +#: src/as-provided.c:152 +msgid "Modaliases" +msgstr "Modalias" + +#: src/as-provided.c:154 +msgid "Python (Version 2)" +msgstr "Python (Versi 2)" + +#: src/as-provided.c:156 +msgid "Python 3" +msgstr "Python 3" + +#: src/as-provided.c:158 +msgid "D-Bus System Services" +msgstr "Layanan Sistem D-Bus" + +#: src/as-provided.c:160 +msgid "D-Bus Session Services" +msgstr "Layanan Sesi D-Bus" + +#: src/as-provided.c:162 +msgid "Runtime Firmware" +msgstr "Firmware Runtime" + +#: src/as-provided.c:164 +msgid "Flashed Firmware" +msgstr "Firmware yang di-flash" + +#: src/as-provided.c:166 +msgid "Component" +msgstr "Komponen" + +#: src/as-validator-issue-tag.h:41 +msgid "This tag requires a type property." +msgstr "Tag ini membutuhkan suatu properti tipe." + +#: src/as-validator-issue-tag.h:46 +msgid "Tags of this name are not permitted in this section." +msgstr "Tag nama ini tidak diizinkan di bagian ini." + +#: src/as-validator-issue-tag.h:51 +msgid "" +"A tag must not be localized in metainfo files (upstream " +"metadata). Localize the individual paragraphs instead." +msgstr "" +"Sebuah tag tidak boleh dilokalkan dalam berkas metainfo " +"(metadata hulu). Lokalkan masing-masing paragraf saja." + +#: src/as-validator-issue-tag.h:57 +msgid "" +"This element (paragraph, list, etc.) of a tag must not be " +"localized individually in collection metadata. Localize the whole " +" tag instead. The AppStream collection metadata generator (e." +"g. `appstream-generator`) will already do the right thing when compiling the " +"data." +msgstr "" +"Elemen (paragraf, daftar, dll.) dari suatu tag ini tidak " +"boleh dilokalkan secara individual dalam metadata koleksi. Lokalkan " +"keseluruhan tag sebagai gantinya. Generator metadata koleksi " +"AppStream (mis. `appstream-generator`) sudah akan melakukan hal yang benar " +"ketika mengkompilasi data." + +#: src/as-validator-issue-tag.h:63 +msgid "" +"AppStream descriptions support only a limited set of tags to format text: " +"Paragraphs (

                                                                                                                                                                                                        ) and lists (

                                                                                                                                                                                                          ,
                                                                                                                                                                                                            ). This description markup contains " +"an invalid XML tag that would not be rendered correctly in applications " +"supporting the metainfo specification." +msgstr "" +"Deskripsi AppStream hanya mendukung serangkaian tag terbatas untuk memformat " +"teks: Paragraf (

                                                                                                                                                                                                            ) dan daftar (

                                                                                                                                                                                                              ,
                                                                                                                                                                                                                ). Markup deskripsi ini berisi " +"tag XML yang tidak valid yang tidak akan ditampilkan dengan benar dalam " +"aplikasi yang mendukung spesifikasi metainfo." + +#: src/as-validator-issue-tag.h:69 +msgid "" +"This description paragraph contains invalid markup. Currently, only " +"and are permitted." +msgstr "" +"Paragraf deskripsi ini berisi markup yang tidak valid. Saat ini, hanya " +"dan yang diizinkan." + +#: src/as-validator-issue-tag.h:74 +msgid "Enumerations must only have list items (
                                                                                                                                                                                                              1. ) as children." +msgstr "Enumerasi hanya boleh memiliki item daftar (
                                                                                                                                                                                                              2. ) sebagai anak." + +#: src/as-validator-issue-tag.h:79 +msgid "" +"The first `description/p` paragraph of this component might be too short (< " +"80 characters). Please consider starting with a longer paragraph to improve " +"how the description looks like in software centers and to provide more " +"detailed information on this component immediately in the first paragraph." +msgstr "" +"Paragraf `description/p` pertama dari komponen ini mungkin terlalu pendek " +"(<80 karakter). Silakan mempertimbangkan mulai dengan paragraf yang lebih " +"panjang untuk meningkatkan bagaimana deskripsi terlihat di pusat perangkat " +"lunak dan untuk memberikan informasi lebih rinci tentang komponen ini segera " +"di paragraf pertama." + +#: src/as-validator-issue-tag.h:86 +msgid "" +"The description contains a web URL in plain text. This is not allowed, " +"please use the tag instead to share links." +msgstr "" +"Deskripsi berisi URL web dalam teks polos. Ini tidak diizinkan, silakan " +"gunakan tag untuk membagikan tautan." + +#: src/as-validator-issue-tag.h:91 +msgid "" +"As per AppStream specification, the mentioned tag must only appear once in " +"this context. Having multiple tags of this kind is not valid." +msgstr "" +"Sesuai spesifikasi AppStream, tag yang disebutkan harus muncul hanya sekali " +"dalam konteks ini. Memiliki banyak tag semacam ini tidak valid." + +#: src/as-validator-issue-tag.h:96 +msgid "" +"The mentioned tag is empty, which is highly likely not intended as it should " +"have content." +msgstr "" +"Tag yang disebutkan kosong, yang kemungkinan besar tidak dimaksudkan karena " +"seharusnya memiliki konten." + +#: src/as-validator-issue-tag.h:101 +msgid "" +"The component ID is required to follow a reverse domain-name scheme for its " +"name. See the AppStream specification for details." +msgstr "" +"ID komponen diperlukan untuk mengikuti skema nama domain terbalik untuk " +"namanya. Lihat spesifikasi AppStream untuk detailnya." + +#: src/as-validator-issue-tag.h:106 +msgid "" +"The component ID is not a reverse domain-name. Please update the ID to avoid " +"future issues and be compatible with all AppStream implementations.\n" +"You may also consider to update the name of the accompanying .desktop file " +"to follow the latest version of the Desktop-Entry specification and use a " +"rDNS name for it as well. In any case, do not forget to mention the new " +"desktop-entry in a tag for this component to keep the " +"application launchable from software centers and the .desktop file data " +"associated with the metainfo data." +msgstr "" +"ID komponen bukan nama domain terbalik. Harap perbarui ID untuk menghindari " +"masalah di masa mendatang dan kompatibel dengan semua implementasi " +"AppStream.\n" +"Anda juga dapat mempertimbangkan untuk memperbarui nama berkas .desktop yang " +"menyertainya untuk mengikuti versi terbaru dari spesifikasi Desktop-Entry " +"dan juga menggunakan nama rDNS untuk itu. Dalam hal apa pun, jangan lupa " +"untuk menyebutkan entri desktop baru dalam tag untuk komponen " +"ini agar aplikasi tetap dapat diluncurkan dari pusat perangkat lunak dan " +"data berkas .desktop yang terkait dengan data metainfo." + +#: src/as-validator-issue-tag.h:114 +msgid "" +"The component ID might not follow the reverse domain-name schema (the TLD " +"used by it is not known to the validator)." +msgstr "" +"ID komponen mungkin tidak mengikuti skema nama domain terbalik (TLD yang " +"digunakan olehnya tidak diketahui oleh validator)." + +#: src/as-validator-issue-tag.h:119 +msgid "" +"The component ID contains an invalid character. Only ASCII characters, dots " +"and numbers are permitted." +msgstr "" +"ID komponen berisi karakter yang tidak valid. Hanya karakter ASCII, titik, " +"dan angka yang diizinkan." + +#: src/as-validator-issue-tag.h:124 +msgid "" +"The component ID contains a hyphen/minus. Using a hyphen is strongly " +"discouraged, to improve interoperability with other tools such as D-Bus. A " +"good option is to replace any hyphens with underscores (`_`)." +msgstr "" +"ID komponen berisi tanda hubung minus. Menggunakan tanda hubung sangat tidak " +"dianjurkan, untuk meningkatkan interoperabilitas dengan alat lain seperti D-" +"Bus. Pilihan yang baik adalah mengganti tanda hubung dengan garis bawah " +"(`_`)." + +#: src/as-validator-issue-tag.h:130 +msgid "" +"The component ID contains a segment starting with a number. Starting a " +"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " +"interoperability with other tools such as D-Bus. Ideally, prefix these " +"segments with an underscore." +msgstr "" +"ID komponen berisi segmen yang dimulai dengan angka. Memulai segmen ID " +"reverse-DNS dengan nomor sangat tidak disarankan, untuk menjaga " +"interoperabilitas dengan alat lain seperti D-Bus. Idealnya, awali segmen ini " +"dengan garis bawah." + +#: src/as-validator-issue-tag.h:136 +msgid "The component ID should only contain lowercase letters." +msgstr "ID komponen hanya boleh berisi huruf kecil." + +#: src/as-validator-issue-tag.h:141 +msgid "" +"The component is part of the Freedesktop project, but its ID does not start " +"with fd.o's reverse-DNS name (\"org.freedesktop\")." +msgstr "" +"Komponen ini adalah bagian dari proyek Freedesktop, tetapi ID-nya tidak " +"dimulai dengan nama reverse-DNS fd.o (\"org.freedesktop\")." + +#: src/as-validator-issue-tag.h:146 +msgid "" +"The component is part of the KDE project, but its ID does not start with " +"KDEs reverse-DNS name (\"org.kde\")." +msgstr "" +"Komponen ini adalah bagian dari proyek KDE, tetapi ID-nya tidak dimulai " +"dengan nama reverse-DNS KDE (\"org.kde\")." + +#: src/as-validator-issue-tag.h:151 +msgid "" +"The component is part of the GNOME project, but its ID does not start with " +"GNOMEs reverse-DNS name (\"org.gnome\")." +msgstr "" +"Komponen ini adalah bagian dari proyek GNOME, tetapi ID-nya tidak dimulai " +"dengan nama reverse-DNS GNOME (\"org.gnome\")." + +#: src/as-validator-issue-tag.h:156 +msgid "The SPDX license expression is invalid and could not be parsed." +msgstr "Ekspresi lisensi SPDX tidak valid dan tidak dapat diuraikan." + +#: src/as-validator-issue-tag.h:161 +msgid "" +"The license ID was not found in the SPDX database. Please check that the " +"license ID is written in an SPDX-conformant way and is a valid free software " +"license." +msgstr "" +"ID lisensi tidak ditemukan dalam basis data SPDX. Harap periksa bahwa ID " +"lisensi ditulis dengan cara yang sesuai dengan SPDX dan merupakan lisensi " +"perangkat lunak gratis yang valid." + +#: src/as-validator-issue-tag.h:167 +msgid "" +"The metadata itself seems to be licensed under a complex collection of " +"licenses. Please license the data under a simple permissive license, like " +"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " +"collections without the risk of license violations due to mutually " +"incompatible licenses." +msgstr "" +"Metadata itu sendiri tampaknya dilisensikan di bawah koleksi lisensi yang " +"kompleks. Harap lisensikan data di bawah lisensi permisif sederhana, seperti " +"FSFAP, MIT, atau CC0-1.0 agar memungkinkan distributor untuk memasukkannya " +"dalam koleksi data campuran tanpa risiko pelanggaran lisensi karena lisensi " +"yang tidak saling kompatibel." + +#: src/as-validator-issue-tag.h:173 +msgid "" +"The metadata itself does not seem to be licensed under a permissive license. " +"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " +"0BSD to allow distributors to include it in mixed data collections without " +"the risk of license violations due to mutually incompatible licenses." +msgstr "" +"Metadata itu sendiri tampaknya tidak dilisensikan di bawah lisensi permisif. " +"Harap lisensikan data di bawah lisensi permisif, seperti FSFAP, CC0-1.0, " +"atau 0BSD agar memungkinkan distributor untuk memasukkannya dalam koleksi " +"data campuran tanpa risiko pelanggaran lisensi karena lisensi yang tidak " +"saling kompatibel." + +#: src/as-validator-issue-tag.h:179 +msgid "" +"The update-contact does not appear to be a valid email address (escaping of " +"`@` is only allowed as `_at_` or `_AT_`)." msgstr "" +"Nilai update-contact tampaknya bukan alamat email yang valid (meng-escape " +"`@` hanya diizinkan sebagai `_at_` atau `_AT_`)." -#: src/as-validator-issue-tag.h:383 -msgid "Consider using a secure (HTTPS) URL for this web link." +#: src/as-validator-issue-tag.h:184 +msgid "" +"Unable to reach the screenshot image on its remote location - does the image " +"exist?" msgstr "" +"Tidak dapat menjangkau gambar tangkapan layar di lokasi remote - apakah " +"gambar itu ada?" #: src/as-validator-issue-tag.h:189 msgid "" +"Unable to reach the screenshot video on its remote location - does the video " +"file exist?" +msgstr "" +"Tidak dapat mencapai video tangkapan layar di lokasi remote - apakah berkas " +"video ada?" + +#: src/as-validator-issue-tag.h:194 +msgid "" "Consider using a secure (HTTPS) URL to reference this screenshot image or " "video." msgstr "" +"Pertimbangkan untuk menggunakan URL aman (HTTPS) untuk merujuk gambar " +"tangkapan layar atau video ini." -#: tools/appstream-cli.c:870 -msgid "Convert a YAML or text NEWS file into metainfo releases." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:200 +msgid "" +"A screenshot must contain at least one image or video in order to be useful. " +"Please add an to it." msgstr "" +"Tangkapan layar harus mengandung setidaknya satu gambar atau video agar " +"bermanfaat. Silakan tambahkan untuk itu." -#. TRANSLATORS: "convert" command in ascli. "Collection XML" is a term describing a specific type of AppStream XML data. -#: tools/appstream-cli.c:865 -msgid "Convert collection XML to YAML or vice versa." -msgstr "Mengonversi koleksi XML ke YAML atau sebaliknya." - -#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results -#: tools/ascli-actions-mdata.c:228 -#, c-format -msgid "Could not find component providing '%s::%s'." -msgstr "Tidak bisa menemukan komponen yang menyediakan '%s::%s'." +#: src/as-validator-issue-tag.h:205 +msgid "" +"A screenshot must contain either images or videos, but not both at the same " +"time. Please use this screenshot exclusively for either static images or for " +"videos." +msgstr "" +"Tangkapan layar harus mengandung gambar atau video, tetapi tidak keduanya " +"sekaligus. Silakan gunakan tangkapan layar ini secara eksklusif untuk gambar " +"statis atau untuk video." -#: tools/appstream-cli.c:869 -msgid "Create a XDG desktop-entry file from a metainfo file." +#: src/as-validator-issue-tag.h:211 +msgid "The screenshot does not have a caption text. Consider adding one." msgstr "" +"Tangkapan layar tidak memiliki teks keterangan. Pertimbangkan untuk " +"menambahkan." -#: tools/appstream-cli.c:868 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:217 msgid "" -"Create a template for a metainfo file (to be filled out by the upstream " -"project)." +"The screenshot video does not specify which video codec was used in a " +"`codec` property." msgstr "" -"Buat suatu templat bagi berkas metainfo (untuk diisi oleh projek upstream)." +"Video tangkapan layar tidak menentukan kodek video mana yang digunakan dalam " +"properti `codec`." -#: tools/ascli-actions-misc.c:228 -#, c-format -msgid "Creating new desktop-entry file '%s' using data from '%s'" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:223 +msgid "" +"The screenshot video does not specify which container format was used in a " +"`container` property." msgstr "" +"Video tangkapan layar tidak menentukan format wadah mana yang digunakan " +"dalam properti `container`." -#: src/as-provided.c:160 -#, fuzzy -msgid "D-Bus Session Services" -msgstr "Layanan Sesi DBus" - -#: src/as-provided.c:158 -#, fuzzy -msgid "D-Bus System Services" -msgstr "Layanan Sistem DBus" - -#: src/as-category.c:195 -msgctxt "Category of Office" -msgid "Database" -msgstr "Basis data" - -#: src/as-category.c:86 -msgctxt "Category of Development" -msgid "Debuggers" -msgstr "Debugger" - -#: tools/ascli-utils.c:353 -msgid "Default Screenshot URL" -msgstr "Cuplikan Layar URL bawaan" - -#. TRANSLATORS: ascli flag description for: --format -#: tools/appstream-cli.c:83 -msgid "Default metadata format (valid values are 'xml' and 'yaml')." -msgstr "Format metadata baku (nilai yang valid adalah 'xml' dan 'yaml')." - -#: tools/ascli-utils.c:333 -msgid "Description" -msgstr "Deskripsi" - -#. developer name -#: tools/ascli-utils.c:321 -msgid "Developer" -msgstr "Pengembang" - -#. TRANSLATORS: this is the menu spec main category for Development -#: src/as-category.c:305 -msgid "Developer Tools" -msgstr "Alat Pengembang" - -#: tools/appstream-cli.c:862 -msgid "Display status information about available AppStream metadata." -msgstr "Tampilkan informasi status tentang metadata AppStream yang tersedia." - -#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions -#: tools/ascli-actions-misc.c:52 -msgid "Distribution metadata:" -msgstr "Metadata distribusi:" - -#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) -#: tools/appstream-cli.c:126 -msgid "Do not use network access." -msgstr "Jangan pakai akses jaringan." - -#. TRANSLATORS: ascli flag description for: --no-color -#: tools/appstream-cli.c:908 -msgid "Don't show colored output." -msgstr "Jangan tampilkan keluaran berwarna." - -#: tools/appstream-cli.c:853 -msgid "Dump raw XML metadata for a component matching the ID." -msgstr "Curahkan metadata XML mentah bagi suatu komponen yang cocok ID-nya." - -#. TRANSLATORS: this is the menu spec main category for Education -#: src/as-category.c:308 -msgid "Education" -msgstr "Edukasi" - -#. TRANSLATORS: No metainfo files have been found -#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 -msgid "Empty." -msgstr "Kosong." - -#: src/as-category.c:141 -msgctxt "Category of Games" -msgid "Emulators" -msgstr "Emulator" - -#. TRANSLATORS: ascli flag description for: --force -#: tools/appstream-cli.c:245 -msgid "Enforce a cache refresh." -msgstr "Paksakan penyegaran tembolok." - -#: src/as-validator-issue-tag.h:74 -msgid "Enumerations must only have list items (
                                                                                                                                                                                                              3. ) as children." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:229 +msgid "" +"The selected video codec is not supported by AppStream and software centers " +"may not be able to play the video. Only the AV1 and VP9 codecs are currently " +"supported, using `av1` and `vp9` as values for the `codec` property." msgstr "" +"Kodek video yang dipilih tidak didukung oleh AppStream dan pusat perangkat " +"lunak mungkin tidak dapat memutar video. Hanya kodek AV1 dan VP9 yang saat " +"ini didukung, menggunakan `av1` dan `vp9` sebagai nilai untuk properti " +"`codec`." -#: tools/ascli-actions-misc.c:159 -#, c-format -msgid "Error while loading the metadata pool: %s" -msgstr "Kesalahan ketika memuat pool metadata: %s" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:236 +msgid "" +"The selected video container format is not supported by AppStream and " +"software centers may not be able to play the video. Only the WebM and " +"Matroska video containers are currently supported, using `webm` and `mkv` as " +"values for the `container` property." +msgstr "" +"Format wadah video yang dipilih tidak didukung oleh AppStream dan pusat " +"perangkat lunak mungkin tidak dapat memutar video. Hanya wadah video WebM " +"dan Matroska yang saat ini didukung, menggunakan `webm` dan `mkv` sebagai " +"nilai untuk properti `container`." -#: tools/ascli-utils.c:327 -msgid "Extends" -msgstr "Memperluas" +#: src/as-validator-issue-tag.h:242 +msgid "" +"For videos, only the WebM and Matroska (.mkv) container formats are " +"currently supported. The file extension of the referenced video does not " +"belong to either of these formats." +msgstr "" +"Untuk video, hanya format wadah WebM dan Matroska (.mkv) yang saat ini " +"didukung. Ekstensi berkas dari video yang direferensikan tidak termasuk " +"salah satu dari format ini." -#: src/as-category.c:65 -msgctxt "Category of AudioVideo" -msgid "Featured" -msgstr "Unggulan" +#: src/as-validator-issue-tag.h:248 +msgid "" +"The default screenshot of a software component must not be a video. Use a " +"static image as default screenshot and set the video as a secondary " +"screenshot." +msgstr "" +"Tangkapan layar baku dari suatu komponen perangkat lunak tidak boleh berupa " +"video. Gunakan gambar statis sebagai tangkapan layar baku dan atur video " +"sebagai tangkapan layar sekunder." -#: src/as-category.c:256 -msgctxt "Category of Communication" -msgid "Featured" -msgstr "Unggulan" +#: src/as-validator-issue-tag.h:253 +msgid "" +"Found an unknown tag in a requires/recommends group. This is likely an " +"error, because a component relation of this type is unknown." +msgstr "" +"Menemukan tag yang tidak dikenal di grup membutuhkan/menyarankan. Ini " +"mungkin kesalahan, karena hubungan komponen tipe ini tidak diketahui." -#: src/as-category.c:83 -msgctxt "Category of Development" -msgid "Featured" -msgstr "Unggulan" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:259 +msgid "" +"A `requires` or `recommends` item requires a value to denote a valid " +"relation." +msgstr "" +"Butir `requires` atau `recommends` membutuhkan nilai untuk menunjukkan " +"hubungan yang valid." -#: src/as-category.c:98 -msgctxt "Category of Education" -msgid "Featured" -msgstr "Unggulan" +#. TRANSLATORS: `version` is an AppStream XML property. Please do not translate it. +#: src/as-validator-issue-tag.h:265 +msgid "" +"Found `version` property on required/recommended item of a type that should " +"not have or require a version." +msgstr "" +"Ditemukan properti `version` pada butir yang diperlukan/disarankan dari tipe " +"yang seharusnya tidak memiliki atau memerlukan versi." -#: src/as-category.c:120 -msgctxt "Category of Games" -msgid "Featured" -msgstr "Unggulan" +#. TRANSLATORS: `version` and `compare` are AppStream XML properties. Please do not translate them. +#: src/as-validator-issue-tag.h:271 +msgid "" +"Found `version` property on this required/recommended item, but not " +"`compare` property. It is recommended to explicitly define a comparison " +"operation." +msgstr "" +"Ditemukan properti `version` pada butir yang diperlukan/disarankan ini, " +"tetapi tidak ada properti `compare`. Disarankan untuk secara eksplisit " +"mendefinisikan operasi perbandingan." -#: src/as-category.c:165 -msgctxt "Category of Graphics" -msgid "Featured" -msgstr "Unggulan" +#: src/as-validator-issue-tag.h:276 +msgid "" +"Invalid comparison operation on relation item. Only eq/ne/lt/gt/le/ge are " +"permitted." +msgstr "" +"Operasi perbandingan versi tidak valid pada item relasi. Hanya eq/ne/lt/gt/" +"le/ge yang diizinkan." -#: src/as-category.c:188 -msgctxt "Category of Office" -msgid "Featured" -msgstr "Unggulan" +#: src/as-validator-issue-tag.h:281 +msgid "" +"The relation item has a comparison operation set, but does not support any " +"comparisons." +msgstr "" +"Item relasi memiliki kumpulan operasi perbandingan, tetapi tidak mendukung " +"perbandingan apa pun." -#: src/as-category.c:231 -msgctxt "Category of Science" -msgid "Featured" -msgstr "Unggulan" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:287 +msgid "" +"Found a memory size relation in a `requires` tag. This means users will not " +"be able to even install the component without having enough RAM. This is " +"usually not intended and you want to use `memory` in the `recommends` tag " +"instead." +msgstr "" +"Menemukan relasi ukuran memori dalam tag `requires`. Ini berarti pengguna " +"tidak akan dapat menginstal komponen tanpa RAM yang cukup. Ini biasanya " +"tidak dimaksudkan dan Anda ingin menggunakan `memory` dalam tag `recommends` " +"sebagai gantinya." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:294 +msgid "" +"Found a user input control relation in a `requires` tag. This means users " +"will not be able to even install the component without having the defined " +"input control available on the system. This is usually not intended and you " +"want to use `control` in the `recommends` tag instead." +msgstr "" +"Menemukan relasi kontrol masukan pengguna dalam tag `requires`. Ini berarti " +"pengguna tidak akan dapat menginstal komponen tanpa kontrol masukan yang " +"ditentukan tersedia pada sistem. Ini biasanya tidak dimaksudkan dan Anda " +"ingin menggunakan `control` dalam tag `recommends`." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:301 +msgid "" +"This `control` item defines an unknown input method and is invalid. Check " +"the specification for a list of permitted values." +msgstr "" +"Butir `control` ini mendefinisikan metode masukan yang tidak dikenal dan " +"tidak valid. Periksa spesifikasi untuk daftar nilai yang diizinkan." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:307 +msgid "" +"This `display_length` item contains an invalid display length. Its value " +"must either be a shorthand string, or positive integer value denoting " +"logical pixels. Please refer to the AppStream specification for more " +"information on this tag." +msgstr "" +"Item `display_length` ini berisi panjang tampilan yang tidak valid. Nilainya " +"harus berupa string singkatan, atau nilai integer positif yang menunjukkan " +"piksel logis. Silakan merujuk ke spesifikasi AppStream untuk informasi lebih " +"lanjut tentang tag ini." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:314 +msgid "" +"This `side` property of this `display_length` item contains an invalid " +"value. It must either be `shortest` or `longest`, or unset to imply " +"`shortest` to make the item value refer to either the shortest or longest " +"side of the display." +msgstr "" +"Properti `side` dari item `display_length` ini berisi nilai yang tidak " +"valid. Itu harus `shortest` atau `longest`, atau tidak disetel untuk " +"menyiratkan `shortest` untuk membuat nilai item merujuk ke sisi terpendek " +"atau terpanjang dari tampilan." -#: src/as-category.c:278 -msgctxt "Category of Utility" -msgid "Featured" -msgstr "Unggulan" +#: src/as-validator-issue-tag.h:320 +msgid "" +"The set component type is not a recognized, valid AppStream component type." +msgstr "" +"Tipe komponen yang ditata bukan tipe komponen AppStream yang dikenal dan " +"valid." -#: tools/ascli-actions-validate.c:171 tools/ascli-actions-validate.c:349 -#, fuzzy, c-format -msgid "File '%s' does not exist." -msgstr "Berkas metadata '%s' tidak ada." +#: src/as-validator-issue-tag.h:325 +msgid "" +"The component has a priority value set. This is not allowed in metainfo " +"files." +msgstr "" +"Komponen memiliki set nilai prioritas. Ini tidak diizinkan dalam berkas " +"metainfo." -#: src/as-category.c:287 -msgctxt "Category of Utility" -msgid "File System" -msgstr "Sistem Berkas" +#: src/as-validator-issue-tag.h:330 +msgid "" +"The component has a `merge` method defined. This is not allowed in metainfo " +"files." +msgstr "" +"Komponen memiliki metode `merge` yang ditentukan. Ini tidak diizinkan dalam " +"berkas metainfo." -#: src/as-category.c:198 -msgctxt "Category of Office" -msgid "Finance" -msgstr "Finansial" +#: src/as-validator-issue-tag.h:335 +msgid "The component is missing an ID ( tag)." +msgstr "Komponen tidak memiliki ID (tag )." -#: src/as-provided.c:164 -msgid "Flashed Firmware" -msgstr "Firmware yang di-flash" +#: src/as-validator-issue-tag.h:340 +msgid "The component is missing a name ( tag)." +msgstr "Komponen kekurangan nama (tag )." -#: src/as-provided.c:150 -msgid "Fonts" -msgstr "Fonta" +#: src/as-validator-issue-tag.h:345 +msgid "The component is missing a summary ( tag)." +msgstr "Komponen tidak memiliki ringkasan (tag )." -#: src/as-category.c:211 -msgctxt "Category of Addons" -msgid "Fonts" -msgstr "Fonta" +#: src/as-validator-issue-tag.h:350 +msgid "" +"The tag still contains a `type` property, probably from an old " +"conversion to the recent metainfo format." +msgstr "" +"Tag masih mengandung properti `type`, mungkin dari konversi lama ke " +"format metainfo terbaru." -#: src/as-validator-issue-tag.h:237 +#: src/as-validator-issue-tag.h:355 msgid "" -"For videos, only the WebM and Matroska (.mkv) container formats are " -"currently supported. The file extension of the referenced video does not " -"belong to either of these formats." +"The `pkgname` tag appears multiple times. You should evaluate creating a " +"metapackage containing the metainfo and .desktop files in order to avoid " +"defining multiple package names per component." msgstr "" +"Tag `pkgname` muncul beberapa kali. Anda harus mengevaluasi membuat " +"metapackage yang berisi berkas metainfo dan berkas .desktop untuk " +"menghindari mendefinisikan beberapa nama paket per komponen." -#. TRANSLATORS: ascli flag description for: --format when validating XML files -#: tools/appstream-cli.c:131 -#, fuzzy -msgid "Format of the generated report (valid values are 'text' and 'yaml')." -msgstr "Format metadata baku (nilai yang valid adalah 'xml' dan 'yaml')." +#: src/as-validator-issue-tag.h:360 +msgid "The component name should (likely) not end with a dot (`.`)." +msgstr "" +"Nama komponen mestinya (kemungkinan) tidak diakhiri dengan titik (`.`)." -#. TRANSLATORS: Found metainfo files in legacy directories -#: tools/ascli-actions-misc.c:138 -#, c-format -msgid "Found %i components in legacy paths." -msgstr "Ditemukan %i komponan dalam path legasi." +#: src/as-validator-issue-tag.h:365 +msgid "The component summary should not end with a dot (`.`)." +msgstr "Ringkasan komponen tidak boleh diakhiri dengan titik (`.`)." -#: tools/ascli-actions-misc.c:123 -#, c-format -msgid "Found %i components." -msgstr "Ditemukan %i komponen." +#: src/as-validator-issue-tag.h:370 +msgid "The component summary must not contain tabs or linebreaks." +msgstr "Ringkasan komponen tidak boleh mengandung tab atau putus baris." -#. TRANSLATORS: 'version' is an AppStream XML property. Please do not translate it. -#: src/as-validator-issue-tag.h:260 -msgid "" -"Found 'version' property on required/recommended item of a type that should " -"not have or require a version." +#: src/as-validator-issue-tag.h:375 +msgid "The summary must not contain any URL. Use the tags for links." msgstr "" +"Ringkasan tidak boleh mengandung URL apa pun. Gunakan tag untuk " +"tautan." -#. TRANSLATORS: 'version' and 'compare' are AppStream XML properties. Please do not translate them. -#: src/as-validator-issue-tag.h:266 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:381 msgid "" -"Found 'version' property on this required/recommended item, but not " -"'compare' property. It is recommended to explicitly define a comparison " -"operation." +"Icons of type `stock` or `cached` must not contain an URL, a full or an " +"relative path to the icon. Only file basenames or stock names are allowed." msgstr "" +"Ikon tipe `stock` atau `cached` tidak boleh berisi URL, path lengkap, atau " +"relatif ke ikon. Hanya nama berkas atau nama stok yang diizinkan." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:277 -msgid "" -"Found a memory size dependency in a 'requires' tag. This means users will " -"not be able to even install the component without having enough RAM. This is " -"usually not intended and you want to use 'memory' in the 'recommends' tag " -"instead." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:388 +msgid "Icons of type `remote` must contain an URL to the referenced icon." +msgstr "Ikon tipe `remote` harus berisi URL ke ikon yang direferensikan." + +#: src/as-validator-issue-tag.h:393 +msgid "Unable to reach remote icon at the given web location - does it exist?" msgstr "" +"Tidak dapat menjangkau ikon jarak jauh di lokasi web yang diberikan - apakah " +"ada?" -#: src/as-validator-issue-tag.h:248 -msgid "" -"Found an unknown tag in a requires/recommends group. This is likely an " -"error, because a component relation of this type is unknown." +#: src/as-validator-issue-tag.h:398 +msgid "Consider using a secure (HTTPS) URL for the remote icon link." msgstr "" +"Pertimbangkan untuk menggunakan URL aman (HTTPS) untuk tautan ikon jarak " +"jauh." -#: src/as-validator-issue-tag.h:427 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:404 msgid "" -"Found invalid tag. Non-standard tags should be prefixed with 'x-'. AppStream " -"also provides the tag to add arbitrary custom data to metainfo " -"files. This tag is read by AppStream libraries and may be useful instead of " -"defining new custom toplevel or 'x-'-prefixed tags if you just want to add " -"custom data to a metainfo file." +"Metainfo files may only contain icons of type `stock` or `remote`, the set " +"type is not allowed." msgstr "" +"Berkas metainfo hanya dapat berisi ikon bertipe `stock` atau `remote`, tipe " +"yang ditetapkan tidak diperbolehkan." -#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. -#: src/as-validator.c:526 src/as-validator.c:939 src/as-validator.c:1024 -#: src/as-validator.c:1237 -#, c-format -msgid "Found: %s - Allowed: %s" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:410 +msgid "" +"Invalid `type` property for this `url` tag. URLs of this type are not known " +"in the AppStream specification." msgstr "" +"Properti `type` tidak valid untuk tag `url` ini. URL tipe ini tidak dikenal " +"dalam spesifikasi AppStream." -#. TRANSLATORS: this is the menu spec main category for Game -#: src/as-category.c:311 -msgid "Games" -msgstr "Permainan" - -#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command -#: tools/appstream-cli.c:814 -msgid "Generate the output in the selected format ('yaml' or 'text')." +#: src/as-validator-issue-tag.h:415 +msgid "" +"Unable to reach remote location that this URL references - does it exist?" msgstr "" +"Tidak dapat menjangkau lokasi remote yang dirujuk oleh URL ini - apakah ada?" -#: tools/appstream-cli.c:849 -msgid "Get components which provide the given item." -msgstr "Dapatkan komponen yang menyediakan butir yang diberikan." +#: src/as-validator-issue-tag.h:420 +msgid "Consider using a secure (HTTPS) URL for this web link." +msgstr "Pertimbangkan untuk menggunakan URL aman (HTTPS) untuk tautan web ini." -#: tools/appstream-cli.c:848 -msgid "Get information about a component by its ID." -msgstr "Dapatkan informasi tentang suatu komponen berdasarkan ID-nya." +#: src/as-validator-issue-tag.h:425 +msgid "A web URL was expected for this value." +msgstr "URL web diharapkan untuk nilai ini." -#. TRANSLATORS: this is the menu spec main category for Graphics -#: src/as-category.c:314 -msgid "Graphics & Photography" -msgstr "Grafis & Fotografi" +#: src/as-validator-issue-tag.h:430 +msgid "" +"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." +msgstr "" +"Tautan web ini menggunakan protokol FTP. Pertimbangkan beralih ke HTTP(S) " +"sebagai gantinya." -#: tools/ascli-utils.c:300 -msgid "Homepage" -msgstr "Beranda" +#: src/as-validator-issue-tag.h:435 +msgid "The can not contain a hyperlink." +msgstr " tidak boleh mengandung pranala." -#: src/as-category.c:89 -msgctxt "Category of Development" -msgid "IDEs" -msgstr "IDE" +#: src/as-validator-issue-tag.h:440 +msgid "" +"The set value is not an identifier for a desktop environment as registered " +"with Freedesktop.org." +msgstr "" +"Nilai yang ditetapkan bukan pengidentifikasi untuk lingkungan desktop " +"seperti yang terdaftar di Freedesktop.org." -#: tools/ascli-utils.c:301 -msgid "Icon" -msgstr "Ikon" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:446 +msgid "This `launchable` tag has an unknown type and can not be used." +msgstr "" +"Tag `launchable` ini memiliki tipe yang tidak dikenal dan tidak dapat " +"digunakan." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:351 -msgid "Icons of type 'remote' must contain an URL to the referenced icon." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:452 +msgid "This `bundle` tag has an unknown type and can not be used." msgstr "" +"Tag `bundle` ini memiliki tipe yang tidak dikenal dan tidak dapat digunakan." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:344 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:458 msgid "" -"Icons of type 'stock' or 'cached' must not contain an URL, a full or an " -"relative path to the icon. Only file basenames or stock names are allowed." +"The `update_contact` tag should not be included in collection AppStream XML." msgstr "" +"Tag `update_contact` tidak boleh dimasukkan dalam koleksi AppStream XML." -#: tools/ascli-actions-misc.c:94 -msgid "Iconsets" -msgstr "Set ikon" - -#: tools/ascli-utils.c:295 -msgid "Identifier" -msgstr "Identifier" - -#: src/as-category.c:217 -msgctxt "Category of Addons" -msgid "Input Sources" -msgstr "Sumber Masukan" - -#: tools/appstream-cli.c:863 -msgid "Install a metadata file into the right location." -msgstr "Pasang suatu berkas metadata ke lokasi yang benar." - -#: tools/appstream-cli.c:859 -msgid "Install software matching the component-ID." -msgstr "Pasang perangkat lunak dengan component-ID yang cocok." - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:373 +#: src/as-validator-issue-tag.h:463 msgid "" -"Invalid 'type' property for this 'url' tag. URLs of this type are not known " -"in the AppStream specification." +"This tag is a GNOME-specific extension to AppStream and not part of the " +"official specification. Do not expect it to work in all implementations and " +"in all software centers." msgstr "" +"Tag ini adalah ekstensi spesifik GNOME untuk AppStream dan bukan bagian dari " +"spesifikasi resmi. Jangan berharap itu berfungsi di semua implementasi dan " +"di semua pusat perangkat lunak." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:553 +#: src/as-validator-issue-tag.h:469 msgid "" -"Invalid tag found in collection metadata. Only 'component' tags are " -"permitted." +"Found invalid tag. Non-standard tags should be prefixed with `x-`. AppStream " +"also provides the tag to add arbitrary custom data to metainfo " +"files. This tag is read by AppStream libraries and may be useful instead of " +"defining new custom toplevel or `x-`-prefixed tags if you just want to add " +"custom data to a metainfo file." msgstr "" +"Tag yang ditemukan tidak valid. Tag non-standar harus diawali dengan `x-`. " +"AppStream juga menyediakan tag untuk menambahkan sebarang data " +"ubahan ke berkas metainfo. Tag ini dibaca oleh pustaka AppStream dan mungkin " +"berguna daripada mendefinisikan tag berawalan `x-` atau ubahan aras puncak " +"baru jika Anda hanya ingin menambahkan data ubahan ke berkas metainfo." -#: tools/ascli-actions-mdata.c:213 -msgid "Invalid type for provided item selected. Valid values are:" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:477 +msgid "" +"The essential tag `metadata_license` is missing. A license for the metadata " +"itself always has to be defined." msgstr "" -"Tipe yang dipilih tak valid bagi butir yang disediakan. Nilai yang valid " -"adalah:" +"Tag esensial `metadata_license` tidak ada. Lisensi untuk metadata itu " +"sendiri harus selalu didefinisikan." -#: src/as-validator-issue-tag.h:271 +#: src/as-validator-issue-tag.h:482 msgid "" -"Invalid version comparison operation on relation item. Only eq/ne/lt/gt/le/" -"ge are permitted." +"The component is missing a long description. Components of this type must " +"have a long description." msgstr "" +"Komponen tidak memiliki deskripsi panjang. Komponen jenis ini harus memiliki " +"deskripsi panjang." -#: src/as-validator-issue-tag.h:450 +#: src/as-validator-issue-tag.h:487 msgid "" -"It is recommended to add a long description to this component to present it " +"It would be useful to add a long description to this font to present it " "better to users." msgstr "" +"Akan bermanfaat untuk menambahkan deskripsi panjang ke fonta ini untuk " +"menyajikannya lebih baik kepada pengguna." -#: src/as-validator-issue-tag.h:445 +#: src/as-validator-issue-tag.h:492 msgid "" -"It would be useful to add a long description to this font to present it " +"It is recommended to add a long description to this component to present it " "better to users." msgstr "" +"Disarankan untuk menambahkan deskripsi panjang ke komponen ini untuk " +"menyajikannya lebih baik kepada pengguna." -#: src/as-category.c:144 -msgctxt "Category of Games" -msgid "Kids" -msgstr "Anak-anak" - -#: src/as-category.c:220 -msgctxt "Category of Addons" -msgid "Language Packs" -msgstr "Paket Bahasa" - -#: src/as-category.c:107 -msgctxt "Category of Education" -msgid "Languages" -msgstr "Bahasa" - -#: src/as-provided.c:144 -msgid "Libraries" -msgstr "Pustaka" - -#. license -#: tools/ascli-utils.c:363 -msgid "License" -msgstr "Lisensi" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:629 +#: src/as-validator-issue-tag.h:497 msgid "" -"Licenses for 'runtime' components are usually too complex to reflect them in " -"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " -"value for this component's 'project_license'. E.g. `LicenseRef-free=https://" -"example.com/licenses.html`" +"This generic component is missing a long description. It may be useful to " +"add one." msgstr "" +"Komponen generik ini tidak memiliki deskripsi panjang. Mungkin bermanfaat " +"untuk menambahkannya." -#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command -#: tools/appstream-cli.c:771 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:503 msgid "" -"Limit the number of release entries that end up in the metainfo file (0 for " -"unlimited)." +"Type `console-application` component, but no information about binaries in " +"$PATH was provided via a `provides/binary` tag." msgstr "" +"Tipe komponen `console-application`, tetapi tidak ada informasi tentang " +"biner di $PATH yang disediakan melalui tag `provides/binary`." -#: src/as-category.c:223 -msgctxt "Category of Addons" -msgid "Localization" -msgstr "Lokalisasi" - -#: src/as-category.c:147 -msgctxt "Category of Games" -msgid "Logic" -msgstr "Logika" - -#. TRANSLATORS: ascli flag description for: --no-cache -#: tools/appstream-cli.c:67 -msgid "Make request without any caching." -msgstr "Buat permintaan tanpa penyinggahan." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:509 +msgid "" +"This `web-application` component is missing a `launchable` tag of type `url`." +msgstr "Komponen `web-application` ini kurang tag `launchable` bertipe `url`." -#. TRANSLATORS: ascli flag description for: --cachepath -#: tools/appstream-cli.c:57 -msgid "Manually selected location of AppStream cache." -msgstr "Lokasi singgahan AppStream yang dipilih secara manual." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:515 +msgid "" +"This `web-application` component is missing a `icon` tag to specify a valid " +"icon." +msgstr "" +"Komponen `web-application` ini kurang tag `icon` untuk menyatakan suatu ikon " +"yang valid." -#. TRANSLATORS: ascli flag description for: --datapath -#: tools/appstream-cli.c:62 -msgid "Manually selected location of AppStream metadata to scan." -msgstr "Lokasi metadata AppStream yang dipilih secara manual untuk dipindai." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:521 +msgid "" +"This `web-application` component is missing categorizations. A `categories` " +"block is likely missing." +msgstr "" +"Komponen `web-application` ini kurang kategorisasi. Sebuah blok `categories` " +"kemungkinan hilang." -#: src/as-pool.c:1280 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:527 msgid "" -"Many components have been recognized as invalid. See debug output for " -"details." +"Type `font` component, but no font information was provided via a `provides/" +"font` tag." msgstr "" +"Tipe komponen `font`, tetapi tidak ada informasi fonta yang disediakan " +"melalui tag `provides/font`." -#: src/as-category.c:111 -msgctxt "Category of Education" -msgid "Math" -msgstr "Matematika" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:533 +msgid "" +"Type `driver` component, but no modalias information was provided via a " +"`provides/modalias` tag." +msgstr "" +"Tipe komponen `driver`, tetapi tidak ada informasi modalias yang diberikan " +"melalui tag `provides/modalias`." -#: src/as-category.c:243 -msgctxt "Category of Science" -msgid "Math" -msgstr "Matematika" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:539 +msgid "" +"An `extends` tag is specified, but the component is not of type `addon`, " +"`localization` or `repository`." +msgstr "" +"Tag `extends` dinyatakan, tetapi komponennya tidak bertipe `addon`, " +"`localization`, atau `repository`." -#: src/as-provided.c:148 -#, fuzzy -msgid "Media types" -msgstr "jenis MIME" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:545 +msgid "The component is an addon, but no `extends` tag was specified." +msgstr "Komponen adalah addon, tetapi tidak ada tag `extends` yang ditentukan." -#: tools/ascli-actions-mdata.c:364 -#, c-format -msgid "Metadata file '%s' does not exist." -msgstr "Berkas metadata '%s' tidak ada." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:551 +msgid "" +"This `localization` component is missing an `extends` tag, to specify the " +"components it adds localization to." +msgstr "" +"Komponen `localization` ini kurang tag `extends`, untuk menentukan komponen " +"yang ditambahkannya untuk pelokalan." -#: src/as-pool.c:881 -msgid "Metadata files have errors:" -msgstr "Berkas metadata punya kesalahan:" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:557 +msgid "" +"This `localization` component does not define any languages this " +"localization is for." +msgstr "" +"Komponen `localization` ini tidak menentukan bahasa apa pun yang digunakan " +"untuk pelokalan ini." -#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 -#: tools/ascli-actions-misc.c:515 -#, fuzzy, c-format -msgid "Metainfo file '%s' does not exist." -msgstr "Berkas metadata '%s' tidak ada." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:563 +msgid "" +"This `service` component is missing a `launchable` tag of type `service`." +msgstr "Komponen `service` ini kurang tag `launchable` bertipe `service`." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:367 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:569 msgid "" -"Metainfo files may only contain icons of type 'stock' or 'remote', the set " -"type is not allowed." +"Suggestions of any type other than `upstream` are not allowed in metainfo " +"files." msgstr "" +"Saran tipe apa pun selain `upstream` tidak diizinkan dalam berkas metainfo." -#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report -#: tools/ascli-actions-misc.c:116 -msgid "Metainfo files:" -msgstr "Berkas metainfo:" +#: src/as-validator-issue-tag.h:574 +msgid "" +"The category name is not valid. Refer to the XDG Menu Specification for a " +"list of valid category names." +msgstr "" +"Nama kategori tidak valid. Lihat Spesifikasi Menu XDG untuk daftar nama " +"kategori yang valid." -#: src/as-provided.c:152 -msgid "Modaliases" -msgstr "Modalias" +#: src/as-validator-issue-tag.h:579 +msgid "The screenshot caption is too long (should be <= 80 characters)" +msgstr "Keterangan tangkapan layar terlalu panjang (harus <= 80 karakter)" -#: src/as-category.c:74 -msgctxt "Category of AudioVideo" -msgid "Music Players" -msgstr "Pemutar Musik" +#: src/as-validator-issue-tag.h:584 +msgid "Unable to read file." +msgstr "Tidak bisa membaca berkas." -#: tools/ascli-utils.c:296 -msgid "Name" -msgstr "Nama" +#: src/as-validator-issue-tag.h:589 +msgid "The XML of this file is malformed." +msgstr "XML berkas ini salah bentuk." -#: src/as-category.c:266 -msgctxt "Category of Communication" -msgid "News" -msgstr "Berita" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:595 +msgid "" +"Invalid tag found in collection metadata. Only `component` tags are " +"permitted." +msgstr "" +"Tag tidak valid ditemukan dalam metadata koleksi. Hanya tag `component` yang " +"diizinkan." -#: src/as-validator-issue-tag.h:589 -msgid "No AppStream metadata was found in this directory or directory tree." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:601 +msgid "" +"The metainfo file uses an ancient version of the AppStream specification, " +"which can not be validated. Please migrate it to version 0.6 (or higher)." msgstr "" +"Berkas metainfo menggunakan versi kuno dari spesifikasi AppStream, yang " +"tidak dapat divalidasi. Harap migrasi ke versi 0.6 (atau lebih tinggi)." -#. pedantic because not everything which has metadata is an application -#: src/as-validator-issue-tag.h:594 -msgid "No XDG applications directory found." +#: src/as-validator-issue-tag.h:606 +msgid "" +"This XML document has an unknown root tag. Maybe this file is not a metainfo " +"document?" msgstr "" +"Dokumen XML ini memiliki tag root yang tidak dikenal. Mungkin berkas ini " +"bukan dokumen metainfo?" -#: tools/ascli-actions-mdata.c:182 -#, c-format -msgid "No component matching '%s' found." -msgstr "Tidak ditemukan komponen yang cocok '%s'." +#: src/as-validator-issue-tag.h:611 +msgid "The metainfo filename does not match the component ID." +msgstr "Nama berkas metainfo tidak cocok dengan ID komponen." -#: tools/ascli-actions-misc.c:105 -msgid "No icons." -msgstr "Tak ada ikon." +#: src/as-validator-issue-tag.h:616 +msgid "Unable to read the .desktop file associated with this component." +msgstr "Tidak bisa membaca berkas .desktop yang terkait dengan komponen ini." -#: tools/ascli-actions-misc.c:402 -msgid "No output filename specified, modifying metainfo file directly." -msgstr "" +#: src/as-validator-issue-tag.h:621 +msgid "This component metadata refers to a non-existing .desktop file." +msgstr "Metadata komponen ini merujuk ke berkas .desktop yang tidak ada." -#: tools/ascli-actions-misc.c:306 +#: src/as-validator-issue-tag.h:626 msgid "" -"No provided binary specified in metainfo file, and no exec command specified " -"via '--exec'. Can not create 'Exec=' key." +"The category defined in the .desktop file is not valid. Refer to the XDG " +"Menu Specification for a list of valid categories." msgstr "" +"Kategori yang didefinisikan dalam berkas .desktop tidak valid. Lihat " +"Spesifikasi Menu XDG untuk daftar kategori yang valid." -#: tools/ascli-actions-misc.c:284 -msgid "No stock icon name was provided in the metainfo file. Can not continue." +#: src/as-validator-issue-tag.h:631 +msgid "No AppStream metadata was found in this directory or directory tree." msgstr "" +"Tidak ada metadata AppStream yang ditemukan di direktori atau pohon " +"direktori ini." -#: tools/ascli-actions-pkgmgr.c:53 +#. pedantic because not everything which has metadata is an application +#: src/as-validator-issue-tag.h:636 +msgid "No XDG applications directory found." +msgstr "Tidak ada direktori aplikasi XDG yang ditemukan." + +#: src/as-validator-issue-tag.h:641 msgid "" -"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" -"\" (part of PackageKit) is available." +"The metainfo file is stored in a legacy path. Please place it in `/usr/share/" +"metainfo/`." msgstr "" -"Tidak ditemukan CLI manajer paket yang cocok. Harap pastikan bahwa mis. " -"\"pkcon\" (bagian dari PackageKit) tersedia." - -#: tools/ascli-actions-mdata.c:206 -msgid "No value for the item to search for was defined." -msgstr "Tidak ada nilai yang didefinisikan bagi butir yang dicari." +"Berkas metainfo disimpan di path lama. Silakan letakkan di `/usr/share/" +"metainfo/`." -#. TRANSLATORS: this is the menu spec main category for Office -#: src/as-category.c:317 -msgid "Office" -msgstr "Perkantoran" +#: src/as-validator-issue-tag.h:646 +msgid "The metainfo file specifies multiple components. This is not allowed." +msgstr "Berkas metainfo menyatakan beberapa komponen. Ini tidak diizinkan." -#. TRANSLATORS: An unknown option was passed to appstreamcli. -#: tools/appstream-cli.c:192 -#, c-format -msgid "Option '%s' is unknown." -msgstr "Opsi '%s' tak dikenal." +#: src/as-validator-issue-tag.h:651 +msgid "" +"The releases are not sorted in a latest to oldest version order. This is " +"required as some tools will assume that the latest version is always at the " +"top. Sorting releases also increases overall readability of the metainfo " +"file." +msgstr "" +"Rilis tidak diurutkan dalam urutan versi terbaru ke terlama. Ini diperlukan " +"karena beberapa alat akan menganggap bahwa versi terbaru selalu di atas. " +"Menyortir rilis juga meningkatkan keterbacaan keseluruhan berkas metainfo." -#: tools/ascli-utils.c:298 -msgid "Package" -msgstr "Paket" +#: src/as-validator-issue-tag.h:658 +msgid "The value set as release urgency is not a known urgency value." +msgstr "" +"Nilai yang ditetapkan sebagai urgensi rilis bukanlah nilai urgensi yang " +"diketahui." -#: src/as-category.c:171 -msgctxt "Category of Graphics" -msgid "Photography" -msgstr "Fotografi" +#: src/as-validator-issue-tag.h:663 +msgid "The value set as release type is invalid." +msgstr "Nilai yang ditetapkan sebagai jenis rilis tidak valid." -#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) -#: tools/appstream-cli.c:121 -#, fuzzy -msgid "Print detailed explanation for found issues." -msgstr "Cetak keluaran terrinci tentang komponen yang ditemukan." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:669 +msgid "" +"The value set as artifact type is invalid. Must be either `source` or " +"`binary`." +msgstr "" +"Nilai yang ditetapkan sebagai jenis artefak tidak valid. Harus salah satu " +"dari `source` atau `binary`." -#. TRANSLATORS: ascli flag description for: --details -#: tools/appstream-cli.c:98 -msgid "Print detailed output about found components." -msgstr "Cetak keluaran terrinci tentang komponen yang ditemukan." +#: src/as-validator-issue-tag.h:674 +msgid "The value set as artifact bundle type is invalid." +msgstr "Nilai yang ditetapkan sebagai jenis paket artefak tidak valid." -#. project group -#: tools/ascli-utils.c:360 -msgid "Project Group" -msgstr "Grup Proyek" +#: src/as-validator-issue-tag.h:679 +msgid "" +"The platform triplet for this release is invalid. It must be in the form of " +"`architecture-oskernel-osenv` - refer to the AppStream documentation or " +"information on normalized GNU triplets for more information and valid fields." +msgstr "" +"Triplet platform untuk rilis ini tidak valid. Ia harus dalam bentuk " +"'arsitektur-oskernel-osenv' - lihat dokumentasi AppStream atau informasi " +"tentang GNU triplets yang dinormalisasi untuk informasi lebih lanjut dan " +"bidang yang valid." -#: tools/ascli-utils.c:405 -msgid "Provided Items" -msgstr "Butir Yang Disediakan" +#: src/as-validator-issue-tag.h:686 +msgid "The selected checksumming algorithm is unsupported or unknown." +msgstr "" +"Algoritma checksumming yang dipilih tidak didukung atau tidak diketahui." -#: src/as-provided.c:154 -msgid "Python (Version 2)" -msgstr "Python (Versi 2)" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:692 +msgid "The size type is unknown. Must be `download` or `installed`." +msgstr "Jenis ukuran tidak diketahui. Harus `download` atau `installed`." -#: src/as-provided.c:156 -msgid "Python 3" -msgstr "Python 3" +#: src/as-validator-issue-tag.h:697 +msgid "" +"The artifact filename must be a file basename, not a (relative or absolute) " +"path." +msgstr "" +"Nama file artefak harus berupa nama dasar file, bukan jalur (relatif atau " +"absolut)." -#: tools/appstream-cli.c:854 -msgid "Rebuild the component metadata cache." -msgstr "Bangun ulang singgahan metadata komponen." +#: src/as-validator-issue-tag.h:702 +msgid "The value set as release issue type is invalid." +msgstr "Nilai yang ditetapkan sebagai jenis rilis issue tidak valid." -#: tools/appstream-cli.c:860 -msgid "Remove software matching the component-ID." -msgstr "Buang perangkat lunak dengan component-ID yang cocok." +#: src/as-validator-issue-tag.h:707 +msgid "" +"The issue is tagged at security vulnerability with a CVE number, but its " +"value does not look like a valid CVE identifier." +msgstr "" +"Masalah ini ditandai pada kerentanan keamanan dengan nomor CVE, tetapi " +"nilainya tidak terlihat seperti pengenal CVE yang valid." -#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty -#: src/as-validator.c:364 -msgid "Retrieved file size was zero." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:713 +msgid "" +"This component is missing information about releases. Consider adding a " +"`releases` tag to describe releases and their changes." msgstr "" -#: src/as-category.c:248 -msgctxt "Category of Science" -msgid "Robotics" -msgstr "Robotika" +#: src/as-validator-issue-tag.h:718 +msgid "" +"The AppStream specification requires a complete, ISO 8601 date string with " +"at least day-granularity to denote dates. Please ensure the date string is " +"valid." +msgstr "" +"Spesifikasi AppStream membutuhkan string tanggal ISO 8601 yang lengkap " +"dengan setidaknya granularitas hari untuk menunjukkan tanggal. Harap " +"pastikan string tanggal valid." -#: src/as-category.c:150 -msgctxt "Category of Games" -msgid "Role Playing" -msgstr "Bermain Peran" +#: src/as-validator-issue-tag.h:724 +msgid "" +"This component extends, provides, requires or recommends itself, which is " +"certainly not intended and may confuse users or machines dealing with this " +"metadata." +msgstr "" +"Komponen ini memperluas, menyediakan, memerlukan, atau merekomendasikan " +"dirinya sendiri, yang tentunya tidak dimaksudkan dan dapat membingungkan " +"pengguna atau mesin yang berurusan dengan metadata ini." -#: tools/appstream-cli.c:196 tools/appstream-cli.c:926 -#, c-format -msgid "Run '%s --help' to see a full list of available command line options." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:731 +msgid "" +"Licenses for `runtime` components are usually too complex to reflect them in " +"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " +"value for this component's `project_license`. E.g. `LicenseRef-free=https://" +"example.com/licenses.html`" msgstr "" -"Jalankan '%s --help' untuk melihat daftar lengkap opsi baris perintah yang " -"tersedia." +"Lisensi untuk komponen `runtime` biasanya terlalu kompleks untuk " +"mencerminkannya dalam ekspresi SPDX sederhana. Pertimbangkan untuk " +"menggunakan `LicenseRef` dan URL web sebagai nilai untuk `project_license` " +"komponen ini. Misalnya `LicenseRef-free=https://example.com/licenses.html`" -#: tools/appstream-cli.c:198 -#, c-format +#: src/as-validator-issue-tag.h:737 msgid "" -"Run '%s --help' to see a list of available commands and options, and '%s %s " -"--help' to see a list of options specific for this subcommand." +"Since a `runtime` component is comprised of multiple other software " +"components, their component-IDs may be listed in a `` section for " +"this runtime." msgstr "" -"Jalankan '%s --help' untuk melihat daftar lengkap perintah dan opsi yang " -"tersedia, dan '%s %s --help' untuk melihat daftar opsi spesifik bagi sub " -"perintah ini." +"Karena komponen `runtime` terdiri dari beberapa komponen perangkat lunak " +"lain, ID-komponennya dapat dicantumkan dalam bagian `` untuk " +"runtime ini." -#: src/as-provided.c:162 -msgid "Runtime Firmware" -msgstr "Firmware Runtime" +#: src/as-validator-issue-tag.h:742 +msgid "" +"The type of the item that the component provides is not known to AppStream." +msgstr "Tipe butir yang disediakan komponen tidak diketahui oleh AppStream." -#: src/as-category.c:174 -msgctxt "Category of Graphics" -msgid "Scanning" -msgstr "Pemindaian" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:748 +msgid "" +"The toplevel `mimetypes` tag is deprecated. Please use `mediatype` tags in a " +"`provides` block instead to indicate that your software provides a media " +"handler for the given types." +msgstr "" +"Tag `mimetypes` tingkat atas tidak digunakan lagi. Harap gunakan tag " +"`mediatype` di blok `provides` untuk menunjukkan bahwa perangkat lunak Anda " +"menyediakan pengendali media untuk jenis yang diberikan." -#. TRANSLATORS: this is the menu spec main category for Science -#: src/as-category.c:323 -msgid "Science" -msgstr "Sains" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks) and keep the URL intact. +#: src/as-validator-issue-tag.h:755 +msgid "" +"This component has no `content_rating` tag to provide age rating " +"information. You can generate the tag data online by answering a few " +"questions at https://hughsie.github.io/oars/" +msgstr "" -#: tools/appstream-cli.c:847 -msgid "Search the component database." -msgstr "Cari basis data komponen." +#: src/as-validator.c:150 +msgid "" +"The emitted issue tag is unknown in the tag registry of AppStream. This is a " +"bug in the validator itself, please report this issue in our bugtracker." +msgstr "" +"Tag masalah yang dikeluarkan tidak dikenal di registri tag AppStream. Ini " +"adalah bug di validator itu sendiri, laporkan masalah ini di bugtracker kami." -#: src/as-category.c:293 -msgctxt "Category of Utility" -msgid "Security" -msgstr "Keamanan" +#: src/as-validator.c:344 +msgid "URL format is invalid." +msgstr "Format URL tidak valid." -#. TRANSLATORS: ascli flag description for: --verbose -#: tools/appstream-cli.c:903 -msgid "Show extra debugging information." +#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. +#: src/as-validator.c:522 src/as-validator.c:937 src/as-validator.c:1031 +#: src/as-validator.c:1428 src/as-validator.c:1448 src/as-validator.c:1481 +#, c-format +msgid "Found: %s - Allowed: %s" +msgstr "Ditemukan: %s - Diizinkan: %s" + +#. TRANSLATORS: ascompose flag description for: --verbose +#: tools/appstream-compose.c:181 +#, fuzzy +msgid "Show extra debugging information" msgstr "Tampilkan informasi debug ekstra." +#. TRANSLATORS: ascompose flag description for: --no-color +#. TRANSLATORS: ascli flag description for: --no-color +#: tools/appstream-compose.c:184 tools/appstreamcli.c:1087 +msgid "Don't show colored output." +msgstr "Jangan tampilkan keluaran berwarna." + +#. TRANSLATORS: ascompose flag description for: --version #. TRANSLATORS: ascli flag description for: --version -#: tools/appstream-cli.c:897 +#: tools/appstream-compose.c:187 tools/appstreamcli.c:1076 msgid "Show the program version." msgstr "Tampilkan versi program." -#: src/as-validator-issue-tag.h:635 -msgid "" -"Since a 'runtime' component is comprised of multiple other software " -"components, their component-IDs may be listed in a `` section for " -"this runtime." +#. TRANSLATORS: ascompose flag description for: --full-report +#: tools/appstream-compose.c:190 +msgid "Set mode of the issue report that is printed to the console" msgstr "" -#: src/as-category.c:153 -msgctxt "Category of Games" -msgid "Sports" -msgstr "Olah Raga" +#. TRANSLATORS: ascompose flag description for: --prefix +#: tools/appstream-compose.c:193 +msgid "Override the default prefix (`/usr` by default)" +msgstr "" -#: src/as-category.c:157 -msgctxt "Category of Games" -msgid "Strategy" -msgstr "Strategi" +#. TRANSLATORS: ascompose flag description for: --result-root +#: tools/appstream-compose.c:196 +msgid "Set the result output directory" +msgstr "" -#. these are commands we can use with appstreamcli -#: tools/appstream-cli.c:845 -msgid "Subcommands:" -msgstr "Subperintah:" +#. TRANSLATORS: ascompose flag description for: --data-dir, `collection metadata` is an AppStream term +#: tools/appstream-compose.c:199 +msgid "Override the collection metadata output directory" +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:527 -msgid "" -"Suggestions of any type other than 'upstream' are not allowed in metainfo " -"files." +#. TRANSLATORS: ascompose flag description for: --icons-dir +#: tools/appstream-compose.c:202 +msgid "Override the icon output directory" msgstr "" -#: tools/ascli-utils.c:297 -msgid "Summary" -msgstr "Ringkasan" +#. TRANSLATORS: ascompose flag description for: --media-dir +#: tools/appstream-compose.c:205 +msgid "" +"Set the media output directory (for media data to be served by a webserver)" +msgstr "" -#. TRANSLATORS: Status summary in ascli -#: tools/ascli-actions-misc.c:145 -msgid "Summary:" -msgstr "Ringkasan:" +#. TRANSLATORS: ascompose flag description for: --hints-dir +#: tools/appstream-compose.c:208 +msgid "Set a directory where HTML and text issue reports will be stored" +msgstr "" -#: src/as-category.c:290 -msgctxt "Category of Utility" -msgid "System Monitoring" -msgstr "Pemantauan Sistem" +#. TRANSLATORS: ascompose flag description for: --origin +#. TRANSLATORS: ascompose flag description for: --media-baseurl +#: tools/appstream-compose.c:211 tools/appstream-compose.c:214 +msgid "Set the origin name" +msgstr "" -#: src/as-validator-issue-tag.h:46 -msgid "Tags of this name are not permitted in this section." +#. TRANSLATORS: ascompose flag description for: --components +#: tools/appstream-compose.c:217 +msgid "A comma-separated list of component-IDs to accept" msgstr "" -#: src/as-category.c:284 -msgctxt "Category of Utility" -msgid "Terminal Emulators" -msgstr "Emulator Terminal" +#. TRANSLATORS: error message +#: tools/appstream-compose.c:231 +msgid "Failed to parse arguments" +msgstr "" -#: src/as-category.c:281 -msgctxt "Category of Utility" -msgid "Text Editors" -msgstr "Penyunting Teks" +#. TRANSLATORS: Output if appstreamcli --version is executed. +#: tools/appstream-compose.c:242 tools/appstreamcli.c:1230 +#, c-format +msgid "AppStream version: %s" +msgstr "AppStream versi: %s" -#: src/as-validator-issue-tag.h:318 +#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. +#: tools/appstream-compose.c:245 tools/appstreamcli.c:1233 +#, c-format msgid "" -"The 'pkgname' tag appears multiple times. You should evaluate creating a " -"metapackage containing the metainfo and .desktop files in order to avoid " -"defining multiple package names per component." +"AppStream CLI tool version: %s\n" +"AppStream library version: %s" msgstr "" +"Alat CLI AppStream versi: %s\n" +"Pustaka AppStream versi: %s" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:416 +#. TRANSLATORS: invalid value for the --print-report CLI option +#: tools/appstream-compose.c:264 +#, c-format msgid "" -"The 'update_contact' tag should not be included in collection AppStream XML." +"Invalid value for `--print-report` option: %s\n" +"Possible values are:\n" +"`on-error` - only prints a short report if the run failed (default)\n" +"`short` - generates an abridged report\n" +"`full` - a detailed report will be printed" msgstr "" -#: tools/ascli-actions-mdata.c:467 +#: tools/appstream-compose.c:285 #, c-format -msgid "The .desktop file '%s' does not exist." -msgstr "Berkas .desktop '%s' tidak ada." +msgid "Automatically selected '%s' as data output location." +msgstr "" -#: src/as-validator-issue-tag.h:393 -msgid "The can not contain a hyperlink." +#. TRANSLATORS: we don't have a destination directory for compose +#: tools/appstream-compose.c:288 +msgid "No destination directory set, please provide a data output location!" msgstr "" -#: src/as-validator-issue-tag.h:313 -msgid "" -"The tag still contains a 'type' property, probably from an old " -"conversion to the recent metainfo format." +#: tools/appstream-compose.c:298 tools/appstream-compose.c:300 +msgid "WARNING" msgstr "" -#: src/as-validator-issue-tag.h:616 -msgid "" -"The AppStream specification requires a complete, ISO 8601 date string with " -"at least day-granularity to denote dates. Please ensure the date string is " -"valid." +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:337 +#, c-format +msgid "Only accepting components: %s" msgstr "" -#: src/as-pool.c:1924 -#, fuzzy, c-format -msgid "" -"The AppStream system cache was updated, but problems were found which " -"resulted in metadata being ignored: %s" -msgstr "Singgahan sistem AppStream dimutakhirkan, tapi ditemukan masalah: %s" +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:340 +#, c-format +msgid "Only accepting component: %s" +msgstr "" + +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:345 +msgid "Processing directories:" +msgstr "" + +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:348 +msgid "Processing directory:" +msgstr "" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:357 +msgid "Can not process invalid directory" +msgstr "" -#: src/as-pool.c:1922 +#. TRANSLATORS: information message +#: tools/appstream-compose.c:369 +msgid "Composing metadata..." +msgstr "" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:374 #, fuzzy +msgid "Failed to compose AppStream metadata" +msgstr "Utilitas untuk bekerja dengan metadata AppStream" + +#. TRANSLATORS: appstream-compose failed to include all data +#: tools/appstream-compose.c:380 +msgid "Run failed, some data was ignored." +msgstr "" + +#. TRANSLATORS: information message of appstream-compose +#: tools/appstream-compose.c:382 +msgid "Errors were raised during this compose run:" +msgstr "" + +#: tools/appstream-compose.c:383 msgid "" -"The AppStream system cache was updated, but some components were ignored. " -"Refer to the verbose log for more information." +"Refer to the generated issue report data for details on the individual " +"problems." msgstr "" -"Singgahan sistem AppStream dimutakhirkan, tapi beberapa kesalahan " -"terdeteksi, yang mungkin mengantar ke metadata yang kurang. Lihatlah log " -"rinci untuk informasi lebih lanjut." -#: src/as-validator-issue-tag.h:151 -msgid "The SPDX license expression is invalid and could not be parsed." +#: tools/appstream-compose.c:386 +msgid "Overview of generated hints:" msgstr "" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows -#: tools/appstream-cli.c:683 +#. TRANSLATORS: information message +#: tools/appstream-compose.c:388 +msgid "Success!" +msgstr "" + +#. TRANSLATORS: ascli flag description for: --cachepath +#: tools/appstreamcli.c:59 +msgid "Manually selected location of AppStream cache." +msgstr "Lokasi singgahan AppStream yang dipilih secara manual." + +#. TRANSLATORS: ascli flag description for: --datapath +#: tools/appstreamcli.c:64 +msgid "Manually selected location of AppStream metadata to scan." +msgstr "Lokasi metadata AppStream yang dipilih secara manual untuk dipindai." + +#. TRANSLATORS: ascli flag description for: --no-cache +#: tools/appstreamcli.c:69 +msgid "Make request without any caching." +msgstr "Buat permintaan tanpa penyinggahan." + +#. TRANSLATORS: ascli flag description for: --format +#: tools/appstreamcli.c:85 +msgid "Default metadata format (valid values are 'xml' and 'yaml')." +msgstr "Format metadata baku (nilai yang valid adalah 'xml' dan 'yaml')." + +#. TRANSLATORS: ascli flag description for: --details +#: tools/appstreamcli.c:100 +msgid "Print detailed output about found components." +msgstr "Cetak keluaran terrinci tentang komponen yang ditemukan." + +#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) +#: tools/appstreamcli.c:118 +msgid "Also show pedantic hints." +msgstr "Tampilkan juga saran pedantik." + +#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) +#: tools/appstreamcli.c:123 +msgid "Print detailed explanation for found issues." +msgstr "Cetak penjelasan terperinci untuk masalah yang ditemukan." + +#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) +#: tools/appstreamcli.c:128 +msgid "Do not use network access." +msgstr "Jangan pakai akses jaringan." + +#. TRANSLATORS: ascli flag description for: --format when validating XML files +#: tools/appstreamcli.c:133 +msgid "Format of the generated report (valid values are 'text' and 'yaml')." +msgstr "" +"Format dari laporan yang dihasilkan (nilai yang valid adalah 'text' dan " +"'yaml')." + +#. TRANSLATORS: This is the header to the --help menu for subcommands +#. TRANSLATORS: This is the header to the --help menu +#: tools/appstreamcli.c:153 tools/appstreamcli.c:981 +msgid "AppStream command-line interface" +msgstr "Antarmuka baris perintah AppStream" + +#: tools/appstreamcli.c:156 #, c-format -msgid "The TYPE must be a valid component-type, such as: %s" -msgstr "TIPE mesti berupa suatu tipe komponen yang valid, seperti misalnya: %s" +msgid "'%s' command" +msgstr "perintah '%s'" + +#. TRANSLATORS: An unknown option was passed to appstreamcli. +#: tools/appstreamcli.c:191 +#, c-format +msgid "Option '%s' is unknown." +msgstr "Opsi '%s' tak dikenal." -#: src/as-validator-issue-tag.h:547 -msgid "The XML of this file is malformed." +#: tools/appstreamcli.c:195 tools/appstreamcli.c:1207 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options." msgstr "" +"Jalankan '%s --help' untuk melihat daftar lengkap opsi baris perintah yang " +"tersedia." -#: src/as-validator-issue-tag.h:584 +#: tools/appstreamcli.c:197 +#, c-format msgid "" -"The category defined in the .desktop file is not valid. Refer to the XDG " -"Menu Specification for a list of valid categories." +"Run '%s --help' to see a list of available commands and options, and '%s %s " +"--help' to see a list of options specific for this subcommand." msgstr "" +"Jalankan '%s --help' untuk melihat daftar lengkap perintah dan opsi yang " +"tersedia, dan '%s %s --help' untuk melihat daftar opsi spesifik bagi sub " +"perintah ini." -#: src/as-validator-issue-tag.h:532 -msgid "" -"The category name is not valid. Refer to the XDG Menu Specification for a " -"list of valid category names." -msgstr "" +#. TRANSLATORS: ascli flag description for: --force +#: tools/appstreamcli.c:245 +msgid "Enforce a cache refresh." +msgstr "Paksakan penyegaran tembolok." -#: src/as-validator-issue-tag.h:124 -msgid "" -"The component ID contains a hyphen/minus. Using a hyphen is strongly " -"discouraged, to improve interoperability with other tools such as D-Bus. A " -"good option is to replace any hyphens with underscores ('_')." -msgstr "" +#. TRANSLATORS: ascli flag description for: --user +#: tools/appstreamcli.c:251 +msgid "Update the user-specific instead of the system-wide cache." +msgstr "Perbarui cache khusus pengguna alih-alih cache seluruh sistem." + +#. TRANSLATORS: ascli flag description for: --origin (part of the "put" subcommand) +#: tools/appstreamcli.c:477 +msgid "Set the data origin for the installed metadata collection file." +msgstr "Atur asal data untuk file pengumpulan metadata yang terinstal." + +#. TRANSLATORS: ascli flag description for: --user (part of the "put" subcommand) +#: tools/appstreamcli.c:482 +msgid "Install the file for the current user, instead of globally." +msgstr "Instal file untuk --pengguna saat ini, bukan secara global." -#: src/as-validator-issue-tag.h:130 +#: tools/appstreamcli.c:631 msgid "" -"The component ID contains a segment starting with a number. Starting a " -"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " -"interoperability with other tools such as D-Bus. Ideally, prefix these " -"segments with an underscore." +"You need to provide at least two version numbers to compare as parameters." msgstr "" +"Anda harus memberikan setidaknya dua nomor versi untuk dibandingkan sebagai " +"parameter." -#: src/as-validator-issue-tag.h:119 -msgid "" -"The component ID contains an invalid character. Only ASCII characters, dots " -"and numbers are permitted." +#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. +#: tools/appstreamcli.c:660 +#, c-format +msgid "Unknown compare relation '%s'. Valid values are:" msgstr "" +"Hubungan perbandingan tidak dikenal '%s'. Nilai-nilai yang valid adalah:" -#: src/as-validator-issue-tag.h:106 +#: tools/appstreamcli.c:700 msgid "" -"The component ID is not a reverse domain-name. Please update the ID to avoid " -"future issues and be compatible with all AppStream implementations.\n" -"You may also consider to update the name of the accompanying .desktop file " -"to follow the latest version of the Desktop-Entry specification and use a " -"rDNS name for it as well. In any case, do not forget to mention the new " -"desktop-entry in a tag for this component to keep the " -"application launchable from software centers and the .desktop file data " -"associated with the metainfo data." +"Too many parameters: Need two version numbers or version numbers and a " +"comparison operator." msgstr "" +"Terlalu banyak parameter: Membutuhkan dua nomor versi atau nomor-nomor versi " +"dan sebuah operator perbandingan." -#: src/as-validator-issue-tag.h:101 +#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) +#: tools/appstreamcli.c:726 msgid "" -"The component ID is required to follow a reverse domain-name scheme for its " -"name. See the AppStream specification for details." +"Use the given .desktop file to fill in the basic values of the metainfo file." msgstr "" +"Gunakan berkas .desktop yang diberikan untuk mengisi nilai-nilai dasar dari " +"berkas metainfo." -#: src/as-validator-issue-tag.h:114 +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand +#: tools/appstreamcli.c:731 msgid "" -"The component ID might not follow the reverse domain-name schema (the TLD " -"used by it is not known to the validator)." +"This command takes optional TYPE and FILE positional arguments, FILE being a " +"file to write to (or \"-\" for standard output)." msgstr "" +"Perintah ini menerima argumen posisional pilihan TIPE dan FILE, FILE adalah " +"berkas tujuan tulis (atau \"-\" untuk keluaran standar)." -#: src/as-validator-issue-tag.h:293 -msgid "" -"The component has a 'merge' method defined. This is not allowed in metainfo " -"files." -msgstr "" +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows +#: tools/appstreamcli.c:734 +#, c-format +msgid "The TYPE must be a valid component-type, such as: %s" +msgstr "TIPE mesti berupa suatu tipe komponen yang valid, seperti misalnya: %s" -#: src/as-validator-issue-tag.h:288 -msgid "" -"The component has a priority value set. This is not allowed in metainfo " -"files." +#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) +#: tools/appstreamcli.c:775 +msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." msgstr "" +"Menggunakan baris yang dinyatakan untuk kunci 'Exec=' dari berkas entri " +"desktop." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:503 -msgid "The component is an addon, but no 'extends' tag was specified." +#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command +#: tools/appstreamcli.c:815 +msgid "Assume the input file is in the selected format ('yaml' or 'text')." msgstr "" +"Asumsikan berkas masukan dalam format yang dipilih ('yaml' atau 'teks')." -#: src/as-validator-issue-tag.h:440 +#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command +#: tools/appstreamcli.c:820 msgid "" -"The component is missing a long description. Components of this type must " -"have a long description." +"Limit the number of release entries that end up in the metainfo file (0 for " +"unlimited)." msgstr "" +"Membatasi jumlah entri rilis yang berakhir di berkas metainfo (0 untuk tidak " +"terbatas)." -#: src/as-validator-issue-tag.h:303 -msgid "The component is missing a name ( tag)." -msgstr "" +#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command +#: tools/appstreamcli.c:862 +msgid "Generate the output in the selected format ('yaml' or 'text')." +msgstr "Menghasilkan luaran dalam format yang dipilih ('yaml' atau 'teks')." -#: src/as-validator-issue-tag.h:308 -msgid "The component is missing a summary ( tag)." +#: tools/appstreamcli.c:894 +#, c-format +msgid "Compose binary '%s' was not found! Can not continue." msgstr "" -#: src/as-validator-issue-tag.h:298 -msgid "The component is missing an ID ( tag)." -msgstr "" +#. TRANSLATORS: this is a (usually shorter) command alias, shown after the command summary text +#: tools/appstreamcli.c:956 +#, c-format +msgid "(Alias: '%s')" +msgstr "(Alias: '%s')" -#: src/as-validator-issue-tag.h:136 -msgid "" -"The component is part of the Freedesktop project, but its ID does not start " -"with fd.o's reverse-DNS name (\"org.freedesktop\")." -msgstr "" +#. these are commands we can use with appstreamcli +#: tools/appstreamcli.c:983 +msgid "Subcommands:" +msgstr "Subperintah:" -#: src/as-validator-issue-tag.h:146 +#: tools/appstreamcli.c:1029 msgid "" -"The component is part of the GNOME project, but its ID does not start with " -"GNOMEs reverse-DNS name (\"org.gnome\")." +"You can find information about subcommand-specific options by passing \"--" +"help\" to the subcommand." msgstr "" +"Anda dapat menemukan informasi tentang opsi spesifik sub perintah dengan " +"memberikan \"--help\" ke sub perintah." -#: src/as-validator-issue-tag.h:141 +#. TRANSLATORS: ascli has been run with unknown command. '%s --help' is the command to receive help and should not be translated. +#: tools/appstreamcli.c:1052 +#, c-format msgid "" -"The component is part of the KDE project, but its ID does not start with " -"KDEs reverse-DNS name (\"org.kde\")." +"Command '%s' is unknown. Run '%s --help' for a list of available commands." msgstr "" +"Perintah '%s' tidak diketahui. Jalankan '%s --help' untuk melihat daftar " +"perintah yang tersedia." -#: src/as-validator-issue-tag.h:323 -msgid "The component name should (likely) not end with a dot ('.')." -msgstr "" +#. TRANSLATORS: ascli flag description for: --verbose +#: tools/appstreamcli.c:1082 +msgid "Show extra debugging information." +msgstr "Tampilkan informasi debug ekstra." -#: src/as-validator-issue-tag.h:333 -msgid "The component summary must not contain tabs or linebreaks." -msgstr "" +#. TRANSLATORS: ascli flag description for: --profile +#: tools/appstreamcli.c:1090 +msgid "Enable profiling" +msgstr "Aktifkan pembuatan profil" -#: src/as-validator-issue-tag.h:328 -msgid "The component summary should not end with a dot ('.')." -msgstr "" +#. TRANSLATORS: `appstreamcli search` command description. +#: tools/appstreamcli.c:1102 +msgid "Search the component database." +msgstr "Cari basis data komponen." -#: src/as-validator-issue-tag.h:243 -msgid "" -"The default screenshot of a software component must not be a video. Use a " -"static image as default screenshot and set the video as a secondary " -"screenshot." -msgstr "" +#. TRANSLATORS: `appstreamcli get` command description. +#: tools/appstreamcli.c:1107 +msgid "Get information about a component by its ID." +msgstr "Dapatkan informasi tentang suatu komponen berdasarkan ID-nya." -#: src/as-validator-issue-tag.h:86 +#. TRANSLATORS: `appstreamcli what-provides` command description. +#: tools/appstreamcli.c:1112 msgid "" -"The description contains a web URL in plain text. This is not allowed, " -"please use the tag instead to share links." +"Get components which provide the given item. Needs an item type (e.g. lib, " +"bin, python3, …) and item value as parameter." msgstr "" +"Dapatkan komponen yang menyediakan item yang diberikan. Membutuhkan tipe " +"item (misalnya lib, bin, python3,…) dan nilai item sebagai parameter." -#: src/as-validator.c:152 -msgid "" -"The emitted issue tag is unknown in the tag registry of AppStream. This is a " -"bug in the validator itself, please report this issue in our bugtracker." -msgstr "" +#. TRANSLATORS: `appstreamcli dump` command description. +#: tools/appstreamcli.c:1118 +msgid "Dump raw XML metadata for a component matching the ID." +msgstr "Curahkan metadata XML mentah bagi suatu komponen yang cocok ID-nya." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:435 -msgid "" -"The essential tag 'metadata_license' is missing. A license for the metadata " -"itself always has to be defined." -msgstr "" +#. TRANSLATORS: `appstreamcli refresh-cache` command description. +#: tools/appstreamcli.c:1123 +msgid "Rebuild the component metadata cache." +msgstr "Bangun ulang singgahan metadata komponen." -#: src/as-validator-issue-tag.h:79 -msgid "" -"The first 'description/p' paragraph of this component might be too short (< " -"80 characters). Please consider starting with a longer paragraph to improve " -"how the description looks like in software centers and to provide more " -"detailed information on this component immediately in the first paragraph." -msgstr "" +#. TRANSLATORS: `appstreamcli validate` command description. +#: tools/appstreamcli.c:1129 +msgid "Validate AppStream XML files for issues." +msgstr "Validasikan berkas XML AppStream apakah bermasalah." -#: src/as-validator-issue-tag.h:156 -msgid "" -"The license ID was not found in the SPDX database. Please check that the " -"license ID is written in an SPDX-conformant way and is a valid free software " -"license." -msgstr "" +#. TRANSLATORS: `appstreamcli validate-tree` command description. +#: tools/appstreamcli.c:1134 +msgid "Validate an installed file-tree of an application for valid metadata." +msgstr "Validasikan metadata pohon berkas terpasang dari suatu aplikasi." -#: src/as-validator-issue-tag.h:96 -msgid "" -"The mentioned tag is empty, which is highly likely not intended as it should " -"have content." -msgstr "" +#. TRANSLATORS: `appstreamcli install` command description. +#: tools/appstreamcli.c:1140 +msgid "Install software matching the component-ID." +msgstr "Pasang perangkat lunak dengan component-ID yang cocok." -#: src/as-validator-issue-tag.h:168 -msgid "" -"The metadata itself does not seem to be licensed under a permissive license. " -"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " -"0BSD to allow distributors to include it in mixed data collections without " -"the risk of license violations due to mutually incompatible licenses." -msgstr "" +#. TRANSLATORS: `appstreamcli remove` command description. +#: tools/appstreamcli.c:1145 +msgid "Remove software matching the component-ID." +msgstr "Buang perangkat lunak dengan component-ID yang cocok." -#: src/as-validator-issue-tag.h:162 -msgid "" -"The metadata itself seems to be licensed under a complex collection of " -"licenses. Please license the data under a simple permissive license, like " -"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " -"collections without the risk of license violations due to mutually " -"incompatible licenses." -msgstr "" +#. TRANSLATORS: `appstreamcli status` command description. +#: tools/appstreamcli.c:1151 +msgid "Display status information about available AppStream metadata." +msgstr "Tampilkan informasi status tentang metadata AppStream yang tersedia." -#: src/as-validator-issue-tag.h:599 +#. TRANSLATORS: `appstreamcli os-info` command description. +#: tools/appstreamcli.c:1156 msgid "" -"The metainfo file is stored in a legacy path. Please place it in '/usr/share/" -"metainfo'." +"Show information about the current operating system from the metadata index." msgstr "" +"Menampilkan informasi tentang sistem operasi saat ini dari indeks metadata." -#: src/as-validator-issue-tag.h:604 -msgid "The metainfo file specifies multiple components. This is not allowed." -msgstr "" +#. TRANSLATORS: `appstreamcli put` command description. +#: tools/appstreamcli.c:1161 +msgid "Install a metadata file into the right location." +msgstr "Pasang suatu berkas metadata ke lokasi yang benar." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:559 -msgid "" -"The metainfo file uses an ancient version of the AppStream specification, " -"which can not be validated. Please migrate it to version 0.6 (or higher)." -msgstr "" +#. TRANSLATORS: `appstreamcli convert` command description. "Collection XML" is a term describing a specific type of AppStream XML data. +#: tools/appstreamcli.c:1166 +msgid "Convert collection XML to YAML or vice versa." +msgstr "Mengonversi koleksi XML ke YAML atau sebaliknya." -#: src/as-validator-issue-tag.h:569 -#, fuzzy -msgid "The metainfo filename does not match the component ID." -msgstr "Buang perangkat lunak dengan component-ID yang cocok." +#. TRANSLATORS: `appstreamcli vercmp` command description. +#: tools/appstreamcli.c:1171 +msgid "Compare two version numbers." +msgstr "Bandingkan dua nomor versi." -#: src/as-validator-issue-tag.h:609 +#. TRANSLATORS: `appstreamcli new-template` command description. +#: tools/appstreamcli.c:1177 msgid "" -"The releases are not sorted in a latest to oldest version order. This is " -"required as some tools will assume that the latest version is always at the " -"top. Sorting releases also increases overall readability of the metainfo " -"file." +"Create a template for a metainfo file (to be filled out by the upstream " +"project)." msgstr "" +"Buat suatu templat bagi berkas metainfo (untuk diisi oleh projek upstream)." -#: src/as-validator-issue-tag.h:537 -msgid "The screenshot caption is too long (should be <= 80 characters)" -msgstr "" +#. TRANSLATORS: `appstreamcli make-desktop-file` command description. +#: tools/appstreamcli.c:1182 +msgid "Create a desktop-entry file from a metainfo file." +msgstr "Membuat berkas entri-desktop XDG dari berkas metainfo." -#: src/as-validator-issue-tag.h:206 -msgid "The screenshot does not have a caption text. Consider adding one." -msgstr "" +#. TRANSLATORS: `appstreamcli news-to-metainfo` command description. +#: tools/appstreamcli.c:1187 +msgid "Convert a YAML or text NEWS file into metainfo releases." +msgstr "Mengubah berkas YAML atau teks NEWS menjadi rilis metainfo." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:218 -msgid "" -"The screenshot video does not specify which container format was used in a " -"'container' property." +#. TRANSLATORS: `appstreamcli metainfo-to-news` command description. +#: tools/appstreamcli.c:1192 +msgid "Write NEWS text or YAML file with information from a metainfo file." msgstr "" +"Menulis teks NEWS atau berkas YAML dengan informasi dari berkas metainfo." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:212 -msgid "" -"The screenshot video does not specify which video codec was used in a " -"'codec' property." +#. TRANSLATORS: `appstreamcli compose` command description. +#: tools/appstreamcli.c:1198 +#, fuzzy +msgid "Compose AppStream collection metadata from directory trees." msgstr "" +"Tidak ada metadata AppStream yang ditemukan di direktori atau pohon " +"direktori ini." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:224 -msgid "" -"The selected video codec is not supported by AppStream and software centers " -"may not be able to play the video. Only the AV1 and VP9 codecs are currently " -"supported, using 'av1' and 'vp9' as values for the 'codec' property." -msgstr "" +#. TRANSLATORS: ascli has been run without command. +#: tools/appstreamcli.c:1206 +msgid "You need to specify a command." +msgstr "Anda perlu menyatakan suatu perintah." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:231 -msgid "" -"The selected video container format is not supported by AppStream and " -"software centers may not be able to play the video. Only the WebM and " -"Matroska video containers are currently supported, using 'webm' and 'mkv' as " -"values for the 'container' property." -msgstr "" +#. TRANSLATORS: In ascli: The requested action needs higher permissions. +#: tools/ascli-actions-mdata.c:70 +msgid "You might need superuser permissions to perform this action." +msgstr "Anda mungkin perlu hak superuser untuk melakukan aksi ini." -#: src/as-validator-issue-tag.h:283 -#, fuzzy -msgid "" -"The set component type is not a recognized, valid AppStream component type." -msgstr "" -"Tipe komponen perangkat lunak '%s' tidak valid dalam AppStream. Nilai yang " -"mungkin adalah:" +#. we performed a cache refresh +#. TRANSLATORS: Updating the metadata cache succeeded +#: tools/ascli-actions-mdata.c:80 +msgid "AppStream cache update completed successfully." +msgstr "Pemutakhiran singgahan AppStream berakhir dengan sukses." + +#. cache wasn't updated, so the update wasn't necessary +#: tools/ascli-actions-mdata.c:86 +msgid "AppStream cache update is not necessary." +msgstr "Pemutakhiran singgahan AppStream tidak perlu." + +#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments +#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. +#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:253 +#: tools/ascli-actions-pkgmgr.c:80 +msgid "You need to specify a component-ID." +msgstr "Anda perlu menyatakan sebuah ID komponen." -#: src/as-validator-issue-tag.h:398 -msgid "" -"The set value is not an identifier for a desktop environment as registered " -"with Freedesktop.org." -msgstr "" +#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:265 +#: tools/ascli-actions-pkgmgr.c:93 +#, c-format +msgid "Unable to find component with ID '%s'!" +msgstr "Tidak bisa menemukan komponen dengan ID '%s'!" + +#: tools/ascli-actions-mdata.c:164 +msgid "You need to specify a term to search for." +msgstr "Anda perlu menyatakan istilah yang akan dicari." -#: tools/ascli-actions-mdata.c:449 +#. TRANSLATORS: We failed to find any component in the database, likely due to an error +#: tools/ascli-actions-mdata.c:177 #, c-format -msgid "" -"The software component type '%s' is not valid in AppStream. Possible values " -"are:" -msgstr "" -"Tipe komponen perangkat lunak '%s' tidak valid dalam AppStream. Nilai yang " -"mungkin adalah:" +msgid "Unable to find component matching %s!" +msgstr "Tidak bisa menemukan komponen yang cocok %s!" -#: src/as-validator-issue-tag.h:338 -msgid "The summary must not contain any URL. Use the tags for links." -msgstr "" +#: tools/ascli-actions-mdata.c:182 +#, c-format +msgid "No component matching '%s' found." +msgstr "Tidak ditemukan komponen yang cocok '%s'." -#: src/as-validator-issue-tag.h:640 -msgid "" -"The type of the item that the component provides is not known to AppStream." -msgstr "" +#: tools/ascli-actions-mdata.c:206 +msgid "No value for the item to search for was defined." +msgstr "Tidak ada nilai yang didefinisikan bagi butir yang dicari." -#: src/as-validator-issue-tag.h:174 -msgid "" -"The update-contact does not appear to be a valid email address (escaping of " -"'@' is only allowed as '_at_' or '_AT_')." +#: tools/ascli-actions-mdata.c:212 +msgid "Invalid type for provided item selected. Valid values are:" msgstr "" +"Tipe yang dipilih tak valid bagi butir yang disediakan. Nilai yang valid " +"adalah:" -#: tools/ascli-actions-validate.c:363 tools/ascli-actions-validate.c:492 +#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results +#: tools/ascli-actions-mdata.c:227 #, c-format -msgid "" -"The validator can not create reports in the '%s' format. You may select " -"'yaml' or 'text' instead." -msgstr "" +msgid "Could not find component providing '%s::%s'." +msgstr "Tidak bisa menemukan komponen yang menyediakan '%s::%s'." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:410 -msgid "This 'bundle' tag has an unknown type and can not be used." -msgstr "" +#: tools/ascli-actions-mdata.c:306 +msgid "You need to specify a metadata file." +msgstr "Anda perlu menyatakan suatu berkas metadata." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:404 -msgid "This 'launchable' tag has an unknown type and can not be used." -msgstr "" +#: tools/ascli-actions-mdata.c:320 +#, c-format +msgid "Unable to install metadata file: %s" +msgstr "Tidak dapat menginstal file metadata: %s" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:515 -msgid "" -"This 'localization' component does not define any languages this " -"localization is for." -msgstr "" +#: tools/ascli-actions-mdata.c:340 +msgid "You need to specify an input and output file." +msgstr "Anda perlu menyatakan berkas masukan dan keluaran." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:509 -msgid "" -"This 'localization' component is missing an 'extends' tag, to specify the " -"components it adds localization to." -msgstr "" +#: tools/ascli-actions-mdata.c:347 +#, c-format +msgid "Metadata file '%s' does not exist." +msgstr "Berkas metadata '%s' tidak ada." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:521 +#. TRANSLATORS: User is trying to convert a file in ascli +#: tools/ascli-actions-mdata.c:387 msgid "" -"This 'service' component is missing a 'launchable' tag of type 'service'." +"Unable to convert file: Could not determine output format, please set it " +"explicitly using '--format='." msgstr "" +"Tidak bisa mengonversi berkas: Tidak bisa menentukan format keluaran, harap " +"atur secara eksplisit memakai '--format='." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:473 -msgid "" -"This 'web-application' component is missing a 'icon' tag to specify a valid " -"icon." -msgstr "" +#: tools/ascli-actions-mdata.c:438 +#, c-format +msgid "Unable to find operating system component '%s'!" +msgstr "Tidak bisa menemukan komponen dengan ID '%s'!" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:467 -msgid "" -"This 'web-application' component is missing a 'launchable' tag of type 'url'." -msgstr "" +#: tools/ascli-actions-mdata.c:443 +msgid "Version" +msgstr "Versi" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:479 +#: tools/ascli-actions-mdata.c:467 msgid "" -"This 'web-application' component is missing categorizations. A 'categories' " -"block is likely missing." +"You need to give an AppStream software component type to generate a " +"template. Possible values are:" msgstr "" +"Anda perlu memberi tipe komponen perangkat lunak AppStream untuk " +"menjangkitkan suatu templat. Nilai yang mungkin adalah:" -#: src/as-validator-issue-tag.h:564 +#: tools/ascli-actions-mdata.c:469 +#, c-format msgid "" -"This XML document has an unknown root tag. Maybe this file is not a metainfo " -"document?" +"The software component type '%s' is not valid in AppStream. Possible values " +"are:" msgstr "" +"Tipe komponen perangkat lunak '%s' tidak valid dalam AppStream. Nilai yang " +"mungkin adalah:" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand -#: tools/appstream-cli.c:680 -msgid "" -"This command takes optional TYPE and FILE positional arguments, FILE being a " -"file to write to (or \"-\" for standard output)." -msgstr "" -"Perintah ini menerima argumen posisional pilihan TIPE dan BERKAS, BERKAS " -"adalah berkas tujuan tulis (atau \"-\" untuk keluaran standar)." +#: tools/ascli-actions-mdata.c:487 +#, c-format +msgid "The .desktop file '%s' does not exist." +msgstr "Berkas .desktop '%s' tidak ada." -#: src/as-validator-issue-tag.h:622 -msgid "" -"This component extends, provides, requires or recommends itself, which is " -"certainly not intended and may confuse users or machines dealing with this " -"metadata." -msgstr "" +#: tools/ascli-actions-mdata.c:493 +#, c-format +msgid "Unable to read the .desktop file: %s" +msgstr "Tidak bisa membaca berkas .desktop: %s" -#: src/as-validator-issue-tag.h:579 -msgid "This component metadata refers to a non-existing .desktop file." -msgstr "" +#: tools/ascli-actions-mdata.c:564 +#, c-format +msgid "Unable to build the template metainfo file: %s" +msgstr "Tidak bisa membangun templat berkas metainfo: %s" -#: src/as-validator-issue-tag.h:69 -msgid "" -"This description paragraph contains invalid markup. Currently, only " -"and are permitted." -msgstr "" +#: tools/ascli-actions-mdata.c:572 +#, c-format +msgid "Unable to save the template metainfo file: %s" +msgstr "Tidak bisa menyimpan templat berkas metainfo: %s" -#: src/as-validator-issue-tag.h:57 -msgid "" -"This element (paragraph, list, etc.) of a tag must not be " -"localized individually in collection metadata. Localize the whole " -" tag instead. The AppStream collection metadata generator (e." -"g. `appstream-generator`) will already do the right thing when compiling the " -"data." -msgstr "" +#. TRANSLATORS: In the status report of ascli: Header +#: tools/ascli-actions-misc.c:47 +msgid "AppStream Status:" +msgstr "Status AppStream:" -#: src/as-validator-issue-tag.h:455 -msgid "" -"This generic component is missing a long description. It may be useful to " -"add one." -msgstr "" +#: tools/ascli-actions-misc.c:48 +#, c-format +msgid "Version: %s" +msgstr "Versi: %s" -#: src/as-validator-issue-tag.h:421 -msgid "" -"This tag is a GNOME-specific extension to AppStream and not part of the " -"official specification. Do not expect it to work in all implementations and " -"in all software centers." -msgstr "" +#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions +#: tools/ascli-actions-misc.c:52 +msgid "Distribution metadata:" +msgstr "Metadata distribusi:" -#: src/as-validator-issue-tag.h:41 -msgid "This tag requires a type property." -msgstr "" +#: tools/ascli-actions-misc.c:94 +msgid "Iconsets" +msgstr "Set ikon" -#: data/org.freedesktop.appstream.cli.metainfo.xml:15 -msgid "" -"This tool allows for reading, writing, validating and transformation of " -"AppStream XML or YAML metadata. It also gives access to the system metadata " -"pool, for example to query for software that provides a specific MIME-type, " -"and installing it by its software component identifier." -msgstr "" -"Alat ini memungkinkan pembacaan, penulisan, validasi, dan transformasi " -"metadata XML atau YAML AppStream. Ini memberi akses ke pool metadata sistem " -"untuk misalnya mengkueri perangkat lunak yang menyediakan MIME-type tertentu " -"dan memasangnya dengan identifier komponen perangkat lunaknya." +#: tools/ascli-actions-misc.c:105 +msgid "No icons." +msgstr "Tak ada ikon." -#: src/as-validator-issue-tag.h:388 -msgid "" -"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." -msgstr "" +#. TRANSLATORS: No metainfo files have been found +#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 +msgid "Empty." +msgstr "Kosong." -#: tools/appstream-cli.c:648 -msgid "" -"Too many parameters: Need two version numbers or version numbers and a " -"comparison operator." -msgstr "" -"Terlalu banyak parameter: Membutuhkan dua nomor versi atau nomor-nomor versi " -"dan sebuah operator perbandingan." +#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report +#: tools/ascli-actions-misc.c:116 +msgid "Metainfo files:" +msgstr "Berkas metainfo:" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:461 -msgid "" -"Type 'console-application' component, but no information about binaries in " -"$PATH was provided via a 'provides/binary' tag." -msgstr "" +#: tools/ascli-actions-misc.c:123 +#, c-format +msgid "Found %i components." +msgstr "Ditemukan %i komponen." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:491 -msgid "" -"Type 'driver' component, but no modalias information was provided via a " -"provides/modalias tag." -msgstr "" +#. TRANSLATORS: Found metainfo files in legacy directories +#: tools/ascli-actions-misc.c:138 +#, c-format +msgid "Found %i components in legacy paths." +msgstr "Ditemukan %i komponan dalam path legasi." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:485 -msgid "" -"Type 'font' component, but no font information was provided via a 'provides/" -"font' tag." -msgstr "" +#. TRANSLATORS: Status summary in ascli +#: tools/ascli-actions-misc.c:145 +msgid "Summary:" +msgstr "Ringkasan:" -#: src/as-validator.c:333 -msgid "URL format is invalid." -msgstr "" +#: tools/ascli-actions-misc.c:153 +#, c-format +msgid "We have information on %i software components." +msgstr "Kami punya informasi atas %i komponen perangkat lunak." -#: tools/ascli-actions-mdata.c:544 +#: tools/ascli-actions-misc.c:159 #, c-format -msgid "Unable to build the template metainfo file: %s" -msgstr "Tidak bisa membangun templat berkas metainfo: %s" +msgid "Error while loading the metadata pool: %s" +msgstr "Kesalahan ketika memuat pool metadata: %s" -#. TRANSLATORS: User is trying to convert a file in ascli -#: tools/ascli-actions-mdata.c:400 +#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 +msgid "You need to specify a metainfo file as input." +msgstr "Anda perlu menyatakan suatu berkas metainfo sebagai masukan." + +#: tools/ascli-actions-misc.c:188 msgid "" -"Unable to convert file: Could not determine output format, please set it " -"explicitly using '--format='." +"You need to specify a desktop-entry file to create or augment as output." msgstr "" -"Tidak bisa mengonversi berkas: Tidak bisa menentukan format keluaran, harap " -"atur secara eksplisit memakai '--format='." +"Anda perlu menyatakan sebuah berkas desktop-entry untuk membuat atau " +"menambah sebagai luaran." -#. TRANSLATORS: We failed to find any component in the database, likely due to an error -#: tools/ascli-actions-mdata.c:177 +#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 +#: tools/ascli-actions-misc.c:515 #, c-format -msgid "Unable to find component matching %s!" -msgstr "Tidak bisa menemukan komponen yang cocok %s!" +msgid "Metainfo file '%s' does not exist." +msgstr "Berkas metainfo '%s' tidak ada." -#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:266 -#: tools/ascli-actions-pkgmgr.c:93 +#: tools/ascli-actions-misc.c:219 #, c-format -msgid "Unable to find component with ID '%s'!" -msgstr "Tidak bisa menemukan komponen dengan ID '%s'!" +msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." +msgstr "Menambah berkas entri desktop '%s' dengan data dari '%s'." #: tools/ascli-actions-misc.c:224 -#, fuzzy, c-format +#, c-format msgid "Unable to load existing desktop-entry file template: %s" -msgstr "Tidak bisa membaca berkas .desktop: %s" +msgstr "Tidak bisa memuat templat berkas desktop-entry yang ada: %s" -#: src/as-validator-issue-tag.h:356 -msgid "Unable to reach remote icon at the given web location - does it exist?" +#: tools/ascli-actions-misc.c:228 +#, c-format +msgid "Creating new desktop-entry file '%s' using data from '%s'" +msgstr "Membuat berkas entri desktop baru '%s' menggunakan data dari '%s'" + +#: tools/ascli-actions-misc.c:284 +msgid "No stock icon name was provided in the metainfo file. Can not continue." +msgstr "" +"Tidak ada nama ikon stok disediakan di berkas metainfo. Tidak bisa " +"melanjutkan." + +#: tools/ascli-actions-misc.c:306 +msgid "" +"No provided binary specified in metainfo file, and no exec command specified " +"via '--exec'. Can not create 'Exec=' key." msgstr "" +"Tidak ada biner yang ditentukan dalam berkas metainfo, dan tidak ada " +"perintah exec yang ditentukan melalui '--exec'. Tidak dapat membuat kunci " +"'Exec='." + +#: tools/ascli-actions-misc.c:370 +#, c-format +msgid "Unable to save desktop entry file: %s" +msgstr "Tidak bisa menyimpan berkas entri desktop: %s" + +#: tools/ascli-actions-misc.c:393 +msgid "You need to specify a NEWS file as input." +msgstr "Anda perlu menyatakan suatu berkas NEWS sebagai masukan." -#: src/as-validator-issue-tag.h:378 +#: tools/ascli-actions-misc.c:397 msgid "" -"Unable to reach remote location that this URL references - does it exist?" +"You need to specify a metainfo file to augment, or '-' to print to stdout." msgstr "" +"Anda perlu menyatakan suatu berkas metainfo yang akan ditambah, atau '-' " +"untuk mencetak stdout." -#: src/as-validator-issue-tag.h:179 -msgid "" -"Unable to reach the screenshot image on its remote location - does the image " -"exist?" +#: tools/ascli-actions-misc.c:402 +msgid "No output filename specified, modifying metainfo file directly." msgstr "" +"Tidak ada nama berkas keluaran yang ditentukan, memodifikasi berkas metainfo " +"secara langsung." -#: src/as-validator-issue-tag.h:184 -msgid "" -"Unable to reach the screenshot video on its remote location - does the video " -"file exist?" +#: tools/ascli-actions-misc.c:509 +msgid "You need to specify a NEWS file as output, or '-' to print to stdout." msgstr "" +"Anda perlu menyatakan suatu berkas NEWS sebagai luaran, atau '-' untuk " +"mencetak ke stdout." -#: src/as-validator-issue-tag.h:542 -#, fuzzy -msgid "Unable to read file." -msgstr "Tidak bisa membaca berkas .desktop: %s" - -#: src/as-validator-issue-tag.h:574 -#, fuzzy -msgid "Unable to read the .desktop file associated with this component." -msgstr "Tidak bisa membaca berkas .desktop: %s" - -#: tools/ascli-actions-mdata.c:473 -#, c-format -msgid "Unable to read the .desktop file: %s" -msgstr "Tidak bisa membaca berkas .desktop: %s" +#: tools/ascli-actions-misc.c:540 +msgid "You need to specify a NEWS format to write the output in." +msgstr "Anda perlu menyatakan suatu format NEWS tempat menulis luaran." -#: src/as-pool.c:606 -msgid "Unable to remove old cache." +#: tools/ascli-actions-pkgmgr.c:53 +msgid "" +"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" +"\" (part of PackageKit) is available." msgstr "" - -#: tools/ascli-actions-misc.c:370 -#, fuzzy, c-format -msgid "Unable to save desktop entry file: %s" -msgstr "Tidak bisa membaca berkas .desktop: %s" - -#: tools/ascli-actions-mdata.c:552 -#, c-format -msgid "Unable to save the template metainfo file: %s" -msgstr "Tidak bisa menyimpan templat berkas metainfo: %s" +"Tidak ditemukan CLI manajer paket yang cocok. Harap pastikan bahwa mis. " +"\"pkcon\" (bagian dari PackageKit) tersedia." #: tools/ascli-actions-pkgmgr.c:67 #, c-format msgid "Unable to spawn package manager: %s" msgstr "Tidak bisa men-spawn manajer paket: %s" -#: tools/ascli-actions-mdata.c:322 +#. TRANSLATORS: We found no distribution package or bundle to install to make this software available +#: tools/ascli-actions-pkgmgr.c:106 #, c-format -msgid "Unable to write to '%s', can not install metainfo file." -msgstr "Tidak bisa menulis ke '%s', tidak bisa memasang berkas metainfo." +msgid "Component '%s' has no installation candidate." +msgstr "Komponen '%s' tidak punya kandidat instalasi." -#. TRANSLATORS: ascli has been run with unknown command. -#: tools/appstream-cli.c:1009 +#: tools/ascli-actions-validate.c:176 tools/ascli-actions-validate.c:354 #, c-format -msgid "Unknown command '%s'." -msgstr "Perintah tak dikenal '%s'." +msgid "File '%s' does not exist." +msgstr "Berkas '%s' tidak ada." -#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. -#: tools/appstream-cli.c:608 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "error"-type hints +#: tools/ascli-actions-validate.c:228 #, c-format -msgid "Unknown compare relation '%s'. Valid values are:" -msgstr "" -"Hubungan perbandingan tidak dikenal '%s'. Nilai-nilai yang valid adalah:" - -#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) -#: tools/appstream-cli.c:675 -msgid "" -"Use the given .desktop file to fill in the basic values of the metainfo file." -msgstr "" -"Gunakan berkas .desktop yang diberikan untuk mengisi nilai-nilai dasar dari " -"berkas metainfo." - -#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) -#: tools/appstream-cli.c:725 -msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." -msgstr "" - -#. TRANSLATORS: this is the menu spec main category for Utilities -#: src/as-category.c:329 -msgid "Utilities" -msgstr "Utilitas" +msgid "errors: %lu" +msgstr "kesalahan: %lu" -#: tools/appstream-cli.c:856 -msgid "Validate AppStream XML files for issues." -msgstr "Validasikan berkas XML AppStream apakah bermasalah." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "warning"-type hints +#: tools/ascli-actions-validate.c:235 +#, c-format +msgid "warnings: %lu" +msgstr "peringatan: %lu" -#: tools/appstream-cli.c:857 -msgid "Validate an installed file-tree of an application for valid metadata." -msgstr "Validasikan metadata pohon berkas terpasang dari suatu aplikasi." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "info"-type hints +#: tools/ascli-actions-validate.c:242 +#, c-format +msgid "infos: %lu" +msgstr "info: %lu" -#: tools/ascli-actions-validate.c:301 tools/ascli-actions-validate.c:442 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "pedantic"-type hints +#: tools/ascli-actions-validate.c:249 #, c-format -msgid "Validation failed: %s" -msgstr "Validasi gagal: %s" +msgid "pedantic: %lu" +msgstr "pedantik: %lu" + +#: tools/ascli-actions-validate.c:268 tools/ascli-actions-validate.c:342 +msgid "You need to specify at least one file to validate!" +msgstr "Anda perlu menyatakan paling tidak sebuah berkas yang akan divalidasi!" -#: tools/ascli-actions-validate.c:289 tools/ascli-actions-validate.c:430 +#: tools/ascli-actions-validate.c:294 tools/ascli-actions-validate.c:435 msgid "Validation was successful." msgstr "Validasi sukses." -#: tools/ascli-actions-validate.c:291 tools/ascli-actions-validate.c:432 +#: tools/ascli-actions-validate.c:296 tools/ascli-actions-validate.c:437 #, c-format msgid "Validation was successful: %s" msgstr "Validasi sukses: %s" -#: tools/appstream-cli.c:851 -msgid "Value of the item that should be found." -msgstr "Nilai dari butir yang mesti ditemukan." - -#: src/as-category.c:177 -msgctxt "Category of Graphics" -msgid "Vector Graphics" -msgstr "Grafik Vektor" - -#: tools/ascli-actions-misc.c:48 +#: tools/ascli-actions-validate.c:306 tools/ascli-actions-validate.c:447 #, c-format -msgid "Version: %s" -msgstr "Versi: %s" - -#: src/as-category.c:180 -msgctxt "Category of Graphics" -msgid "Viewers" -msgstr "Penampil" +msgid "Validation failed: %s" +msgstr "Validasi gagal: %s" -#: tools/ascli-actions-misc.c:153 +#: tools/ascli-actions-validate.c:368 tools/ascli-actions-validate.c:497 #, c-format -msgid "We have information on %i software components." -msgstr "Kami punya informasi atas %i komponen perangkat lunak." - -#: src/as-category.c:270 -msgctxt "Category of Communication" -msgid "Web Browsers" -msgstr "Peramban Web" - -#: src/as-category.c:202 -msgctxt "Category of Office" -msgid "Word Processor" -msgstr "Pengolah Kata" - -#: tools/appstream-cli.c:871 -msgid "Write NEWS text or YAML file with information from a metainfo file." -msgstr "" - -#: tools/appstream-cli.c:874 msgid "" -"You can find information about subcommand-specific options by passing \"--" -"help\" to the subcommand." +"The validator can not create reports in the '%s' format. You may select " +"'yaml' or 'text' instead." msgstr "" -"Anda dapat menemukan informasi tentang opsi spesifik sub perintah dengan " -"memberikan \"--help\" ke sub perintah." +"Validator tidak dapat membuat laporan dalam format '%s'. Anda dapat memilih " +"'yaml' atau 'teks' sebagai gantinya." -#. TRANSLATORS: In ascli: The requested action needs higher permissions. -#: tools/ascli-actions-mdata.c:70 -msgid "You might need superuser permissions to perform this action." -msgstr "Anda mungkin perlu hak superuser untuk melakukan aksi ini." +#: tools/ascli-actions-validate.c:390 tools/ascli-actions-validate.c:484 +msgid "You need to specify a root directory to start validation!" +msgstr "Anda perlu menyatakan suatu direktori akar untuk memulai validasi!" -#: tools/ascli-actions-mdata.c:447 -msgid "" -"You need to give an AppStream software component type to generate a " -"template. Possible values are:" -msgstr "" -"Anda perlu memberi tipe komponen perangkat lunak AppStream untuk " -"menjangkitkan suatu templat. Nilai yang mungkin adalah:" +#: tools/ascli-utils.c:266 +msgid "Identifier" +msgstr "Pengenal" -#: tools/appstream-cli.c:579 -msgid "" -"You need to provide at least two version numbers to compare as parameters." -msgstr "" -"Anda harus memberikan setidaknya dua nomor versi untuk dibandingkan sebagai " -"parameter." +#: tools/ascli-utils.c:268 +msgid "Internal ID" +msgstr "ID Internal" -#: tools/ascli-actions-misc.c:393 -#, fuzzy -msgid "You need to specify a NEWS file as input." -msgstr "Anda perlu menyatakan suatu berkas metadata." +#: tools/ascli-utils.c:269 +msgid "Name" +msgstr "Nama" -#: tools/ascli-actions-misc.c:509 -#, fuzzy -msgid "You need to specify a NEWS file as output, or '-' to print to stdout." -msgstr "Anda perlu menyatakan suatu berkas metadata." +#: tools/ascli-utils.c:270 +msgid "Summary" +msgstr "Ringkasan" -#: tools/ascli-actions-misc.c:540 -#, fuzzy -msgid "You need to specify a NEWS format to write the output in." -msgstr "Anda perlu menyatakan berkas masukan dan keluaran." +#: tools/ascli-utils.c:271 +msgid "Package" +msgstr "Paket" -#. TRANSLATORS: ascli has been run without command. -#: tools/appstream-cli.c:925 -msgid "You need to specify a command." -msgstr "Anda perlu menyatakan suatu perintah." +#: tools/ascli-utils.c:272 +msgid "Bundle" +msgstr "Bundel" -#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments -#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. -#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:254 -#: tools/ascli-actions-pkgmgr.c:80 -msgid "You need to specify a component-ID." -msgstr "Anda perlu menyatakan sebuah ID komponen." +#: tools/ascli-utils.c:273 +msgid "Homepage" +msgstr "Beranda" -#: tools/ascli-actions-misc.c:188 -#, fuzzy -msgid "" -"You need to specify a desktop-entry file to create or augment as output." -msgstr "Anda perlu menyatakan sebuah berkas yang akan divalidasi!" +#: tools/ascli-utils.c:274 +msgid "Icon" +msgstr "Ikon" -#: tools/ascli-actions-mdata.c:309 -msgid "You need to specify a metadata file." -msgstr "Anda perlu menyatakan suatu berkas metadata." +#. developer name +#: tools/ascli-utils.c:294 +msgid "Developer" +msgstr "Pengembang" -#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 -#, fuzzy -msgid "You need to specify a metainfo file as input." -msgstr "Anda perlu menyatakan suatu berkas metadata." +#: tools/ascli-utils.c:300 +msgid "Extends" +msgstr "Memperluas" -#: tools/ascli-actions-misc.c:397 -#, fuzzy -msgid "" -"You need to specify a metainfo file to augment, or '-' to print to stdout." -msgstr "Anda perlu menyatakan suatu berkas metadata." +#: tools/ascli-utils.c:306 +msgid "Description" +msgstr "Deskripsi" -#: tools/ascli-actions-validate.c:385 tools/ascli-actions-validate.c:479 -msgid "You need to specify a root directory to start validation!" -msgstr "Anda perlu menyatakan suatu direktori akar untuk memulai validasi!" +#: tools/ascli-utils.c:326 +msgid "Default Screenshot URL" +msgstr "Cuplikan Layar URL bawaan" -#: tools/ascli-actions-mdata.c:164 -msgid "You need to specify a term to search for." -msgstr "Anda perlu menyatakan istilah yang akan dicari." +#. project group +#: tools/ascli-utils.c:333 +msgid "Project Group" +msgstr "Grup Proyek" -#: tools/ascli-actions-mdata.c:357 -msgid "You need to specify an input and output file." -msgstr "Anda perlu menyatakan berkas masukan dan keluaran." +#. license +#: tools/ascli-utils.c:336 +msgid "License" +msgstr "Lisensi" -#: tools/ascli-actions-validate.c:263 tools/ascli-actions-validate.c:337 -#, fuzzy -msgid "You need to specify at least one file to validate!" -msgstr "Anda perlu menyatakan sebuah berkas yang akan divalidasi!" +#: tools/ascli-utils.c:342 +msgid "Categories" +msgstr "Kategori" -#. TRANSLATORS: List of "grey-listed" words sperated with ";" -#. * Do not translate this list directly. Instead, -#. * provide a list of words in your language that people are likely -#. * to include in a search but that should normally be ignored in -#. * the search. -#. -#: src/as-pool.c:107 -msgid "app;application;package;program;programme;suite;tool" -msgstr "app;application;package;program;programme;suite;tool;aplikasi;paket" +#: tools/ascli-utils.c:350 +msgid "Compulsory for" +msgstr "Wajib bagi" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:223 -#, c-format -msgid "errors: %lu" -msgstr "kesalahan: %lu" +#: tools/ascli-utils.c:378 +msgid "Provided Items" +msgstr "Butir Yang Disediakan" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:237 -#, c-format -msgid "infos: %lu" -msgstr "info: %lu" +#, fuzzy, c-format +#~ msgid "Unable to open new cache file: %s" +#~ msgstr "Tidak bisa membaca berkas .desktop: %s" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:244 -#, c-format -msgid "pedantic: %lu" -msgstr "pedantik: %lu" +#~ msgid "" +#~ "AppStream is a cross-distribution specification to provide metadata about " +#~ "software components." +#~ msgstr "" +#~ "AppStream adalah spesifikasi lintas-distribusi untuk menyediakan metadata " +#~ "tentang komponen perangkat lunak." -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:230 #, c-format -msgid "warnings: %lu" -msgstr "peringatan: %lu" - -#~ msgid "Command '%s' is unknown." -#~ msgstr "Perintah '%s' tak dikenal." - -#~ msgid "Do not use any caches when performing the request." -#~ msgstr "Jangan gunakan tembolok apapun ketika melakukan permintaan." - -#~ msgid "AppStream cache update failed." -#~ msgstr "Pemutakhiran singgahan AppStream gagal." +#~ msgid "Unable to write to '%s', can not install metainfo file." +#~ msgstr "Tidak bisa menulis ke '%s', tidak bisa memasang berkas metainfo." +#, c-format #~ msgid "" -#~ "AppStream data pool was loaded, but some metadata was ignored due to " -#~ "errors." +#~ "Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " +#~ "suffix." #~ msgstr "" -#~ "Pool data AppStream dimuat, tapi beberapa metadata diabaikan karena " -#~ "kesalahan." - -#~ msgid "Can not search for unknown component type." -#~ msgstr "Tidak bisa mencari tipe komponen yang tak dikenal." +#~ "Tidak bisa menyalin '%s': Berkas tidak memiliki akhiran '.metainfo.xml' " +#~ "atau '.appdata.xml'." -#, fuzzy -#~ msgid "Category of Games" -#~ msgstr "Kategori" - -#, fuzzy -#~ msgid "Category of Office" -#~ msgstr "Kategori" - -#, fuzzy -#~ msgid "Category of Science" -#~ msgstr "Kategori" - -#~ msgid "Extensions" -#~ msgstr "Ekstensi" +#~ msgid "An item type (e.g. lib, bin, python3, …)" +#~ msgstr "Suatu tipe butir (mis. lib, bin, python3, ...)" -#~ msgid "File %s not found or permission denied!" -#~ msgstr "Berkas %s tak ditemukan atau tak diizinkan!" +#~ msgid "Get components which provide the given item." +#~ msgstr "Dapatkan komponen yang menyediakan butir yang diberikan." -#, fuzzy -#~ msgid "No component providing '%s::%s' found." -#~ msgstr "Tidak ditemukan komponen yang menyediakan '%s;%s'." +#, c-format +#~ msgid "Unknown command '%s'." +#~ msgstr "Perintah tak dikenal '%s'." -#~ msgid "XDG Menu XML file '%s' is damaged." -#~ msgstr "Berkas XML Menu XDG '%s' rusak." +#~ msgid "Value of the item that should be found." +#~ msgstr "Nilai dari butir yang mesti ditemukan." diff -Nru appstream-0.12.10/po/it.po appstream-0.14.5/po/it.po --- appstream-0.12.10/po/it.po 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/po/it.po 2021-08-28 20:15:28.000000000 +0000 @@ -1,3 +1,4 @@ +# #-#-#-#-# it.po (AppStream) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Matthias Klumpp # This file is distributed under the same license as the appstream package. @@ -6,13 +7,27 @@ # Sergio Brighenti , 2019. # davide rinaudo , 2019. # Antenore Gatta , 2019. +# Ivan Fossati , 2020. +# Giovanni Battaglia , 2020. +# #-#-#-#-# it.po (appstream-glib) #-#-#-#-# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Richard Hughes , 2016. #zanata +# Milo Casagrande , 2018. #zanata +# J. Lavoie , 2020. +# Lory ~ , 2021. +# Alessandro Mandelli , 2021. +# phlostically , 2021. +# +# Translators: msgid "" msgstr "" -"Project-Id-Version: AppStream\n" +"Project-Id-Version: appstream-glib\n" "Report-Msgid-Bugs-To: appstream@lists.freedesktop.org\n" -"POT-Creation-Date: 2020-01-14 01:44+0100\n" -"PO-Revision-Date: 2019-12-16 02:21+0000\n" -"Last-Translator: Antenore Gatta \n" +"POT-Creation-Date: 2021-08-28 16:09+0200\n" +"PO-Revision-Date: 2021-03-31 02:26+0000\n" +"Last-Translator: Alessandro Mandelli \n" "Language-Team: Italian \n" "Language: it\n" @@ -20,528 +35,1382 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 3.10-dev\n" - -#: tools/appstream-cli.c:157 -#, c-format -msgid "'%s' command" -msgstr "Comando «%s»" - -#: src/as-category.c:168 -msgctxt "Category of Graphics" -msgid "3D Graphics" -msgstr "Grafica 3D" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:254 -msgid "" -"A 'requires' or 'recommends' item requires a value to denote a valid " -"relation." -msgstr "" -"Un elemento «requires» o «recommends» richiede un valore per indicare una " -"relazione valida." - -#: src/as-validator-issue-tag.h:51 -msgid "" -"A tag must not be localized in metainfo files (upstream " -"metadata). Localize the individual paragraphs instead." -msgstr "" -"Un tag non deve essere tradotto nei file metainfo (metadati " -"upstream). Tradurre i singoli paragrafi." - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:195 -msgid "" -"A screenshot must contain at least one image or video in order to be useful. " -"Please add an to it." -msgstr "" -"Una schermata deve contenere almeno un'immagine affinché sia utile. " -"Aggiungere un tag ." - -#: src/as-validator-issue-tag.h:200 -msgid "" -"A screenshot must contain either images or videos, but not both at the same " -"time. Please use this screenshot exclusively for either static images or for " -"videos." -msgstr "" -"Uno screenshot deve contenere immagini o video, ma non entrambi " -"contemporaneamente. Si prega di utilizzare questa schermata esclusivamente " -"per immagini statiche o per video." - -#: src/as-category.c:123 -msgctxt "Category of Games" -msgid "Action" -msgstr "Azione" - -#. TRANSLATORS: this is the main category for Add-ons -#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor -#: src/as-category.c:320 tools/ascli-utils.c:398 -msgid "Add-ons" -msgstr "Componenti aggiuntivi" - -#: src/as-category.c:126 -msgctxt "Category of Games" -msgid "Adventure" -msgstr "Avventura" - -#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) -#: tools/appstream-cli.c:116 -msgid "Also show pedantic hints." -msgstr "Stampa suggerimenti prolissi" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:497 -msgid "" -"An 'extends' tag is specified, but the component is not of type 'addon', " -"'localization' or 'repository'." -msgstr "" -"È stato specificato un tag «extends», ma il componente non è di tipo " -"«addon», «localization» o «repository»." - -#: tools/appstream-cli.c:850 -msgid "An item type (e.g. lib, bin, python3, …)" -msgstr "Un tipo di elemento (per esempio lib, bin, python3, …)" - -#: data/org.freedesktop.appstream.cli.metainfo.xml:9 -msgid "An utility to work with AppStream metadata" -msgstr "Uno strumento per lavorare con metadati AppStream" +"X-Generator: Weblate 4.6-dev\n" #: data/org.freedesktop.appstream.cli.metainfo.xml:8 msgid "AppStream CLI" msgstr "CLI AppStream" -#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. -#: tools/appstream-cli.c:947 -#, c-format -msgid "" -"AppStream CLI tool version: %s\n" -"AppStream library version: %s" -msgstr "" -"Versione strumento CLI AppStream: %s\n" -"Versione libreria AppStream: %s" - -#. TRANSLATORS: In the status report of ascli: Header -#: tools/ascli-actions-misc.c:47 -msgid "AppStream Status:" -msgstr "Stato AppStream:" - -#. we performed a cache refresh -#. TRANSLATORS: Updating the metadata cache succeeded -#: tools/ascli-actions-mdata.c:80 -msgid "AppStream cache update completed successfully." -msgstr "Aggiornamento cache AppStream completato con successo." - -#. cache wasn't updated, so the update wasn't necessary -#: tools/ascli-actions-mdata.c:86 -msgid "AppStream cache update is not necessary." -msgstr "Aggiornamento cache AppStream non necessario." - -#. TRANSLATORS: This is the header to the --help menu for subcommands -#. TRANSLATORS: This is the header to the --help menu -#: tools/appstream-cli.c:154 tools/appstream-cli.c:843 -msgid "AppStream command-line interface" -msgstr "Interfaccia a riga di comando AppStream" - -#: src/as-validator-issue-tag.h:63 -msgid "" -"AppStream descriptions support only a limited set of tags to format text: " -"Paragraphs (

                                                                                                                                                                                                                ) and lists (

                                                                                                                                                                                                                  ,
                                                                                                                                                                                                                    ). This description markup contains " -"an invalid XML tag that would not be rendered correctly in applications " -"supporting the metainfo specification." -msgstr "" -"Le descrizioni AppStream supportano un insieme limitato di tag per la " -"formattazione del testo: paragrafi (

                                                                                                                                                                                                                    ) ed elenchi (

                                                                                                                                                                                                                      ,
                                                                                                                                                                                                                        ). Il " -"testo di questa descrizione contiene un tag XML non valido che non verrà " -"visualizzato correttamente dalle applicazioni che supportano la specifica " -"metainfo." +#: data/org.freedesktop.appstream.cli.metainfo.xml:9 +msgid "An utility to work with AppStream metadata" +msgstr "Uno strumento per lavorare con metadati AppStream" #: data/org.freedesktop.appstream.cli.metainfo.xml:12 msgid "" -"AppStream is a cross-distribution specification to provide metadata about " -"software components." -msgstr "" -"AppStream è una specifica multi-distribuzione che fornisce metadati riguardo " -"ai componenti software." +"AppStream is a metadata specification which permits software components to " +"provide information about themselves to automated systems and end-users " +"before the software is actually installed. The AppStream project provides " +"facilities to easily access and transform this metadata, as well as a few " +"additional services for building feature-rich software centers and similar " +"applications that make use of software metadata." +msgstr "" +"AppStream è una specifica di metadati che consente ai componenti software di " +"fornire informazioni su se stessi a sistemi automatizzati e utenti finali " +"prima che il software venga effettivamente installato. Il progetto AppStream " +"fornisce strutture per accedere e trasformare facilmente questi metadati, " +"nonché alcuni servizi aggiuntivi per la creazione di software ricchi di " +"funzionalità e di applicazioni che fanno uso di metadati software." + +#: data/org.freedesktop.appstream.cli.metainfo.xml:18 +msgid "" +"The appstreamcli command-line tool allows to read, write, and " +"transform AppStream XML or YAML metadata as well as to validate it for " +"compliance with the specification. It also provides easy access to the " +"system metadata pool, for example to query for software that provides a " +"specific Mediatype handler or for installing software by its component " +"identifier." +msgstr "" +"Il programma appstreamcli consente di leggere, scrivere, validare e " +"trasformare metadati AppStream XML o YAML. Consente inoltre di accedere " +"all'insieme dei metadati del sistema allo scopo, per esempio, di eseguire " +"ricerche su un software che fornisce uno specifico tipo di MIME e " +"installarlo attraverso il suo identificativo." -#: src/as-pool.c:1937 -#, c-format -msgid "" -"AppStream system cache refresh failed. Turn on verbose mode to get detailed " -"issue information." -msgstr "" -"Aggiornamento della cache AppStream non riuscito. Per maggiori informazioni, " -"abilitare la modalità prolissa." +#: src/as-category.c:66 +msgctxt "Category of AudioVideo" +msgid "Featured" +msgstr "In evidenza" -#. TRANSLATORS: Output if appstreamcli --version is executed. -#: tools/appstream-cli.c:944 -#, c-format -msgid "AppStream version: %s" -msgstr "Versione AppStream: %s" +#: src/as-category.c:69 +msgctxt "Category of AudioVideo" +msgid "Audio Creation & Editing" +msgstr "Produzione e modifica audio" -#: src/as-category.c:129 -msgctxt "Category of Games" -msgid "Arcade" -msgstr "Arcade" +#: src/as-category.c:75 +msgctxt "Category of AudioVideo" +msgid "Music Players" +msgstr "Riproduttori musicali" -#: src/as-category.c:234 -msgctxt "Category of Science" -msgid "Artificial Intelligence" -msgstr "Intelligenza artificiale" +#: src/as-category.c:84 +msgctxt "Category of Development" +msgid "Featured" +msgstr "In evidenza" -#: src/as-validator-issue-tag.h:91 -msgid "" -"As per AppStream specification, the mentioned tag must only appear once in " -"this context. Having multiple tags of this kind is not valid." -msgstr "" -"Come da specifica AppStream, il tag indicato deve comparire una sola volta " -"in questo contesti. Più tag di questo tipo non sono consentiti." +#: src/as-category.c:87 +msgctxt "Category of Development" +msgid "Debuggers" +msgstr "Strumenti di debug" -#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command -#: tools/appstream-cli.c:766 -msgid "Assume the input file is in the selected format ('yaml' or 'text')." -msgstr "Considera il file di input nel formato selezionato («yaml» o «text»)" +#: src/as-category.c:90 +msgctxt "Category of Development" +msgid "IDEs" +msgstr "IDE" -#: src/as-category.c:101 +#: src/as-category.c:99 msgctxt "Category of Education" -msgid "Astronomy" -msgstr "Astronomia" +msgid "Featured" +msgstr "In evidenza" -#: src/as-category.c:237 -msgctxt "Category of Science" +#: src/as-category.c:102 +msgctxt "Category of Education" msgid "Astronomy" msgstr "Astronomia" -#. TRANSLATORS: this is the menu spec main category for Audio & Video -#: src/as-category.c:302 -msgid "Audio & Video" -msgstr "Audio e video" +#: src/as-category.c:105 +msgctxt "Category of Education" +msgid "Chemistry" +msgstr "Chimica" -#: src/as-category.c:68 -msgctxt "Category of AudioVideo" -msgid "Audio Creation & Editing" -msgstr "Produzione e modifica audio" +#: src/as-category.c:108 +msgctxt "Category of Education" +msgid "Languages" +msgstr "Lingue" -#: tools/ascli-actions-misc.c:219 -#, c-format -msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." -msgstr "Vengono aggiunti dati al file desktop «%s» da «%s»." +#: src/as-category.c:112 +msgctxt "Category of Education" +msgid "Math" +msgstr "Matematica" -#: src/as-provided.c:146 -msgid "Binaries" -msgstr "Binari" +#: src/as-category.c:121 +msgctxt "Category of Games" +msgid "Featured" +msgstr "In evidenza" + +#: src/as-category.c:124 +msgctxt "Category of Games" +msgid "Action" +msgstr "Azione" + +#: src/as-category.c:127 +msgctxt "Category of Games" +msgid "Adventure" +msgstr "Avventura" + +#: src/as-category.c:130 +msgctxt "Category of Games" +msgid "Arcade" +msgstr "Arcade" -#: src/as-category.c:132 +#: src/as-category.c:133 msgctxt "Category of Games" msgid "Blocks" msgstr "Blocchi" -#: src/as-category.c:135 +#: src/as-category.c:136 msgctxt "Category of Games" msgid "Board" msgstr "Tavolo" -#: tools/ascli-utils.c:299 -msgid "Bundle" -msgstr "Bundle" - -#: src/as-pool.c:1828 -#, c-format -msgid "Cache location '%s' is not writable." -msgstr "Non è possibile scrivere sulla posizione cache «%s»." - -#: src/as-category.c:191 -msgctxt "Category of Office" -msgid "Calendar" -msgstr "Calendario" - -#: tools/ascli-actions-mdata.c:327 -#, c-format -msgid "" -"Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " -"suffix." -msgstr "" -"Impossibile copiare «%s»: il file non ha un'estensione «.metainfo.xml» o «." -"appdata.xml»." - -#: src/as-category.c:138 +#: src/as-category.c:139 msgctxt "Category of Games" msgid "Card" msgstr "Carta" -#: tools/ascli-utils.c:369 -msgid "Categories" -msgstr "Categorie" +#: src/as-category.c:142 +msgctxt "Category of Games" +msgid "Emulators" +msgstr "Emulatori" -#: src/as-category.c:259 -msgctxt "Category of Communication" -msgid "Chat" -msgstr "Chat" +#: src/as-category.c:145 +msgctxt "Category of Games" +msgid "Kids" +msgstr "Ragazzi" -#: src/as-category.c:104 -msgctxt "Category of Education" -msgid "Chemistry" -msgstr "Chimica" +#: src/as-category.c:148 +msgctxt "Category of Games" +msgid "Logic" +msgstr "Logica" -#: src/as-category.c:240 -msgctxt "Category of Science" -msgid "Chemistry" -msgstr "Chimica" +#: src/as-category.c:151 +msgctxt "Category of Games" +msgid "Role Playing" +msgstr "Di ruolo" -#: src/as-category.c:214 -msgctxt "Category of Addons" -msgid "Codecs" -msgstr "Codec" +#: src/as-category.c:154 +msgctxt "Category of Games" +msgid "Sports" +msgstr "Sport" -#. TRANSLATORS: this is the menu spec main category for Communication -#: src/as-category.c:326 -msgid "Communication & News" -msgstr "Comunicazione e notizie" +#: src/as-category.c:158 +msgctxt "Category of Games" +msgid "Strategy" +msgstr "Strategia" -#: tools/appstream-cli.c:866 -msgid "Compare two version numbers." -msgstr "Confronta due numeri di versione" +#: src/as-category.c:166 +msgctxt "Category of Graphics" +msgid "Featured" +msgstr "In evidenza" -#: src/as-provided.c:166 -msgid "Component" -msgstr "Componente" - -#. TRANSLATORS: We found no distribution package or bundle to install to make this software available -#: tools/ascli-actions-pkgmgr.c:106 -#, c-format -msgid "Component '%s' has no installation candidate." -msgstr "Il componente «%s» non ha alcun candidato per l'installazione." +#: src/as-category.c:169 +msgctxt "Category of Graphics" +msgid "3D Graphics" +msgstr "Grafica 3D" -#: tools/ascli-utils.c:377 -msgid "Compulsory for" -msgstr "Obbligatorio per" +#: src/as-category.c:172 +msgctxt "Category of Graphics" +msgid "Photography" +msgstr "Fotografia" -#: src/as-validator-issue-tag.h:361 -msgid "Consider using a secure (HTTPS) URL for the remote icon link." -msgstr "" -"Considerare l'uso di URL sicuri (HTTPS) per i collegamenti remoti all'icona." +#: src/as-category.c:175 +msgctxt "Category of Graphics" +msgid "Scanning" +msgstr "Scansione" -#: src/as-validator-issue-tag.h:383 -msgid "Consider using a secure (HTTPS) URL for this web link." -msgstr "" -"Considerare l'uso di un URL sicuro (HTTPS) per questo collegamento web." +#: src/as-category.c:178 +msgctxt "Category of Graphics" +msgid "Vector Graphics" +msgstr "Grafica vettoriale" -#: src/as-validator-issue-tag.h:189 -msgid "" -"Consider using a secure (HTTPS) URL to reference this screenshot image or " -"video." -msgstr "" -"Considerare l'uso di un URL sicuro (HTTPS) per fare riferimento a questa " -"immagine o video." +#: src/as-category.c:181 +msgctxt "Category of Graphics" +msgid "Viewers" +msgstr "Visualizzatori" -#: tools/appstream-cli.c:870 -msgid "Convert a YAML or text NEWS file into metainfo releases." -msgstr "Converte un file YAML o NEWS in rilasci metainfo" +#: src/as-category.c:189 +msgctxt "Category of Office" +msgid "Featured" +msgstr "In evidenza" -#. TRANSLATORS: "convert" command in ascli. "Collection XML" is a term describing a specific type of AppStream XML data. -#: tools/appstream-cli.c:865 -msgid "Convert collection XML to YAML or vice versa." -msgstr "Converte la collezione XML in YAML o vice versa" +#: src/as-category.c:192 +msgctxt "Category of Office" +msgid "Calendar" +msgstr "Calendario" -#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results -#: tools/ascli-actions-mdata.c:228 -#, c-format -msgid "Could not find component providing '%s::%s'." -msgstr "Impossibile trovare un componente che fornisca «%s::%s»." +#: src/as-category.c:196 +msgctxt "Category of Office" +msgid "Database" +msgstr "Basi di dati" -#: tools/appstream-cli.c:869 -#, fuzzy -msgid "Create a XDG desktop-entry file from a metainfo file." -msgstr "Crea un file XDG da un file metainfo" +#: src/as-category.c:199 +msgctxt "Category of Office" +msgid "Finance" +msgstr "Finanza" -#: tools/appstream-cli.c:868 -msgid "" -"Create a template for a metainfo file (to be filled out by the upstream " -"project)." -msgstr "" -"Crea un modello per un file metainfo (deve essere completato dal progetto " -"originario)" +#: src/as-category.c:203 +msgctxt "Category of Office" +msgid "Word Processor" +msgstr "Editor di testi" -#: tools/ascli-actions-misc.c:228 -#, c-format -msgid "Creating new desktop-entry file '%s' using data from '%s'" -msgstr "Creazione file desktop «%s» con dati da «%s»" +#: src/as-category.c:212 +msgctxt "Category of Addons" +msgid "Fonts" +msgstr "Caratteri" -#: src/as-provided.c:160 -msgid "D-Bus Session Services" -msgstr "Servizi di sessione D-Bus" +#: src/as-category.c:215 +msgctxt "Category of Addons" +msgid "Codecs" +msgstr "Codec" -#: src/as-provided.c:158 -msgid "D-Bus System Services" -msgstr "Servizi di sistema D-Bus" +#: src/as-category.c:218 +msgctxt "Category of Addons" +msgid "Input Sources" +msgstr "Sorgenti d'input" -#: src/as-category.c:195 -msgctxt "Category of Office" -msgid "Database" -msgstr "Basi di dati" +#: src/as-category.c:221 +msgctxt "Category of Addons" +msgid "Language Packs" +msgstr "Traduzioni" -#: src/as-category.c:86 -msgctxt "Category of Development" -msgid "Debuggers" -msgstr "Strumenti di debug" +#: src/as-category.c:224 +msgctxt "Category of Addons" +msgid "Localization" +msgstr "Localizzazione" -#: tools/ascli-utils.c:353 -msgid "Default Screenshot URL" -msgstr "URL predefinito della schermata" +#: src/as-category.c:232 +msgctxt "Category of Science" +msgid "Featured" +msgstr "In evidenza" -#. TRANSLATORS: ascli flag description for: --format -#: tools/appstream-cli.c:83 -msgid "Default metadata format (valid values are 'xml' and 'yaml')." -msgstr "" -"Valore predefinito del formato dei metadati (valori validi sono «xml» e " -"«yaml»)" +#: src/as-category.c:235 +msgctxt "Category of Science" +msgid "Artificial Intelligence" +msgstr "Intelligenza artificiale" -#: tools/ascli-utils.c:333 -msgid "Description" -msgstr "Descrizione" +#: src/as-category.c:238 +msgctxt "Category of Science" +msgid "Astronomy" +msgstr "Astronomia" -#. developer name -#: tools/ascli-utils.c:321 -msgid "Developer" -msgstr "Sviluppatore" +#: src/as-category.c:241 +msgctxt "Category of Science" +msgid "Chemistry" +msgstr "Chimica" -#. TRANSLATORS: this is the menu spec main category for Development -#: src/as-category.c:305 -msgid "Developer Tools" -msgstr "Strumenti di sviluppo" +#: src/as-category.c:244 +msgctxt "Category of Science" +msgid "Math" +msgstr "Matematica" -#: tools/appstream-cli.c:862 -msgid "Display status information about available AppStream metadata." -msgstr "" -"Visualizza informazioni di stato riguardo ai metadati AppStream installati." +#: src/as-category.c:249 +msgctxt "Category of Science" +msgid "Robotics" +msgstr "Robotica" -#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions -#: tools/ascli-actions-misc.c:52 -msgid "Distribution metadata:" -msgstr "Metadati della distribuzione:" +#: src/as-category.c:257 +msgctxt "Category of Communication" +msgid "Featured" +msgstr "In evidenza" -#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) -#: tools/appstream-cli.c:126 -msgid "Do not use network access." -msgstr "Non usa l'accesso alla rete" +#: src/as-category.c:260 +msgctxt "Category of Communication" +msgid "Chat" +msgstr "Chat" -#. TRANSLATORS: ascli flag description for: --no-color -#: tools/appstream-cli.c:908 -msgid "Don't show colored output." -msgstr "Non mostra output colorato" +#: src/as-category.c:267 +msgctxt "Category of Communication" +msgid "News" +msgstr "Notizie" -#: tools/appstream-cli.c:853 -msgid "Dump raw XML metadata for a component matching the ID." -msgstr "" -"Esegue il dump dei metadati XML per un componente che corrisponde all'ID" +#: src/as-category.c:271 +msgctxt "Category of Communication" +msgid "Web Browsers" +msgstr "Browser web" -#. TRANSLATORS: this is the menu spec main category for Education -#: src/as-category.c:308 -msgid "Education" -msgstr "Educazione" +#: src/as-category.c:279 +msgctxt "Category of Utility" +msgid "Featured" +msgstr "In evidenza" -#. TRANSLATORS: No metainfo files have been found -#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 -msgid "Empty." -msgstr "Vuota." +#: src/as-category.c:282 +msgctxt "Category of Utility" +msgid "Text Editors" +msgstr "Editor di testi" -#: src/as-category.c:141 -msgctxt "Category of Games" -msgid "Emulators" -msgstr "Emulatori" +#: src/as-category.c:285 +msgctxt "Category of Utility" +msgid "Terminal Emulators" +msgstr "Emulatori di terminale" -#. TRANSLATORS: ascli flag description for: --force -#: tools/appstream-cli.c:245 -msgid "Enforce a cache refresh." -msgstr "Forza l'aggiornamento della cache" +#: src/as-category.c:288 +msgctxt "Category of Utility" +msgid "File System" +msgstr "File system" -#: src/as-validator-issue-tag.h:74 -msgid "Enumerations must only have list items (
                                                                                                                                                                                                                      1. ) as children." -msgstr "" -"Gli elenchi devono avare solamente elementi consentiti (
                                                                                                                                                                                                                      2. ) come figli." +#: src/as-category.c:291 +msgctxt "Category of Utility" +msgid "System Monitoring" +msgstr "Monitoraggio del sistema" -#: tools/ascli-actions-misc.c:159 -#, c-format -msgid "Error while loading the metadata pool: %s" -msgstr "Errore nel caricare l'insieme dei metadati: %s" +#: src/as-category.c:294 +msgctxt "Category of Utility" +msgid "Security" +msgstr "Sicurezza" -#: tools/ascli-utils.c:327 -msgid "Extends" -msgstr "Estende" +#. TRANSLATORS: this is the menu spec main category for Audio & Video +#: src/as-category.c:303 +msgid "Audio & Video" +msgstr "Audio e video" -#: src/as-category.c:65 -msgctxt "Category of AudioVideo" -msgid "Featured" -msgstr "In evidenza" +#. TRANSLATORS: this is the menu spec main category for Development +#: src/as-category.c:306 +msgid "Developer Tools" +msgstr "Strumenti di sviluppo" -#: src/as-category.c:256 -msgctxt "Category of Communication" -msgid "Featured" -msgstr "In evidenza" +#. TRANSLATORS: this is the menu spec main category for Education +#: src/as-category.c:309 +msgid "Education" +msgstr "Educazione" -#: src/as-category.c:83 -msgctxt "Category of Development" -msgid "Featured" -msgstr "In evidenza" +#. TRANSLATORS: this is the menu spec main category for Game +#: src/as-category.c:312 +msgid "Games" +msgstr "Giochi" -#: src/as-category.c:98 -msgctxt "Category of Education" -msgid "Featured" -msgstr "In evidenza" +#. TRANSLATORS: this is the menu spec main category for Graphics +#: src/as-category.c:315 +msgid "Graphics & Photography" +msgstr "Grafica e fotografia" -#: src/as-category.c:120 -msgctxt "Category of Games" -msgid "Featured" -msgstr "In evidenza" +#. TRANSLATORS: this is the menu spec main category for Office +#: src/as-category.c:318 +msgid "Office" +msgstr "Ufficio" -#: src/as-category.c:165 -msgctxt "Category of Graphics" -msgid "Featured" -msgstr "In evidenza" +#. TRANSLATORS: this is the main category for Add-ons +#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor +#: src/as-category.c:321 tools/ascli-utils.c:371 +msgid "Add-ons" +msgstr "Componenti aggiuntivi" -#: src/as-category.c:188 -msgctxt "Category of Office" -msgid "Featured" -msgstr "In evidenza" +#. TRANSLATORS: this is the menu spec main category for Science +#: src/as-category.c:324 +msgid "Science" +msgstr "Scienze" -#: src/as-category.c:231 -msgctxt "Category of Science" -msgid "Featured" -msgstr "In evidenza" +#. TRANSLATORS: this is the menu spec main category for Communication +#: src/as-category.c:327 +msgid "Communication & News" +msgstr "Comunicazione e notizie" -#: src/as-category.c:278 -msgctxt "Category of Utility" -msgid "Featured" -msgstr "In evidenza" +#. TRANSLATORS: this is the menu spec main category for Utilities +#: src/as-category.c:330 +msgid "Utilities" +msgstr "Strumenti di utilità" -#: tools/ascli-actions-validate.c:171 tools/ascli-actions-validate.c:349 +#. TRANSLATORS: This is the formatting of English and localized name +#. * of the rating e.g. "Adults Only (solo adultos)" +#: src/as-content-rating.c:298 +#, c-format +msgid "%s (%s)" +msgstr "%s (%s)" + +#: src/as-content-rating.c:444 +msgid "General" +msgstr "Generale" + +#: src/as-content-rating.c:453 +msgid "ALL" +msgstr "Tutto" + +#: src/as-content-rating.c:457 src/as-content-rating.c:560 +msgid "Adults Only" +msgstr "Solo per adulti" + +#: src/as-content-rating.c:459 src/as-content-rating.c:559 +msgid "Mature" +msgstr "Maturo" + +#: src/as-content-rating.c:461 src/as-content-rating.c:558 +msgid "Teen" +msgstr "Adolescente" + +#: src/as-content-rating.c:463 src/as-content-rating.c:557 +msgid "Everyone 10+" +msgstr "Chiunque di 10+" + +#: src/as-content-rating.c:465 src/as-content-rating.c:556 +msgid "Everyone" +msgstr "Chiunque" + +#: src/as-content-rating.c:467 src/as-content-rating.c:555 +msgid "Early Childhood" +msgstr "Prima infanzia" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:839 +msgid "No cartoon violence" +msgstr "Nessuna violenza nel cartone animato" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:841 +msgid "Cartoon characters in unsafe situations" +msgstr "Personaggi dei cartoni animati in situazioni rischiose" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:843 +msgid "Cartoon characters in aggressive conflict" +msgstr "Personaggi dei cartoni animati in conflitti aggressivi" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:845 +msgid "Graphic violence involving cartoon characters" +msgstr "Violenza grafica che coinvolge personaggi dei cartoni animati" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:850 +msgid "No fantasy violence" +msgstr "Nessuna violenza nel fantasy" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:852 +msgid "Characters in unsafe situations easily distinguishable from reality" +msgstr "" +"Personaggi in situazioni rischiose facilmente distinguibili dalla realtà" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:854 +msgid "Characters in aggressive conflict easily distinguishable from reality" +msgstr "" +"Personaggi in conflitti aggressivi facilmente distinguibili dalla realtà" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:856 +msgid "Graphic violence easily distinguishable from reality" +msgstr "Violenza grafica facilmente distinguibile dalla realtà" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:861 +msgid "No realistic violence" +msgstr "Nessuna violenza realistica" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:863 +msgid "Mildly realistic characters in unsafe situations" +msgstr "Personaggi lievemente realistici in situazioni rischiose" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:865 +msgid "Depictions of realistic characters in aggressive conflict" +msgstr "Raffigurazioni di personaggi realistici in conflitti aggressivi" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:867 +msgid "Graphic violence involving realistic characters" +msgstr "Violenza grafica che coinvolge personaggi realistici" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:872 +msgid "No bloodshed" +msgstr "Nessun eccidio" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:874 +msgid "Unrealistic bloodshed" +msgstr "Eccidio non realistico" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:876 +msgid "Realistic bloodshed" +msgstr "Eccidio realistico" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:878 +msgid "Depictions of bloodshed and the mutilation of body parts" +msgstr "Raffigurazioni di eccidi e mutilazioni di parti del corpo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:883 +msgid "No sexual violence" +msgstr "Nessuna violenza sessuale" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:885 +msgid "Rape or other violent sexual behavior" +msgstr "Stupro o altri comportamenti sessuali violenti" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:892 +msgid "No references to alcohol" +msgstr "Nessun riferimento all'alcol" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:894 +msgid "References to alcoholic beverages" +msgstr "Riferimenti a bevande alcoliche" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:896 +msgid "Use of alcoholic beverages" +msgstr "Uso di bevande alcoliche" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:902 +msgid "No references to illicit drugs" +msgstr "Nessun riferimento a droghe illecite" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:904 +msgid "References to illicit drugs" +msgstr "Riferimenti a droghe illecite" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:906 +msgid "Use of illicit drugs" +msgstr "Uso di droghe illecite" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:912 +msgid "No references to tobacco products" +msgstr "Nessun riferimento a prodotti del tabacco" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:914 +msgid "References to tobacco products" +msgstr "Riferimenti a prodotti del tabacco" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:916 +msgid "Use of tobacco products" +msgstr "Uso di prodotti del tabacco" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:922 +msgid "No nudity of any sort" +msgstr "Nessuna nudità di qualsiasi sorta" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:924 +msgid "Brief artistic nudity" +msgstr "Breve nudità artistica" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:926 +msgid "Prolonged nudity" +msgstr "Nudità prolungata" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:932 +msgid "No references to or depictions of sexual nature" +msgstr "Nessun riferimento a/o raffigurazione di natura sessuale" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:934 +msgid "Provocative references or depictions" +msgstr "Riferimenti o raffigurazioni provocanti" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:936 +msgid "Sexual references or depictions" +msgstr "Riferimenti o raffigurazioni sessuali" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:938 +msgid "Graphic sexual behavior" +msgstr "Comportamento grafico sessuale" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:943 +msgid "No profanity of any kind" +msgstr "Nessuna volgarità di qualsiasi tipo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:945 +msgid "Mild or infrequent use of profanity" +msgstr "Lieve o infrequente uso di volgarità" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:947 +msgid "Moderate use of profanity" +msgstr "Moderato uso di volgarità" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:949 +msgid "Strong or frequent use of profanity" +msgstr "Forte o frequente uso di volgarità" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:954 +msgid "No inappropriate humor" +msgstr "Nessun umorismo inappropriato" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:956 +msgid "Slapstick humor" +msgstr "Umorismo da pagliacciata" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:958 +msgid "Vulgar or bathroom humor" +msgstr "Umorismo volgare o da gabinetto" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:960 +msgid "Mature or sexual humor" +msgstr "Umorismo maturo o sessuale" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:965 +msgid "No discriminatory language of any kind" +msgstr "Nessun linguaggio discriminatorio di qualsiasi tipo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:967 +msgid "Negativity towards a specific group of people" +msgstr "Negatività verso un gruppo specifico di persone" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:969 +msgid "Discrimination designed to cause emotional harm" +msgstr "Discriminazione progettata per causare danni emotivi" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:971 +msgid "Explicit discrimination based on gender, sexuality, race or religion" +msgstr "" +"Discriminazione esplicita basata sul sesso, sessualità, razza o religione" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:976 +msgid "No advertising of any kind" +msgstr "Nessuna pubblicità di qualsiasi tipo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:978 +msgid "Product placement" +msgstr "Inserimento prodotto" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:980 +msgid "Explicit references to specific brands or trademarked products" +msgstr "Riferimenti espliciti a specifici marchi o prodotti commerciali" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:982 +msgid "Users are encouraged to purchase specific real-world items" +msgstr "" +"Gli utenti sono incoraggiati ad acquistare specifici oggetti del mondo reale" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:987 +msgid "No gambling of any kind" +msgstr "Nessun gioco d'azzardo di qualsiasi tipo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:989 +msgid "Gambling on random events using tokens or credits" +msgstr "Gioco d'azzardo su eventi casuali che usano gettoni o crediti" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:991 +msgid "Gambling using “play” money" +msgstr "Gioco d'azzardo che usa soldi «di gioco»" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:993 +msgid "Gambling using real money" +msgstr "Gioco d'azzardo che usa soldi veri" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:998 +msgid "No ability to spend money" +msgstr "Nessuna possibilità di spendere soldi" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1000 +msgid "Users are encouraged to donate real money" +msgstr "Gli utenti sono incoraggiati a donare moneta reale" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1003 +msgid "Ability to spend real money in-app" +msgstr "Possibilità di spendere soldi veri nell'applicazione" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1008 +msgid "No way to chat with other users" +msgstr "Nessuna possibilità di conversare con altri utenti" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1010 +msgid "User-to-user interactions without chat functionality" +msgstr "Interazioni fra utenti senza funzionalità di chat" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1012 +msgid "Moderated chat functionality between users" +msgstr "Funzionalità di chat moderata fra utenti" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1014 +msgid "Uncontrolled chat functionality between users" +msgstr "Funzionalità di chat non controllata fra utenti" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1019 +msgid "No way to talk with other users" +msgstr "Nessuna possibilità di parlare con altri utenti" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1021 +msgid "Uncontrolled audio or video chat functionality between users" +msgstr "Funzionalità di chat audio e video non controllata fra utenti" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1028 +msgid "No sharing of social network usernames or email addresses" +msgstr "" +"Nessuna condivisione di nomi utente di social network o di indirizzi email" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1030 +msgid "Sharing social network usernames or email addresses" +msgstr "Condivisione di nomi utente di social network o di indirizzi email" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1037 +msgid "No sharing of user information with third parties" +msgstr "Nessuna condivisione di informazioni dell'utente con terze parti" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1039 +msgid "Checking for the latest application version" +msgstr "Verifica dell'ultima versione dell'applicazione" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1041 +msgid "Sharing diagnostic data that does not let others identify the user" +msgstr "" +"Condivisione di dati diagnostici che non consentono agli altri di " +"identificare l'utente" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1043 +msgid "Sharing information that lets others identify the user" +msgstr "" +"Condivisione di informazioni che consentono ad altri di identificare l'utente" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1048 +msgid "No sharing of physical location with other users" +msgstr "Nessuna condivisione della posizione fisica con altri utenti" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1050 +msgid "Sharing physical location with other users" +msgstr "Condivisione della posizione fisica con altri utenti" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1073 +msgid "No references to homosexuality" +msgstr "Neessun riferimento all'omosessualità" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1075 +msgid "Indirect references to homosexuality" +msgstr "Riferimenti indiretti all'omosessualità" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1077 +msgid "Kissing between people of the same gender" +msgstr "Effusioni fra persone dello stesso sesso" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1079 +msgid "Graphic sexual behavior between people of the same gender" +msgstr "Comportamento sessuale grafico fra persone dello stesso sesso" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1084 +msgid "No references to prostitution" +msgstr "Nessun riferimento alla prostituzione" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1086 +msgid "Indirect references to prostitution" +msgstr "Riferimenti indiretti alla prostituzione" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1088 +msgid "Direct references to prostitution" +msgstr "Riferimenti diretti alla prostituzione" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1090 +msgid "Graphic depictions of the act of prostitution" +msgstr "Rappresentazioni grafiche dell'atto di prostituzione" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1095 +msgid "No references to adultery" +msgstr "Nessun riferimento all'adulterio" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1097 +msgid "Indirect references to adultery" +msgstr "Riferimenti indiretti all'adulterio" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1099 +msgid "Direct references to adultery" +msgstr "Riferimenti diretti all'adulterio" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1101 +msgid "Graphic depictions of the act of adultery" +msgstr "Rappresentazioni grafiche dell'atto dell'adulterio" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1106 +msgid "No sexualized characters" +msgstr "Nessuna personaggio sessualizzato" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1109 +msgid "Scantily clad human characters" +msgstr "Personaggi umani poco vestiti" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1111 +msgid "Overtly sexualized human characters" +msgstr "Personaggi umani sessualizzati in modo anomalo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1116 +msgid "No references to desecration" +msgstr "Nessun riferimento alla profanazione" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1118 +msgid "Depictions of or references to historical desecration" +msgstr "Raffigurazioni o riferimenti alla profanazione storica" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1120 +msgid "Depictions of modern-day human desecration" +msgstr "Rappresentazioni della moderna dissacrazione umana" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1122 +msgid "Graphic depictions of modern-day desecration" +msgstr "Rappresentazioni grafiche di moderna profanazione" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1127 +msgid "No visible dead human remains" +msgstr "Nessun resto visibile di umano morto" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1129 +msgid "Visible dead human remains" +msgstr "Resti visibili di umano morto" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1131 +msgid "Dead human remains that are exposed to the elements" +msgstr "Resti di umano morto che è stato esposto agli elementi" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1133 +msgid "Graphic depictions of desecration of human bodies" +msgstr "Rappresentazioni grafiche della profanazione di corpi umani" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1138 +msgid "No references to slavery" +msgstr "Nessun riferimento alla schiavitù" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1140 +msgid "Depictions of or references to historical slavery" +msgstr "Raffigurazioni o riferimenti alla schiavitù storica" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1142 +msgid "Depictions of modern-day slavery" +msgstr "Rappresentazioni della schiavitù moderna" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1144 +msgid "Graphic depictions of modern-day slavery" +msgstr "Rappresentazioni grafiche della schiavitù moderna" + +#. TRANSLATORS: We got a 429 error while trying to download data +#: src/as-curl.c:134 +#, c-format +msgid "Failed to download due to server limit" +msgstr "Download fallito a causa di limitazione server" + +#: src/as-curl.c:141 src/as-curl.c:148 +#, c-format +msgid "Failed to download file: %s" +msgstr "Impossibile scaricare il file: %s" + +#. TRANSLATORS: We tried to download an URL, but received a 404 error code +#: src/as-curl.c:157 #, c-format -msgid "File '%s' does not exist." -msgstr "Il file «%s» non esiste." +msgid "URL was not found on the server." +msgstr "L'URL non è stato trovato sul server." + +#. TRANSLATORS: We received an uexpected HTTP status code while talking to a server, likely an error +#: src/as-curl.c:164 +#, c-format +msgid "Unexpected status code: %ld" +msgstr "Codice di stato inatteso: %ld" + +#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty +#: src/as-curl.c:247 +#, c-format +msgid "Retrieved file size was zero." +msgstr "La dimensione del file recuperato è zero." + +#. TRANSLATORS: List of "grey-listed" words sperated with ";" +#. * Do not translate this list directly. Instead, +#. * provide a list of words in your language that people are likely +#. * to include in a search but that should normally be ignored in +#. * the search. +#. +#: src/as-pool.c:111 +msgid "app;application;package;program;programme;suite;tool" +msgstr "" +"app;applicazione;applicazioni;pacchetto;programma;suite;tool;strumento;" +"strumenti" + +#: src/as-pool.c:620 +msgid "Unable to remove old cache." +msgstr "Impossibile rimuovere la vecchia cache." + +#: src/as-pool.c:963 +msgid "Metadata files have errors:" +msgstr "I file dei metadati presentano degli errori:" + +#: src/as-pool.c:1370 +msgid "" +"Many components have been recognized as invalid. See debug output for " +"details." +msgstr "" +"Molti componenti sono stati identificati come non validi. Consultare " +"l'output di debug per maggiori dettagli." + +#: src/as-pool.c:1996 +#, c-format +msgid "Cache location '%s' is not writable." +msgstr "Non è possibile scrivere sulla posizione cache «%s»." + +#: src/as-pool.c:2109 +msgid "" +"The AppStream system cache was updated, but some components were ignored. " +"Refer to the verbose log for more information." +msgstr "" +"La cache AppStream di sistema è stata aggiornata, ma alcuni componenti sono " +"stati ignorati. Per maggiori informazioni fare riferimento al registro dei " +"messaggi." + +#: src/as-pool.c:2111 +#, c-format +msgid "" +"The AppStream system cache was updated, but problems were found which " +"resulted in metadata being ignored: %s" +msgstr "" +"La cache AppStream di sistema è stata aggiornata, ma sono stati riscontrati " +"degli errori e i metadati sono stati ignorati: %s" + +#: src/as-pool.c:2125 +#, c-format +msgid "" +"AppStream system cache refresh failed. Turn on verbose mode to get detailed " +"issue information." +msgstr "" +"Aggiornamento della cache AppStream non riuscito. Per maggiori informazioni, " +"abilitare la modalità prolissa." + +#: src/as-provided.c:144 +msgid "Libraries" +msgstr "Librerie" + +#: src/as-provided.c:146 +msgid "Binaries" +msgstr "Binari" + +#: src/as-provided.c:148 +msgid "Media types" +msgstr "Tipi multimediali" + +#: src/as-provided.c:150 +msgid "Fonts" +msgstr "Caratteri" + +#: src/as-provided.c:152 +msgid "Modaliases" +msgstr "Modalias" + +#: src/as-provided.c:154 +msgid "Python (Version 2)" +msgstr "Python (versione 2)" + +#: src/as-provided.c:156 +msgid "Python 3" +msgstr "Python 3" + +#: src/as-provided.c:158 +msgid "D-Bus System Services" +msgstr "Servizi di sistema D-Bus" + +#: src/as-provided.c:160 +msgid "D-Bus Session Services" +msgstr "Servizi di sessione D-Bus" + +#: src/as-provided.c:162 +msgid "Runtime Firmware" +msgstr "Firmware di esecuzione" + +#: src/as-provided.c:164 +msgid "Flashed Firmware" +msgstr "Firmware caricato" + +#: src/as-provided.c:166 +msgid "Component" +msgstr "Componente" + +#: src/as-validator-issue-tag.h:41 +msgid "This tag requires a type property." +msgstr "Questo tag richiede una proprietà di tipo." + +#: src/as-validator-issue-tag.h:46 +msgid "Tags of this name are not permitted in this section." +msgstr "Tag con questo nome non sono consentiti in questa sezione." + +#: src/as-validator-issue-tag.h:51 +msgid "" +"A tag must not be localized in metainfo files (upstream " +"metadata). Localize the individual paragraphs instead." +msgstr "" +"Un tag non deve essere tradotto nei file metainfo (metadati " +"upstream). Tradurre i singoli paragrafi." + +#: src/as-validator-issue-tag.h:57 +msgid "" +"This element (paragraph, list, etc.) of a tag must not be " +"localized individually in collection metadata. Localize the whole " +" tag instead. The AppStream collection metadata generator (e." +"g. `appstream-generator`) will already do the right thing when compiling the " +"data." +msgstr "" +"Questo elemento (paragrafo, elenco, ecc.) di un tag non deve " +"essere tradotto individualmente nei metadati della raccolta. Traduce invece " +"l'intero tag . Il generatore di metadati della raccolta " +"AppStream (ad esempio `appstream-generator`) farà già la cosa giusta durante " +"la compilazione dei dati." + +#: src/as-validator-issue-tag.h:63 +msgid "" +"AppStream descriptions support only a limited set of tags to format text: " +"Paragraphs (

                                                                                                                                                                                                                        ) and lists (

                                                                                                                                                                                                                          ,
                                                                                                                                                                                                                            ). This description markup contains " +"an invalid XML tag that would not be rendered correctly in applications " +"supporting the metainfo specification." +msgstr "" +"Le descrizioni AppStream supportano un insieme limitato di tag per la " +"formattazione del testo: paragrafi (

                                                                                                                                                                                                                            ) ed elenchi (

                                                                                                                                                                                                                              ,
                                                                                                                                                                                                                                ). Il " +"testo di questa descrizione contiene un tag XML non valido che non verrà " +"visualizzato correttamente dalle applicazioni che supportano la specifica " +"metainfo." + +#: src/as-validator-issue-tag.h:69 +msgid "" +"This description paragraph contains invalid markup. Currently, only " +"and are permitted." +msgstr "" +"Questo paragrafo di descrizione non contiene un markup valido. Attualmente " +"sono permessi solo e ." + +#: src/as-validator-issue-tag.h:74 +msgid "Enumerations must only have list items (
                                                                                                                                                                                                                              1. ) as children." +msgstr "" +"Gli elenchi devono avare solamente elementi consentiti (
                                                                                                                                                                                                                              2. ) come figli." + +#: src/as-validator-issue-tag.h:79 +msgid "" +"The first `description/p` paragraph of this component might be too short (< " +"80 characters). Please consider starting with a longer paragraph to improve " +"how the description looks like in software centers and to provide more " +"detailed information on this component immediately in the first paragraph." +msgstr "" +"Il primo paragrafo `description/p` di questo componente potrebbe essere " +"troppo corto (<80 caratteri). Si prega di iniziare con un paragrafo più " +"lungo per migliorare la presentazione della descrizione nei centri software " +"e per fornire informazioni più dettagliate su questo componente " +"immediatamente nel primo paragrafo." + +#: src/as-validator-issue-tag.h:86 +msgid "" +"The description contains a web URL in plain text. This is not allowed, " +"please use the tag instead to share links." +msgstr "" +"La descrizione contiene un URL web in testo semplice. Ciò non è permesso, si " +"prega di utilizzare il tag al posto della condivisione dei link." + +#: src/as-validator-issue-tag.h:91 +msgid "" +"As per AppStream specification, the mentioned tag must only appear once in " +"this context. Having multiple tags of this kind is not valid." +msgstr "" +"Come da specifica AppStream, il tag indicato deve comparire una sola volta " +"in questo contesti. Più tag di questo tipo non sono consentiti." + +#: src/as-validator-issue-tag.h:96 +msgid "" +"The mentioned tag is empty, which is highly likely not intended as it should " +"have content." +msgstr "" +"Il tag menzionato è vuoto, poiché probabilmente non inteso in maniera " +"adeguata." + +#: src/as-validator-issue-tag.h:101 +msgid "" +"The component ID is required to follow a reverse domain-name scheme for its " +"name. See the AppStream specification for details." +msgstr "" +"L'ID componente deve seguire uno schema di nome di dominio inverso per il " +"nome. Vedere la specifica AppStream per i dettagli." + +#: src/as-validator-issue-tag.h:106 +msgid "" +"The component ID is not a reverse domain-name. Please update the ID to avoid " +"future issues and be compatible with all AppStream implementations.\n" +"You may also consider to update the name of the accompanying .desktop file " +"to follow the latest version of the Desktop-Entry specification and use a " +"rDNS name for it as well. In any case, do not forget to mention the new " +"desktop-entry in a tag for this component to keep the " +"application launchable from software centers and the .desktop file data " +"associated with the metainfo data." +msgstr "" +"L'ID componente non è un nome di dominio inverso. Aggiornare l'ID per " +"evitare problemi futuri ed essere compatibili con tutte le implementazioni " +"di AppStream.\n" +"Si può anche prendere in considerazione di aggiornare il nome del file ." +"desktop di accompagnamento per seguire l'ultima versione della specifica " +"Desktop-Entry e utilizzare un nome rDNS anche per esso. In ogni caso, non " +"dimenticare di menzionare la nuova voce desktop in un tag per " +"questo componente per mantenere l'applicazione avviabile dai centri software " +"e dai dati dei file .desktop associati ai dati metainfo." + +#: src/as-validator-issue-tag.h:114 +msgid "" +"The component ID might not follow the reverse domain-name schema (the TLD " +"used by it is not known to the validator)." +msgstr "" +"Il componente ID potrebbe non seguire lo schema dominio-nome inverso (il TLD " +"utilizzato non è riconosciuto dal validatore)." + +#: src/as-validator-issue-tag.h:119 +msgid "" +"The component ID contains an invalid character. Only ASCII characters, dots " +"and numbers are permitted." +msgstr "" +"L'ID del componente contiene un carattere non valido. Sono consentiti solo " +"caratteri ASCII, punti e numeri." + +#: src/as-validator-issue-tag.h:124 +msgid "" +"The component ID contains a hyphen/minus. Using a hyphen is strongly " +"discouraged, to improve interoperability with other tools such as D-Bus. A " +"good option is to replace any hyphens with underscores (`_`)." +msgstr "" +"L'ID del componente contiene un trattino/meno. L'utilizzo di un trattino è " +"fortemente sconsigliato, per migliorare l'interoperabilità con altri " +"strumenti come D-Bus. Una buona opzione è quella di sostituire eventuali " +"trattini con caratteri di sottolineatura ('_')." + +#: src/as-validator-issue-tag.h:130 +msgid "" +"The component ID contains a segment starting with a number. Starting a " +"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " +"interoperability with other tools such as D-Bus. Ideally, prefix these " +"segments with an underscore." +msgstr "" +"L'ID componente contiene un segmento che inizia con un numero. L'avvio di un " +"segmento dell'ID DNS inverso con un numero è fortemente sconsigliato, per " +"mantenere l'interoperabilità con altri strumenti come D-Bus. Idealmente, " +"anteporre a questi segmenti un segno di sottolineatura." + +#: src/as-validator-issue-tag.h:136 +msgid "The component ID should only contain lowercase letters." +msgstr "Il componente ID dovrebbe contenere solo lettere minuscole." + +#: src/as-validator-issue-tag.h:141 +msgid "" +"The component is part of the Freedesktop project, but its ID does not start " +"with fd.o's reverse-DNS name (\"org.freedesktop\")." +msgstr "" +"Il componente è parte del progetto Freedesktop, ma il suo ID non parte con " +"fd.o's reverse-DNS name (\"org.freedesktop\")." + +#: src/as-validator-issue-tag.h:146 +msgid "" +"The component is part of the KDE project, but its ID does not start with " +"KDEs reverse-DNS name (\"org.kde\")." +msgstr "" +"Il componente è parte del progetto KDE ma il suo ID non inizia con il nome " +"KDEs reverse-DNS (\"org.kde\")." + +#: src/as-validator-issue-tag.h:151 +msgid "" +"The component is part of the GNOME project, but its ID does not start with " +"GNOMEs reverse-DNS name (\"org.gnome\")." +msgstr "" +"Il componente è parte del progetto GNOME, ma il suo ID non inizia con il " +"nome GNOMEs reverse-DNS (\"org.gnome\")." + +#: src/as-validator-issue-tag.h:156 +msgid "The SPDX license expression is invalid and could not be parsed." +msgstr "" +"L'espressione di licenza SPDX non è valida e non può essere analizzata." + +#: src/as-validator-issue-tag.h:161 +msgid "" +"The license ID was not found in the SPDX database. Please check that the " +"license ID is written in an SPDX-conformant way and is a valid free software " +"license." +msgstr "" +"L'ID licenza non è stato trovato nel database SPDX. Si prega di controllare " +"che l'ID licenza sia scritto in modalità SPDX-conformant e che sia una " +"licenza software gratuita valida." + +#: src/as-validator-issue-tag.h:167 +msgid "" +"The metadata itself seems to be licensed under a complex collection of " +"licenses. Please license the data under a simple permissive license, like " +"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " +"collections without the risk of license violations due to mutually " +"incompatible licenses." +msgstr "" +"I metadata stessi sembrano essere concessi da una collezione complicata di " +"licenze. Prego concedere la licenza ai dati sotto una licenza permissiva " +"come FSFAP, MIT o CC0-1.0 per permettere ai distributori di includerli in " +"collezioni di dati misti senza il rischio di violazioni di licenza dovuto a " +"licenze mutualmente incompatibili." + +#: src/as-validator-issue-tag.h:173 +msgid "" +"The metadata itself does not seem to be licensed under a permissive license. " +"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " +"0BSD to allow distributors to include it in mixed data collections without " +"the risk of license violations due to mutually incompatible licenses." +msgstr "" +"I metadata stessi non sembrano essere concessi sotto una licenza permissiva. " +"Dovresti concedere una licenza ai dati sotto un profilo permissivo come " +"FSFAP, CC0-1.0 o 0BSD per permettere ai distributori di includerli in " +"collezioni di dati misti senza il rischio di violazioni dovute a licenze " +"mutualmente incompatibili." + +#: src/as-validator-issue-tag.h:179 +msgid "" +"The update-contact does not appear to be a valid email address (escaping of " +"`@` is only allowed as `_at_` or `_AT_`)." +msgstr "" +"Il contatto di aggiornamento non sembra essere un indirizzo email valido " +"(l'escape di \"@\" è consentito solo come \"_at_\" o \"_AT_\")." + +#: src/as-validator-issue-tag.h:184 +msgid "" +"Unable to reach the screenshot image on its remote location - does the image " +"exist?" +msgstr "" +"Impossibile raggiungere l'immagine dello screenshot nella sua posizione " +"remota: l'immagine esiste?" + +#: src/as-validator-issue-tag.h:189 +msgid "" +"Unable to reach the screenshot video on its remote location - does the video " +"file exist?" +msgstr "" +"Impossibile raggiungere il video dello screenshot dalla sua posizione " +"remota: il file video esiste?" + +#: src/as-validator-issue-tag.h:194 +msgid "" +"Consider using a secure (HTTPS) URL to reference this screenshot image or " +"video." +msgstr "" +"Considerare l'uso di un URL sicuro (HTTPS) per fare riferimento a questa " +"immagine o video." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:200 +msgid "" +"A screenshot must contain at least one image or video in order to be useful. " +"Please add an to it." +msgstr "" +"Una schermata deve contenere almeno un'immagine affinché sia utile. " +"Aggiungere un tag ." -#: src/as-category.c:287 -msgctxt "Category of Utility" -msgid "File System" -msgstr "File system" +#: src/as-validator-issue-tag.h:205 +msgid "" +"A screenshot must contain either images or videos, but not both at the same " +"time. Please use this screenshot exclusively for either static images or for " +"videos." +msgstr "" +"Uno screenshot deve contenere immagini o video, ma non entrambi " +"contemporaneamente. Si prega di utilizzare questa schermata esclusivamente " +"per immagini statiche o per video." -#: src/as-category.c:198 -msgctxt "Category of Office" -msgid "Finance" -msgstr "Finanza" +#: src/as-validator-issue-tag.h:211 +msgid "The screenshot does not have a caption text. Consider adding one." +msgstr "Lo screenshot non ha una didascalia. Aggiungine una." -#: src/as-provided.c:164 -msgid "Flashed Firmware" -msgstr "Firmware caricato" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:217 +msgid "" +"The screenshot video does not specify which video codec was used in a " +"`codec` property." +msgstr "" +"Il video dello screenshot non specifica quale codec video è stato utilizzato " +"in una proprietà `codec`." -#: src/as-provided.c:150 -msgid "Fonts" -msgstr "Caratteri" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:223 +msgid "" +"The screenshot video does not specify which container format was used in a " +"`container` property." +msgstr "" +"Il video dello screenshot non specifica quale formato contenitore è stato " +"utilizzato in una proprietà `container`." -#: src/as-category.c:211 -msgctxt "Category of Addons" -msgid "Fonts" -msgstr "Caratteri" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:229 +msgid "" +"The selected video codec is not supported by AppStream and software centers " +"may not be able to play the video. Only the AV1 and VP9 codecs are currently " +"supported, using `av1` and `vp9` as values for the `codec` property." +msgstr "" +"Il codec video selezionato non è supportato da AppStream e i centri software " +"potrebbero non essere in grado di riprodurre il video. Attualmente sono " +"supportati solo i codec AV1 e VP9, utilizzando \"av1\" e \"vp9\" come valori " +"per la proprietà \"codec\"." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:236 +msgid "" +"The selected video container format is not supported by AppStream and " +"software centers may not be able to play the video. Only the WebM and " +"Matroska video containers are currently supported, using `webm` and `mkv` as " +"values for the `container` property." +msgstr "" +"Il formato del contenitore video selezionato non è supportato da AppStream e " +"i centri software potrebbero non essere in grado di riprodurre il video. " +"Attualmente sono supportati solo i contenitori video WebM e Matroska, " +"utilizzando `webm` e` mkv` come valori per la proprietà `container`." -#: src/as-validator-issue-tag.h:237 +#: src/as-validator-issue-tag.h:242 msgid "" "For videos, only the WebM and Matroska (.mkv) container formats are " "currently supported. The file extension of the referenced video does not " @@ -551,195 +1420,333 @@ "Matroska (.mkv). L'estensione del file del video di riferimento non " "appartiene a nessuno di questi due formati." -#. TRANSLATORS: ascli flag description for: --format when validating XML files -#: tools/appstream-cli.c:131 -msgid "Format of the generated report (valid values are 'text' and 'yaml')." -msgstr "Formato del rapporto (valori validi sono «text» e «yaml»)" +#: src/as-validator-issue-tag.h:248 +msgid "" +"The default screenshot of a software component must not be a video. Use a " +"static image as default screenshot and set the video as a secondary " +"screenshot." +msgstr "" +"Lo screenshot predefinito di un componente software non deve essere un " +"video. Usa un'immagine statica come screenshot predefinito ed imposta il " +"video come screenshot secondario." -#. TRANSLATORS: Found metainfo files in legacy directories -#: tools/ascli-actions-misc.c:138 -#, c-format -msgid "Found %i components in legacy paths." -msgstr "Trovati %i componenti in percorsi obsoleti." +#: src/as-validator-issue-tag.h:253 +msgid "" +"Found an unknown tag in a requires/recommends group. This is likely an " +"error, because a component relation of this type is unknown." +msgstr "" +"Trovato un tag sconosciuto in un gruppo di richieste/raccomandazioni. Questo " +"è probabilmente un errore, perché una relazione componente di questo tipo è " +"sconosciuta." -#: tools/ascli-actions-misc.c:123 -#, c-format -msgid "Found %i components." -msgstr "Trovati %i componenti." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:259 +msgid "" +"A `requires` or `recommends` item requires a value to denote a valid " +"relation." +msgstr "" +"Un elemento `requires` o `recommends` richiede un valore per indicare una " +"relazione valida." -#. TRANSLATORS: 'version' is an AppStream XML property. Please do not translate it. -#: src/as-validator-issue-tag.h:260 +#. TRANSLATORS: `version` is an AppStream XML property. Please do not translate it. +#: src/as-validator-issue-tag.h:265 msgid "" -"Found 'version' property on required/recommended item of a type that should " +"Found `version` property on required/recommended item of a type that should " "not have or require a version." msgstr "" -"È stata trovata la proprietà 'version' sull'elemento richiesto / consigliato " +"È stata trovata la proprietà `version` sull'elemento richiesto / consigliato " "di un tipo che non dovrebbe avere o richiedere una versione." -#. TRANSLATORS: 'version' and 'compare' are AppStream XML properties. Please do not translate them. -#: src/as-validator-issue-tag.h:266 +#. TRANSLATORS: `version` and `compare` are AppStream XML properties. Please do not translate them. +#: src/as-validator-issue-tag.h:271 msgid "" -"Found 'version' property on this required/recommended item, but not " -"'compare' property. It is recommended to explicitly define a comparison " +"Found `version` property on this required/recommended item, but not " +"`compare` property. It is recommended to explicitly define a comparison " "operation." msgstr "" -"È stata trovata la proprietà 'version' su questo elemento richiesto / " -"raccomandato, ma non la proprietà 'compare'. Si consiglia di definire " +"È stata trovata la proprietà `version`su questo elemento richiesto / " +"raccomandato, ma non la proprietà `compare`. Si consiglia di definire " "esplicitamente un'operazione di confronto." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:277 +#: src/as-validator-issue-tag.h:276 +msgid "" +"Invalid comparison operation on relation item. Only eq/ne/lt/gt/le/ge are " +"permitted." +msgstr "" +"Operazione di comparazione della versione non valida sull'elemento di " +"relazione. Sono consentiti solo eq/ne/lt/gt/le/ge." + +#: src/as-validator-issue-tag.h:281 +msgid "" +"The relation item has a comparison operation set, but does not support any " +"comparisons." +msgstr "" +"L'elemento di relazione ha un'operazione di confronto, ma non supporta alcun " +"confronto." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:287 msgid "" -"Found a memory size dependency in a 'requires' tag. This means users will " -"not be able to even install the component without having enough RAM. This is " -"usually not intended and you want to use 'memory' in the 'recommends' tag " +"Found a memory size relation in a `requires` tag. This means users will not " +"be able to even install the component without having enough RAM. This is " +"usually not intended and you want to use `memory` in the `recommends` tag " "instead." msgstr "" -"È stata rilevata una dipendenza dalla dimensione della memoria in un tag " +"È stata rilevata una relazione di dimensione di memoria in un tag " "'requires'. Ciò significa che gli utenti non saranno nemmeno in grado di " "installare il componente senza avere abbastanza RAM. Questo di solito non è " -"previsto e si desidera utilizzare invece 'memory' nel tag 'recommends'." +"previsto e si desidera utilizzare invece `memory` nel tag `recommends`." -#: src/as-validator-issue-tag.h:248 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:294 msgid "" -"Found an unknown tag in a requires/recommends group. This is likely an " -"error, because a component relation of this type is unknown." +"Found a user input control relation in a `requires` tag. This means users " +"will not be able to even install the component without having the defined " +"input control available on the system. This is usually not intended and you " +"want to use `control` in the `recommends` tag instead." msgstr "" -"Trovato un tag sconosciuto in un gruppo di richieste/raccomandazioni. Questo " -"è probabilmente un errore, perché una relazione componente di questo tipo è " -"sconosciuta." +"È stata rilevata una dipendenza dalla dimensione della memoria in un tag " +"'requires'. Ciò significa che gli utenti non saranno nemmeno in grado di " +"installare il componente senza avere il controllo d'ingresso definito " +"dispobile sul sistema. Questo di solito non è previsto e si desidera " +"utilizzare invece 'control' nel tag 'recommends'." -#: src/as-validator-issue-tag.h:427 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:301 +#, fuzzy msgid "" -"Found invalid tag. Non-standard tags should be prefixed with 'x-'. AppStream " -"also provides the tag to add arbitrary custom data to metainfo " -"files. This tag is read by AppStream libraries and may be useful instead of " -"defining new custom toplevel or 'x-'-prefixed tags if you just want to add " -"custom data to a metainfo file." +"This `control` item defines an unknown input method and is invalid. Check " +"the specification for a list of permitted values." msgstr "" -"Trovato un tag non valido. Tag non-standard devono iniziare col prefisso " -"«x-». AppStream fornisce anche il tag per aggiungere dati " -"personalizzati ai file metainfo. Questo tag viene letto dalle librerie " -"AppStream e può essere più utile per aggiungere dei dati a un file metainfo " -"rispetto all'uso di tag con prefisso «x-»." +"La categoria definita nel file .desktop non è valida. Fare riferimento alla " +"specifica XDG Menu per l'elenco delle categoria valide." -#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. -#: src/as-validator.c:526 src/as-validator.c:939 src/as-validator.c:1024 -#: src/as-validator.c:1237 -#, c-format -msgid "Found: %s - Allowed: %s" -msgstr "Trovato: %s - Consentito: %s" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:307 +msgid "" +"This `display_length` item contains an invalid display length. Its value " +"must either be a shorthand string, or positive integer value denoting " +"logical pixels. Please refer to the AppStream specification for more " +"information on this tag." +msgstr "" -#. TRANSLATORS: this is the menu spec main category for Game -#: src/as-category.c:311 -msgid "Games" -msgstr "Giochi" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:314 +msgid "" +"This `side` property of this `display_length` item contains an invalid " +"value. It must either be `shortest` or `longest`, or unset to imply " +"`shortest` to make the item value refer to either the shortest or longest " +"side of the display." +msgstr "" -#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command -#: tools/appstream-cli.c:814 -msgid "Generate the output in the selected format ('yaml' or 'text')." -msgstr "Genera l'output nei formati selezionati («yaml» o «text»)" +#: src/as-validator-issue-tag.h:320 +msgid "" +"The set component type is not a recognized, valid AppStream component type." +msgstr "" +"Il tipo di componente impostato non è un tipo di componente AppStream valido " +"e riconosciuto." -#: tools/appstream-cli.c:849 -msgid "Get components which provide the given item." -msgstr "Ottiene i componenti che forniscono l'oggetto dato" +#: src/as-validator-issue-tag.h:325 +msgid "" +"The component has a priority value set. This is not allowed in metainfo " +"files." +msgstr "" +"Il componente ha un valore di priorità impostato. Ciò non è permesso in un " +"file metainfo." -#: tools/appstream-cli.c:848 -msgid "Get information about a component by its ID." -msgstr "Ottiene informazioni su un componente tramite il suo ID" +#: src/as-validator-issue-tag.h:330 +msgid "" +"The component has a `merge` method defined. This is not allowed in metainfo " +"files." +msgstr "" +"Il componente ha un definito metodo 'merge'. Ciò non è permesso nei file " +"metainfo." -#. TRANSLATORS: this is the menu spec main category for Graphics -#: src/as-category.c:314 -msgid "Graphics & Photography" -msgstr "Grafica e fotografia" +#: src/as-validator-issue-tag.h:335 +msgid "The component is missing an ID ( tag)." +msgstr "Il componente manca di un ID ( tag)." -#: tools/ascli-utils.c:300 -msgid "Homepage" -msgstr "Sito web" +#: src/as-validator-issue-tag.h:340 +msgid "The component is missing a name ( tag)." +msgstr "A questo componente manca un nome ( tag)." -#: src/as-category.c:89 -msgctxt "Category of Development" -msgid "IDEs" -msgstr "IDE" +#: src/as-validator-issue-tag.h:345 +msgid "The component is missing a summary ( tag)." +msgstr "Al componente manca un sommario ( tag)." -#: tools/ascli-utils.c:301 -msgid "Icon" -msgstr "Icona" +#: src/as-validator-issue-tag.h:350 +msgid "" +"The tag still contains a `type` property, probably from an old " +"conversion to the recent metainfo format." +msgstr "" +"Il tag contiene ancora una proprietà `type`, probabilmente da una " +"vecchia conversione al nuovo formato metainfo." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:351 -msgid "Icons of type 'remote' must contain an URL to the referenced icon." +#: src/as-validator-issue-tag.h:355 +#, fuzzy +msgid "" +"The `pkgname` tag appears multiple times. You should evaluate creating a " +"metapackage containing the metainfo and .desktop files in order to avoid " +"defining multiple package names per component." +msgstr "" +"Il tag «pkgname» compare più volte. Potrebbe essere utile creare un meta-" +"pacchetto contenente i file metainfo e .desktop per evitare la definizione " +"di più nomi di pacchetto per componente." + +#: src/as-validator-issue-tag.h:360 +msgid "The component name should (likely) not end with a dot (`.`)." +msgstr "" +"Il nome del componente non dovrebbe possibilmente finire con un punto (`.`)." + +#: src/as-validator-issue-tag.h:365 +msgid "The component summary should not end with a dot (`.`)." +msgstr "Il sommario del componente non dovrebbe finire con un punto (`.`)." + +#: src/as-validator-issue-tag.h:370 +msgid "The component summary must not contain tabs or linebreaks." +msgstr "Il sommario del componente non deve contenere tab o a capo." + +#: src/as-validator-issue-tag.h:375 +msgid "The summary must not contain any URL. Use the tags for links." msgstr "" -"Icone di tipo «remote» devono contenere un URL all'icona di riferimento." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:344 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:381 msgid "" -"Icons of type 'stock' or 'cached' must not contain an URL, a full or an " +"Icons of type `stock` or `cached` must not contain an URL, a full or an " "relative path to the icon. Only file basenames or stock names are allowed." msgstr "" -"Icone di tipo «stock» o «cached» non devono contenere un URL, un percorso " -"assoluto o relativo all'icona. Sono consentiti solamente nomi di file." - -#: tools/ascli-actions-misc.c:94 -msgid "Iconsets" -msgstr "Insieme di icone" +"Icone di tipo `stock` o `cached` non devono contenere un URL, un percorso " +"assoluto o relativo all'icona. Sono consentiti solamente nomi di titoli o " +"file basename." -#: tools/ascli-utils.c:295 -msgid "Identifier" -msgstr "Identificatore" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:388 +#, fuzzy +msgid "Icons of type `remote` must contain an URL to the referenced icon." +msgstr "" +"Icone di tipo «remote» devono contenere un URL all'icona di riferimento." -#: src/as-category.c:217 -msgctxt "Category of Addons" -msgid "Input Sources" -msgstr "Sorgenti d'input" +#: src/as-validator-issue-tag.h:393 +msgid "Unable to reach remote icon at the given web location - does it exist?" +msgstr "" +"Impossibile raggiungere l'icona remota nella posizione Web specificata: " +"esiste?" -#: tools/appstream-cli.c:863 -msgid "Install a metadata file into the right location." -msgstr "Installa un file metadati nella corretta posizione" +#: src/as-validator-issue-tag.h:398 +msgid "Consider using a secure (HTTPS) URL for the remote icon link." +msgstr "" +"Considerare l'uso di URL sicuri (HTTPS) per i collegamenti remoti all'icona." -#: tools/appstream-cli.c:859 -msgid "Install software matching the component-ID." -msgstr "Installa software che corrisponde all'ID del componente" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:404 +#, fuzzy +msgid "" +"Metainfo files may only contain icons of type `stock` or `remote`, the set " +"type is not allowed." +msgstr "" +"I file metainfo possono contenere solamente icone di tipo «stock» o " +"«remote», il tipo impostato non è valido." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:373 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:410 +#, fuzzy msgid "" -"Invalid 'type' property for this 'url' tag. URLs of this type are not known " +"Invalid `type` property for this `url` tag. URLs of this type are not known " "in the AppStream specification." msgstr "" "Proprietà «type» non valida per questo tag «url». Questo tipo di URL non è " "compreso nella specifica AppStream." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:553 +#: src/as-validator-issue-tag.h:415 msgid "" -"Invalid tag found in collection metadata. Only 'component' tags are " -"permitted." +"Unable to reach remote location that this URL references - does it exist?" msgstr "" -"Tag non valido nei metadati, sono consentiti solamente tag «component»." +"Impossibile raggiungere la posizione remota a cui fa riferimento questo URL: " +"esiste?" -#: tools/ascli-actions-mdata.c:213 -msgid "Invalid type for provided item selected. Valid values are:" -msgstr "Tipo non valido per l'elemento selezionato. Valori valido sono:" +#: src/as-validator-issue-tag.h:420 +msgid "Consider using a secure (HTTPS) URL for this web link." +msgstr "" +"Considerare l'uso di un URL sicuro (HTTPS) per questo collegamento web." -#: src/as-validator-issue-tag.h:271 +#: src/as-validator-issue-tag.h:425 +msgid "A web URL was expected for this value." +msgstr "" + +#: src/as-validator-issue-tag.h:430 msgid "" -"Invalid version comparison operation on relation item. Only eq/ne/lt/gt/le/" -"ge are permitted." +"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." msgstr "" -"Operazione di comparazione della versione non valida sull'elemento di " -"relazione. Sono consentiti solo eq/ne/lt/gt/le/ge." -#: src/as-validator-issue-tag.h:450 +#: src/as-validator-issue-tag.h:435 +msgid "The can not contain a hyperlink." +msgstr " non può contenere un collegamento." + +#: src/as-validator-issue-tag.h:440 msgid "" -"It is recommended to add a long description to this component to present it " -"better to users." +"The set value is not an identifier for a desktop environment as registered " +"with Freedesktop.org." msgstr "" -"È consigliato aggiungere una descrizione estesa a questo componente per " -"presentarlo agli utenti." -#: src/as-validator-issue-tag.h:445 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:446 +msgid "This `launchable` tag has an unknown type and can not be used." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:452 +msgid "This `bundle` tag has an unknown type and can not be used." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:458 +#, fuzzy +msgid "" +"The `update_contact` tag should not be included in collection AppStream XML." +msgstr "" +"Il tag «update_contact» non dovrebbe essere incluso nelle collezione " +"AppStream XML." + +#: src/as-validator-issue-tag.h:463 +msgid "" +"This tag is a GNOME-specific extension to AppStream and not part of the " +"official specification. Do not expect it to work in all implementations and " +"in all software centers." +msgstr "" + +#: src/as-validator-issue-tag.h:469 +msgid "" +"Found invalid tag. Non-standard tags should be prefixed with `x-`. AppStream " +"also provides the tag to add arbitrary custom data to metainfo " +"files. This tag is read by AppStream libraries and may be useful instead of " +"defining new custom toplevel or `x-`-prefixed tags if you just want to add " +"custom data to a metainfo file." +msgstr "" +"Trovato un tag non valido. Tag non-standard devono iniziare col prefisso `x-" +"`. AppStream fornisce anche il tag per aggiungere qualsiasi dato " +"ai file metainfo. Questo tag viene letto dalle librerie AppStream e può " +"essere più utile per definire nuovi custom toplevel o tag con prefisso 'x' " +"se vuoi semplicemente dati personalizzati ad un file metainfo." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:477 +msgid "" +"The essential tag `metadata_license` is missing. A license for the metadata " +"itself always has to be defined." +msgstr "" +"Il tag essenziale `metadata_license` è mancante. Una licenza per i metadata " +"stessi deve sempre essere precisata." + +#: src/as-validator-issue-tag.h:482 +msgid "" +"The component is missing a long description. Components of this type must " +"have a long description." +msgstr "" +"Il componente manca di una lunga denominazione. Componenti di questo tipi " +"devono avere una lunga denominazione." + +#: src/as-validator-issue-tag.h:487 msgid "" "It would be useful to add a long description to this font to present it " "better to users." @@ -747,1290 +1754,1287 @@ "È consigliato aggiungere una descrizione estesa a questo carattere per " "presentarlo agli utenti." -#: src/as-category.c:144 -msgctxt "Category of Games" -msgid "Kids" -msgstr "Ragazzi" +#: src/as-validator-issue-tag.h:492 +msgid "" +"It is recommended to add a long description to this component to present it " +"better to users." +msgstr "" +"È consigliato aggiungere una descrizione estesa a questo componente per " +"presentarlo agli utenti." -#: src/as-category.c:220 -msgctxt "Category of Addons" -msgid "Language Packs" -msgstr "Traduzioni" +#: src/as-validator-issue-tag.h:497 +msgid "" +"This generic component is missing a long description. It may be useful to " +"add one." +msgstr "" -#: src/as-category.c:107 -msgctxt "Category of Education" -msgid "Languages" -msgstr "Lingue" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:503 +msgid "" +"Type `console-application` component, but no information about binaries in " +"$PATH was provided via a `provides/binary` tag." +msgstr "" -#: src/as-provided.c:144 -msgid "Libraries" -msgstr "Librerie" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:509 +msgid "" +"This `web-application` component is missing a `launchable` tag of type `url`." +msgstr "" -#. license -#: tools/ascli-utils.c:363 -msgid "License" -msgstr "Licenza" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:515 +msgid "" +"This `web-application` component is missing a `icon` tag to specify a valid " +"icon." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:629 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:521 msgid "" -"Licenses for 'runtime' components are usually too complex to reflect them in " -"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " -"value for this component's 'project_license'. E.g. `LicenseRef-free=https://" -"example.com/licenses.html`" +"This `web-application` component is missing categorizations. A `categories` " +"block is likely missing." msgstr "" -#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command -#: tools/appstream-cli.c:771 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:527 msgid "" -"Limit the number of release entries that end up in the metainfo file (0 for " -"unlimited)." +"Type `font` component, but no font information was provided via a `provides/" +"font` tag." msgstr "" -"Limita il numero di voci di rilascio incluse nel file metainfo (0 per nessun " -"limite)" -#: src/as-category.c:223 -msgctxt "Category of Addons" -msgid "Localization" -msgstr "Localizzazione" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:533 +msgid "" +"Type `driver` component, but no modalias information was provided via a " +"`provides/modalias` tag." +msgstr "" -#: src/as-category.c:147 -msgctxt "Category of Games" -msgid "Logic" -msgstr "Logica" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:539 +#, fuzzy +msgid "" +"An `extends` tag is specified, but the component is not of type `addon`, " +"`localization` or `repository`." +msgstr "" +"È stato specificato un tag «extends», ma il componente non è di tipo " +"«addon», «localization» o «repository»." -#. TRANSLATORS: ascli flag description for: --no-cache -#: tools/appstream-cli.c:67 -msgid "Make request without any caching." -msgstr "Esegue la richiesta senza cache" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:545 +msgid "The component is an addon, but no `extends` tag was specified." +msgstr "" +"Il componente è addizionale ma non è stato specificato un tag `extends`." -#. TRANSLATORS: ascli flag description for: --cachepath -#: tools/appstream-cli.c:57 -msgid "Manually selected location of AppStream cache." -msgstr "Imposta manualmente la posizione della cache AppStream" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:551 +msgid "" +"This `localization` component is missing an `extends` tag, to specify the " +"components it adds localization to." +msgstr "" -#. TRANSLATORS: ascli flag description for: --datapath -#: tools/appstream-cli.c:62 -msgid "Manually selected location of AppStream metadata to scan." -msgstr "Imposta manualmente la posizione dei metadati AppStream da analizzare" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:557 +msgid "" +"This `localization` component does not define any languages this " +"localization is for." +msgstr "" -#: src/as-pool.c:1280 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:563 msgid "" -"Many components have been recognized as invalid. See debug output for " -"details." +"This `service` component is missing a `launchable` tag of type `service`." msgstr "" -"Molti componenti sono stati identificati come non validi. Consultare " -"l'output di debug per maggiori dettagli." -#: src/as-category.c:111 -msgctxt "Category of Education" -msgid "Math" -msgstr "Matematica" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:569 +msgid "" +"Suggestions of any type other than `upstream` are not allowed in metainfo " +"files." +msgstr "Suggerimenti diversi da 'upstream' non sono permessi in file metainfo." -#: src/as-category.c:243 -msgctxt "Category of Science" -msgid "Math" -msgstr "Matematica" +#: src/as-validator-issue-tag.h:574 +msgid "" +"The category name is not valid. Refer to the XDG Menu Specification for a " +"list of valid category names." +msgstr "" +"Il nome della categoria non è valido. Fare riferimento alla specifica XDG " +"Menu per l'elenco dei nomi di categoria validi." -#: src/as-provided.c:148 -msgid "Media types" -msgstr "Tipi multimediali" +#: src/as-validator-issue-tag.h:579 +msgid "The screenshot caption is too long (should be <= 80 characters)" +msgstr "" +"La didascalia dello screenshot è troppo lunga (dovrebbe avere fino a 80 " +"caratteri)" -#: tools/ascli-actions-mdata.c:364 -#, c-format -msgid "Metadata file '%s' does not exist." -msgstr "Il file dei metadati «%s» non esiste." +#: src/as-validator-issue-tag.h:584 +#, fuzzy +msgid "Unable to read file." +msgstr "Impossibile rimuovere la vecchia cache." -#: src/as-pool.c:881 -msgid "Metadata files have errors:" -msgstr "I file dei metadati presentano degli errori:" +#: src/as-validator-issue-tag.h:589 +msgid "The XML of this file is malformed." +msgstr "L'XML di questo file non è corretto." -#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 -#: tools/ascli-actions-misc.c:515 -#, c-format -msgid "Metainfo file '%s' does not exist." -msgstr "Il file metainfo «%s» non esiste." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:595 +#, fuzzy +msgid "" +"Invalid tag found in collection metadata. Only `component` tags are " +"permitted." +msgstr "" +"Tag non valido nei metadati, sono consentiti solamente tag «component»." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:367 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:601 msgid "" -"Metainfo files may only contain icons of type 'stock' or 'remote', the set " -"type is not allowed." +"The metainfo file uses an ancient version of the AppStream specification, " +"which can not be validated. Please migrate it to version 0.6 (or higher)." msgstr "" -"I file metainfo possono contenere solamente icone di tipo «stock» o " -"«remote», il tipo impostato non è valido." -#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report -#: tools/ascli-actions-misc.c:116 -msgid "Metainfo files:" -msgstr "File metainfo:" +#: src/as-validator-issue-tag.h:606 +msgid "" +"This XML document has an unknown root tag. Maybe this file is not a metainfo " +"document?" +msgstr "" -#: src/as-provided.c:152 -msgid "Modaliases" -msgstr "Modalias" +#: src/as-validator-issue-tag.h:611 +msgid "The metainfo filename does not match the component ID." +msgstr "Il nome file metainfo non corrisponde all'ID componente." -#: src/as-category.c:74 -msgctxt "Category of AudioVideo" -msgid "Music Players" -msgstr "Riproduttori musicali" +#: src/as-validator-issue-tag.h:616 +msgid "Unable to read the .desktop file associated with this component." +msgstr "Impossibile leggere il file .desktop associato a questo componente." -#: tools/ascli-utils.c:296 -msgid "Name" -msgstr "Nome" +#: src/as-validator-issue-tag.h:621 +msgid "This component metadata refers to a non-existing .desktop file." +msgstr "" -#: src/as-category.c:266 -msgctxt "Category of Communication" -msgid "News" -msgstr "Notizie" +#: src/as-validator-issue-tag.h:626 +msgid "" +"The category defined in the .desktop file is not valid. Refer to the XDG " +"Menu Specification for a list of valid categories." +msgstr "" +"La categoria definita nel file .desktop non è valida. Fare riferimento alla " +"specifica XDG Menu per l'elenco delle categoria valide." -#: src/as-validator-issue-tag.h:589 +#: src/as-validator-issue-tag.h:631 msgid "No AppStream metadata was found in this directory or directory tree." msgstr "Metadati AppStream non trovati in questa directory o sotto-directory." #. pedantic because not everything which has metadata is an application -#: src/as-validator-issue-tag.h:594 +#: src/as-validator-issue-tag.h:636 msgid "No XDG applications directory found." msgstr "Nessuna directory applicazioni XDG trovata." -#: tools/ascli-actions-mdata.c:182 -#, c-format -msgid "No component matching '%s' found." -msgstr "Non è stato trovato alcun componente che corrisponde a «%s»." - -#: tools/ascli-actions-misc.c:105 -msgid "No icons." -msgstr "Nessuna icona." - -#: tools/ascli-actions-misc.c:402 -msgid "No output filename specified, modifying metainfo file directly." -msgstr "" -"Nessun nome file di output specificato, il file metainfo viene modificato " -"direttamente." - -#: tools/ascli-actions-misc.c:306 +#: src/as-validator-issue-tag.h:641 msgid "" -"No provided binary specified in metainfo file, and no exec command specified " -"via '--exec'. Can not create 'Exec=' key." +"The metainfo file is stored in a legacy path. Please place it in `/usr/share/" +"metainfo/`." msgstr "" -"Nessun eseguibile specificato nel file metainfo e nessun comando specificato " -"tramite «--exec». Impossibile creare la chiave «Exec=»." -#: tools/ascli-actions-misc.c:284 -msgid "No stock icon name was provided in the metainfo file. Can not continue." +#: src/as-validator-issue-tag.h:646 +msgid "The metainfo file specifies multiple components. This is not allowed." msgstr "" -"Nessun nome di icona stock fornito nel file metainfo. Impossibile continuare." +"Il file metainfo specifica molteplici componenti. Questo non è permesso." -#: tools/ascli-actions-pkgmgr.c:53 +#: src/as-validator-issue-tag.h:651 msgid "" -"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" -"\" (part of PackageKit) is available." +"The releases are not sorted in a latest to oldest version order. This is " +"required as some tools will assume that the latest version is always at the " +"top. Sorting releases also increases overall readability of the metainfo " +"file." msgstr "" -"Nessun gestore di pacchetti CLI trovato. Assicurarsi che «pkcon» (parte di " -"PackageKit) sia disponibile." - -#: tools/ascli-actions-mdata.c:206 -msgid "No value for the item to search for was defined." -msgstr "Nessun valore definito per l'elemento da cercare." - -#. TRANSLATORS: this is the menu spec main category for Office -#: src/as-category.c:317 -msgid "Office" -msgstr "Ufficio" -#. TRANSLATORS: An unknown option was passed to appstreamcli. -#: tools/appstream-cli.c:192 -#, c-format -msgid "Option '%s' is unknown." -msgstr "Opzione «%s» sconosciuta." +#: src/as-validator-issue-tag.h:658 +msgid "The value set as release urgency is not a known urgency value." +msgstr "" -#: tools/ascli-utils.c:298 -msgid "Package" -msgstr "Pacchetto" +#: src/as-validator-issue-tag.h:663 +msgid "The value set as release type is invalid." +msgstr "" -#: src/as-category.c:171 -msgctxt "Category of Graphics" -msgid "Photography" -msgstr "Fotografia" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:669 +msgid "" +"The value set as artifact type is invalid. Must be either `source` or " +"`binary`." +msgstr "" -#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) -#: tools/appstream-cli.c:121 -msgid "Print detailed explanation for found issues." -msgstr "Stampa informazioni dettagliate riguardo ai problemi trovati" +#: src/as-validator-issue-tag.h:674 +msgid "The value set as artifact bundle type is invalid." +msgstr "" -#. TRANSLATORS: ascli flag description for: --details -#: tools/appstream-cli.c:98 -msgid "Print detailed output about found components." -msgstr "Stampa informazioni dettagliate riguardo ai componenti trovati" +#: src/as-validator-issue-tag.h:679 +msgid "" +"The platform triplet for this release is invalid. It must be in the form of " +"`architecture-oskernel-osenv` - refer to the AppStream documentation or " +"information on normalized GNU triplets for more information and valid fields." +msgstr "" -#. project group -#: tools/ascli-utils.c:360 -msgid "Project Group" -msgstr "Gruppo progetto" +#: src/as-validator-issue-tag.h:686 +msgid "The selected checksumming algorithm is unsupported or unknown." +msgstr "" -#: tools/ascli-utils.c:405 -msgid "Provided Items" -msgstr "Elementi forniti" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:692 +msgid "The size type is unknown. Must be `download` or `installed`." +msgstr "" -#: src/as-provided.c:154 -msgid "Python (Version 2)" -msgstr "Python (versione 2)" +#: src/as-validator-issue-tag.h:697 +msgid "" +"The artifact filename must be a file basename, not a (relative or absolute) " +"path." +msgstr "" -#: src/as-provided.c:156 -msgid "Python 3" -msgstr "Python 3" +#: src/as-validator-issue-tag.h:702 +msgid "The value set as release issue type is invalid." +msgstr "" -#: tools/appstream-cli.c:854 -msgid "Rebuild the component metadata cache." -msgstr "Rigenera la cache dei metadati del componente." +#: src/as-validator-issue-tag.h:707 +msgid "" +"The issue is tagged at security vulnerability with a CVE number, but its " +"value does not look like a valid CVE identifier." +msgstr "" -#: tools/appstream-cli.c:860 -msgid "Remove software matching the component-ID." -msgstr "Rimuove software tramite l'ID del componente" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:713 +msgid "" +"This component is missing information about releases. Consider adding a " +"`releases` tag to describe releases and their changes." +msgstr "" -#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty -#: src/as-validator.c:364 -msgid "Retrieved file size was zero." +#: src/as-validator-issue-tag.h:718 +msgid "" +"The AppStream specification requires a complete, ISO 8601 date string with " +"at least day-granularity to denote dates. Please ensure the date string is " +"valid." msgstr "" +"La specifica AppStream richiede una data in formato ISO 8601 completa con " +"almeno una granularità a livello del giorno. Assicurarsi che la data sia " +"valida." -#: src/as-category.c:248 -msgctxt "Category of Science" -msgid "Robotics" -msgstr "Robotica" +#: src/as-validator-issue-tag.h:724 +msgid "" +"This component extends, provides, requires or recommends itself, which is " +"certainly not intended and may confuse users or machines dealing with this " +"metadata." +msgstr "" -#: src/as-category.c:150 -msgctxt "Category of Games" -msgid "Role Playing" -msgstr "Di ruolo" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:731 +msgid "" +"Licenses for `runtime` components are usually too complex to reflect them in " +"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " +"value for this component's `project_license`. E.g. `LicenseRef-free=https://" +"example.com/licenses.html`" +msgstr "" +"Licenze per componenti `runtime` sono solitamente troppo complesse per " +"essere replicate con una semplice espressione SPDX. Prova ad utilizzare una " +"'LicenseRef' e un URL web per questo componente `project_license`. Ad " +"esempio `LicenseRef-free=https://example.com/licenses.html`" -#: tools/appstream-cli.c:196 tools/appstream-cli.c:926 -#, c-format -msgid "Run '%s --help' to see a full list of available command line options." +#: src/as-validator-issue-tag.h:737 +msgid "" +"Since a `runtime` component is comprised of multiple other software " +"components, their component-IDs may be listed in a `` section for " +"this runtime." msgstr "" -"Eseguire \"%s --help\" per l'elenco completo delle opzioni a riga di comando." +"Poiché un componente 'runtime' è composto da altri multipli componenti " +"software, i suoi componenti ID potrebbero essere listati in una sezione " +" per questa esecuzione." -#: tools/appstream-cli.c:198 -#, c-format +#: src/as-validator-issue-tag.h:742 msgid "" -"Run '%s --help' to see a list of available commands and options, and '%s %s " -"--help' to see a list of options specific for this subcommand." +"The type of the item that the component provides is not known to AppStream." msgstr "" -"Eseguire \"%s --help\" per l'elenco completo delle opzioni a riga di comando " -"e \"%s %s --help\" per l'elenco delle opzioni per il comando specificato." -#: src/as-provided.c:162 -msgid "Runtime Firmware" -msgstr "Firmware di esecuzione" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:748 +msgid "" +"The toplevel `mimetypes` tag is deprecated. Please use `mediatype` tags in a " +"`provides` block instead to indicate that your software provides a media " +"handler for the given types." +msgstr "" -#: src/as-category.c:174 -msgctxt "Category of Graphics" -msgid "Scanning" -msgstr "Scansione" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks) and keep the URL intact. +#: src/as-validator-issue-tag.h:755 +msgid "" +"This component has no `content_rating` tag to provide age rating " +"information. You can generate the tag data online by answering a few " +"questions at https://hughsie.github.io/oars/" +msgstr "" -#. TRANSLATORS: this is the menu spec main category for Science -#: src/as-category.c:323 -msgid "Science" -msgstr "Scienze" +#: src/as-validator.c:150 +msgid "" +"The emitted issue tag is unknown in the tag registry of AppStream. This is a " +"bug in the validator itself, please report this issue in our bugtracker." +msgstr "" +"Il tag del problema è sconosciuto nel registro dei tag di Appstream. Si " +"tratta di un bug nel validatore. Si prega di segnalare il problema nel " +"nostro bugtracker." -#: tools/appstream-cli.c:847 -msgid "Search the component database." -msgstr "Cerca nel database dei componenti" +#: src/as-validator.c:344 +msgid "URL format is invalid." +msgstr "" -#: src/as-category.c:293 -msgctxt "Category of Utility" -msgid "Security" -msgstr "Sicurezza" +#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. +#: src/as-validator.c:522 src/as-validator.c:937 src/as-validator.c:1031 +#: src/as-validator.c:1428 src/as-validator.c:1448 src/as-validator.c:1481 +#, c-format +msgid "Found: %s - Allowed: %s" +msgstr "Trovato: %s - Consentito: %s" -#. TRANSLATORS: ascli flag description for: --verbose -#: tools/appstream-cli.c:903 -msgid "Show extra debugging information." +#. TRANSLATORS: ascompose flag description for: --verbose +#: tools/appstream-compose.c:181 +#, fuzzy +msgid "Show extra debugging information" msgstr "Mostra informazioni aggiuntive di debug" +#. TRANSLATORS: ascompose flag description for: --no-color +#. TRANSLATORS: ascli flag description for: --no-color +#: tools/appstream-compose.c:184 tools/appstreamcli.c:1087 +msgid "Don't show colored output." +msgstr "Non mostra output colorato" + +#. TRANSLATORS: ascompose flag description for: --version #. TRANSLATORS: ascli flag description for: --version -#: tools/appstream-cli.c:897 +#: tools/appstream-compose.c:187 tools/appstreamcli.c:1076 msgid "Show the program version." msgstr "Mostra la versione del programma" -#: src/as-validator-issue-tag.h:635 -msgid "" -"Since a 'runtime' component is comprised of multiple other software " -"components, their component-IDs may be listed in a `` section for " -"this runtime." +#. TRANSLATORS: ascompose flag description for: --full-report +#: tools/appstream-compose.c:190 +msgid "Set mode of the issue report that is printed to the console" msgstr "" -#: src/as-category.c:153 -msgctxt "Category of Games" -msgid "Sports" -msgstr "Sport" +#. TRANSLATORS: ascompose flag description for: --prefix +#: tools/appstream-compose.c:193 +msgid "Override the default prefix (`/usr` by default)" +msgstr "" -#: src/as-category.c:157 -msgctxt "Category of Games" -msgid "Strategy" -msgstr "Strategia" +#. TRANSLATORS: ascompose flag description for: --result-root +#: tools/appstream-compose.c:196 +msgid "Set the result output directory" +msgstr "" -#. these are commands we can use with appstreamcli -#: tools/appstream-cli.c:845 -msgid "Subcommands:" -msgstr "Sotto-comandi:" +#. TRANSLATORS: ascompose flag description for: --data-dir, `collection metadata` is an AppStream term +#: tools/appstream-compose.c:199 +msgid "Override the collection metadata output directory" +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:527 -msgid "" -"Suggestions of any type other than 'upstream' are not allowed in metainfo " -"files." +#. TRANSLATORS: ascompose flag description for: --icons-dir +#: tools/appstream-compose.c:202 +msgid "Override the icon output directory" msgstr "" -"Qualsiasi altro tipo al di fuori di «upstream» non è supportato nei file " -"metainfo." -#: tools/ascli-utils.c:297 -msgid "Summary" -msgstr "Riepilogo" +#. TRANSLATORS: ascompose flag description for: --media-dir +#: tools/appstream-compose.c:205 +msgid "" +"Set the media output directory (for media data to be served by a webserver)" +msgstr "" -#. TRANSLATORS: Status summary in ascli -#: tools/ascli-actions-misc.c:145 -msgid "Summary:" -msgstr "Riepilogo:" +#. TRANSLATORS: ascompose flag description for: --hints-dir +#: tools/appstream-compose.c:208 +msgid "Set a directory where HTML and text issue reports will be stored" +msgstr "" -#: src/as-category.c:290 -msgctxt "Category of Utility" -msgid "System Monitoring" -msgstr "Monitoraggio del sistema" +#. TRANSLATORS: ascompose flag description for: --origin +#. TRANSLATORS: ascompose flag description for: --media-baseurl +#: tools/appstream-compose.c:211 tools/appstream-compose.c:214 +msgid "Set the origin name" +msgstr "" -#: src/as-validator-issue-tag.h:46 -msgid "Tags of this name are not permitted in this section." -msgstr "Tag con questo nome non sono consentiti in questa sezione." +#. TRANSLATORS: ascompose flag description for: --components +#: tools/appstream-compose.c:217 +msgid "A comma-separated list of component-IDs to accept" +msgstr "" -#: src/as-category.c:284 -msgctxt "Category of Utility" -msgid "Terminal Emulators" -msgstr "Emulatori di terminale" +#. TRANSLATORS: error message +#: tools/appstream-compose.c:231 +msgid "Failed to parse arguments" +msgstr "" -#: src/as-category.c:281 -msgctxt "Category of Utility" -msgid "Text Editors" -msgstr "Editor di testi" +#. TRANSLATORS: Output if appstreamcli --version is executed. +#: tools/appstream-compose.c:242 tools/appstreamcli.c:1230 +#, c-format +msgid "AppStream version: %s" +msgstr "Versione AppStream: %s" -#: src/as-validator-issue-tag.h:318 +#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. +#: tools/appstream-compose.c:245 tools/appstreamcli.c:1233 +#, c-format msgid "" -"The 'pkgname' tag appears multiple times. You should evaluate creating a " -"metapackage containing the metainfo and .desktop files in order to avoid " -"defining multiple package names per component." +"AppStream CLI tool version: %s\n" +"AppStream library version: %s" msgstr "" -"Il tag «pkgname» compare più volte. Potrebbe essere utile creare un meta-" -"pacchetto contenente i file metainfo e .desktop per evitare la definizione " -"di più nomi di pacchetto per componente." +"Versione strumento CLI AppStream: %s\n" +"Versione libreria AppStream: %s" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:416 +#. TRANSLATORS: invalid value for the --print-report CLI option +#: tools/appstream-compose.c:264 +#, c-format msgid "" -"The 'update_contact' tag should not be included in collection AppStream XML." +"Invalid value for `--print-report` option: %s\n" +"Possible values are:\n" +"`on-error` - only prints a short report if the run failed (default)\n" +"`short` - generates an abridged report\n" +"`full` - a detailed report will be printed" msgstr "" -"Il tag «update_contact» non dovrebbe essere incluso nelle collezione " -"AppStream XML." -#: tools/ascli-actions-mdata.c:467 +#: tools/appstream-compose.c:285 #, c-format -msgid "The .desktop file '%s' does not exist." -msgstr "Il file .desktop \"%s\" non esiste." - -#: src/as-validator-issue-tag.h:393 -msgid "The can not contain a hyperlink." -msgstr " non può contenere un collegamento." +msgid "Automatically selected '%s' as data output location." +msgstr "" -#: src/as-validator-issue-tag.h:313 -msgid "" -"The tag still contains a 'type' property, probably from an old " -"conversion to the recent metainfo format." +#. TRANSLATORS: we don't have a destination directory for compose +#: tools/appstream-compose.c:288 +msgid "No destination directory set, please provide a data output location!" msgstr "" -"Il tag contiene ancora una proprietà «type», probabilmente da una " -"precedente conversione al nuovo formato metainfo." -#: src/as-validator-issue-tag.h:616 -msgid "" -"The AppStream specification requires a complete, ISO 8601 date string with " -"at least day-granularity to denote dates. Please ensure the date string is " -"valid." +#: tools/appstream-compose.c:298 tools/appstream-compose.c:300 +msgid "WARNING" msgstr "" -"La specifica AppStream richiede una data in formato ISO 8601 completa con " -"almeno una granularità a livello del giorno. Assicurarsi che la data sia " -"valida." -#: src/as-pool.c:1924 +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:337 #, c-format -msgid "" -"The AppStream system cache was updated, but problems were found which " -"resulted in metadata being ignored: %s" +msgid "Only accepting components: %s" msgstr "" -"La cache AppStream di sistema è stata aggiornata, ma sono stati riscontrati " -"degli errori e i metadati sono stati ignorati: %s" -#: src/as-pool.c:1922 -msgid "" -"The AppStream system cache was updated, but some components were ignored. " -"Refer to the verbose log for more information." +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:340 +#, c-format +msgid "Only accepting component: %s" msgstr "" -"La cache AppStream di sistema è stata aggiornata, ma alcuni componenti sono " -"stati ignorati. Per maggiori informazioni fare riferimento al registro dei " -"messaggi." -#: src/as-validator-issue-tag.h:151 -msgid "The SPDX license expression is invalid and could not be parsed." +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:345 +msgid "Processing directories:" msgstr "" -"L'espressione di licenza SPDX non è valida e non può essere analizzata." -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows -#: tools/appstream-cli.c:683 -#, c-format -msgid "The TYPE must be a valid component-type, such as: %s" -msgstr "TIPO deve essere un tipo di componente valido, come %s" +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:348 +msgid "Processing directory:" +msgstr "" -#: src/as-validator-issue-tag.h:547 -msgid "The XML of this file is malformed." -msgstr "L'XML di questo file non è corretto." +#. TRANSLATORS: error message +#: tools/appstream-compose.c:357 +msgid "Can not process invalid directory" +msgstr "" -#: src/as-validator-issue-tag.h:584 -msgid "" -"The category defined in the .desktop file is not valid. Refer to the XDG " -"Menu Specification for a list of valid categories." +#. TRANSLATORS: information message +#: tools/appstream-compose.c:369 +msgid "Composing metadata..." msgstr "" -"La categoria definita nel file .desktop non è valida. Fare riferimento alla " -"specifica XDG Menu per l'elenco delle categoria valide." -#: src/as-validator-issue-tag.h:532 -msgid "" -"The category name is not valid. Refer to the XDG Menu Specification for a " -"list of valid category names." +#. TRANSLATORS: error message +#: tools/appstream-compose.c:374 +#, fuzzy +msgid "Failed to compose AppStream metadata" +msgstr "Uno strumento per lavorare con metadati AppStream" + +#. TRANSLATORS: appstream-compose failed to include all data +#: tools/appstream-compose.c:380 +msgid "Run failed, some data was ignored." msgstr "" -"Il nome della categoria non è valido. Fare riferimento alla specifica XDG " -"Menu per l'elenco dei nomi di categoria validi." -#: src/as-validator-issue-tag.h:124 -msgid "" -"The component ID contains a hyphen/minus. Using a hyphen is strongly " -"discouraged, to improve interoperability with other tools such as D-Bus. A " -"good option is to replace any hyphens with underscores ('_')." +#. TRANSLATORS: information message of appstream-compose +#: tools/appstream-compose.c:382 +msgid "Errors were raised during this compose run:" msgstr "" -"L'ID del componente contiene un trattino/meno. L'utilizzo di un trattino è " -"fortemente sconsigliato, per migliorare l'interoperabilità con altri " -"strumenti come D-Bus. Una buona opzione è quella di sostituire eventuali " -"trattini con caratteri di sottolineatura ('_')." -#: src/as-validator-issue-tag.h:130 +#: tools/appstream-compose.c:383 msgid "" -"The component ID contains a segment starting with a number. Starting a " -"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " -"interoperability with other tools such as D-Bus. Ideally, prefix these " -"segments with an underscore." +"Refer to the generated issue report data for details on the individual " +"problems." msgstr "" -"L'ID componente contiene un segmento che inizia con un numero. L'avvio di un " -"segmento dell'ID DNS inverso con un numero è fortemente sconsigliato, per " -"mantenere l'interoperabilità con altri strumenti come D-Bus. Idealmente, " -"anteporre a questi segmenti un segno di sottolineatura." -#: src/as-validator-issue-tag.h:119 -msgid "" -"The component ID contains an invalid character. Only ASCII characters, dots " -"and numbers are permitted." +#: tools/appstream-compose.c:386 +msgid "Overview of generated hints:" msgstr "" -"L'ID del componente contiene un carattere non valido. Sono consentiti solo " -"caratteri ASCII, punti e numeri." -#: src/as-validator-issue-tag.h:106 -msgid "" -"The component ID is not a reverse domain-name. Please update the ID to avoid " -"future issues and be compatible with all AppStream implementations.\n" -"You may also consider to update the name of the accompanying .desktop file " -"to follow the latest version of the Desktop-Entry specification and use a " -"rDNS name for it as well. In any case, do not forget to mention the new " -"desktop-entry in a tag for this component to keep the " -"application launchable from software centers and the .desktop file data " -"associated with the metainfo data." +#. TRANSLATORS: information message +#: tools/appstream-compose.c:388 +msgid "Success!" msgstr "" -"L'ID componente non è un nome di dominio inverso. Aggiornare l'ID per " -"evitare problemi futuri ed essere compatibili con tutte le implementazioni " -"di AppStream.\n" -"Si può anche prendere in considerazione di aggiornare il nome del file ." -"desktop di accompagnamento per seguire l'ultima versione della specifica " -"Desktop-Entry e utilizzare un nome rDNS anche per esso. In ogni caso, non " -"dimenticare di menzionare la nuova voce desktop in un tag per " -"questo componente per mantenere l'applicazione avviabile dai centri software " -"e dai dati dei file .desktop associati ai dati metainfo." -#: src/as-validator-issue-tag.h:101 -msgid "" -"The component ID is required to follow a reverse domain-name scheme for its " -"name. See the AppStream specification for details." +#. TRANSLATORS: ascli flag description for: --cachepath +#: tools/appstreamcli.c:59 +msgid "Manually selected location of AppStream cache." +msgstr "Imposta manualmente la posizione della cache AppStream" + +#. TRANSLATORS: ascli flag description for: --datapath +#: tools/appstreamcli.c:64 +msgid "Manually selected location of AppStream metadata to scan." +msgstr "Imposta manualmente la posizione dei metadati AppStream da analizzare" + +#. TRANSLATORS: ascli flag description for: --no-cache +#: tools/appstreamcli.c:69 +msgid "Make request without any caching." +msgstr "Esegue la richiesta senza cache" + +#. TRANSLATORS: ascli flag description for: --format +#: tools/appstreamcli.c:85 +msgid "Default metadata format (valid values are 'xml' and 'yaml')." msgstr "" -"L'ID componente deve seguire uno schema di nome di dominio inverso per il " -"nome. Vedere la specifica AppStream per i dettagli." +"Valore predefinito del formato dei metadati (valori validi sono «xml» e " +"«yaml»)" + +#. TRANSLATORS: ascli flag description for: --details +#: tools/appstreamcli.c:100 +msgid "Print detailed output about found components." +msgstr "Stampa informazioni dettagliate riguardo ai componenti trovati" + +#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) +#: tools/appstreamcli.c:118 +msgid "Also show pedantic hints." +msgstr "Stampa suggerimenti prolissi" + +#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) +#: tools/appstreamcli.c:123 +msgid "Print detailed explanation for found issues." +msgstr "Stampa informazioni dettagliate riguardo ai problemi trovati" + +#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) +#: tools/appstreamcli.c:128 +msgid "Do not use network access." +msgstr "Non usa l'accesso alla rete" + +#. TRANSLATORS: ascli flag description for: --format when validating XML files +#: tools/appstreamcli.c:133 +msgid "Format of the generated report (valid values are 'text' and 'yaml')." +msgstr "Formato del rapporto (valori validi sono «text» e «yaml»)" + +#. TRANSLATORS: This is the header to the --help menu for subcommands +#. TRANSLATORS: This is the header to the --help menu +#: tools/appstreamcli.c:153 tools/appstreamcli.c:981 +msgid "AppStream command-line interface" +msgstr "Interfaccia a riga di comando AppStream" + +#: tools/appstreamcli.c:156 +#, c-format +msgid "'%s' command" +msgstr "Comando «%s»" -#: src/as-validator-issue-tag.h:114 -msgid "" -"The component ID might not follow the reverse domain-name schema (the TLD " -"used by it is not known to the validator)." -msgstr "" +#. TRANSLATORS: An unknown option was passed to appstreamcli. +#: tools/appstreamcli.c:191 +#, c-format +msgid "Option '%s' is unknown." +msgstr "Opzione «%s» sconosciuta." -#: src/as-validator-issue-tag.h:293 -msgid "" -"The component has a 'merge' method defined. This is not allowed in metainfo " -"files." +#: tools/appstreamcli.c:195 tools/appstreamcli.c:1207 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options." msgstr "" +"Eseguire \"%s --help\" per l'elenco completo delle opzioni a riga di comando." -#: src/as-validator-issue-tag.h:288 +#: tools/appstreamcli.c:197 +#, c-format msgid "" -"The component has a priority value set. This is not allowed in metainfo " -"files." +"Run '%s --help' to see a list of available commands and options, and '%s %s " +"--help' to see a list of options specific for this subcommand." msgstr "" +"Eseguire \"%s --help\" per l'elenco completo delle opzioni a riga di comando " +"e \"%s %s --help\" per l'elenco delle opzioni per il comando specificato." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:503 -msgid "The component is an addon, but no 'extends' tag was specified." +#. TRANSLATORS: ascli flag description for: --force +#: tools/appstreamcli.c:245 +msgid "Enforce a cache refresh." +msgstr "Forza l'aggiornamento della cache" + +#. TRANSLATORS: ascli flag description for: --user +#: tools/appstreamcli.c:251 +msgid "Update the user-specific instead of the system-wide cache." msgstr "" -#: src/as-validator-issue-tag.h:440 -msgid "" -"The component is missing a long description. Components of this type must " -"have a long description." +#. TRANSLATORS: ascli flag description for: --origin (part of the "put" subcommand) +#: tools/appstreamcli.c:477 +msgid "Set the data origin for the installed metadata collection file." msgstr "" -#: src/as-validator-issue-tag.h:303 -msgid "The component is missing a name ( tag)." +#. TRANSLATORS: ascli flag description for: --user (part of the "put" subcommand) +#: tools/appstreamcli.c:482 +msgid "Install the file for the current user, instead of globally." msgstr "" -#: src/as-validator-issue-tag.h:308 -msgid "The component is missing a summary ( tag)." +#: tools/appstreamcli.c:631 +msgid "" +"You need to provide at least two version numbers to compare as parameters." msgstr "" +"È necessario fornire almeno due numeri di versione da comparare come " +"argomenti." -#: src/as-validator-issue-tag.h:298 -msgid "The component is missing an ID ( tag)." +#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. +#: tools/appstreamcli.c:660 +#, c-format +msgid "Unknown compare relation '%s'. Valid values are:" msgstr "" +"Operazione di comparazione \"%s\" non riconosciuta. Valori validi sono:" -#: src/as-validator-issue-tag.h:136 +#: tools/appstreamcli.c:700 msgid "" -"The component is part of the Freedesktop project, but its ID does not start " -"with fd.o's reverse-DNS name (\"org.freedesktop\")." +"Too many parameters: Need two version numbers or version numbers and a " +"comparison operator." msgstr "" +"Troppi parametri: necessari due numeri di versione o un numero di versione e " +"un operatore di confronto." -#: src/as-validator-issue-tag.h:146 +#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) +#: tools/appstreamcli.c:726 msgid "" -"The component is part of the GNOME project, but its ID does not start with " -"GNOMEs reverse-DNS name (\"org.gnome\")." +"Use the given .desktop file to fill in the basic values of the metainfo file." msgstr "" +"Usa il file .desktop dato per completare valori di base nel file metainfo" -#: src/as-validator-issue-tag.h:141 +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand +#: tools/appstreamcli.c:731 msgid "" -"The component is part of the KDE project, but its ID does not start with " -"KDEs reverse-DNS name (\"org.kde\")." +"This command takes optional TYPE and FILE positional arguments, FILE being a " +"file to write to (or \"-\" for standard output)." msgstr "" +"Questo comando accetta gli argomenti opzionali TIPO e FILE, con FILE il file " +"su cui scrivere (oppure \"-\" per lo standard output)" -#: src/as-validator-issue-tag.h:323 -msgid "The component name should (likely) not end with a dot ('.')." -msgstr "" +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows +#: tools/appstreamcli.c:734 +#, c-format +msgid "The TYPE must be a valid component-type, such as: %s" +msgstr "TIPO deve essere un tipo di componente valido, come %s" -#: src/as-validator-issue-tag.h:333 -msgid "The component summary must not contain tabs or linebreaks." +#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) +#: tools/appstreamcli.c:775 +msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." msgstr "" +"Utilizzare la riga specificata per la chiave \"Exec =\" del file sul desktop." -#: src/as-validator-issue-tag.h:328 -msgid "The component summary should not end with a dot ('.')." -msgstr "" +#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command +#: tools/appstreamcli.c:815 +msgid "Assume the input file is in the selected format ('yaml' or 'text')." +msgstr "Considera il file di input nel formato selezionato («yaml» o «text»)" -#: src/as-validator-issue-tag.h:243 +#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command +#: tools/appstreamcli.c:820 msgid "" -"The default screenshot of a software component must not be a video. Use a " -"static image as default screenshot and set the video as a secondary " -"screenshot." +"Limit the number of release entries that end up in the metainfo file (0 for " +"unlimited)." msgstr "" +"Limita il numero di voci di rilascio incluse nel file metainfo (0 per nessun " +"limite)" -#: src/as-validator-issue-tag.h:86 -msgid "" -"The description contains a web URL in plain text. This is not allowed, " -"please use the tag instead to share links." -msgstr "" +#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command +#: tools/appstreamcli.c:862 +msgid "Generate the output in the selected format ('yaml' or 'text')." +msgstr "Genera l'output nei formati selezionati («yaml» o «text»)" -#: src/as-validator.c:152 -msgid "" -"The emitted issue tag is unknown in the tag registry of AppStream. This is a " -"bug in the validator itself, please report this issue in our bugtracker." +#: tools/appstreamcli.c:894 +#, c-format +msgid "Compose binary '%s' was not found! Can not continue." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:435 -msgid "" -"The essential tag 'metadata_license' is missing. A license for the metadata " -"itself always has to be defined." +#. TRANSLATORS: this is a (usually shorter) command alias, shown after the command summary text +#: tools/appstreamcli.c:956 +#, c-format +msgid "(Alias: '%s')" msgstr "" -#: src/as-validator-issue-tag.h:79 -msgid "" -"The first 'description/p' paragraph of this component might be too short (< " -"80 characters). Please consider starting with a longer paragraph to improve " -"how the description looks like in software centers and to provide more " -"detailed information on this component immediately in the first paragraph." -msgstr "" +#. these are commands we can use with appstreamcli +#: tools/appstreamcli.c:983 +msgid "Subcommands:" +msgstr "Sotto-comandi:" -#: src/as-validator-issue-tag.h:156 +#: tools/appstreamcli.c:1029 msgid "" -"The license ID was not found in the SPDX database. Please check that the " -"license ID is written in an SPDX-conformant way and is a valid free software " -"license." +"You can find information about subcommand-specific options by passing \"--" +"help\" to the subcommand." msgstr "" +"È possibile trovare maggiori informazioni sulle opzioni del comando indicato " +"aggiungendo \"--help\"." -#: src/as-validator-issue-tag.h:96 +#. TRANSLATORS: ascli has been run with unknown command. '%s --help' is the command to receive help and should not be translated. +#: tools/appstreamcli.c:1052 +#, c-format msgid "" -"The mentioned tag is empty, which is highly likely not intended as it should " -"have content." +"Command '%s' is unknown. Run '%s --help' for a list of available commands." msgstr "" +"Comando '%s' sconosciuto. Eseguire \"%s --help\" per l'elenco completo delle " +"opzioni a riga di comando." -#: src/as-validator-issue-tag.h:168 -msgid "" -"The metadata itself does not seem to be licensed under a permissive license. " -"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " -"0BSD to allow distributors to include it in mixed data collections without " -"the risk of license violations due to mutually incompatible licenses." -msgstr "" +#. TRANSLATORS: ascli flag description for: --verbose +#: tools/appstreamcli.c:1082 +msgid "Show extra debugging information." +msgstr "Mostra informazioni aggiuntive di debug" -#: src/as-validator-issue-tag.h:162 -msgid "" -"The metadata itself seems to be licensed under a complex collection of " -"licenses. Please license the data under a simple permissive license, like " -"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " -"collections without the risk of license violations due to mutually " -"incompatible licenses." +#. TRANSLATORS: ascli flag description for: --profile +#: tools/appstreamcli.c:1090 +msgid "Enable profiling" msgstr "" -#: src/as-validator-issue-tag.h:599 +#. TRANSLATORS: `appstreamcli search` command description. +#: tools/appstreamcli.c:1102 +msgid "Search the component database." +msgstr "Cerca nel database dei componenti" + +#. TRANSLATORS: `appstreamcli get` command description. +#: tools/appstreamcli.c:1107 +msgid "Get information about a component by its ID." +msgstr "Ottiene informazioni su un componente tramite il suo ID" + +#. TRANSLATORS: `appstreamcli what-provides` command description. +#: tools/appstreamcli.c:1112 msgid "" -"The metainfo file is stored in a legacy path. Please place it in '/usr/share/" -"metainfo'." +"Get components which provide the given item. Needs an item type (e.g. lib, " +"bin, python3, …) and item value as parameter." msgstr "" -#: src/as-validator-issue-tag.h:604 -msgid "The metainfo file specifies multiple components. This is not allowed." +#. TRANSLATORS: `appstreamcli dump` command description. +#: tools/appstreamcli.c:1118 +msgid "Dump raw XML metadata for a component matching the ID." msgstr "" +"Esegue il dump dei metadati XML per un componente che corrisponde all'ID" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:559 -msgid "" -"The metainfo file uses an ancient version of the AppStream specification, " -"which can not be validated. Please migrate it to version 0.6 (or higher)." -msgstr "" +#. TRANSLATORS: `appstreamcli refresh-cache` command description. +#: tools/appstreamcli.c:1123 +msgid "Rebuild the component metadata cache." +msgstr "Rigenera la cache dei metadati del componente." -#: src/as-validator-issue-tag.h:569 -#, fuzzy -msgid "The metainfo filename does not match the component ID." -msgstr "Rimuove software tramite l'ID del componente" +#. TRANSLATORS: `appstreamcli validate` command description. +#: tools/appstreamcli.c:1129 +msgid "Validate AppStream XML files for issues." +msgstr "Esegue la validazione dei file XML AppStream" -#: src/as-validator-issue-tag.h:609 -msgid "" -"The releases are not sorted in a latest to oldest version order. This is " -"required as some tools will assume that the latest version is always at the " -"top. Sorting releases also increases overall readability of the metainfo " -"file." +#. TRANSLATORS: `appstreamcli validate-tree` command description. +#: tools/appstreamcli.c:1134 +msgid "Validate an installed file-tree of an application for valid metadata." msgstr "" +"Esegue la validazione di un file di un'applicazione installata per metadati " +"validi" -#: src/as-validator-issue-tag.h:537 -msgid "The screenshot caption is too long (should be <= 80 characters)" -msgstr "" +#. TRANSLATORS: `appstreamcli install` command description. +#: tools/appstreamcli.c:1140 +msgid "Install software matching the component-ID." +msgstr "Installa software che corrisponde all'ID del componente" -#: src/as-validator-issue-tag.h:206 -msgid "The screenshot does not have a caption text. Consider adding one." -msgstr "" +#. TRANSLATORS: `appstreamcli remove` command description. +#: tools/appstreamcli.c:1145 +msgid "Remove software matching the component-ID." +msgstr "Rimuove software tramite l'ID del componente" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:218 -msgid "" -"The screenshot video does not specify which container format was used in a " -"'container' property." +#. TRANSLATORS: `appstreamcli status` command description. +#: tools/appstreamcli.c:1151 +msgid "Display status information about available AppStream metadata." msgstr "" +"Visualizza informazioni di stato riguardo ai metadati AppStream installati." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:212 +#. TRANSLATORS: `appstreamcli os-info` command description. +#: tools/appstreamcli.c:1156 msgid "" -"The screenshot video does not specify which video codec was used in a " -"'codec' property." +"Show information about the current operating system from the metadata index." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:224 -msgid "" -"The selected video codec is not supported by AppStream and software centers " -"may not be able to play the video. Only the AV1 and VP9 codecs are currently " -"supported, using 'av1' and 'vp9' as values for the 'codec' property." -msgstr "" +#. TRANSLATORS: `appstreamcli put` command description. +#: tools/appstreamcli.c:1161 +msgid "Install a metadata file into the right location." +msgstr "Installa un file metadati nella corretta posizione" + +#. TRANSLATORS: `appstreamcli convert` command description. "Collection XML" is a term describing a specific type of AppStream XML data. +#: tools/appstreamcli.c:1166 +msgid "Convert collection XML to YAML or vice versa." +msgstr "Converte la collezione XML in YAML o vice versa" + +#. TRANSLATORS: `appstreamcli vercmp` command description. +#: tools/appstreamcli.c:1171 +msgid "Compare two version numbers." +msgstr "Confronta due numeri di versione." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:231 +#. TRANSLATORS: `appstreamcli new-template` command description. +#: tools/appstreamcli.c:1177 msgid "" -"The selected video container format is not supported by AppStream and " -"software centers may not be able to play the video. Only the WebM and " -"Matroska video containers are currently supported, using 'webm' and 'mkv' as " -"values for the 'container' property." +"Create a template for a metainfo file (to be filled out by the upstream " +"project)." msgstr "" +"Crea un modello per un file metainfo (deve essere completato dal progetto " +"originario)" -#: src/as-validator-issue-tag.h:283 +#. TRANSLATORS: `appstreamcli make-desktop-file` command description. +#: tools/appstreamcli.c:1182 #, fuzzy -msgid "" -"The set component type is not a recognized, valid AppStream component type." -msgstr "" -"Il componente software \"%s\" non è valido in AppStream. Valori possibili " -"sono:" +msgid "Create a desktop-entry file from a metainfo file." +msgstr "Crea un file XDG da un file metainfo." -#: src/as-validator-issue-tag.h:398 -msgid "" -"The set value is not an identifier for a desktop environment as registered " -"with Freedesktop.org." +#. TRANSLATORS: `appstreamcli news-to-metainfo` command description. +#: tools/appstreamcli.c:1187 +msgid "Convert a YAML or text NEWS file into metainfo releases." +msgstr "Converte un file YAML o NEWS in rilasci metainfo" + +#. TRANSLATORS: `appstreamcli metainfo-to-news` command description. +#: tools/appstreamcli.c:1192 +msgid "Write NEWS text or YAML file with information from a metainfo file." +msgstr "Scrive file di testo NEWS o YAML con informazioni da un file metainfo." + +#. TRANSLATORS: `appstreamcli compose` command description. +#: tools/appstreamcli.c:1198 +#, fuzzy +msgid "Compose AppStream collection metadata from directory trees." +msgstr "Metadati AppStream non trovati in questa directory o sotto-directory." + +#. TRANSLATORS: ascli has been run without command. +#: tools/appstreamcli.c:1206 +msgid "You need to specify a command." +msgstr "È necessario specificare un comando." + +#. TRANSLATORS: In ascli: The requested action needs higher permissions. +#: tools/ascli-actions-mdata.c:70 +msgid "You might need superuser permissions to perform this action." msgstr "" +"Potrebbero essere necessari i permessi di amministrazione per eseguire " +"questa azione." + +#. we performed a cache refresh +#. TRANSLATORS: Updating the metadata cache succeeded +#: tools/ascli-actions-mdata.c:80 +msgid "AppStream cache update completed successfully." +msgstr "Aggiornamento cache AppStream completato con successo." + +#. cache wasn't updated, so the update wasn't necessary +#: tools/ascli-actions-mdata.c:86 +msgid "AppStream cache update is not necessary." +msgstr "Aggiornamento cache AppStream non necessario." + +#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments +#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. +#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:253 +#: tools/ascli-actions-pkgmgr.c:80 +msgid "You need to specify a component-ID." +msgstr "È necessario specificare l'ID di un componente." -#: tools/ascli-actions-mdata.c:449 +#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:265 +#: tools/ascli-actions-pkgmgr.c:93 #, c-format -msgid "" -"The software component type '%s' is not valid in AppStream. Possible values " -"are:" -msgstr "" -"Il componente software \"%s\" non è valido in AppStream. Valori possibili " -"sono:" +msgid "Unable to find component with ID '%s'!" +msgstr "Impossibile trovare un componente con ID \"%s\"." + +#: tools/ascli-actions-mdata.c:164 +msgid "You need to specify a term to search for." +msgstr "È necessario specificare un termine da cercare." + +#. TRANSLATORS: We failed to find any component in the database, likely due to an error +#: tools/ascli-actions-mdata.c:177 +#, c-format +msgid "Unable to find component matching %s!" +msgstr "Impossibile trovare un componente che corrisponda a %s." -#: src/as-validator-issue-tag.h:338 -msgid "The summary must not contain any URL. Use the tags for links." -msgstr "" +#: tools/ascli-actions-mdata.c:182 +#, c-format +msgid "No component matching '%s' found." +msgstr "Non è stato trovato alcun componente che corrisponde a «%s»." -#: src/as-validator-issue-tag.h:640 -msgid "" -"The type of the item that the component provides is not known to AppStream." -msgstr "" +#: tools/ascli-actions-mdata.c:206 +msgid "No value for the item to search for was defined." +msgstr "Nessun valore definito per l'elemento da cercare." -#: src/as-validator-issue-tag.h:174 -msgid "" -"The update-contact does not appear to be a valid email address (escaping of " -"'@' is only allowed as '_at_' or '_AT_')." -msgstr "" +#: tools/ascli-actions-mdata.c:212 +msgid "Invalid type for provided item selected. Valid values are:" +msgstr "Tipo non valido per l'elemento selezionato. Valori valido sono:" -#: tools/ascli-actions-validate.c:363 tools/ascli-actions-validate.c:492 +#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results +#: tools/ascli-actions-mdata.c:227 #, c-format -msgid "" -"The validator can not create reports in the '%s' format. You may select " -"'yaml' or 'text' instead." -msgstr "" +msgid "Could not find component providing '%s::%s'." +msgstr "Impossibile trovare un componente che fornisca «%s::%s»." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:410 -msgid "This 'bundle' tag has an unknown type and can not be used." -msgstr "" +#: tools/ascli-actions-mdata.c:306 +msgid "You need to specify a metadata file." +msgstr "È necessario specificare un file di metadati." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:404 -msgid "This 'launchable' tag has an unknown type and can not be used." -msgstr "" +#: tools/ascli-actions-mdata.c:320 +#, fuzzy, c-format +msgid "Unable to install metadata file: %s" +msgstr "Impossibile leggere il file .desktop: %s" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:515 -msgid "" -"This 'localization' component does not define any languages this " -"localization is for." -msgstr "" +#: tools/ascli-actions-mdata.c:340 +msgid "You need to specify an input and output file." +msgstr "È necessario specificare un file di ingresso e di uscita." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:509 -msgid "" -"This 'localization' component is missing an 'extends' tag, to specify the " -"components it adds localization to." -msgstr "" +#: tools/ascli-actions-mdata.c:347 +#, c-format +msgid "Metadata file '%s' does not exist." +msgstr "Il file dei metadati «%s» non esiste." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:521 +#. TRANSLATORS: User is trying to convert a file in ascli +#: tools/ascli-actions-mdata.c:387 msgid "" -"This 'service' component is missing a 'launchable' tag of type 'service'." +"Unable to convert file: Could not determine output format, please set it " +"explicitly using '--format='." msgstr "" +"Impossibile convertire il file: impossibile determinare il formato di " +"uscita, impostarlo esplicitamente con \"--format=\"." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:473 -msgid "" -"This 'web-application' component is missing a 'icon' tag to specify a valid " -"icon." -msgstr "" +#: tools/ascli-actions-mdata.c:438 +#, c-format +msgid "Unable to find operating system component '%s'!" +msgstr "Impossibile trovare un componente con ID \"%s\"!" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:467 -msgid "" -"This 'web-application' component is missing a 'launchable' tag of type 'url'." -msgstr "" +#: tools/ascli-actions-mdata.c:443 +msgid "Version" +msgstr "Versione" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:479 +#: tools/ascli-actions-mdata.c:467 msgid "" -"This 'web-application' component is missing categorizations. A 'categories' " -"block is likely missing." +"You need to give an AppStream software component type to generate a " +"template. Possible values are:" msgstr "" +"È necessario fornire un tipo di componente software AppStream per generare " +"un modello. Possibili valori sono:" -#: src/as-validator-issue-tag.h:564 +#: tools/ascli-actions-mdata.c:469 +#, c-format msgid "" -"This XML document has an unknown root tag. Maybe this file is not a metainfo " -"document?" +"The software component type '%s' is not valid in AppStream. Possible values " +"are:" msgstr "" +"Il componente software \"%s\" non è valido in AppStream. Valori possibili " +"sono:" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand -#: tools/appstream-cli.c:680 -msgid "" -"This command takes optional TYPE and FILE positional arguments, FILE being a " -"file to write to (or \"-\" for standard output)." -msgstr "" -"Questo comando accetta gli argomenti opzionali TIPO e FILE, con FILE il file " -"su cui scrivere (oppure \"-\" per lo standard output)" +#: tools/ascli-actions-mdata.c:487 +#, c-format +msgid "The .desktop file '%s' does not exist." +msgstr "Il file .desktop \"%s\" non esiste." -#: src/as-validator-issue-tag.h:622 -msgid "" -"This component extends, provides, requires or recommends itself, which is " -"certainly not intended and may confuse users or machines dealing with this " -"metadata." -msgstr "" +#: tools/ascli-actions-mdata.c:493 +#, c-format +msgid "Unable to read the .desktop file: %s" +msgstr "Impossibile leggere il file .desktop: %s" -#: src/as-validator-issue-tag.h:579 -msgid "This component metadata refers to a non-existing .desktop file." -msgstr "" +#: tools/ascli-actions-mdata.c:564 +#, c-format +msgid "Unable to build the template metainfo file: %s" +msgstr "Impossibile creare il file modello metainfo: \"%s\"" -#: src/as-validator-issue-tag.h:69 -msgid "" -"This description paragraph contains invalid markup. Currently, only " -"and are permitted." -msgstr "" +#: tools/ascli-actions-mdata.c:572 +#, c-format +msgid "Unable to save the template metainfo file: %s" +msgstr "Impossibile salvare il file modello metainfo: %s" -#: src/as-validator-issue-tag.h:57 -msgid "" -"This element (paragraph, list, etc.) of a tag must not be " -"localized individually in collection metadata. Localize the whole " -" tag instead. The AppStream collection metadata generator (e." -"g. `appstream-generator`) will already do the right thing when compiling the " -"data." -msgstr "" +#. TRANSLATORS: In the status report of ascli: Header +#: tools/ascli-actions-misc.c:47 +msgid "AppStream Status:" +msgstr "Stato AppStream:" -#: src/as-validator-issue-tag.h:455 -msgid "" -"This generic component is missing a long description. It may be useful to " -"add one." -msgstr "" +#: tools/ascli-actions-misc.c:48 +#, c-format +msgid "Version: %s" +msgstr "Versione: %s" -#: src/as-validator-issue-tag.h:421 -msgid "" -"This tag is a GNOME-specific extension to AppStream and not part of the " -"official specification. Do not expect it to work in all implementations and " -"in all software centers." -msgstr "" +#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions +#: tools/ascli-actions-misc.c:52 +msgid "Distribution metadata:" +msgstr "Metadati della distribuzione:" -#: src/as-validator-issue-tag.h:41 -msgid "This tag requires a type property." -msgstr "" +#: tools/ascli-actions-misc.c:94 +msgid "Iconsets" +msgstr "Insieme di icone" -#: data/org.freedesktop.appstream.cli.metainfo.xml:15 -msgid "" -"This tool allows for reading, writing, validating and transformation of " -"AppStream XML or YAML metadata. It also gives access to the system metadata " -"pool, for example to query for software that provides a specific MIME-type, " -"and installing it by its software component identifier." -msgstr "" -"Questo strumento consente di leggere, scrivere, validare e trasformare " -"metadati AppStream XML o YAML. Consente inoltre di accedere all'insieme dei " -"metadati del sistema per, per esempio, eseguire ricerche su un software che " -"fornisce uno specifico tipo di MIME e installarlo attraverso il suo " -"identificativo." +#: tools/ascli-actions-misc.c:105 +msgid "No icons." +msgstr "Nessuna icona." -#: src/as-validator-issue-tag.h:388 -msgid "" -"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." -msgstr "" +#. TRANSLATORS: No metainfo files have been found +#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 +msgid "Empty." +msgstr "Vuota." -#: tools/appstream-cli.c:648 -msgid "" -"Too many parameters: Need two version numbers or version numbers and a " -"comparison operator." -msgstr "" -"Troppi parametri: necessari due numeri di versione o un numero di versione e " -"un operatore di confronto." +#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report +#: tools/ascli-actions-misc.c:116 +msgid "Metainfo files:" +msgstr "File metainfo:" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:461 -msgid "" -"Type 'console-application' component, but no information about binaries in " -"$PATH was provided via a 'provides/binary' tag." -msgstr "" +#: tools/ascli-actions-misc.c:123 +#, c-format +msgid "Found %i components." +msgstr "Trovati %i componenti." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:491 -msgid "" -"Type 'driver' component, but no modalias information was provided via a " -"provides/modalias tag." -msgstr "" +#. TRANSLATORS: Found metainfo files in legacy directories +#: tools/ascli-actions-misc.c:138 +#, c-format +msgid "Found %i components in legacy paths." +msgstr "Trovati %i componenti in percorsi obsoleti." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:485 -msgid "" -"Type 'font' component, but no font information was provided via a 'provides/" -"font' tag." -msgstr "" +#. TRANSLATORS: Status summary in ascli +#: tools/ascli-actions-misc.c:145 +msgid "Summary:" +msgstr "Riepilogo:" -#: src/as-validator.c:333 -msgid "URL format is invalid." -msgstr "" +#: tools/ascli-actions-misc.c:153 +#, c-format +msgid "We have information on %i software components." +msgstr "Trovate informazioni su %i componenti software." -#: tools/ascli-actions-mdata.c:544 +#: tools/ascli-actions-misc.c:159 #, c-format -msgid "Unable to build the template metainfo file: %s" -msgstr "Impossibile creare il file modello metainfo: \"%s\"" +msgid "Error while loading the metadata pool: %s" +msgstr "Errore nel caricare l'insieme dei metadati: %s" -#. TRANSLATORS: User is trying to convert a file in ascli -#: tools/ascli-actions-mdata.c:400 +#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 +#, fuzzy +msgid "You need to specify a metainfo file as input." +msgstr "È necessario specificare un file di metadati." + +#: tools/ascli-actions-misc.c:188 +#, fuzzy msgid "" -"Unable to convert file: Could not determine output format, please set it " -"explicitly using '--format='." -msgstr "" -"Impossibile convertire il file: impossibile determinare il formato di " -"uscita, impostarlo esplicitamente con \"--format=\"." +"You need to specify a desktop-entry file to create or augment as output." +msgstr "È necessario specificare un file da validare." -#. TRANSLATORS: We failed to find any component in the database, likely due to an error -#: tools/ascli-actions-mdata.c:177 +#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 +#: tools/ascli-actions-misc.c:515 #, c-format -msgid "Unable to find component matching %s!" -msgstr "Impossibile trovare un componente che corrisponda a %s." +msgid "Metainfo file '%s' does not exist." +msgstr "Il file metainfo «%s» non esiste." -#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:266 -#: tools/ascli-actions-pkgmgr.c:93 +#: tools/ascli-actions-misc.c:219 #, c-format -msgid "Unable to find component with ID '%s'!" -msgstr "Impossibile trovare un componente con ID \"%s\"." +msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." +msgstr "Vengono aggiunti dati al file desktop «%s» da «%s»." #: tools/ascli-actions-misc.c:224 #, fuzzy, c-format msgid "Unable to load existing desktop-entry file template: %s" msgstr "Impossibile leggere il file .desktop: %s" -#: src/as-validator-issue-tag.h:356 -msgid "Unable to reach remote icon at the given web location - does it exist?" +#: tools/ascli-actions-misc.c:228 +#, c-format +msgid "Creating new desktop-entry file '%s' using data from '%s'" +msgstr "Creazione file desktop «%s» con dati da «%s»" + +#: tools/ascli-actions-misc.c:284 +msgid "No stock icon name was provided in the metainfo file. Can not continue." msgstr "" +"Nessun nome di icona stock fornito nel file metainfo. Impossibile continuare." -#: src/as-validator-issue-tag.h:378 +#: tools/ascli-actions-misc.c:306 msgid "" -"Unable to reach remote location that this URL references - does it exist?" +"No provided binary specified in metainfo file, and no exec command specified " +"via '--exec'. Can not create 'Exec=' key." msgstr "" +"Nessun eseguibile specificato nel file metainfo e nessun comando specificato " +"tramite «--exec». Impossibile creare la chiave «Exec=»." -#: src/as-validator-issue-tag.h:179 +#: tools/ascli-actions-misc.c:370 +#, fuzzy, c-format +msgid "Unable to save desktop entry file: %s" +msgstr "Impossibile leggere il file .desktop: %s" + +#: tools/ascli-actions-misc.c:393 +#, fuzzy +msgid "You need to specify a NEWS file as input." +msgstr "È necessario specificare un file di metadati." + +#: tools/ascli-actions-misc.c:397 msgid "" -"Unable to reach the screenshot image on its remote location - does the image " -"exist?" +"You need to specify a metainfo file to augment, or '-' to print to stdout." msgstr "" +"È necessario specificare un file metainfo da integrare o «-» per stampare " +"sullo stdout." -#: src/as-validator-issue-tag.h:184 -msgid "" -"Unable to reach the screenshot video on its remote location - does the video " -"file exist?" +#: tools/ascli-actions-misc.c:402 +msgid "No output filename specified, modifying metainfo file directly." msgstr "" +"Nessun nome file di output specificato, il file metainfo viene modificato " +"direttamente." -#: src/as-validator-issue-tag.h:542 +#: tools/ascli-actions-misc.c:509 #, fuzzy -msgid "Unable to read file." -msgstr "Impossibile rimuovere la vecchia cache." +msgid "You need to specify a NEWS file as output, or '-' to print to stdout." +msgstr "È necessario specificare un file di metadati." -#: src/as-validator-issue-tag.h:574 +#: tools/ascli-actions-misc.c:540 #, fuzzy -msgid "Unable to read the .desktop file associated with this component." -msgstr "Impossibile leggere il file .desktop: %s" - -#: tools/ascli-actions-mdata.c:473 -#, c-format -msgid "Unable to read the .desktop file: %s" -msgstr "Impossibile leggere il file .desktop: %s" - -#: src/as-pool.c:606 -msgid "Unable to remove old cache." -msgstr "Impossibile rimuovere la vecchia cache." - -#: tools/ascli-actions-misc.c:370 -#, fuzzy, c-format -msgid "Unable to save desktop entry file: %s" -msgstr "Impossibile leggere il file .desktop: %s" +msgid "You need to specify a NEWS format to write the output in." +msgstr "È necessario specificare un file di ingresso e di uscita." -#: tools/ascli-actions-mdata.c:552 -#, c-format -msgid "Unable to save the template metainfo file: %s" -msgstr "Impossibile salvare il file modello metainfo: %s" +#: tools/ascli-actions-pkgmgr.c:53 +msgid "" +"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" +"\" (part of PackageKit) is available." +msgstr "" +"Nessun gestore di pacchetti CLI trovato. Assicurarsi che «pkcon» (parte di " +"PackageKit) sia disponibile." #: tools/ascli-actions-pkgmgr.c:67 #, c-format msgid "Unable to spawn package manager: %s" msgstr "Impossibile lanciare il gestore di pacchetti: %s" -#: tools/ascli-actions-mdata.c:322 +#. TRANSLATORS: We found no distribution package or bundle to install to make this software available +#: tools/ascli-actions-pkgmgr.c:106 #, c-format -msgid "Unable to write to '%s', can not install metainfo file." -msgstr "" -"Impossibile scrivere su \"%s\", impossibile installare il file metainfo." +msgid "Component '%s' has no installation candidate." +msgstr "Il componente «%s» non ha alcun candidato per l'installazione." -#. TRANSLATORS: ascli has been run with unknown command. -#: tools/appstream-cli.c:1009 +#: tools/ascli-actions-validate.c:176 tools/ascli-actions-validate.c:354 #, c-format -msgid "Unknown command '%s'." -msgstr "Comando \"%s\" sconosciuto." +msgid "File '%s' does not exist." +msgstr "Il file «%s» non esiste." -#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. -#: tools/appstream-cli.c:608 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "error"-type hints +#: tools/ascli-actions-validate.c:228 #, c-format -msgid "Unknown compare relation '%s'. Valid values are:" -msgstr "" -"Operazione di comparazione \"%s\" non riconosciuta. Valori validi sono:" - -#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) -#: tools/appstream-cli.c:675 -msgid "" -"Use the given .desktop file to fill in the basic values of the metainfo file." -msgstr "" -"Usa il file .desktop dato per completare valori di base nel file metainfo" - -#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) -#: tools/appstream-cli.c:725 -msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." -msgstr "" - -#. TRANSLATORS: this is the menu spec main category for Utilities -#: src/as-category.c:329 -msgid "Utilities" -msgstr "Strumenti di utilità" +msgid "errors: %lu" +msgstr "errori: %lu" -#: tools/appstream-cli.c:856 -msgid "Validate AppStream XML files for issues." -msgstr "Esegue la validazione dei file XML AppStream" +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "warning"-type hints +#: tools/ascli-actions-validate.c:235 +#, c-format +msgid "warnings: %lu" +msgstr "avvisi: %lu" -#: tools/appstream-cli.c:857 -msgid "Validate an installed file-tree of an application for valid metadata." -msgstr "" -"Esegue la validazione di un file di un'applicazione installata per metadati " -"validi" +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "info"-type hints +#: tools/ascli-actions-validate.c:242 +#, c-format +msgid "infos: %lu" +msgstr "info: %lu" -#: tools/ascli-actions-validate.c:301 tools/ascli-actions-validate.c:442 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "pedantic"-type hints +#: tools/ascli-actions-validate.c:249 #, c-format -msgid "Validation failed: %s" -msgstr "Validazione non riuscita: %s" +msgid "pedantic: %lu" +msgstr "pignolerie: %lu" + +#: tools/ascli-actions-validate.c:268 tools/ascli-actions-validate.c:342 +msgid "You need to specify at least one file to validate!" +msgstr "È necessario specificare almeno un file da validare." -#: tools/ascli-actions-validate.c:289 tools/ascli-actions-validate.c:430 +#: tools/ascli-actions-validate.c:294 tools/ascli-actions-validate.c:435 msgid "Validation was successful." msgstr "Validazione eseguita con successo." -#: tools/ascli-actions-validate.c:291 tools/ascli-actions-validate.c:432 +#: tools/ascli-actions-validate.c:296 tools/ascli-actions-validate.c:437 #, c-format msgid "Validation was successful: %s" msgstr "Validazione eseguita con successo: %s" -#: tools/appstream-cli.c:851 -msgid "Value of the item that should be found." -msgstr "Valore dell'elemento da trovare." - -#: src/as-category.c:177 -msgctxt "Category of Graphics" -msgid "Vector Graphics" -msgstr "Grafica vettoriale" - -#: tools/ascli-actions-misc.c:48 +#: tools/ascli-actions-validate.c:306 tools/ascli-actions-validate.c:447 #, c-format -msgid "Version: %s" -msgstr "Versione: %s" - -#: src/as-category.c:180 -msgctxt "Category of Graphics" -msgid "Viewers" -msgstr "Visualizzatori" +msgid "Validation failed: %s" +msgstr "Validazione non riuscita: %s" -#: tools/ascli-actions-misc.c:153 +#: tools/ascli-actions-validate.c:368 tools/ascli-actions-validate.c:497 #, c-format -msgid "We have information on %i software components." -msgstr "Trovate informazioni su %i componenti software." - -#: src/as-category.c:270 -msgctxt "Category of Communication" -msgid "Web Browsers" -msgstr "Browser web" - -#: src/as-category.c:202 -msgctxt "Category of Office" -msgid "Word Processor" -msgstr "Editor di testi" - -#: tools/appstream-cli.c:871 -msgid "Write NEWS text or YAML file with information from a metainfo file." -msgstr "Scrive file di testo NEWS o YAML con informazioni da un file metainfo." - -#: tools/appstream-cli.c:874 msgid "" -"You can find information about subcommand-specific options by passing \"--" -"help\" to the subcommand." +"The validator can not create reports in the '%s' format. You may select " +"'yaml' or 'text' instead." msgstr "" -"È possibile trovare maggiori informazioni sulle opzioni del comando indicato " -"aggiungendo \"--help\"." -#. TRANSLATORS: In ascli: The requested action needs higher permissions. -#: tools/ascli-actions-mdata.c:70 -msgid "You might need superuser permissions to perform this action." +#: tools/ascli-actions-validate.c:390 tools/ascli-actions-validate.c:484 +msgid "You need to specify a root directory to start validation!" msgstr "" -"Potrebbero essere necessari i permessi di amministrazione per eseguire " -"questa azione." +"È necessario specificare una directory principale per iniziare la " +"validazione." -#: tools/ascli-actions-mdata.c:447 -msgid "" -"You need to give an AppStream software component type to generate a " -"template. Possible values are:" -msgstr "" -"È necessario fornire un tipo di componente software AppStream per generare " -"un modello. Possibili valori sono:" +#: tools/ascli-utils.c:266 +msgid "Identifier" +msgstr "Identificatore" -#: tools/appstream-cli.c:579 -msgid "" -"You need to provide at least two version numbers to compare as parameters." +#: tools/ascli-utils.c:268 +msgid "Internal ID" msgstr "" -"È necessario fornire almeno due numeri di versione da comparare come " -"argomenti." -#: tools/ascli-actions-misc.c:393 -#, fuzzy -msgid "You need to specify a NEWS file as input." -msgstr "È necessario specificare un file di metadati." +#: tools/ascli-utils.c:269 +msgid "Name" +msgstr "Nome" -#: tools/ascli-actions-misc.c:509 -#, fuzzy -msgid "You need to specify a NEWS file as output, or '-' to print to stdout." -msgstr "È necessario specificare un file di metadati." +#: tools/ascli-utils.c:270 +msgid "Summary" +msgstr "Riepilogo" -#: tools/ascli-actions-misc.c:540 -#, fuzzy -msgid "You need to specify a NEWS format to write the output in." -msgstr "È necessario specificare un file di ingresso e di uscita." +#: tools/ascli-utils.c:271 +msgid "Package" +msgstr "Pacchetto" -#. TRANSLATORS: ascli has been run without command. -#: tools/appstream-cli.c:925 -msgid "You need to specify a command." -msgstr "È necessario specificare un comando." +#: tools/ascli-utils.c:272 +msgid "Bundle" +msgstr "Bundle" -#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments -#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. -#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:254 -#: tools/ascli-actions-pkgmgr.c:80 -msgid "You need to specify a component-ID." -msgstr "È necessario specificare l'ID di un componente." +#: tools/ascli-utils.c:273 +msgid "Homepage" +msgstr "Sito web" -#: tools/ascli-actions-misc.c:188 -#, fuzzy -msgid "" -"You need to specify a desktop-entry file to create or augment as output." -msgstr "È necessario specificare un file da validare." +#: tools/ascli-utils.c:274 +msgid "Icon" +msgstr "Icona" -#: tools/ascli-actions-mdata.c:309 -msgid "You need to specify a metadata file." -msgstr "È necessario specificare un file di metadati." +#. developer name +#: tools/ascli-utils.c:294 +msgid "Developer" +msgstr "Sviluppatore" -#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 -#, fuzzy -msgid "You need to specify a metainfo file as input." -msgstr "È necessario specificare un file di metadati." +#: tools/ascli-utils.c:300 +msgid "Extends" +msgstr "Estende" -#: tools/ascli-actions-misc.c:397 -msgid "" -"You need to specify a metainfo file to augment, or '-' to print to stdout." -msgstr "" -"È necessario specificare un file metainfo da integrare o «-» per stampare " -"sullo stdout." +#: tools/ascli-utils.c:306 +msgid "Description" +msgstr "Descrizione" -#: tools/ascli-actions-validate.c:385 tools/ascli-actions-validate.c:479 -msgid "You need to specify a root directory to start validation!" -msgstr "" -"È necessario specificare una directory principale per iniziare la " -"validazione." +#: tools/ascli-utils.c:326 +msgid "Default Screenshot URL" +msgstr "URL predefinito della schermata" -#: tools/ascli-actions-mdata.c:164 -msgid "You need to specify a term to search for." -msgstr "È necessario specificare un termine da cercare." +#. project group +#: tools/ascli-utils.c:333 +msgid "Project Group" +msgstr "Gruppo progetto" -#: tools/ascli-actions-mdata.c:357 -msgid "You need to specify an input and output file." -msgstr "È necessario specificare un file di ingresso e di uscita." +#. license +#: tools/ascli-utils.c:336 +msgid "License" +msgstr "Licenza" -#: tools/ascli-actions-validate.c:263 tools/ascli-actions-validate.c:337 -msgid "You need to specify at least one file to validate!" -msgstr "È necessario specificare almeno un file da validare." +#: tools/ascli-utils.c:342 +msgid "Categories" +msgstr "Categorie" -#. TRANSLATORS: List of "grey-listed" words sperated with ";" -#. * Do not translate this list directly. Instead, -#. * provide a list of words in your language that people are likely -#. * to include in a search but that should normally be ignored in -#. * the search. -#. -#: src/as-pool.c:107 -msgid "app;application;package;program;programme;suite;tool" -msgstr "" -"app;applicazione;applicazioni;pacchetto;programma;suite;tool;strumento;" -"strumenti" +#: tools/ascli-utils.c:350 +msgid "Compulsory for" +msgstr "Obbligatorio per" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:223 -#, c-format -msgid "errors: %lu" -msgstr "errori: %lu" +#: tools/ascli-utils.c:378 +msgid "Provided Items" +msgstr "Elementi forniti" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:237 #, c-format -msgid "infos: %lu" -msgstr "info: %lu" +#~ msgid "Unable to open new cache file: %s" +#~ msgstr "Impossibile aprire un nuovo file cache: %s" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:244 -#, c-format -msgid "pedantic: %lu" -msgstr "pignolerie: %lu" +#~ msgid "" +#~ "AppStream is a cross-distribution specification to provide metadata about " +#~ "software components." +#~ msgstr "" +#~ "AppStream è una specifica multi-distribuzione che fornisce metadati " +#~ "riguardo ai componenti software." -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:230 #, c-format -msgid "warnings: %lu" -msgstr "avvisi: %lu" - -#~ msgid "Command '%s' is unknown." -#~ msgstr "Comando «%s» sconosciuto." - -#~ msgid "Do not use any caches when performing the request." -#~ msgstr "Non usa alcuna cache durante le richieste" - -#~ msgid "AppStream cache update failed." -#~ msgstr "Aggiornamento cache AppStream non riuscito." +#~ msgid "Unable to write to '%s', can not install metainfo file." +#~ msgstr "" +#~ "Impossibile scrivere su \"%s\", impossibile installare il file metainfo." +#, c-format #~ msgid "" -#~ "AppStream data pool was loaded, but some metadata was ignored due to " -#~ "errors." +#~ "Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " +#~ "suffix." #~ msgstr "" -#~ "Insieme di dati AppStream caricato, ma alcuni metadati sono stati " -#~ "ignorati a causa di errori." - -#~ msgid "Can not search for unknown component type." -#~ msgstr "Impossibile cerare tipi di componenti sconosciuti." - -#, fuzzy -#~ msgid "Category of Education" -#~ msgstr "Educazione" - -#, fuzzy -#~ msgid "Category of Games" -#~ msgstr "Categorie" - -#, fuzzy -#~ msgid "Category of Office" -#~ msgstr "Categorie" - -#, fuzzy -#~ msgid "Category of Science" -#~ msgstr "Categorie" +#~ "Impossibile copiare «%s»: il file non ha un'estensione «.metainfo.xml» o " +#~ "«.appdata.xml»." -#~ msgid "Extensions" -#~ msgstr "Estensioni" +#~ msgid "An item type (e.g. lib, bin, python3, …)" +#~ msgstr "Un tipo di elemento (per esempio lib, bin, python3, …)" -#~ msgid "File %s not found or permission denied!" -#~ msgstr "File %s non trovato o permesso negato." +#~ msgid "Get components which provide the given item." +#~ msgstr "Ottiene i componenti che forniscono l'oggetto dato" -#~ msgid "No component providing '%s::%s' found." -#~ msgstr "Non è stato trovato alcun componente che fornisce \"%s::%s\"." +#, c-format +#~ msgid "Unknown command '%s'." +#~ msgstr "Comando \"%s\" sconosciuto." -#~ msgid "XDG Menu XML file '%s' is damaged." -#~ msgstr "Il file XML XDG Menu \"%s\" è danneggiato." +#~ msgid "Value of the item that should be found." +#~ msgstr "Valore dell'elemento da trovare." diff -Nru appstream-0.12.10/po/ja.po appstream-0.14.5/po/ja.po --- appstream-0.12.10/po/ja.po 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/po/ja.po 2021-08-28 20:15:28.000000000 +0000 @@ -3,14 +3,18 @@ # This file is distributed under the same license as the appstream package. # Translators: # Ooyama Yosiyuki , 2015 -# Ryo Nakano , 2019. +# Ryo Nakano , 2019, 2020, 2021. +# Grace Guo , 2020. +# Allan Nordhøy , 2020. +# Baka Gaijin , 2020. +# phlostically , 2021. msgid "" msgstr "" "Project-Id-Version: AppStream\n" "Report-Msgid-Bugs-To: appstream@lists.freedesktop.org\n" -"POT-Creation-Date: 2020-01-14 01:44+0100\n" -"PO-Revision-Date: 2019-08-14 22:42+0000\n" -"Last-Translator: Ryo Nakano \n" +"POT-Creation-Date: 2021-08-28 16:09+0200\n" +"PO-Revision-Date: 2021-03-22 04:29+0000\n" +"Last-Translator: phlostically \n" "Language-Team: Japanese \n" "Language: ja\n" @@ -18,1820 +22,2836 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 3.8-dev\n" +"X-Generator: Weblate 4.5.2-dev\n" -#: tools/appstream-cli.c:157 -#, c-format -msgid "'%s' command" -msgstr "'%s' コマンド" - -#: src/as-category.c:168 -msgctxt "Category of Graphics" -msgid "3D Graphics" -msgstr "3D グラフィックス" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:254 -msgid "" -"A 'requires' or 'recommends' item requires a value to denote a valid " -"relation." -msgstr "" - -#: src/as-validator-issue-tag.h:51 -msgid "" -"A tag must not be localized in metainfo files (upstream " -"metadata). Localize the individual paragraphs instead." -msgstr "" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:195 -msgid "" -"A screenshot must contain at least one image or video in order to be useful. " -"Please add an to it." -msgstr "" - -#: src/as-validator-issue-tag.h:200 -msgid "" -"A screenshot must contain either images or videos, but not both at the same " -"time. Please use this screenshot exclusively for either static images or for " -"videos." -msgstr "" - -#: src/as-category.c:123 -msgctxt "Category of Games" -msgid "Action" -msgstr "アクション" - -#. TRANSLATORS: this is the main category for Add-ons -#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor -#: src/as-category.c:320 tools/ascli-utils.c:398 -msgid "Add-ons" -msgstr "アドオン" - -#: src/as-category.c:126 -msgctxt "Category of Games" -msgid "Adventure" -msgstr "アドベンチャー" - -#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) -#: tools/appstream-cli.c:116 -msgid "Also show pedantic hints." -msgstr "詳細なヒントも表示します。" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:497 -msgid "" -"An 'extends' tag is specified, but the component is not of type 'addon', " -"'localization' or 'repository'." -msgstr "" - -#: tools/appstream-cli.c:850 -msgid "An item type (e.g. lib, bin, python3, …)" -msgstr "アイテムの種類 (例: lib、bin、python3 など)" +#: data/org.freedesktop.appstream.cli.metainfo.xml:8 +msgid "AppStream CLI" +msgstr "AppStream CLI" #: data/org.freedesktop.appstream.cli.metainfo.xml:9 msgid "An utility to work with AppStream metadata" msgstr "AppStream メタデータを使用して動作するユーティリティー" -#: data/org.freedesktop.appstream.cli.metainfo.xml:8 -msgid "AppStream CLI" -msgstr "AppStream CLI" - -#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. -#: tools/appstream-cli.c:947 -#, c-format +#: data/org.freedesktop.appstream.cli.metainfo.xml:12 msgid "" -"AppStream CLI tool version: %s\n" -"AppStream library version: %s" +"AppStream is a metadata specification which permits software components to " +"provide information about themselves to automated systems and end-users " +"before the software is actually installed. The AppStream project provides " +"facilities to easily access and transform this metadata, as well as a few " +"additional services for building feature-rich software centers and similar " +"applications that make use of software metadata." msgstr "" -"AppStream CLI ツール バージョン: %s\n" -"AppStream ライブラリ バージョン: %s" - -#. TRANSLATORS: In the status report of ascli: Header -#: tools/ascli-actions-misc.c:47 -msgid "AppStream Status:" -msgstr "AppStream の状態:" - -#. we performed a cache refresh -#. TRANSLATORS: Updating the metadata cache succeeded -#: tools/ascli-actions-mdata.c:80 -msgid "AppStream cache update completed successfully." -msgstr "AppStream キャッシュのアップデートは正しく完了しました。" - -#. cache wasn't updated, so the update wasn't necessary -#: tools/ascli-actions-mdata.c:86 -msgid "AppStream cache update is not necessary." -msgstr "AppStream キャッシュのアップデートは必要ではありません。" - -#. TRANSLATORS: This is the header to the --help menu for subcommands -#. TRANSLATORS: This is the header to the --help menu -#: tools/appstream-cli.c:154 tools/appstream-cli.c:843 -msgid "AppStream command-line interface" -msgstr "AppStream コマンドラインインターフェース" -#: src/as-validator-issue-tag.h:63 +#: data/org.freedesktop.appstream.cli.metainfo.xml:18 msgid "" -"AppStream descriptions support only a limited set of tags to format text: " -"Paragraphs (

                                                                                                                                                                                                                                ) and lists (

                                                                                                                                                                                                                                  ,
                                                                                                                                                                                                                                    ). This description markup contains " -"an invalid XML tag that would not be rendered correctly in applications " -"supporting the metainfo specification." +"The appstreamcli command-line tool allows to read, write, and " +"transform AppStream XML or YAML metadata as well as to validate it for " +"compliance with the specification. It also provides easy access to the " +"system metadata pool, for example to query for software that provides a " +"specific Mediatype handler or for installing software by its component " +"identifier." msgstr "" -#: data/org.freedesktop.appstream.cli.metainfo.xml:12 -msgid "" -"AppStream is a cross-distribution specification to provide metadata about " -"software components." -msgstr "" -"AppStream は、ソフトウェアコンポーネントに関するメタデータを提供するための、" -"ディストリビューション間で共通の仕様です。" +#: src/as-category.c:66 +msgctxt "Category of AudioVideo" +msgid "Featured" +msgstr "おすすめ" -#: src/as-pool.c:1937 -#, c-format -msgid "" -"AppStream system cache refresh failed. Turn on verbose mode to get detailed " -"issue information." -msgstr "" -"AppStream システムキャッシュの更新が失敗しました。問題のより詳細な情報を入手" -"するには、詳細モードをオンにしてください。" +#: src/as-category.c:69 +msgctxt "Category of AudioVideo" +msgid "Audio Creation & Editing" +msgstr "オーディオ制作と編集" -#. TRANSLATORS: Output if appstreamcli --version is executed. -#: tools/appstream-cli.c:944 -#, c-format -msgid "AppStream version: %s" -msgstr "AppStream バージョン: %s" +#: src/as-category.c:75 +msgctxt "Category of AudioVideo" +msgid "Music Players" +msgstr "音楽プレーヤー" -#: src/as-category.c:129 -msgctxt "Category of Games" -msgid "Arcade" -msgstr "" +#: src/as-category.c:84 +msgctxt "Category of Development" +msgid "Featured" +msgstr "おすすめ" -#: src/as-category.c:234 -msgctxt "Category of Science" -msgid "Artificial Intelligence" -msgstr "人工知能" +#: src/as-category.c:87 +msgctxt "Category of Development" +msgid "Debuggers" +msgstr "デバッガ" -#: src/as-validator-issue-tag.h:91 -msgid "" -"As per AppStream specification, the mentioned tag must only appear once in " -"this context. Having multiple tags of this kind is not valid." -msgstr "" +#: src/as-category.c:90 +msgctxt "Category of Development" +msgid "IDEs" +msgstr "統合開発環境" -#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command -#: tools/appstream-cli.c:766 -msgid "Assume the input file is in the selected format ('yaml' or 'text')." -msgstr "" +#: src/as-category.c:99 +msgctxt "Category of Education" +msgid "Featured" +msgstr "おすすめ" -#: src/as-category.c:101 +#: src/as-category.c:102 msgctxt "Category of Education" msgid "Astronomy" msgstr "天文学" -#: src/as-category.c:237 -msgctxt "Category of Science" -msgid "Astronomy" -msgstr "天文学" +#: src/as-category.c:105 +msgctxt "Category of Education" +msgid "Chemistry" +msgstr "化学" -#. TRANSLATORS: this is the menu spec main category for Audio & Video -#: src/as-category.c:302 -msgid "Audio & Video" -msgstr "オーディオとビデオ" +#: src/as-category.c:108 +msgctxt "Category of Education" +msgid "Languages" +msgstr "言語" -#: src/as-category.c:68 -msgctxt "Category of AudioVideo" -msgid "Audio Creation & Editing" -msgstr "オーディオ制作と編集" +#: src/as-category.c:112 +msgctxt "Category of Education" +msgid "Math" +msgstr "数学" -#: tools/ascli-actions-misc.c:219 -#, c-format -msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." -msgstr "" +#: src/as-category.c:121 +msgctxt "Category of Games" +msgid "Featured" +msgstr "おすすめ" -#: src/as-provided.c:146 -msgid "Binaries" -msgstr "バイナリ" +#: src/as-category.c:124 +msgctxt "Category of Games" +msgid "Action" +msgstr "アクション" + +#: src/as-category.c:127 +msgctxt "Category of Games" +msgid "Adventure" +msgstr "アドベンチャー" + +#: src/as-category.c:130 +msgctxt "Category of Games" +msgid "Arcade" +msgstr "アーケード" -#: src/as-category.c:132 +#: src/as-category.c:133 msgctxt "Category of Games" msgid "Blocks" msgstr "ブロック" -#: src/as-category.c:135 +#: src/as-category.c:136 msgctxt "Category of Games" msgid "Board" msgstr "ボード" -#: tools/ascli-utils.c:299 -msgid "Bundle" -msgstr "" - -#: src/as-pool.c:1828 -#, c-format -msgid "Cache location '%s' is not writable." -msgstr "キャッシュの場所 '%s' が書き込み可能ではありません。" - -#: src/as-category.c:191 -msgctxt "Category of Office" -msgid "Calendar" -msgstr "カレンダー" - -#: tools/ascli-actions-mdata.c:327 -#, c-format -msgid "" -"Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " -"suffix." -msgstr "" -"'%s' をコピーできません。ファイルの拡張子が '.metainfo.xml' または '.appdata." -"xml' ではありません。" - -#: src/as-category.c:138 +#: src/as-category.c:139 msgctxt "Category of Games" msgid "Card" msgstr "カード" -#: tools/ascli-utils.c:369 -msgid "Categories" -msgstr "カテゴリー" - -#: src/as-category.c:259 -msgctxt "Category of Communication" -msgid "Chat" -msgstr "チャット" +#: src/as-category.c:142 +msgctxt "Category of Games" +msgid "Emulators" +msgstr "エミュレータ" -#: src/as-category.c:104 -msgctxt "Category of Education" -msgid "Chemistry" -msgstr "化学" +#: src/as-category.c:145 +msgctxt "Category of Games" +msgid "Kids" +msgstr "子ども向け" -#: src/as-category.c:240 -msgctxt "Category of Science" -msgid "Chemistry" -msgstr "化学" +#: src/as-category.c:148 +msgctxt "Category of Games" +msgid "Logic" +msgstr "論理" -#: src/as-category.c:214 -msgctxt "Category of Addons" -msgid "Codecs" -msgstr "コーデック" +#: src/as-category.c:151 +msgctxt "Category of Games" +msgid "Role Playing" +msgstr "ロールプレイング" -#. TRANSLATORS: this is the menu spec main category for Communication -#: src/as-category.c:326 -msgid "Communication & News" -msgstr "コミュニケーションとニュース" +#: src/as-category.c:154 +msgctxt "Category of Games" +msgid "Sports" +msgstr "スポーツ" -#: tools/appstream-cli.c:866 -msgid "Compare two version numbers." -msgstr "2 つのバージョン番号を比較します。" +#: src/as-category.c:158 +msgctxt "Category of Games" +msgid "Strategy" +msgstr "戦略" -#: src/as-provided.c:166 -msgid "Component" -msgstr "コンポーネント" +#: src/as-category.c:166 +msgctxt "Category of Graphics" +msgid "Featured" +msgstr "おすすめ" -#. TRANSLATORS: We found no distribution package or bundle to install to make this software available -#: tools/ascli-actions-pkgmgr.c:106 -#, c-format -msgid "Component '%s' has no installation candidate." -msgstr "コンポーネント '%s' にはインストール候補がありません。" +#: src/as-category.c:169 +msgctxt "Category of Graphics" +msgid "3D Graphics" +msgstr "3D グラフィックス" -#: tools/ascli-utils.c:377 -msgid "Compulsory for" -msgstr "" +#: src/as-category.c:172 +msgctxt "Category of Graphics" +msgid "Photography" +msgstr "写真" -#: src/as-validator-issue-tag.h:361 -msgid "Consider using a secure (HTTPS) URL for the remote icon link." -msgstr "" +#: src/as-category.c:175 +msgctxt "Category of Graphics" +msgid "Scanning" +msgstr "スキャン" -#: src/as-validator-issue-tag.h:383 -msgid "Consider using a secure (HTTPS) URL for this web link." -msgstr "" +#: src/as-category.c:178 +msgctxt "Category of Graphics" +msgid "Vector Graphics" +msgstr "ベクターグラフィックス" -#: src/as-validator-issue-tag.h:189 -msgid "" -"Consider using a secure (HTTPS) URL to reference this screenshot image or " -"video." -msgstr "" +#: src/as-category.c:181 +msgctxt "Category of Graphics" +msgid "Viewers" +msgstr "ビューアー" -#: tools/appstream-cli.c:870 -msgid "Convert a YAML or text NEWS file into metainfo releases." -msgstr "" +#: src/as-category.c:189 +msgctxt "Category of Office" +msgid "Featured" +msgstr "おすすめ" -#. TRANSLATORS: "convert" command in ascli. "Collection XML" is a term describing a specific type of AppStream XML data. -#: tools/appstream-cli.c:865 -msgid "Convert collection XML to YAML or vice versa." -msgstr "" +#: src/as-category.c:192 +msgctxt "Category of Office" +msgid "Calendar" +msgstr "カレンダー" -#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results -#: tools/ascli-actions-mdata.c:228 -#, c-format -msgid "Could not find component providing '%s::%s'." -msgstr "" +#: src/as-category.c:196 +msgctxt "Category of Office" +msgid "Database" +msgstr "データベース" -#: tools/appstream-cli.c:869 -msgid "Create a XDG desktop-entry file from a metainfo file." -msgstr "" +#: src/as-category.c:199 +msgctxt "Category of Office" +msgid "Finance" +msgstr "ファイナンス" -#: tools/appstream-cli.c:868 -msgid "" -"Create a template for a metainfo file (to be filled out by the upstream " -"project)." -msgstr "" +#: src/as-category.c:203 +msgctxt "Category of Office" +msgid "Word Processor" +msgstr "ワードプロセッサー" -#: tools/ascli-actions-misc.c:228 -#, c-format -msgid "Creating new desktop-entry file '%s' using data from '%s'" -msgstr "" +#: src/as-category.c:212 +msgctxt "Category of Addons" +msgid "Fonts" +msgstr "フォント" -#: src/as-provided.c:160 -msgid "D-Bus Session Services" -msgstr "D-Bus セッションサービス" +#: src/as-category.c:215 +msgctxt "Category of Addons" +msgid "Codecs" +msgstr "コーデック" -#: src/as-provided.c:158 -msgid "D-Bus System Services" -msgstr "D-Bus システムサービス" +#: src/as-category.c:218 +msgctxt "Category of Addons" +msgid "Input Sources" +msgstr "入力ソース" -#: src/as-category.c:195 -msgctxt "Category of Office" -msgid "Database" -msgstr "データベース" +#: src/as-category.c:221 +msgctxt "Category of Addons" +msgid "Language Packs" +msgstr "言語パック" -#: src/as-category.c:86 -msgctxt "Category of Development" -msgid "Debuggers" -msgstr "デバッガ" +#: src/as-category.c:224 +msgctxt "Category of Addons" +msgid "Localization" +msgstr "ローカライゼーション" -#: tools/ascli-utils.c:353 -msgid "Default Screenshot URL" -msgstr "デフォルトのスクリーンショット URL" +#: src/as-category.c:232 +msgctxt "Category of Science" +msgid "Featured" +msgstr "おすすめ" -#. TRANSLATORS: ascli flag description for: --format -#: tools/appstream-cli.c:83 -msgid "Default metadata format (valid values are 'xml' and 'yaml')." -msgstr "デフォルトのメタデータファイル形式 (有効な値は 'xml' と 'yaml')。" +#: src/as-category.c:235 +msgctxt "Category of Science" +msgid "Artificial Intelligence" +msgstr "人工知能" -#: tools/ascli-utils.c:333 -msgid "Description" -msgstr "説明" +#: src/as-category.c:238 +msgctxt "Category of Science" +msgid "Astronomy" +msgstr "天文学" -#. developer name -#: tools/ascli-utils.c:321 -msgid "Developer" -msgstr "開発者" +#: src/as-category.c:241 +msgctxt "Category of Science" +msgid "Chemistry" +msgstr "化学" -#. TRANSLATORS: this is the menu spec main category for Development -#: src/as-category.c:305 -msgid "Developer Tools" -msgstr "開発者ツール" +#: src/as-category.c:244 +msgctxt "Category of Science" +msgid "Math" +msgstr "数学" -#: tools/appstream-cli.c:862 -msgid "Display status information about available AppStream metadata." -msgstr "利用可能な AppStream メタデータの状態情報を表示します。" +#: src/as-category.c:249 +msgctxt "Category of Science" +msgid "Robotics" +msgstr "ロボット工学" -#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions -#: tools/ascli-actions-misc.c:52 -msgid "Distribution metadata:" -msgstr "ディストリビューションメタデータ:" +#: src/as-category.c:257 +msgctxt "Category of Communication" +msgid "Featured" +msgstr "おすすめ" -#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) -#: tools/appstream-cli.c:126 -msgid "Do not use network access." -msgstr "ネットワークアクセスを使用しません。" +#: src/as-category.c:260 +msgctxt "Category of Communication" +msgid "Chat" +msgstr "チャット" -#. TRANSLATORS: ascli flag description for: --no-color -#: tools/appstream-cli.c:908 -msgid "Don't show colored output." -msgstr "カラーで出力を表示しません。" +#: src/as-category.c:267 +msgctxt "Category of Communication" +msgid "News" +msgstr "ニュース" -#: tools/appstream-cli.c:853 -msgid "Dump raw XML metadata for a component matching the ID." -msgstr "" +#: src/as-category.c:271 +msgctxt "Category of Communication" +msgid "Web Browsers" +msgstr "Web ブラウザー" + +#: src/as-category.c:279 +msgctxt "Category of Utility" +msgid "Featured" +msgstr "おすすめ" + +#: src/as-category.c:282 +msgctxt "Category of Utility" +msgid "Text Editors" +msgstr "テキストエディター" + +#: src/as-category.c:285 +msgctxt "Category of Utility" +msgid "Terminal Emulators" +msgstr "ターミナルエミュレーター" + +#: src/as-category.c:288 +msgctxt "Category of Utility" +msgid "File System" +msgstr "ファイルシステム" + +#: src/as-category.c:291 +msgctxt "Category of Utility" +msgid "System Monitoring" +msgstr "システム監視" + +#: src/as-category.c:294 +msgctxt "Category of Utility" +msgid "Security" +msgstr "セキュリティ" + +#. TRANSLATORS: this is the menu spec main category for Audio & Video +#: src/as-category.c:303 +msgid "Audio & Video" +msgstr "オーディオとビデオ" + +#. TRANSLATORS: this is the menu spec main category for Development +#: src/as-category.c:306 +msgid "Developer Tools" +msgstr "開発者ツール" #. TRANSLATORS: this is the menu spec main category for Education -#: src/as-category.c:308 +#: src/as-category.c:309 msgid "Education" msgstr "教育" -#. TRANSLATORS: No metainfo files have been found -#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 -msgid "Empty." -msgstr "空です。" +#. TRANSLATORS: this is the menu spec main category for Game +#: src/as-category.c:312 +msgid "Games" +msgstr "ゲーム" -#: src/as-category.c:141 -msgctxt "Category of Games" -msgid "Emulators" -msgstr "エミュレータ" +#. TRANSLATORS: this is the menu spec main category for Graphics +#: src/as-category.c:315 +msgid "Graphics & Photography" +msgstr "グラフィックスと写真" -#. TRANSLATORS: ascli flag description for: --force -#: tools/appstream-cli.c:245 -msgid "Enforce a cache refresh." -msgstr "強制的にキャッシュを更新します。" +#. TRANSLATORS: this is the menu spec main category for Office +#: src/as-category.c:318 +msgid "Office" +msgstr "Office" -#: src/as-validator-issue-tag.h:74 -msgid "Enumerations must only have list items (
                                                                                                                                                                                                                                  1. ) as children." -msgstr "" +#. TRANSLATORS: this is the main category for Add-ons +#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor +#: src/as-category.c:321 tools/ascli-utils.c:371 +msgid "Add-ons" +msgstr "アドオン" -#: tools/ascli-actions-misc.c:159 +#. TRANSLATORS: this is the menu spec main category for Science +#: src/as-category.c:324 +msgid "Science" +msgstr "科学" + +#. TRANSLATORS: this is the menu spec main category for Communication +#: src/as-category.c:327 +msgid "Communication & News" +msgstr "コミュニケーションとニュース" + +#. TRANSLATORS: this is the menu spec main category for Utilities +#: src/as-category.c:330 +msgid "Utilities" +msgstr "ユーティリティー" + +#. TRANSLATORS: This is the formatting of English and localized name +#. * of the rating e.g. "Adults Only (solo adultos)" +#: src/as-content-rating.c:298 #, c-format -msgid "Error while loading the metadata pool: %s" -msgstr "メタデータプールの読み込み中にエラーが発生しました: %s" +msgid "%s (%s)" +msgstr "" -#: tools/ascli-utils.c:327 -msgid "Extends" -msgstr "拡張" +#: src/as-content-rating.c:444 +msgid "General" +msgstr "" -#: src/as-category.c:65 -msgctxt "Category of AudioVideo" -msgid "Featured" -msgstr "おすすめ" +#: src/as-content-rating.c:453 +msgid "ALL" +msgstr "すべて" -#: src/as-category.c:256 -msgctxt "Category of Communication" -msgid "Featured" -msgstr "おすすめ" +#: src/as-content-rating.c:457 src/as-content-rating.c:560 +msgid "Adults Only" +msgstr "R18+" -#: src/as-category.c:83 -msgctxt "Category of Development" -msgid "Featured" -msgstr "おすすめ" +#: src/as-content-rating.c:459 src/as-content-rating.c:559 +msgid "Mature" +msgstr "成人向け" -#: src/as-category.c:98 -msgctxt "Category of Education" -msgid "Featured" -msgstr "おすすめ" +#: src/as-content-rating.c:461 src/as-content-rating.c:558 +msgid "Teen" +msgstr "" -#: src/as-category.c:120 -msgctxt "Category of Games" -msgid "Featured" -msgstr "おすすめ" +#: src/as-content-rating.c:463 src/as-content-rating.c:557 +msgid "Everyone 10+" +msgstr "" -#: src/as-category.c:165 -msgctxt "Category of Graphics" -msgid "Featured" -msgstr "おすすめ" +#: src/as-content-rating.c:465 src/as-content-rating.c:556 +msgid "Everyone" +msgstr "" -#: src/as-category.c:188 -msgctxt "Category of Office" -msgid "Featured" -msgstr "おすすめ" +#: src/as-content-rating.c:467 src/as-content-rating.c:555 +msgid "Early Childhood" +msgstr "" -#: src/as-category.c:231 -msgctxt "Category of Science" -msgid "Featured" -msgstr "おすすめ" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:839 +msgid "No cartoon violence" +msgstr "" -#: src/as-category.c:278 -msgctxt "Category of Utility" -msgid "Featured" -msgstr "おすすめ" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:841 +msgid "Cartoon characters in unsafe situations" +msgstr "危険な状況下の人物が挿絵に登場します" -#: tools/ascli-actions-validate.c:171 tools/ascli-actions-validate.c:349 -#, c-format -msgid "File '%s' does not exist." -msgstr "ファイル '%s' は存在しません。" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:843 +msgid "Cartoon characters in aggressive conflict" +msgstr "攻撃的な人物が挿絵に登場します" -#: src/as-category.c:287 -msgctxt "Category of Utility" -msgid "File System" -msgstr "ファイルシステム" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:845 +msgid "Graphic violence involving cartoon characters" +msgstr "" -#: src/as-category.c:198 -msgctxt "Category of Office" -msgid "Finance" -msgstr "ファイナンス" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:850 +msgid "No fantasy violence" +msgstr "" -#: src/as-provided.c:164 -msgid "Flashed Firmware" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:852 +msgid "Characters in unsafe situations easily distinguishable from reality" +msgstr "フィクションだと容易に判定できる危険な状況下の人物が登場します" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:854 +msgid "Characters in aggressive conflict easily distinguishable from reality" +msgstr "フィクションだと容易に判定できる攻撃的な人物が登場します" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:856 +msgid "Graphic violence easily distinguishable from reality" msgstr "" -#: src/as-provided.c:150 -msgid "Fonts" -msgstr "フォント" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:861 +msgid "No realistic violence" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:863 +msgid "Mildly realistic characters in unsafe situations" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:865 +msgid "Depictions of realistic characters in aggressive conflict" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:867 +msgid "Graphic violence involving realistic characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:872 +msgid "No bloodshed" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:874 +msgid "Unrealistic bloodshed" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:876 +msgid "Realistic bloodshed" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:878 +msgid "Depictions of bloodshed and the mutilation of body parts" +msgstr "流血している切断された体の一部の描写があります" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:883 +msgid "No sexual violence" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:885 +msgid "Rape or other violent sexual behavior" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:892 +msgid "No references to alcohol" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:894 +msgid "References to alcoholic beverages" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:896 +msgid "Use of alcoholic beverages" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:902 +msgid "No references to illicit drugs" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:904 +msgid "References to illicit drugs" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:906 +msgid "Use of illicit drugs" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:912 +msgid "No references to tobacco products" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:914 +msgid "References to tobacco products" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:916 +msgid "Use of tobacco products" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:922 +msgid "No nudity of any sort" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:924 +msgid "Brief artistic nudity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:926 +msgid "Prolonged nudity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:932 +msgid "No references to or depictions of sexual nature" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:934 +msgid "Provocative references or depictions" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:936 +msgid "Sexual references or depictions" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:938 +msgid "Graphic sexual behavior" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:943 +msgid "No profanity of any kind" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:945 +msgid "Mild or infrequent use of profanity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:947 +msgid "Moderate use of profanity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:949 +msgid "Strong or frequent use of profanity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:954 +msgid "No inappropriate humor" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:956 +msgid "Slapstick humor" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:958 +msgid "Vulgar or bathroom humor" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:960 +msgid "Mature or sexual humor" +msgstr "成人向けの下品な話題" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:965 +msgid "No discriminatory language of any kind" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:967 +msgid "Negativity towards a specific group of people" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:969 +msgid "Discrimination designed to cause emotional harm" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:971 +msgid "Explicit discrimination based on gender, sexuality, race or religion" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:976 +msgid "No advertising of any kind" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:978 +msgid "Product placement" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:980 +msgid "Explicit references to specific brands or trademarked products" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:982 +msgid "Users are encouraged to purchase specific real-world items" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:987 +msgid "No gambling of any kind" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:989 +msgid "Gambling on random events using tokens or credits" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:991 +msgid "Gambling using “play” money" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:993 +msgid "Gambling using real money" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:998 +msgid "No ability to spend money" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1000 +msgid "Users are encouraged to donate real money" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1003 +msgid "Ability to spend real money in-app" +msgstr "アプリ内課金あり" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1008 +msgid "No way to chat with other users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1010 +msgid "User-to-user interactions without chat functionality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1012 +msgid "Moderated chat functionality between users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1014 +msgid "Uncontrolled chat functionality between users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1019 +msgid "No way to talk with other users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1021 +msgid "Uncontrolled audio or video chat functionality between users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1028 +msgid "No sharing of social network usernames or email addresses" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1030 +msgid "Sharing social network usernames or email addresses" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1037 +msgid "No sharing of user information with third parties" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1039 +msgid "Checking for the latest application version" +msgstr "最新のアプリケーション バージョンを確認する" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1041 +msgid "Sharing diagnostic data that does not let others identify the user" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1043 +msgid "Sharing information that lets others identify the user" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1048 +msgid "No sharing of physical location with other users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1050 +msgid "Sharing physical location with other users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1073 +msgid "No references to homosexuality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1075 +msgid "Indirect references to homosexuality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1077 +msgid "Kissing between people of the same gender" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1079 +msgid "Graphic sexual behavior between people of the same gender" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1084 +msgid "No references to prostitution" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1086 +msgid "Indirect references to prostitution" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1088 +msgid "Direct references to prostitution" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1090 +msgid "Graphic depictions of the act of prostitution" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1095 +msgid "No references to adultery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1097 +msgid "Indirect references to adultery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1099 +msgid "Direct references to adultery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1101 +msgid "Graphic depictions of the act of adultery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1106 +msgid "No sexualized characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1109 +msgid "Scantily clad human characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1111 +msgid "Overtly sexualized human characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1116 +msgid "No references to desecration" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1118 +msgid "Depictions of or references to historical desecration" +msgstr "過去の人間性の冒涜にあたる描写があります" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1120 +msgid "Depictions of modern-day human desecration" +msgstr "人間性の冒涜にあたる描写があります" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1122 +msgid "Graphic depictions of modern-day desecration" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1127 +msgid "No visible dead human remains" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1129 +msgid "Visible dead human remains" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1131 +msgid "Dead human remains that are exposed to the elements" +msgstr "主要部に死体が表示されます" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1133 +msgid "Graphic depictions of desecration of human bodies" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1138 +msgid "No references to slavery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1140 +msgid "Depictions of or references to historical slavery" +msgstr "過去の奴隷制に関する描写があります" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1142 +msgid "Depictions of modern-day slavery" +msgstr "奴隷制に関する描写があります" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1144 +msgid "Graphic depictions of modern-day slavery" +msgstr "" + +#. TRANSLATORS: We got a 429 error while trying to download data +#: src/as-curl.c:134 +#, c-format +msgid "Failed to download due to server limit" +msgstr "" + +#: src/as-curl.c:141 src/as-curl.c:148 +#, fuzzy, c-format +msgid "Failed to download file: %s" +msgstr "デスクトップエントリファイルを保存できません: %s" + +#. TRANSLATORS: We tried to download an URL, but received a 404 error code +#: src/as-curl.c:157 +#, c-format +msgid "URL was not found on the server." +msgstr "" + +#. TRANSLATORS: We received an uexpected HTTP status code while talking to a server, likely an error +#: src/as-curl.c:164 +#, c-format +msgid "Unexpected status code: %ld" +msgstr "" + +#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty +#: src/as-curl.c:247 +#, c-format +msgid "Retrieved file size was zero." +msgstr "取得したファイルサイズはゼロでした。" + +#. TRANSLATORS: List of "grey-listed" words sperated with ";" +#. * Do not translate this list directly. Instead, +#. * provide a list of words in your language that people are likely +#. * to include in a search but that should normally be ignored in +#. * the search. +#. +#: src/as-pool.c:111 +msgid "app;application;package;program;programme;suite;tool" +msgstr "" +"app;application;package;program;programme;suite;tool;アプリ;アプリケーション;" +"パッケージ;プログラム;スイート;ツール" + +#: src/as-pool.c:620 +msgid "Unable to remove old cache." +msgstr "" + +#: src/as-pool.c:963 +msgid "Metadata files have errors:" +msgstr "メタデータファイルにエラーがあります:" + +#: src/as-pool.c:1370 +msgid "" +"Many components have been recognized as invalid. See debug output for " +"details." +msgstr "" +"多くのコンポーネントが無効と認識されています。詳細については、デバッグ出力を" +"参照してください。" + +#: src/as-pool.c:1996 +#, c-format +msgid "Cache location '%s' is not writable." +msgstr "キャッシュの場所 '%s' が書き込み可能ではありません。" + +#: src/as-pool.c:2109 +msgid "" +"The AppStream system cache was updated, but some components were ignored. " +"Refer to the verbose log for more information." +msgstr "" +"AppStreamシステムキャッシュは更新されましたが、一部のコンポーネントは無視され" +"ました。詳細については、詳細ログを参照してください。" + +#: src/as-pool.c:2111 +#, c-format +msgid "" +"The AppStream system cache was updated, but problems were found which " +"resulted in metadata being ignored: %s" +msgstr "" +"AppStream システムキャッシュをアップデートしましたが、問題が見つかったため、" +"メタデータ内の結果を無視しました: %s" + +#: src/as-pool.c:2125 +#, c-format +msgid "" +"AppStream system cache refresh failed. Turn on verbose mode to get detailed " +"issue information." +msgstr "" +"AppStream システムキャッシュの更新が失敗しました。問題のより詳細な情報を入手" +"するには、詳細モードをオンにしてください。" + +#: src/as-provided.c:144 +msgid "Libraries" +msgstr "ライブラリ" + +#: src/as-provided.c:146 +msgid "Binaries" +msgstr "バイナリ" + +#: src/as-provided.c:148 +msgid "Media types" +msgstr "メディアタイプ" + +#: src/as-provided.c:150 +msgid "Fonts" +msgstr "フォント" + +#: src/as-provided.c:152 +msgid "Modaliases" +msgstr "モダリア" + +#: src/as-provided.c:154 +msgid "Python (Version 2)" +msgstr "Python (バージョン 2)" + +#: src/as-provided.c:156 +msgid "Python 3" +msgstr "Python 3" + +#: src/as-provided.c:158 +msgid "D-Bus System Services" +msgstr "D-Bus システムサービス" + +#: src/as-provided.c:160 +msgid "D-Bus Session Services" +msgstr "D-Bus セッションサービス" + +#: src/as-provided.c:162 +msgid "Runtime Firmware" +msgstr "ランタイムファームウェア" + +#: src/as-provided.c:164 +msgid "Flashed Firmware" +msgstr "フラッシュされたファームウェア" + +#: src/as-provided.c:166 +msgid "Component" +msgstr "コンポーネント" + +#: src/as-validator-issue-tag.h:41 +msgid "This tag requires a type property." +msgstr "" + +#: src/as-validator-issue-tag.h:46 +msgid "Tags of this name are not permitted in this section." +msgstr "このセクションでは、この名前のタグは許可されていません。" + +#: src/as-validator-issue-tag.h:51 +msgid "" +"A tag must not be localized in metainfo files (upstream " +"metadata). Localize the individual paragraphs instead." +msgstr "" +"タグは、メタ情報ファイル(アップストリームメタデータ)でローカ" +"ライズしないでください。代わりに、個々の段落をローカライズします。" + +#: src/as-validator-issue-tag.h:57 +msgid "" +"This element (paragraph, list, etc.) of a tag must not be " +"localized individually in collection metadata. Localize the whole " +" tag instead. The AppStream collection metadata generator (e." +"g. `appstream-generator`) will already do the right thing when compiling the " +"data." +msgstr "" + +#: src/as-validator-issue-tag.h:63 +msgid "" +"AppStream descriptions support only a limited set of tags to format text: " +"Paragraphs (

                                                                                                                                                                                                                                    ) and lists (

                                                                                                                                                                                                                                      ,
                                                                                                                                                                                                                                        ). This description markup contains " +"an invalid XML tag that would not be rendered correctly in applications " +"supporting the metainfo specification." +msgstr "" +"AppStreamの説明は、テキスト(Paragraphs(

                                                                                                                                                                                                                                        )およびList(

                                                                                                                                                                                                                                            )" +"をフォーマットするための限られたタグのみをサポートします。この説明のマーク" +"アップには、メタ情報仕様をサポートするアプリケーションで正しくレンダリングさ" +"れない無効なXMLタグが含まれています。" + +#: src/as-validator-issue-tag.h:69 +msgid "" +"This description paragraph contains invalid markup. Currently, only " +"and are permitted." +msgstr "" + +#: src/as-validator-issue-tag.h:74 +msgid "Enumerations must only have list items (
                                                                                                                                                                                                                                          1. ) as children." +msgstr "列挙子には子要素としてリスト項目(
                                                                                                                                                                                                                                          2. )があります。" + +#: src/as-validator-issue-tag.h:79 +msgid "" +"The first `description/p` paragraph of this component might be too short (< " +"80 characters). Please consider starting with a longer paragraph to improve " +"how the description looks like in software centers and to provide more " +"detailed information on this component immediately in the first paragraph." +msgstr "" + +#: src/as-validator-issue-tag.h:86 +msgid "" +"The description contains a web URL in plain text. This is not allowed, " +"please use the tag instead to share links." +msgstr "" + +#: src/as-validator-issue-tag.h:91 +msgid "" +"As per AppStream specification, the mentioned tag must only appear once in " +"this context. Having multiple tags of this kind is not valid." +msgstr "" +"AppStream仕様に従って、言及されたタグはこのコンテキストで1回だけで表示されま" +"す。この種のタグを複数持つことは無効です。" + +#: src/as-validator-issue-tag.h:96 +msgid "" +"The mentioned tag is empty, which is highly likely not intended as it should " +"have content." +msgstr "" + +#: src/as-validator-issue-tag.h:101 +msgid "" +"The component ID is required to follow a reverse domain-name scheme for its " +"name. See the AppStream specification for details." +msgstr "" + +#: src/as-validator-issue-tag.h:106 +msgid "" +"The component ID is not a reverse domain-name. Please update the ID to avoid " +"future issues and be compatible with all AppStream implementations.\n" +"You may also consider to update the name of the accompanying .desktop file " +"to follow the latest version of the Desktop-Entry specification and use a " +"rDNS name for it as well. In any case, do not forget to mention the new " +"desktop-entry in a tag for this component to keep the " +"application launchable from software centers and the .desktop file data " +"associated with the metainfo data." +msgstr "" + +#: src/as-validator-issue-tag.h:114 +msgid "" +"The component ID might not follow the reverse domain-name schema (the TLD " +"used by it is not known to the validator)." +msgstr "" + +#: src/as-validator-issue-tag.h:119 +msgid "" +"The component ID contains an invalid character. Only ASCII characters, dots " +"and numbers are permitted." +msgstr "" + +#: src/as-validator-issue-tag.h:124 +msgid "" +"The component ID contains a hyphen/minus. Using a hyphen is strongly " +"discouraged, to improve interoperability with other tools such as D-Bus. A " +"good option is to replace any hyphens with underscores (`_`)." +msgstr "" + +#: src/as-validator-issue-tag.h:130 +msgid "" +"The component ID contains a segment starting with a number. Starting a " +"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " +"interoperability with other tools such as D-Bus. Ideally, prefix these " +"segments with an underscore." +msgstr "" + +#: src/as-validator-issue-tag.h:136 +msgid "The component ID should only contain lowercase letters." +msgstr "" + +#: src/as-validator-issue-tag.h:141 +msgid "" +"The component is part of the Freedesktop project, but its ID does not start " +"with fd.o's reverse-DNS name (\"org.freedesktop\")." +msgstr "" + +#: src/as-validator-issue-tag.h:146 +msgid "" +"The component is part of the KDE project, but its ID does not start with " +"KDEs reverse-DNS name (\"org.kde\")." +msgstr "" + +#: src/as-validator-issue-tag.h:151 +msgid "" +"The component is part of the GNOME project, but its ID does not start with " +"GNOMEs reverse-DNS name (\"org.gnome\")." +msgstr "" + +#: src/as-validator-issue-tag.h:156 +msgid "The SPDX license expression is invalid and could not be parsed." +msgstr "SPDXライセンス式が無効であり、解析できませんでした。" + +#: src/as-validator-issue-tag.h:161 +msgid "" +"The license ID was not found in the SPDX database. Please check that the " +"license ID is written in an SPDX-conformant way and is a valid free software " +"license." +msgstr "" + +#: src/as-validator-issue-tag.h:167 +msgid "" +"The metadata itself seems to be licensed under a complex collection of " +"licenses. Please license the data under a simple permissive license, like " +"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " +"collections without the risk of license violations due to mutually " +"incompatible licenses." +msgstr "" + +#: src/as-validator-issue-tag.h:173 +msgid "" +"The metadata itself does not seem to be licensed under a permissive license. " +"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " +"0BSD to allow distributors to include it in mixed data collections without " +"the risk of license violations due to mutually incompatible licenses." +msgstr "" + +#: src/as-validator-issue-tag.h:179 +msgid "" +"The update-contact does not appear to be a valid email address (escaping of " +"`@` is only allowed as `_at_` or `_AT_`)." +msgstr "" + +#: src/as-validator-issue-tag.h:184 +msgid "" +"Unable to reach the screenshot image on its remote location - does the image " +"exist?" +msgstr "" + +#: src/as-validator-issue-tag.h:189 +msgid "" +"Unable to reach the screenshot video on its remote location - does the video " +"file exist?" +msgstr "" + +#: src/as-validator-issue-tag.h:194 +msgid "" +"Consider using a secure (HTTPS) URL to reference this screenshot image or " +"video." +msgstr "" +"安全な(HTTPS)URLを使用して、このスクリーンショット画像またはビデオを参照す" +"ることを検討してください。" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:200 +msgid "" +"A screenshot must contain at least one image or video in order to be useful. " +"Please add an to it." +msgstr "" +"スクリーンショットには、少なくとも1つの画像またはビデオが含まれている必要があ" +"ります。 を追加してください。" + +#: src/as-validator-issue-tag.h:205 +msgid "" +"A screenshot must contain either images or videos, but not both at the same " +"time. Please use this screenshot exclusively for either static images or for " +"videos." +msgstr "" +"スクリーンショットには画像または動画のいずれかを含める必要がありますが、両方" +"を同時に含めることはできません。このスクリーンショットは、静止画像または動画" +"専用に使用してください。" + +#: src/as-validator-issue-tag.h:211 +msgid "The screenshot does not have a caption text. Consider adding one." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:217 +msgid "" +"The screenshot video does not specify which video codec was used in a " +"`codec` property." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:223 +msgid "" +"The screenshot video does not specify which container format was used in a " +"`container` property." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:229 +msgid "" +"The selected video codec is not supported by AppStream and software centers " +"may not be able to play the video. Only the AV1 and VP9 codecs are currently " +"supported, using `av1` and `vp9` as values for the `codec` property." +msgstr "" -#: src/as-category.c:211 -msgctxt "Category of Addons" -msgid "Fonts" -msgstr "フォント" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:236 +msgid "" +"The selected video container format is not supported by AppStream and " +"software centers may not be able to play the video. Only the WebM and " +"Matroska video containers are currently supported, using `webm` and `mkv` as " +"values for the `container` property." +msgstr "" -#: src/as-validator-issue-tag.h:237 +#: src/as-validator-issue-tag.h:242 msgid "" "For videos, only the WebM and Matroska (.mkv) container formats are " "currently supported. The file extension of the referenced video does not " "belong to either of these formats." msgstr "" +"ビデオの場合、現在サポートされているのはWebMおよびMatroska(.mkv)コンテナ形" +"式のみです。参照されるビデオのファイル拡張子は、これらの形式のいずれにも属し" +"ていません。" -#. TRANSLATORS: ascli flag description for: --format when validating XML files -#: tools/appstream-cli.c:131 -#, fuzzy -msgid "Format of the generated report (valid values are 'text' and 'yaml')." -msgstr "デフォルトのメタデータファイル形式 (有効な値は 'xml' と 'yaml')。" +#: src/as-validator-issue-tag.h:248 +msgid "" +"The default screenshot of a software component must not be a video. Use a " +"static image as default screenshot and set the video as a secondary " +"screenshot." +msgstr "" -#. TRANSLATORS: Found metainfo files in legacy directories -#: tools/ascli-actions-misc.c:138 -#, c-format -msgid "Found %i components in legacy paths." +#: src/as-validator-issue-tag.h:253 +msgid "" +"Found an unknown tag in a requires/recommends group. This is likely an " +"error, because a component relation of this type is unknown." msgstr "" +"requires / recommendsグループに不明なタグが見つかりました。このタイプのコン" +"ポーネント関係は不明であるため、これはおそらくエラーです。" -#: tools/ascli-actions-misc.c:123 -#, c-format -msgid "Found %i components." -msgstr "%i 個のコンポーネントが見つかりました。" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:259 +msgid "" +"A `requires` or `recommends` item requires a value to denote a valid " +"relation." +msgstr "" +"「requires」または「recommends」項目には、有効な関係を示す値が必要です。" -#. TRANSLATORS: 'version' is an AppStream XML property. Please do not translate it. -#: src/as-validator-issue-tag.h:260 +#. TRANSLATORS: `version` is an AppStream XML property. Please do not translate it. +#: src/as-validator-issue-tag.h:265 msgid "" -"Found 'version' property on required/recommended item of a type that should " +"Found `version` property on required/recommended item of a type that should " "not have or require a version." msgstr "" +"バージョンを持たない、または必要としないタイプの必須/推奨アイテムに「バージョ" +"ン」プロパティが見つかりました。" -#. TRANSLATORS: 'version' and 'compare' are AppStream XML properties. Please do not translate them. -#: src/as-validator-issue-tag.h:266 +#. TRANSLATORS: `version` and `compare` are AppStream XML properties. Please do not translate them. +#: src/as-validator-issue-tag.h:271 msgid "" -"Found 'version' property on this required/recommended item, but not " -"'compare' property. It is recommended to explicitly define a comparison " +"Found `version` property on this required/recommended item, but not " +"`compare` property. It is recommended to explicitly define a comparison " "operation." msgstr "" +"この必須/推奨アイテムに「バージョン」プロパティが見つかりましたが、「比較」プ" +"ロパティは見つかりませんでした。比較操作を明示的に定義することをお勧めです。" + +#: src/as-validator-issue-tag.h:276 +#, fuzzy +msgid "" +"Invalid comparison operation on relation item. Only eq/ne/lt/gt/le/ge are " +"permitted." +msgstr "" +"関係アイテムのバージョン比較操作が無効です。 eq / ne / lt / gt / le / geのみ" +"が許可されます。" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:277 +#: src/as-validator-issue-tag.h:281 msgid "" -"Found a memory size dependency in a 'requires' tag. This means users will " -"not be able to even install the component without having enough RAM. This is " -"usually not intended and you want to use 'memory' in the 'recommends' tag " +"The relation item has a comparison operation set, but does not support any " +"comparisons." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:287 +msgid "" +"Found a memory size relation in a `requires` tag. This means users will not " +"be able to even install the component without having enough RAM. This is " +"usually not intended and you want to use `memory` in the `recommends` tag " "instead." msgstr "" +"`requires`タグにメモリサイズの関係が見つかりました。つまり、ユーザーは十分な" +"RAMがないとコンポーネントをインストールすることさえできません。これは通常意図" +"されたものではなく、代わりに `recommends`タグで` memory`を使用したいです。" -#: src/as-validator-issue-tag.h:248 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:294 msgid "" -"Found an unknown tag in a requires/recommends group. This is likely an " -"error, because a component relation of this type is unknown." +"Found a user input control relation in a `requires` tag. This means users " +"will not be able to even install the component without having the defined " +"input control available on the system. This is usually not intended and you " +"want to use `control` in the `recommends` tag instead." msgstr "" +"`requires`タグにユーザー入力制御関係が見つかりました。つまり、ユーザーは、シ" +"ステムで定義された入力コントロールを使用できないと、コンポーネントをインス" +"トールすることさえできません。これは通常意図されたものではなく、代わりに " +"`recommends`タグで` control`を使用したいです。" -#: src/as-validator-issue-tag.h:427 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:301 msgid "" -"Found invalid tag. Non-standard tags should be prefixed with 'x-'. AppStream " -"also provides the tag to add arbitrary custom data to metainfo " -"files. This tag is read by AppStream libraries and may be useful instead of " -"defining new custom toplevel or 'x-'-prefixed tags if you just want to add " -"custom data to a metainfo file." +"This `control` item defines an unknown input method and is invalid. Check " +"the specification for a list of permitted values." msgstr "" -#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. -#: src/as-validator.c:526 src/as-validator.c:939 src/as-validator.c:1024 -#: src/as-validator.c:1237 -#, c-format -msgid "Found: %s - Allowed: %s" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:307 +msgid "" +"This `display_length` item contains an invalid display length. Its value " +"must either be a shorthand string, or positive integer value denoting " +"logical pixels. Please refer to the AppStream specification for more " +"information on this tag." msgstr "" -#. TRANSLATORS: this is the menu spec main category for Game -#: src/as-category.c:311 -msgid "Games" -msgstr "ゲーム" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:314 +msgid "" +"This `side` property of this `display_length` item contains an invalid " +"value. It must either be `shortest` or `longest`, or unset to imply " +"`shortest` to make the item value refer to either the shortest or longest " +"side of the display." +msgstr "" -#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command -#: tools/appstream-cli.c:814 -msgid "Generate the output in the selected format ('yaml' or 'text')." +#: src/as-validator-issue-tag.h:320 +msgid "" +"The set component type is not a recognized, valid AppStream component type." +msgstr "" + +#: src/as-validator-issue-tag.h:325 +msgid "" +"The component has a priority value set. This is not allowed in metainfo " +"files." msgstr "" -#: tools/appstream-cli.c:849 -msgid "Get components which provide the given item." +#: src/as-validator-issue-tag.h:330 +msgid "" +"The component has a `merge` method defined. This is not allowed in metainfo " +"files." msgstr "" -#: tools/appstream-cli.c:848 -msgid "Get information about a component by its ID." +#: src/as-validator-issue-tag.h:335 +msgid "The component is missing an ID ( tag)." msgstr "" -#. TRANSLATORS: this is the menu spec main category for Graphics -#: src/as-category.c:314 -msgid "Graphics & Photography" -msgstr "グラフィックスと写真" +#: src/as-validator-issue-tag.h:340 +msgid "The component is missing a name ( tag)." +msgstr "" -#: tools/ascli-utils.c:300 -msgid "Homepage" -msgstr "ホームページ" +#: src/as-validator-issue-tag.h:345 +msgid "The component is missing a summary ( tag)." +msgstr "" -#: src/as-category.c:89 -msgctxt "Category of Development" -msgid "IDEs" -msgstr "統合開発環境" +#: src/as-validator-issue-tag.h:350 +msgid "" +"The tag still contains a `type` property, probably from an old " +"conversion to the recent metainfo format." +msgstr "" +"タグには、おそらく古いコンバージョンから最近のメタ情報形式への `type`プ" +"ロパティがまだ含まれています。" -#: tools/ascli-utils.c:301 -msgid "Icon" -msgstr "アイコン" +#: src/as-validator-issue-tag.h:355 +msgid "" +"The `pkgname` tag appears multiple times. You should evaluate creating a " +"metapackage containing the metainfo and .desktop files in order to avoid " +"defining multiple package names per component." +msgstr "" +"`pkgname`タグは複数回現れます。コンポーネントごとに複数のパッケージ名を定義し" +"ないようにするために、メタインフォファイルと.desktopファイルを含むメタパッ" +"ケージの作成を評価する必要があります。" + +#: src/as-validator-issue-tag.h:360 +msgid "The component name should (likely) not end with a dot (`.`)." +msgstr "" + +#: src/as-validator-issue-tag.h:365 +msgid "The component summary should not end with a dot (`.`)." +msgstr "" + +#: src/as-validator-issue-tag.h:370 +msgid "The component summary must not contain tabs or linebreaks." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:351 -msgid "Icons of type 'remote' must contain an URL to the referenced icon." +#: src/as-validator-issue-tag.h:375 +msgid "The summary must not contain any URL. Use the tags for links." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:344 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:381 msgid "" -"Icons of type 'stock' or 'cached' must not contain an URL, a full or an " +"Icons of type `stock` or `cached` must not contain an URL, a full or an " "relative path to the icon. Only file basenames or stock names are allowed." msgstr "" +"タイプが「stock」または「cached」のアイコンには、URL、アイコンへのフルパスま" +"たは相対パスを含めることはできません。 ファイルのベース名またはストック名のみ" +"が許可されます。" -#: tools/ascli-actions-misc.c:94 -msgid "Iconsets" -msgstr "アイコンセット" - -#: tools/ascli-utils.c:295 -msgid "Identifier" -msgstr "識別子" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:388 +msgid "Icons of type `remote` must contain an URL to the referenced icon." +msgstr "" +"「リモート」タイプのアイコンには、参照アイコンへのURLが含まれている必要があり" +"ます。" -#: src/as-category.c:217 -msgctxt "Category of Addons" -msgid "Input Sources" -msgstr "入力ソース" +#: src/as-validator-issue-tag.h:393 +msgid "Unable to reach remote icon at the given web location - does it exist?" +msgstr "" -#: tools/appstream-cli.c:863 -msgid "Install a metadata file into the right location." -msgstr "メタデータファイルを正しい場所にインストールします。" +#: src/as-validator-issue-tag.h:398 +msgid "Consider using a secure (HTTPS) URL for the remote icon link." +msgstr "" +"リモートアイコンリンクに安全な(HTTPS)URLを使用することを検討してください。" -#: tools/appstream-cli.c:859 -msgid "Install software matching the component-ID." -msgstr "コンポーネント ID に一致するソフトウェアをインストールします。" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:404 +msgid "" +"Metainfo files may only contain icons of type `stock` or `remote`, the set " +"type is not allowed." +msgstr "" +"メタインフォファイルには、タイプが「stock」または「remote」のアイコンのみが含" +"まれる場合があり、セットタイプは許可されません。" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:373 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:410 msgid "" -"Invalid 'type' property for this 'url' tag. URLs of this type are not known " +"Invalid `type` property for this `url` tag. URLs of this type are not known " "in the AppStream specification." msgstr "" +"この `url`タグの無効な` type`プロパティ。このタイプのURLは、AppStream仕様では" +"不明です。" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:553 +#: src/as-validator-issue-tag.h:415 msgid "" -"Invalid tag found in collection metadata. Only 'component' tags are " -"permitted." +"Unable to reach remote location that this URL references - does it exist?" msgstr "" -#: tools/ascli-actions-mdata.c:213 -msgid "Invalid type for provided item selected. Valid values are:" +#: src/as-validator-issue-tag.h:420 +msgid "Consider using a secure (HTTPS) URL for this web link." +msgstr "このWebリンクには安全な(HTTPS)URLを使用することを検討してください。" + +#: src/as-validator-issue-tag.h:425 +msgid "A web URL was expected for this value." msgstr "" -#: src/as-validator-issue-tag.h:271 +#: src/as-validator-issue-tag.h:430 msgid "" -"Invalid version comparison operation on relation item. Only eq/ne/lt/gt/le/" -"ge are permitted." +"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." msgstr "" -#: src/as-validator-issue-tag.h:450 +#: src/as-validator-issue-tag.h:435 +msgid "The can not contain a hyperlink." +msgstr "にハイパーリンクを含めることはできません。" + +#: src/as-validator-issue-tag.h:440 msgid "" -"It is recommended to add a long description to this component to present it " -"better to users." +"The set value is not an identifier for a desktop environment as registered " +"with Freedesktop.org." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:446 +msgid "This `launchable` tag has an unknown type and can not be used." msgstr "" -#: src/as-validator-issue-tag.h:445 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:452 +msgid "This `bundle` tag has an unknown type and can not be used." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:458 msgid "" -"It would be useful to add a long description to this font to present it " -"better to users." +"The `update_contact` tag should not be included in collection AppStream XML." msgstr "" -#: src/as-category.c:144 -msgctxt "Category of Games" -msgid "Kids" -msgstr "子ども向け" +#: src/as-validator-issue-tag.h:463 +msgid "" +"This tag is a GNOME-specific extension to AppStream and not part of the " +"official specification. Do not expect it to work in all implementations and " +"in all software centers." +msgstr "" -#: src/as-category.c:220 -msgctxt "Category of Addons" -msgid "Language Packs" -msgstr "言語パック" +#: src/as-validator-issue-tag.h:469 +msgid "" +"Found invalid tag. Non-standard tags should be prefixed with `x-`. AppStream " +"also provides the tag to add arbitrary custom data to metainfo " +"files. This tag is read by AppStream libraries and may be useful instead of " +"defining new custom toplevel or `x-`-prefixed tags if you just want to add " +"custom data to a metainfo file." +msgstr "" +"無効なタグが見つかりました。非標準タグには、接頭辞「x-」を付ける必要がありま" +"す。 AppStreamは、任意のカスタムデータをメタ情報ファイルに追加する" +"タグも提供します。このタグはAppStreamライブラリによって読み取られ、カスタム" +"データをメタ情報ファイルに追加するだけの場合は、新しいカスタムトップレベルま" +"たは `x-`プレフィックス付きタグを定義する代わりに役立つ場合があります。" -#: src/as-category.c:107 -msgctxt "Category of Education" -msgid "Languages" -msgstr "言語" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:477 +msgid "" +"The essential tag `metadata_license` is missing. A license for the metadata " +"itself always has to be defined." +msgstr "" -#: src/as-provided.c:144 -msgid "Libraries" -msgstr "ライブラリ" +#: src/as-validator-issue-tag.h:482 +msgid "" +"The component is missing a long description. Components of this type must " +"have a long description." +msgstr "" -#. license -#: tools/ascli-utils.c:363 -msgid "License" -msgstr "ライセンス" +#: src/as-validator-issue-tag.h:487 +msgid "" +"It would be useful to add a long description to this font to present it " +"better to users." +msgstr "" +"このフォントに長い説明を追加して、ユーザーにわかりやすく表示すると便利です。" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:629 +#: src/as-validator-issue-tag.h:492 msgid "" -"Licenses for 'runtime' components are usually too complex to reflect them in " -"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " -"value for this component's 'project_license'. E.g. `LicenseRef-free=https://" -"example.com/licenses.html`" +"It is recommended to add a long description to this component to present it " +"better to users." msgstr "" +"ユーザーにわかりやすく表示するために、このコンポーネントに長い説明を追加する" +"ことはお勧めです。" -#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command -#: tools/appstream-cli.c:771 +#: src/as-validator-issue-tag.h:497 msgid "" -"Limit the number of release entries that end up in the metainfo file (0 for " -"unlimited)." +"This generic component is missing a long description. It may be useful to " +"add one." msgstr "" -#: src/as-category.c:223 -msgctxt "Category of Addons" -msgid "Localization" -msgstr "ローカライゼーション" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:503 +msgid "" +"Type `console-application` component, but no information about binaries in " +"$PATH was provided via a `provides/binary` tag." +msgstr "" -#: src/as-category.c:147 -msgctxt "Category of Games" -msgid "Logic" -msgstr "論理" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:509 +msgid "" +"This `web-application` component is missing a `launchable` tag of type `url`." +msgstr "" -#. TRANSLATORS: ascli flag description for: --no-cache -#: tools/appstream-cli.c:67 -msgid "Make request without any caching." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:515 +msgid "" +"This `web-application` component is missing a `icon` tag to specify a valid " +"icon." msgstr "" -#. TRANSLATORS: ascli flag description for: --cachepath -#: tools/appstream-cli.c:57 -msgid "Manually selected location of AppStream cache." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:521 +msgid "" +"This `web-application` component is missing categorizations. A `categories` " +"block is likely missing." msgstr "" -#. TRANSLATORS: ascli flag description for: --datapath -#: tools/appstream-cli.c:62 -msgid "Manually selected location of AppStream metadata to scan." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:527 +msgid "" +"Type `font` component, but no font information was provided via a `provides/" +"font` tag." msgstr "" -#: src/as-pool.c:1280 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:533 msgid "" -"Many components have been recognized as invalid. See debug output for " -"details." +"Type `driver` component, but no modalias information was provided via a " +"`provides/modalias` tag." msgstr "" -#: src/as-category.c:111 -msgctxt "Category of Education" -msgid "Math" -msgstr "数学" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:539 +msgid "" +"An `extends` tag is specified, but the component is not of type `addon`, " +"`localization` or `repository`." +msgstr "" +"「extends」タグが指定されていますが、コンポーネントのタイプが「addon」、" +"「localization」、または「repository」ではありません。" -#: src/as-category.c:243 -msgctxt "Category of Science" -msgid "Math" -msgstr "数学" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:545 +msgid "The component is an addon, but no `extends` tag was specified." +msgstr "" -#: src/as-provided.c:148 -msgid "Media types" -msgstr "メディアタイプ" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:551 +msgid "" +"This `localization` component is missing an `extends` tag, to specify the " +"components it adds localization to." +msgstr "" -#: tools/ascli-actions-mdata.c:364 -#, c-format -msgid "Metadata file '%s' does not exist." -msgstr "メタデータファイル '%s' は存在しません。" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:557 +msgid "" +"This `localization` component does not define any languages this " +"localization is for." +msgstr "" -#: src/as-pool.c:881 -msgid "Metadata files have errors:" -msgstr "メタデータファイルにエラーがあります:" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:563 +msgid "" +"This `service` component is missing a `launchable` tag of type `service`." +msgstr "" -#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 -#: tools/ascli-actions-misc.c:515 -#, fuzzy, c-format -msgid "Metainfo file '%s' does not exist." -msgstr "メタデータファイル '%s' は存在しません。" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:569 +msgid "" +"Suggestions of any type other than `upstream` are not allowed in metainfo " +"files." +msgstr "" +"「アップストリーム」以外のタイプの提案は、メタ情報ファイルでは許可されていま" +"せん。" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:367 +#: src/as-validator-issue-tag.h:574 msgid "" -"Metainfo files may only contain icons of type 'stock' or 'remote', the set " -"type is not allowed." +"The category name is not valid. Refer to the XDG Menu Specification for a " +"list of valid category names." msgstr "" -#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report -#: tools/ascli-actions-misc.c:116 -msgid "Metainfo files:" -msgstr "メタ情報ファイル:" - -#: src/as-provided.c:152 -msgid "Modaliases" +#: src/as-validator-issue-tag.h:579 +msgid "The screenshot caption is too long (should be <= 80 characters)" msgstr "" -#: src/as-category.c:74 -msgctxt "Category of AudioVideo" -msgid "Music Players" -msgstr "音楽プレーヤー" +#: src/as-validator-issue-tag.h:584 +msgid "Unable to read file." +msgstr "ファイルを読み込めません。" -#: tools/ascli-utils.c:296 -msgid "Name" -msgstr "名前" +#: src/as-validator-issue-tag.h:589 +msgid "The XML of this file is malformed." +msgstr "このファイルのXMLの形式が正しくありません。" -#: src/as-category.c:266 -msgctxt "Category of Communication" -msgid "News" -msgstr "ニュース" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:595 +msgid "" +"Invalid tag found in collection metadata. Only `component` tags are " +"permitted." +msgstr "" +"コレクションのメタデータに無効なタグが見つかりました。 `component`タグのみが" +"許可されます。" -#: src/as-validator-issue-tag.h:589 -msgid "No AppStream metadata was found in this directory or directory tree." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:601 +msgid "" +"The metainfo file uses an ancient version of the AppStream specification, " +"which can not be validated. Please migrate it to version 0.6 (or higher)." msgstr "" -#. pedantic because not everything which has metadata is an application -#: src/as-validator-issue-tag.h:594 -msgid "No XDG applications directory found." +#: src/as-validator-issue-tag.h:606 +msgid "" +"This XML document has an unknown root tag. Maybe this file is not a metainfo " +"document?" msgstr "" -#: tools/ascli-actions-mdata.c:182 -#, c-format -msgid "No component matching '%s' found." -msgstr "'%s' に一致するコンポーネントは見つかりませんでした。" +#: src/as-validator-issue-tag.h:611 +msgid "The metainfo filename does not match the component ID." +msgstr "メタ情報ファイル名がコンポーネント ID に一致しません。" -#: tools/ascli-actions-misc.c:105 -msgid "No icons." -msgstr "アイコンはありません。" +#: src/as-validator-issue-tag.h:616 +msgid "Unable to read the .desktop file associated with this component." +msgstr "コンポーネントに関連付けられた .desktop ファイルを読み込めません。" -#: tools/ascli-actions-misc.c:402 -msgid "No output filename specified, modifying metainfo file directly." +#: src/as-validator-issue-tag.h:621 +msgid "This component metadata refers to a non-existing .desktop file." msgstr "" -#: tools/ascli-actions-misc.c:306 +#: src/as-validator-issue-tag.h:626 msgid "" -"No provided binary specified in metainfo file, and no exec command specified " -"via '--exec'. Can not create 'Exec=' key." +"The category defined in the .desktop file is not valid. Refer to the XDG " +"Menu Specification for a list of valid categories." msgstr "" -#: tools/ascli-actions-misc.c:284 -msgid "No stock icon name was provided in the metainfo file. Can not continue." +#: src/as-validator-issue-tag.h:631 +msgid "No AppStream metadata was found in this directory or directory tree." msgstr "" +"このディレクトリまたはディレクトリツリーにAppStreamメタデータが見つかりません" +"でした。" -#: tools/ascli-actions-pkgmgr.c:53 +#. pedantic because not everything which has metadata is an application +#: src/as-validator-issue-tag.h:636 +msgid "No XDG applications directory found." +msgstr "XDGアプリケーションディレクトリが見つかりません。" + +#: src/as-validator-issue-tag.h:641 msgid "" -"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" -"\" (part of PackageKit) is available." +"The metainfo file is stored in a legacy path. Please place it in `/usr/share/" +"metainfo/`." msgstr "" -#: tools/ascli-actions-mdata.c:206 -msgid "No value for the item to search for was defined." +#: src/as-validator-issue-tag.h:646 +msgid "The metainfo file specifies multiple components. This is not allowed." msgstr "" -#. TRANSLATORS: this is the menu spec main category for Office -#: src/as-category.c:317 -msgid "Office" -msgstr "Office" +#: src/as-validator-issue-tag.h:651 +msgid "" +"The releases are not sorted in a latest to oldest version order. This is " +"required as some tools will assume that the latest version is always at the " +"top. Sorting releases also increases overall readability of the metainfo " +"file." +msgstr "" -#. TRANSLATORS: An unknown option was passed to appstreamcli. -#: tools/appstream-cli.c:192 -#, c-format -msgid "Option '%s' is unknown." -msgstr "オプション '%s' は不明です。" +#: src/as-validator-issue-tag.h:658 +msgid "The value set as release urgency is not a known urgency value." +msgstr "" -#: tools/ascli-utils.c:298 -msgid "Package" -msgstr "パッケージ" +#: src/as-validator-issue-tag.h:663 +msgid "The value set as release type is invalid." +msgstr "" -#: src/as-category.c:171 -msgctxt "Category of Graphics" -msgid "Photography" -msgstr "写真" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:669 +msgid "" +"The value set as artifact type is invalid. Must be either `source` or " +"`binary`." +msgstr "" -#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) -#: tools/appstream-cli.c:121 -msgid "Print detailed explanation for found issues." -msgstr "見つかった問題の詳細な説明を表示します。" +#: src/as-validator-issue-tag.h:674 +msgid "The value set as artifact bundle type is invalid." +msgstr "" -#. TRANSLATORS: ascli flag description for: --details -#: tools/appstream-cli.c:98 -msgid "Print detailed output about found components." -msgstr "見つかったコンポーネントの詳細な出力を表示します。" +#: src/as-validator-issue-tag.h:679 +msgid "" +"The platform triplet for this release is invalid. It must be in the form of " +"`architecture-oskernel-osenv` - refer to the AppStream documentation or " +"information on normalized GNU triplets for more information and valid fields." +msgstr "" -#. project group -#: tools/ascli-utils.c:360 -msgid "Project Group" -msgstr "プロジェクトグループ" +#: src/as-validator-issue-tag.h:686 +msgid "The selected checksumming algorithm is unsupported or unknown." +msgstr "" -#: tools/ascli-utils.c:405 -msgid "Provided Items" -msgstr "指定されたアイテム" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:692 +msgid "The size type is unknown. Must be `download` or `installed`." +msgstr "" -#: src/as-provided.c:154 -msgid "Python (Version 2)" -msgstr "Python (バージョン 2)" +#: src/as-validator-issue-tag.h:697 +msgid "" +"The artifact filename must be a file basename, not a (relative or absolute) " +"path." +msgstr "" -#: src/as-provided.c:156 -msgid "Python 3" -msgstr "Python 3" +#: src/as-validator-issue-tag.h:702 +msgid "The value set as release issue type is invalid." +msgstr "" -#: tools/appstream-cli.c:854 -msgid "Rebuild the component metadata cache." -msgstr "コンポーネントのメタデータキャッシュを再構築します。" +#: src/as-validator-issue-tag.h:707 +msgid "" +"The issue is tagged at security vulnerability with a CVE number, but its " +"value does not look like a valid CVE identifier." +msgstr "" -#: tools/appstream-cli.c:860 -msgid "Remove software matching the component-ID." -msgstr "コンポーネント ID に一致するソフトウェアを削除します。" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:713 +msgid "" +"This component is missing information about releases. Consider adding a " +"`releases` tag to describe releases and their changes." +msgstr "" -#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty -#: src/as-validator.c:364 -msgid "Retrieved file size was zero." +#: src/as-validator-issue-tag.h:718 +msgid "" +"The AppStream specification requires a complete, ISO 8601 date string with " +"at least day-granularity to denote dates. Please ensure the date string is " +"valid." msgstr "" +"AppStream の仕様では、日付を示すために少なくとも1日単位の完全な ISO 8601 日付" +"文字列が必要です。 日付文字列が有効であることを確認してください。" -#: src/as-category.c:248 -msgctxt "Category of Science" -msgid "Robotics" -msgstr "ロボット工学" +#: src/as-validator-issue-tag.h:724 +msgid "" +"This component extends, provides, requires or recommends itself, which is " +"certainly not intended and may confuse users or machines dealing with this " +"metadata." +msgstr "" -#: src/as-category.c:150 -msgctxt "Category of Games" -msgid "Role Playing" -msgstr "ロールプレイング" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:731 +msgid "" +"Licenses for `runtime` components are usually too complex to reflect them in " +"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " +"value for this component's `project_license`. E.g. `LicenseRef-free=https://" +"example.com/licenses.html`" +msgstr "" +"「ランタイム」コンポーネントのライセンスは通常、複雑すぎて単純なSPDX式に反映" +"できない。このコンポーネントの「project_license」の値として、「LicenseRef」と" +"Web URLの使用を検討してください。例えば。 `LicenseRef-free = https:// " +"example.com / licenses.html`" -#: tools/appstream-cli.c:196 tools/appstream-cli.c:926 -#, c-format -msgid "Run '%s --help' to see a full list of available command line options." +#: src/as-validator-issue-tag.h:737 +msgid "" +"Since a `runtime` component is comprised of multiple other software " +"components, their component-IDs may be listed in a `` section for " +"this runtime." msgstr "" -"利用可能なコマンドラインオプションの完全なリストを見るには '%s --help' を実行" -"してください。" +"`runtime`コンポーネントは他の複数のソフトウェアコンポーネントで構成されている" +"ため、コンポーネントIDはこのランタイムの` `セクションにリストさ" +"れる場合があります。" -#: tools/appstream-cli.c:198 -#, c-format +#: src/as-validator-issue-tag.h:742 msgid "" -"Run '%s --help' to see a list of available commands and options, and '%s %s " -"--help' to see a list of options specific for this subcommand." +"The type of the item that the component provides is not known to AppStream." msgstr "" -#: src/as-provided.c:162 -msgid "Runtime Firmware" -msgstr "ランタイムファームウェア" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:748 +msgid "" +"The toplevel `mimetypes` tag is deprecated. Please use `mediatype` tags in a " +"`provides` block instead to indicate that your software provides a media " +"handler for the given types." +msgstr "" -#: src/as-category.c:174 -msgctxt "Category of Graphics" -msgid "Scanning" -msgstr "スキャン" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks) and keep the URL intact. +#: src/as-validator-issue-tag.h:755 +msgid "" +"This component has no `content_rating` tag to provide age rating " +"information. You can generate the tag data online by answering a few " +"questions at https://hughsie.github.io/oars/" +msgstr "" -#. TRANSLATORS: this is the menu spec main category for Science -#: src/as-category.c:323 -msgid "Science" -msgstr "科学" +#: src/as-validator.c:150 +msgid "" +"The emitted issue tag is unknown in the tag registry of AppStream. This is a " +"bug in the validator itself, please report this issue in our bugtracker." +msgstr "" -#: tools/appstream-cli.c:847 -msgid "Search the component database." -msgstr "コンポーネントデータベースを検索します。" +#: src/as-validator.c:344 +msgid "URL format is invalid." +msgstr "" -#: src/as-category.c:293 -msgctxt "Category of Utility" -msgid "Security" -msgstr "セキュリティ" +#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. +#: src/as-validator.c:522 src/as-validator.c:937 src/as-validator.c:1031 +#: src/as-validator.c:1428 src/as-validator.c:1448 src/as-validator.c:1481 +#, c-format +msgid "Found: %s - Allowed: %s" +msgstr "検出:%s-許可:%s" -#. TRANSLATORS: ascli flag description for: --verbose -#: tools/appstream-cli.c:903 -msgid "Show extra debugging information." +#. TRANSLATORS: ascompose flag description for: --verbose +#: tools/appstream-compose.c:181 +#, fuzzy +msgid "Show extra debugging information" msgstr "追加のデバッグ情報を表示します。" +#. TRANSLATORS: ascompose flag description for: --no-color +#. TRANSLATORS: ascli flag description for: --no-color +#: tools/appstream-compose.c:184 tools/appstreamcli.c:1087 +msgid "Don't show colored output." +msgstr "カラーで出力を表示しません。" + +#. TRANSLATORS: ascompose flag description for: --version #. TRANSLATORS: ascli flag description for: --version -#: tools/appstream-cli.c:897 +#: tools/appstream-compose.c:187 tools/appstreamcli.c:1076 msgid "Show the program version." msgstr "プログラムのバージョンを表示します。" -#: src/as-validator-issue-tag.h:635 -msgid "" -"Since a 'runtime' component is comprised of multiple other software " -"components, their component-IDs may be listed in a `` section for " -"this runtime." +#. TRANSLATORS: ascompose flag description for: --full-report +#: tools/appstream-compose.c:190 +msgid "Set mode of the issue report that is printed to the console" msgstr "" -#: src/as-category.c:153 -msgctxt "Category of Games" -msgid "Sports" -msgstr "スポーツ" - -#: src/as-category.c:157 -msgctxt "Category of Games" -msgid "Strategy" -msgstr "戦略" - -#. these are commands we can use with appstreamcli -#: tools/appstream-cli.c:845 -msgid "Subcommands:" -msgstr "サブコマンド:" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:527 -msgid "" -"Suggestions of any type other than 'upstream' are not allowed in metainfo " -"files." +#. TRANSLATORS: ascompose flag description for: --prefix +#: tools/appstream-compose.c:193 +msgid "Override the default prefix (`/usr` by default)" msgstr "" -#: tools/ascli-utils.c:297 -msgid "Summary" -msgstr "要約" +#. TRANSLATORS: ascompose flag description for: --result-root +#: tools/appstream-compose.c:196 +msgid "Set the result output directory" +msgstr "" -#. TRANSLATORS: Status summary in ascli -#: tools/ascli-actions-misc.c:145 -msgid "Summary:" -msgstr "要約:" +#. TRANSLATORS: ascompose flag description for: --data-dir, `collection metadata` is an AppStream term +#: tools/appstream-compose.c:199 +msgid "Override the collection metadata output directory" +msgstr "" -#: src/as-category.c:290 -msgctxt "Category of Utility" -msgid "System Monitoring" -msgstr "システム監視" +#. TRANSLATORS: ascompose flag description for: --icons-dir +#: tools/appstream-compose.c:202 +msgid "Override the icon output directory" +msgstr "" -#: src/as-validator-issue-tag.h:46 -msgid "Tags of this name are not permitted in this section." +#. TRANSLATORS: ascompose flag description for: --media-dir +#: tools/appstream-compose.c:205 +msgid "" +"Set the media output directory (for media data to be served by a webserver)" msgstr "" -#: src/as-category.c:284 -msgctxt "Category of Utility" -msgid "Terminal Emulators" -msgstr "ターミナルエミュレーター" +#. TRANSLATORS: ascompose flag description for: --hints-dir +#: tools/appstream-compose.c:208 +msgid "Set a directory where HTML and text issue reports will be stored" +msgstr "" -#: src/as-category.c:281 -msgctxt "Category of Utility" -msgid "Text Editors" -msgstr "テキストエディター" +#. TRANSLATORS: ascompose flag description for: --origin +#. TRANSLATORS: ascompose flag description for: --media-baseurl +#: tools/appstream-compose.c:211 tools/appstream-compose.c:214 +msgid "Set the origin name" +msgstr "" -#: src/as-validator-issue-tag.h:318 -msgid "" -"The 'pkgname' tag appears multiple times. You should evaluate creating a " -"metapackage containing the metainfo and .desktop files in order to avoid " -"defining multiple package names per component." +#. TRANSLATORS: ascompose flag description for: --components +#: tools/appstream-compose.c:217 +msgid "A comma-separated list of component-IDs to accept" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:416 -msgid "" -"The 'update_contact' tag should not be included in collection AppStream XML." +#. TRANSLATORS: error message +#: tools/appstream-compose.c:231 +msgid "Failed to parse arguments" msgstr "" -#: tools/ascli-actions-mdata.c:467 +#. TRANSLATORS: Output if appstreamcli --version is executed. +#: tools/appstream-compose.c:242 tools/appstreamcli.c:1230 #, c-format -msgid "The .desktop file '%s' does not exist." -msgstr ".desktop ファイル '%s' は存在しません。" - -#: src/as-validator-issue-tag.h:393 -msgid "The can not contain a hyperlink." -msgstr "" +msgid "AppStream version: %s" +msgstr "AppStream バージョン: %s" -#: src/as-validator-issue-tag.h:313 +#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. +#: tools/appstream-compose.c:245 tools/appstreamcli.c:1233 +#, c-format msgid "" -"The tag still contains a 'type' property, probably from an old " -"conversion to the recent metainfo format." +"AppStream CLI tool version: %s\n" +"AppStream library version: %s" msgstr "" +"AppStream CLI ツール バージョン: %s\n" +"AppStream ライブラリ バージョン: %s" -#: src/as-validator-issue-tag.h:616 +#. TRANSLATORS: invalid value for the --print-report CLI option +#: tools/appstream-compose.c:264 +#, c-format msgid "" -"The AppStream specification requires a complete, ISO 8601 date string with " -"at least day-granularity to denote dates. Please ensure the date string is " -"valid." +"Invalid value for `--print-report` option: %s\n" +"Possible values are:\n" +"`on-error` - only prints a short report if the run failed (default)\n" +"`short` - generates an abridged report\n" +"`full` - a detailed report will be printed" msgstr "" -#: src/as-pool.c:1924 +#: tools/appstream-compose.c:285 #, c-format -msgid "" -"The AppStream system cache was updated, but problems were found which " -"resulted in metadata being ignored: %s" +msgid "Automatically selected '%s' as data output location." msgstr "" -"AppStream システムキャッシュをアップデートしましたが、問題が見つかったため、" -"メタデータ内の結果を無視しました: %s" -#: src/as-pool.c:1922 -msgid "" -"The AppStream system cache was updated, but some components were ignored. " -"Refer to the verbose log for more information." +#. TRANSLATORS: we don't have a destination directory for compose +#: tools/appstream-compose.c:288 +msgid "No destination directory set, please provide a data output location!" msgstr "" -#: src/as-validator-issue-tag.h:151 -msgid "The SPDX license expression is invalid and could not be parsed." +#: tools/appstream-compose.c:298 tools/appstream-compose.c:300 +msgid "WARNING" msgstr "" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows -#: tools/appstream-cli.c:683 +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:337 #, c-format -msgid "The TYPE must be a valid component-type, such as: %s" +msgid "Only accepting components: %s" msgstr "" -#: src/as-validator-issue-tag.h:547 -msgid "The XML of this file is malformed." +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:340 +#, c-format +msgid "Only accepting component: %s" msgstr "" -#: src/as-validator-issue-tag.h:584 -msgid "" -"The category defined in the .desktop file is not valid. Refer to the XDG " -"Menu Specification for a list of valid categories." +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:345 +msgid "Processing directories:" msgstr "" -#: src/as-validator-issue-tag.h:532 -msgid "" -"The category name is not valid. Refer to the XDG Menu Specification for a " -"list of valid category names." +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:348 +msgid "Processing directory:" msgstr "" -#: src/as-validator-issue-tag.h:124 -msgid "" -"The component ID contains a hyphen/minus. Using a hyphen is strongly " -"discouraged, to improve interoperability with other tools such as D-Bus. A " -"good option is to replace any hyphens with underscores ('_')." +#. TRANSLATORS: error message +#: tools/appstream-compose.c:357 +msgid "Can not process invalid directory" msgstr "" -#: src/as-validator-issue-tag.h:130 -msgid "" -"The component ID contains a segment starting with a number. Starting a " -"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " -"interoperability with other tools such as D-Bus. Ideally, prefix these " -"segments with an underscore." +#. TRANSLATORS: information message +#: tools/appstream-compose.c:369 +msgid "Composing metadata..." msgstr "" -#: src/as-validator-issue-tag.h:119 -msgid "" -"The component ID contains an invalid character. Only ASCII characters, dots " -"and numbers are permitted." -msgstr "" +#. TRANSLATORS: error message +#: tools/appstream-compose.c:374 +#, fuzzy +msgid "Failed to compose AppStream metadata" +msgstr "AppStream メタデータを使用して動作するユーティリティー" -#: src/as-validator-issue-tag.h:106 -msgid "" -"The component ID is not a reverse domain-name. Please update the ID to avoid " -"future issues and be compatible with all AppStream implementations.\n" -"You may also consider to update the name of the accompanying .desktop file " -"to follow the latest version of the Desktop-Entry specification and use a " -"rDNS name for it as well. In any case, do not forget to mention the new " -"desktop-entry in a tag for this component to keep the " -"application launchable from software centers and the .desktop file data " -"associated with the metainfo data." +#. TRANSLATORS: appstream-compose failed to include all data +#: tools/appstream-compose.c:380 +msgid "Run failed, some data was ignored." msgstr "" -#: src/as-validator-issue-tag.h:101 -msgid "" -"The component ID is required to follow a reverse domain-name scheme for its " -"name. See the AppStream specification for details." +#. TRANSLATORS: information message of appstream-compose +#: tools/appstream-compose.c:382 +msgid "Errors were raised during this compose run:" msgstr "" -#: src/as-validator-issue-tag.h:114 +#: tools/appstream-compose.c:383 msgid "" -"The component ID might not follow the reverse domain-name schema (the TLD " -"used by it is not known to the validator)." +"Refer to the generated issue report data for details on the individual " +"problems." msgstr "" -#: src/as-validator-issue-tag.h:293 -msgid "" -"The component has a 'merge' method defined. This is not allowed in metainfo " -"files." +#: tools/appstream-compose.c:386 +msgid "Overview of generated hints:" msgstr "" -#: src/as-validator-issue-tag.h:288 -msgid "" -"The component has a priority value set. This is not allowed in metainfo " -"files." +#. TRANSLATORS: information message +#: tools/appstream-compose.c:388 +msgid "Success!" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:503 -msgid "The component is an addon, but no 'extends' tag was specified." +#. TRANSLATORS: ascli flag description for: --cachepath +#: tools/appstreamcli.c:59 +msgid "Manually selected location of AppStream cache." +msgstr "手動で選択したAppStreamキャッシュの場所。" + +#. TRANSLATORS: ascli flag description for: --datapath +#: tools/appstreamcli.c:64 +msgid "Manually selected location of AppStream metadata to scan." +msgstr "スキャンするAppStreamメタデータの場所を手動で選択します。" + +#. TRANSLATORS: ascli flag description for: --no-cache +#: tools/appstreamcli.c:69 +msgid "Make request without any caching." +msgstr "キャッシュせずにリクエストを行います。" + +#. TRANSLATORS: ascli flag description for: --format +#: tools/appstreamcli.c:85 +msgid "Default metadata format (valid values are 'xml' and 'yaml')." +msgstr "デフォルトのメタデータファイル形式 (有効な値は 'xml' と 'yaml')。" + +#. TRANSLATORS: ascli flag description for: --details +#: tools/appstreamcli.c:100 +msgid "Print detailed output about found components." +msgstr "見つかったコンポーネントの詳細な出力を表示します。" + +#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) +#: tools/appstreamcli.c:118 +msgid "Also show pedantic hints." +msgstr "詳細なヒントも表示します。" + +#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) +#: tools/appstreamcli.c:123 +msgid "Print detailed explanation for found issues." +msgstr "見つかった問題の詳細な説明を表示します。" + +#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) +#: tools/appstreamcli.c:128 +msgid "Do not use network access." +msgstr "ネットワークアクセスを使用しません。" + +#. TRANSLATORS: ascli flag description for: --format when validating XML files +#: tools/appstreamcli.c:133 +msgid "Format of the generated report (valid values are 'text' and 'yaml')." +msgstr "デフォルトのメタデータファイル形式 (有効な値は 'xml' と 'yaml')。" + +#. TRANSLATORS: This is the header to the --help menu for subcommands +#. TRANSLATORS: This is the header to the --help menu +#: tools/appstreamcli.c:153 tools/appstreamcli.c:981 +msgid "AppStream command-line interface" +msgstr "AppStream コマンドラインインターフェース" + +#: tools/appstreamcli.c:156 +#, c-format +msgid "'%s' command" +msgstr "'%s' コマンド" + +#. TRANSLATORS: An unknown option was passed to appstreamcli. +#: tools/appstreamcli.c:191 +#, c-format +msgid "Option '%s' is unknown." +msgstr "オプション '%s' は不明です。" + +#: tools/appstreamcli.c:195 tools/appstreamcli.c:1207 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options." msgstr "" +"利用可能なコマンドラインオプションの完全なリストを見るには '%s --help' を実行" +"してください。" -#: src/as-validator-issue-tag.h:440 +#: tools/appstreamcli.c:197 +#, c-format msgid "" -"The component is missing a long description. Components of this type must " -"have a long description." +"Run '%s --help' to see a list of available commands and options, and '%s %s " +"--help' to see a list of options specific for this subcommand." msgstr "" +"'%s --help'を実行して使用可能なコマンドとオプションのリストを表示し、 '%s%s " +"--help'を実行してこのサブコマンドに固有のオプションのリストを表示します。" -#: src/as-validator-issue-tag.h:303 -msgid "The component is missing a name ( tag)." +#. TRANSLATORS: ascli flag description for: --force +#: tools/appstreamcli.c:245 +msgid "Enforce a cache refresh." +msgstr "強制的にキャッシュを更新します。" + +#. TRANSLATORS: ascli flag description for: --user +#: tools/appstreamcli.c:251 +msgid "Update the user-specific instead of the system-wide cache." msgstr "" -#: src/as-validator-issue-tag.h:308 -msgid "The component is missing a summary ( tag)." +#. TRANSLATORS: ascli flag description for: --origin (part of the "put" subcommand) +#: tools/appstreamcli.c:477 +msgid "Set the data origin for the installed metadata collection file." msgstr "" -#: src/as-validator-issue-tag.h:298 -msgid "The component is missing an ID ( tag)." +#. TRANSLATORS: ascli flag description for: --user (part of the "put" subcommand) +#: tools/appstreamcli.c:482 +msgid "Install the file for the current user, instead of globally." msgstr "" -#: src/as-validator-issue-tag.h:136 +#: tools/appstreamcli.c:631 msgid "" -"The component is part of the Freedesktop project, but its ID does not start " -"with fd.o's reverse-DNS name (\"org.freedesktop\")." +"You need to provide at least two version numbers to compare as parameters." msgstr "" -#: src/as-validator-issue-tag.h:146 -msgid "" -"The component is part of the GNOME project, but its ID does not start with " -"GNOMEs reverse-DNS name (\"org.gnome\")." +#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. +#: tools/appstreamcli.c:660 +#, c-format +msgid "Unknown compare relation '%s'. Valid values are:" msgstr "" -#: src/as-validator-issue-tag.h:141 +#: tools/appstreamcli.c:700 msgid "" -"The component is part of the KDE project, but its ID does not start with " -"KDEs reverse-DNS name (\"org.kde\")." +"Too many parameters: Need two version numbers or version numbers and a " +"comparison operator." msgstr "" -#: src/as-validator-issue-tag.h:323 -msgid "The component name should (likely) not end with a dot ('.')." +#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) +#: tools/appstreamcli.c:726 +msgid "" +"Use the given .desktop file to fill in the basic values of the metainfo file." msgstr "" -#: src/as-validator-issue-tag.h:333 -msgid "The component summary must not contain tabs or linebreaks." +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand +#: tools/appstreamcli.c:731 +msgid "" +"This command takes optional TYPE and FILE positional arguments, FILE being a " +"file to write to (or \"-\" for standard output)." msgstr "" -#: src/as-validator-issue-tag.h:328 -msgid "The component summary should not end with a dot ('.')." -msgstr "" +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows +#: tools/appstreamcli.c:734 +#, c-format +msgid "The TYPE must be a valid component-type, such as: %s" +msgstr "TYPEは次のような有効なコンポーネントタイプである必要があります:%s" -#: src/as-validator-issue-tag.h:243 -msgid "" -"The default screenshot of a software component must not be a video. Use a " -"static image as default screenshot and set the video as a secondary " -"screenshot." +#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) +#: tools/appstreamcli.c:775 +msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." msgstr "" -#: src/as-validator-issue-tag.h:86 -msgid "" -"The description contains a web URL in plain text. This is not allowed, " -"please use the tag instead to share links." +#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command +#: tools/appstreamcli.c:815 +msgid "Assume the input file is in the selected format ('yaml' or 'text')." msgstr "" +"入力ファイルが選択した形式(「yaml」または「text」)であると仮定します。" -#: src/as-validator.c:152 +#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command +#: tools/appstreamcli.c:820 msgid "" -"The emitted issue tag is unknown in the tag registry of AppStream. This is a " -"bug in the validator itself, please report this issue in our bugtracker." +"Limit the number of release entries that end up in the metainfo file (0 for " +"unlimited)." msgstr "" +"メタインフォファイルに含まれるリリースエントリの数を制限します(無制限の場合" +"は0)。" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:435 -msgid "" -"The essential tag 'metadata_license' is missing. A license for the metadata " -"itself always has to be defined." -msgstr "" +#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command +#: tools/appstreamcli.c:862 +msgid "Generate the output in the selected format ('yaml' or 'text')." +msgstr "選択した形式(「yaml」または「text」)で出力を生成します。" -#: src/as-validator-issue-tag.h:79 -msgid "" -"The first 'description/p' paragraph of this component might be too short (< " -"80 characters). Please consider starting with a longer paragraph to improve " -"how the description looks like in software centers and to provide more " -"detailed information on this component immediately in the first paragraph." +#: tools/appstreamcli.c:894 +#, c-format +msgid "Compose binary '%s' was not found! Can not continue." msgstr "" -#: src/as-validator-issue-tag.h:156 +#. TRANSLATORS: this is a (usually shorter) command alias, shown after the command summary text +#: tools/appstreamcli.c:956 +#, c-format +msgid "(Alias: '%s')" +msgstr "(エイリアス: '%s')" + +#. these are commands we can use with appstreamcli +#: tools/appstreamcli.c:983 +msgid "Subcommands:" +msgstr "サブコマンド:" + +#: tools/appstreamcli.c:1029 msgid "" -"The license ID was not found in the SPDX database. Please check that the " -"license ID is written in an SPDX-conformant way and is a valid free software " -"license." +"You can find information about subcommand-specific options by passing \"--" +"help\" to the subcommand." msgstr "" -#: src/as-validator-issue-tag.h:96 +#. TRANSLATORS: ascli has been run with unknown command. '%s --help' is the command to receive help and should not be translated. +#: tools/appstreamcli.c:1052 +#, c-format msgid "" -"The mentioned tag is empty, which is highly likely not intended as it should " -"have content." +"Command '%s' is unknown. Run '%s --help' for a list of available commands." msgstr "" +"'%s' は不明なコマンドです。利用可能なコマンドの一覧を見るには '%s --help' を" +"実行してください。" -#: src/as-validator-issue-tag.h:168 -msgid "" -"The metadata itself does not seem to be licensed under a permissive license. " -"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " -"0BSD to allow distributors to include it in mixed data collections without " -"the risk of license violations due to mutually incompatible licenses." +#. TRANSLATORS: ascli flag description for: --verbose +#: tools/appstreamcli.c:1082 +msgid "Show extra debugging information." +msgstr "追加のデバッグ情報を表示します。" + +#. TRANSLATORS: ascli flag description for: --profile +#: tools/appstreamcli.c:1090 +msgid "Enable profiling" msgstr "" -#: src/as-validator-issue-tag.h:162 +#. TRANSLATORS: `appstreamcli search` command description. +#: tools/appstreamcli.c:1102 +msgid "Search the component database." +msgstr "コンポーネントデータベースを検索します。" + +#. TRANSLATORS: `appstreamcli get` command description. +#: tools/appstreamcli.c:1107 +msgid "Get information about a component by its ID." +msgstr "IDでコンポーネントに関する情報を取得します。" + +#. TRANSLATORS: `appstreamcli what-provides` command description. +#: tools/appstreamcli.c:1112 msgid "" -"The metadata itself seems to be licensed under a complex collection of " -"licenses. Please license the data under a simple permissive license, like " -"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " -"collections without the risk of license violations due to mutually " -"incompatible licenses." +"Get components which provide the given item. Needs an item type (e.g. lib, " +"bin, python3, …) and item value as parameter." msgstr "" -#: src/as-validator-issue-tag.h:599 -msgid "" -"The metainfo file is stored in a legacy path. Please place it in '/usr/share/" -"metainfo'." +#. TRANSLATORS: `appstreamcli dump` command description. +#: tools/appstreamcli.c:1118 +msgid "Dump raw XML metadata for a component matching the ID." +msgstr "IDに一致するコンポーネントの生のXMLメタデータをダンプします。" + +#. TRANSLATORS: `appstreamcli refresh-cache` command description. +#: tools/appstreamcli.c:1123 +msgid "Rebuild the component metadata cache." +msgstr "コンポーネントのメタデータキャッシュを再構築します。" + +#. TRANSLATORS: `appstreamcli validate` command description. +#: tools/appstreamcli.c:1129 +msgid "Validate AppStream XML files for issues." msgstr "" -#: src/as-validator-issue-tag.h:604 -msgid "The metainfo file specifies multiple components. This is not allowed." +#. TRANSLATORS: `appstreamcli validate-tree` command description. +#: tools/appstreamcli.c:1134 +msgid "Validate an installed file-tree of an application for valid metadata." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:559 +#. TRANSLATORS: `appstreamcli install` command description. +#: tools/appstreamcli.c:1140 +msgid "Install software matching the component-ID." +msgstr "コンポーネント ID に一致するソフトウェアをインストールします。" + +#. TRANSLATORS: `appstreamcli remove` command description. +#: tools/appstreamcli.c:1145 +msgid "Remove software matching the component-ID." +msgstr "コンポーネント ID に一致するソフトウェアを削除します。" + +#. TRANSLATORS: `appstreamcli status` command description. +#: tools/appstreamcli.c:1151 +msgid "Display status information about available AppStream metadata." +msgstr "利用可能な AppStream メタデータの状態情報を表示します。" + +#. TRANSLATORS: `appstreamcli os-info` command description. +#: tools/appstreamcli.c:1156 msgid "" -"The metainfo file uses an ancient version of the AppStream specification, " -"which can not be validated. Please migrate it to version 0.6 (or higher)." +"Show information about the current operating system from the metadata index." msgstr "" -#: src/as-validator-issue-tag.h:569 -msgid "The metainfo filename does not match the component ID." -msgstr "メタ情報ファイル名がコンポーネント ID に一致しません。" +#. TRANSLATORS: `appstreamcli put` command description. +#: tools/appstreamcli.c:1161 +msgid "Install a metadata file into the right location." +msgstr "メタデータファイルを正しい場所にインストールします。" + +#. TRANSLATORS: `appstreamcli convert` command description. "Collection XML" is a term describing a specific type of AppStream XML data. +#: tools/appstreamcli.c:1166 +msgid "Convert collection XML to YAML or vice versa." +msgstr "コレクションXMLをYAMLに、またはその逆に変換する。" + +#. TRANSLATORS: `appstreamcli vercmp` command description. +#: tools/appstreamcli.c:1171 +msgid "Compare two version numbers." +msgstr "2 つのバージョン番号を比較します。" -#: src/as-validator-issue-tag.h:609 +#. TRANSLATORS: `appstreamcli new-template` command description. +#: tools/appstreamcli.c:1177 msgid "" -"The releases are not sorted in a latest to oldest version order. This is " -"required as some tools will assume that the latest version is always at the " -"top. Sorting releases also increases overall readability of the metainfo " -"file." +"Create a template for a metainfo file (to be filled out by the upstream " +"project)." msgstr "" +"メタインフォファイルのテンプレートを作成します(アップストリームプロジェクト" +"が記入します)。" -#: src/as-validator-issue-tag.h:537 -msgid "The screenshot caption is too long (should be <= 80 characters)" -msgstr "" +#. TRANSLATORS: `appstreamcli make-desktop-file` command description. +#: tools/appstreamcli.c:1182 +msgid "Create a desktop-entry file from a metainfo file." +msgstr "メタインフォファイルからデスクトップエントリファイルを作成します。" -#: src/as-validator-issue-tag.h:206 -msgid "The screenshot does not have a caption text. Consider adding one." -msgstr "" +#. TRANSLATORS: `appstreamcli news-to-metainfo` command description. +#: tools/appstreamcli.c:1187 +msgid "Convert a YAML or text NEWS file into metainfo releases." +msgstr "YAMLまたはテキストNEWSファイルをメタ情報リリースに変換します。" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:218 -msgid "" -"The screenshot video does not specify which container format was used in a " -"'container' property." +#. TRANSLATORS: `appstreamcli metainfo-to-news` command description. +#: tools/appstreamcli.c:1192 +msgid "Write NEWS text or YAML file with information from a metainfo file." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:212 -msgid "" -"The screenshot video does not specify which video codec was used in a " -"'codec' property." +#. TRANSLATORS: `appstreamcli compose` command description. +#: tools/appstreamcli.c:1198 +#, fuzzy +msgid "Compose AppStream collection metadata from directory trees." msgstr "" +"このディレクトリまたはディレクトリツリーにAppStreamメタデータが見つかりません" +"でした。" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:224 -msgid "" -"The selected video codec is not supported by AppStream and software centers " -"may not be able to play the video. Only the AV1 and VP9 codecs are currently " -"supported, using 'av1' and 'vp9' as values for the 'codec' property." -msgstr "" +#. TRANSLATORS: ascli has been run without command. +#: tools/appstreamcli.c:1206 +msgid "You need to specify a command." +msgstr "コマンドの指定が必要です。" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:231 -msgid "" -"The selected video container format is not supported by AppStream and " -"software centers may not be able to play the video. Only the WebM and " -"Matroska video containers are currently supported, using 'webm' and 'mkv' as " -"values for the 'container' property." +#. TRANSLATORS: In ascli: The requested action needs higher permissions. +#: tools/ascli-actions-mdata.c:70 +msgid "You might need superuser permissions to perform this action." msgstr "" +"この操作を実行するにはスーパーユーザー権限が必要である可能性があります。" -#: src/as-validator-issue-tag.h:283 -msgid "" -"The set component type is not a recognized, valid AppStream component type." -msgstr "" +#. we performed a cache refresh +#. TRANSLATORS: Updating the metadata cache succeeded +#: tools/ascli-actions-mdata.c:80 +msgid "AppStream cache update completed successfully." +msgstr "AppStream キャッシュのアップデートは正しく完了しました。" -#: src/as-validator-issue-tag.h:398 -msgid "" -"The set value is not an identifier for a desktop environment as registered " -"with Freedesktop.org." -msgstr "" +#. cache wasn't updated, so the update wasn't necessary +#: tools/ascli-actions-mdata.c:86 +msgid "AppStream cache update is not necessary." +msgstr "AppStream キャッシュのアップデートは必要ではありません。" + +#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments +#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. +#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:253 +#: tools/ascli-actions-pkgmgr.c:80 +msgid "You need to specify a component-ID." +msgstr "コンポーネント ID の指定が必要です。" -#: tools/ascli-actions-mdata.c:449 +#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:265 +#: tools/ascli-actions-pkgmgr.c:93 #, c-format -msgid "" -"The software component type '%s' is not valid in AppStream. Possible values " -"are:" -msgstr "" +msgid "Unable to find component with ID '%s'!" +msgstr "ID が '%s' のコンポーネントは見つかりません!" -#: src/as-validator-issue-tag.h:338 -msgid "The summary must not contain any URL. Use the tags for links." -msgstr "" +#: tools/ascli-actions-mdata.c:164 +msgid "You need to specify a term to search for." +msgstr "検索する単語の指定が必要です。" -#: src/as-validator-issue-tag.h:640 -msgid "" -"The type of the item that the component provides is not known to AppStream." -msgstr "" +#. TRANSLATORS: We failed to find any component in the database, likely due to an error +#: tools/ascli-actions-mdata.c:177 +#, c-format +msgid "Unable to find component matching %s!" +msgstr "%s に一致するコンポーネントが見つかりません!" -#: src/as-validator-issue-tag.h:174 -msgid "" -"The update-contact does not appear to be a valid email address (escaping of " -"'@' is only allowed as '_at_' or '_AT_')." -msgstr "" +#: tools/ascli-actions-mdata.c:182 +#, c-format +msgid "No component matching '%s' found." +msgstr "'%s' に一致するコンポーネントは見つかりませんでした。" + +#: tools/ascli-actions-mdata.c:206 +msgid "No value for the item to search for was defined." +msgstr "検索するアイテムの値が定義されていません。" + +#: tools/ascli-actions-mdata.c:212 +msgid "Invalid type for provided item selected. Valid values are:" +msgstr "選択した提供アイテムのタイプが無効です。有効な値は:" -#: tools/ascli-actions-validate.c:363 tools/ascli-actions-validate.c:492 +#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results +#: tools/ascli-actions-mdata.c:227 #, c-format -msgid "" -"The validator can not create reports in the '%s' format. You may select " -"'yaml' or 'text' instead." -msgstr "" +msgid "Could not find component providing '%s::%s'." +msgstr "'%s ::%s'を提供できるコンポーネントが見つかりません。" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:410 -msgid "This 'bundle' tag has an unknown type and can not be used." -msgstr "" +#: tools/ascli-actions-mdata.c:306 +msgid "You need to specify a metadata file." +msgstr "メタデータファイルの指定が必要です。" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:404 -msgid "This 'launchable' tag has an unknown type and can not be used." -msgstr "" +#: tools/ascli-actions-mdata.c:320 +#, fuzzy, c-format +msgid "Unable to install metadata file: %s" +msgstr "デスクトップエントリファイルを保存できません: %s" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:515 -msgid "" -"This 'localization' component does not define any languages this " -"localization is for." -msgstr "" +#: tools/ascli-actions-mdata.c:340 +msgid "You need to specify an input and output file." +msgstr "入力ファイルと出力ファイルの指定が必要です。" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:509 -msgid "" -"This 'localization' component is missing an 'extends' tag, to specify the " -"components it adds localization to." -msgstr "" +#: tools/ascli-actions-mdata.c:347 +#, c-format +msgid "Metadata file '%s' does not exist." +msgstr "メタデータファイル '%s' は存在しません。" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:521 +#. TRANSLATORS: User is trying to convert a file in ascli +#: tools/ascli-actions-mdata.c:387 msgid "" -"This 'service' component is missing a 'launchable' tag of type 'service'." +"Unable to convert file: Could not determine output format, please set it " +"explicitly using '--format='." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:473 -msgid "" -"This 'web-application' component is missing a 'icon' tag to specify a valid " -"icon." -msgstr "" +#: tools/ascli-actions-mdata.c:438 +#, fuzzy, c-format +msgid "Unable to find operating system component '%s'!" +msgstr "ID が '%s' のコンポーネントは見つかりません!" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:467 -msgid "" -"This 'web-application' component is missing a 'launchable' tag of type 'url'." -msgstr "" +#: tools/ascli-actions-mdata.c:443 +msgid "Version" +msgstr "バージョン" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:479 +#: tools/ascli-actions-mdata.c:467 msgid "" -"This 'web-application' component is missing categorizations. A 'categories' " -"block is likely missing." +"You need to give an AppStream software component type to generate a " +"template. Possible values are:" msgstr "" -#: src/as-validator-issue-tag.h:564 +#: tools/ascli-actions-mdata.c:469 +#, c-format msgid "" -"This XML document has an unknown root tag. Maybe this file is not a metainfo " -"document?" +"The software component type '%s' is not valid in AppStream. Possible values " +"are:" msgstr "" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand -#: tools/appstream-cli.c:680 -msgid "" -"This command takes optional TYPE and FILE positional arguments, FILE being a " -"file to write to (or \"-\" for standard output)." -msgstr "" +#: tools/ascli-actions-mdata.c:487 +#, c-format +msgid "The .desktop file '%s' does not exist." +msgstr ".desktop ファイル '%s' は存在しません。" -#: src/as-validator-issue-tag.h:622 -msgid "" -"This component extends, provides, requires or recommends itself, which is " -"certainly not intended and may confuse users or machines dealing with this " -"metadata." -msgstr "" +#: tools/ascli-actions-mdata.c:493 +#, c-format +msgid "Unable to read the .desktop file: %s" +msgstr ".desktop ファイルを読み込めません: %s" -#: src/as-validator-issue-tag.h:579 -msgid "This component metadata refers to a non-existing .desktop file." -msgstr "" +#: tools/ascli-actions-mdata.c:564 +#, c-format +msgid "Unable to build the template metainfo file: %s" +msgstr "メタ情報テンプレート ファイルを構築できません: %s" -#: src/as-validator-issue-tag.h:69 -msgid "" -"This description paragraph contains invalid markup. Currently, only " -"and are permitted." -msgstr "" +#: tools/ascli-actions-mdata.c:572 +#, c-format +msgid "Unable to save the template metainfo file: %s" +msgstr "メタ情報テンプレートファイルを保存できません: %s" -#: src/as-validator-issue-tag.h:57 -msgid "" -"This element (paragraph, list, etc.) of a tag must not be " -"localized individually in collection metadata. Localize the whole " -" tag instead. The AppStream collection metadata generator (e." -"g. `appstream-generator`) will already do the right thing when compiling the " -"data." -msgstr "" +#. TRANSLATORS: In the status report of ascli: Header +#: tools/ascli-actions-misc.c:47 +msgid "AppStream Status:" +msgstr "AppStream の状態:" -#: src/as-validator-issue-tag.h:455 -msgid "" -"This generic component is missing a long description. It may be useful to " -"add one." -msgstr "" +#: tools/ascli-actions-misc.c:48 +#, c-format +msgid "Version: %s" +msgstr "バージョン: %s" -#: src/as-validator-issue-tag.h:421 -msgid "" -"This tag is a GNOME-specific extension to AppStream and not part of the " -"official specification. Do not expect it to work in all implementations and " -"in all software centers." -msgstr "" +#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions +#: tools/ascli-actions-misc.c:52 +msgid "Distribution metadata:" +msgstr "ディストリビューションメタデータ:" -#: src/as-validator-issue-tag.h:41 -msgid "This tag requires a type property." -msgstr "" +#: tools/ascli-actions-misc.c:94 +msgid "Iconsets" +msgstr "アイコンセット" -#: data/org.freedesktop.appstream.cli.metainfo.xml:15 -msgid "" -"This tool allows for reading, writing, validating and transformation of " -"AppStream XML or YAML metadata. It also gives access to the system metadata " -"pool, for example to query for software that provides a specific MIME-type, " -"and installing it by its software component identifier." -msgstr "" +#: tools/ascli-actions-misc.c:105 +msgid "No icons." +msgstr "アイコンはありません。" -#: src/as-validator-issue-tag.h:388 -msgid "" -"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." -msgstr "" +#. TRANSLATORS: No metainfo files have been found +#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 +msgid "Empty." +msgstr "空です。" -#: tools/appstream-cli.c:648 -msgid "" -"Too many parameters: Need two version numbers or version numbers and a " -"comparison operator." -msgstr "" +#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report +#: tools/ascli-actions-misc.c:116 +msgid "Metainfo files:" +msgstr "メタ情報ファイル:" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:461 -msgid "" -"Type 'console-application' component, but no information about binaries in " -"$PATH was provided via a 'provides/binary' tag." -msgstr "" +#: tools/ascli-actions-misc.c:123 +#, c-format +msgid "Found %i components." +msgstr "%i 個のコンポーネントが見つかりました。" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:491 -msgid "" -"Type 'driver' component, but no modalias information was provided via a " -"provides/modalias tag." -msgstr "" +#. TRANSLATORS: Found metainfo files in legacy directories +#: tools/ascli-actions-misc.c:138 +#, c-format +msgid "Found %i components in legacy paths." +msgstr "レガシーパスに%iコンポーネントが見つかりました。" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:485 -msgid "" -"Type 'font' component, but no font information was provided via a 'provides/" -"font' tag." -msgstr "" +#. TRANSLATORS: Status summary in ascli +#: tools/ascli-actions-misc.c:145 +msgid "Summary:" +msgstr "要約:" -#: src/as-validator.c:333 -msgid "URL format is invalid." +#: tools/ascli-actions-misc.c:153 +#, c-format +msgid "We have information on %i software components." msgstr "" -#: tools/ascli-actions-mdata.c:544 +#: tools/ascli-actions-misc.c:159 #, c-format -msgid "Unable to build the template metainfo file: %s" -msgstr "メタ情報テンプレート ファイルを構築できません: %s" +msgid "Error while loading the metadata pool: %s" +msgstr "メタデータプールの読み込み中にエラーが発生しました: %s" -#. TRANSLATORS: User is trying to convert a file in ascli -#: tools/ascli-actions-mdata.c:400 +#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 +msgid "You need to specify a metainfo file as input." +msgstr "入力としてメタインフォファイルの指定が必要です。" + +#: tools/ascli-actions-misc.c:188 msgid "" -"Unable to convert file: Could not determine output format, please set it " -"explicitly using '--format='." +"You need to specify a desktop-entry file to create or augment as output." msgstr "" +"出力として作成したり引数に取るには、デスクトップファイルの指定が必要です。" -#. TRANSLATORS: We failed to find any component in the database, likely due to an error -#: tools/ascli-actions-mdata.c:177 +#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 +#: tools/ascli-actions-misc.c:515 #, c-format -msgid "Unable to find component matching %s!" -msgstr "%s に一致するコンポーネントが見つかりません!" +msgid "Metainfo file '%s' does not exist." +msgstr "メタデータファイル '%s' は存在しません。" -#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:266 -#: tools/ascli-actions-pkgmgr.c:93 +#: tools/ascli-actions-misc.c:219 #, c-format -msgid "Unable to find component with ID '%s'!" -msgstr "ID が '%s' のコンポーネントは見つかりません!" +msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." +msgstr "" +"既存のデスクトップエントリーファイル「%s」を「%s」のデータで拡張しています。" #: tools/ascli-actions-misc.c:224 -#, fuzzy, c-format +#, c-format msgid "Unable to load existing desktop-entry file template: %s" -msgstr ".desktop ファイルを読み込めません: %s" +msgstr "既存のデスクトップエントリファイルのテンプレートを読み込めません: %s" -#: src/as-validator-issue-tag.h:356 -msgid "Unable to reach remote icon at the given web location - does it exist?" +#: tools/ascli-actions-misc.c:228 +#, c-format +msgid "Creating new desktop-entry file '%s' using data from '%s'" msgstr "" +"「%s」のデータを使用して新しいデスクトップエントリファイル「%s」を作成してい" +"ます" -#: src/as-validator-issue-tag.h:378 -msgid "" -"Unable to reach remote location that this URL references - does it exist?" +#: tools/ascli-actions-misc.c:284 +msgid "No stock icon name was provided in the metainfo file. Can not continue." msgstr "" +"メタインフォファイルにストックアイコン名が指定されていません。続行できませ" +"ん。" -#: src/as-validator-issue-tag.h:179 +#: tools/ascli-actions-misc.c:306 msgid "" -"Unable to reach the screenshot image on its remote location - does the image " -"exist?" +"No provided binary specified in metainfo file, and no exec command specified " +"via '--exec'. Can not create 'Exec=' key." msgstr "" +"メタインフォファイルにバイナリが指定されておらず、「-exec」で指定されたexecコ" +"マンドもありません。 「Exec =」キーを作成できません。" -#: src/as-validator-issue-tag.h:184 +#: tools/ascli-actions-misc.c:370 +#, c-format +msgid "Unable to save desktop entry file: %s" +msgstr "デスクトップエントリファイルを保存できません: %s" + +#: tools/ascli-actions-misc.c:393 +#, fuzzy +msgid "You need to specify a NEWS file as input." +msgstr "メタデータファイルの指定が必要です。" + +#: tools/ascli-actions-misc.c:397 msgid "" -"Unable to reach the screenshot video on its remote location - does the video " -"file exist?" +"You need to specify a metainfo file to augment, or '-' to print to stdout." msgstr "" +"引数へのメタインフォファイルの指定が必要です。標準出力に表示する場合は '-' が" +"必要です。" -#: src/as-validator-issue-tag.h:542 -msgid "Unable to read file." -msgstr "ファイルを読み込めません。" +#: tools/ascli-actions-misc.c:402 +msgid "No output filename specified, modifying metainfo file directly." +msgstr "出力ファイル名が指定されていません。メタ情報ファイルを直接変更します。" -#: src/as-validator-issue-tag.h:574 -msgid "Unable to read the .desktop file associated with this component." -msgstr "コンポーネントに関連付けられた .desktop ファイルを読み込めません。" +#: tools/ascli-actions-misc.c:509 +#, fuzzy +msgid "You need to specify a NEWS file as output, or '-' to print to stdout." +msgstr "メタデータファイルの指定が必要です。" -#: tools/ascli-actions-mdata.c:473 -#, c-format -msgid "Unable to read the .desktop file: %s" -msgstr ".desktop ファイルを読み込めません: %s" +#: tools/ascli-actions-misc.c:540 +#, fuzzy +msgid "You need to specify a NEWS format to write the output in." +msgstr "入力ファイルと出力ファイルの指定が必要です。" -#: src/as-pool.c:606 -msgid "Unable to remove old cache." +#: tools/ascli-actions-pkgmgr.c:53 +msgid "" +"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" +"\" (part of PackageKit) is available." msgstr "" - -#: tools/ascli-actions-misc.c:370 -#, fuzzy, c-format -msgid "Unable to save desktop entry file: %s" -msgstr ".desktop ファイルを読み込めません: %s" - -#: tools/ascli-actions-mdata.c:552 -#, c-format -msgid "Unable to save the template metainfo file: %s" -msgstr "メタ情報テンプレートファイルを保存できません: %s" +"適切なパッケージマネージャーCLIが見つかりません。ご確認してください。 " +"「pkcon」(PackageKitの一部)が利用可能です。" #: tools/ascli-actions-pkgmgr.c:67 #, c-format msgid "Unable to spawn package manager: %s" msgstr "パッケージマネージャーを起動できません: %s" -#: tools/ascli-actions-mdata.c:322 +#. TRANSLATORS: We found no distribution package or bundle to install to make this software available +#: tools/ascli-actions-pkgmgr.c:106 #, c-format -msgid "Unable to write to '%s', can not install metainfo file." -msgstr "'%s' に書き込めません。メタ情報ファイルをインストールできません。" +msgid "Component '%s' has no installation candidate." +msgstr "コンポーネント '%s' にはインストール候補がありません。" -#. TRANSLATORS: ascli has been run with unknown command. -#: tools/appstream-cli.c:1009 +#: tools/ascli-actions-validate.c:176 tools/ascli-actions-validate.c:354 #, c-format -msgid "Unknown command '%s'." -msgstr "不明なコマンド '%s' です。" +msgid "File '%s' does not exist." +msgstr "ファイル '%s' は存在しません。" -#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. -#: tools/appstream-cli.c:608 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "error"-type hints +#: tools/ascli-actions-validate.c:228 #, c-format -msgid "Unknown compare relation '%s'. Valid values are:" -msgstr "" - -#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) -#: tools/appstream-cli.c:675 -msgid "" -"Use the given .desktop file to fill in the basic values of the metainfo file." -msgstr "" - -#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) -#: tools/appstream-cli.c:725 -msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." -msgstr "" - -#. TRANSLATORS: this is the menu spec main category for Utilities -#: src/as-category.c:329 -msgid "Utilities" -msgstr "ユーティリティー" +msgid "errors: %lu" +msgstr "エラー: %lu" -#: tools/appstream-cli.c:856 -msgid "Validate AppStream XML files for issues." -msgstr "" +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "warning"-type hints +#: tools/ascli-actions-validate.c:235 +#, c-format +msgid "warnings: %lu" +msgstr "警告: %lu" -#: tools/appstream-cli.c:857 -msgid "Validate an installed file-tree of an application for valid metadata." -msgstr "" +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "info"-type hints +#: tools/ascli-actions-validate.c:242 +#, c-format +msgid "infos: %lu" +msgstr "情報: %lu" -#: tools/ascli-actions-validate.c:301 tools/ascli-actions-validate.c:442 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "pedantic"-type hints +#: tools/ascli-actions-validate.c:249 #, c-format -msgid "Validation failed: %s" -msgstr "" +msgid "pedantic: %lu" +msgstr "詳細: %lu" + +#: tools/ascli-actions-validate.c:268 tools/ascli-actions-validate.c:342 +msgid "You need to specify at least one file to validate!" +msgstr "検証するファイルの指定が少なくとも一つは必要です!" -#: tools/ascli-actions-validate.c:289 tools/ascli-actions-validate.c:430 +#: tools/ascli-actions-validate.c:294 tools/ascli-actions-validate.c:435 msgid "Validation was successful." msgstr "" -#: tools/ascli-actions-validate.c:291 tools/ascli-actions-validate.c:432 +#: tools/ascli-actions-validate.c:296 tools/ascli-actions-validate.c:437 #, c-format msgid "Validation was successful: %s" msgstr "" -#: tools/appstream-cli.c:851 -msgid "Value of the item that should be found." -msgstr "" - -#: src/as-category.c:177 -msgctxt "Category of Graphics" -msgid "Vector Graphics" -msgstr "ベクターグラフィックス" - -#: tools/ascli-actions-misc.c:48 +#: tools/ascli-actions-validate.c:306 tools/ascli-actions-validate.c:447 #, c-format -msgid "Version: %s" -msgstr "バージョン: %s" - -#: src/as-category.c:180 -msgctxt "Category of Graphics" -msgid "Viewers" -msgstr "ビューアー" +msgid "Validation failed: %s" +msgstr "" -#: tools/ascli-actions-misc.c:153 +#: tools/ascli-actions-validate.c:368 tools/ascli-actions-validate.c:497 #, c-format -msgid "We have information on %i software components." +msgid "" +"The validator can not create reports in the '%s' format. You may select " +"'yaml' or 'text' instead." msgstr "" -#: src/as-category.c:270 -msgctxt "Category of Communication" -msgid "Web Browsers" -msgstr "Web ブラウザー" - -#: src/as-category.c:202 -msgctxt "Category of Office" -msgid "Word Processor" -msgstr "ワードプロセッサー" +#: tools/ascli-actions-validate.c:390 tools/ascli-actions-validate.c:484 +msgid "You need to specify a root directory to start validation!" +msgstr "検証を始めるには、ルートディレクトリの指定が必要です!" -#: tools/appstream-cli.c:871 -msgid "Write NEWS text or YAML file with information from a metainfo file." -msgstr "" +#: tools/ascli-utils.c:266 +msgid "Identifier" +msgstr "識別子" -#: tools/appstream-cli.c:874 -msgid "" -"You can find information about subcommand-specific options by passing \"--" -"help\" to the subcommand." +#: tools/ascli-utils.c:268 +msgid "Internal ID" msgstr "" -#. TRANSLATORS: In ascli: The requested action needs higher permissions. -#: tools/ascli-actions-mdata.c:70 -msgid "You might need superuser permissions to perform this action." -msgstr "" -"この操作を実行するにはスーパーユーザー権限が必要である可能性があります。" +#: tools/ascli-utils.c:269 +msgid "Name" +msgstr "名前" -#: tools/ascli-actions-mdata.c:447 -msgid "" -"You need to give an AppStream software component type to generate a " -"template. Possible values are:" -msgstr "" +#: tools/ascli-utils.c:270 +msgid "Summary" +msgstr "要約" -#: tools/appstream-cli.c:579 -msgid "" -"You need to provide at least two version numbers to compare as parameters." -msgstr "" +#: tools/ascli-utils.c:271 +msgid "Package" +msgstr "パッケージ" -#: tools/ascli-actions-misc.c:393 -#, fuzzy -msgid "You need to specify a NEWS file as input." -msgstr "メタデータファイルの指定が必要です。" +#: tools/ascli-utils.c:272 +msgid "Bundle" +msgstr "バンドル" -#: tools/ascli-actions-misc.c:509 -#, fuzzy -msgid "You need to specify a NEWS file as output, or '-' to print to stdout." -msgstr "メタデータファイルの指定が必要です。" +#: tools/ascli-utils.c:273 +msgid "Homepage" +msgstr "ホームページ" -#: tools/ascli-actions-misc.c:540 -#, fuzzy -msgid "You need to specify a NEWS format to write the output in." -msgstr "入力ファイルと出力ファイルの指定が必要です。" +#: tools/ascli-utils.c:274 +msgid "Icon" +msgstr "アイコン" -#. TRANSLATORS: ascli has been run without command. -#: tools/appstream-cli.c:925 -msgid "You need to specify a command." -msgstr "コマンドの指定が必要です。" +#. developer name +#: tools/ascli-utils.c:294 +msgid "Developer" +msgstr "開発者" -#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments -#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. -#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:254 -#: tools/ascli-actions-pkgmgr.c:80 -msgid "You need to specify a component-ID." -msgstr "コンポーネント ID の指定が必要です。" +#: tools/ascli-utils.c:300 +msgid "Extends" +msgstr "拡張" -#: tools/ascli-actions-misc.c:188 -#, fuzzy -msgid "" -"You need to specify a desktop-entry file to create or augment as output." -msgstr "検証するファイルの指定が少なくとも一つは必要です!" +#: tools/ascli-utils.c:306 +msgid "Description" +msgstr "説明" -#: tools/ascli-actions-mdata.c:309 -msgid "You need to specify a metadata file." -msgstr "メタデータファイルの指定が必要です。" +#: tools/ascli-utils.c:326 +msgid "Default Screenshot URL" +msgstr "デフォルトのスクリーンショット URL" -#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 -#, fuzzy -msgid "You need to specify a metainfo file as input." -msgstr "メタデータファイルの指定が必要です。" +#. project group +#: tools/ascli-utils.c:333 +msgid "Project Group" +msgstr "プロジェクトグループ" -#: tools/ascli-actions-misc.c:397 -#, fuzzy -msgid "" -"You need to specify a metainfo file to augment, or '-' to print to stdout." -msgstr "メタデータファイルの指定が必要です。" +#. license +#: tools/ascli-utils.c:336 +msgid "License" +msgstr "ライセンス" -#: tools/ascli-actions-validate.c:385 tools/ascli-actions-validate.c:479 -msgid "You need to specify a root directory to start validation!" -msgstr "検証を始めるには、ルートディレクトリの指定が必要です!" +#: tools/ascli-utils.c:342 +msgid "Categories" +msgstr "カテゴリー" -#: tools/ascli-actions-mdata.c:164 -msgid "You need to specify a term to search for." -msgstr "検索する単語の指定が必要です。" +#: tools/ascli-utils.c:350 +msgid "Compulsory for" +msgstr "必須的に" -#: tools/ascli-actions-mdata.c:357 -msgid "You need to specify an input and output file." -msgstr "入力ファイルと出力ファイルの指定が必要です。" +#: tools/ascli-utils.c:378 +msgid "Provided Items" +msgstr "指定されたアイテム" -#: tools/ascli-actions-validate.c:263 tools/ascli-actions-validate.c:337 -msgid "You need to specify at least one file to validate!" -msgstr "検証するファイルの指定が少なくとも一つは必要です!" +#, fuzzy, c-format +#~ msgid "Unable to open new cache file: %s" +#~ msgstr ".desktop ファイルを読み込めません: %s" -#. TRANSLATORS: List of "grey-listed" words sperated with ";" -#. * Do not translate this list directly. Instead, -#. * provide a list of words in your language that people are likely -#. * to include in a search but that should normally be ignored in -#. * the search. -#. -#: src/as-pool.c:107 -msgid "app;application;package;program;programme;suite;tool" -msgstr "" -"app;application;package;program;programme;suite;tool;アプリ;アプリケーション;" -"パッケージ;プログラム;スイート;ツール" +#~ msgid "" +#~ "AppStream is a cross-distribution specification to provide metadata about " +#~ "software components." +#~ msgstr "" +#~ "AppStream は、ソフトウェアコンポーネントに関するメタデータを提供するため" +#~ "の、ディストリビューション間で共通の仕様です。" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:223 #, c-format -msgid "errors: %lu" -msgstr "エラー: %lu" +#~ msgid "Unable to write to '%s', can not install metainfo file." +#~ msgstr "'%s' に書き込めません。メタ情報ファイルをインストールできません。" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:237 #, c-format -msgid "infos: %lu" -msgstr "情報: %lu" +#~ msgid "" +#~ "Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " +#~ "suffix." +#~ msgstr "" +#~ "'%s' をコピーできません。ファイルの拡張子が '.metainfo.xml' または '." +#~ "appdata.xml' ではありません。" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:244 -#, c-format -msgid "pedantic: %lu" -msgstr "詳細: %lu" +#~ msgid "An item type (e.g. lib, bin, python3, …)" +#~ msgstr "アイテムの種類 (例: lib、bin、python3 など)" + +#~ msgid "Get components which provide the given item." +#~ msgstr "指定されたアイテムを提供するコンポーネントを取得します。" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:230 #, c-format -msgid "warnings: %lu" -msgstr "警告: %lu" +#~ msgid "Unknown command '%s'." +#~ msgstr "不明なコマンド '%s' です。" diff -Nru appstream-0.12.10/po/ko.po appstream-0.14.5/po/ko.po --- appstream-0.12.10/po/ko.po 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/po/ko.po 2021-08-28 20:15:28.000000000 +0000 @@ -1,3 +1,4 @@ +# #-#-#-#-# ko.po (AppStream) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Matthias Klumpp # This file is distributed under the same license as the appstream package. @@ -6,1466 +7,2183 @@ # Shinjo Park , 2015 # Seong-ho Cho , 2015-2016 # Shinjo Park , 2015 +# 가석현 , 2020. +# 이정희 , 2020. +# #-#-#-#-# ko.po (appstream-glib) #-#-#-#-# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Shinjo Park , 2015 +# Seong-ho Cho , 2015-2016 +# Shinjo Park , 2015 +# Richard Hughes , 2016. #zanata +#, fuzzy msgid "" msgstr "" -"Project-Id-Version: AppStream\n" +"Project-Id-Version: appstream-glib\n" "Report-Msgid-Bugs-To: appstream@lists.freedesktop.org\n" -"POT-Creation-Date: 2020-01-14 01:44+0100\n" -"PO-Revision-Date: 2019-05-05 04:47+0000\n" -"Last-Translator: Jun Hyung Shin \n" -"Language-Team: Korean \n" +"POT-Creation-Date: 2021-08-28 16:09+0200\n" +"PO-Revision-Date: 2016-08-06 03:00+0000\n" +"Last-Translator: Copied by Zanata \n" +"Language-Team: Korean (http://www.transifex.com/freedesktop/appstream-glib/" +"language/ko/)\n" "Language: ko\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"#-#-#-#-# ko.po (AppStream) #-#-#-#-#\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 3.7-dev\n" - -#: tools/appstream-cli.c:157 -#, c-format -msgid "'%s' command" -msgstr "'%s' 명령어" - -#: src/as-category.c:168 -msgctxt "Category of Graphics" -msgid "3D Graphics" -msgstr "3D 그래픽" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:254 -msgid "" -"A 'requires' or 'recommends' item requires a value to denote a valid " -"relation." -msgstr "" - -#: src/as-validator-issue-tag.h:51 -msgid "" -"A tag must not be localized in metainfo files (upstream " -"metadata). Localize the individual paragraphs instead." -msgstr "" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:195 -msgid "" -"A screenshot must contain at least one image or video in order to be useful. " -"Please add an to it." -msgstr "" - -#: src/as-validator-issue-tag.h:200 -msgid "" -"A screenshot must contain either images or videos, but not both at the same " -"time. Please use this screenshot exclusively for either static images or for " -"videos." -msgstr "" - -#: src/as-category.c:123 -msgctxt "Category of Games" -msgid "Action" -msgstr "동작" - -#. TRANSLATORS: this is the main category for Add-ons -#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor -#: src/as-category.c:320 tools/ascli-utils.c:398 -msgid "Add-ons" -msgstr "애드-온" - -#: src/as-category.c:126 -msgctxt "Category of Games" -msgid "Adventure" -msgstr "어드벤처" - -#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) -#: tools/appstream-cli.c:116 -msgid "Also show pedantic hints." -msgstr "검증할 때 세세한 힌트도 출력." - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:497 -msgid "" -"An 'extends' tag is specified, but the component is not of type 'addon', " -"'localization' or 'repository'." -msgstr "" +"X-Generator: Weblate 4.1\n" +"#-#-#-#-# ko.po (appstream-glib) #-#-#-#-#\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Zanata 4.6.2\n" -#: tools/appstream-cli.c:850 -msgid "An item type (e.g. lib, bin, python3, …)" -msgstr "항목 형식 (예: lib, bin, python3, ...)" +#: data/org.freedesktop.appstream.cli.metainfo.xml:8 +msgid "AppStream CLI" +msgstr "AppStream CLI(명령 줄 인터페이스)" #: data/org.freedesktop.appstream.cli.metainfo.xml:9 msgid "An utility to work with AppStream metadata" msgstr "AppStream 메타 데이터 작업용 유틸리티" -#: data/org.freedesktop.appstream.cli.metainfo.xml:8 -msgid "AppStream CLI" -msgstr "AppStream CLI(Command Line Interface)" - -#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. -#: tools/appstream-cli.c:947 -#, c-format -msgid "" -"AppStream CLI tool version: %s\n" -"AppStream library version: %s" -msgstr "" -"AppStream CLI 도구 버전: %s\n" -"AppStream 라이브러리 버전: %s" - -#. TRANSLATORS: In the status report of ascli: Header -#: tools/ascli-actions-misc.c:47 -msgid "AppStream Status:" -msgstr "AppStream 상태:" - -#. we performed a cache refresh -#. TRANSLATORS: Updating the metadata cache succeeded -#: tools/ascli-actions-mdata.c:80 -msgid "AppStream cache update completed successfully." -msgstr "AppStream 캐시 업데이트를 성공적으로 마쳤습니다." - -#. cache wasn't updated, so the update wasn't necessary -#: tools/ascli-actions-mdata.c:86 -msgid "AppStream cache update is not necessary." -msgstr "AppStream 캐시 업데이트가 필요하지 않습니다." - -#. TRANSLATORS: This is the header to the --help menu for subcommands -#. TRANSLATORS: This is the header to the --help menu -#: tools/appstream-cli.c:154 tools/appstream-cli.c:843 -msgid "AppStream command-line interface" -msgstr "AppStream 명령문 인터페이스" - -#: src/as-validator-issue-tag.h:63 -msgid "" -"AppStream descriptions support only a limited set of tags to format text: " -"Paragraphs (

                                                                                                                                                                                                                                            ) and lists (

                                                                                                                                                                                                                                              ,
                                                                                                                                                                                                                                                ). This description markup contains " -"an invalid XML tag that would not be rendered correctly in applications " -"supporting the metainfo specification." -msgstr "" - #: data/org.freedesktop.appstream.cli.metainfo.xml:12 -#, fuzzy msgid "" -"AppStream is a cross-distribution specification to provide metadata about " -"software components." +"AppStream is a metadata specification which permits software components to " +"provide information about themselves to automated systems and end-users " +"before the software is actually installed. The AppStream project provides " +"facilities to easily access and transform this metadata, as well as a few " +"additional services for building feature-rich software centers and similar " +"applications that make use of software metadata." +msgstr "" + +#: data/org.freedesktop.appstream.cli.metainfo.xml:18 +#, fuzzy +msgid "" +"The appstreamcli command-line tool allows to read, write, and " +"transform AppStream XML or YAML metadata as well as to validate it for " +"compliance with the specification. It also provides easy access to the " +"system metadata pool, for example to query for software that provides a " +"specific Mediatype handler or for installing software by its component " +"identifier." msgstr "" -"AppStream은 소프트웨어 구성 요소에 대한 메타 데이터를 제공하는 교차 배포 사양" -"입니다." +"이 도구는 AppStream XML 또는 YAML 메타 데이터의 읽기, 쓰기, 유효성 검사 및 변" +"환을 허용합니다. 또한 시스템 메타 데이터 풀에 대한 액세스를 제공합니다, 예를 " +"들면 특정 MIME 유형을 제공하는 소프트웨어를 쿼리 하며 소프트웨어 구성 요소 식" +"별자로 설치합니다." -#: src/as-pool.c:1937 -#, fuzzy, c-format -msgid "" -"AppStream system cache refresh failed. Turn on verbose mode to get detailed " -"issue information." -msgstr "" -"AppStream 캐시 업데이트에 실패했습니다. 상세 정보를 얻으려면 자세한 정보 보" -"기 모드를 켜주세요." +#: src/as-category.c:66 +msgctxt "Category of AudioVideo" +msgid "Featured" +msgstr "추천" -#. TRANSLATORS: Output if appstreamcli --version is executed. -#: tools/appstream-cli.c:944 -#, c-format -msgid "AppStream version: %s" -msgstr "AppStream 버전: %s" +#: src/as-category.c:69 +msgctxt "Category of AudioVideo" +msgid "Audio Creation & Editing" +msgstr "오디오 생성 & 편집" -#: src/as-category.c:129 -msgctxt "Category of Games" -msgid "Arcade" -msgstr "아케이드" +#: src/as-category.c:75 +msgctxt "Category of AudioVideo" +msgid "Music Players" +msgstr "음악 플레이어" -#: src/as-category.c:234 -msgctxt "Category of Science" -msgid "Artificial Intelligence" -msgstr "인공 지능" +#: src/as-category.c:84 +msgctxt "Category of Development" +msgid "Featured" +msgstr "추천" -#: src/as-validator-issue-tag.h:91 -msgid "" -"As per AppStream specification, the mentioned tag must only appear once in " -"this context. Having multiple tags of this kind is not valid." -msgstr "" +#: src/as-category.c:87 +msgctxt "Category of Development" +msgid "Debuggers" +msgstr "디버거" -#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command -#: tools/appstream-cli.c:766 -msgid "Assume the input file is in the selected format ('yaml' or 'text')." -msgstr "" +#: src/as-category.c:90 +msgctxt "Category of Development" +msgid "IDEs" +msgstr "IDE" -#: src/as-category.c:101 +#: src/as-category.c:99 msgctxt "Category of Education" -msgid "Astronomy" -msgstr "천문학" +msgid "Featured" +msgstr "추천" -#: src/as-category.c:237 -msgctxt "Category of Science" +#: src/as-category.c:102 +msgctxt "Category of Education" msgid "Astronomy" msgstr "천문학" -#. TRANSLATORS: this is the menu spec main category for Audio & Video -#: src/as-category.c:302 -msgid "Audio & Video" -msgstr "오디오 & 비디오" +#: src/as-category.c:105 +msgctxt "Category of Education" +msgid "Chemistry" +msgstr "화학" -#: src/as-category.c:68 -msgctxt "Category of AudioVideo" -msgid "Audio Creation & Editing" -msgstr "오디오 생성 & 편집" +#: src/as-category.c:108 +msgctxt "Category of Education" +msgid "Languages" +msgstr "언어" -#: tools/ascli-actions-misc.c:219 -#, c-format -msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." -msgstr "" +#: src/as-category.c:112 +msgctxt "Category of Education" +msgid "Math" +msgstr "수학" -#: src/as-provided.c:146 -msgid "Binaries" -msgstr "바이너리" +#: src/as-category.c:121 +msgctxt "Category of Games" +msgid "Featured" +msgstr "추천" + +#: src/as-category.c:124 +msgctxt "Category of Games" +msgid "Action" +msgstr "동작" + +#: src/as-category.c:127 +msgctxt "Category of Games" +msgid "Adventure" +msgstr "어드벤처" + +#: src/as-category.c:130 +msgctxt "Category of Games" +msgid "Arcade" +msgstr "아케이드" -#: src/as-category.c:132 +#: src/as-category.c:133 msgctxt "Category of Games" msgid "Blocks" msgstr "블록" -#: src/as-category.c:135 +#: src/as-category.c:136 msgctxt "Category of Games" msgid "Board" msgstr "보드" -#: tools/ascli-utils.c:299 -msgid "Bundle" -msgstr "번들" - -#: src/as-pool.c:1828 -#, c-format -msgid "Cache location '%s' is not writable." -msgstr "'%s' 캐시 위치에 기록할 수 없습니다." - -#: src/as-category.c:191 -msgctxt "Category of Office" -msgid "Calendar" -msgstr "달력" - -#: tools/ascli-actions-mdata.c:327 -#, c-format -msgid "" -"Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " -"suffix." -msgstr "" -"'%s'을(를) 복사할 수 없음: '.metainfo.xml' 또는 '.appdata.xml' 파일 확장자가 " -"아닙니다." - -#: src/as-category.c:138 +#: src/as-category.c:139 msgctxt "Category of Games" msgid "Card" msgstr "카드" -#: tools/ascli-utils.c:369 -msgid "Categories" -msgstr "카테고리" +#: src/as-category.c:142 +msgctxt "Category of Games" +msgid "Emulators" +msgstr "에뮬레이터" -#: src/as-category.c:259 -msgctxt "Category of Communication" -msgid "Chat" -msgstr "채팅" +#: src/as-category.c:145 +msgctxt "Category of Games" +msgid "Kids" +msgstr "어린이" -#: src/as-category.c:104 -msgctxt "Category of Education" -msgid "Chemistry" -msgstr "화학" +#: src/as-category.c:148 +msgctxt "Category of Games" +msgid "Logic" +msgstr "로직" -#: src/as-category.c:240 -msgctxt "Category of Science" -msgid "Chemistry" -msgstr "화학" +#: src/as-category.c:151 +msgctxt "Category of Games" +msgid "Role Playing" +msgstr "롤 플레잉" -#: src/as-category.c:214 -msgctxt "Category of Addons" -msgid "Codecs" -msgstr "코덱" +#: src/as-category.c:154 +msgctxt "Category of Games" +msgid "Sports" +msgstr "스포츠" -#. TRANSLATORS: this is the menu spec main category for Communication -#: src/as-category.c:326 -msgid "Communication & News" -msgstr "커뮤니케이션 & 뉴스" +#: src/as-category.c:158 +msgctxt "Category of Games" +msgid "Strategy" +msgstr "전략" -#: tools/appstream-cli.c:866 -msgid "Compare two version numbers." -msgstr "두 버전 비교하기." +#: src/as-category.c:166 +msgctxt "Category of Graphics" +msgid "Featured" +msgstr "추천" -#: src/as-provided.c:166 -msgid "Component" -msgstr "구성 요소" +#: src/as-category.c:169 +msgctxt "Category of Graphics" +msgid "3D Graphics" +msgstr "3D 그래픽" -#. TRANSLATORS: We found no distribution package or bundle to install to make this software available -#: tools/ascli-actions-pkgmgr.c:106 -#, c-format -msgid "Component '%s' has no installation candidate." -msgstr "'%s' 구성 요소는 설치 대상이 아닙니다." +#: src/as-category.c:172 +msgctxt "Category of Graphics" +msgid "Photography" +msgstr "사진" -#: tools/ascli-utils.c:377 -msgid "Compulsory for" -msgstr "다음의 필수 사항" +#: src/as-category.c:175 +msgctxt "Category of Graphics" +msgid "Scanning" +msgstr "스캐닝" -#: src/as-validator-issue-tag.h:361 -msgid "Consider using a secure (HTTPS) URL for the remote icon link." -msgstr "" +#: src/as-category.c:178 +msgctxt "Category of Graphics" +msgid "Vector Graphics" +msgstr "벡터 그래픽" -#: src/as-validator-issue-tag.h:383 -msgid "Consider using a secure (HTTPS) URL for this web link." -msgstr "" +#: src/as-category.c:181 +msgctxt "Category of Graphics" +msgid "Viewers" +msgstr "뷰어" -#: src/as-validator-issue-tag.h:189 -msgid "" -"Consider using a secure (HTTPS) URL to reference this screenshot image or " -"video." +#: src/as-category.c:189 +msgctxt "Category of Office" +msgid "Featured" +msgstr "추천" + +#: src/as-category.c:192 +msgctxt "Category of Office" +msgid "Calendar" +msgstr "달력" + +#: src/as-category.c:196 +msgctxt "Category of Office" +msgid "Database" +msgstr "데이터베이스" + +#: src/as-category.c:199 +msgctxt "Category of Office" +msgid "Finance" +msgstr "재원" + +#: src/as-category.c:203 +msgctxt "Category of Office" +msgid "Word Processor" +msgstr "워드 프로세서" + +#: src/as-category.c:212 +msgctxt "Category of Addons" +msgid "Fonts" +msgstr "글꼴" + +#: src/as-category.c:215 +msgctxt "Category of Addons" +msgid "Codecs" +msgstr "코덱" + +#: src/as-category.c:218 +msgctxt "Category of Addons" +msgid "Input Sources" +msgstr "입력 소스" + +#: src/as-category.c:221 +msgctxt "Category of Addons" +msgid "Language Packs" +msgstr "언어 팩" + +#: src/as-category.c:224 +msgctxt "Category of Addons" +msgid "Localization" +msgstr "현지화" + +#: src/as-category.c:232 +msgctxt "Category of Science" +msgid "Featured" +msgstr "추천" + +#: src/as-category.c:235 +msgctxt "Category of Science" +msgid "Artificial Intelligence" +msgstr "인공 지능" + +#: src/as-category.c:238 +msgctxt "Category of Science" +msgid "Astronomy" +msgstr "천문학" + +#: src/as-category.c:241 +msgctxt "Category of Science" +msgid "Chemistry" +msgstr "화학" + +#: src/as-category.c:244 +msgctxt "Category of Science" +msgid "Math" +msgstr "수학" + +#: src/as-category.c:249 +msgctxt "Category of Science" +msgid "Robotics" +msgstr "로봇 공학" + +#: src/as-category.c:257 +msgctxt "Category of Communication" +msgid "Featured" +msgstr "추천" + +#: src/as-category.c:260 +msgctxt "Category of Communication" +msgid "Chat" +msgstr "채팅" + +#: src/as-category.c:267 +msgctxt "Category of Communication" +msgid "News" +msgstr "뉴스" + +#: src/as-category.c:271 +msgctxt "Category of Communication" +msgid "Web Browsers" +msgstr "웹 브라우저" + +#: src/as-category.c:279 +msgctxt "Category of Utility" +msgid "Featured" +msgstr "추천" + +#: src/as-category.c:282 +msgctxt "Category of Utility" +msgid "Text Editors" +msgstr "텍스트 에디터" + +#: src/as-category.c:285 +msgctxt "Category of Utility" +msgid "Terminal Emulators" +msgstr "터미널 에뮬레이터" + +#: src/as-category.c:288 +msgctxt "Category of Utility" +msgid "File System" +msgstr "파일 시스템" + +#: src/as-category.c:291 +msgctxt "Category of Utility" +msgid "System Monitoring" +msgstr "시스템 모니터링" + +#: src/as-category.c:294 +msgctxt "Category of Utility" +msgid "Security" +msgstr "보안" + +#. TRANSLATORS: this is the menu spec main category for Audio & Video +#: src/as-category.c:303 +msgid "Audio & Video" +msgstr "오디오 & 비디오" + +#. TRANSLATORS: this is the menu spec main category for Development +#: src/as-category.c:306 +msgid "Developer Tools" +msgstr "개발자 도구" + +#. TRANSLATORS: this is the menu spec main category for Education +#: src/as-category.c:309 +msgid "Education" +msgstr "교육" + +#. TRANSLATORS: this is the menu spec main category for Game +#: src/as-category.c:312 +msgid "Games" +msgstr "게임" + +#. TRANSLATORS: this is the menu spec main category for Graphics +#: src/as-category.c:315 +msgid "Graphics & Photography" +msgstr "그래픽 & 사진" + +#. TRANSLATORS: this is the menu spec main category for Office +#: src/as-category.c:318 +msgid "Office" +msgstr "오피스" + +#. TRANSLATORS: this is the main category for Add-ons +#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor +#: src/as-category.c:321 tools/ascli-utils.c:371 +msgid "Add-ons" +msgstr "부가기능" + +#. TRANSLATORS: this is the menu spec main category for Science +#: src/as-category.c:324 +msgid "Science" +msgstr "과학" + +#. TRANSLATORS: this is the menu spec main category for Communication +#: src/as-category.c:327 +msgid "Communication & News" +msgstr "커뮤니케이션 & 뉴스" + +#. TRANSLATORS: this is the menu spec main category for Utilities +#: src/as-category.c:330 +msgid "Utilities" +msgstr "유틸리티" + +#. TRANSLATORS: This is the formatting of English and localized name +#. * of the rating e.g. "Adults Only (solo adultos)" +#: src/as-content-rating.c:298 +#, c-format +msgid "%s (%s)" +msgstr "%s (%s)" + +#: src/as-content-rating.c:444 +msgid "General" +msgstr "일반" + +#: src/as-content-rating.c:453 +msgid "ALL" +msgstr "모두" + +#: src/as-content-rating.c:457 src/as-content-rating.c:560 +msgid "Adults Only" +msgstr "성인 전용" + +#: src/as-content-rating.c:459 src/as-content-rating.c:559 +msgid "Mature" +msgstr "성인용" + +#: src/as-content-rating.c:461 src/as-content-rating.c:558 +msgid "Teen" +msgstr "10대" + +#: src/as-content-rating.c:463 src/as-content-rating.c:557 +msgid "Everyone 10+" +msgstr "10세이상 전연령용" + +#: src/as-content-rating.c:465 src/as-content-rating.c:556 +msgid "Everyone" +msgstr "전연령용" + +#: src/as-content-rating.c:467 src/as-content-rating.c:555 +msgid "Early Childhood" +msgstr "영유아용" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:839 +msgid "No cartoon violence" +msgstr "만화 수준 폭력 내용 없음" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:841 +msgid "Cartoon characters in unsafe situations" +msgstr "안전하지 않은 상황의 만화 주인공 표현" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:843 +msgid "Cartoon characters in aggressive conflict" +msgstr "적극적 폭력 상황의 만화 주인공 표현" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:845 +msgid "Graphic violence involving cartoon characters" +msgstr "만화 주인공의 그래픽 폭력" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:850 +msgid "No fantasy violence" +msgstr "판타지 폭력 내용 없음" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:852 +msgid "Characters in unsafe situations easily distinguishable from reality" +msgstr "실제와 구분할 수 있는 안전하지 않은 상황의 등장 인물 표현" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:854 +msgid "Characters in aggressive conflict easily distinguishable from reality" +msgstr "실제와 구분할 수 있는 적극적 폭력 상황의 등장 인물 표현" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:856 +msgid "Graphic violence easily distinguishable from reality" +msgstr "실제와 구분할 수 있는 그래픽 폭력" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:861 +msgid "No realistic violence" +msgstr "폭력 재현 내용 없음" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:863 +msgid "Mildly realistic characters in unsafe situations" +msgstr "실제와 비슷하게 안전하지 않은 상황의 등장 인물 표현" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:865 +msgid "Depictions of realistic characters in aggressive conflict" +msgstr "실제에 가깝게 적극적 폭력 상황의 등장 인물 표현" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:867 +msgid "Graphic violence involving realistic characters" +msgstr "실제에 가까운 적극적 그래픽 폭력" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:872 +msgid "No bloodshed" +msgstr "유혈 장면 없음" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:874 +msgid "Unrealistic bloodshed" +msgstr "비현실적 혈흔" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:876 +msgid "Realistic bloodshed" +msgstr "현실적 혈흔" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:878 +msgid "Depictions of bloodshed and the mutilation of body parts" +msgstr "혈흔 묘사 및 사지 절단" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:883 +msgid "No sexual violence" +msgstr "성폭력 내용 없음" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:885 +msgid "Rape or other violent sexual behavior" +msgstr "강간/기타 금지 성 행위" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:892 +msgid "No references to alcohol" +msgstr "알콜 음료 언급 없음" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:894 +msgid "References to alcoholic beverages" +msgstr "알콜 음료 언급" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:896 +msgid "Use of alcoholic beverages" +msgstr "알콜 음료 활용" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:902 +msgid "No references to illicit drugs" +msgstr "불법 약물 언급 없음" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:904 +msgid "References to illicit drugs" +msgstr "불법 약물 언급" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:906 +msgid "Use of illicit drugs" +msgstr "불법 약물 활용" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:912 +msgid "No references to tobacco products" +msgstr "담배 상품 언급 없음" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:914 +msgid "References to tobacco products" +msgstr "담배 상품 언급" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:916 +msgid "Use of tobacco products" +msgstr "담배 상품 활용" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:922 +msgid "No nudity of any sort" +msgstr "나체 표현 내용 없음" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:924 +msgid "Brief artistic nudity" +msgstr "대략적인 예술 전라 표현" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:926 +msgid "Prolonged nudity" +msgstr "지속적인 전라 표현" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:932 +msgid "No references to or depictions of sexual nature" +msgstr "성적 표현 언급 또는 묘사 없음" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:934 +msgid "Provocative references or depictions" +msgstr "도발적 표현 언급 또는 묘사" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:936 +msgid "Sexual references or depictions" +msgstr "성적 표현 언급 또는 묘사" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:938 +msgid "Graphic sexual behavior" +msgstr "그래픽 성 행위" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:943 +msgid "No profanity of any kind" +msgstr "비속어 없음" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:945 +msgid "Mild or infrequent use of profanity" +msgstr "온화하거나 드문 모독 표현" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:947 +msgid "Moderate use of profanity" +msgstr "어중간한 모독 표현" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:949 +msgid "Strong or frequent use of profanity" +msgstr "강렬하거나 빈번한 모독 표현" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:954 +msgid "No inappropriate humor" +msgstr "부적절한 유머 없음" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:956 +msgid "Slapstick humor" +msgstr "슬랩스틱 유머" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:958 +msgid "Vulgar or bathroom humor" +msgstr "3류/화장실 유머" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:960 +msgid "Mature or sexual humor" +msgstr "성인/성 유머" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:965 +msgid "No discriminatory language of any kind" +msgstr "차별 문구 없음" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:967 +msgid "Negativity towards a specific group of people" +msgstr "특정 인물 집단에 대한 부정" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:969 +msgid "Discrimination designed to cause emotional harm" +msgstr "감정적 해를 끼치도록 의도한 차별" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:971 +msgid "Explicit discrimination based on gender, sexuality, race or religion" +msgstr "성, 인종, 종교에 기반한 적나라한 차별" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:976 +msgid "No advertising of any kind" +msgstr "광고 내용 없음" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:978 +msgid "Product placement" +msgstr "제품 배치" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:980 +msgid "Explicit references to specific brands or trademarked products" +msgstr "특정 브랜드 및 상표 등록 제품을 명백하게 언급" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:982 +msgid "Users are encouraged to purchase specific real-world items" +msgstr "특정 실물 구매를 장려" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:987 +msgid "No gambling of any kind" +msgstr "도박 내용 없음" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:989 +msgid "Gambling on random events using tokens or credits" +msgstr "토큰 또는 크레딧을 활용한 임의 이벤트 도박" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:991 +msgid "Gambling using “play” money" +msgstr "“게임” 머니 활용 도박" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:993 +msgid "Gambling using real money" +msgstr "현금 활용 도박" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:998 +msgid "No ability to spend money" +msgstr "현금 소비 기능 없음" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1000 +msgid "Users are encouraged to donate real money" +msgstr "현금 기부 장려" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1003 +msgid "Ability to spend real money in-app" +msgstr "앱 내 현금 소비성" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1008 +msgid "No way to chat with other users" +msgstr "다른 사용자와의 문장 대화 기능 없음" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1010 +msgid "User-to-user interactions without chat functionality" +msgstr "문장 대화 없는 사용자간 교류" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1012 +msgid "Moderated chat functionality between users" +msgstr "사용자간 중재 문장 대화 기능" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1014 +msgid "Uncontrolled chat functionality between users" +msgstr "사용자간 비통제 문장 대화 기능" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1019 +msgid "No way to talk with other users" +msgstr "다른 사용자와의 음성 대화 기능 없음" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1021 +msgid "Uncontrolled audio or video chat functionality between users" +msgstr "사용자간 비통제 영상/음성 대화 기능" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1028 +msgid "No sharing of social network usernames or email addresses" +msgstr "소셜 네트워크 사용자 이름 또는 전자메일 주소를 공유하지 않음" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1030 +msgid "Sharing social network usernames or email addresses" +msgstr "소셜 네트워크 사용자 이름 또는 전자메일 주소를 공유함" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1037 +msgid "No sharing of user information with third parties" +msgstr "사용자 정보를 제 3자와 공유하지 않음" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1039 +msgid "Checking for the latest application version" +msgstr "프로그램 최신 버전 확인" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1041 +msgid "Sharing diagnostic data that does not let others identify the user" +msgstr "사용자를 식별할 수 없는 진단 데이터 공유" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1043 +msgid "Sharing information that lets others identify the user" +msgstr "사용자 상호 식별 가능한 정보 공유" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1048 +msgid "No sharing of physical location with other users" +msgstr "실제 위치를 다른 사용자에게 공유하지 않음" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1050 +msgid "Sharing physical location with other users" +msgstr "실제 위치를 다른 사용자에게 공유함" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1073 +msgid "No references to homosexuality" +msgstr "동성애 언급 없음" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1075 +msgid "Indirect references to homosexuality" +msgstr "동성애 간접 언급" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1077 +msgid "Kissing between people of the same gender" +msgstr "동성간의 키스" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1079 +msgid "Graphic sexual behavior between people of the same gender" +msgstr "동성간의 성적 행동 화면 표현" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1084 +msgid "No references to prostitution" +msgstr "매춘 언급 없음" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1086 +msgid "Indirect references to prostitution" +msgstr "매춘 간접 언급" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1088 +msgid "Direct references to prostitution" +msgstr "매춘 직접 언급" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1090 +msgid "Graphic depictions of the act of prostitution" +msgstr "매춘 행위 화면 묘사" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1095 +msgid "No references to adultery" +msgstr "간통 언급 없음" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1097 +msgid "Indirect references to adultery" +msgstr "간통 간접 언급" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1099 +msgid "Direct references to adultery" +msgstr "간통 직접 언급" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1101 +msgid "Graphic depictions of the act of adultery" +msgstr "간통 행위 화면 묘사" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1106 +msgid "No sexualized characters" +msgstr "성적 대상화 주인공 없음" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1109 +msgid "Scantily clad human characters" +msgstr "반라 인간상" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1111 +msgid "Overtly sexualized human characters" +msgstr "명백히 성적 매력을 부여한 인간상" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1116 +msgid "No references to desecration" +msgstr "신성 모독 언급 없음" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1118 +msgid "Depictions of or references to historical desecration" +msgstr "역사적 신성 모독 표현 또는 언급" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1120 +msgid "Depictions of modern-day human desecration" +msgstr "현대식 인간 모독 표현" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1122 +msgid "Graphic depictions of modern-day desecration" +msgstr "현대식 모독 화면 묘사" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1127 +msgid "No visible dead human remains" +msgstr "명확하지 않은 죽은 인간 시신 묘사" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1129 +msgid "Visible dead human remains" +msgstr "명확한 죽은 인간 시신 묘사" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1131 +msgid "Dead human remains that are exposed to the elements" +msgstr "실외에 노출된 죽은 인간 시신 묘사" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1133 +msgid "Graphic depictions of desecration of human bodies" +msgstr "인간 신체 모독 화면 묘사" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1138 +msgid "No references to slavery" +msgstr "노예제도 언급 없음" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1140 +msgid "Depictions of or references to historical slavery" +msgstr "역사적 노예 모독 표현 또는 언급" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1142 +msgid "Depictions of modern-day slavery" +msgstr "현대식 노예제도 표현" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1144 +msgid "Graphic depictions of modern-day slavery" +msgstr "현대식 노예제도 화면 묘사" + +#. TRANSLATORS: We got a 429 error while trying to download data +#: src/as-curl.c:134 +#, c-format +msgid "Failed to download due to server limit" msgstr "" -#: tools/appstream-cli.c:870 -msgid "Convert a YAML or text NEWS file into metainfo releases." +#: src/as-curl.c:141 src/as-curl.c:148 +#, fuzzy, c-format +msgid "Failed to download file: %s" +msgstr "해당 .desktop 파일을 읽을 수 없습니다: %s" + +#. TRANSLATORS: We tried to download an URL, but received a 404 error code +#: src/as-curl.c:157 +#, c-format +msgid "URL was not found on the server." msgstr "" -#. TRANSLATORS: "convert" command in ascli. "Collection XML" is a term describing a specific type of AppStream XML data. -#: tools/appstream-cli.c:865 -msgid "Convert collection XML to YAML or vice versa." -msgstr "컬렉션 XML을 YAML로 변환하시거나 그 반대로 하세요." +#. TRANSLATORS: We received an uexpected HTTP status code while talking to a server, likely an error +#: src/as-curl.c:164 +#, c-format +msgid "Unexpected status code: %ld" +msgstr "" -#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results -#: tools/ascli-actions-mdata.c:228 +#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty +#: src/as-curl.c:247 #, c-format -msgid "Could not find component providing '%s::%s'." -msgstr "'%s::%s' 을(를) 제공하는 구성요소를 찾을 수 없습니다." +msgid "Retrieved file size was zero." +msgstr "" -#: tools/appstream-cli.c:869 -msgid "Create a XDG desktop-entry file from a metainfo file." +#. TRANSLATORS: List of "grey-listed" words sperated with ";" +#. * Do not translate this list directly. Instead, +#. * provide a list of words in your language that people are likely +#. * to include in a search but that should normally be ignored in +#. * the search. +#. +#: src/as-pool.c:111 +msgid "app;application;package;program;programme;suite;tool" +msgstr "앱;애플리케이션;패키지;프로그램;프로그램;모음;도구" + +#: src/as-pool.c:620 +msgid "Unable to remove old cache." msgstr "" -#: tools/appstream-cli.c:868 +#: src/as-pool.c:963 +msgid "Metadata files have errors:" +msgstr "메타데이터 파일에 오류가 있습니다:" + +#: src/as-pool.c:1370 msgid "" -"Create a template for a metainfo file (to be filled out by the upstream " -"project)." -msgstr "업스트림 프로젝트로 채울 metainfo 파일의 템플릿을 만듭니다." +"Many components have been recognized as invalid. See debug output for " +"details." +msgstr "" +"많은 구성품(코드)들이 허가되지 않은 상태로 인식될 수 있습니다. 자세한 사항은 " +"디버깅을 통해서 살펴보세요." -#: tools/ascli-actions-misc.c:228 +#: src/as-pool.c:1996 #, c-format -msgid "Creating new desktop-entry file '%s' using data from '%s'" -msgstr "" +msgid "Cache location '%s' is not writable." +msgstr "'%s' 캐시 위치에 기록할 수 없습니다." -#: src/as-provided.c:160 +#: src/as-pool.c:2109 #, fuzzy -msgid "D-Bus Session Services" -msgstr "DBus 세션 서비스" +msgid "" +"The AppStream system cache was updated, but some components were ignored. " +"Refer to the verbose log for more information." +msgstr "" +"AppStream 시스템 캐시는 업데이트했지만 메타데이터를 유실할 수 있는 일부 오류" +"가 발견되었습니다. 자세한 정보는 로그를 참고하세요." -#: src/as-provided.c:158 -#, fuzzy -msgid "D-Bus System Services" -msgstr "DBus 시스템 서비스" +#: src/as-pool.c:2111 +#, fuzzy, c-format +msgid "" +"The AppStream system cache was updated, but problems were found which " +"resulted in metadata being ignored: %s" +msgstr "AppStream 시스템 캐시는 업데이트했지만 문제를 발견했습니다: %s" -#: src/as-category.c:195 -msgctxt "Category of Office" -msgid "Database" -msgstr "데이터베이스" +#: src/as-pool.c:2125 +#, fuzzy, c-format +msgid "" +"AppStream system cache refresh failed. Turn on verbose mode to get detailed " +"issue information." +msgstr "" +"AppStream 캐시 업데이트에 실패했습니다. 상세 정보를 얻으려면 자세한 정보 보" +"기 모드를 켜주세요." -#: src/as-category.c:86 -msgctxt "Category of Development" -msgid "Debuggers" -msgstr "디버거" +#: src/as-provided.c:144 +msgid "Libraries" +msgstr "라이브러리" -#: tools/ascli-utils.c:353 -msgid "Default Screenshot URL" -msgstr "기본 스크린샷 URL" +#: src/as-provided.c:146 +msgid "Binaries" +msgstr "바이너리" -#. TRANSLATORS: ascli flag description for: --format -#: tools/appstream-cli.c:83 -msgid "Default metadata format (valid values are 'xml' and 'yaml')." -msgstr "기본 메타데이터 포맷 (유효한 값은 'xml'과 'yaml'입니다)." +#: src/as-provided.c:148 +#, fuzzy +msgid "Media types" +msgstr "MIME 형식" -#: tools/ascli-utils.c:333 -msgid "Description" -msgstr "설명" +#: src/as-provided.c:150 +msgid "Fonts" +msgstr "글꼴" -#. developer name -#: tools/ascli-utils.c:321 -msgid "Developer" -msgstr "개발자" +#: src/as-provided.c:152 +msgid "Modaliases" +msgstr "모듈 별칭" -#. TRANSLATORS: this is the menu spec main category for Development -#: src/as-category.c:305 -msgid "Developer Tools" -msgstr "개발자 도구" +#: src/as-provided.c:154 +msgid "Python (Version 2)" +msgstr "파이썬(버전 2)" -#: tools/appstream-cli.c:862 -msgid "Display status information about available AppStream metadata." -msgstr "설치한 AppStream 메타데이터의 상태 정보를 나타냅니다." +#: src/as-provided.c:156 +msgid "Python 3" +msgstr "파이썬 3" -#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions -#: tools/ascli-actions-misc.c:52 -msgid "Distribution metadata:" -msgstr "배포판 메타데이터:" +#: src/as-provided.c:158 +#, fuzzy +msgid "D-Bus System Services" +msgstr "DBus 시스템 서비스" -#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) -#: tools/appstream-cli.c:126 -msgid "Do not use network access." -msgstr "네트워크 액세스를 사용하지 마십시오." +#: src/as-provided.c:160 +#, fuzzy +msgid "D-Bus Session Services" +msgstr "DBus 세션 서비스" -#. TRANSLATORS: ascli flag description for: --no-color -#: tools/appstream-cli.c:908 -msgid "Don't show colored output." -msgstr "출력에 색깔을 사용하지 마세요." +#: src/as-provided.c:162 +msgid "Runtime Firmware" +msgstr "런타임 펌웨어" -#: tools/appstream-cli.c:853 -msgid "Dump raw XML metadata for a component matching the ID." -msgstr "ID와 일치하는 구성요소의 원시 XML 메타데이터 덤프." +#: src/as-provided.c:164 +msgid "Flashed Firmware" +msgstr "펌웨어를 플래싱했습니다" -#. TRANSLATORS: this is the menu spec main category for Education -#: src/as-category.c:308 -msgid "Education" -msgstr "교육" +#: src/as-provided.c:166 +msgid "Component" +msgstr "구성 요소" -#. TRANSLATORS: No metainfo files have been found -#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 -msgid "Empty." -msgstr "비어 있음." +#: src/as-validator-issue-tag.h:41 +msgid "This tag requires a type property." +msgstr "" -#: src/as-category.c:141 -msgctxt "Category of Games" -msgid "Emulators" -msgstr "에뮬레이터" +#: src/as-validator-issue-tag.h:46 +msgid "Tags of this name are not permitted in this section." +msgstr "" + +#: src/as-validator-issue-tag.h:51 +msgid "" +"A tag must not be localized in metainfo files (upstream " +"metadata). Localize the individual paragraphs instead." +msgstr "" +"태그는 메타정보 파일(업스트림 메타데이터)에서 로컬화해서는 안 " +"됩니다. 대신 개별 단락을 현지화하십시오." + +#: src/as-validator-issue-tag.h:57 +msgid "" +"This element (paragraph, list, etc.) of a tag must not be " +"localized individually in collection metadata. Localize the whole " +" tag instead. The AppStream collection metadata generator (e." +"g. `appstream-generator`) will already do the right thing when compiling the " +"data." +msgstr "" -#. TRANSLATORS: ascli flag description for: --force -#: tools/appstream-cli.c:245 -msgid "Enforce a cache refresh." -msgstr "캐시를 강제로 새로 고칩니다." +#: src/as-validator-issue-tag.h:63 +msgid "" +"AppStream descriptions support only a limited set of tags to format text: " +"Paragraphs (

                                                                                                                                                                                                                                                ) and lists (

                                                                                                                                                                                                                                                  ,
                                                                                                                                                                                                                                                    ). This description markup contains " +"an invalid XML tag that would not be rendered correctly in applications " +"supporting the metainfo specification." +msgstr "" + +#: src/as-validator-issue-tag.h:69 +msgid "" +"This description paragraph contains invalid markup. Currently, only " +"and are permitted." +msgstr "" #: src/as-validator-issue-tag.h:74 msgid "Enumerations must only have list items (
                                                                                                                                                                                                                                                  1. ) as children." msgstr "" -#: tools/ascli-actions-misc.c:159 -#, c-format -msgid "Error while loading the metadata pool: %s" -msgstr "메타데이터 풀을 불러오는 동안 생긴 오류: %s" - -#: tools/ascli-utils.c:327 -msgid "Extends" -msgstr "확장" - -#: src/as-category.c:65 -msgctxt "Category of AudioVideo" -msgid "Featured" -msgstr "추천" - -#: src/as-category.c:256 -msgctxt "Category of Communication" -msgid "Featured" -msgstr "추천" - -#: src/as-category.c:83 -msgctxt "Category of Development" -msgid "Featured" -msgstr "추천" - -#: src/as-category.c:98 -msgctxt "Category of Education" -msgid "Featured" -msgstr "추천" +#: src/as-validator-issue-tag.h:79 +msgid "" +"The first `description/p` paragraph of this component might be too short (< " +"80 characters). Please consider starting with a longer paragraph to improve " +"how the description looks like in software centers and to provide more " +"detailed information on this component immediately in the first paragraph." +msgstr "" -#: src/as-category.c:120 -msgctxt "Category of Games" -msgid "Featured" -msgstr "추천" +#: src/as-validator-issue-tag.h:86 +msgid "" +"The description contains a web URL in plain text. This is not allowed, " +"please use the tag instead to share links." +msgstr "" -#: src/as-category.c:165 -msgctxt "Category of Graphics" -msgid "Featured" -msgstr "추천" +#: src/as-validator-issue-tag.h:91 +msgid "" +"As per AppStream specification, the mentioned tag must only appear once in " +"this context. Having multiple tags of this kind is not valid." +msgstr "" -#: src/as-category.c:188 -msgctxt "Category of Office" -msgid "Featured" -msgstr "추천" +#: src/as-validator-issue-tag.h:96 +msgid "" +"The mentioned tag is empty, which is highly likely not intended as it should " +"have content." +msgstr "" -#: src/as-category.c:231 -msgctxt "Category of Science" -msgid "Featured" -msgstr "추천" +#: src/as-validator-issue-tag.h:101 +msgid "" +"The component ID is required to follow a reverse domain-name scheme for its " +"name. See the AppStream specification for details." +msgstr "" -#: src/as-category.c:278 -msgctxt "Category of Utility" -msgid "Featured" -msgstr "추천" +#: src/as-validator-issue-tag.h:106 +msgid "" +"The component ID is not a reverse domain-name. Please update the ID to avoid " +"future issues and be compatible with all AppStream implementations.\n" +"You may also consider to update the name of the accompanying .desktop file " +"to follow the latest version of the Desktop-Entry specification and use a " +"rDNS name for it as well. In any case, do not forget to mention the new " +"desktop-entry in a tag for this component to keep the " +"application launchable from software centers and the .desktop file data " +"associated with the metainfo data." +msgstr "" -#: tools/ascli-actions-validate.c:171 tools/ascli-actions-validate.c:349 -#, fuzzy, c-format -msgid "File '%s' does not exist." -msgstr "메타데이터 파일 '%s' 없습니다." +#: src/as-validator-issue-tag.h:114 +msgid "" +"The component ID might not follow the reverse domain-name schema (the TLD " +"used by it is not known to the validator)." +msgstr "" -#: src/as-category.c:287 -msgctxt "Category of Utility" -msgid "File System" -msgstr "파일 시스템" +#: src/as-validator-issue-tag.h:119 +msgid "" +"The component ID contains an invalid character. Only ASCII characters, dots " +"and numbers are permitted." +msgstr "" -#: src/as-category.c:198 -msgctxt "Category of Office" -msgid "Finance" -msgstr "재원" +#: src/as-validator-issue-tag.h:124 +msgid "" +"The component ID contains a hyphen/minus. Using a hyphen is strongly " +"discouraged, to improve interoperability with other tools such as D-Bus. A " +"good option is to replace any hyphens with underscores (`_`)." +msgstr "" -#: src/as-provided.c:164 -msgid "Flashed Firmware" -msgstr "펌웨어를 플래싱했습니다" +#: src/as-validator-issue-tag.h:130 +msgid "" +"The component ID contains a segment starting with a number. Starting a " +"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " +"interoperability with other tools such as D-Bus. Ideally, prefix these " +"segments with an underscore." +msgstr "" -#: src/as-provided.c:150 -msgid "Fonts" -msgstr "글꼴" +#: src/as-validator-issue-tag.h:136 +msgid "The component ID should only contain lowercase letters." +msgstr "" -#: src/as-category.c:211 -msgctxt "Category of Addons" -msgid "Fonts" -msgstr "글꼴" +#: src/as-validator-issue-tag.h:141 +msgid "" +"The component is part of the Freedesktop project, but its ID does not start " +"with fd.o's reverse-DNS name (\"org.freedesktop\")." +msgstr "" -#: src/as-validator-issue-tag.h:237 +#: src/as-validator-issue-tag.h:146 msgid "" -"For videos, only the WebM and Matroska (.mkv) container formats are " -"currently supported. The file extension of the referenced video does not " -"belong to either of these formats." +"The component is part of the KDE project, but its ID does not start with " +"KDEs reverse-DNS name (\"org.kde\")." msgstr "" -#. TRANSLATORS: ascli flag description for: --format when validating XML files -#: tools/appstream-cli.c:131 -#, fuzzy -msgid "Format of the generated report (valid values are 'text' and 'yaml')." -msgstr "기본 메타데이터 포맷 (유효한 값은 'xml'과 'yaml'입니다)." +#: src/as-validator-issue-tag.h:151 +msgid "" +"The component is part of the GNOME project, but its ID does not start with " +"GNOMEs reverse-DNS name (\"org.gnome\")." +msgstr "" -#. TRANSLATORS: Found metainfo files in legacy directories -#: tools/ascli-actions-misc.c:138 -#, c-format -msgid "Found %i components in legacy paths." -msgstr "기존 경로에서 구성 요소 %i개를 찾았습니다." +#: src/as-validator-issue-tag.h:156 +msgid "The SPDX license expression is invalid and could not be parsed." +msgstr "" -#: tools/ascli-actions-misc.c:123 -#, c-format -msgid "Found %i components." -msgstr "구성 요소 %i개를 찾았습니다." +#: src/as-validator-issue-tag.h:161 +msgid "" +"The license ID was not found in the SPDX database. Please check that the " +"license ID is written in an SPDX-conformant way and is a valid free software " +"license." +msgstr "" -#. TRANSLATORS: 'version' is an AppStream XML property. Please do not translate it. -#: src/as-validator-issue-tag.h:260 +#: src/as-validator-issue-tag.h:167 msgid "" -"Found 'version' property on required/recommended item of a type that should " -"not have or require a version." +"The metadata itself seems to be licensed under a complex collection of " +"licenses. Please license the data under a simple permissive license, like " +"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " +"collections without the risk of license violations due to mutually " +"incompatible licenses." msgstr "" -#. TRANSLATORS: 'version' and 'compare' are AppStream XML properties. Please do not translate them. -#: src/as-validator-issue-tag.h:266 +#: src/as-validator-issue-tag.h:173 msgid "" -"Found 'version' property on this required/recommended item, but not " -"'compare' property. It is recommended to explicitly define a comparison " -"operation." +"The metadata itself does not seem to be licensed under a permissive license. " +"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " +"0BSD to allow distributors to include it in mixed data collections without " +"the risk of license violations due to mutually incompatible licenses." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:277 +#: src/as-validator-issue-tag.h:179 msgid "" -"Found a memory size dependency in a 'requires' tag. This means users will " -"not be able to even install the component without having enough RAM. This is " -"usually not intended and you want to use 'memory' in the 'recommends' tag " -"instead." +"The update-contact does not appear to be a valid email address (escaping of " +"`@` is only allowed as `_at_` or `_AT_`)." msgstr "" -#: src/as-validator-issue-tag.h:248 +#: src/as-validator-issue-tag.h:184 msgid "" -"Found an unknown tag in a requires/recommends group. This is likely an " -"error, because a component relation of this type is unknown." +"Unable to reach the screenshot image on its remote location - does the image " +"exist?" msgstr "" -#: src/as-validator-issue-tag.h:427 +#: src/as-validator-issue-tag.h:189 msgid "" -"Found invalid tag. Non-standard tags should be prefixed with 'x-'. AppStream " -"also provides the tag to add arbitrary custom data to metainfo " -"files. This tag is read by AppStream libraries and may be useful instead of " -"defining new custom toplevel or 'x-'-prefixed tags if you just want to add " -"custom data to a metainfo file." +"Unable to reach the screenshot video on its remote location - does the video " +"file exist?" msgstr "" -#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. -#: src/as-validator.c:526 src/as-validator.c:939 src/as-validator.c:1024 -#: src/as-validator.c:1237 -#, c-format -msgid "Found: %s - Allowed: %s" +#: src/as-validator-issue-tag.h:194 +msgid "" +"Consider using a secure (HTTPS) URL to reference this screenshot image or " +"video." msgstr "" -#. TRANSLATORS: this is the menu spec main category for Game -#: src/as-category.c:311 -msgid "Games" -msgstr "게임" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:200 +msgid "" +"A screenshot must contain at least one image or video in order to be useful. " +"Please add an to it." +msgstr "" -#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command -#: tools/appstream-cli.c:814 -msgid "Generate the output in the selected format ('yaml' or 'text')." +#: src/as-validator-issue-tag.h:205 +msgid "" +"A screenshot must contain either images or videos, but not both at the same " +"time. Please use this screenshot exclusively for either static images or for " +"videos." msgstr "" +"스크린 샷은 이미지 또는 비디오를 포함해야하지만 동시에 두 가지를 모두 포함해" +"서는 안됩니다. 이 스크린 샷은 정지된 이미지나 비디오에만 사용하십시오." -#: tools/appstream-cli.c:849 -msgid "Get components which provide the given item." -msgstr "주어진 항목을 제공하는 구성요소를 가져옵니다." +#: src/as-validator-issue-tag.h:211 +msgid "The screenshot does not have a caption text. Consider adding one." +msgstr "" -#: tools/appstream-cli.c:848 -msgid "Get information about a component by its ID." -msgstr "ID와 일치하는 구성요소 정보를 가져옵니다." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:217 +msgid "" +"The screenshot video does not specify which video codec was used in a " +"`codec` property." +msgstr "" -#. TRANSLATORS: this is the menu spec main category for Graphics -#: src/as-category.c:314 -msgid "Graphics & Photography" -msgstr "그래픽 & 사진" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:223 +msgid "" +"The screenshot video does not specify which container format was used in a " +"`container` property." +msgstr "" -#: tools/ascli-utils.c:300 -msgid "Homepage" -msgstr "홈페이지" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:229 +msgid "" +"The selected video codec is not supported by AppStream and software centers " +"may not be able to play the video. Only the AV1 and VP9 codecs are currently " +"supported, using `av1` and `vp9` as values for the `codec` property." +msgstr "" -#: src/as-category.c:89 -msgctxt "Category of Development" -msgid "IDEs" -msgstr "IDE" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:236 +msgid "" +"The selected video container format is not supported by AppStream and " +"software centers may not be able to play the video. Only the WebM and " +"Matroska video containers are currently supported, using `webm` and `mkv` as " +"values for the `container` property." +msgstr "" -#: tools/ascli-utils.c:301 -msgid "Icon" -msgstr "아이콘" +#: src/as-validator-issue-tag.h:242 +msgid "" +"For videos, only the WebM and Matroska (.mkv) container formats are " +"currently supported. The file extension of the referenced video does not " +"belong to either of these formats." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:351 -msgid "Icons of type 'remote' must contain an URL to the referenced icon." +#: src/as-validator-issue-tag.h:248 +msgid "" +"The default screenshot of a software component must not be a video. Use a " +"static image as default screenshot and set the video as a secondary " +"screenshot." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:344 +#: src/as-validator-issue-tag.h:253 msgid "" -"Icons of type 'stock' or 'cached' must not contain an URL, a full or an " -"relative path to the icon. Only file basenames or stock names are allowed." +"Found an unknown tag in a requires/recommends group. This is likely an " +"error, because a component relation of this type is unknown." msgstr "" -#: tools/ascli-actions-misc.c:94 -msgid "Iconsets" -msgstr "아이콘셋" - -#: tools/ascli-utils.c:295 -msgid "Identifier" -msgstr "식별자" - -#: src/as-category.c:217 -msgctxt "Category of Addons" -msgid "Input Sources" -msgstr "입력 소스" - -#: tools/appstream-cli.c:863 -msgid "Install a metadata file into the right location." -msgstr "올바른 위치에 메타데이터 파일을 설치하십시오." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:259 +msgid "" +"A `requires` or `recommends` item requires a value to denote a valid " +"relation." +msgstr "" +"'requires' 또는 'recommends' 항목에는 유효한 관계를 나타내는 값이 필요합니다." -#: tools/appstream-cli.c:859 -msgid "Install software matching the component-ID." -msgstr "component-ID와 일치하는 소프트웨어를 설치합니다." +#. TRANSLATORS: `version` is an AppStream XML property. Please do not translate it. +#: src/as-validator-issue-tag.h:265 +msgid "" +"Found `version` property on required/recommended item of a type that should " +"not have or require a version." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:373 +#. TRANSLATORS: `version` and `compare` are AppStream XML properties. Please do not translate them. +#: src/as-validator-issue-tag.h:271 msgid "" -"Invalid 'type' property for this 'url' tag. URLs of this type are not known " -"in the AppStream specification." +"Found `version` property on this required/recommended item, but not " +"`compare` property. It is recommended to explicitly define a comparison " +"operation." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:553 +#: src/as-validator-issue-tag.h:276 msgid "" -"Invalid tag found in collection metadata. Only 'component' tags are " +"Invalid comparison operation on relation item. Only eq/ne/lt/gt/le/ge are " "permitted." msgstr "" -#: tools/ascli-actions-mdata.c:213 -msgid "Invalid type for provided item selected. Valid values are:" +#: src/as-validator-issue-tag.h:281 +msgid "" +"The relation item has a comparison operation set, but does not support any " +"comparisons." msgstr "" -"선택한 항목을 제공하는 형식이 잘못되었습니다. 올바른 값은 다음과 같습니다:" -#: src/as-validator-issue-tag.h:271 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:287 msgid "" -"Invalid version comparison operation on relation item. Only eq/ne/lt/gt/le/" -"ge are permitted." +"Found a memory size relation in a `requires` tag. This means users will not " +"be able to even install the component without having enough RAM. This is " +"usually not intended and you want to use `memory` in the `recommends` tag " +"instead." msgstr "" -#: src/as-validator-issue-tag.h:450 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:294 msgid "" -"It is recommended to add a long description to this component to present it " -"better to users." +"Found a user input control relation in a `requires` tag. This means users " +"will not be able to even install the component without having the defined " +"input control available on the system. This is usually not intended and you " +"want to use `control` in the `recommends` tag instead." msgstr "" -#: src/as-validator-issue-tag.h:445 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:301 msgid "" -"It would be useful to add a long description to this font to present it " -"better to users." +"This `control` item defines an unknown input method and is invalid. Check " +"the specification for a list of permitted values." msgstr "" -#: src/as-category.c:144 -msgctxt "Category of Games" -msgid "Kids" -msgstr "어린이" - -#: src/as-category.c:220 -msgctxt "Category of Addons" -msgid "Language Packs" -msgstr "언어 팩" - -#: src/as-category.c:107 -msgctxt "Category of Education" -msgid "Languages" -msgstr "언어" - -#: src/as-provided.c:144 -msgid "Libraries" -msgstr "라이브러리" - -#. license -#: tools/ascli-utils.c:363 -msgid "License" -msgstr "라이선스" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:307 +msgid "" +"This `display_length` item contains an invalid display length. Its value " +"must either be a shorthand string, or positive integer value denoting " +"logical pixels. Please refer to the AppStream specification for more " +"information on this tag." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:629 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:314 msgid "" -"Licenses for 'runtime' components are usually too complex to reflect them in " -"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " -"value for this component's 'project_license'. E.g. `LicenseRef-free=https://" -"example.com/licenses.html`" +"This `side` property of this `display_length` item contains an invalid " +"value. It must either be `shortest` or `longest`, or unset to imply " +"`shortest` to make the item value refer to either the shortest or longest " +"side of the display." msgstr "" -#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command -#: tools/appstream-cli.c:771 +#: src/as-validator-issue-tag.h:320 +#, fuzzy msgid "" -"Limit the number of release entries that end up in the metainfo file (0 for " -"unlimited)." +"The set component type is not a recognized, valid AppStream component type." msgstr "" +"소프트웨어 구성 요소 유형 '%s'은 AppStream에서 유효하지 않습니다. 가능한 값" +"은 다음과 같습니다:" -#: src/as-category.c:223 -msgctxt "Category of Addons" -msgid "Localization" -msgstr "현지화" +#: src/as-validator-issue-tag.h:325 +msgid "" +"The component has a priority value set. This is not allowed in metainfo " +"files." +msgstr "" -#: src/as-category.c:147 -msgctxt "Category of Games" -msgid "Logic" -msgstr "로직" +#: src/as-validator-issue-tag.h:330 +msgid "" +"The component has a `merge` method defined. This is not allowed in metainfo " +"files." +msgstr "" -#. TRANSLATORS: ascli flag description for: --no-cache -#: tools/appstream-cli.c:67 -msgid "Make request without any caching." -msgstr "캐싱하지 말고 요청하세요." +#: src/as-validator-issue-tag.h:335 +msgid "The component is missing an ID ( tag)." +msgstr "" -#. TRANSLATORS: ascli flag description for: --cachepath -#: tools/appstream-cli.c:57 -msgid "Manually selected location of AppStream cache." -msgstr "직접 지정한 AppStream 캐시 위치." +#: src/as-validator-issue-tag.h:340 +msgid "The component is missing a name ( tag)." +msgstr "" -#. TRANSLATORS: ascli flag description for: --datapath -#: tools/appstream-cli.c:62 -msgid "Manually selected location of AppStream metadata to scan." -msgstr "직접 지정한 AppStream 메타데이터 스캔 위치." +#: src/as-validator-issue-tag.h:345 +msgid "The component is missing a summary ( tag)." +msgstr "" -#: src/as-pool.c:1280 +#: src/as-validator-issue-tag.h:350 msgid "" -"Many components have been recognized as invalid. See debug output for " -"details." +"The tag still contains a `type` property, probably from an old " +"conversion to the recent metainfo format." msgstr "" -"많은 구성품(코드)들이 허가되지 않은 상태로 인식될 수 있습니다. 자세한 사항은 " -"디버깅을 통해서 살펴보세요." - -#: src/as-category.c:111 -msgctxt "Category of Education" -msgid "Math" -msgstr "수학" -#: src/as-category.c:243 -msgctxt "Category of Science" -msgid "Math" -msgstr "수학" +#: src/as-validator-issue-tag.h:355 +msgid "" +"The `pkgname` tag appears multiple times. You should evaluate creating a " +"metapackage containing the metainfo and .desktop files in order to avoid " +"defining multiple package names per component." +msgstr "" -#: src/as-provided.c:148 -#, fuzzy -msgid "Media types" -msgstr "MIME 형식" +#: src/as-validator-issue-tag.h:360 +msgid "The component name should (likely) not end with a dot (`.`)." +msgstr "" -#: tools/ascli-actions-mdata.c:364 -#, c-format -msgid "Metadata file '%s' does not exist." -msgstr "메타데이터 파일 '%s' 없습니다." +#: src/as-validator-issue-tag.h:365 +msgid "The component summary should not end with a dot (`.`)." +msgstr "" -#: src/as-pool.c:881 -msgid "Metadata files have errors:" -msgstr "메타데이터 파일에 오류가 있습니다:" +#: src/as-validator-issue-tag.h:370 +msgid "The component summary must not contain tabs or linebreaks." +msgstr "" -#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 -#: tools/ascli-actions-misc.c:515 -#, fuzzy, c-format -msgid "Metainfo file '%s' does not exist." -msgstr "메타데이터 파일 '%s' 없습니다." +#: src/as-validator-issue-tag.h:375 +msgid "The summary must not contain any URL. Use the tags for links." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:367 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:381 msgid "" -"Metainfo files may only contain icons of type 'stock' or 'remote', the set " -"type is not allowed." +"Icons of type `stock` or `cached` must not contain an URL, a full or an " +"relative path to the icon. Only file basenames or stock names are allowed." msgstr "" -#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report -#: tools/ascli-actions-misc.c:116 -msgid "Metainfo files:" -msgstr "Metainfo 파일:" - -#: src/as-provided.c:152 -msgid "Modaliases" -msgstr "모듈 별칭" - -#: src/as-category.c:74 -msgctxt "Category of AudioVideo" -msgid "Music Players" -msgstr "음악 플레이어" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:388 +msgid "Icons of type `remote` must contain an URL to the referenced icon." +msgstr "" -#: tools/ascli-utils.c:296 -msgid "Name" -msgstr "이름" +#: src/as-validator-issue-tag.h:393 +msgid "Unable to reach remote icon at the given web location - does it exist?" +msgstr "" -#: src/as-category.c:266 -msgctxt "Category of Communication" -msgid "News" -msgstr "뉴스" +#: src/as-validator-issue-tag.h:398 +msgid "Consider using a secure (HTTPS) URL for the remote icon link." +msgstr "" -#: src/as-validator-issue-tag.h:589 -msgid "No AppStream metadata was found in this directory or directory tree." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:404 +msgid "" +"Metainfo files may only contain icons of type `stock` or `remote`, the set " +"type is not allowed." msgstr "" -#. pedantic because not everything which has metadata is an application -#: src/as-validator-issue-tag.h:594 -msgid "No XDG applications directory found." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:410 +msgid "" +"Invalid `type` property for this `url` tag. URLs of this type are not known " +"in the AppStream specification." msgstr "" -#: tools/ascli-actions-mdata.c:182 -#, c-format -msgid "No component matching '%s' found." -msgstr "'%s'에 일치하는 구성 요소를 찾을 수 없습니다." +#: src/as-validator-issue-tag.h:415 +msgid "" +"Unable to reach remote location that this URL references - does it exist?" +msgstr "" -#: tools/ascli-actions-misc.c:105 -msgid "No icons." -msgstr "아이콘 없음." +#: src/as-validator-issue-tag.h:420 +msgid "Consider using a secure (HTTPS) URL for this web link." +msgstr "" -#: tools/ascli-actions-misc.c:402 -msgid "No output filename specified, modifying metainfo file directly." +#: src/as-validator-issue-tag.h:425 +msgid "A web URL was expected for this value." msgstr "" -#: tools/ascli-actions-misc.c:306 +#: src/as-validator-issue-tag.h:430 msgid "" -"No provided binary specified in metainfo file, and no exec command specified " -"via '--exec'. Can not create 'Exec=' key." +"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." msgstr "" -#: tools/ascli-actions-misc.c:284 -msgid "No stock icon name was provided in the metainfo file. Can not continue." +#: src/as-validator-issue-tag.h:435 +msgid "The can not contain a hyperlink." msgstr "" -#: tools/ascli-actions-pkgmgr.c:53 +#: src/as-validator-issue-tag.h:440 msgid "" -"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" -"\" (part of PackageKit) is available." +"The set value is not an identifier for a desktop environment as registered " +"with Freedesktop.org." msgstr "" -"적당한 패키지 매니저 CLI가 없습니다. \"pkcon\"(PackageKit 일부)과 같은 프로그" -"램이 있는지 확인하십시오." - -#: tools/ascli-actions-mdata.c:206 -msgid "No value for the item to search for was defined." -msgstr "검색할 항목에 대한 값을 정의하지 않았습니다." - -#. TRANSLATORS: this is the menu spec main category for Office -#: src/as-category.c:317 -msgid "Office" -msgstr "오피스" - -#. TRANSLATORS: An unknown option was passed to appstreamcli. -#: tools/appstream-cli.c:192 -#, c-format -msgid "Option '%s' is unknown." -msgstr "'%s'는(은) 알 수 없는 옵션입니다." -#: tools/ascli-utils.c:298 -msgid "Package" -msgstr "패키지" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:446 +msgid "This `launchable` tag has an unknown type and can not be used." +msgstr "" -#: src/as-category.c:171 -msgctxt "Category of Graphics" -msgid "Photography" -msgstr "사진" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:452 +msgid "This `bundle` tag has an unknown type and can not be used." +msgstr "" -#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) -#: tools/appstream-cli.c:121 -#, fuzzy -msgid "Print detailed explanation for found issues." -msgstr "찾은 구성 요소에 대한 자세한 출력 표시." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:458 +msgid "" +"The `update_contact` tag should not be included in collection AppStream XML." +msgstr "" -#. TRANSLATORS: ascli flag description for: --details -#: tools/appstream-cli.c:98 -msgid "Print detailed output about found components." -msgstr "찾은 구성 요소에 대한 자세한 출력 표시." +#: src/as-validator-issue-tag.h:463 +msgid "" +"This tag is a GNOME-specific extension to AppStream and not part of the " +"official specification. Do not expect it to work in all implementations and " +"in all software centers." +msgstr "" -#. project group -#: tools/ascli-utils.c:360 -msgid "Project Group" -msgstr "프로젝트 그룹" +#: src/as-validator-issue-tag.h:469 +msgid "" +"Found invalid tag. Non-standard tags should be prefixed with `x-`. AppStream " +"also provides the tag to add arbitrary custom data to metainfo " +"files. This tag is read by AppStream libraries and may be useful instead of " +"defining new custom toplevel or `x-`-prefixed tags if you just want to add " +"custom data to a metainfo file." +msgstr "" -#: tools/ascli-utils.c:405 -msgid "Provided Items" -msgstr "제공하는 항목" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:477 +msgid "" +"The essential tag `metadata_license` is missing. A license for the metadata " +"itself always has to be defined." +msgstr "" -#: src/as-provided.c:154 -msgid "Python (Version 2)" -msgstr "파이썬(버전 2)" +#: src/as-validator-issue-tag.h:482 +msgid "" +"The component is missing a long description. Components of this type must " +"have a long description." +msgstr "" -#: src/as-provided.c:156 -msgid "Python 3" -msgstr "파이썬 3" +#: src/as-validator-issue-tag.h:487 +msgid "" +"It would be useful to add a long description to this font to present it " +"better to users." +msgstr "" -#: tools/appstream-cli.c:854 -msgid "Rebuild the component metadata cache." -msgstr "구성요소 메타데이터 캐시를 다시 만듭니다." +#: src/as-validator-issue-tag.h:492 +msgid "" +"It is recommended to add a long description to this component to present it " +"better to users." +msgstr "" -#: tools/appstream-cli.c:860 -msgid "Remove software matching the component-ID." -msgstr "component-ID와 일치하는 소프트웨어를 제거하세요." +#: src/as-validator-issue-tag.h:497 +msgid "" +"This generic component is missing a long description. It may be useful to " +"add one." +msgstr "" -#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty -#: src/as-validator.c:364 -msgid "Retrieved file size was zero." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:503 +msgid "" +"Type `console-application` component, but no information about binaries in " +"$PATH was provided via a `provides/binary` tag." msgstr "" -#: src/as-category.c:248 -msgctxt "Category of Science" -msgid "Robotics" -msgstr "로봇 공학" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:509 +msgid "" +"This `web-application` component is missing a `launchable` tag of type `url`." +msgstr "" -#: src/as-category.c:150 -msgctxt "Category of Games" -msgid "Role Playing" -msgstr "롤 플레잉" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:515 +msgid "" +"This `web-application` component is missing a `icon` tag to specify a valid " +"icon." +msgstr "" -#: tools/appstream-cli.c:196 tools/appstream-cli.c:926 -#, c-format -msgid "Run '%s --help' to see a full list of available command line options." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:521 +msgid "" +"This `web-application` component is missing categorizations. A `categories` " +"block is likely missing." msgstr "" -"'%s --help' 를 실행하면 사용 가능한 명령문 옵션 전체 목록을 볼 수 있습니다." -#: tools/appstream-cli.c:198 -#, c-format +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:527 msgid "" -"Run '%s --help' to see a list of available commands and options, and '%s %s " -"--help' to see a list of options specific for this subcommand." +"Type `font` component, but no font information was provided via a `provides/" +"font` tag." msgstr "" -"'%s --help' 를 실행하면 사용 가능한 명령문과 옵션 목록을 볼 수 있습니다, 그리" -"고 '%s %s --help' 를 실행해서 사용 가능한 하위 명령어 옵션 목록을 봅니다." -#: src/as-provided.c:162 -msgid "Runtime Firmware" -msgstr "런타임 펌웨어" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:533 +msgid "" +"Type `driver` component, but no modalias information was provided via a " +"`provides/modalias` tag." +msgstr "" -#: src/as-category.c:174 -msgctxt "Category of Graphics" -msgid "Scanning" -msgstr "스캐닝" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:539 +msgid "" +"An `extends` tag is specified, but the component is not of type `addon`, " +"`localization` or `repository`." +msgstr "" -#. TRANSLATORS: this is the menu spec main category for Science -#: src/as-category.c:323 -msgid "Science" -msgstr "과학" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:545 +msgid "The component is an addon, but no `extends` tag was specified." +msgstr "" -#: tools/appstream-cli.c:847 -msgid "Search the component database." -msgstr "구성요소 데이터베이스를 검색합니다." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:551 +msgid "" +"This `localization` component is missing an `extends` tag, to specify the " +"components it adds localization to." +msgstr "" -#: src/as-category.c:293 -msgctxt "Category of Utility" -msgid "Security" -msgstr "보안" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:557 +msgid "" +"This `localization` component does not define any languages this " +"localization is for." +msgstr "" -#. TRANSLATORS: ascli flag description for: --verbose -#: tools/appstream-cli.c:903 -msgid "Show extra debugging information." -msgstr "추가 디버깅 정보 보이기." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:563 +msgid "" +"This `service` component is missing a `launchable` tag of type `service`." +msgstr "" -#. TRANSLATORS: ascli flag description for: --version -#: tools/appstream-cli.c:897 -msgid "Show the program version." -msgstr "프로그램 버전 보기." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:569 +msgid "" +"Suggestions of any type other than `upstream` are not allowed in metainfo " +"files." +msgstr "" -#: src/as-validator-issue-tag.h:635 +#: src/as-validator-issue-tag.h:574 msgid "" -"Since a 'runtime' component is comprised of multiple other software " -"components, their component-IDs may be listed in a `` section for " -"this runtime." +"The category name is not valid. Refer to the XDG Menu Specification for a " +"list of valid category names." msgstr "" -#: src/as-category.c:153 -msgctxt "Category of Games" -msgid "Sports" -msgstr "스포츠" +#: src/as-validator-issue-tag.h:579 +msgid "The screenshot caption is too long (should be <= 80 characters)" +msgstr "" -#: src/as-category.c:157 -msgctxt "Category of Games" -msgid "Strategy" -msgstr "전략" +#: src/as-validator-issue-tag.h:584 +#, fuzzy +msgid "Unable to read file." +msgstr "해당 .desktop 파일을 읽을 수 없습니다: %s" -#. these are commands we can use with appstreamcli -#: tools/appstream-cli.c:845 -msgid "Subcommands:" -msgstr "하위 명령어:" +#: src/as-validator-issue-tag.h:589 +msgid "The XML of this file is malformed." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:527 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:595 msgid "" -"Suggestions of any type other than 'upstream' are not allowed in metainfo " -"files." +"Invalid tag found in collection metadata. Only `component` tags are " +"permitted." msgstr "" -#: tools/ascli-utils.c:297 -msgid "Summary" -msgstr "요약" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:601 +msgid "" +"The metainfo file uses an ancient version of the AppStream specification, " +"which can not be validated. Please migrate it to version 0.6 (or higher)." +msgstr "" -#. TRANSLATORS: Status summary in ascli -#: tools/ascli-actions-misc.c:145 -msgid "Summary:" -msgstr "요약:" +#: src/as-validator-issue-tag.h:606 +msgid "" +"This XML document has an unknown root tag. Maybe this file is not a metainfo " +"document?" +msgstr "" -#: src/as-category.c:290 -msgctxt "Category of Utility" -msgid "System Monitoring" -msgstr "시스템 모니터링" +#: src/as-validator-issue-tag.h:611 +#, fuzzy +msgid "The metainfo filename does not match the component ID." +msgstr "component-ID와 일치하는 소프트웨어를 제거하세요." -#: src/as-validator-issue-tag.h:46 -msgid "Tags of this name are not permitted in this section." +#: src/as-validator-issue-tag.h:616 +#, fuzzy +msgid "Unable to read the .desktop file associated with this component." +msgstr "해당 .desktop 파일을 읽을 수 없습니다: %s" + +#: src/as-validator-issue-tag.h:621 +msgid "This component metadata refers to a non-existing .desktop file." msgstr "" -#: src/as-category.c:284 -msgctxt "Category of Utility" -msgid "Terminal Emulators" -msgstr "터미널 에뮬레이터" +#: src/as-validator-issue-tag.h:626 +msgid "" +"The category defined in the .desktop file is not valid. Refer to the XDG " +"Menu Specification for a list of valid categories." +msgstr "" -#: src/as-category.c:281 -msgctxt "Category of Utility" -msgid "Text Editors" -msgstr "텍스트 에디터" +#: src/as-validator-issue-tag.h:631 +msgid "No AppStream metadata was found in this directory or directory tree." +msgstr "" + +#. pedantic because not everything which has metadata is an application +#: src/as-validator-issue-tag.h:636 +msgid "No XDG applications directory found." +msgstr "" -#: src/as-validator-issue-tag.h:318 +#: src/as-validator-issue-tag.h:641 msgid "" -"The 'pkgname' tag appears multiple times. You should evaluate creating a " -"metapackage containing the metainfo and .desktop files in order to avoid " -"defining multiple package names per component." +"The metainfo file is stored in a legacy path. Please place it in `/usr/share/" +"metainfo/`." +msgstr "" + +#: src/as-validator-issue-tag.h:646 +msgid "The metainfo file specifies multiple components. This is not allowed." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:416 +#: src/as-validator-issue-tag.h:651 msgid "" -"The 'update_contact' tag should not be included in collection AppStream XML." +"The releases are not sorted in a latest to oldest version order. This is " +"required as some tools will assume that the latest version is always at the " +"top. Sorting releases also increases overall readability of the metainfo " +"file." msgstr "" -#: tools/ascli-actions-mdata.c:467 -#, c-format -msgid "The .desktop file '%s' does not exist." -msgstr "해당 .desktop 파일 '%s'이 없습니다." +#: src/as-validator-issue-tag.h:658 +msgid "The value set as release urgency is not a known urgency value." +msgstr "" -#: src/as-validator-issue-tag.h:393 -msgid "The can not contain a hyperlink." +#: src/as-validator-issue-tag.h:663 +msgid "The value set as release type is invalid." msgstr "" -#: src/as-validator-issue-tag.h:313 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:669 msgid "" -"The tag still contains a 'type' property, probably from an old " -"conversion to the recent metainfo format." +"The value set as artifact type is invalid. Must be either `source` or " +"`binary`." msgstr "" -#: src/as-validator-issue-tag.h:616 -msgid "" -"The AppStream specification requires a complete, ISO 8601 date string with " -"at least day-granularity to denote dates. Please ensure the date string is " -"valid." +#: src/as-validator-issue-tag.h:674 +msgid "The value set as artifact bundle type is invalid." msgstr "" -#: src/as-pool.c:1924 -#, fuzzy, c-format +#: src/as-validator-issue-tag.h:679 msgid "" -"The AppStream system cache was updated, but problems were found which " -"resulted in metadata being ignored: %s" -msgstr "AppStream 시스템 캐시는 업데이트했지만 문제를 발견했습니다: %s" +"The platform triplet for this release is invalid. It must be in the form of " +"`architecture-oskernel-osenv` - refer to the AppStream documentation or " +"information on normalized GNU triplets for more information and valid fields." +msgstr "" -#: src/as-pool.c:1922 -#, fuzzy -msgid "" -"The AppStream system cache was updated, but some components were ignored. " -"Refer to the verbose log for more information." +#: src/as-validator-issue-tag.h:686 +msgid "The selected checksumming algorithm is unsupported or unknown." msgstr "" -"AppStream 시스템 캐시는 업데이트했지만 메타데이터를 유실할 수 있는 일부 오류" -"가 발견되었습니다. 자세한 정보는 로그를 참고하세요." -#: src/as-validator-issue-tag.h:151 -msgid "The SPDX license expression is invalid and could not be parsed." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:692 +msgid "The size type is unknown. Must be `download` or `installed`." msgstr "" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows -#: tools/appstream-cli.c:683 -#, c-format -msgid "The TYPE must be a valid component-type, such as: %s" -msgstr "TYPE은 유효한 구성 요소 유형이어야 합니다, 예: %s" +#: src/as-validator-issue-tag.h:697 +msgid "" +"The artifact filename must be a file basename, not a (relative or absolute) " +"path." +msgstr "" -#: src/as-validator-issue-tag.h:547 -msgid "The XML of this file is malformed." +#: src/as-validator-issue-tag.h:702 +msgid "The value set as release issue type is invalid." msgstr "" -#: src/as-validator-issue-tag.h:584 +#: src/as-validator-issue-tag.h:707 msgid "" -"The category defined in the .desktop file is not valid. Refer to the XDG " -"Menu Specification for a list of valid categories." +"The issue is tagged at security vulnerability with a CVE number, but its " +"value does not look like a valid CVE identifier." msgstr "" -#: src/as-validator-issue-tag.h:532 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:713 msgid "" -"The category name is not valid. Refer to the XDG Menu Specification for a " -"list of valid category names." +"This component is missing information about releases. Consider adding a " +"`releases` tag to describe releases and their changes." msgstr "" -#: src/as-validator-issue-tag.h:124 +#: src/as-validator-issue-tag.h:718 msgid "" -"The component ID contains a hyphen/minus. Using a hyphen is strongly " -"discouraged, to improve interoperability with other tools such as D-Bus. A " -"good option is to replace any hyphens with underscores ('_')." +"The AppStream specification requires a complete, ISO 8601 date string with " +"at least day-granularity to denote dates. Please ensure the date string is " +"valid." msgstr "" -#: src/as-validator-issue-tag.h:130 +#: src/as-validator-issue-tag.h:724 msgid "" -"The component ID contains a segment starting with a number. Starting a " -"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " -"interoperability with other tools such as D-Bus. Ideally, prefix these " -"segments with an underscore." +"This component extends, provides, requires or recommends itself, which is " +"certainly not intended and may confuse users or machines dealing with this " +"metadata." msgstr "" -#: src/as-validator-issue-tag.h:119 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:731 msgid "" -"The component ID contains an invalid character. Only ASCII characters, dots " -"and numbers are permitted." +"Licenses for `runtime` components are usually too complex to reflect them in " +"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " +"value for this component's `project_license`. E.g. `LicenseRef-free=https://" +"example.com/licenses.html`" msgstr "" -#: src/as-validator-issue-tag.h:106 +#: src/as-validator-issue-tag.h:737 msgid "" -"The component ID is not a reverse domain-name. Please update the ID to avoid " -"future issues and be compatible with all AppStream implementations.\n" -"You may also consider to update the name of the accompanying .desktop file " -"to follow the latest version of the Desktop-Entry specification and use a " -"rDNS name for it as well. In any case, do not forget to mention the new " -"desktop-entry in a tag for this component to keep the " -"application launchable from software centers and the .desktop file data " -"associated with the metainfo data." +"Since a `runtime` component is comprised of multiple other software " +"components, their component-IDs may be listed in a `` section for " +"this runtime." msgstr "" -#: src/as-validator-issue-tag.h:101 +#: src/as-validator-issue-tag.h:742 msgid "" -"The component ID is required to follow a reverse domain-name scheme for its " -"name. See the AppStream specification for details." +"The type of the item that the component provides is not known to AppStream." msgstr "" -#: src/as-validator-issue-tag.h:114 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:748 msgid "" -"The component ID might not follow the reverse domain-name schema (the TLD " -"used by it is not known to the validator)." +"The toplevel `mimetypes` tag is deprecated. Please use `mediatype` tags in a " +"`provides` block instead to indicate that your software provides a media " +"handler for the given types." msgstr "" -#: src/as-validator-issue-tag.h:293 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks) and keep the URL intact. +#: src/as-validator-issue-tag.h:755 msgid "" -"The component has a 'merge' method defined. This is not allowed in metainfo " -"files." +"This component has no `content_rating` tag to provide age rating " +"information. You can generate the tag data online by answering a few " +"questions at https://hughsie.github.io/oars/" msgstr "" -#: src/as-validator-issue-tag.h:288 +#: src/as-validator.c:150 msgid "" -"The component has a priority value set. This is not allowed in metainfo " -"files." +"The emitted issue tag is unknown in the tag registry of AppStream. This is a " +"bug in the validator itself, please report this issue in our bugtracker." +msgstr "" + +#: src/as-validator.c:344 +msgid "URL format is invalid." +msgstr "" + +#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. +#: src/as-validator.c:522 src/as-validator.c:937 src/as-validator.c:1031 +#: src/as-validator.c:1428 src/as-validator.c:1448 src/as-validator.c:1481 +#, c-format +msgid "Found: %s - Allowed: %s" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:503 -msgid "The component is an addon, but no 'extends' tag was specified." -msgstr "" +#. TRANSLATORS: ascompose flag description for: --verbose +#: tools/appstream-compose.c:181 +#, fuzzy +msgid "Show extra debugging information" +msgstr "추가 디버깅 정보 보이기." + +#. TRANSLATORS: ascompose flag description for: --no-color +#. TRANSLATORS: ascli flag description for: --no-color +#: tools/appstream-compose.c:184 tools/appstreamcli.c:1087 +msgid "Don't show colored output." +msgstr "출력에 색깔을 사용하지 마세요." + +#. TRANSLATORS: ascompose flag description for: --version +#. TRANSLATORS: ascli flag description for: --version +#: tools/appstream-compose.c:187 tools/appstreamcli.c:1076 +msgid "Show the program version." +msgstr "프로그램 버전 보기." -#: src/as-validator-issue-tag.h:440 -msgid "" -"The component is missing a long description. Components of this type must " -"have a long description." +#. TRANSLATORS: ascompose flag description for: --full-report +#: tools/appstream-compose.c:190 +msgid "Set mode of the issue report that is printed to the console" msgstr "" -#: src/as-validator-issue-tag.h:303 -msgid "The component is missing a name ( tag)." +#. TRANSLATORS: ascompose flag description for: --prefix +#: tools/appstream-compose.c:193 +msgid "Override the default prefix (`/usr` by default)" msgstr "" -#: src/as-validator-issue-tag.h:308 -msgid "The component is missing a summary ( tag)." +#. TRANSLATORS: ascompose flag description for: --result-root +#: tools/appstream-compose.c:196 +msgid "Set the result output directory" msgstr "" -#: src/as-validator-issue-tag.h:298 -msgid "The component is missing an ID ( tag)." +#. TRANSLATORS: ascompose flag description for: --data-dir, `collection metadata` is an AppStream term +#: tools/appstream-compose.c:199 +msgid "Override the collection metadata output directory" msgstr "" -#: src/as-validator-issue-tag.h:136 -msgid "" -"The component is part of the Freedesktop project, but its ID does not start " -"with fd.o's reverse-DNS name (\"org.freedesktop\")." +#. TRANSLATORS: ascompose flag description for: --icons-dir +#: tools/appstream-compose.c:202 +msgid "Override the icon output directory" msgstr "" -#: src/as-validator-issue-tag.h:146 +#. TRANSLATORS: ascompose flag description for: --media-dir +#: tools/appstream-compose.c:205 msgid "" -"The component is part of the GNOME project, but its ID does not start with " -"GNOMEs reverse-DNS name (\"org.gnome\")." +"Set the media output directory (for media data to be served by a webserver)" msgstr "" -#: src/as-validator-issue-tag.h:141 -msgid "" -"The component is part of the KDE project, but its ID does not start with " -"KDEs reverse-DNS name (\"org.kde\")." +#. TRANSLATORS: ascompose flag description for: --hints-dir +#: tools/appstream-compose.c:208 +msgid "Set a directory where HTML and text issue reports will be stored" msgstr "" -#: src/as-validator-issue-tag.h:323 -msgid "The component name should (likely) not end with a dot ('.')." +#. TRANSLATORS: ascompose flag description for: --origin +#. TRANSLATORS: ascompose flag description for: --media-baseurl +#: tools/appstream-compose.c:211 tools/appstream-compose.c:214 +msgid "Set the origin name" msgstr "" -#: src/as-validator-issue-tag.h:333 -msgid "The component summary must not contain tabs or linebreaks." +#. TRANSLATORS: ascompose flag description for: --components +#: tools/appstream-compose.c:217 +msgid "A comma-separated list of component-IDs to accept" msgstr "" -#: src/as-validator-issue-tag.h:328 -msgid "The component summary should not end with a dot ('.')." +#. TRANSLATORS: error message +#: tools/appstream-compose.c:231 +msgid "Failed to parse arguments" msgstr "" -#: src/as-validator-issue-tag.h:243 -msgid "" -"The default screenshot of a software component must not be a video. Use a " -"static image as default screenshot and set the video as a secondary " -"screenshot." -msgstr "" +#. TRANSLATORS: Output if appstreamcli --version is executed. +#: tools/appstream-compose.c:242 tools/appstreamcli.c:1230 +#, c-format +msgid "AppStream version: %s" +msgstr "AppStream 버전: %s" -#: src/as-validator-issue-tag.h:86 +#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. +#: tools/appstream-compose.c:245 tools/appstreamcli.c:1233 +#, c-format msgid "" -"The description contains a web URL in plain text. This is not allowed, " -"please use the tag instead to share links." +"AppStream CLI tool version: %s\n" +"AppStream library version: %s" msgstr "" +"AppStream CLI 도구 버전: %s\n" +"AppStream 라이브러리 버전: %s" -#: src/as-validator.c:152 +#. TRANSLATORS: invalid value for the --print-report CLI option +#: tools/appstream-compose.c:264 +#, c-format msgid "" -"The emitted issue tag is unknown in the tag registry of AppStream. This is a " -"bug in the validator itself, please report this issue in our bugtracker." +"Invalid value for `--print-report` option: %s\n" +"Possible values are:\n" +"`on-error` - only prints a short report if the run failed (default)\n" +"`short` - generates an abridged report\n" +"`full` - a detailed report will be printed" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:435 -msgid "" -"The essential tag 'metadata_license' is missing. A license for the metadata " -"itself always has to be defined." +#: tools/appstream-compose.c:285 +#, c-format +msgid "Automatically selected '%s' as data output location." msgstr "" -#: src/as-validator-issue-tag.h:79 -msgid "" -"The first 'description/p' paragraph of this component might be too short (< " -"80 characters). Please consider starting with a longer paragraph to improve " -"how the description looks like in software centers and to provide more " -"detailed information on this component immediately in the first paragraph." +#. TRANSLATORS: we don't have a destination directory for compose +#: tools/appstream-compose.c:288 +msgid "No destination directory set, please provide a data output location!" msgstr "" -#: src/as-validator-issue-tag.h:156 -msgid "" -"The license ID was not found in the SPDX database. Please check that the " -"license ID is written in an SPDX-conformant way and is a valid free software " -"license." +#: tools/appstream-compose.c:298 tools/appstream-compose.c:300 +msgid "WARNING" msgstr "" -#: src/as-validator-issue-tag.h:96 -msgid "" -"The mentioned tag is empty, which is highly likely not intended as it should " -"have content." +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:337 +#, c-format +msgid "Only accepting components: %s" msgstr "" -#: src/as-validator-issue-tag.h:168 -msgid "" -"The metadata itself does not seem to be licensed under a permissive license. " -"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " -"0BSD to allow distributors to include it in mixed data collections without " -"the risk of license violations due to mutually incompatible licenses." +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:340 +#, c-format +msgid "Only accepting component: %s" msgstr "" -#: src/as-validator-issue-tag.h:162 -msgid "" -"The metadata itself seems to be licensed under a complex collection of " -"licenses. Please license the data under a simple permissive license, like " -"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " -"collections without the risk of license violations due to mutually " -"incompatible licenses." +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:345 +msgid "Processing directories:" msgstr "" -#: src/as-validator-issue-tag.h:599 -msgid "" -"The metainfo file is stored in a legacy path. Please place it in '/usr/share/" -"metainfo'." +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:348 +msgid "Processing directory:" msgstr "" -#: src/as-validator-issue-tag.h:604 -msgid "The metainfo file specifies multiple components. This is not allowed." +#. TRANSLATORS: error message +#: tools/appstream-compose.c:357 +msgid "Can not process invalid directory" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:559 -msgid "" -"The metainfo file uses an ancient version of the AppStream specification, " -"which can not be validated. Please migrate it to version 0.6 (or higher)." +#. TRANSLATORS: information message +#: tools/appstream-compose.c:369 +msgid "Composing metadata..." msgstr "" -#: src/as-validator-issue-tag.h:569 +#. TRANSLATORS: error message +#: tools/appstream-compose.c:374 #, fuzzy -msgid "The metainfo filename does not match the component ID." -msgstr "component-ID와 일치하는 소프트웨어를 제거하세요." - -#: src/as-validator-issue-tag.h:609 -msgid "" -"The releases are not sorted in a latest to oldest version order. This is " -"required as some tools will assume that the latest version is always at the " -"top. Sorting releases also increases overall readability of the metainfo " -"file." -msgstr "" +msgid "Failed to compose AppStream metadata" +msgstr "AppStream 메타 데이터 작업용 유틸리티" -#: src/as-validator-issue-tag.h:537 -msgid "The screenshot caption is too long (should be <= 80 characters)" +#. TRANSLATORS: appstream-compose failed to include all data +#: tools/appstream-compose.c:380 +msgid "Run failed, some data was ignored." msgstr "" -#: src/as-validator-issue-tag.h:206 -msgid "The screenshot does not have a caption text. Consider adding one." +#. TRANSLATORS: information message of appstream-compose +#: tools/appstream-compose.c:382 +msgid "Errors were raised during this compose run:" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:218 +#: tools/appstream-compose.c:383 msgid "" -"The screenshot video does not specify which container format was used in a " -"'container' property." +"Refer to the generated issue report data for details on the individual " +"problems." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:212 -msgid "" -"The screenshot video does not specify which video codec was used in a " -"'codec' property." +#: tools/appstream-compose.c:386 +msgid "Overview of generated hints:" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:224 -msgid "" -"The selected video codec is not supported by AppStream and software centers " -"may not be able to play the video. Only the AV1 and VP9 codecs are currently " -"supported, using 'av1' and 'vp9' as values for the 'codec' property." +#. TRANSLATORS: information message +#: tools/appstream-compose.c:388 +msgid "Success!" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:231 -msgid "" -"The selected video container format is not supported by AppStream and " -"software centers may not be able to play the video. Only the WebM and " -"Matroska video containers are currently supported, using 'webm' and 'mkv' as " -"values for the 'container' property." -msgstr "" +#. TRANSLATORS: ascli flag description for: --cachepath +#: tools/appstreamcli.c:59 +msgid "Manually selected location of AppStream cache." +msgstr "직접 지정한 AppStream 캐시 위치." -#: src/as-validator-issue-tag.h:283 -#, fuzzy -msgid "" -"The set component type is not a recognized, valid AppStream component type." -msgstr "" -"소프트웨어 구성 요소 유형 '%s'은 AppStream에서 유효하지 않습니다. 가능한 값" -"은 다음과 같습니다:" +#. TRANSLATORS: ascli flag description for: --datapath +#: tools/appstreamcli.c:64 +msgid "Manually selected location of AppStream metadata to scan." +msgstr "직접 지정한 AppStream 메타데이터 스캔 위치." -#: src/as-validator-issue-tag.h:398 -msgid "" -"The set value is not an identifier for a desktop environment as registered " -"with Freedesktop.org." -msgstr "" +#. TRANSLATORS: ascli flag description for: --no-cache +#: tools/appstreamcli.c:69 +msgid "Make request without any caching." +msgstr "캐싱하지 말고 요청하세요." -#: tools/ascli-actions-mdata.c:449 -#, c-format -msgid "" -"The software component type '%s' is not valid in AppStream. Possible values " -"are:" -msgstr "" -"소프트웨어 구성 요소 유형 '%s'은 AppStream에서 유효하지 않습니다. 가능한 값" -"은 다음과 같습니다:" +#. TRANSLATORS: ascli flag description for: --format +#: tools/appstreamcli.c:85 +msgid "Default metadata format (valid values are 'xml' and 'yaml')." +msgstr "기본 메타데이터 포맷 (유효한 값은 'xml'과 'yaml'입니다)." -#: src/as-validator-issue-tag.h:338 -msgid "The summary must not contain any URL. Use the tags for links." -msgstr "" +#. TRANSLATORS: ascli flag description for: --details +#: tools/appstreamcli.c:100 +msgid "Print detailed output about found components." +msgstr "찾은 구성 요소에 대한 자세한 출력 표시." -#: src/as-validator-issue-tag.h:640 -msgid "" -"The type of the item that the component provides is not known to AppStream." -msgstr "" +#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) +#: tools/appstreamcli.c:118 +msgid "Also show pedantic hints." +msgstr "검증할 때 세세한 힌트도 출력." -#: src/as-validator-issue-tag.h:174 -msgid "" -"The update-contact does not appear to be a valid email address (escaping of " -"'@' is only allowed as '_at_' or '_AT_')." -msgstr "" +#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) +#: tools/appstreamcli.c:123 +#, fuzzy +msgid "Print detailed explanation for found issues." +msgstr "찾은 구성 요소에 대한 자세한 출력 표시." + +#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) +#: tools/appstreamcli.c:128 +msgid "Do not use network access." +msgstr "네트워크 액세스를 사용하지 마십시오." + +#. TRANSLATORS: ascli flag description for: --format when validating XML files +#: tools/appstreamcli.c:133 +#, fuzzy +msgid "Format of the generated report (valid values are 'text' and 'yaml')." +msgstr "기본 메타데이터 포맷 (유효한 값은 'xml'과 'yaml'입니다)." + +#. TRANSLATORS: This is the header to the --help menu for subcommands +#. TRANSLATORS: This is the header to the --help menu +#: tools/appstreamcli.c:153 tools/appstreamcli.c:981 +msgid "AppStream command-line interface" +msgstr "AppStream 명령문 인터페이스" -#: tools/ascli-actions-validate.c:363 tools/ascli-actions-validate.c:492 +#: tools/appstreamcli.c:156 #, c-format -msgid "" -"The validator can not create reports in the '%s' format. You may select " -"'yaml' or 'text' instead." -msgstr "" +msgid "'%s' command" +msgstr "'%s' 명령어" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:410 -msgid "This 'bundle' tag has an unknown type and can not be used." -msgstr "" +#. TRANSLATORS: An unknown option was passed to appstreamcli. +#: tools/appstreamcli.c:191 +#, c-format +msgid "Option '%s' is unknown." +msgstr "'%s'는(은) 알 수 없는 옵션입니다." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:404 -msgid "This 'launchable' tag has an unknown type and can not be used." +#: tools/appstreamcli.c:195 tools/appstreamcli.c:1207 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options." msgstr "" +"'%s --help' 를 실행하면 사용 가능한 명령문 옵션 전체 목록을 볼 수 있습니다." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:515 +#: tools/appstreamcli.c:197 +#, c-format msgid "" -"This 'localization' component does not define any languages this " -"localization is for." +"Run '%s --help' to see a list of available commands and options, and '%s %s " +"--help' to see a list of options specific for this subcommand." msgstr "" +"'%s --help' 를 실행하면 사용 가능한 명령문과 옵션 목록을 볼 수 있습니다, 그리" +"고 '%s %s --help' 를 실행해서 사용 가능한 하위 명령어 옵션 목록을 봅니다." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:509 -msgid "" -"This 'localization' component is missing an 'extends' tag, to specify the " -"components it adds localization to." +#. TRANSLATORS: ascli flag description for: --force +#: tools/appstreamcli.c:245 +msgid "Enforce a cache refresh." +msgstr "캐시를 강제로 새로 고칩니다." + +#. TRANSLATORS: ascli flag description for: --user +#: tools/appstreamcli.c:251 +msgid "Update the user-specific instead of the system-wide cache." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:521 -msgid "" -"This 'service' component is missing a 'launchable' tag of type 'service'." +#. TRANSLATORS: ascli flag description for: --origin (part of the "put" subcommand) +#: tools/appstreamcli.c:477 +msgid "Set the data origin for the installed metadata collection file." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:473 -msgid "" -"This 'web-application' component is missing a 'icon' tag to specify a valid " -"icon." +#. TRANSLATORS: ascli flag description for: --user (part of the "put" subcommand) +#: tools/appstreamcli.c:482 +msgid "Install the file for the current user, instead of globally." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:467 +#: tools/appstreamcli.c:631 msgid "" -"This 'web-application' component is missing a 'launchable' tag of type 'url'." -msgstr "" +"You need to provide at least two version numbers to compare as parameters." +msgstr "변수로써 비교하기 위해 최소 2개의 버전 숫자가 필요합니다." + +#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. +#: tools/appstreamcli.c:660 +#, c-format +msgid "Unknown compare relation '%s'. Valid values are:" +msgstr "알 수 없는 비교 연산자'%s'. 사용할 수 있는 것들은 :" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:479 +#: tools/appstreamcli.c:700 msgid "" -"This 'web-application' component is missing categorizations. A 'categories' " -"block is likely missing." +"Too many parameters: Need two version numbers or version numbers and a " +"comparison operator." msgstr "" +"변수가 너무 많습니다: 2개의 버전 숫자나 하나의 버전 숫자와 비교 연산자가 필요" +"합니다." -#: src/as-validator-issue-tag.h:564 +#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) +#: tools/appstreamcli.c:726 msgid "" -"This XML document has an unknown root tag. Maybe this file is not a metainfo " -"document?" -msgstr "" +"Use the given .desktop file to fill in the basic values of the metainfo file." +msgstr "주어진 .desktop 파일을 사용하여 metainfo 파일의 기본 값을 채웁니다." #. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand -#: tools/appstream-cli.c:680 +#: tools/appstreamcli.c:731 msgid "" "This command takes optional TYPE and FILE positional arguments, FILE being a " "file to write to (or \"-\" for standard output)." @@ -1473,112 +2191,214 @@ "이 명령은 선택적인 TYPE 및 FILE 위치 인수를 사용하며, FILE은 기록할 파일 (또" "는 표준 출력의 경우 \"-\")입니다." -#: src/as-validator-issue-tag.h:622 -msgid "" -"This component extends, provides, requires or recommends itself, which is " -"certainly not intended and may confuse users or machines dealing with this " -"metadata." +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows +#: tools/appstreamcli.c:734 +#, c-format +msgid "The TYPE must be a valid component-type, such as: %s" +msgstr "TYPE은 유효한 구성 요소 유형이어야 합니다, 예: %s" + +#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) +#: tools/appstreamcli.c:775 +msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." msgstr "" -#: src/as-validator-issue-tag.h:579 -msgid "This component metadata refers to a non-existing .desktop file." +#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command +#: tools/appstreamcli.c:815 +msgid "Assume the input file is in the selected format ('yaml' or 'text')." msgstr "" -#: src/as-validator-issue-tag.h:69 +#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command +#: tools/appstreamcli.c:820 msgid "" -"This description paragraph contains invalid markup. Currently, only " -"and are permitted." +"Limit the number of release entries that end up in the metainfo file (0 for " +"unlimited)." msgstr "" -#: src/as-validator-issue-tag.h:57 -msgid "" -"This element (paragraph, list, etc.) of a tag must not be " -"localized individually in collection metadata. Localize the whole " -" tag instead. The AppStream collection metadata generator (e." -"g. `appstream-generator`) will already do the right thing when compiling the " -"data." +#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command +#: tools/appstreamcli.c:862 +msgid "Generate the output in the selected format ('yaml' or 'text')." +msgstr "" + +#: tools/appstreamcli.c:894 +#, c-format +msgid "Compose binary '%s' was not found! Can not continue." msgstr "" -#: src/as-validator-issue-tag.h:455 +#. TRANSLATORS: this is a (usually shorter) command alias, shown after the command summary text +#: tools/appstreamcli.c:956 +#, c-format +msgid "(Alias: '%s')" +msgstr "" + +#. these are commands we can use with appstreamcli +#: tools/appstreamcli.c:983 +msgid "Subcommands:" +msgstr "하위 명령어:" + +#: tools/appstreamcli.c:1029 msgid "" -"This generic component is missing a long description. It may be useful to " -"add one." +"You can find information about subcommand-specific options by passing \"--" +"help\" to the subcommand." msgstr "" +"하위 명령어에 \"--help\"를 보내 하위 명령어에 관한 옵션 정보를 찾을 수 있습니" +"다." -#: src/as-validator-issue-tag.h:421 +#. TRANSLATORS: ascli has been run with unknown command. '%s --help' is the command to receive help and should not be translated. +#: tools/appstreamcli.c:1052 +#, fuzzy, c-format msgid "" -"This tag is a GNOME-specific extension to AppStream and not part of the " -"official specification. Do not expect it to work in all implementations and " -"in all software centers." +"Command '%s' is unknown. Run '%s --help' for a list of available commands." msgstr "" +"'%s --help' 를 실행하면 사용 가능한 명령문 옵션 전체 목록을 볼 수 있습니다." -#: src/as-validator-issue-tag.h:41 -msgid "This tag requires a type property." +#. TRANSLATORS: ascli flag description for: --verbose +#: tools/appstreamcli.c:1082 +msgid "Show extra debugging information." +msgstr "추가 디버깅 정보 보이기." + +#. TRANSLATORS: ascli flag description for: --profile +#: tools/appstreamcli.c:1090 +msgid "Enable profiling" msgstr "" -#: data/org.freedesktop.appstream.cli.metainfo.xml:15 +#. TRANSLATORS: `appstreamcli search` command description. +#: tools/appstreamcli.c:1102 +msgid "Search the component database." +msgstr "구성요소 데이터베이스를 검색합니다." + +#. TRANSLATORS: `appstreamcli get` command description. +#: tools/appstreamcli.c:1107 +msgid "Get information about a component by its ID." +msgstr "ID와 일치하는 구성요소 정보를 가져옵니다." + +#. TRANSLATORS: `appstreamcli what-provides` command description. +#: tools/appstreamcli.c:1112 msgid "" -"This tool allows for reading, writing, validating and transformation of " -"AppStream XML or YAML metadata. It also gives access to the system metadata " -"pool, for example to query for software that provides a specific MIME-type, " -"and installing it by its software component identifier." +"Get components which provide the given item. Needs an item type (e.g. lib, " +"bin, python3, …) and item value as parameter." msgstr "" -"이 도구는 AppStream XML 또는 YAML 메타 데이터의 읽기, 쓰기, 유효성 검사 및 변" -"환을 허용합니다. 또한 시스템 메타 데이터 풀에 대한 액세스를 제공합니다, 예를 " -"들면 특정 MIME 유형을 제공하는 소프트웨어를 쿼리 하며 소프트웨어 구성 요소 식" -"별자로 설치합니다." -#: src/as-validator-issue-tag.h:388 -msgid "" -"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." +#. TRANSLATORS: `appstreamcli dump` command description. +#: tools/appstreamcli.c:1118 +msgid "Dump raw XML metadata for a component matching the ID." +msgstr "ID와 일치하는 구성요소의 원시 XML 메타데이터 덤프." + +#. TRANSLATORS: `appstreamcli refresh-cache` command description. +#: tools/appstreamcli.c:1123 +msgid "Rebuild the component metadata cache." +msgstr "구성요소 메타데이터 캐시를 다시 만듭니다." + +#. TRANSLATORS: `appstreamcli validate` command description. +#: tools/appstreamcli.c:1129 +msgid "Validate AppStream XML files for issues." +msgstr "AppStream XML 파일의 문제를 검증합니다." + +#. TRANSLATORS: `appstreamcli validate-tree` command description. +#: tools/appstreamcli.c:1134 +msgid "Validate an installed file-tree of an application for valid metadata." msgstr "" +"올바른 메타데이터를 가지고 있는지 프로그램의 설치 파일 트리를 검증합니다." + +#. TRANSLATORS: `appstreamcli install` command description. +#: tools/appstreamcli.c:1140 +msgid "Install software matching the component-ID." +msgstr "component-ID와 일치하는 소프트웨어를 설치합니다." + +#. TRANSLATORS: `appstreamcli remove` command description. +#: tools/appstreamcli.c:1145 +msgid "Remove software matching the component-ID." +msgstr "component-ID와 일치하는 소프트웨어를 제거하세요." + +#. TRANSLATORS: `appstreamcli status` command description. +#: tools/appstreamcli.c:1151 +msgid "Display status information about available AppStream metadata." +msgstr "설치한 AppStream 메타데이터의 상태 정보를 나타냅니다." -#: tools/appstream-cli.c:648 +#. TRANSLATORS: `appstreamcli os-info` command description. +#: tools/appstreamcli.c:1156 msgid "" -"Too many parameters: Need two version numbers or version numbers and a " -"comparison operator." +"Show information about the current operating system from the metadata index." msgstr "" -"변수가 너무 많습니다: 2개의 버전 숫자나 하나의 버전 숫자와 비교 연산자가 필요" -"합니다." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:461 +#. TRANSLATORS: `appstreamcli put` command description. +#: tools/appstreamcli.c:1161 +msgid "Install a metadata file into the right location." +msgstr "올바른 위치에 메타데이터 파일을 설치하십시오." + +#. TRANSLATORS: `appstreamcli convert` command description. "Collection XML" is a term describing a specific type of AppStream XML data. +#: tools/appstreamcli.c:1166 +msgid "Convert collection XML to YAML or vice versa." +msgstr "컬렉션 XML을 YAML로 변환하시거나 그 반대로 하세요." + +#. TRANSLATORS: `appstreamcli vercmp` command description. +#: tools/appstreamcli.c:1171 +msgid "Compare two version numbers." +msgstr "두 버전 비교하기." + +#. TRANSLATORS: `appstreamcli new-template` command description. +#: tools/appstreamcli.c:1177 msgid "" -"Type 'console-application' component, but no information about binaries in " -"$PATH was provided via a 'provides/binary' tag." +"Create a template for a metainfo file (to be filled out by the upstream " +"project)." +msgstr "업스트림 프로젝트로 채울 metainfo 파일의 템플릿을 만듭니다." + +#. TRANSLATORS: `appstreamcli make-desktop-file` command description. +#: tools/appstreamcli.c:1182 +msgid "Create a desktop-entry file from a metainfo file." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:491 -msgid "" -"Type 'driver' component, but no modalias information was provided via a " -"provides/modalias tag." +#. TRANSLATORS: `appstreamcli news-to-metainfo` command description. +#: tools/appstreamcli.c:1187 +msgid "Convert a YAML or text NEWS file into metainfo releases." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:485 -msgid "" -"Type 'font' component, but no font information was provided via a 'provides/" -"font' tag." +#. TRANSLATORS: `appstreamcli metainfo-to-news` command description. +#: tools/appstreamcli.c:1192 +msgid "Write NEWS text or YAML file with information from a metainfo file." msgstr "" -#: src/as-validator.c:333 -msgid "URL format is invalid." +#. TRANSLATORS: `appstreamcli compose` command description. +#: tools/appstreamcli.c:1198 +msgid "Compose AppStream collection metadata from directory trees." msgstr "" -#: tools/ascli-actions-mdata.c:544 +#. TRANSLATORS: ascli has been run without command. +#: tools/appstreamcli.c:1206 +msgid "You need to specify a command." +msgstr "명령을 지정해야 합니다." + +#. TRANSLATORS: In ascli: The requested action needs higher permissions. +#: tools/ascli-actions-mdata.c:70 +msgid "You might need superuser permissions to perform this action." +msgstr "이 동작을 수행하려면 superuser 권한이 필요합니다." + +#. we performed a cache refresh +#. TRANSLATORS: Updating the metadata cache succeeded +#: tools/ascli-actions-mdata.c:80 +msgid "AppStream cache update completed successfully." +msgstr "AppStream 캐시 업데이트를 성공적으로 마쳤습니다." + +#. cache wasn't updated, so the update wasn't necessary +#: tools/ascli-actions-mdata.c:86 +msgid "AppStream cache update is not necessary." +msgstr "AppStream 캐시 업데이트가 필요하지 않습니다." + +#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments +#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. +#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:253 +#: tools/ascli-actions-pkgmgr.c:80 +msgid "You need to specify a component-ID." +msgstr "component-ID를 지정해야 합니다." + +#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:265 +#: tools/ascli-actions-pkgmgr.c:93 #, c-format -msgid "Unable to build the template metainfo file: %s" -msgstr "metainfo 파일을 빌드할 수 없습니다: %s" +msgid "Unable to find component with ID '%s'!" +msgstr "ID가 '%s'인 구성 요소를 찾을 수 없습니다!" -#. TRANSLATORS: User is trying to convert a file in ascli -#: tools/ascli-actions-mdata.c:400 -msgid "" -"Unable to convert file: Could not determine output format, please set it " -"explicitly using '--format='." -msgstr "" -"파일을 변환할 수 없습니다: 출력 형식을 결정할 수 없습니다, '--format ='을 사" -"용하여 명확하게 설정하세요." +#: tools/ascli-actions-mdata.c:164 +msgid "You need to specify a term to search for." +msgstr "검색할 항목을 지정해야 합니다." #. TRANSLATORS: We failed to find any component in the database, likely due to an error #: tools/ascli-actions-mdata.c:177 @@ -1586,197 +2406,221 @@ msgid "Unable to find component matching %s!" msgstr "%s에 일치하는 구성 요소를 찾을 수 없습니다!" -#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:266 -#: tools/ascli-actions-pkgmgr.c:93 +#: tools/ascli-actions-mdata.c:182 #, c-format -msgid "Unable to find component with ID '%s'!" -msgstr "ID가 '%s'인 구성 요소를 찾을 수 없습니다!" - -#: tools/ascli-actions-misc.c:224 -#, fuzzy, c-format -msgid "Unable to load existing desktop-entry file template: %s" -msgstr "해당 .desktop 파일을 읽을 수 없습니다: %s" +msgid "No component matching '%s' found." +msgstr "'%s'에 일치하는 구성 요소를 찾을 수 없습니다." -#: src/as-validator-issue-tag.h:356 -msgid "Unable to reach remote icon at the given web location - does it exist?" -msgstr "" +#: tools/ascli-actions-mdata.c:206 +msgid "No value for the item to search for was defined." +msgstr "검색할 항목에 대한 값을 정의하지 않았습니다." -#: src/as-validator-issue-tag.h:378 -msgid "" -"Unable to reach remote location that this URL references - does it exist?" +#: tools/ascli-actions-mdata.c:212 +msgid "Invalid type for provided item selected. Valid values are:" msgstr "" +"선택한 항목을 제공하는 형식이 잘못되었습니다. 올바른 값은 다음과 같습니다:" -#: src/as-validator-issue-tag.h:179 -msgid "" -"Unable to reach the screenshot image on its remote location - does the image " -"exist?" -msgstr "" +#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results +#: tools/ascli-actions-mdata.c:227 +#, c-format +msgid "Could not find component providing '%s::%s'." +msgstr "'%s::%s' 을(를) 제공하는 구성요소를 찾을 수 없습니다." -#: src/as-validator-issue-tag.h:184 -msgid "" -"Unable to reach the screenshot video on its remote location - does the video " -"file exist?" -msgstr "" +#: tools/ascli-actions-mdata.c:306 +msgid "You need to specify a metadata file." +msgstr "메타데이터 파일을 지정해야합니다." -#: src/as-validator-issue-tag.h:542 -#, fuzzy -msgid "Unable to read file." +#: tools/ascli-actions-mdata.c:320 +#, fuzzy, c-format +msgid "Unable to install metadata file: %s" msgstr "해당 .desktop 파일을 읽을 수 없습니다: %s" -#: src/as-validator-issue-tag.h:574 -#, fuzzy -msgid "Unable to read the .desktop file associated with this component." -msgstr "해당 .desktop 파일을 읽을 수 없습니다: %s" +#: tools/ascli-actions-mdata.c:340 +msgid "You need to specify an input and output file." +msgstr "입출력 파일을 지정해야 합니다." -#: tools/ascli-actions-mdata.c:473 +#: tools/ascli-actions-mdata.c:347 #, c-format -msgid "Unable to read the .desktop file: %s" -msgstr "해당 .desktop 파일을 읽을 수 없습니다: %s" +msgid "Metadata file '%s' does not exist." +msgstr "메타데이터 파일 '%s' 없습니다." -#: src/as-pool.c:606 -msgid "Unable to remove old cache." +#. TRANSLATORS: User is trying to convert a file in ascli +#: tools/ascli-actions-mdata.c:387 +msgid "" +"Unable to convert file: Could not determine output format, please set it " +"explicitly using '--format='." msgstr "" +"파일을 변환할 수 없습니다: 출력 형식을 결정할 수 없습니다, '--format ='을 사" +"용하여 명확하게 설정하세요." -#: tools/ascli-actions-misc.c:370 +#: tools/ascli-actions-mdata.c:438 #, fuzzy, c-format -msgid "Unable to save desktop entry file: %s" -msgstr "해당 .desktop 파일을 읽을 수 없습니다: %s" +msgid "Unable to find operating system component '%s'!" +msgstr "ID가 '%s'인 구성 요소를 찾을 수 없습니다!" -#: tools/ascli-actions-mdata.c:552 -#, c-format -msgid "Unable to save the template metainfo file: %s" -msgstr "템플릿 metainfo 파일을 저장할 수 없습니다: %s" +#: tools/ascli-actions-mdata.c:443 +#, fuzzy +msgid "Version" +msgstr "버전: %s" -#: tools/ascli-actions-pkgmgr.c:67 -#, c-format -msgid "Unable to spawn package manager: %s" -msgstr "패키지 매니저를 시작할 수 없습니다: %s" +#: tools/ascli-actions-mdata.c:467 +msgid "" +"You need to give an AppStream software component type to generate a " +"template. Possible values are:" +msgstr "" +"템플릿을 생성하려면 AppStream 소프트웨어 구성 요소 유형을 제공해야 합니다. 가" +"능한 값은 다음과 같습니다:" -#: tools/ascli-actions-mdata.c:322 +#: tools/ascli-actions-mdata.c:469 #, c-format -msgid "Unable to write to '%s', can not install metainfo file." -msgstr "'%s'에 쓸 수 없습니다, metainfo 파일을 설치할 수 없습니다." +msgid "" +"The software component type '%s' is not valid in AppStream. Possible values " +"are:" +msgstr "" +"소프트웨어 구성 요소 유형 '%s'은 AppStream에서 유효하지 않습니다. 가능한 값" +"은 다음과 같습니다:" -#. TRANSLATORS: ascli has been run with unknown command. -#: tools/appstream-cli.c:1009 +#: tools/ascli-actions-mdata.c:487 #, c-format -msgid "Unknown command '%s'." -msgstr "알 수 없는 명령어 '%s'." +msgid "The .desktop file '%s' does not exist." +msgstr "해당 .desktop 파일 '%s'이 없습니다." -#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. -#: tools/appstream-cli.c:608 +#: tools/ascli-actions-mdata.c:493 #, c-format -msgid "Unknown compare relation '%s'. Valid values are:" -msgstr "알 수 없는 비교 연산자'%s'. 사용할 수 있는 것들은 :" +msgid "Unable to read the .desktop file: %s" +msgstr "해당 .desktop 파일을 읽을 수 없습니다: %s" -#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) -#: tools/appstream-cli.c:675 -msgid "" -"Use the given .desktop file to fill in the basic values of the metainfo file." -msgstr "주어진 .desktop 파일을 사용하여 metainfo 파일의 기본 값을 채웁니다." +#: tools/ascli-actions-mdata.c:564 +#, c-format +msgid "Unable to build the template metainfo file: %s" +msgstr "metainfo 파일을 빌드할 수 없습니다: %s" -#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) -#: tools/appstream-cli.c:725 -msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." -msgstr "" +#: tools/ascli-actions-mdata.c:572 +#, c-format +msgid "Unable to save the template metainfo file: %s" +msgstr "템플릿 metainfo 파일을 저장할 수 없습니다: %s" -#. TRANSLATORS: this is the menu spec main category for Utilities -#: src/as-category.c:329 -msgid "Utilities" -msgstr "유틸리티" +#. TRANSLATORS: In the status report of ascli: Header +#: tools/ascli-actions-misc.c:47 +msgid "AppStream Status:" +msgstr "AppStream 상태:" -#: tools/appstream-cli.c:856 -msgid "Validate AppStream XML files for issues." -msgstr "AppStream XML 파일의 문제를 검증합니다." +#: tools/ascli-actions-misc.c:48 +#, c-format +msgid "Version: %s" +msgstr "버전: %s" -#: tools/appstream-cli.c:857 -msgid "Validate an installed file-tree of an application for valid metadata." -msgstr "" -"올바른 메타데이터를 가지고 있는지 프로그램의 설치 파일 트리를 검증합니다." +#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions +#: tools/ascli-actions-misc.c:52 +msgid "Distribution metadata:" +msgstr "배포판 메타데이터:" -#: tools/ascli-actions-validate.c:301 tools/ascli-actions-validate.c:442 -#, c-format -msgid "Validation failed: %s" -msgstr "유효성 검사 실패: %s" +#: tools/ascli-actions-misc.c:94 +msgid "Iconsets" +msgstr "아이콘셋" -#: tools/ascli-actions-validate.c:289 tools/ascli-actions-validate.c:430 -msgid "Validation was successful." -msgstr "유효성 검사에 성공했습니다." +#: tools/ascli-actions-misc.c:105 +msgid "No icons." +msgstr "아이콘 없음." -#: tools/ascli-actions-validate.c:291 tools/ascli-actions-validate.c:432 -#, c-format -msgid "Validation was successful: %s" -msgstr "유효성 검사에 성공했습니다: %s" +#. TRANSLATORS: No metainfo files have been found +#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 +msgid "Empty." +msgstr "비어 있음." -#: tools/appstream-cli.c:851 -msgid "Value of the item that should be found." -msgstr "찾아야 할 항목의 값입니다." +#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report +#: tools/ascli-actions-misc.c:116 +msgid "Metainfo files:" +msgstr "Metainfo 파일:" -#: src/as-category.c:177 -msgctxt "Category of Graphics" -msgid "Vector Graphics" -msgstr "벡터 그래픽" +#: tools/ascli-actions-misc.c:123 +#, c-format +msgid "Found %i components." +msgstr "구성 요소 %i개를 찾았습니다." -#: tools/ascli-actions-misc.c:48 +#. TRANSLATORS: Found metainfo files in legacy directories +#: tools/ascli-actions-misc.c:138 #, c-format -msgid "Version: %s" -msgstr "버전: %s" +msgid "Found %i components in legacy paths." +msgstr "기존 경로에서 구성 요소 %i개를 찾았습니다." -#: src/as-category.c:180 -msgctxt "Category of Graphics" -msgid "Viewers" -msgstr "뷰어" +#. TRANSLATORS: Status summary in ascli +#: tools/ascli-actions-misc.c:145 +msgid "Summary:" +msgstr "요약:" #: tools/ascli-actions-misc.c:153 #, c-format msgid "We have information on %i software components." msgstr "소프트웨어 구성 요소에 관한 %i개의 정보가 있습니다." -#: src/as-category.c:270 -msgctxt "Category of Communication" -msgid "Web Browsers" -msgstr "웹 브라우저" +#: tools/ascli-actions-misc.c:159 +#, c-format +msgid "Error while loading the metadata pool: %s" +msgstr "메타데이터 풀을 불러오는 동안 생긴 오류: %s" -#: src/as-category.c:202 -msgctxt "Category of Office" -msgid "Word Processor" -msgstr "워드 프로세서" +#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 +#, fuzzy +msgid "You need to specify a metainfo file as input." +msgstr "메타데이터 파일을 지정해야합니다." -#: tools/appstream-cli.c:871 -msgid "Write NEWS text or YAML file with information from a metainfo file." +#: tools/ascli-actions-misc.c:188 +#, fuzzy +msgid "" +"You need to specify a desktop-entry file to create or augment as output." +msgstr "검증할 파일을 지정해야 합니다!" + +#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 +#: tools/ascli-actions-misc.c:515 +#, fuzzy, c-format +msgid "Metainfo file '%s' does not exist." +msgstr "메타데이터 파일 '%s' 없습니다." + +#: tools/ascli-actions-misc.c:219 +#, c-format +msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." msgstr "" -#: tools/appstream-cli.c:874 -msgid "" -"You can find information about subcommand-specific options by passing \"--" -"help\" to the subcommand." +#: tools/ascli-actions-misc.c:224 +#, fuzzy, c-format +msgid "Unable to load existing desktop-entry file template: %s" +msgstr "해당 .desktop 파일을 읽을 수 없습니다: %s" + +#: tools/ascli-actions-misc.c:228 +#, c-format +msgid "Creating new desktop-entry file '%s' using data from '%s'" msgstr "" -"하위 명령어에 \"--help\"를 보내 하위 명령어에 관한 옵션 정보를 찾을 수 있습니" -"다." -#. TRANSLATORS: In ascli: The requested action needs higher permissions. -#: tools/ascli-actions-mdata.c:70 -msgid "You might need superuser permissions to perform this action." -msgstr "이 동작을 수행하려면 superuser 권한이 필요합니다." +#: tools/ascli-actions-misc.c:284 +msgid "No stock icon name was provided in the metainfo file. Can not continue." +msgstr "" -#: tools/ascli-actions-mdata.c:447 +#: tools/ascli-actions-misc.c:306 msgid "" -"You need to give an AppStream software component type to generate a " -"template. Possible values are:" +"No provided binary specified in metainfo file, and no exec command specified " +"via '--exec'. Can not create 'Exec=' key." msgstr "" -"템플릿을 생성하려면 AppStream 소프트웨어 구성 요소 유형을 제공해야 합니다. 가" -"능한 값은 다음과 같습니다:" -#: tools/appstream-cli.c:579 -msgid "" -"You need to provide at least two version numbers to compare as parameters." -msgstr "변수로써 비교하기 위해 최소 2개의 버전 숫자가 필요합니다." +#: tools/ascli-actions-misc.c:370 +#, fuzzy, c-format +msgid "Unable to save desktop entry file: %s" +msgstr "해당 .desktop 파일을 읽을 수 없습니다: %s" #: tools/ascli-actions-misc.c:393 #, fuzzy msgid "You need to specify a NEWS file as input." msgstr "메타데이터 파일을 지정해야합니다." +#: tools/ascli-actions-misc.c:397 +#, fuzzy +msgid "" +"You need to specify a metainfo file to augment, or '-' to print to stdout." +msgstr "메타데이터 파일을 지정해야합니다." + +#: tools/ascli-actions-misc.c:402 +msgid "No output filename specified, modifying metainfo file directly." +msgstr "" + #: tools/ascli-actions-misc.c:509 #, fuzzy msgid "You need to specify a NEWS file as output, or '-' to print to stdout." @@ -1787,131 +2631,188 @@ msgid "You need to specify a NEWS format to write the output in." msgstr "입출력 파일을 지정해야 합니다." -#. TRANSLATORS: ascli has been run without command. -#: tools/appstream-cli.c:925 -msgid "You need to specify a command." -msgstr "명령을 지정해야 합니다." - -#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments -#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. -#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:254 -#: tools/ascli-actions-pkgmgr.c:80 -msgid "You need to specify a component-ID." -msgstr "component-ID를 지정해야 합니다." - -#: tools/ascli-actions-misc.c:188 -#, fuzzy +#: tools/ascli-actions-pkgmgr.c:53 msgid "" -"You need to specify a desktop-entry file to create or augment as output." -msgstr "검증할 파일을 지정해야 합니다!" +"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" +"\" (part of PackageKit) is available." +msgstr "" +"적당한 패키지 매니저 CLI가 없습니다. \"pkcon\"(PackageKit 일부)과 같은 프로그" +"램이 있는지 확인하십시오." -#: tools/ascli-actions-mdata.c:309 -msgid "You need to specify a metadata file." -msgstr "메타데이터 파일을 지정해야합니다." +#: tools/ascli-actions-pkgmgr.c:67 +#, c-format +msgid "Unable to spawn package manager: %s" +msgstr "패키지 매니저를 시작할 수 없습니다: %s" -#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 -#, fuzzy -msgid "You need to specify a metainfo file as input." -msgstr "메타데이터 파일을 지정해야합니다." +#. TRANSLATORS: We found no distribution package or bundle to install to make this software available +#: tools/ascli-actions-pkgmgr.c:106 +#, c-format +msgid "Component '%s' has no installation candidate." +msgstr "'%s' 구성 요소는 설치 대상이 아닙니다." -#: tools/ascli-actions-misc.c:397 -#, fuzzy -msgid "" -"You need to specify a metainfo file to augment, or '-' to print to stdout." -msgstr "메타데이터 파일을 지정해야합니다." +#: tools/ascli-actions-validate.c:176 tools/ascli-actions-validate.c:354 +#, fuzzy, c-format +msgid "File '%s' does not exist." +msgstr "메타데이터 파일 '%s' 없습니다." -#: tools/ascli-actions-validate.c:385 tools/ascli-actions-validate.c:479 -msgid "You need to specify a root directory to start validation!" -msgstr "검증을 시작하려면 루트 디렉터리를 지정해야합니다!" +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "error"-type hints +#: tools/ascli-actions-validate.c:228 +#, c-format +msgid "errors: %lu" +msgstr "오류: %lu" -#: tools/ascli-actions-mdata.c:164 -msgid "You need to specify a term to search for." -msgstr "검색할 항목을 지정해야 합니다." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "warning"-type hints +#: tools/ascli-actions-validate.c:235 +#, c-format +msgid "warnings: %lu" +msgstr "알림: %lu" -#: tools/ascli-actions-mdata.c:357 -msgid "You need to specify an input and output file." -msgstr "입출력 파일을 지정해야 합니다." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "info"-type hints +#: tools/ascli-actions-validate.c:242 +#, c-format +msgid "infos: %lu" +msgstr "정보: %lu" + +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "pedantic"-type hints +#: tools/ascli-actions-validate.c:249 +#, c-format +msgid "pedantic: %lu" +msgstr "규칙: %lu" -#: tools/ascli-actions-validate.c:263 tools/ascli-actions-validate.c:337 +#: tools/ascli-actions-validate.c:268 tools/ascli-actions-validate.c:342 #, fuzzy msgid "You need to specify at least one file to validate!" msgstr "검증할 파일을 지정해야 합니다!" -#. TRANSLATORS: List of "grey-listed" words sperated with ";" -#. * Do not translate this list directly. Instead, -#. * provide a list of words in your language that people are likely -#. * to include in a search but that should normally be ignored in -#. * the search. -#. -#: src/as-pool.c:107 -msgid "app;application;package;program;programme;suite;tool" -msgstr "앱;애플리케이션;패키지;프로그램;프로그램;모음;도구" +#: tools/ascli-actions-validate.c:294 tools/ascli-actions-validate.c:435 +msgid "Validation was successful." +msgstr "유효성 검사에 성공했습니다." -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:223 +#: tools/ascli-actions-validate.c:296 tools/ascli-actions-validate.c:437 #, c-format -msgid "errors: %lu" -msgstr "오류: %lu" +msgid "Validation was successful: %s" +msgstr "유효성 검사에 성공했습니다: %s" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:237 +#: tools/ascli-actions-validate.c:306 tools/ascli-actions-validate.c:447 #, c-format -msgid "infos: %lu" -msgstr "정보: %lu" +msgid "Validation failed: %s" +msgstr "유효성 검사 실패: %s" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:244 +#: tools/ascli-actions-validate.c:368 tools/ascli-actions-validate.c:497 #, c-format -msgid "pedantic: %lu" -msgstr "규칙: %lu" +msgid "" +"The validator can not create reports in the '%s' format. You may select " +"'yaml' or 'text' instead." +msgstr "" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:230 -#, c-format -msgid "warnings: %lu" -msgstr "알림: %lu" +#: tools/ascli-actions-validate.c:390 tools/ascli-actions-validate.c:484 +msgid "You need to specify a root directory to start validation!" +msgstr "검증을 시작하려면 루트 디렉터리를 지정해야합니다!" + +#: tools/ascli-utils.c:266 +msgid "Identifier" +msgstr "식별자" -#~ msgid "Command '%s' is unknown." -#~ msgstr "명령 '%s'이(가) 올바르지 않습니다." +#: tools/ascli-utils.c:268 +msgid "Internal ID" +msgstr "" -#, fuzzy -#~ msgid "Do not use any caches when performing the request." -#~ msgstr "요청을 수행할 때 Xapian 캐시 활용 안 함" +#: tools/ascli-utils.c:269 +msgid "Name" +msgstr "이름" -#~ msgid "AppStream cache update failed." -#~ msgstr "AppStream 캐시 업데이트가 실패하였습니다." +#: tools/ascli-utils.c:270 +msgid "Summary" +msgstr "요약" -#~ msgid "" -#~ "AppStream data pool was loaded, but some metadata was ignored due to " -#~ "errors." -#~ msgstr "" -#~ "AppStream 데이터 풀을 불러왔지만, 오류가 발생하여 일부 메타데이터를 무시했" -#~ "습니다." +#: tools/ascli-utils.c:271 +msgid "Package" +msgstr "패키지" -#~ msgid "Can not search for unknown component type." -#~ msgstr "알 수 없는 구성요소 형식으로 검색할 수 없습니다." +#: tools/ascli-utils.c:272 +msgid "Bundle" +msgstr "번들" -#, fuzzy -#~ msgid "Category of Games" -#~ msgstr "분류" +#: tools/ascli-utils.c:273 +msgid "Homepage" +msgstr "홈페이지" -#, fuzzy -#~ msgid "Category of Office" -#~ msgstr "분류" +#: tools/ascli-utils.c:274 +msgid "Icon" +msgstr "아이콘" -#, fuzzy -#~ msgid "Category of Science" -#~ msgstr "분류" +#. developer name +#: tools/ascli-utils.c:294 +msgid "Developer" +msgstr "개발자" + +#: tools/ascli-utils.c:300 +msgid "Extends" +msgstr "확장" + +#: tools/ascli-utils.c:306 +msgid "Description" +msgstr "설명" + +#: tools/ascli-utils.c:326 +msgid "Default Screenshot URL" +msgstr "기본 스크린샷 URL" + +#. project group +#: tools/ascli-utils.c:333 +msgid "Project Group" +msgstr "프로젝트 그룹" + +#. license +#: tools/ascli-utils.c:336 +msgid "License" +msgstr "라이선스" + +#: tools/ascli-utils.c:342 +msgid "Categories" +msgstr "카테고리" + +#: tools/ascli-utils.c:350 +msgid "Compulsory for" +msgstr "다음의 필수 사항" -#~ msgid "Extensions" -#~ msgstr "확장 기능" +#: tools/ascli-utils.c:378 +msgid "Provided Items" +msgstr "제공하는 항목" -#~ msgid "File %s not found or permission denied!" -#~ msgstr "파일 %s을(를) 찾을 수 없거나 권한이 거부되었습니다!" +#, fuzzy, c-format +#~ msgid "Unable to open new cache file: %s" +#~ msgstr "해당 .desktop 파일을 읽을 수 없습니다: %s" #, fuzzy -#~ msgid "No component providing '%s::%s' found." -#~ msgstr "'%s;%s' 을(를) 제공하는 구성요소가 없습니다." +#~ msgid "" +#~ "AppStream is a cross-distribution specification to provide metadata about " +#~ "software components." +#~ msgstr "" +#~ "AppStream은 소프트웨어 구성 요소에 대한 메타 데이터를 제공하는 교차 배포 " +#~ "사양입니다." + +#, c-format +#~ msgid "Unable to write to '%s', can not install metainfo file." +#~ msgstr "'%s'에 쓸 수 없습니다, metainfo 파일을 설치할 수 없습니다." + +#, c-format +#~ msgid "" +#~ "Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " +#~ "suffix." +#~ msgstr "" +#~ "'%s'을(를) 복사할 수 없음: '.metainfo.xml' 또는 '.appdata.xml' 파일 확장자" +#~ "가 아닙니다." + +#~ msgid "An item type (e.g. lib, bin, python3, …)" +#~ msgstr "항목 형식 (예: lib, bin, python3, ...)" + +#~ msgid "Get components which provide the given item." +#~ msgstr "주어진 항목을 제공하는 구성요소를 가져옵니다." + +#, c-format +#~ msgid "Unknown command '%s'." +#~ msgstr "알 수 없는 명령어 '%s'." -#~ msgid "XDG Menu XML file '%s' is damaged." -#~ msgstr "XDG 메뉴 XML 파일 '%s'이(가) 손상되었습니다." +#~ msgid "Value of the item that should be found." +#~ msgstr "찾아야 할 항목의 값입니다." diff -Nru appstream-0.12.10/po/LINGUAS appstream-0.14.5/po/LINGUAS --- appstream-0.12.10/po/LINGUAS 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/po/LINGUAS 2021-08-28 20:15:28.000000000 +0000 @@ -1,16 +1,21 @@ +ain ar +bn_BD ca ckb cs da de en_GB +eo es eu fi fr gd gl +he +hr hu id it @@ -23,6 +28,8 @@ pl pt pt_BR +ro +rom ru sk sl diff -Nru appstream-0.12.10/po/lt.po appstream-0.14.5/po/lt.po --- appstream-0.12.10/po/lt.po 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/po/lt.po 2021-08-28 20:15:28.000000000 +0000 @@ -1,1892 +1,2819 @@ +# #-#-#-#-# lt.po (appstream) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Matthias Klumpp # This file is distributed under the same license as the appstream package. # Moo , 2019. +# #-#-#-#-# lt.po (appstream-glib) #-#-#-#-# +# Moo , 2018. #zanata +#, fuzzy msgid "" msgstr "" -"Project-Id-Version: appstream\n" +"Project-Id-Version: appstream-glib\n" "Report-Msgid-Bugs-To: appstream@lists.freedesktop.org\n" -"POT-Creation-Date: 2020-01-14 01:44+0100\n" -"PO-Revision-Date: 2019-07-06 22:01+0000\n" +"POT-Creation-Date: 2021-08-28 16:09+0200\n" +"PO-Revision-Date: 2018-10-08 07:11+0000\n" "Last-Translator: Moo \n" -"Language-Team: Lithuanian \n" +"Language-Team: Lithuanian\n" "Language: lt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"#-#-#-#-# lt.po (appstream) #-#-#-#-#\n" "Plural-Forms: nplurals=3; plural=(n % 10 == 1 && (n % 100 < 11 || n % 100 > " "19)) ? 0 : ((n % 10 >= 2 && n % 10 <= 9 && (n % 100 < 11 || n % 100 > 19)) ? " "1 : 2);\n" "X-Generator: Weblate 3.8-dev\n" - -#: tools/appstream-cli.c:157 -#, c-format -msgid "'%s' command" -msgstr "\"%s\" komanda" - -#: src/as-category.c:168 -msgctxt "Category of Graphics" -msgid "3D Graphics" -msgstr "Trimatė (3D) grafika" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:254 -msgid "" -"A 'requires' or 'recommends' item requires a value to denote a valid " -"relation." -msgstr "" - -#: src/as-validator-issue-tag.h:51 -msgid "" -"A tag must not be localized in metainfo files (upstream " -"metadata). Localize the individual paragraphs instead." -msgstr "" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:195 -msgid "" -"A screenshot must contain at least one image or video in order to be useful. " -"Please add an to it." -msgstr "" - -#: src/as-validator-issue-tag.h:200 -msgid "" -"A screenshot must contain either images or videos, but not both at the same " -"time. Please use this screenshot exclusively for either static images or for " -"videos." -msgstr "" - -#: src/as-category.c:123 -msgctxt "Category of Games" -msgid "Action" -msgstr "Veiksmas" - -#. TRANSLATORS: this is the main category for Add-ons -#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor -#: src/as-category.c:320 tools/ascli-utils.c:398 -msgid "Add-ons" -msgstr "Papildiniai" - -#: src/as-category.c:126 -msgctxt "Category of Games" -msgid "Adventure" -msgstr "Nuotykiai" - -#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) -#: tools/appstream-cli.c:116 -msgid "Also show pedantic hints." -msgstr "Taip pat rodyti pedantiškus patarimus." - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:497 -msgid "" -"An 'extends' tag is specified, but the component is not of type 'addon', " -"'localization' or 'repository'." -msgstr "" - -#: tools/appstream-cli.c:850 -msgid "An item type (e.g. lib, bin, python3, …)" -msgstr "Elemento tipas (pvz., lib, bin, python3, …)" - -#: data/org.freedesktop.appstream.cli.metainfo.xml:9 -msgid "An utility to work with AppStream metadata" -msgstr "Paslaugų programa, skirta darbui su AppStream metaduomenimis" +"#-#-#-#-# lt.po (appstream-glib) #-#-#-#-#\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n" +"%100<10 || n%100>=20) ? 1 : 2)\n" +"X-Generator: Zanata 4.6.2\n" #: data/org.freedesktop.appstream.cli.metainfo.xml:8 msgid "AppStream CLI" msgstr "AppStream komandų eilutė" -#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. -#: tools/appstream-cli.c:947 -#, c-format -msgid "" -"AppStream CLI tool version: %s\n" -"AppStream library version: %s" -msgstr "" -"AppStream komandų eilutės įrankio versija: %s\n" -"AppStream bibliotekos versija: %s" - -#. TRANSLATORS: In the status report of ascli: Header -#: tools/ascli-actions-misc.c:47 -msgid "AppStream Status:" -msgstr "AppStream būsena:" - -#. we performed a cache refresh -#. TRANSLATORS: Updating the metadata cache succeeded -#: tools/ascli-actions-mdata.c:80 -msgid "AppStream cache update completed successfully." -msgstr "AppStream podėlio atnaujinimas sėkmingai užbaigtas." - -#. cache wasn't updated, so the update wasn't necessary -#: tools/ascli-actions-mdata.c:86 -msgid "AppStream cache update is not necessary." -msgstr "AppStream podėlio atnaujinimas nėra būtinas." - -#. TRANSLATORS: This is the header to the --help menu for subcommands -#. TRANSLATORS: This is the header to the --help menu -#: tools/appstream-cli.c:154 tools/appstream-cli.c:843 -msgid "AppStream command-line interface" -msgstr "AppStream komandų eilutės sąsaja" +#: data/org.freedesktop.appstream.cli.metainfo.xml:9 +msgid "An utility to work with AppStream metadata" +msgstr "Paslaugų programa, skirta darbui su AppStream metaduomenimis" -#: src/as-validator-issue-tag.h:63 +#: data/org.freedesktop.appstream.cli.metainfo.xml:12 msgid "" -"AppStream descriptions support only a limited set of tags to format text: " -"Paragraphs (

                                                                                                                                                                                                                                                    ) and lists (

                                                                                                                                                                                                                                                      ,
                                                                                                                                                                                                                                                        ). This description markup contains " -"an invalid XML tag that would not be rendered correctly in applications " -"supporting the metainfo specification." +"AppStream is a metadata specification which permits software components to " +"provide information about themselves to automated systems and end-users " +"before the software is actually installed. The AppStream project provides " +"facilities to easily access and transform this metadata, as well as a few " +"additional services for building feature-rich software centers and similar " +"applications that make use of software metadata." msgstr "" -#: data/org.freedesktop.appstream.cli.metainfo.xml:12 +#: data/org.freedesktop.appstream.cli.metainfo.xml:18 #, fuzzy msgid "" -"AppStream is a cross-distribution specification to provide metadata about " -"software components." +"The appstreamcli command-line tool allows to read, write, and " +"transform AppStream XML or YAML metadata as well as to validate it for " +"compliance with the specification. It also provides easy access to the " +"system metadata pool, for example to query for software that provides a " +"specific Mediatype handler or for installing software by its component " +"identifier." msgstr "" -"AppStream yra daugiadistribucinė specifikacija, skirta pateikti metaduomenis " -"apie programinės įrangos komponentus." +"Šis įrankis leidžia skaityti, rašyti, patikrinti ir transformuoti AppStream " +"XML ar YAML metaduomenis. Jis taip pat suteikia prieigą prie metaduomenų " +"telkinio, pavyzdžiui, tam, kad užklausti programinę įrangą, kurį teikia tam " +"tikrą MIME tipą, ir leidžia įdiegti ją pagal jos programinės įrangos " +"komponento identifikatorių." -#: src/as-pool.c:1937 -#, fuzzy, c-format -msgid "" -"AppStream system cache refresh failed. Turn on verbose mode to get detailed " -"issue information." -msgstr "" -"AppStream podėlio atnaujinimas nepavyko. Įjunkite išsamią veikseną, kad " -"gautumėte išsamesnę informaciją apie problemą." +#: src/as-category.c:66 +msgctxt "Category of AudioVideo" +msgid "Featured" +msgstr "Pasižymėjusios" -#. TRANSLATORS: Output if appstreamcli --version is executed. -#: tools/appstream-cli.c:944 -#, c-format -msgid "AppStream version: %s" -msgstr "AppStream versija: %s" +#: src/as-category.c:69 +msgctxt "Category of AudioVideo" +msgid "Audio Creation & Editing" +msgstr "Garso kūrimas ir redagavimas" -#: src/as-category.c:129 -msgctxt "Category of Games" -msgid "Arcade" -msgstr "Arkada" +#: src/as-category.c:75 +msgctxt "Category of AudioVideo" +msgid "Music Players" +msgstr "Muzikos grotuvai" -#: src/as-category.c:234 -msgctxt "Category of Science" -msgid "Artificial Intelligence" -msgstr "Dirbtinis intelektas" +#: src/as-category.c:84 +msgctxt "Category of Development" +msgid "Featured" +msgstr "Pasižymėjusios" -#: src/as-validator-issue-tag.h:91 -msgid "" -"As per AppStream specification, the mentioned tag must only appear once in " -"this context. Having multiple tags of this kind is not valid." -msgstr "" +#: src/as-category.c:87 +msgctxt "Category of Development" +msgid "Debuggers" +msgstr "Derinimo programos" -#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command -#: tools/appstream-cli.c:766 -msgid "Assume the input file is in the selected format ('yaml' or 'text')." -msgstr "" +#: src/as-category.c:90 +msgctxt "Category of Development" +msgid "IDEs" +msgstr "Integruotos kūrimo aplinkos (IDE)" -#: src/as-category.c:101 +#: src/as-category.c:99 msgctxt "Category of Education" -msgid "Astronomy" -msgstr "Astronomija" +msgid "Featured" +msgstr "Pasižymėjusios" -#: src/as-category.c:237 -msgctxt "Category of Science" +#: src/as-category.c:102 +msgctxt "Category of Education" msgid "Astronomy" msgstr "Astronomija" -#. TRANSLATORS: this is the menu spec main category for Audio & Video -#: src/as-category.c:302 -msgid "Audio & Video" -msgstr "Garsas ir vaizdas" +#: src/as-category.c:105 +msgctxt "Category of Education" +msgid "Chemistry" +msgstr "Chemija" -#: src/as-category.c:68 -msgctxt "Category of AudioVideo" -msgid "Audio Creation & Editing" -msgstr "Garso kūrimas ir redagavimas" +#: src/as-category.c:108 +msgctxt "Category of Education" +msgid "Languages" +msgstr "Kalbos" -#: tools/ascli-actions-misc.c:219 -#, c-format -msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." -msgstr "" +#: src/as-category.c:112 +msgctxt "Category of Education" +msgid "Math" +msgstr "Matematika" -#: src/as-provided.c:146 -msgid "Binaries" -msgstr "Dvejetainės" +#: src/as-category.c:121 +msgctxt "Category of Games" +msgid "Featured" +msgstr "Pasižymėjusios" + +#: src/as-category.c:124 +msgctxt "Category of Games" +msgid "Action" +msgstr "Veiksmas" + +#: src/as-category.c:127 +msgctxt "Category of Games" +msgid "Adventure" +msgstr "Nuotykiai" + +#: src/as-category.c:130 +msgctxt "Category of Games" +msgid "Arcade" +msgstr "Arkada" -#: src/as-category.c:132 +#: src/as-category.c:133 msgctxt "Category of Games" msgid "Blocks" msgstr "Blokai" -#: src/as-category.c:135 +#: src/as-category.c:136 msgctxt "Category of Games" msgid "Board" msgstr "Stalo" -#: tools/ascli-utils.c:299 -msgid "Bundle" -msgstr "Rinkinys" - -#: src/as-pool.c:1828 -#, c-format -msgid "Cache location '%s' is not writable." -msgstr "Podėlio vieta \"%s\" nėra įrašoma." - -#: src/as-category.c:191 -msgctxt "Category of Office" -msgid "Calendar" -msgstr "Kalendorius" - -#: tools/ascli-actions-mdata.c:327 -#, c-format -msgid "" -"Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " -"suffix." -msgstr "" -"Nepavyksta nukopijuoti \"%s\": Failas neturi \".metainfo.xml\" ar \".appdata." -"xml\" povardžio." - -#: src/as-category.c:138 +#: src/as-category.c:139 msgctxt "Category of Games" msgid "Card" msgstr "Kortų" -#: tools/ascli-utils.c:369 -msgid "Categories" -msgstr "Kategorijos" +#: src/as-category.c:142 +msgctxt "Category of Games" +msgid "Emulators" +msgstr "Emuliatoriai" -#: src/as-category.c:259 -msgctxt "Category of Communication" -msgid "Chat" -msgstr "Pokalbiai" +#: src/as-category.c:145 +msgctxt "Category of Games" +msgid "Kids" +msgstr "Vaikai" -#: src/as-category.c:104 -msgctxt "Category of Education" -msgid "Chemistry" -msgstr "Chemija" +#: src/as-category.c:148 +msgctxt "Category of Games" +msgid "Logic" +msgstr "Logika" -#: src/as-category.c:240 -msgctxt "Category of Science" -msgid "Chemistry" -msgstr "Chemija" +#: src/as-category.c:151 +msgctxt "Category of Games" +msgid "Role Playing" +msgstr "Vaidmenimis" -#: src/as-category.c:214 -msgctxt "Category of Addons" -msgid "Codecs" -msgstr "Kodekai" +#: src/as-category.c:154 +msgctxt "Category of Games" +msgid "Sports" +msgstr "Sportas" -#. TRANSLATORS: this is the menu spec main category for Communication -#: src/as-category.c:326 -msgid "Communication & News" -msgstr "Komunikacija ir naujienos" +#: src/as-category.c:158 +msgctxt "Category of Games" +msgid "Strategy" +msgstr "Strategija" -#: tools/appstream-cli.c:866 -msgid "Compare two version numbers." -msgstr "Palyginti dviejų versijų numerius." +#: src/as-category.c:166 +msgctxt "Category of Graphics" +msgid "Featured" +msgstr "Pasižymėjusios" -#: src/as-provided.c:166 -msgid "Component" -msgstr "Komponentas" +#: src/as-category.c:169 +msgctxt "Category of Graphics" +msgid "3D Graphics" +msgstr "Trimatė (3D) grafika" -#. TRANSLATORS: We found no distribution package or bundle to install to make this software available -#: tools/ascli-actions-pkgmgr.c:106 -#, c-format -msgid "Component '%s' has no installation candidate." -msgstr "Komponentas \"%s\" neturi įdiegimo kandidatų." +#: src/as-category.c:172 +msgctxt "Category of Graphics" +msgid "Photography" +msgstr "Fotografija" -#: tools/ascli-utils.c:377 -msgid "Compulsory for" -msgstr "Privaloma šiems" +#: src/as-category.c:175 +msgctxt "Category of Graphics" +msgid "Scanning" +msgstr "Skenavimas" -#: src/as-validator-issue-tag.h:361 -msgid "Consider using a secure (HTTPS) URL for the remote icon link." +#: src/as-category.c:178 +msgctxt "Category of Graphics" +msgid "Vector Graphics" +msgstr "Vektorinė grafika" + +#: src/as-category.c:181 +msgctxt "Category of Graphics" +msgid "Viewers" +msgstr "Žiūryklės" + +#: src/as-category.c:189 +msgctxt "Category of Office" +msgid "Featured" +msgstr "Pasižymėjusios" + +#: src/as-category.c:192 +msgctxt "Category of Office" +msgid "Calendar" +msgstr "Kalendorius" + +#: src/as-category.c:196 +msgctxt "Category of Office" +msgid "Database" +msgstr "Duomenų bazė" + +#: src/as-category.c:199 +msgctxt "Category of Office" +msgid "Finance" +msgstr "Finansai" + +#: src/as-category.c:203 +msgctxt "Category of Office" +msgid "Word Processor" +msgstr "Tekstų rengyklė" + +#: src/as-category.c:212 +msgctxt "Category of Addons" +msgid "Fonts" +msgstr "Šriftai" + +#: src/as-category.c:215 +msgctxt "Category of Addons" +msgid "Codecs" +msgstr "Kodekai" + +#: src/as-category.c:218 +msgctxt "Category of Addons" +msgid "Input Sources" +msgstr "Įvesties šaltiniai" + +#: src/as-category.c:221 +msgctxt "Category of Addons" +msgid "Language Packs" +msgstr "Kalbos paketai" + +#: src/as-category.c:224 +msgctxt "Category of Addons" +msgid "Localization" +msgstr "Lokalizavimas" + +#: src/as-category.c:232 +msgctxt "Category of Science" +msgid "Featured" +msgstr "Pasižymėjusios" + +#: src/as-category.c:235 +msgctxt "Category of Science" +msgid "Artificial Intelligence" +msgstr "Dirbtinis intelektas" + +#: src/as-category.c:238 +msgctxt "Category of Science" +msgid "Astronomy" +msgstr "Astronomija" + +#: src/as-category.c:241 +msgctxt "Category of Science" +msgid "Chemistry" +msgstr "Chemija" + +#: src/as-category.c:244 +msgctxt "Category of Science" +msgid "Math" +msgstr "Matematika" + +#: src/as-category.c:249 +msgctxt "Category of Science" +msgid "Robotics" +msgstr "Robotika" + +#: src/as-category.c:257 +msgctxt "Category of Communication" +msgid "Featured" +msgstr "Pasižymėjusios" + +#: src/as-category.c:260 +msgctxt "Category of Communication" +msgid "Chat" +msgstr "Pokalbiai" + +#: src/as-category.c:267 +msgctxt "Category of Communication" +msgid "News" +msgstr "Naujienos" + +#: src/as-category.c:271 +msgctxt "Category of Communication" +msgid "Web Browsers" +msgstr "Saityno naršyklės" + +#: src/as-category.c:279 +msgctxt "Category of Utility" +msgid "Featured" +msgstr "Pasižymėjusios" + +#: src/as-category.c:282 +msgctxt "Category of Utility" +msgid "Text Editors" +msgstr "Tekstų redaktoriai" + +#: src/as-category.c:285 +msgctxt "Category of Utility" +msgid "Terminal Emulators" +msgstr "Terminalo emuliatoriai" + +#: src/as-category.c:288 +msgctxt "Category of Utility" +msgid "File System" +msgstr "Failų sistema" + +#: src/as-category.c:291 +msgctxt "Category of Utility" +msgid "System Monitoring" +msgstr "Sistemos stebėsena" + +#: src/as-category.c:294 +msgctxt "Category of Utility" +msgid "Security" +msgstr "Saugumas" + +#. TRANSLATORS: this is the menu spec main category for Audio & Video +#: src/as-category.c:303 +msgid "Audio & Video" +msgstr "Garsas ir vaizdas" + +#. TRANSLATORS: this is the menu spec main category for Development +#: src/as-category.c:306 +msgid "Developer Tools" +msgstr "Kūrėjo įrankiai" + +#. TRANSLATORS: this is the menu spec main category for Education +#: src/as-category.c:309 +msgid "Education" +msgstr "Švietimas" + +#. TRANSLATORS: this is the menu spec main category for Game +#: src/as-category.c:312 +msgid "Games" +msgstr "Žaidimai" + +#. TRANSLATORS: this is the menu spec main category for Graphics +#: src/as-category.c:315 +msgid "Graphics & Photography" +msgstr "Grafika ir fotografija" + +#. TRANSLATORS: this is the menu spec main category for Office +#: src/as-category.c:318 +msgid "Office" +msgstr "Raštinė" + +#. TRANSLATORS: this is the main category for Add-ons +#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor +#: src/as-category.c:321 tools/ascli-utils.c:371 +msgid "Add-ons" +msgstr "Papildiniai" + +#. TRANSLATORS: this is the menu spec main category for Science +#: src/as-category.c:324 +msgid "Science" +msgstr "Mokslas" + +#. TRANSLATORS: this is the menu spec main category for Communication +#: src/as-category.c:327 +msgid "Communication & News" +msgstr "Komunikacija ir naujienos" + +#. TRANSLATORS: this is the menu spec main category for Utilities +#: src/as-category.c:330 +msgid "Utilities" +msgstr "Paslaugų programos" + +#. TRANSLATORS: This is the formatting of English and localized name +#. * of the rating e.g. "Adults Only (solo adultos)" +#: src/as-content-rating.c:298 +#, c-format +msgid "%s (%s)" +msgstr "%s (%s)" + +#: src/as-content-rating.c:444 +msgid "General" +msgstr "Bendra" + +#: src/as-content-rating.c:453 +msgid "ALL" +msgstr "VISKAS" + +#: src/as-content-rating.c:457 src/as-content-rating.c:560 +msgid "Adults Only" +msgstr "Tik suaugusiems" + +#: src/as-content-rating.c:459 src/as-content-rating.c:559 +msgid "Mature" +msgstr "Subrendusiems" + +#: src/as-content-rating.c:461 src/as-content-rating.c:558 +msgid "Teen" +msgstr "Paaugliams" + +#: src/as-content-rating.c:463 src/as-content-rating.c:557 +msgid "Everyone 10+" +msgstr "Visiems nuo 10-ies" + +#: src/as-content-rating.c:465 src/as-content-rating.c:556 +msgid "Everyone" +msgstr "Visiems" + +#: src/as-content-rating.c:467 src/as-content-rating.c:555 +msgid "Early Childhood" +msgstr "Ankstyvai vaikystei" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:839 +msgid "No cartoon violence" +msgstr "Nėra animacinio smurto" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:841 +msgid "Cartoon characters in unsafe situations" +msgstr "Animaciniai personažai nesaugiose situacijose" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:843 +msgid "Cartoon characters in aggressive conflict" +msgstr "Animaciniai personažai agresyviame konflikte" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:845 +msgid "Graphic violence involving cartoon characters" +msgstr "Grafinis smurtas, įtraukiantis animacinius personažus" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:850 +msgid "No fantasy violence" +msgstr "Nėra fantastinio smurto" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:852 +msgid "Characters in unsafe situations easily distinguishable from reality" +msgstr "Personažai nesaugiose, lengvai nuo realybės atskiriamose, situacijose" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:854 +msgid "Characters in aggressive conflict easily distinguishable from reality" +msgstr "Personažai agresyviame, lengvai nuo realybės atskiriamame, konflikte" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:856 +msgid "Graphic violence easily distinguishable from reality" +msgstr "Grafinis, lengvai nuo realybės atskiriamas, smurtas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:861 +msgid "No realistic violence" +msgstr "Nėra tikroviško smurto" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:863 +msgid "Mildly realistic characters in unsafe situations" +msgstr "Švelnūs tikroviški personažai nesaugiose situacijose" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:865 +msgid "Depictions of realistic characters in aggressive conflict" +msgstr "Tikroviškų personažų vaizdavimai agresyviame konflikte" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:867 +msgid "Graphic violence involving realistic characters" +msgstr "Grafinis smurtas, įtraukiantis tikroviškus personažus" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:872 +msgid "No bloodshed" +msgstr "Nėra kraujo praliejimo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:874 +msgid "Unrealistic bloodshed" +msgstr "Netikroviškas kraujo praliejimas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:876 +msgid "Realistic bloodshed" +msgstr "Tikroviškas kraujo praliejimas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:878 +msgid "Depictions of bloodshed and the mutilation of body parts" +msgstr "Kraujo praliejimo ir kūno dalių sužalojimo vaizdavimai" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:883 +msgid "No sexual violence" +msgstr "Nėra seksualinio smurto" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:885 +msgid "Rape or other violent sexual behavior" +msgstr "Išprievartavimai ar kita smurtinė seksualinė elgsena" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:892 +msgid "No references to alcohol" +msgstr "Nėra nuorodos į alkoholinius gėrimus" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:894 +msgid "References to alcoholic beverages" +msgstr "Nuorodos į alkoholinius gėrimus" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:896 +msgid "Use of alcoholic beverages" +msgstr "Alkoholinių gėrimų vartojimas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:902 +msgid "No references to illicit drugs" +msgstr "Nėra nuorodų į uždraustus narkotikus" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:904 +msgid "References to illicit drugs" +msgstr "Nuorodos į uždraustus narkotikus" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:906 +msgid "Use of illicit drugs" +msgstr "Uždraustų narkotikų vartojimas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:912 +msgid "No references to tobacco products" +msgstr "Nėra nuorodos į tabako gaminius" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:914 +msgid "References to tobacco products" +msgstr "Nuorodos į tabako gaminius" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:916 +msgid "Use of tobacco products" +msgstr "Tabako gaminių vartojimas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:922 +msgid "No nudity of any sort" +msgstr "Nėra jokio tipo nuogumo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:924 +msgid "Brief artistic nudity" +msgstr "Trumpas meninis nuogumas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:926 +msgid "Prolonged nudity" +msgstr "Užsitęsęs nuogumas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:932 +msgid "No references to or depictions of sexual nature" +msgstr "Nėra nuorodų į seksualinį pobūdžio vaizdavimus" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:934 +msgid "Provocative references or depictions" +msgstr "Provokuojančios nuorodos ar vaizdavimai" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:936 +msgid "Sexual references or depictions" +msgstr "Seksualinės nuorodos ar vaizdavimai" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:938 +msgid "Graphic sexual behavior" +msgstr "Grafinė seksualinė elgsena" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:943 +msgid "No profanity of any kind" +msgstr "Nėra jokių keiksmažodžių" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:945 +msgid "Mild or infrequent use of profanity" +msgstr "Nesmarkus ar nedažnas keiksmų naudojimas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:947 +msgid "Moderate use of profanity" +msgstr "Vidutinis keiksmų naudojimas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:949 +msgid "Strong or frequent use of profanity" +msgstr "Smarkus ar dažnas keiksmų naudojimas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:954 +msgid "No inappropriate humor" +msgstr "Nėra netinkamo humoro" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:956 +msgid "Slapstick humor" +msgstr "Papliauškų humoras" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:958 +msgid "Vulgar or bathroom humor" +msgstr "Vulgarus ar tualeto humoras" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:960 +msgid "Mature or sexual humor" +msgstr "Suaugusiųjų ar seksualinis humoras" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:965 +msgid "No discriminatory language of any kind" +msgstr "Nėra jokio pobūdžio diskriminuojančios kalbos" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:967 +msgid "Negativity towards a specific group of people" +msgstr "Priešiškumas, nukreiptas į tam tikrą žmonių grupę" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:969 +msgid "Discrimination designed to cause emotional harm" +msgstr "Diskriminacija, sukurta sukelti emocinę žalą" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:971 +msgid "Explicit discrimination based on gender, sexuality, race or religion" +msgstr "Atvira diskriminacija dėl lyties, rasės ar religijos" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:976 +msgid "No advertising of any kind" +msgstr "Nėra jokio pobūdžio reklamų" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:978 +msgid "Product placement" +msgstr "Produktų išdėstymas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:980 +msgid "Explicit references to specific brands or trademarked products" +msgstr "" +"Atviros nuorodos į tam tikrus prekės ženklus ar produktus su prekyženkliu" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:982 +msgid "Users are encouraged to purchase specific real-world items" +msgstr "Naudotojai yra skatinami įsigyti tam tikrus realaus pasaulio daiktus" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:987 +msgid "No gambling of any kind" +msgstr "Nėra jokio pobūdžio azartinių lošimų" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:989 +msgid "Gambling on random events using tokens or credits" +msgstr "Lošimas iš atsitiktinių įvykių, naudojantis žetonais ar kreditais" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:991 +msgid "Gambling using “play” money" +msgstr "Lošimai naudojant „žaidimo“ pinigus" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:993 +msgid "Gambling using real money" +msgstr "Lošimai naudojant tikrus pinigus" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:998 +msgid "No ability to spend money" +msgstr "Nėra galimybės išleisti pinigus" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1000 +msgid "Users are encouraged to donate real money" +msgstr "Naudotojai yra skatinami aukoti realius pinigus" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1003 +msgid "Ability to spend real money in-app" +msgstr "Galimybė žaidime išleisti tikrus pinigus" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1008 +msgid "No way to chat with other users" +msgstr "Nėra galimybės susirašinėti su kitais žaidėjais" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1010 +msgid "User-to-user interactions without chat functionality" +msgstr "Žaidėjo su žaidėju sąveikos žaidime be pokalbių funkcionalumo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1012 +msgid "Moderated chat functionality between users" +msgstr "Prižiūrimas pokalbių funkcionalumas tarp žaidėjų" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1014 +msgid "Uncontrolled chat functionality between users" +msgstr "Neprižiūrimas pokalbių funkcionalumas tarp žaidėjų" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1019 +msgid "No way to talk with other users" +msgstr "Nėra galimybės kalbėti su kitais žaidėjais" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1021 +msgid "Uncontrolled audio or video chat functionality between users" +msgstr "Neprižiūrimas garso ir vaizdo pokalbių funkcionalumas tarp žaidėjų" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1028 +msgid "No sharing of social network usernames or email addresses" +msgstr "" +"Nėra dalinimosi socialinių tinklų naudotojų vardais ar el. pašto adresais" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1030 +msgid "Sharing social network usernames or email addresses" +msgstr "Dalinimasis socialinių tinklų naudotojų vardais ar el. pašto adresais" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1037 +msgid "No sharing of user information with third parties" +msgstr "Nėra dalinimosi naudotojo informacija su trečiosiomis šalimis" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1039 +msgid "Checking for the latest application version" +msgstr "Tikrinama, ar naujausia programos versija" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1041 +msgid "Sharing diagnostic data that does not let others identify the user" +msgstr "" +"Dalinimasis diagnostikos duomenimis neleidžia kitiems identifikuoti naudotojų" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1043 +msgid "Sharing information that lets others identify the user" +msgstr "Dalinimasis informacija, kuri leidžia kitiems identifikuoti naudotoją" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1048 +msgid "No sharing of physical location with other users" +msgstr "Nėra dalinimosi savo fizine buvimo vieta su kitais naudotojais" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1050 +msgid "Sharing physical location with other users" +msgstr "Dalinimasis savo fizine buvimo vieta su kitais naudotojais" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1073 +msgid "No references to homosexuality" +msgstr "Nėra nuorodos į homoseksualumą" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1075 +msgid "Indirect references to homosexuality" +msgstr "Netiesioginės nuorodos į homoseksualumą" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1077 +msgid "Kissing between people of the same gender" +msgstr "Bučiniai tarp tos pačios lyties asmenų" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1079 +msgid "Graphic sexual behavior between people of the same gender" +msgstr "Vazdinis seksualus elgesys tarp tos pačios lyties asmenų" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1084 +msgid "No references to prostitution" +msgstr "Nėra nuorodų į prostituciją" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1086 +msgid "Indirect references to prostitution" +msgstr "Netiesioginės nuorodos į prostituciją" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1088 +msgid "Direct references to prostitution" +msgstr "Tiesioginės nuorodos į prostituciją" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1090 +msgid "Graphic depictions of the act of prostitution" +msgstr "Vaizdinis prostitucijos akto atvaizdavimas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1095 +msgid "No references to adultery" +msgstr "Nėra nuorodos į turinį suaugusiems" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1097 +msgid "Indirect references to adultery" +msgstr "Netiesioginės nuorodos į turinį suaugusiems" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1099 +msgid "Direct references to adultery" +msgstr "Tiesioginės nuorodos į turinį suaugusiems" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1101 +msgid "Graphic depictions of the act of adultery" +msgstr "Vaizdinis turinio suaugusiems atvaizdavimas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1106 +msgid "No sexualized characters" +msgstr "Nėra išreikšto seksualumo veikėjų" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1109 +msgid "Scantily clad human characters" +msgstr "Mažai apsirengę žmonės/herojai" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1111 +msgid "Overtly sexualized human characters" +msgstr "Itin seksualūs žmonės/herojai" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1116 +msgid "No references to desecration" +msgstr "Nėra nuorodų į išniekinimą" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1118 +msgid "Depictions of or references to historical desecration" +msgstr "Vaizdavimai arba nuorodos į istorinį išniekinimą" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1120 +msgid "Depictions of modern-day human desecration" +msgstr "Šiuolaikinio žmonių išniekinimo vaizdavimai" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1122 +msgid "Graphic depictions of modern-day desecration" +msgstr "Šiuolaikinio žmonių išniekinimo vaizdai" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1127 +msgid "No visible dead human remains" +msgstr "Nėra matomų mirusių žmonių palaikų" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1129 +msgid "Visible dead human remains" +msgstr "Matomi mirusių žmonių palaikai" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1131 +msgid "Dead human remains that are exposed to the elements" +msgstr "Detaliai vaizduojami mirusių žmonių palaikai" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1133 +msgid "Graphic depictions of desecration of human bodies" +msgstr "Žmonių kūnų išniekinimo vaizdai" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1138 +msgid "No references to slavery" +msgstr "Nėra nuorodos į vergiją" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1140 +msgid "Depictions of or references to historical slavery" +msgstr "Vaizdavimai arba nuorodos į istorinę vergiją" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1142 +msgid "Depictions of modern-day slavery" +msgstr "Šiuolaikinės vergijos vaizdavimai" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1144 +msgid "Graphic depictions of modern-day slavery" +msgstr "Šiuolaikinės vergijos vaizdai" + +#. TRANSLATORS: We got a 429 error while trying to download data +#: src/as-curl.c:134 +#, c-format +msgid "Failed to download due to server limit" msgstr "" -#: src/as-validator-issue-tag.h:383 -msgid "Consider using a secure (HTTPS) URL for this web link." +#: src/as-curl.c:141 src/as-curl.c:148 +#, fuzzy, c-format +msgid "Failed to download file: %s" +msgstr "Nepavyko perskaityti .desktop failo: %s" + +#. TRANSLATORS: We tried to download an URL, but received a 404 error code +#: src/as-curl.c:157 +#, c-format +msgid "URL was not found on the server." msgstr "" -#: src/as-validator-issue-tag.h:189 -msgid "" -"Consider using a secure (HTTPS) URL to reference this screenshot image or " -"video." +#. TRANSLATORS: We received an uexpected HTTP status code while talking to a server, likely an error +#: src/as-curl.c:164 +#, c-format +msgid "Unexpected status code: %ld" msgstr "" -#: tools/appstream-cli.c:870 -msgid "Convert a YAML or text NEWS file into metainfo releases." +#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty +#: src/as-curl.c:247 +#, c-format +msgid "Retrieved file size was zero." msgstr "" -#. TRANSLATORS: "convert" command in ascli. "Collection XML" is a term describing a specific type of AppStream XML data. -#: tools/appstream-cli.c:865 -msgid "Convert collection XML to YAML or vice versa." -msgstr "Konvertuoti kolekciją iš XML į YAML arba atvirkščiai." +#. TRANSLATORS: List of "grey-listed" words sperated with ";" +#. * Do not translate this list directly. Instead, +#. * provide a list of words in your language that people are likely +#. * to include in a search but that should normally be ignored in +#. * the search. +#. +#: src/as-pool.c:111 +msgid "app;application;package;program;programme;suite;tool" +msgstr "programa;programėlė;aplikacija;paketas;įrankis;komplektas;rinkinys" -#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results -#: tools/ascli-actions-mdata.c:228 +#: src/as-pool.c:620 +msgid "Unable to remove old cache." +msgstr "Nepavyko pašalinti senojo podėlio." + +#: src/as-pool.c:963 +msgid "Metadata files have errors:" +msgstr "Metaduomenų failuose yra klaidų:" + +#: src/as-pool.c:1370 +msgid "" +"Many components have been recognized as invalid. See debug output for " +"details." +msgstr "" +"Dauguma komponentų buvo pripažinti neteisingais. Išsamesnei informacijai, " +"žiūrėkite derinimo išvestį." + +#: src/as-pool.c:1996 #, c-format -msgid "Could not find component providing '%s::%s'." -msgstr "Nepavyko rasti komponento, pateikiančio \"%s::%s\"." +msgid "Cache location '%s' is not writable." +msgstr "Podėlio vieta \"%s\" nėra įrašoma." -#: tools/appstream-cli.c:869 -msgid "Create a XDG desktop-entry file from a metainfo file." +#: src/as-pool.c:2109 +#, fuzzy +msgid "" +"The AppStream system cache was updated, but some components were ignored. " +"Refer to the verbose log for more information." msgstr "" +"AppStream sistemos podėlis buvo atnaujintas, tačiau buvo aptiktos kai kurios " +"klaidos, kurios gali privesti prie metaduomenų trūkumo. Išsamesnei " +"informacijai kreipkitės į išsamų žurnalą." -#: tools/appstream-cli.c:868 +#: src/as-pool.c:2111 +#, fuzzy, c-format msgid "" -"Create a template for a metainfo file (to be filled out by the upstream " -"project)." +"The AppStream system cache was updated, but problems were found which " +"resulted in metadata being ignored: %s" msgstr "" -"Sukurti metainformacijos failo šabloną (kurį užpildo pagrindinis projektas)." +"AppStream sistemos podėlis buvo atnaujintas, tačiau buvo rastos problemos: %s" -#: tools/ascli-actions-misc.c:228 -#, c-format -msgid "Creating new desktop-entry file '%s' using data from '%s'" +#: src/as-pool.c:2125 +#, fuzzy, c-format +msgid "" +"AppStream system cache refresh failed. Turn on verbose mode to get detailed " +"issue information." msgstr "" +"AppStream podėlio atnaujinimas nepavyko. Įjunkite išsamią veikseną, kad " +"gautumėte išsamesnę informaciją apie problemą." -#: src/as-provided.c:160 +#: src/as-provided.c:144 +msgid "Libraries" +msgstr "Bibliotekos" + +#: src/as-provided.c:146 +msgid "Binaries" +msgstr "Dvejetainės" + +#: src/as-provided.c:148 #, fuzzy -msgid "D-Bus Session Services" -msgstr "DBus seanso tarnybos" +msgid "Media types" +msgstr "MIME tipai" + +#: src/as-provided.c:150 +msgid "Fonts" +msgstr "Šriftai" + +#: src/as-provided.c:152 +msgid "Modaliases" +msgstr "Modulių alternatyvieji pavadinimai (Modalias)" + +#: src/as-provided.c:154 +msgid "Python (Version 2)" +msgstr "Python (Versija 2)" + +#: src/as-provided.c:156 +msgid "Python 3" +msgstr "Python 3" #: src/as-provided.c:158 #, fuzzy msgid "D-Bus System Services" msgstr "DBus sistemos tarnybos" -#: src/as-category.c:195 -msgctxt "Category of Office" -msgid "Database" -msgstr "Duomenų bazė" +#: src/as-provided.c:160 +#, fuzzy +msgid "D-Bus Session Services" +msgstr "DBus seanso tarnybos" -#: src/as-category.c:86 -msgctxt "Category of Development" -msgid "Debuggers" -msgstr "Derinimo programos" +#: src/as-provided.c:162 +msgid "Runtime Firmware" +msgstr "Vykdymo programinė aparatinė įranga" -#: tools/ascli-utils.c:353 -msgid "Default Screenshot URL" -msgstr "Numatytosios ekrano kopijos URL" +#: src/as-provided.c:164 +msgid "Flashed Firmware" +msgstr "Įrašyta programinė aparatinė įranga" -#. TRANSLATORS: ascli flag description for: --format -#: tools/appstream-cli.c:83 -msgid "Default metadata format (valid values are 'xml' and 'yaml')." +#: src/as-provided.c:166 +msgid "Component" +msgstr "Komponentas" + +#: src/as-validator-issue-tag.h:41 +msgid "This tag requires a type property." msgstr "" -"Numatytasis metaduomenų formatas (teisingos reikšmės yra \"xml\" ir \"yaml" -"\")." -#: tools/ascli-utils.c:333 -msgid "Description" -msgstr "Aprašas" +#: src/as-validator-issue-tag.h:46 +msgid "Tags of this name are not permitted in this section." +msgstr "" -#. developer name -#: tools/ascli-utils.c:321 -msgid "Developer" -msgstr "Kūrėjas" +#: src/as-validator-issue-tag.h:51 +msgid "" +"A tag must not be localized in metainfo files (upstream " +"metadata). Localize the individual paragraphs instead." +msgstr "" -#. TRANSLATORS: this is the menu spec main category for Development -#: src/as-category.c:305 -msgid "Developer Tools" -msgstr "Kūrėjo įrankiai" +#: src/as-validator-issue-tag.h:57 +msgid "" +"This element (paragraph, list, etc.) of a tag must not be " +"localized individually in collection metadata. Localize the whole " +" tag instead. The AppStream collection metadata generator (e." +"g. `appstream-generator`) will already do the right thing when compiling the " +"data." +msgstr "" -#: tools/appstream-cli.c:862 -msgid "Display status information about available AppStream metadata." -msgstr "Rodyti būsenos informaciją apie prieinamus AppStream metaduomenis." +#: src/as-validator-issue-tag.h:63 +msgid "" +"AppStream descriptions support only a limited set of tags to format text: " +"Paragraphs (

                                                                                                                                                                                                                                                        ) and lists (

                                                                                                                                                                                                                                                          ,
                                                                                                                                                                                                                                                            ). This description markup contains " +"an invalid XML tag that would not be rendered correctly in applications " +"supporting the metainfo specification." +msgstr "" -#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions -#: tools/ascli-actions-misc.c:52 -msgid "Distribution metadata:" -msgstr "Distribucijos metaduomenys:" +#: src/as-validator-issue-tag.h:69 +msgid "" +"This description paragraph contains invalid markup. Currently, only " +"and are permitted." +msgstr "" -#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) -#: tools/appstream-cli.c:126 -msgid "Do not use network access." -msgstr "Nenaudoti tinklo prieigą." +#: src/as-validator-issue-tag.h:74 +msgid "Enumerations must only have list items (
                                                                                                                                                                                                                                                          1. ) as children." +msgstr "" -#. TRANSLATORS: ascli flag description for: --no-color -#: tools/appstream-cli.c:908 -msgid "Don't show colored output." -msgstr "Nerodyti spalvotos išvesties." +#: src/as-validator-issue-tag.h:79 +msgid "" +"The first `description/p` paragraph of this component might be too short (< " +"80 characters). Please consider starting with a longer paragraph to improve " +"how the description looks like in software centers and to provide more " +"detailed information on this component immediately in the first paragraph." +msgstr "" -#: tools/appstream-cli.c:853 -msgid "Dump raw XML metadata for a component matching the ID." -msgstr "Iškloti neapdorotus XML metaduomenis komponentui su atitinkamu ID." +#: src/as-validator-issue-tag.h:86 +msgid "" +"The description contains a web URL in plain text. This is not allowed, " +"please use the tag instead to share links." +msgstr "" -#. TRANSLATORS: this is the menu spec main category for Education -#: src/as-category.c:308 -msgid "Education" -msgstr "Švietimas" +#: src/as-validator-issue-tag.h:91 +msgid "" +"As per AppStream specification, the mentioned tag must only appear once in " +"this context. Having multiple tags of this kind is not valid." +msgstr "" -#. TRANSLATORS: No metainfo files have been found -#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 -msgid "Empty." -msgstr "Tuščia." +#: src/as-validator-issue-tag.h:96 +msgid "" +"The mentioned tag is empty, which is highly likely not intended as it should " +"have content." +msgstr "" -#: src/as-category.c:141 -msgctxt "Category of Games" -msgid "Emulators" -msgstr "Emuliatoriai" +#: src/as-validator-issue-tag.h:101 +msgid "" +"The component ID is required to follow a reverse domain-name scheme for its " +"name. See the AppStream specification for details." +msgstr "" -#. TRANSLATORS: ascli flag description for: --force -#: tools/appstream-cli.c:245 -msgid "Enforce a cache refresh." -msgstr "Priverstinai atlikti podėlio įkėlimą iš naujo." +#: src/as-validator-issue-tag.h:106 +msgid "" +"The component ID is not a reverse domain-name. Please update the ID to avoid " +"future issues and be compatible with all AppStream implementations.\n" +"You may also consider to update the name of the accompanying .desktop file " +"to follow the latest version of the Desktop-Entry specification and use a " +"rDNS name for it as well. In any case, do not forget to mention the new " +"desktop-entry in a tag for this component to keep the " +"application launchable from software centers and the .desktop file data " +"associated with the metainfo data." +msgstr "" + +#: src/as-validator-issue-tag.h:114 +msgid "" +"The component ID might not follow the reverse domain-name schema (the TLD " +"used by it is not known to the validator)." +msgstr "" + +#: src/as-validator-issue-tag.h:119 +msgid "" +"The component ID contains an invalid character. Only ASCII characters, dots " +"and numbers are permitted." +msgstr "" + +#: src/as-validator-issue-tag.h:124 +msgid "" +"The component ID contains a hyphen/minus. Using a hyphen is strongly " +"discouraged, to improve interoperability with other tools such as D-Bus. A " +"good option is to replace any hyphens with underscores (`_`)." +msgstr "" + +#: src/as-validator-issue-tag.h:130 +msgid "" +"The component ID contains a segment starting with a number. Starting a " +"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " +"interoperability with other tools such as D-Bus. Ideally, prefix these " +"segments with an underscore." +msgstr "" + +#: src/as-validator-issue-tag.h:136 +msgid "The component ID should only contain lowercase letters." +msgstr "" -#: src/as-validator-issue-tag.h:74 -msgid "Enumerations must only have list items (
                                                                                                                                                                                                                                                          2. ) as children." +#: src/as-validator-issue-tag.h:141 +msgid "" +"The component is part of the Freedesktop project, but its ID does not start " +"with fd.o's reverse-DNS name (\"org.freedesktop\")." msgstr "" -#: tools/ascli-actions-misc.c:159 -#, c-format -msgid "Error while loading the metadata pool: %s" -msgstr "Klaida, įkeliant metaduomenų telkinį: %s" +#: src/as-validator-issue-tag.h:146 +msgid "" +"The component is part of the KDE project, but its ID does not start with " +"KDEs reverse-DNS name (\"org.kde\")." +msgstr "" -#: tools/ascli-utils.c:327 -msgid "Extends" -msgstr "Išplečia" +#: src/as-validator-issue-tag.h:151 +msgid "" +"The component is part of the GNOME project, but its ID does not start with " +"GNOMEs reverse-DNS name (\"org.gnome\")." +msgstr "" -#: src/as-category.c:65 -msgctxt "Category of AudioVideo" -msgid "Featured" -msgstr "Pasižymėjusios" +#: src/as-validator-issue-tag.h:156 +msgid "The SPDX license expression is invalid and could not be parsed." +msgstr "" -#: src/as-category.c:256 -msgctxt "Category of Communication" -msgid "Featured" -msgstr "Pasižymėjusios" +#: src/as-validator-issue-tag.h:161 +msgid "" +"The license ID was not found in the SPDX database. Please check that the " +"license ID is written in an SPDX-conformant way and is a valid free software " +"license." +msgstr "" -#: src/as-category.c:83 -msgctxt "Category of Development" -msgid "Featured" -msgstr "Pasižymėjusios" +#: src/as-validator-issue-tag.h:167 +msgid "" +"The metadata itself seems to be licensed under a complex collection of " +"licenses. Please license the data under a simple permissive license, like " +"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " +"collections without the risk of license violations due to mutually " +"incompatible licenses." +msgstr "" -#: src/as-category.c:98 -msgctxt "Category of Education" -msgid "Featured" -msgstr "Pasižymėjusios" +#: src/as-validator-issue-tag.h:173 +msgid "" +"The metadata itself does not seem to be licensed under a permissive license. " +"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " +"0BSD to allow distributors to include it in mixed data collections without " +"the risk of license violations due to mutually incompatible licenses." +msgstr "" -#: src/as-category.c:120 -msgctxt "Category of Games" -msgid "Featured" -msgstr "Pasižymėjusios" +#: src/as-validator-issue-tag.h:179 +msgid "" +"The update-contact does not appear to be a valid email address (escaping of " +"`@` is only allowed as `_at_` or `_AT_`)." +msgstr "" -#: src/as-category.c:165 -msgctxt "Category of Graphics" -msgid "Featured" -msgstr "Pasižymėjusios" +#: src/as-validator-issue-tag.h:184 +msgid "" +"Unable to reach the screenshot image on its remote location - does the image " +"exist?" +msgstr "" -#: src/as-category.c:188 -msgctxt "Category of Office" -msgid "Featured" -msgstr "Pasižymėjusios" +#: src/as-validator-issue-tag.h:189 +msgid "" +"Unable to reach the screenshot video on its remote location - does the video " +"file exist?" +msgstr "" -#: src/as-category.c:231 -msgctxt "Category of Science" -msgid "Featured" -msgstr "Pasižymėjusios" +#: src/as-validator-issue-tag.h:194 +msgid "" +"Consider using a secure (HTTPS) URL to reference this screenshot image or " +"video." +msgstr "" -#: src/as-category.c:278 -msgctxt "Category of Utility" -msgid "Featured" -msgstr "Pasižymėjusios" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:200 +msgid "" +"A screenshot must contain at least one image or video in order to be useful. " +"Please add an to it." +msgstr "" -#: tools/ascli-actions-validate.c:171 tools/ascli-actions-validate.c:349 -#, fuzzy, c-format -msgid "File '%s' does not exist." -msgstr "Metaduomenų failo \"%s\" nėra." +#: src/as-validator-issue-tag.h:205 +msgid "" +"A screenshot must contain either images or videos, but not both at the same " +"time. Please use this screenshot exclusively for either static images or for " +"videos." +msgstr "" -#: src/as-category.c:287 -msgctxt "Category of Utility" -msgid "File System" -msgstr "Failų sistema" +#: src/as-validator-issue-tag.h:211 +msgid "The screenshot does not have a caption text. Consider adding one." +msgstr "" -#: src/as-category.c:198 -msgctxt "Category of Office" -msgid "Finance" -msgstr "Finansai" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:217 +msgid "" +"The screenshot video does not specify which video codec was used in a " +"`codec` property." +msgstr "" -#: src/as-provided.c:164 -msgid "Flashed Firmware" -msgstr "Įrašyta programinė aparatinė įranga" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:223 +msgid "" +"The screenshot video does not specify which container format was used in a " +"`container` property." +msgstr "" -#: src/as-provided.c:150 -msgid "Fonts" -msgstr "Šriftai" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:229 +msgid "" +"The selected video codec is not supported by AppStream and software centers " +"may not be able to play the video. Only the AV1 and VP9 codecs are currently " +"supported, using `av1` and `vp9` as values for the `codec` property." +msgstr "" -#: src/as-category.c:211 -msgctxt "Category of Addons" -msgid "Fonts" -msgstr "Šriftai" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:236 +msgid "" +"The selected video container format is not supported by AppStream and " +"software centers may not be able to play the video. Only the WebM and " +"Matroska video containers are currently supported, using `webm` and `mkv` as " +"values for the `container` property." +msgstr "" -#: src/as-validator-issue-tag.h:237 +#: src/as-validator-issue-tag.h:242 msgid "" "For videos, only the WebM and Matroska (.mkv) container formats are " "currently supported. The file extension of the referenced video does not " "belong to either of these formats." msgstr "" -#. TRANSLATORS: ascli flag description for: --format when validating XML files -#: tools/appstream-cli.c:131 -#, fuzzy -msgid "Format of the generated report (valid values are 'text' and 'yaml')." +#: src/as-validator-issue-tag.h:248 +msgid "" +"The default screenshot of a software component must not be a video. Use a " +"static image as default screenshot and set the video as a secondary " +"screenshot." msgstr "" -"Numatytasis metaduomenų formatas (teisingos reikšmės yra \"xml\" ir \"yaml" -"\")." -#. TRANSLATORS: Found metainfo files in legacy directories -#: tools/ascli-actions-misc.c:138 -#, c-format -msgid "Found %i components in legacy paths." -msgstr "Rasta %i komponentų liekamuosiuose keliuose." +#: src/as-validator-issue-tag.h:253 +msgid "" +"Found an unknown tag in a requires/recommends group. This is likely an " +"error, because a component relation of this type is unknown." +msgstr "" -#: tools/ascli-actions-misc.c:123 -#, c-format -msgid "Found %i components." -msgstr "Rasta %i komponentų." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:259 +msgid "" +"A `requires` or `recommends` item requires a value to denote a valid " +"relation." +msgstr "" -#. TRANSLATORS: 'version' is an AppStream XML property. Please do not translate it. -#: src/as-validator-issue-tag.h:260 +#. TRANSLATORS: `version` is an AppStream XML property. Please do not translate it. +#: src/as-validator-issue-tag.h:265 msgid "" -"Found 'version' property on required/recommended item of a type that should " +"Found `version` property on required/recommended item of a type that should " "not have or require a version." msgstr "" -#. TRANSLATORS: 'version' and 'compare' are AppStream XML properties. Please do not translate them. -#: src/as-validator-issue-tag.h:266 +#. TRANSLATORS: `version` and `compare` are AppStream XML properties. Please do not translate them. +#: src/as-validator-issue-tag.h:271 msgid "" -"Found 'version' property on this required/recommended item, but not " -"'compare' property. It is recommended to explicitly define a comparison " +"Found `version` property on this required/recommended item, but not " +"`compare` property. It is recommended to explicitly define a comparison " "operation." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:277 +#: src/as-validator-issue-tag.h:276 +msgid "" +"Invalid comparison operation on relation item. Only eq/ne/lt/gt/le/ge are " +"permitted." +msgstr "" + +#: src/as-validator-issue-tag.h:281 +msgid "" +"The relation item has a comparison operation set, but does not support any " +"comparisons." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:287 msgid "" -"Found a memory size dependency in a 'requires' tag. This means users will " -"not be able to even install the component without having enough RAM. This is " -"usually not intended and you want to use 'memory' in the 'recommends' tag " +"Found a memory size relation in a `requires` tag. This means users will not " +"be able to even install the component without having enough RAM. This is " +"usually not intended and you want to use `memory` in the `recommends` tag " "instead." msgstr "" -#: src/as-validator-issue-tag.h:248 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:294 msgid "" -"Found an unknown tag in a requires/recommends group. This is likely an " -"error, because a component relation of this type is unknown." +"Found a user input control relation in a `requires` tag. This means users " +"will not be able to even install the component without having the defined " +"input control available on the system. This is usually not intended and you " +"want to use `control` in the `recommends` tag instead." msgstr "" -#: src/as-validator-issue-tag.h:427 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:301 msgid "" -"Found invalid tag. Non-standard tags should be prefixed with 'x-'. AppStream " -"also provides the tag to add arbitrary custom data to metainfo " -"files. This tag is read by AppStream libraries and may be useful instead of " -"defining new custom toplevel or 'x-'-prefixed tags if you just want to add " -"custom data to a metainfo file." +"This `control` item defines an unknown input method and is invalid. Check " +"the specification for a list of permitted values." msgstr "" -#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. -#: src/as-validator.c:526 src/as-validator.c:939 src/as-validator.c:1024 -#: src/as-validator.c:1237 -#, c-format -msgid "Found: %s - Allowed: %s" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:307 +msgid "" +"This `display_length` item contains an invalid display length. Its value " +"must either be a shorthand string, or positive integer value denoting " +"logical pixels. Please refer to the AppStream specification for more " +"information on this tag." msgstr "" -#. TRANSLATORS: this is the menu spec main category for Game -#: src/as-category.c:311 -msgid "Games" -msgstr "Žaidimai" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:314 +msgid "" +"This `side` property of this `display_length` item contains an invalid " +"value. It must either be `shortest` or `longest`, or unset to imply " +"`shortest` to make the item value refer to either the shortest or longest " +"side of the display." +msgstr "" -#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command -#: tools/appstream-cli.c:814 -msgid "Generate the output in the selected format ('yaml' or 'text')." +#: src/as-validator-issue-tag.h:320 +#, fuzzy +msgid "" +"The set component type is not a recognized, valid AppStream component type." +msgstr "" +"Programinės įrangos komponento tipas \"%s\" nėra teisingas AppStream " +"specifikacijoje. Galimos reikšmės yra:" + +#: src/as-validator-issue-tag.h:325 +msgid "" +"The component has a priority value set. This is not allowed in metainfo " +"files." msgstr "" -#: tools/appstream-cli.c:849 -msgid "Get components which provide the given item." -msgstr "Gauti komponentus, kurie pateikia nurodytą elementą." +#: src/as-validator-issue-tag.h:330 +msgid "" +"The component has a `merge` method defined. This is not allowed in metainfo " +"files." +msgstr "" -#: tools/appstream-cli.c:848 -msgid "Get information about a component by its ID." -msgstr "Gauti informaciją apie komponentą pagal jo ID." +#: src/as-validator-issue-tag.h:335 +msgid "The component is missing an ID ( tag)." +msgstr "" -#. TRANSLATORS: this is the menu spec main category for Graphics -#: src/as-category.c:314 -msgid "Graphics & Photography" -msgstr "Grafika ir fotografija" +#: src/as-validator-issue-tag.h:340 +msgid "The component is missing a name ( tag)." +msgstr "" -#: tools/ascli-utils.c:300 -msgid "Homepage" -msgstr "Internetinė svetainė" +#: src/as-validator-issue-tag.h:345 +msgid "The component is missing a summary ( tag)." +msgstr "" -#: src/as-category.c:89 -msgctxt "Category of Development" -msgid "IDEs" -msgstr "Integruotos kūrimo aplinkos (IDE)" +#: src/as-validator-issue-tag.h:350 +msgid "" +"The tag still contains a `type` property, probably from an old " +"conversion to the recent metainfo format." +msgstr "" + +#: src/as-validator-issue-tag.h:355 +msgid "" +"The `pkgname` tag appears multiple times. You should evaluate creating a " +"metapackage containing the metainfo and .desktop files in order to avoid " +"defining multiple package names per component." +msgstr "" + +#: src/as-validator-issue-tag.h:360 +msgid "The component name should (likely) not end with a dot (`.`)." +msgstr "" + +#: src/as-validator-issue-tag.h:365 +msgid "The component summary should not end with a dot (`.`)." +msgstr "" + +#: src/as-validator-issue-tag.h:370 +msgid "The component summary must not contain tabs or linebreaks." +msgstr "" + +#: src/as-validator-issue-tag.h:375 +msgid "The summary must not contain any URL. Use the tags for links." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:381 +msgid "" +"Icons of type `stock` or `cached` must not contain an URL, a full or an " +"relative path to the icon. Only file basenames or stock names are allowed." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:388 +msgid "Icons of type `remote` must contain an URL to the referenced icon." +msgstr "" + +#: src/as-validator-issue-tag.h:393 +msgid "Unable to reach remote icon at the given web location - does it exist?" +msgstr "" + +#: src/as-validator-issue-tag.h:398 +msgid "Consider using a secure (HTTPS) URL for the remote icon link." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:404 +msgid "" +"Metainfo files may only contain icons of type `stock` or `remote`, the set " +"type is not allowed." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:410 +msgid "" +"Invalid `type` property for this `url` tag. URLs of this type are not known " +"in the AppStream specification." +msgstr "" -#: tools/ascli-utils.c:301 -msgid "Icon" -msgstr "Piktograma" +#: src/as-validator-issue-tag.h:415 +msgid "" +"Unable to reach remote location that this URL references - does it exist?" +msgstr "" + +#: src/as-validator-issue-tag.h:420 +msgid "Consider using a secure (HTTPS) URL for this web link." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:351 -msgid "Icons of type 'remote' must contain an URL to the referenced icon." +#: src/as-validator-issue-tag.h:425 +msgid "A web URL was expected for this value." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:344 +#: src/as-validator-issue-tag.h:430 msgid "" -"Icons of type 'stock' or 'cached' must not contain an URL, a full or an " -"relative path to the icon. Only file basenames or stock names are allowed." +"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." msgstr "" -#: tools/ascli-actions-misc.c:94 -msgid "Iconsets" -msgstr "Piktogramų rinkiniai" +#: src/as-validator-issue-tag.h:435 +msgid "The can not contain a hyperlink." +msgstr "" -#: tools/ascli-utils.c:295 -msgid "Identifier" -msgstr "Identifikatorius" +#: src/as-validator-issue-tag.h:440 +msgid "" +"The set value is not an identifier for a desktop environment as registered " +"with Freedesktop.org." +msgstr "" -#: src/as-category.c:217 -msgctxt "Category of Addons" -msgid "Input Sources" -msgstr "Įvesties šaltiniai" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:446 +msgid "This `launchable` tag has an unknown type and can not be used." +msgstr "" -#: tools/appstream-cli.c:863 -msgid "Install a metadata file into the right location." -msgstr "Įdiegti metaduomenų failą į tinkamą vietą." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:452 +msgid "This `bundle` tag has an unknown type and can not be used." +msgstr "" -#: tools/appstream-cli.c:859 -msgid "Install software matching the component-ID." -msgstr "Įdiegti komponento ID atitinkančią programinę įrangą." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:458 +msgid "" +"The `update_contact` tag should not be included in collection AppStream XML." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:373 +#: src/as-validator-issue-tag.h:463 msgid "" -"Invalid 'type' property for this 'url' tag. URLs of this type are not known " -"in the AppStream specification." +"This tag is a GNOME-specific extension to AppStream and not part of the " +"official specification. Do not expect it to work in all implementations and " +"in all software centers." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:553 +#: src/as-validator-issue-tag.h:469 msgid "" -"Invalid tag found in collection metadata. Only 'component' tags are " -"permitted." +"Found invalid tag. Non-standard tags should be prefixed with `x-`. AppStream " +"also provides the tag to add arbitrary custom data to metainfo " +"files. This tag is read by AppStream libraries and may be useful instead of " +"defining new custom toplevel or `x-`-prefixed tags if you just want to add " +"custom data to a metainfo file." msgstr "" -#: tools/ascli-actions-mdata.c:213 -msgid "Invalid type for provided item selected. Valid values are:" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:477 +msgid "" +"The essential tag `metadata_license` is missing. A license for the metadata " +"itself always has to be defined." msgstr "" -"Pasirinktas neteisingas pateikto elemento tipas. Teisingos reikšmės yra:" -#: src/as-validator-issue-tag.h:271 +#: src/as-validator-issue-tag.h:482 msgid "" -"Invalid version comparison operation on relation item. Only eq/ne/lt/gt/le/" -"ge are permitted." +"The component is missing a long description. Components of this type must " +"have a long description." msgstr "" -#: src/as-validator-issue-tag.h:450 +#: src/as-validator-issue-tag.h:487 msgid "" -"It is recommended to add a long description to this component to present it " +"It would be useful to add a long description to this font to present it " "better to users." msgstr "" -#: src/as-validator-issue-tag.h:445 +#: src/as-validator-issue-tag.h:492 msgid "" -"It would be useful to add a long description to this font to present it " +"It is recommended to add a long description to this component to present it " "better to users." msgstr "" -#: src/as-category.c:144 -msgctxt "Category of Games" -msgid "Kids" -msgstr "Vaikai" +#: src/as-validator-issue-tag.h:497 +msgid "" +"This generic component is missing a long description. It may be useful to " +"add one." +msgstr "" -#: src/as-category.c:220 -msgctxt "Category of Addons" -msgid "Language Packs" -msgstr "Kalbos paketai" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:503 +msgid "" +"Type `console-application` component, but no information about binaries in " +"$PATH was provided via a `provides/binary` tag." +msgstr "" -#: src/as-category.c:107 -msgctxt "Category of Education" -msgid "Languages" -msgstr "Kalbos" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:509 +msgid "" +"This `web-application` component is missing a `launchable` tag of type `url`." +msgstr "" -#: src/as-provided.c:144 -msgid "Libraries" -msgstr "Bibliotekos" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:515 +msgid "" +"This `web-application` component is missing a `icon` tag to specify a valid " +"icon." +msgstr "" -#. license -#: tools/ascli-utils.c:363 -msgid "License" -msgstr "Licencija" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:521 +msgid "" +"This `web-application` component is missing categorizations. A `categories` " +"block is likely missing." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:629 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:527 msgid "" -"Licenses for 'runtime' components are usually too complex to reflect them in " -"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " -"value for this component's 'project_license'. E.g. `LicenseRef-free=https://" -"example.com/licenses.html`" +"Type `font` component, but no font information was provided via a `provides/" +"font` tag." msgstr "" -#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command -#: tools/appstream-cli.c:771 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:533 msgid "" -"Limit the number of release entries that end up in the metainfo file (0 for " -"unlimited)." +"Type `driver` component, but no modalias information was provided via a " +"`provides/modalias` tag." msgstr "" -#: src/as-category.c:223 -msgctxt "Category of Addons" -msgid "Localization" -msgstr "Lokalizavimas" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:539 +msgid "" +"An `extends` tag is specified, but the component is not of type `addon`, " +"`localization` or `repository`." +msgstr "" -#: src/as-category.c:147 -msgctxt "Category of Games" -msgid "Logic" -msgstr "Logika" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:545 +msgid "The component is an addon, but no `extends` tag was specified." +msgstr "" -#. TRANSLATORS: ascli flag description for: --no-cache -#: tools/appstream-cli.c:67 -msgid "Make request without any caching." -msgstr "Padaryti užklausą be podėliavimo." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:551 +msgid "" +"This `localization` component is missing an `extends` tag, to specify the " +"components it adds localization to." +msgstr "" -#. TRANSLATORS: ascli flag description for: --cachepath -#: tools/appstream-cli.c:57 -msgid "Manually selected location of AppStream cache." -msgstr "Rankiniu būdu pasirinkta AppStream podėlio vieta." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:557 +msgid "" +"This `localization` component does not define any languages this " +"localization is for." +msgstr "" -#. TRANSLATORS: ascli flag description for: --datapath -#: tools/appstream-cli.c:62 -msgid "Manually selected location of AppStream metadata to scan." -msgstr "Rankiniu būdu pasirinkta peržiūrima AppStream metaduomenų vieta." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:563 +msgid "" +"This `service` component is missing a `launchable` tag of type `service`." +msgstr "" -#: src/as-pool.c:1280 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:569 msgid "" -"Many components have been recognized as invalid. See debug output for " -"details." +"Suggestions of any type other than `upstream` are not allowed in metainfo " +"files." msgstr "" -"Dauguma komponentų buvo pripažinti neteisingais. Išsamesnei informacijai, " -"žiūrėkite derinimo išvestį." -#: src/as-category.c:111 -msgctxt "Category of Education" -msgid "Math" -msgstr "Matematika" +#: src/as-validator-issue-tag.h:574 +msgid "" +"The category name is not valid. Refer to the XDG Menu Specification for a " +"list of valid category names." +msgstr "" -#: src/as-category.c:243 -msgctxt "Category of Science" -msgid "Math" -msgstr "Matematika" +#: src/as-validator-issue-tag.h:579 +msgid "The screenshot caption is too long (should be <= 80 characters)" +msgstr "" -#: src/as-provided.c:148 +#: src/as-validator-issue-tag.h:584 #, fuzzy -msgid "Media types" -msgstr "MIME tipai" - -#: tools/ascli-actions-mdata.c:364 -#, c-format -msgid "Metadata file '%s' does not exist." -msgstr "Metaduomenų failo \"%s\" nėra." +msgid "Unable to read file." +msgstr "Nepavyko pašalinti senojo podėlio." -#: src/as-pool.c:881 -msgid "Metadata files have errors:" -msgstr "Metaduomenų failuose yra klaidų:" +#: src/as-validator-issue-tag.h:589 +msgid "The XML of this file is malformed." +msgstr "" -#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 -#: tools/ascli-actions-misc.c:515 -#, fuzzy, c-format -msgid "Metainfo file '%s' does not exist." -msgstr "Metaduomenų failo \"%s\" nėra." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:595 +msgid "" +"Invalid tag found in collection metadata. Only `component` tags are " +"permitted." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:367 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:601 msgid "" -"Metainfo files may only contain icons of type 'stock' or 'remote', the set " -"type is not allowed." +"The metainfo file uses an ancient version of the AppStream specification, " +"which can not be validated. Please migrate it to version 0.6 (or higher)." msgstr "" -#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report -#: tools/ascli-actions-misc.c:116 -msgid "Metainfo files:" -msgstr "Metainformacijos failai:" +#: src/as-validator-issue-tag.h:606 +msgid "" +"This XML document has an unknown root tag. Maybe this file is not a metainfo " +"document?" +msgstr "" -#: src/as-provided.c:152 -msgid "Modaliases" -msgstr "Modulių alternatyvieji pavadinimai (Modalias)" +#: src/as-validator-issue-tag.h:611 +#, fuzzy +msgid "The metainfo filename does not match the component ID." +msgstr "Šalinti komponento ID atitinkančią programinę įrangą." -#: src/as-category.c:74 -msgctxt "Category of AudioVideo" -msgid "Music Players" -msgstr "Muzikos grotuvai" +#: src/as-validator-issue-tag.h:616 +#, fuzzy +msgid "Unable to read the .desktop file associated with this component." +msgstr "Nepavyko perskaityti .desktop failo: %s" -#: tools/ascli-utils.c:296 -msgid "Name" -msgstr "Pavadinimas" +#: src/as-validator-issue-tag.h:621 +msgid "This component metadata refers to a non-existing .desktop file." +msgstr "" -#: src/as-category.c:266 -msgctxt "Category of Communication" -msgid "News" -msgstr "Naujienos" +#: src/as-validator-issue-tag.h:626 +msgid "" +"The category defined in the .desktop file is not valid. Refer to the XDG " +"Menu Specification for a list of valid categories." +msgstr "" -#: src/as-validator-issue-tag.h:589 +#: src/as-validator-issue-tag.h:631 msgid "No AppStream metadata was found in this directory or directory tree." msgstr "" #. pedantic because not everything which has metadata is an application -#: src/as-validator-issue-tag.h:594 +#: src/as-validator-issue-tag.h:636 msgid "No XDG applications directory found." msgstr "" -#: tools/ascli-actions-mdata.c:182 -#, c-format -msgid "No component matching '%s' found." -msgstr "Nerasta komponento, atitinkančio \"%s\"." - -#: tools/ascli-actions-misc.c:105 -msgid "No icons." -msgstr "Nėra piktogramų." - -#: tools/ascli-actions-misc.c:402 -msgid "No output filename specified, modifying metainfo file directly." -msgstr "" - -#: tools/ascli-actions-misc.c:306 +#: src/as-validator-issue-tag.h:641 msgid "" -"No provided binary specified in metainfo file, and no exec command specified " -"via '--exec'. Can not create 'Exec=' key." +"The metainfo file is stored in a legacy path. Please place it in `/usr/share/" +"metainfo/`." msgstr "" -#: tools/ascli-actions-misc.c:284 -msgid "No stock icon name was provided in the metainfo file. Can not continue." +#: src/as-validator-issue-tag.h:646 +msgid "The metainfo file specifies multiple components. This is not allowed." msgstr "" -#: tools/ascli-actions-pkgmgr.c:53 +#: src/as-validator-issue-tag.h:651 msgid "" -"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" -"\" (part of PackageKit) is available." +"The releases are not sorted in a latest to oldest version order. This is " +"required as some tools will assume that the latest version is always at the " +"top. Sorting releases also increases overall readability of the metainfo " +"file." msgstr "" -"Nerasta jokios tinkamos komandų eilutės paketų tvarkytuvės. Įsitikinkite, " -"kad, pavyzdžiui, \"pkcon\" (PackageKit dalis) yra prieinama." - -#: tools/ascli-actions-mdata.c:206 -msgid "No value for the item to search for was defined." -msgstr "Nebuvo apibrėžta elemento, kurį ieškoti, reikšmė." - -#. TRANSLATORS: this is the menu spec main category for Office -#: src/as-category.c:317 -msgid "Office" -msgstr "Raštinė" -#. TRANSLATORS: An unknown option was passed to appstreamcli. -#: tools/appstream-cli.c:192 -#, c-format -msgid "Option '%s' is unknown." -msgstr "Parametras \"%s\" nėra žinomas." +#: src/as-validator-issue-tag.h:658 +msgid "The value set as release urgency is not a known urgency value." +msgstr "" -#: tools/ascli-utils.c:298 -msgid "Package" -msgstr "Paketas" +#: src/as-validator-issue-tag.h:663 +msgid "The value set as release type is invalid." +msgstr "" -#: src/as-category.c:171 -msgctxt "Category of Graphics" -msgid "Photography" -msgstr "Fotografija" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:669 +msgid "" +"The value set as artifact type is invalid. Must be either `source` or " +"`binary`." +msgstr "" -#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) -#: tools/appstream-cli.c:121 -#, fuzzy -msgid "Print detailed explanation for found issues." -msgstr "Rodyti išsamią išvestį apie rastus komponentus." +#: src/as-validator-issue-tag.h:674 +msgid "The value set as artifact bundle type is invalid." +msgstr "" -#. TRANSLATORS: ascli flag description for: --details -#: tools/appstream-cli.c:98 -msgid "Print detailed output about found components." -msgstr "Rodyti išsamią išvestį apie rastus komponentus." +#: src/as-validator-issue-tag.h:679 +msgid "" +"The platform triplet for this release is invalid. It must be in the form of " +"`architecture-oskernel-osenv` - refer to the AppStream documentation or " +"information on normalized GNU triplets for more information and valid fields." +msgstr "" -#. project group -#: tools/ascli-utils.c:360 -msgid "Project Group" -msgstr "Projekto grupė" +#: src/as-validator-issue-tag.h:686 +msgid "The selected checksumming algorithm is unsupported or unknown." +msgstr "" -#: tools/ascli-utils.c:405 -msgid "Provided Items" -msgstr "Pateikti elementai" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:692 +msgid "The size type is unknown. Must be `download` or `installed`." +msgstr "" -#: src/as-provided.c:154 -msgid "Python (Version 2)" -msgstr "Python (Versija 2)" +#: src/as-validator-issue-tag.h:697 +msgid "" +"The artifact filename must be a file basename, not a (relative or absolute) " +"path." +msgstr "" -#: src/as-provided.c:156 -msgid "Python 3" -msgstr "Python 3" +#: src/as-validator-issue-tag.h:702 +msgid "The value set as release issue type is invalid." +msgstr "" -#: tools/appstream-cli.c:854 -msgid "Rebuild the component metadata cache." -msgstr "Iš naujo sukurti komponentų metaduomenų podėlį." +#: src/as-validator-issue-tag.h:707 +msgid "" +"The issue is tagged at security vulnerability with a CVE number, but its " +"value does not look like a valid CVE identifier." +msgstr "" -#: tools/appstream-cli.c:860 -msgid "Remove software matching the component-ID." -msgstr "Šalinti komponento ID atitinkančią programinę įrangą." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:713 +msgid "" +"This component is missing information about releases. Consider adding a " +"`releases` tag to describe releases and their changes." +msgstr "" -#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty -#: src/as-validator.c:364 -msgid "Retrieved file size was zero." +#: src/as-validator-issue-tag.h:718 +msgid "" +"The AppStream specification requires a complete, ISO 8601 date string with " +"at least day-granularity to denote dates. Please ensure the date string is " +"valid." msgstr "" -#: src/as-category.c:248 -msgctxt "Category of Science" -msgid "Robotics" -msgstr "Robotika" +#: src/as-validator-issue-tag.h:724 +msgid "" +"This component extends, provides, requires or recommends itself, which is " +"certainly not intended and may confuse users or machines dealing with this " +"metadata." +msgstr "" -#: src/as-category.c:150 -msgctxt "Category of Games" -msgid "Role Playing" -msgstr "Vaidmenimis" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:731 +msgid "" +"Licenses for `runtime` components are usually too complex to reflect them in " +"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " +"value for this component's `project_license`. E.g. `LicenseRef-free=https://" +"example.com/licenses.html`" +msgstr "" -#: tools/appstream-cli.c:196 tools/appstream-cli.c:926 -#, c-format -msgid "Run '%s --help' to see a full list of available command line options." +#: src/as-validator-issue-tag.h:737 +msgid "" +"Since a `runtime` component is comprised of multiple other software " +"components, their component-IDs may be listed in a `` section for " +"this runtime." msgstr "" -"Vykdykite \"%s --help\", kad pamatytumėte visą prieinamų komandų eilutės " -"parametrų sąrašą." -#: tools/appstream-cli.c:198 -#, c-format +#: src/as-validator-issue-tag.h:742 msgid "" -"Run '%s --help' to see a list of available commands and options, and '%s %s " -"--help' to see a list of options specific for this subcommand." +"The type of the item that the component provides is not known to AppStream." msgstr "" -"Vykdykite \"%s --help\", norėdami pamatyti prieinamų komandų ir parametrų " -"sąrašą, ir \"%s %s --help\", norėdami pamatyti tam tikro pokomandžio " -"parametrų sąrašą." -#: src/as-provided.c:162 -msgid "Runtime Firmware" -msgstr "Vykdymo programinė aparatinė įranga" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:748 +msgid "" +"The toplevel `mimetypes` tag is deprecated. Please use `mediatype` tags in a " +"`provides` block instead to indicate that your software provides a media " +"handler for the given types." +msgstr "" -#: src/as-category.c:174 -msgctxt "Category of Graphics" -msgid "Scanning" -msgstr "Skenavimas" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks) and keep the URL intact. +#: src/as-validator-issue-tag.h:755 +msgid "" +"This component has no `content_rating` tag to provide age rating " +"information. You can generate the tag data online by answering a few " +"questions at https://hughsie.github.io/oars/" +msgstr "" -#. TRANSLATORS: this is the menu spec main category for Science -#: src/as-category.c:323 -msgid "Science" -msgstr "Mokslas" +#: src/as-validator.c:150 +msgid "" +"The emitted issue tag is unknown in the tag registry of AppStream. This is a " +"bug in the validator itself, please report this issue in our bugtracker." +msgstr "" -#: tools/appstream-cli.c:847 -msgid "Search the component database." -msgstr "Ieškoti komponentų duomenų bazėje." +#: src/as-validator.c:344 +msgid "URL format is invalid." +msgstr "" -#: src/as-category.c:293 -msgctxt "Category of Utility" -msgid "Security" -msgstr "Saugumas" +#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. +#: src/as-validator.c:522 src/as-validator.c:937 src/as-validator.c:1031 +#: src/as-validator.c:1428 src/as-validator.c:1448 src/as-validator.c:1481 +#, c-format +msgid "Found: %s - Allowed: %s" +msgstr "" -#. TRANSLATORS: ascli flag description for: --verbose -#: tools/appstream-cli.c:903 -msgid "Show extra debugging information." +#. TRANSLATORS: ascompose flag description for: --verbose +#: tools/appstream-compose.c:181 +#, fuzzy +msgid "Show extra debugging information" msgstr "Rodyti papildomą derinimo informaciją." +#. TRANSLATORS: ascompose flag description for: --no-color +#. TRANSLATORS: ascli flag description for: --no-color +#: tools/appstream-compose.c:184 tools/appstreamcli.c:1087 +msgid "Don't show colored output." +msgstr "Nerodyti spalvotos išvesties." + +#. TRANSLATORS: ascompose flag description for: --version #. TRANSLATORS: ascli flag description for: --version -#: tools/appstream-cli.c:897 +#: tools/appstream-compose.c:187 tools/appstreamcli.c:1076 msgid "Show the program version." msgstr "Rodyti programos versiją." -#: src/as-validator-issue-tag.h:635 -msgid "" -"Since a 'runtime' component is comprised of multiple other software " -"components, their component-IDs may be listed in a `` section for " -"this runtime." +#. TRANSLATORS: ascompose flag description for: --full-report +#: tools/appstream-compose.c:190 +msgid "Set mode of the issue report that is printed to the console" msgstr "" -#: src/as-category.c:153 -msgctxt "Category of Games" -msgid "Sports" -msgstr "Sportas" +#. TRANSLATORS: ascompose flag description for: --prefix +#: tools/appstream-compose.c:193 +msgid "Override the default prefix (`/usr` by default)" +msgstr "" -#: src/as-category.c:157 -msgctxt "Category of Games" -msgid "Strategy" -msgstr "Strategija" +#. TRANSLATORS: ascompose flag description for: --result-root +#: tools/appstream-compose.c:196 +msgid "Set the result output directory" +msgstr "" -#. these are commands we can use with appstreamcli -#: tools/appstream-cli.c:845 -msgid "Subcommands:" -msgstr "Pokomandžiai:" +#. TRANSLATORS: ascompose flag description for: --data-dir, `collection metadata` is an AppStream term +#: tools/appstream-compose.c:199 +msgid "Override the collection metadata output directory" +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:527 -msgid "" -"Suggestions of any type other than 'upstream' are not allowed in metainfo " -"files." +#. TRANSLATORS: ascompose flag description for: --icons-dir +#: tools/appstream-compose.c:202 +msgid "Override the icon output directory" msgstr "" -#: tools/ascli-utils.c:297 -msgid "Summary" -msgstr "Santrauka" +#. TRANSLATORS: ascompose flag description for: --media-dir +#: tools/appstream-compose.c:205 +msgid "" +"Set the media output directory (for media data to be served by a webserver)" +msgstr "" -#. TRANSLATORS: Status summary in ascli -#: tools/ascli-actions-misc.c:145 -msgid "Summary:" -msgstr "Santrauka:" +#. TRANSLATORS: ascompose flag description for: --hints-dir +#: tools/appstream-compose.c:208 +msgid "Set a directory where HTML and text issue reports will be stored" +msgstr "" -#: src/as-category.c:290 -msgctxt "Category of Utility" -msgid "System Monitoring" -msgstr "Sistemos stebėsena" +#. TRANSLATORS: ascompose flag description for: --origin +#. TRANSLATORS: ascompose flag description for: --media-baseurl +#: tools/appstream-compose.c:211 tools/appstream-compose.c:214 +msgid "Set the origin name" +msgstr "" -#: src/as-validator-issue-tag.h:46 -msgid "Tags of this name are not permitted in this section." +#. TRANSLATORS: ascompose flag description for: --components +#: tools/appstream-compose.c:217 +msgid "A comma-separated list of component-IDs to accept" msgstr "" -#: src/as-category.c:284 -msgctxt "Category of Utility" -msgid "Terminal Emulators" -msgstr "Terminalo emuliatoriai" +#. TRANSLATORS: error message +#: tools/appstream-compose.c:231 +msgid "Failed to parse arguments" +msgstr "" -#: src/as-category.c:281 -msgctxt "Category of Utility" -msgid "Text Editors" -msgstr "Tekstų redaktoriai" +#. TRANSLATORS: Output if appstreamcli --version is executed. +#: tools/appstream-compose.c:242 tools/appstreamcli.c:1230 +#, c-format +msgid "AppStream version: %s" +msgstr "AppStream versija: %s" -#: src/as-validator-issue-tag.h:318 +#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. +#: tools/appstream-compose.c:245 tools/appstreamcli.c:1233 +#, c-format msgid "" -"The 'pkgname' tag appears multiple times. You should evaluate creating a " -"metapackage containing the metainfo and .desktop files in order to avoid " -"defining multiple package names per component." +"AppStream CLI tool version: %s\n" +"AppStream library version: %s" msgstr "" +"AppStream komandų eilutės įrankio versija: %s\n" +"AppStream bibliotekos versija: %s" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:416 +#. TRANSLATORS: invalid value for the --print-report CLI option +#: tools/appstream-compose.c:264 +#, c-format msgid "" -"The 'update_contact' tag should not be included in collection AppStream XML." +"Invalid value for `--print-report` option: %s\n" +"Possible values are:\n" +"`on-error` - only prints a short report if the run failed (default)\n" +"`short` - generates an abridged report\n" +"`full` - a detailed report will be printed" msgstr "" -#: tools/ascli-actions-mdata.c:467 +#: tools/appstream-compose.c:285 #, c-format -msgid "The .desktop file '%s' does not exist." -msgstr ".desktop failo \"%s\" nėra." +msgid "Automatically selected '%s' as data output location." +msgstr "" -#: src/as-validator-issue-tag.h:393 -msgid "The can not contain a hyperlink." +#. TRANSLATORS: we don't have a destination directory for compose +#: tools/appstream-compose.c:288 +msgid "No destination directory set, please provide a data output location!" msgstr "" -#: src/as-validator-issue-tag.h:313 -msgid "" -"The tag still contains a 'type' property, probably from an old " -"conversion to the recent metainfo format." +#: tools/appstream-compose.c:298 tools/appstream-compose.c:300 +msgid "WARNING" msgstr "" -#: src/as-validator-issue-tag.h:616 -msgid "" -"The AppStream specification requires a complete, ISO 8601 date string with " -"at least day-granularity to denote dates. Please ensure the date string is " -"valid." +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:337 +#, c-format +msgid "Only accepting components: %s" msgstr "" -#: src/as-pool.c:1924 -#, fuzzy, c-format -msgid "" -"The AppStream system cache was updated, but problems were found which " -"resulted in metadata being ignored: %s" +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:340 +#, c-format +msgid "Only accepting component: %s" +msgstr "" + +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:345 +msgid "Processing directories:" +msgstr "" + +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:348 +msgid "Processing directory:" +msgstr "" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:357 +msgid "Can not process invalid directory" +msgstr "" + +#. TRANSLATORS: information message +#: tools/appstream-compose.c:369 +msgid "Composing metadata..." msgstr "" -"AppStream sistemos podėlis buvo atnaujintas, tačiau buvo rastos problemos: %s" -#: src/as-pool.c:1922 +#. TRANSLATORS: error message +#: tools/appstream-compose.c:374 #, fuzzy +msgid "Failed to compose AppStream metadata" +msgstr "Paslaugų programa, skirta darbui su AppStream metaduomenimis" + +#. TRANSLATORS: appstream-compose failed to include all data +#: tools/appstream-compose.c:380 +msgid "Run failed, some data was ignored." +msgstr "" + +#. TRANSLATORS: information message of appstream-compose +#: tools/appstream-compose.c:382 +msgid "Errors were raised during this compose run:" +msgstr "" + +#: tools/appstream-compose.c:383 msgid "" -"The AppStream system cache was updated, but some components were ignored. " -"Refer to the verbose log for more information." +"Refer to the generated issue report data for details on the individual " +"problems." msgstr "" -"AppStream sistemos podėlis buvo atnaujintas, tačiau buvo aptiktos kai kurios " -"klaidos, kurios gali privesti prie metaduomenų trūkumo. Išsamesnei " -"informacijai kreipkitės į išsamų žurnalą." -#: src/as-validator-issue-tag.h:151 -msgid "The SPDX license expression is invalid and could not be parsed." +#: tools/appstream-compose.c:386 +msgid "Overview of generated hints:" msgstr "" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows -#: tools/appstream-cli.c:683 -#, c-format -msgid "The TYPE must be a valid component-type, such as: %s" -msgstr "Tipas (TYPE) privalo būti teisingas komponento tipas, toks kaip: %s" +#. TRANSLATORS: information message +#: tools/appstream-compose.c:388 +msgid "Success!" +msgstr "" -#: src/as-validator-issue-tag.h:547 -msgid "The XML of this file is malformed." +#. TRANSLATORS: ascli flag description for: --cachepath +#: tools/appstreamcli.c:59 +msgid "Manually selected location of AppStream cache." +msgstr "Rankiniu būdu pasirinkta AppStream podėlio vieta." + +#. TRANSLATORS: ascli flag description for: --datapath +#: tools/appstreamcli.c:64 +msgid "Manually selected location of AppStream metadata to scan." +msgstr "Rankiniu būdu pasirinkta peržiūrima AppStream metaduomenų vieta." + +#. TRANSLATORS: ascli flag description for: --no-cache +#: tools/appstreamcli.c:69 +msgid "Make request without any caching." +msgstr "Padaryti užklausą be podėliavimo." + +#. TRANSLATORS: ascli flag description for: --format +#: tools/appstreamcli.c:85 +msgid "Default metadata format (valid values are 'xml' and 'yaml')." msgstr "" +"Numatytasis metaduomenų formatas (teisingos reikšmės yra \"xml\" ir \"yaml" +"\")." -#: src/as-validator-issue-tag.h:584 -msgid "" -"The category defined in the .desktop file is not valid. Refer to the XDG " -"Menu Specification for a list of valid categories." +#. TRANSLATORS: ascli flag description for: --details +#: tools/appstreamcli.c:100 +msgid "Print detailed output about found components." +msgstr "Rodyti išsamią išvestį apie rastus komponentus." + +#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) +#: tools/appstreamcli.c:118 +msgid "Also show pedantic hints." +msgstr "Taip pat rodyti pedantiškus patarimus." + +#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) +#: tools/appstreamcli.c:123 +#, fuzzy +msgid "Print detailed explanation for found issues." +msgstr "Rodyti išsamią išvestį apie rastus komponentus." + +#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) +#: tools/appstreamcli.c:128 +msgid "Do not use network access." +msgstr "Nenaudoti tinklo prieigą." + +#. TRANSLATORS: ascli flag description for: --format when validating XML files +#: tools/appstreamcli.c:133 +#, fuzzy +msgid "Format of the generated report (valid values are 'text' and 'yaml')." +msgstr "" +"Numatytasis metaduomenų formatas (teisingos reikšmės yra \"xml\" ir \"yaml" +"\")." + +#. TRANSLATORS: This is the header to the --help menu for subcommands +#. TRANSLATORS: This is the header to the --help menu +#: tools/appstreamcli.c:153 tools/appstreamcli.c:981 +msgid "AppStream command-line interface" +msgstr "AppStream komandų eilutės sąsaja" + +#: tools/appstreamcli.c:156 +#, c-format +msgid "'%s' command" +msgstr "\"%s\" komanda" + +#. TRANSLATORS: An unknown option was passed to appstreamcli. +#: tools/appstreamcli.c:191 +#, c-format +msgid "Option '%s' is unknown." +msgstr "Parametras \"%s\" nėra žinomas." + +#: tools/appstreamcli.c:195 tools/appstreamcli.c:1207 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options." msgstr "" +"Vykdykite \"%s --help\", kad pamatytumėte visą prieinamų komandų eilutės " +"parametrų sąrašą." -#: src/as-validator-issue-tag.h:532 +#: tools/appstreamcli.c:197 +#, c-format msgid "" -"The category name is not valid. Refer to the XDG Menu Specification for a " -"list of valid category names." +"Run '%s --help' to see a list of available commands and options, and '%s %s " +"--help' to see a list of options specific for this subcommand." msgstr "" +"Vykdykite \"%s --help\", norėdami pamatyti prieinamų komandų ir parametrų " +"sąrašą, ir \"%s %s --help\", norėdami pamatyti tam tikro pokomandžio " +"parametrų sąrašą." -#: src/as-validator-issue-tag.h:124 -msgid "" -"The component ID contains a hyphen/minus. Using a hyphen is strongly " -"discouraged, to improve interoperability with other tools such as D-Bus. A " -"good option is to replace any hyphens with underscores ('_')." +#. TRANSLATORS: ascli flag description for: --force +#: tools/appstreamcli.c:245 +msgid "Enforce a cache refresh." +msgstr "Priverstinai atlikti podėlio įkėlimą iš naujo." + +#. TRANSLATORS: ascli flag description for: --user +#: tools/appstreamcli.c:251 +msgid "Update the user-specific instead of the system-wide cache." msgstr "" -#: src/as-validator-issue-tag.h:130 -msgid "" -"The component ID contains a segment starting with a number. Starting a " -"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " -"interoperability with other tools such as D-Bus. Ideally, prefix these " -"segments with an underscore." +#. TRANSLATORS: ascli flag description for: --origin (part of the "put" subcommand) +#: tools/appstreamcli.c:477 +msgid "Set the data origin for the installed metadata collection file." msgstr "" -#: src/as-validator-issue-tag.h:119 -msgid "" -"The component ID contains an invalid character. Only ASCII characters, dots " -"and numbers are permitted." +#. TRANSLATORS: ascli flag description for: --user (part of the "put" subcommand) +#: tools/appstreamcli.c:482 +msgid "Install the file for the current user, instead of globally." msgstr "" -#: src/as-validator-issue-tag.h:106 +#: tools/appstreamcli.c:631 msgid "" -"The component ID is not a reverse domain-name. Please update the ID to avoid " -"future issues and be compatible with all AppStream implementations.\n" -"You may also consider to update the name of the accompanying .desktop file " -"to follow the latest version of the Desktop-Entry specification and use a " -"rDNS name for it as well. In any case, do not forget to mention the new " -"desktop-entry in a tag for this component to keep the " -"application launchable from software centers and the .desktop file data " -"associated with the metainfo data." +"You need to provide at least two version numbers to compare as parameters." msgstr "" +"Norėdami palyginti, turite kaip parametrus pateikti bent du versijos " +"numerius." -#: src/as-validator-issue-tag.h:101 +#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. +#: tools/appstreamcli.c:660 +#, c-format +msgid "Unknown compare relation '%s'. Valid values are:" +msgstr "Nežinomas palyginimo santykis \"%s\". Teisingos reikšmės yra:" + +#: tools/appstreamcli.c:700 msgid "" -"The component ID is required to follow a reverse domain-name scheme for its " -"name. See the AppStream specification for details." +"Too many parameters: Need two version numbers or version numbers and a " +"comparison operator." msgstr "" +"Per daug parametrų: Reikia dviejų versijos numerių arba versijos numerio ir " +"palyginimo operatoriaus." -#: src/as-validator-issue-tag.h:114 +#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) +#: tools/appstreamcli.c:726 msgid "" -"The component ID might not follow the reverse domain-name schema (the TLD " -"used by it is not known to the validator)." +"Use the given .desktop file to fill in the basic values of the metainfo file." msgstr "" +"Naudoti nurodytą .desktop failą tam, kad metainformacijos faile būtų " +"užpildytos pagrindinės reikšmės." -#: src/as-validator-issue-tag.h:293 +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand +#: tools/appstreamcli.c:731 msgid "" -"The component has a 'merge' method defined. This is not allowed in metainfo " -"files." +"This command takes optional TYPE and FILE positional arguments, FILE being a " +"file to write to (or \"-\" for standard output)." msgstr "" +"Ši komanda priima nebūtinus TIPO (TYPE) ir FAILO (FILE) argumentus, FAILUI " +"(FILE) būnant failu į kurį rašoma (arba \"-\" standartinei išvesčiai)." -#: src/as-validator-issue-tag.h:288 -msgid "" -"The component has a priority value set. This is not allowed in metainfo " -"files." +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows +#: tools/appstreamcli.c:734 +#, c-format +msgid "The TYPE must be a valid component-type, such as: %s" +msgstr "Tipas (TYPE) privalo būti teisingas komponento tipas, toks kaip: %s" + +#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) +#: tools/appstreamcli.c:775 +msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:503 -msgid "The component is an addon, but no 'extends' tag was specified." +#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command +#: tools/appstreamcli.c:815 +msgid "Assume the input file is in the selected format ('yaml' or 'text')." msgstr "" -#: src/as-validator-issue-tag.h:440 +#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command +#: tools/appstreamcli.c:820 msgid "" -"The component is missing a long description. Components of this type must " -"have a long description." +"Limit the number of release entries that end up in the metainfo file (0 for " +"unlimited)." msgstr "" -#: src/as-validator-issue-tag.h:303 -msgid "The component is missing a name ( tag)." +#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command +#: tools/appstreamcli.c:862 +msgid "Generate the output in the selected format ('yaml' or 'text')." msgstr "" -#: src/as-validator-issue-tag.h:308 -msgid "The component is missing a summary ( tag)." +#: tools/appstreamcli.c:894 +#, c-format +msgid "Compose binary '%s' was not found! Can not continue." msgstr "" -#: src/as-validator-issue-tag.h:298 -msgid "The component is missing an ID ( tag)." +#. TRANSLATORS: this is a (usually shorter) command alias, shown after the command summary text +#: tools/appstreamcli.c:956 +#, c-format +msgid "(Alias: '%s')" msgstr "" -#: src/as-validator-issue-tag.h:136 -msgid "" -"The component is part of the Freedesktop project, but its ID does not start " -"with fd.o's reverse-DNS name (\"org.freedesktop\")." -msgstr "" +#. these are commands we can use with appstreamcli +#: tools/appstreamcli.c:983 +msgid "Subcommands:" +msgstr "Pokomandžiai:" -#: src/as-validator-issue-tag.h:146 +#: tools/appstreamcli.c:1029 msgid "" -"The component is part of the GNOME project, but its ID does not start with " -"GNOMEs reverse-DNS name (\"org.gnome\")." +"You can find information about subcommand-specific options by passing \"--" +"help\" to the subcommand." msgstr "" +"Galite rasti informaciją apie tam tikram pakomandžiui specifinius " +"parametrus, perdavę pakomandžiui \"--help\" parametrą." -#: src/as-validator-issue-tag.h:141 +#. TRANSLATORS: ascli has been run with unknown command. '%s --help' is the command to receive help and should not be translated. +#: tools/appstreamcli.c:1052 +#, fuzzy, c-format msgid "" -"The component is part of the KDE project, but its ID does not start with " -"KDEs reverse-DNS name (\"org.kde\")." +"Command '%s' is unknown. Run '%s --help' for a list of available commands." msgstr "" +"Vykdykite \"%s --help\", kad pamatytumėte visą prieinamų komandų eilutės " +"parametrų sąrašą." -#: src/as-validator-issue-tag.h:323 -msgid "The component name should (likely) not end with a dot ('.')." -msgstr "" +#. TRANSLATORS: ascli flag description for: --verbose +#: tools/appstreamcli.c:1082 +msgid "Show extra debugging information." +msgstr "Rodyti papildomą derinimo informaciją." -#: src/as-validator-issue-tag.h:333 -msgid "The component summary must not contain tabs or linebreaks." +#. TRANSLATORS: ascli flag description for: --profile +#: tools/appstreamcli.c:1090 +msgid "Enable profiling" msgstr "" -#: src/as-validator-issue-tag.h:328 -msgid "The component summary should not end with a dot ('.')." -msgstr "" +#. TRANSLATORS: `appstreamcli search` command description. +#: tools/appstreamcli.c:1102 +msgid "Search the component database." +msgstr "Ieškoti komponentų duomenų bazėje." -#: src/as-validator-issue-tag.h:243 -msgid "" -"The default screenshot of a software component must not be a video. Use a " -"static image as default screenshot and set the video as a secondary " -"screenshot." -msgstr "" +#. TRANSLATORS: `appstreamcli get` command description. +#: tools/appstreamcli.c:1107 +msgid "Get information about a component by its ID." +msgstr "Gauti informaciją apie komponentą pagal jo ID." -#: src/as-validator-issue-tag.h:86 +#. TRANSLATORS: `appstreamcli what-provides` command description. +#: tools/appstreamcli.c:1112 msgid "" -"The description contains a web URL in plain text. This is not allowed, " -"please use the tag instead to share links." +"Get components which provide the given item. Needs an item type (e.g. lib, " +"bin, python3, …) and item value as parameter." msgstr "" -#: src/as-validator.c:152 -msgid "" -"The emitted issue tag is unknown in the tag registry of AppStream. This is a " -"bug in the validator itself, please report this issue in our bugtracker." -msgstr "" +#. TRANSLATORS: `appstreamcli dump` command description. +#: tools/appstreamcli.c:1118 +msgid "Dump raw XML metadata for a component matching the ID." +msgstr "Iškloti neapdorotus XML metaduomenis komponentui su atitinkamu ID." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:435 -msgid "" -"The essential tag 'metadata_license' is missing. A license for the metadata " -"itself always has to be defined." -msgstr "" +#. TRANSLATORS: `appstreamcli refresh-cache` command description. +#: tools/appstreamcli.c:1123 +msgid "Rebuild the component metadata cache." +msgstr "Iš naujo sukurti komponentų metaduomenų podėlį." -#: src/as-validator-issue-tag.h:79 -msgid "" -"The first 'description/p' paragraph of this component might be too short (< " -"80 characters). Please consider starting with a longer paragraph to improve " -"how the description looks like in software centers and to provide more " -"detailed information on this component immediately in the first paragraph." -msgstr "" +#. TRANSLATORS: `appstreamcli validate` command description. +#: tools/appstreamcli.c:1129 +msgid "Validate AppStream XML files for issues." +msgstr "Patikrinti ar AppStream XML failuose nėra problemų." -#: src/as-validator-issue-tag.h:156 -msgid "" -"The license ID was not found in the SPDX database. Please check that the " -"license ID is written in an SPDX-conformant way and is a valid free software " -"license." -msgstr "" +#. TRANSLATORS: `appstreamcli validate-tree` command description. +#: tools/appstreamcli.c:1134 +msgid "Validate an installed file-tree of an application for valid metadata." +msgstr "Patikrinti įdiegto programos failų medžio metaduomenų teisingumą." -#: src/as-validator-issue-tag.h:96 -msgid "" -"The mentioned tag is empty, which is highly likely not intended as it should " -"have content." -msgstr "" +#. TRANSLATORS: `appstreamcli install` command description. +#: tools/appstreamcli.c:1140 +msgid "Install software matching the component-ID." +msgstr "Įdiegti komponento ID atitinkančią programinę įrangą." -#: src/as-validator-issue-tag.h:168 -msgid "" -"The metadata itself does not seem to be licensed under a permissive license. " -"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " -"0BSD to allow distributors to include it in mixed data collections without " -"the risk of license violations due to mutually incompatible licenses." -msgstr "" +#. TRANSLATORS: `appstreamcli remove` command description. +#: tools/appstreamcli.c:1145 +msgid "Remove software matching the component-ID." +msgstr "Šalinti komponento ID atitinkančią programinę įrangą." -#: src/as-validator-issue-tag.h:162 -msgid "" -"The metadata itself seems to be licensed under a complex collection of " -"licenses. Please license the data under a simple permissive license, like " -"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " -"collections without the risk of license violations due to mutually " -"incompatible licenses." -msgstr "" +#. TRANSLATORS: `appstreamcli status` command description. +#: tools/appstreamcli.c:1151 +msgid "Display status information about available AppStream metadata." +msgstr "Rodyti būsenos informaciją apie prieinamus AppStream metaduomenis." -#: src/as-validator-issue-tag.h:599 +#. TRANSLATORS: `appstreamcli os-info` command description. +#: tools/appstreamcli.c:1156 msgid "" -"The metainfo file is stored in a legacy path. Please place it in '/usr/share/" -"metainfo'." +"Show information about the current operating system from the metadata index." msgstr "" -#: src/as-validator-issue-tag.h:604 -msgid "The metainfo file specifies multiple components. This is not allowed." -msgstr "" +#. TRANSLATORS: `appstreamcli put` command description. +#: tools/appstreamcli.c:1161 +msgid "Install a metadata file into the right location." +msgstr "Įdiegti metaduomenų failą į tinkamą vietą." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:559 -msgid "" -"The metainfo file uses an ancient version of the AppStream specification, " -"which can not be validated. Please migrate it to version 0.6 (or higher)." -msgstr "" +#. TRANSLATORS: `appstreamcli convert` command description. "Collection XML" is a term describing a specific type of AppStream XML data. +#: tools/appstreamcli.c:1166 +msgid "Convert collection XML to YAML or vice versa." +msgstr "Konvertuoti kolekciją iš XML į YAML arba atvirkščiai." -#: src/as-validator-issue-tag.h:569 -#, fuzzy -msgid "The metainfo filename does not match the component ID." -msgstr "Šalinti komponento ID atitinkančią programinę įrangą." +#. TRANSLATORS: `appstreamcli vercmp` command description. +#: tools/appstreamcli.c:1171 +msgid "Compare two version numbers." +msgstr "Palyginti dviejų versijų numerius." -#: src/as-validator-issue-tag.h:609 +#. TRANSLATORS: `appstreamcli new-template` command description. +#: tools/appstreamcli.c:1177 msgid "" -"The releases are not sorted in a latest to oldest version order. This is " -"required as some tools will assume that the latest version is always at the " -"top. Sorting releases also increases overall readability of the metainfo " -"file." +"Create a template for a metainfo file (to be filled out by the upstream " +"project)." msgstr "" +"Sukurti metainformacijos failo šabloną (kurį užpildo pagrindinis projektas)." -#: src/as-validator-issue-tag.h:537 -msgid "The screenshot caption is too long (should be <= 80 characters)" +#. TRANSLATORS: `appstreamcli make-desktop-file` command description. +#: tools/appstreamcli.c:1182 +msgid "Create a desktop-entry file from a metainfo file." msgstr "" -#: src/as-validator-issue-tag.h:206 -msgid "The screenshot does not have a caption text. Consider adding one." +#. TRANSLATORS: `appstreamcli news-to-metainfo` command description. +#: tools/appstreamcli.c:1187 +msgid "Convert a YAML or text NEWS file into metainfo releases." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:218 -msgid "" -"The screenshot video does not specify which container format was used in a " -"'container' property." +#. TRANSLATORS: `appstreamcli metainfo-to-news` command description. +#: tools/appstreamcli.c:1192 +msgid "Write NEWS text or YAML file with information from a metainfo file." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:212 -msgid "" -"The screenshot video does not specify which video codec was used in a " -"'codec' property." +#. TRANSLATORS: `appstreamcli compose` command description. +#: tools/appstreamcli.c:1198 +msgid "Compose AppStream collection metadata from directory trees." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:224 -msgid "" -"The selected video codec is not supported by AppStream and software centers " -"may not be able to play the video. Only the AV1 and VP9 codecs are currently " -"supported, using 'av1' and 'vp9' as values for the 'codec' property." -msgstr "" +#. TRANSLATORS: ascli has been run without command. +#: tools/appstreamcli.c:1206 +msgid "You need to specify a command." +msgstr "Jūs turite nurodyti komandą." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:231 -msgid "" -"The selected video container format is not supported by AppStream and " -"software centers may not be able to play the video. Only the WebM and " -"Matroska video containers are currently supported, using 'webm' and 'mkv' as " -"values for the 'container' property." -msgstr "" +#. TRANSLATORS: In ascli: The requested action needs higher permissions. +#: tools/ascli-actions-mdata.c:70 +msgid "You might need superuser permissions to perform this action." +msgstr "Norint atlikti šį veiksmą, jums gali prireikti supernaudotojo teisių." -#: src/as-validator-issue-tag.h:283 -#, fuzzy -msgid "" -"The set component type is not a recognized, valid AppStream component type." -msgstr "" -"Programinės įrangos komponento tipas \"%s\" nėra teisingas AppStream " -"specifikacijoje. Galimos reikšmės yra:" +#. we performed a cache refresh +#. TRANSLATORS: Updating the metadata cache succeeded +#: tools/ascli-actions-mdata.c:80 +msgid "AppStream cache update completed successfully." +msgstr "AppStream podėlio atnaujinimas sėkmingai užbaigtas." -#: src/as-validator-issue-tag.h:398 -msgid "" -"The set value is not an identifier for a desktop environment as registered " -"with Freedesktop.org." -msgstr "" +#. cache wasn't updated, so the update wasn't necessary +#: tools/ascli-actions-mdata.c:86 +msgid "AppStream cache update is not necessary." +msgstr "AppStream podėlio atnaujinimas nėra būtinas." + +#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments +#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. +#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:253 +#: tools/ascli-actions-pkgmgr.c:80 +msgid "You need to specify a component-ID." +msgstr "Jūs turite nurodyti komponento ID." + +#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:265 +#: tools/ascli-actions-pkgmgr.c:93 +#, c-format +msgid "Unable to find component with ID '%s'!" +msgstr "Nepavyko rasti komponentą, kurio ID \"%s\"!" + +#: tools/ascli-actions-mdata.c:164 +msgid "You need to specify a term to search for." +msgstr "Jūs turite nurodyti paieškos žodžius, kurių ieškoti." -#: tools/ascli-actions-mdata.c:449 +#. TRANSLATORS: We failed to find any component in the database, likely due to an error +#: tools/ascli-actions-mdata.c:177 #, c-format -msgid "" -"The software component type '%s' is not valid in AppStream. Possible values " -"are:" -msgstr "" -"Programinės įrangos komponento tipas \"%s\" nėra teisingas AppStream " -"specifikacijoje. Galimos reikšmės yra:" +msgid "Unable to find component matching %s!" +msgstr "Nepavyko rasti komponento, atitinkančio %s!" -#: src/as-validator-issue-tag.h:338 -msgid "The summary must not contain any URL. Use the tags for links." -msgstr "" +#: tools/ascli-actions-mdata.c:182 +#, c-format +msgid "No component matching '%s' found." +msgstr "Nerasta komponento, atitinkančio \"%s\"." -#: src/as-validator-issue-tag.h:640 -msgid "" -"The type of the item that the component provides is not known to AppStream." -msgstr "" +#: tools/ascli-actions-mdata.c:206 +msgid "No value for the item to search for was defined." +msgstr "Nebuvo apibrėžta elemento, kurį ieškoti, reikšmė." -#: src/as-validator-issue-tag.h:174 -msgid "" -"The update-contact does not appear to be a valid email address (escaping of " -"'@' is only allowed as '_at_' or '_AT_')." +#: tools/ascli-actions-mdata.c:212 +msgid "Invalid type for provided item selected. Valid values are:" msgstr "" +"Pasirinktas neteisingas pateikto elemento tipas. Teisingos reikšmės yra:" -#: tools/ascli-actions-validate.c:363 tools/ascli-actions-validate.c:492 +#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results +#: tools/ascli-actions-mdata.c:227 #, c-format -msgid "" -"The validator can not create reports in the '%s' format. You may select " -"'yaml' or 'text' instead." -msgstr "" +msgid "Could not find component providing '%s::%s'." +msgstr "Nepavyko rasti komponento, pateikiančio \"%s::%s\"." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:410 -msgid "This 'bundle' tag has an unknown type and can not be used." -msgstr "" +#: tools/ascli-actions-mdata.c:306 +msgid "You need to specify a metadata file." +msgstr "Jūs turite nurodyti metaduomenų failą." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:404 -msgid "This 'launchable' tag has an unknown type and can not be used." -msgstr "" +#: tools/ascli-actions-mdata.c:320 +#, fuzzy, c-format +msgid "Unable to install metadata file: %s" +msgstr "Nepavyko perskaityti .desktop failo: %s" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:515 -msgid "" -"This 'localization' component does not define any languages this " -"localization is for." -msgstr "" +#: tools/ascli-actions-mdata.c:340 +msgid "You need to specify an input and output file." +msgstr "Jūs turite nurodyti įvesties ir išvesties failą." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:509 -msgid "" -"This 'localization' component is missing an 'extends' tag, to specify the " -"components it adds localization to." -msgstr "" +#: tools/ascli-actions-mdata.c:347 +#, c-format +msgid "Metadata file '%s' does not exist." +msgstr "Metaduomenų failo \"%s\" nėra." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:521 +#. TRANSLATORS: User is trying to convert a file in ascli +#: tools/ascli-actions-mdata.c:387 msgid "" -"This 'service' component is missing a 'launchable' tag of type 'service'." +"Unable to convert file: Could not determine output format, please set it " +"explicitly using '--format='." msgstr "" +"Nepavyko konvertuoti failo: Nepavyko nustatyti išvesties formato, prašome " +"aiškiai jį nustatyti, naudojant \"--format=\"." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:473 -msgid "" -"This 'web-application' component is missing a 'icon' tag to specify a valid " -"icon." -msgstr "" +#: tools/ascli-actions-mdata.c:438 +#, fuzzy, c-format +msgid "Unable to find operating system component '%s'!" +msgstr "Nepavyko rasti komponentą, kurio ID \"%s\"!" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:467 -msgid "" -"This 'web-application' component is missing a 'launchable' tag of type 'url'." -msgstr "" +#: tools/ascli-actions-mdata.c:443 +#, fuzzy +msgid "Version" +msgstr "Versija: %s" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:479 +#: tools/ascli-actions-mdata.c:467 msgid "" -"This 'web-application' component is missing categorizations. A 'categories' " -"block is likely missing." +"You need to give an AppStream software component type to generate a " +"template. Possible values are:" msgstr "" +"Norėdami sukurti šabloną, turite pateikti AppStream programinės įrangos " +"komponento tipą. Galimos reikšmės yra:" -#: src/as-validator-issue-tag.h:564 +#: tools/ascli-actions-mdata.c:469 +#, c-format msgid "" -"This XML document has an unknown root tag. Maybe this file is not a metainfo " -"document?" +"The software component type '%s' is not valid in AppStream. Possible values " +"are:" msgstr "" +"Programinės įrangos komponento tipas \"%s\" nėra teisingas AppStream " +"specifikacijoje. Galimos reikšmės yra:" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand -#: tools/appstream-cli.c:680 -msgid "" -"This command takes optional TYPE and FILE positional arguments, FILE being a " -"file to write to (or \"-\" for standard output)." -msgstr "" -"Ši komanda priima nebūtinus TIPO (TYPE) ir FAILO (FILE) argumentus, FAILUI " -"(FILE) būnant failu į kurį rašoma (arba \"-\" standartinei išvesčiai)." +#: tools/ascli-actions-mdata.c:487 +#, c-format +msgid "The .desktop file '%s' does not exist." +msgstr ".desktop failo \"%s\" nėra." -#: src/as-validator-issue-tag.h:622 -msgid "" -"This component extends, provides, requires or recommends itself, which is " -"certainly not intended and may confuse users or machines dealing with this " -"metadata." -msgstr "" +#: tools/ascli-actions-mdata.c:493 +#, c-format +msgid "Unable to read the .desktop file: %s" +msgstr "Nepavyko perskaityti .desktop failo: %s" -#: src/as-validator-issue-tag.h:579 -msgid "This component metadata refers to a non-existing .desktop file." -msgstr "" +#: tools/ascli-actions-mdata.c:564 +#, c-format +msgid "Unable to build the template metainfo file: %s" +msgstr "Nepavyko sukurti šablono metainformacijos failo: %s" -#: src/as-validator-issue-tag.h:69 -msgid "" -"This description paragraph contains invalid markup. Currently, only " -"and are permitted." -msgstr "" +#: tools/ascli-actions-mdata.c:572 +#, c-format +msgid "Unable to save the template metainfo file: %s" +msgstr "Nepavyko įrašyti šablono metainformacijos failo: %s" -#: src/as-validator-issue-tag.h:57 -msgid "" -"This element (paragraph, list, etc.) of a tag must not be " -"localized individually in collection metadata. Localize the whole " -" tag instead. The AppStream collection metadata generator (e." -"g. `appstream-generator`) will already do the right thing when compiling the " -"data." -msgstr "" +#. TRANSLATORS: In the status report of ascli: Header +#: tools/ascli-actions-misc.c:47 +msgid "AppStream Status:" +msgstr "AppStream būsena:" -#: src/as-validator-issue-tag.h:455 -msgid "" -"This generic component is missing a long description. It may be useful to " -"add one." -msgstr "" +#: tools/ascli-actions-misc.c:48 +#, c-format +msgid "Version: %s" +msgstr "Versija: %s" -#: src/as-validator-issue-tag.h:421 -msgid "" -"This tag is a GNOME-specific extension to AppStream and not part of the " -"official specification. Do not expect it to work in all implementations and " -"in all software centers." -msgstr "" +#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions +#: tools/ascli-actions-misc.c:52 +msgid "Distribution metadata:" +msgstr "Distribucijos metaduomenys:" -#: src/as-validator-issue-tag.h:41 -msgid "This tag requires a type property." -msgstr "" +#: tools/ascli-actions-misc.c:94 +msgid "Iconsets" +msgstr "Piktogramų rinkiniai" -#: data/org.freedesktop.appstream.cli.metainfo.xml:15 -msgid "" -"This tool allows for reading, writing, validating and transformation of " -"AppStream XML or YAML metadata. It also gives access to the system metadata " -"pool, for example to query for software that provides a specific MIME-type, " -"and installing it by its software component identifier." -msgstr "" -"Šis įrankis leidžia skaityti, rašyti, patikrinti ir transformuoti AppStream " -"XML ar YAML metaduomenis. Jis taip pat suteikia prieigą prie metaduomenų " -"telkinio, pavyzdžiui, tam, kad užklausti programinę įrangą, kurį teikia tam " -"tikrą MIME tipą, ir leidžia įdiegti ją pagal jos programinės įrangos " -"komponento identifikatorių." +#: tools/ascli-actions-misc.c:105 +msgid "No icons." +msgstr "Nėra piktogramų." -#: src/as-validator-issue-tag.h:388 -msgid "" -"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." -msgstr "" +#. TRANSLATORS: No metainfo files have been found +#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 +msgid "Empty." +msgstr "Tuščia." -#: tools/appstream-cli.c:648 -msgid "" -"Too many parameters: Need two version numbers or version numbers and a " -"comparison operator." -msgstr "" -"Per daug parametrų: Reikia dviejų versijos numerių arba versijos numerio ir " -"palyginimo operatoriaus." +#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report +#: tools/ascli-actions-misc.c:116 +msgid "Metainfo files:" +msgstr "Metainformacijos failai:" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:461 -msgid "" -"Type 'console-application' component, but no information about binaries in " -"$PATH was provided via a 'provides/binary' tag." -msgstr "" +#: tools/ascli-actions-misc.c:123 +#, c-format +msgid "Found %i components." +msgstr "Rasta %i komponentų." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:491 -msgid "" -"Type 'driver' component, but no modalias information was provided via a " -"provides/modalias tag." -msgstr "" +#. TRANSLATORS: Found metainfo files in legacy directories +#: tools/ascli-actions-misc.c:138 +#, c-format +msgid "Found %i components in legacy paths." +msgstr "Rasta %i komponentų liekamuosiuose keliuose." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:485 -msgid "" -"Type 'font' component, but no font information was provided via a 'provides/" -"font' tag." -msgstr "" +#. TRANSLATORS: Status summary in ascli +#: tools/ascli-actions-misc.c:145 +msgid "Summary:" +msgstr "Santrauka:" -#: src/as-validator.c:333 -msgid "URL format is invalid." -msgstr "" +#: tools/ascli-actions-misc.c:153 +#, c-format +msgid "We have information on %i software components." +msgstr "Turime informaciją apie %i programinės įrangos komponentų(-us)." -#: tools/ascli-actions-mdata.c:544 +#: tools/ascli-actions-misc.c:159 #, c-format -msgid "Unable to build the template metainfo file: %s" -msgstr "Nepavyko sukurti šablono metainformacijos failo: %s" +msgid "Error while loading the metadata pool: %s" +msgstr "Klaida, įkeliant metaduomenų telkinį: %s" -#. TRANSLATORS: User is trying to convert a file in ascli -#: tools/ascli-actions-mdata.c:400 +#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 +#, fuzzy +msgid "You need to specify a metainfo file as input." +msgstr "Jūs turite nurodyti metaduomenų failą." + +#: tools/ascli-actions-misc.c:188 +#, fuzzy msgid "" -"Unable to convert file: Could not determine output format, please set it " -"explicitly using '--format='." -msgstr "" -"Nepavyko konvertuoti failo: Nepavyko nustatyti išvesties formato, prašome " -"aiškiai jį nustatyti, naudojant \"--format=\"." +"You need to specify a desktop-entry file to create or augment as output." +msgstr "Turite nurodyti failą, kurį tikrinti!" -#. TRANSLATORS: We failed to find any component in the database, likely due to an error -#: tools/ascli-actions-mdata.c:177 -#, c-format -msgid "Unable to find component matching %s!" -msgstr "Nepavyko rasti komponento, atitinkančio %s!" +#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 +#: tools/ascli-actions-misc.c:515 +#, fuzzy, c-format +msgid "Metainfo file '%s' does not exist." +msgstr "Metaduomenų failo \"%s\" nėra." -#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:266 -#: tools/ascli-actions-pkgmgr.c:93 +#: tools/ascli-actions-misc.c:219 #, c-format -msgid "Unable to find component with ID '%s'!" -msgstr "Nepavyko rasti komponentą, kurio ID \"%s\"!" +msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." +msgstr "" #: tools/ascli-actions-misc.c:224 #, fuzzy, c-format msgid "Unable to load existing desktop-entry file template: %s" msgstr "Nepavyko perskaityti .desktop failo: %s" -#: src/as-validator-issue-tag.h:356 -msgid "Unable to reach remote icon at the given web location - does it exist?" -msgstr "" - -#: src/as-validator-issue-tag.h:378 -msgid "" -"Unable to reach remote location that this URL references - does it exist?" +#: tools/ascli-actions-misc.c:228 +#, c-format +msgid "Creating new desktop-entry file '%s' using data from '%s'" msgstr "" -#: src/as-validator-issue-tag.h:179 -msgid "" -"Unable to reach the screenshot image on its remote location - does the image " -"exist?" +#: tools/ascli-actions-misc.c:284 +msgid "No stock icon name was provided in the metainfo file. Can not continue." msgstr "" -#: src/as-validator-issue-tag.h:184 +#: tools/ascli-actions-misc.c:306 msgid "" -"Unable to reach the screenshot video on its remote location - does the video " -"file exist?" +"No provided binary specified in metainfo file, and no exec command specified " +"via '--exec'. Can not create 'Exec=' key." msgstr "" -#: src/as-validator-issue-tag.h:542 +#: tools/ascli-actions-misc.c:370 +#, fuzzy, c-format +msgid "Unable to save desktop entry file: %s" +msgstr "Nepavyko perskaityti .desktop failo: %s" + +#: tools/ascli-actions-misc.c:393 #, fuzzy -msgid "Unable to read file." -msgstr "Nepavyko pašalinti senojo podėlio." +msgid "You need to specify a NEWS file as input." +msgstr "Jūs turite nurodyti metaduomenų failą." -#: src/as-validator-issue-tag.h:574 +#: tools/ascli-actions-misc.c:397 #, fuzzy -msgid "Unable to read the .desktop file associated with this component." -msgstr "Nepavyko perskaityti .desktop failo: %s" +msgid "" +"You need to specify a metainfo file to augment, or '-' to print to stdout." +msgstr "Jūs turite nurodyti metaduomenų failą." -#: tools/ascli-actions-mdata.c:473 -#, c-format -msgid "Unable to read the .desktop file: %s" -msgstr "Nepavyko perskaityti .desktop failo: %s" +#: tools/ascli-actions-misc.c:402 +msgid "No output filename specified, modifying metainfo file directly." +msgstr "" -#: src/as-pool.c:606 -msgid "Unable to remove old cache." -msgstr "Nepavyko pašalinti senojo podėlio." +#: tools/ascli-actions-misc.c:509 +#, fuzzy +msgid "You need to specify a NEWS file as output, or '-' to print to stdout." +msgstr "Jūs turite nurodyti metaduomenų failą." -#: tools/ascli-actions-misc.c:370 -#, fuzzy, c-format -msgid "Unable to save desktop entry file: %s" -msgstr "Nepavyko perskaityti .desktop failo: %s" +#: tools/ascli-actions-misc.c:540 +#, fuzzy +msgid "You need to specify a NEWS format to write the output in." +msgstr "Jūs turite nurodyti įvesties ir išvesties failą." -#: tools/ascli-actions-mdata.c:552 -#, c-format -msgid "Unable to save the template metainfo file: %s" -msgstr "Nepavyko įrašyti šablono metainformacijos failo: %s" +#: tools/ascli-actions-pkgmgr.c:53 +msgid "" +"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" +"\" (part of PackageKit) is available." +msgstr "" +"Nerasta jokios tinkamos komandų eilutės paketų tvarkytuvės. Įsitikinkite, " +"kad, pavyzdžiui, \"pkcon\" (PackageKit dalis) yra prieinama." #: tools/ascli-actions-pkgmgr.c:67 #, c-format msgid "Unable to spawn package manager: %s" msgstr "Nepavyko paleisti paketų tvarkytuvės: %s" -#: tools/ascli-actions-mdata.c:322 +#. TRANSLATORS: We found no distribution package or bundle to install to make this software available +#: tools/ascli-actions-pkgmgr.c:106 #, c-format -msgid "Unable to write to '%s', can not install metainfo file." -msgstr "Nepavyko įrašyti į \"%s\", nepavyksta įdiegti metainformacijos failo." +msgid "Component '%s' has no installation candidate." +msgstr "Komponentas \"%s\" neturi įdiegimo kandidatų." -#. TRANSLATORS: ascli has been run with unknown command. -#: tools/appstream-cli.c:1009 -#, c-format -msgid "Unknown command '%s'." -msgstr "Nežinoma komanda \"%s\"." +#: tools/ascli-actions-validate.c:176 tools/ascli-actions-validate.c:354 +#, fuzzy, c-format +msgid "File '%s' does not exist." +msgstr "Metaduomenų failo \"%s\" nėra." -#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. -#: tools/appstream-cli.c:608 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "error"-type hints +#: tools/ascli-actions-validate.c:228 #, c-format -msgid "Unknown compare relation '%s'. Valid values are:" -msgstr "Nežinomas palyginimo santykis \"%s\". Teisingos reikšmės yra:" - -#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) -#: tools/appstream-cli.c:675 -msgid "" -"Use the given .desktop file to fill in the basic values of the metainfo file." -msgstr "" -"Naudoti nurodytą .desktop failą tam, kad metainformacijos faile būtų " -"užpildytos pagrindinės reikšmės." - -#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) -#: tools/appstream-cli.c:725 -msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." -msgstr "" - -#. TRANSLATORS: this is the menu spec main category for Utilities -#: src/as-category.c:329 -msgid "Utilities" -msgstr "Paslaugų programos" +msgid "errors: %lu" +msgstr "klaidos: %lu" -#: tools/appstream-cli.c:856 -msgid "Validate AppStream XML files for issues." -msgstr "Patikrinti ar AppStream XML failuose nėra problemų." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "warning"-type hints +#: tools/ascli-actions-validate.c:235 +#, c-format +msgid "warnings: %lu" +msgstr "įspėjimai: %lu" -#: tools/appstream-cli.c:857 -msgid "Validate an installed file-tree of an application for valid metadata." -msgstr "Patikrinti įdiegto programos failų medžio metaduomenų teisingumą." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "info"-type hints +#: tools/ascli-actions-validate.c:242 +#, c-format +msgid "infos: %lu" +msgstr "informacijos: %lu" -#: tools/ascli-actions-validate.c:301 tools/ascli-actions-validate.c:442 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "pedantic"-type hints +#: tools/ascli-actions-validate.c:249 #, c-format -msgid "Validation failed: %s" -msgstr "Patikrinimas nepavyko: %s" +msgid "pedantic: %lu" +msgstr "pedantiški: %lu" + +#: tools/ascli-actions-validate.c:268 tools/ascli-actions-validate.c:342 +#, fuzzy +msgid "You need to specify at least one file to validate!" +msgstr "Turite nurodyti failą, kurį tikrinti!" -#: tools/ascli-actions-validate.c:289 tools/ascli-actions-validate.c:430 +#: tools/ascli-actions-validate.c:294 tools/ascli-actions-validate.c:435 msgid "Validation was successful." msgstr "Patikrinimas buvo sėkmingas." -#: tools/ascli-actions-validate.c:291 tools/ascli-actions-validate.c:432 +#: tools/ascli-actions-validate.c:296 tools/ascli-actions-validate.c:437 #, c-format msgid "Validation was successful: %s" msgstr "Patikrinimas buvo sėkmingas: %s" -#: tools/appstream-cli.c:851 -msgid "Value of the item that should be found." -msgstr "Elemento, kuris turėtų būti rastas, reikšmė." - -#: src/as-category.c:177 -msgctxt "Category of Graphics" -msgid "Vector Graphics" -msgstr "Vektorinė grafika" - -#: tools/ascli-actions-misc.c:48 +#: tools/ascli-actions-validate.c:306 tools/ascli-actions-validate.c:447 #, c-format -msgid "Version: %s" -msgstr "Versija: %s" - -#: src/as-category.c:180 -msgctxt "Category of Graphics" -msgid "Viewers" -msgstr "Žiūryklės" +msgid "Validation failed: %s" +msgstr "Patikrinimas nepavyko: %s" -#: tools/ascli-actions-misc.c:153 +#: tools/ascli-actions-validate.c:368 tools/ascli-actions-validate.c:497 #, c-format -msgid "We have information on %i software components." -msgstr "Turime informaciją apie %i programinės įrangos komponentų(-us)." +msgid "" +"The validator can not create reports in the '%s' format. You may select " +"'yaml' or 'text' instead." +msgstr "" -#: src/as-category.c:270 -msgctxt "Category of Communication" -msgid "Web Browsers" -msgstr "Saityno naršyklės" +#: tools/ascli-actions-validate.c:390 tools/ascli-actions-validate.c:484 +msgid "You need to specify a root directory to start validation!" +msgstr "Norėdami pradėti tikrinimą, turite nurodyti šakninį katalogą!" -#: src/as-category.c:202 -msgctxt "Category of Office" -msgid "Word Processor" -msgstr "Tekstų rengyklė" +#: tools/ascli-utils.c:266 +msgid "Identifier" +msgstr "Identifikatorius" -#: tools/appstream-cli.c:871 -msgid "Write NEWS text or YAML file with information from a metainfo file." +#: tools/ascli-utils.c:268 +msgid "Internal ID" msgstr "" -#: tools/appstream-cli.c:874 -msgid "" -"You can find information about subcommand-specific options by passing \"--" -"help\" to the subcommand." -msgstr "" -"Galite rasti informaciją apie tam tikram pakomandžiui specifinius " -"parametrus, perdavę pakomandžiui \"--help\" parametrą." +#: tools/ascli-utils.c:269 +msgid "Name" +msgstr "Pavadinimas" -#. TRANSLATORS: In ascli: The requested action needs higher permissions. -#: tools/ascli-actions-mdata.c:70 -msgid "You might need superuser permissions to perform this action." -msgstr "Norint atlikti šį veiksmą, jums gali prireikti supernaudotojo teisių." +#: tools/ascli-utils.c:270 +msgid "Summary" +msgstr "Santrauka" -#: tools/ascli-actions-mdata.c:447 -msgid "" -"You need to give an AppStream software component type to generate a " -"template. Possible values are:" -msgstr "" -"Norėdami sukurti šabloną, turite pateikti AppStream programinės įrangos " -"komponento tipą. Galimos reikšmės yra:" +#: tools/ascli-utils.c:271 +msgid "Package" +msgstr "Paketas" -#: tools/appstream-cli.c:579 -msgid "" -"You need to provide at least two version numbers to compare as parameters." -msgstr "" -"Norėdami palyginti, turite kaip parametrus pateikti bent du versijos " -"numerius." +#: tools/ascli-utils.c:272 +msgid "Bundle" +msgstr "Rinkinys" -#: tools/ascli-actions-misc.c:393 -#, fuzzy -msgid "You need to specify a NEWS file as input." -msgstr "Jūs turite nurodyti metaduomenų failą." +#: tools/ascli-utils.c:273 +msgid "Homepage" +msgstr "Internetinė svetainė" -#: tools/ascli-actions-misc.c:509 -#, fuzzy -msgid "You need to specify a NEWS file as output, or '-' to print to stdout." -msgstr "Jūs turite nurodyti metaduomenų failą." +#: tools/ascli-utils.c:274 +msgid "Icon" +msgstr "Piktograma" -#: tools/ascli-actions-misc.c:540 -#, fuzzy -msgid "You need to specify a NEWS format to write the output in." -msgstr "Jūs turite nurodyti įvesties ir išvesties failą." +#. developer name +#: tools/ascli-utils.c:294 +msgid "Developer" +msgstr "Kūrėjas" -#. TRANSLATORS: ascli has been run without command. -#: tools/appstream-cli.c:925 -msgid "You need to specify a command." -msgstr "Jūs turite nurodyti komandą." +#: tools/ascli-utils.c:300 +msgid "Extends" +msgstr "Išplečia" -#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments -#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. -#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:254 -#: tools/ascli-actions-pkgmgr.c:80 -msgid "You need to specify a component-ID." -msgstr "Jūs turite nurodyti komponento ID." +#: tools/ascli-utils.c:306 +msgid "Description" +msgstr "Aprašas" -#: tools/ascli-actions-misc.c:188 -#, fuzzy -msgid "" -"You need to specify a desktop-entry file to create or augment as output." -msgstr "Turite nurodyti failą, kurį tikrinti!" +#: tools/ascli-utils.c:326 +msgid "Default Screenshot URL" +msgstr "Numatytosios ekrano kopijos URL" -#: tools/ascli-actions-mdata.c:309 -msgid "You need to specify a metadata file." -msgstr "Jūs turite nurodyti metaduomenų failą." +#. project group +#: tools/ascli-utils.c:333 +msgid "Project Group" +msgstr "Projekto grupė" -#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 -#, fuzzy -msgid "You need to specify a metainfo file as input." -msgstr "Jūs turite nurodyti metaduomenų failą." +#. license +#: tools/ascli-utils.c:336 +msgid "License" +msgstr "Licencija" -#: tools/ascli-actions-misc.c:397 -#, fuzzy -msgid "" -"You need to specify a metainfo file to augment, or '-' to print to stdout." -msgstr "Jūs turite nurodyti metaduomenų failą." +#: tools/ascli-utils.c:342 +msgid "Categories" +msgstr "Kategorijos" -#: tools/ascli-actions-validate.c:385 tools/ascli-actions-validate.c:479 -msgid "You need to specify a root directory to start validation!" -msgstr "Norėdami pradėti tikrinimą, turite nurodyti šakninį katalogą!" +#: tools/ascli-utils.c:350 +msgid "Compulsory for" +msgstr "Privaloma šiems" -#: tools/ascli-actions-mdata.c:164 -msgid "You need to specify a term to search for." -msgstr "Jūs turite nurodyti paieškos žodžius, kurių ieškoti." +#: tools/ascli-utils.c:378 +msgid "Provided Items" +msgstr "Pateikti elementai" -#: tools/ascli-actions-mdata.c:357 -msgid "You need to specify an input and output file." -msgstr "Jūs turite nurodyti įvesties ir išvesties failą." +#, fuzzy, c-format +#~ msgid "Unable to open new cache file: %s" +#~ msgstr "Nepavyko perskaityti .desktop failo: %s" -#: tools/ascli-actions-validate.c:263 tools/ascli-actions-validate.c:337 #, fuzzy -msgid "You need to specify at least one file to validate!" -msgstr "Turite nurodyti failą, kurį tikrinti!" - -#. TRANSLATORS: List of "grey-listed" words sperated with ";" -#. * Do not translate this list directly. Instead, -#. * provide a list of words in your language that people are likely -#. * to include in a search but that should normally be ignored in -#. * the search. -#. -#: src/as-pool.c:107 -msgid "app;application;package;program;programme;suite;tool" -msgstr "programa;programėlė;aplikacija;paketas;įrankis;komplektas;rinkinys" - -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:223 -#, c-format -msgid "errors: %lu" -msgstr "klaidos: %lu" +#~ msgid "" +#~ "AppStream is a cross-distribution specification to provide metadata about " +#~ "software components." +#~ msgstr "" +#~ "AppStream yra daugiadistribucinė specifikacija, skirta pateikti " +#~ "metaduomenis apie programinės įrangos komponentus." -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:237 #, c-format -msgid "infos: %lu" -msgstr "informacijos: %lu" +#~ msgid "Unable to write to '%s', can not install metainfo file." +#~ msgstr "" +#~ "Nepavyko įrašyti į \"%s\", nepavyksta įdiegti metainformacijos failo." -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:244 #, c-format -msgid "pedantic: %lu" -msgstr "pedantiški: %lu" +#~ msgid "" +#~ "Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " +#~ "suffix." +#~ msgstr "" +#~ "Nepavyksta nukopijuoti \"%s\": Failas neturi \".metainfo.xml\" ar \"." +#~ "appdata.xml\" povardžio." -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:230 -#, c-format -msgid "warnings: %lu" -msgstr "įspėjimai: %lu" +#~ msgid "An item type (e.g. lib, bin, python3, …)" +#~ msgstr "Elemento tipas (pvz., lib, bin, python3, …)" -#~ msgid "Command '%s' is unknown." -#~ msgstr "Komanda \"%s\" yra nežinoma." +#~ msgid "Get components which provide the given item." +#~ msgstr "Gauti komponentus, kurie pateikia nurodytą elementą." -#~ msgid "Do not use any caches when performing the request." -#~ msgstr "Atliekant užklausą, nenaudoti jokių podėlių." +#, c-format +#~ msgid "Unknown command '%s'." +#~ msgstr "Nežinoma komanda \"%s\"." -#~ msgid "AppStream cache update failed." -#~ msgstr "AppStream podėlio atnaujinimas nepavyko." +#~ msgid "Value of the item that should be found." +#~ msgstr "Elemento, kuris turėtų būti rastas, reikšmė." diff -Nru appstream-0.12.10/po/meson.build appstream-0.14.5/po/meson.build --- appstream-0.12.10/po/meson.build 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/po/meson.build 2021-08-28 20:15:28.000000000 +0000 @@ -6,7 +6,7 @@ args: [ '--default-domain=' + as_gettext_domain, '--from-code=UTF-8', - '-i', '-s', '--no-wrap', '-c', + '-i', '-F', '-c', '--no-wrap', '--package-name=' + as_gettext_domain, '--copyright-holder=Matthias Klumpp', '--msgid-bugs-address=appstream@lists.freedesktop.org' diff -Nru appstream-0.12.10/po/nb.po appstream-0.14.5/po/nb.po --- appstream-0.12.10/po/nb.po 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/po/nb.po 2021-08-28 20:15:28.000000000 +0000 @@ -1,14 +1,16 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Matthias Klumpp # This file is distributed under the same license as the appstream package. -# Allan Nordhøy , 2019. +# Allan Nordhøy , 2019, 2020, 2021. +# Petter Reinholdtsen , 2020, 2021. +# Jenni Hollis , 2021. msgid "" msgstr "" "Project-Id-Version: appstream\n" "Report-Msgid-Bugs-To: appstream@lists.freedesktop.org\n" -"POT-Creation-Date: 2020-01-14 01:44+0100\n" -"PO-Revision-Date: 2019-06-17 16:22+0000\n" -"Last-Translator: Allan Nordhøy \n" +"POT-Creation-Date: 2021-08-28 16:09+0200\n" +"PO-Revision-Date: 2021-06-26 20:33+0000\n" +"Last-Translator: Petter Reinholdtsen \n" "Language-Team: Norwegian Bokmål \n" "Language: nb\n" @@ -16,116 +18,1063 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 3.7-dev\n" +"X-Generator: Weblate 4.7.1-dev\n" -#: tools/appstream-cli.c:157 -#, c-format -msgid "'%s' command" -msgstr "\"%s\"-kommando" +#: data/org.freedesktop.appstream.cli.metainfo.xml:8 +msgid "AppStream CLI" +msgstr "Kommandolinjegrensesnitt for AppStream" + +#: data/org.freedesktop.appstream.cli.metainfo.xml:9 +msgid "An utility to work with AppStream metadata" +msgstr "Et verktøy for å jobbe med AppStream-metadata" + +#: data/org.freedesktop.appstream.cli.metainfo.xml:12 +msgid "" +"AppStream is a metadata specification which permits software components to " +"provide information about themselves to automated systems and end-users " +"before the software is actually installed. The AppStream project provides " +"facilities to easily access and transform this metadata, as well as a few " +"additional services for building feature-rich software centers and similar " +"applications that make use of software metadata." +msgstr "" + +#: data/org.freedesktop.appstream.cli.metainfo.xml:18 +msgid "" +"The appstreamcli command-line tool allows to read, write, and " +"transform AppStream XML or YAML metadata as well as to validate it for " +"compliance with the specification. It also provides easy access to the " +"system metadata pool, for example to query for software that provides a " +"specific Mediatype handler or for installing software by its component " +"identifier." +msgstr "" +"Kommandolinjeverktøyet appstreamcli tillater lesing, skriving og " +"godkjenning av transformering av AppStream sin XML- eller YAML-metadata. Det " +"gir også tilgang til systemets metadatagrunnlag, for eksempel for spørringer " +"til programvare som tilbyr en spesifikk MIME-type, og installasjon av dens " +"programvarekomponentidentifikator." + +#: src/as-category.c:66 +msgctxt "Category of AudioVideo" +msgid "Featured" +msgstr "Framhevet" + +#: src/as-category.c:69 +msgctxt "Category of AudioVideo" +msgid "Audio Creation & Editing" +msgstr "Lydinnspilling og redigering" + +#: src/as-category.c:75 +msgctxt "Category of AudioVideo" +msgid "Music Players" +msgstr "Musikkspillere" + +#: src/as-category.c:84 +msgctxt "Category of Development" +msgid "Featured" +msgstr "Framhevet" + +#: src/as-category.c:87 +msgctxt "Category of Development" +msgid "Debuggers" +msgstr "Feilrettere" + +#: src/as-category.c:90 +msgctxt "Category of Development" +msgid "IDEs" +msgstr "Utviklingsmiljø" + +#: src/as-category.c:99 +msgctxt "Category of Education" +msgid "Featured" +msgstr "Framhevet" + +#: src/as-category.c:102 +msgctxt "Category of Education" +msgid "Astronomy" +msgstr "Astronomi" + +#: src/as-category.c:105 +msgctxt "Category of Education" +msgid "Chemistry" +msgstr "Kemi" + +#: src/as-category.c:108 +msgctxt "Category of Education" +msgid "Languages" +msgstr "Språk" + +#: src/as-category.c:112 +msgctxt "Category of Education" +msgid "Math" +msgstr "Matte" + +#: src/as-category.c:121 +msgctxt "Category of Games" +msgid "Featured" +msgstr "Framhevet" + +#: src/as-category.c:124 +msgctxt "Category of Games" +msgid "Action" +msgstr "Handling" + +#: src/as-category.c:127 +msgctxt "Category of Games" +msgid "Adventure" +msgstr "Eventyr" + +#: src/as-category.c:130 +msgctxt "Category of Games" +msgid "Arcade" +msgstr "Arkade" + +#: src/as-category.c:133 +msgctxt "Category of Games" +msgid "Blocks" +msgstr "Blokker" + +#: src/as-category.c:136 +msgctxt "Category of Games" +msgid "Board" +msgstr "Brett" + +#: src/as-category.c:139 +msgctxt "Category of Games" +msgid "Card" +msgstr "Kort" + +#: src/as-category.c:142 +msgctxt "Category of Games" +msgid "Emulators" +msgstr "Emulatorer" + +#: src/as-category.c:145 +msgctxt "Category of Games" +msgid "Kids" +msgstr "Barn" + +#: src/as-category.c:148 +msgctxt "Category of Games" +msgid "Logic" +msgstr "Logikk" + +#: src/as-category.c:151 +msgctxt "Category of Games" +msgid "Role Playing" +msgstr "Rollespill" + +#: src/as-category.c:154 +msgctxt "Category of Games" +msgid "Sports" +msgstr "Sport" + +#: src/as-category.c:158 +msgctxt "Category of Games" +msgid "Strategy" +msgstr "Strategi" + +#: src/as-category.c:166 +msgctxt "Category of Graphics" +msgid "Featured" +msgstr "Framhevet" + +#: src/as-category.c:169 +msgctxt "Category of Graphics" +msgid "3D Graphics" +msgstr "3D-grafikk" + +#: src/as-category.c:172 +msgctxt "Category of Graphics" +msgid "Photography" +msgstr "Fotografi" + +#: src/as-category.c:175 +msgctxt "Category of Graphics" +msgid "Scanning" +msgstr "Skanning" + +#: src/as-category.c:178 +msgctxt "Category of Graphics" +msgid "Vector Graphics" +msgstr "Vektorgrafikk" + +#: src/as-category.c:181 +msgctxt "Category of Graphics" +msgid "Viewers" +msgstr "Fremvisere" + +#: src/as-category.c:189 +msgctxt "Category of Office" +msgid "Featured" +msgstr "Framhevet" + +#: src/as-category.c:192 +msgctxt "Category of Office" +msgid "Calendar" +msgstr "Kalender" + +#: src/as-category.c:196 +msgctxt "Category of Office" +msgid "Database" +msgstr "Database" + +#: src/as-category.c:199 +msgctxt "Category of Office" +msgid "Finance" +msgstr "Finans" + +#: src/as-category.c:203 +msgctxt "Category of Office" +msgid "Word Processor" +msgstr "Tekstbehandler" + +#: src/as-category.c:212 +msgctxt "Category of Addons" +msgid "Fonts" +msgstr "Skrifter" + +#: src/as-category.c:215 +msgctxt "Category of Addons" +msgid "Codecs" +msgstr "Kodek" + +#: src/as-category.c:218 +msgctxt "Category of Addons" +msgid "Input Sources" +msgstr "Inndatakilder" + +#: src/as-category.c:221 +msgctxt "Category of Addons" +msgid "Language Packs" +msgstr "Språkpakker" + +#: src/as-category.c:224 +msgctxt "Category of Addons" +msgid "Localization" +msgstr "Lokalisering" + +#: src/as-category.c:232 +msgctxt "Category of Science" +msgid "Featured" +msgstr "Framhevet" + +#: src/as-category.c:235 +msgctxt "Category of Science" +msgid "Artificial Intelligence" +msgstr "Kunstig intelligens" + +#: src/as-category.c:238 +msgctxt "Category of Science" +msgid "Astronomy" +msgstr "Astronomi" + +#: src/as-category.c:241 +msgctxt "Category of Science" +msgid "Chemistry" +msgstr "Kemi" + +#: src/as-category.c:244 +msgctxt "Category of Science" +msgid "Math" +msgstr "Matte" + +#: src/as-category.c:249 +msgctxt "Category of Science" +msgid "Robotics" +msgstr "Robotikk" + +#: src/as-category.c:257 +msgctxt "Category of Communication" +msgid "Featured" +msgstr "Framhevet" + +#: src/as-category.c:260 +msgctxt "Category of Communication" +msgid "Chat" +msgstr "Sludring" + +#: src/as-category.c:267 +msgctxt "Category of Communication" +msgid "News" +msgstr "Nyheter" + +#: src/as-category.c:271 +msgctxt "Category of Communication" +msgid "Web Browsers" +msgstr "Nettlesere" + +#: src/as-category.c:279 +msgctxt "Category of Utility" +msgid "Featured" +msgstr "Framhevet" + +#: src/as-category.c:282 +msgctxt "Category of Utility" +msgid "Text Editors" +msgstr "Tekstbehandlere" + +#: src/as-category.c:285 +msgctxt "Category of Utility" +msgid "Terminal Emulators" +msgstr "Terminalemulatorer" + +#: src/as-category.c:288 +msgctxt "Category of Utility" +msgid "File System" +msgstr "Filsystem" + +#: src/as-category.c:291 +msgctxt "Category of Utility" +msgid "System Monitoring" +msgstr "Systemovervåkning" + +#: src/as-category.c:294 +msgctxt "Category of Utility" +msgid "Security" +msgstr "Sikkerhet" + +#. TRANSLATORS: this is the menu spec main category for Audio & Video +#: src/as-category.c:303 +msgid "Audio & Video" +msgstr "Lyd og video" + +#. TRANSLATORS: this is the menu spec main category for Development +#: src/as-category.c:306 +msgid "Developer Tools" +msgstr "Utviklerverktøy" + +#. TRANSLATORS: this is the menu spec main category for Education +#: src/as-category.c:309 +msgid "Education" +msgstr "Utdanning" + +#. TRANSLATORS: this is the menu spec main category for Game +#: src/as-category.c:312 +msgid "Games" +msgstr "Spill" + +#. TRANSLATORS: this is the menu spec main category for Graphics +#: src/as-category.c:315 +msgid "Graphics & Photography" +msgstr "Grafikk og fotografi" + +#. TRANSLATORS: this is the menu spec main category for Office +#: src/as-category.c:318 +msgid "Office" +msgstr "Kontor" + +#. TRANSLATORS: this is the main category for Add-ons +#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor +#: src/as-category.c:321 tools/ascli-utils.c:371 +msgid "Add-ons" +msgstr "Tillegg" + +#. TRANSLATORS: this is the menu spec main category for Science +#: src/as-category.c:324 +msgid "Science" +msgstr "Vitenskap" + +#. TRANSLATORS: this is the menu spec main category for Communication +#: src/as-category.c:327 +msgid "Communication & News" +msgstr "Kommunikasjon og nyheter" + +#. TRANSLATORS: this is the menu spec main category for Utilities +#: src/as-category.c:330 +msgid "Utilities" +msgstr "Verktøy" + +#. TRANSLATORS: This is the formatting of English and localized name +#. * of the rating e.g. "Adults Only (solo adultos)" +#: src/as-content-rating.c:298 +#, c-format +msgid "%s (%s)" +msgstr "%s (%s)" + +#: src/as-content-rating.c:444 +msgid "General" +msgstr "Generelt" + +#: src/as-content-rating.c:453 +msgid "ALL" +msgstr "ALLE" + +#: src/as-content-rating.c:457 src/as-content-rating.c:560 +msgid "Adults Only" +msgstr "Kun for voksne" + +#: src/as-content-rating.c:459 src/as-content-rating.c:559 +msgid "Mature" +msgstr "Moden" + +#: src/as-content-rating.c:461 src/as-content-rating.c:558 +#, fuzzy +msgid "Teen" +msgstr "Tenåring" + +#: src/as-content-rating.c:463 src/as-content-rating.c:557 +msgid "Everyone 10+" +msgstr "10+" + +#: src/as-content-rating.c:465 src/as-content-rating.c:556 +msgid "Everyone" +msgstr "Alle" + +#: src/as-content-rating.c:467 src/as-content-rating.c:555 +msgid "Early Childhood" +msgstr "Tidlig barndom" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:839 +msgid "No cartoon violence" +msgstr "Ingen tegneserievold" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:841 +msgid "Cartoon characters in unsafe situations" +msgstr "Tegnede figurer i utrygge situasjoner" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:843 +msgid "Cartoon characters in aggressive conflict" +msgstr "Tegnede figurer i aggressiv konflikt" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:845 +msgid "Graphic violence involving cartoon characters" +msgstr "Grafisk vold med tegnede figurer" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:850 +msgid "No fantasy violence" +msgstr "Ingen fantasivold" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:852 +msgid "Characters in unsafe situations easily distinguishable from reality" +msgstr "" +"Karakterer i farlige situasjoner som er enkle å skille fra virkelige " +"situasjoner" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:854 +msgid "Characters in aggressive conflict easily distinguishable from reality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:856 +msgid "Graphic violence easily distinguishable from reality" +msgstr "Grafisk vold som enkelt lar seg skille fra virkeligheten" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:861 +msgid "No realistic violence" +msgstr "Ingen realistisk vold" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:863 +msgid "Mildly realistic characters in unsafe situations" +msgstr "Lettere realistiske figurer i utrygge situasjoner" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:865 +msgid "Depictions of realistic characters in aggressive conflict" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:867 +msgid "Graphic violence involving realistic characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:872 +msgid "No bloodshed" +msgstr "Ingen blodsutgytelse" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:874 +msgid "Unrealistic bloodshed" +msgstr "Urealistisk blodsutgytelse" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:876 +msgid "Realistic bloodshed" +msgstr "Realistisk blodsutgytelse" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:878 +msgid "Depictions of bloodshed and the mutilation of body parts" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:883 +msgid "No sexual violence" +msgstr "Ingen seksuell vold" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:885 +msgid "Rape or other violent sexual behavior" +msgstr "Voldtekt eller annen voldelig seksuell oppførsel" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:892 +msgid "No references to alcohol" +msgstr "Ingen referanser til alkohol" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:894 +msgid "References to alcoholic beverages" +msgstr "Referanser til alkoholholdige drikker" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:896 +msgid "Use of alcoholic beverages" +msgstr "Bruk av alkoholholdige drikker" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:902 +msgid "No references to illicit drugs" +msgstr "Ingen referanser til ulovlig dop" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:904 +msgid "References to illicit drugs" +msgstr "Referanser til ulovlig dop" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:906 +msgid "Use of illicit drugs" +msgstr "Bru av ulovlig dop" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:912 +msgid "No references to tobacco products" +msgstr "Ingen referanser til tobakksprodukter" -#: src/as-category.c:168 -msgctxt "Category of Graphics" -msgid "3D Graphics" -msgstr "3D-grafikk" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:914 +msgid "References to tobacco products" +msgstr "Referanser til tobakksprodukter" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:254 -msgid "" -"A 'requires' or 'recommends' item requires a value to denote a valid " -"relation." +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:916 +msgid "Use of tobacco products" +msgstr "Bruk av tobakksprodukter" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:922 +msgid "No nudity of any sort" +msgstr "Ingen nakenhet av noen art" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:924 +msgid "Brief artistic nudity" +msgstr "Kortvarig kunstnerisk nakenhet" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:926 +msgid "Prolonged nudity" +msgstr "Langvarig nakenhet" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:932 +msgid "No references to or depictions of sexual nature" msgstr "" -#: src/as-validator-issue-tag.h:51 -msgid "" -"A tag must not be localized in metainfo files (upstream " -"metadata). Localize the individual paragraphs instead." +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:934 +msgid "Provocative references or depictions" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:195 -msgid "" -"A screenshot must contain at least one image or video in order to be useful. " -"Please add an to it." +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:936 +msgid "Sexual references or depictions" msgstr "" -#: src/as-validator-issue-tag.h:200 -msgid "" -"A screenshot must contain either images or videos, but not both at the same " -"time. Please use this screenshot exclusively for either static images or for " -"videos." +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:938 +msgid "Graphic sexual behavior" msgstr "" -#: src/as-category.c:123 -msgctxt "Category of Games" -msgid "Action" -msgstr "Handling" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:943 +msgid "No profanity of any kind" +msgstr "Ingen blasfemi av noen art" -#. TRANSLATORS: this is the main category for Add-ons -#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor -#: src/as-category.c:320 tools/ascli-utils.c:398 -msgid "Add-ons" -msgstr "Tillegg" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:945 +msgid "Mild or infrequent use of profanity" +msgstr "Mild eller sjelden bruk av banning" -#: src/as-category.c:126 -msgctxt "Category of Games" -msgid "Adventure" -msgstr "Eventyr" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:947 +msgid "Moderate use of profanity" +msgstr "Moderat bruk av banning" -#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) -#: tools/appstream-cli.c:116 -msgid "Also show pedantic hints." -msgstr "Vis også pedantiske tips." +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:949 +msgid "Strong or frequent use of profanity" +msgstr "Sterk eller utbredt bruk av banning" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:497 -msgid "" -"An 'extends' tag is specified, but the component is not of type 'addon', " -"'localization' or 'repository'." +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:954 +msgid "No inappropriate humor" +msgstr "Ingen upassende humor" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:956 +msgid "Slapstick humor" msgstr "" -#: tools/appstream-cli.c:850 -msgid "An item type (e.g. lib, bin, python3, …)" -msgstr "En elementtype (f.eks. lib, bin, python3, …)" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:958 +msgid "Vulgar or bathroom humor" +msgstr "" -#: data/org.freedesktop.appstream.cli.metainfo.xml:9 -msgid "An utility to work with AppStream metadata" -msgstr "Et verktøy for å jobbe med AppStream-metadata" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:960 +msgid "Mature or sexual humor" +msgstr "Voksen- eller seksuell humor" -#: data/org.freedesktop.appstream.cli.metainfo.xml:8 -msgid "AppStream CLI" -msgstr "Kommandolinjegrensesnitt for AppStream" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:965 +msgid "No discriminatory language of any kind" +msgstr "" -#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. -#: tools/appstream-cli.c:947 +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:967 +msgid "Negativity towards a specific group of people" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:969 +msgid "Discrimination designed to cause emotional harm" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:971 +msgid "Explicit discrimination based on gender, sexuality, race or religion" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:976 +msgid "No advertising of any kind" +msgstr "Ingen reklamering av noe slag" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:978 +msgid "Product placement" +msgstr "Produktplassering" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:980 +msgid "Explicit references to specific brands or trademarked products" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:982 +msgid "Users are encouraged to purchase specific real-world items" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:987 +msgid "No gambling of any kind" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:989 +msgid "Gambling on random events using tokens or credits" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:991 +msgid "Gambling using “play” money" +msgstr "Hasardspill med leketøyspenger" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:993 +msgid "Gambling using real money" +msgstr "Hasardspill med ekte penger" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:998 +msgid "No ability to spend money" +msgstr "Ingen muligheter til å bruke penger" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1000 +msgid "Users are encouraged to donate real money" +msgstr "Brukere oppfordres til å donere ekte penger" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1003 +msgid "Ability to spend real money in-app" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1008 +msgid "No way to chat with other users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1010 +msgid "User-to-user interactions without chat functionality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1012 +msgid "Moderated chat functionality between users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1014 +msgid "Uncontrolled chat functionality between users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1019 +msgid "No way to talk with other users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1021 +msgid "Uncontrolled audio or video chat functionality between users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1028 +msgid "No sharing of social network usernames or email addresses" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1030 +msgid "Sharing social network usernames or email addresses" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1037 +msgid "No sharing of user information with third parties" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1039 +msgid "Checking for the latest application version" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1041 +msgid "Sharing diagnostic data that does not let others identify the user" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1043 +msgid "Sharing information that lets others identify the user" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1048 +msgid "No sharing of physical location with other users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1050 +msgid "Sharing physical location with other users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1073 +msgid "No references to homosexuality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1075 +msgid "Indirect references to homosexuality" +msgstr "Indirekte referanser til homoseksualitet" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1077 +msgid "Kissing between people of the same gender" +msgstr "Kyssing mellom to personer av samme kjønn" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1079 +msgid "Graphic sexual behavior between people of the same gender" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1084 +msgid "No references to prostitution" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1086 +msgid "Indirect references to prostitution" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1088 +msgid "Direct references to prostitution" +msgstr "Direkte referanser til prostitusjon" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1090 +msgid "Graphic depictions of the act of prostitution" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1095 +msgid "No references to adultery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1097 +msgid "Indirect references to adultery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1099 +msgid "Direct references to adultery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1101 +msgid "Graphic depictions of the act of adultery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1106 +msgid "No sexualized characters" +msgstr "Ingen seksualiserte personer" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1109 +msgid "Scantily clad human characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1111 +msgid "Overtly sexualized human characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1116 +msgid "No references to desecration" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1118 +msgid "Depictions of or references to historical desecration" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1120 +msgid "Depictions of modern-day human desecration" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1122 +msgid "Graphic depictions of modern-day desecration" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1127 +msgid "No visible dead human remains" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1129 +msgid "Visible dead human remains" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1131 +msgid "Dead human remains that are exposed to the elements" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1133 +msgid "Graphic depictions of desecration of human bodies" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1138 +msgid "No references to slavery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1140 +msgid "Depictions of or references to historical slavery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1142 +msgid "Depictions of modern-day slavery" +msgstr "Framstillinger av nåtidsslaveri" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1144 +msgid "Graphic depictions of modern-day slavery" +msgstr "Visuell framstilling av nåtidsslaveri" + +#. TRANSLATORS: We got a 429 error while trying to download data +#: src/as-curl.c:134 +#, c-format +msgid "Failed to download due to server limit" +msgstr "" + +#: src/as-curl.c:141 src/as-curl.c:148 +#, fuzzy, c-format +msgid "Failed to download file: %s" +msgstr "Klarte ikke å lese .desktop-fila: %s" + +#. TRANSLATORS: We tried to download an URL, but received a 404 error code +#: src/as-curl.c:157 +#, c-format +msgid "URL was not found on the server." +msgstr "" + +#. TRANSLATORS: We received an uexpected HTTP status code while talking to a server, likely an error +#: src/as-curl.c:164 +#, c-format +msgid "Unexpected status code: %ld" +msgstr "" + +#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty +#: src/as-curl.c:247 +#, c-format +msgid "Retrieved file size was zero." +msgstr "Innhentet filstørrelse er null." + +#. TRANSLATORS: List of "grey-listed" words sperated with ";" +#. * Do not translate this list directly. Instead, +#. * provide a list of words in your language that people are likely +#. * to include in a search but that should normally be ignored in +#. * the search. +#. +#: src/as-pool.c:111 +msgid "app;application;package;program;programme;suite;tool" +msgstr "app;applikasjon;program;pakke;programvarepakke;verktøy;redskap" + +#: src/as-pool.c:620 +msgid "Unable to remove old cache." +msgstr "Kunne ikke fjerne gammelt hurtiglager." + +#: src/as-pool.c:963 +msgid "Metadata files have errors:" +msgstr "Feil i metadatafiler:" + +#: src/as-pool.c:1370 +msgid "" +"Many components have been recognized as invalid. See debug output for " +"details." +msgstr "" +"Mange komponenter har blitt funnet ugyldige. Se feilrettingsutdataen for " +"detaljer." + +#: src/as-pool.c:1996 #, c-format +msgid "Cache location '%s' is not writable." +msgstr "Hurtiglagerplasseringen \"%s\" er ikke skrivbar." + +#: src/as-pool.c:2109 +#, fuzzy msgid "" -"AppStream CLI tool version: %s\n" -"AppStream library version: %s" +"The AppStream system cache was updated, but some components were ignored. " +"Refer to the verbose log for more information." msgstr "" -"Versjon av kommandolinjegrensesnitt for AppStream: %s\n" -"Versjon av AppStream-bibliotek: %s" +"AppStreams systemhurtiglager ble oppdatert, dog ble noen problemer oppdaget, " +"som kan føre til manglende metadata. Henvend deg til den sirlige loggen for " +"mer informasjon." + +#: src/as-pool.c:2111 +#, fuzzy, c-format +msgid "" +"The AppStream system cache was updated, but problems were found which " +"resulted in metadata being ignored: %s" +msgstr "AppStream-systemhurtiglager oppdatert, dog ikke uten problemer: %s" + +#: src/as-pool.c:2125 +#, fuzzy, c-format +msgid "" +"AppStream system cache refresh failed. Turn on verbose mode to get detailed " +"issue information." +msgstr "" +"Oppdatering av AppStream-hurtiglager mislyktes. Skru på ordrikt modus for å " +"få mer detaljert feilinformasjon." + +#: src/as-provided.c:144 +msgid "Libraries" +msgstr "Bibliotek" + +#: src/as-provided.c:146 +msgid "Binaries" +msgstr "Binærfiler" + +#: src/as-provided.c:148 +#, fuzzy +msgid "Media types" +msgstr "MIME-typer" + +#: src/as-provided.c:150 +msgid "Fonts" +msgstr "Skrifter" + +#: src/as-provided.c:152 +msgid "Modaliases" +msgstr "Modalias" + +#: src/as-provided.c:154 +msgid "Python (Version 2)" +msgstr "Python (versjon 2)" + +#: src/as-provided.c:156 +msgid "Python 3" +msgstr "Python 3" + +#: src/as-provided.c:158 +#, fuzzy +msgid "D-Bus System Services" +msgstr "DBus-systemtjenester" + +#: src/as-provided.c:160 +#, fuzzy +msgid "D-Bus Session Services" +msgstr "DBus-økttjenester" + +#: src/as-provided.c:162 +msgid "Runtime Firmware" +msgstr "Kjøretids-fastvare" + +#: src/as-provided.c:164 +msgid "Flashed Firmware" +msgstr "Innbrent fastvare" -#. TRANSLATORS: In the status report of ascli: Header -#: tools/ascli-actions-misc.c:47 -msgid "AppStream Status:" -msgstr "AppStream-status:" +#: src/as-provided.c:166 +msgid "Component" +msgstr "Komponent" -#. we performed a cache refresh -#. TRANSLATORS: Updating the metadata cache succeeded -#: tools/ascli-actions-mdata.c:80 -msgid "AppStream cache update completed successfully." -msgstr "Metadata i AppStream-hurtiglager oppdatert." +#: src/as-validator-issue-tag.h:41 +msgid "This tag requires a type property." +msgstr "" -#. cache wasn't updated, so the update wasn't necessary -#: tools/ascli-actions-mdata.c:86 -msgid "AppStream cache update is not necessary." -msgstr "AppStream-oppdatering var ikke nødvendig." +#: src/as-validator-issue-tag.h:46 +msgid "Tags of this name are not permitted in this section." +msgstr "" -#. TRANSLATORS: This is the header to the --help menu for subcommands -#. TRANSLATORS: This is the header to the --help menu -#: tools/appstream-cli.c:154 tools/appstream-cli.c:843 -msgid "AppStream command-line interface" -msgstr "Kommandolinjegrensesnitt for AppStream" +#: src/as-validator-issue-tag.h:51 +msgid "" +"A tag must not be localized in metainfo files (upstream " +"metadata). Localize the individual paragraphs instead." +msgstr "" + +#: src/as-validator-issue-tag.h:57 +msgid "" +"This element (paragraph, list, etc.) of a tag must not be " +"localized individually in collection metadata. Localize the whole " +" tag instead. The AppStream collection metadata generator (e." +"g. `appstream-generator`) will already do the right thing when compiling the " +"data." +msgstr "" #: src/as-validator-issue-tag.h:63 msgid "" @@ -135,39 +1084,29 @@ "supporting the metainfo specification." msgstr "" -#: data/org.freedesktop.appstream.cli.metainfo.xml:12 -#, fuzzy +#: src/as-validator-issue-tag.h:69 msgid "" -"AppStream is a cross-distribution specification to provide metadata about " -"software components." +"This description paragraph contains invalid markup. Currently, only " +"and are permitted." msgstr "" -"AppStream er spesifikasjon for flere distribusjoner som tilbyr metadata om " -"programvarekomponenter." -#: src/as-pool.c:1937 -#, fuzzy, c-format -msgid "" -"AppStream system cache refresh failed. Turn on verbose mode to get detailed " -"issue information." +#: src/as-validator-issue-tag.h:74 +msgid "Enumerations must only have list items (
                                                                                                                                                                                                                                                          3. ) as children." msgstr "" -"Oppdatering av AppStream-hurtiglager mislyktes. Skru på ordrikt modus for å " -"få mer detaljert feilinformasjon." - -#. TRANSLATORS: Output if appstreamcli --version is executed. -#: tools/appstream-cli.c:944 -#, c-format -msgid "AppStream version: %s" -msgstr "AppStream-versjon: %s" -#: src/as-category.c:129 -msgctxt "Category of Games" -msgid "Arcade" -msgstr "Arkade" +#: src/as-validator-issue-tag.h:79 +msgid "" +"The first `description/p` paragraph of this component might be too short (< " +"80 characters). Please consider starting with a longer paragraph to improve " +"how the description looks like in software centers and to provide more " +"detailed information on this component immediately in the first paragraph." +msgstr "" -#: src/as-category.c:234 -msgctxt "Category of Science" -msgid "Artificial Intelligence" -msgstr "Kunstig intelligens" +#: src/as-validator-issue-tag.h:86 +msgid "" +"The description contains a web URL in plain text. This is not allowed, " +"please use the tag instead to share links." +msgstr "" #: src/as-validator-issue-tag.h:91 msgid "" @@ -175,1703 +1114,1698 @@ "this context. Having multiple tags of this kind is not valid." msgstr "" -#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command -#: tools/appstream-cli.c:766 -msgid "Assume the input file is in the selected format ('yaml' or 'text')." +#: src/as-validator-issue-tag.h:96 +msgid "" +"The mentioned tag is empty, which is highly likely not intended as it should " +"have content." msgstr "" -#: src/as-category.c:101 -msgctxt "Category of Education" -msgid "Astronomy" -msgstr "Astronomi" +#: src/as-validator-issue-tag.h:101 +msgid "" +"The component ID is required to follow a reverse domain-name scheme for its " +"name. See the AppStream specification for details." +msgstr "" -#: src/as-category.c:237 -msgctxt "Category of Science" -msgid "Astronomy" -msgstr "Astronomi" +#: src/as-validator-issue-tag.h:106 +msgid "" +"The component ID is not a reverse domain-name. Please update the ID to avoid " +"future issues and be compatible with all AppStream implementations.\n" +"You may also consider to update the name of the accompanying .desktop file " +"to follow the latest version of the Desktop-Entry specification and use a " +"rDNS name for it as well. In any case, do not forget to mention the new " +"desktop-entry in a tag for this component to keep the " +"application launchable from software centers and the .desktop file data " +"associated with the metainfo data." +msgstr "" -#. TRANSLATORS: this is the menu spec main category for Audio & Video -#: src/as-category.c:302 -msgid "Audio & Video" -msgstr "Lyd og video" +#: src/as-validator-issue-tag.h:114 +msgid "" +"The component ID might not follow the reverse domain-name schema (the TLD " +"used by it is not known to the validator)." +msgstr "" -#: src/as-category.c:68 -msgctxt "Category of AudioVideo" -msgid "Audio Creation & Editing" -msgstr "Lydinnspilling og redigering" +#: src/as-validator-issue-tag.h:119 +msgid "" +"The component ID contains an invalid character. Only ASCII characters, dots " +"and numbers are permitted." +msgstr "" -#: tools/ascli-actions-misc.c:219 -#, c-format -msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." +#: src/as-validator-issue-tag.h:124 +msgid "" +"The component ID contains a hyphen/minus. Using a hyphen is strongly " +"discouraged, to improve interoperability with other tools such as D-Bus. A " +"good option is to replace any hyphens with underscores (`_`)." msgstr "" -#: src/as-provided.c:146 -msgid "Binaries" -msgstr "Binærfiler" +#: src/as-validator-issue-tag.h:130 +msgid "" +"The component ID contains a segment starting with a number. Starting a " +"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " +"interoperability with other tools such as D-Bus. Ideally, prefix these " +"segments with an underscore." +msgstr "" -#: src/as-category.c:132 -msgctxt "Category of Games" -msgid "Blocks" -msgstr "Blokker" +#: src/as-validator-issue-tag.h:136 +msgid "The component ID should only contain lowercase letters." +msgstr "" -#: src/as-category.c:135 -msgctxt "Category of Games" -msgid "Board" -msgstr "Brett" +#: src/as-validator-issue-tag.h:141 +msgid "" +"The component is part of the Freedesktop project, but its ID does not start " +"with fd.o's reverse-DNS name (\"org.freedesktop\")." +msgstr "" -#: tools/ascli-utils.c:299 -msgid "Bundle" -msgstr "Programvarepakke" +#: src/as-validator-issue-tag.h:146 +msgid "" +"The component is part of the KDE project, but its ID does not start with " +"KDEs reverse-DNS name (\"org.kde\")." +msgstr "" -#: src/as-pool.c:1828 -#, c-format -msgid "Cache location '%s' is not writable." -msgstr "Hurtiglagerplasseringen \"%s\" er ikke skrivbar." +#: src/as-validator-issue-tag.h:151 +msgid "" +"The component is part of the GNOME project, but its ID does not start with " +"GNOMEs reverse-DNS name (\"org.gnome\")." +msgstr "" -#: src/as-category.c:191 -msgctxt "Category of Office" -msgid "Calendar" -msgstr "Kalender" +#: src/as-validator-issue-tag.h:156 +msgid "The SPDX license expression is invalid and could not be parsed." +msgstr "" -#: tools/ascli-actions-mdata.c:327 -#, c-format +#: src/as-validator-issue-tag.h:161 msgid "" -"Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " -"suffix." +"The license ID was not found in the SPDX database. Please check that the " +"license ID is written in an SPDX-conformant way and is a valid free software " +"license." msgstr "" -"Kan ikke kopiere \"%s\": Fila har ikke en \".metainfo.xml\"- eller \"." -"appdata.xml\"-endelse." - -#: src/as-category.c:138 -msgctxt "Category of Games" -msgid "Card" -msgstr "Kort" -#: tools/ascli-utils.c:369 -msgid "Categories" -msgstr "Kategorier" +#: src/as-validator-issue-tag.h:167 +msgid "" +"The metadata itself seems to be licensed under a complex collection of " +"licenses. Please license the data under a simple permissive license, like " +"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " +"collections without the risk of license violations due to mutually " +"incompatible licenses." +msgstr "" -#: src/as-category.c:259 -msgctxt "Category of Communication" -msgid "Chat" -msgstr "Sludring" +#: src/as-validator-issue-tag.h:173 +msgid "" +"The metadata itself does not seem to be licensed under a permissive license. " +"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " +"0BSD to allow distributors to include it in mixed data collections without " +"the risk of license violations due to mutually incompatible licenses." +msgstr "" -#: src/as-category.c:104 -msgctxt "Category of Education" -msgid "Chemistry" -msgstr "Kemi" +#: src/as-validator-issue-tag.h:179 +msgid "" +"The update-contact does not appear to be a valid email address (escaping of " +"`@` is only allowed as `_at_` or `_AT_`)." +msgstr "" -#: src/as-category.c:240 -msgctxt "Category of Science" -msgid "Chemistry" -msgstr "Kemi" +#: src/as-validator-issue-tag.h:184 +msgid "" +"Unable to reach the screenshot image on its remote location - does the image " +"exist?" +msgstr "" -#: src/as-category.c:214 -msgctxt "Category of Addons" -msgid "Codecs" -msgstr "Kodek" +#: src/as-validator-issue-tag.h:189 +msgid "" +"Unable to reach the screenshot video on its remote location - does the video " +"file exist?" +msgstr "" -#. TRANSLATORS: this is the menu spec main category for Communication -#: src/as-category.c:326 -msgid "Communication & News" -msgstr "Kommunikasjon og nyheter" +#: src/as-validator-issue-tag.h:194 +msgid "" +"Consider using a secure (HTTPS) URL to reference this screenshot image or " +"video." +msgstr "" -#: tools/appstream-cli.c:866 -msgid "Compare two version numbers." -msgstr "Sammenlign to versjonsnummer." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:200 +msgid "" +"A screenshot must contain at least one image or video in order to be useful. " +"Please add an to it." +msgstr "" -#: src/as-provided.c:166 -msgid "Component" -msgstr "Komponent" +#: src/as-validator-issue-tag.h:205 +msgid "" +"A screenshot must contain either images or videos, but not both at the same " +"time. Please use this screenshot exclusively for either static images or for " +"videos." +msgstr "" -#. TRANSLATORS: We found no distribution package or bundle to install to make this software available -#: tools/ascli-actions-pkgmgr.c:106 -#, c-format -msgid "Component '%s' has no installation candidate." -msgstr "Komponenten \"%s\" har ingen installasjonskandidat." +#: src/as-validator-issue-tag.h:211 +msgid "The screenshot does not have a caption text. Consider adding one." +msgstr "" -#: tools/ascli-utils.c:377 -msgid "Compulsory for" -msgstr "Obligatorisk for" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:217 +msgid "" +"The screenshot video does not specify which video codec was used in a " +"`codec` property." +msgstr "" -#: src/as-validator-issue-tag.h:361 -msgid "Consider using a secure (HTTPS) URL for the remote icon link." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:223 +msgid "" +"The screenshot video does not specify which container format was used in a " +"`container` property." msgstr "" -#: src/as-validator-issue-tag.h:383 -msgid "Consider using a secure (HTTPS) URL for this web link." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:229 +msgid "" +"The selected video codec is not supported by AppStream and software centers " +"may not be able to play the video. Only the AV1 and VP9 codecs are currently " +"supported, using `av1` and `vp9` as values for the `codec` property." msgstr "" -#: src/as-validator-issue-tag.h:189 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:236 msgid "" -"Consider using a secure (HTTPS) URL to reference this screenshot image or " -"video." +"The selected video container format is not supported by AppStream and " +"software centers may not be able to play the video. Only the WebM and " +"Matroska video containers are currently supported, using `webm` and `mkv` as " +"values for the `container` property." msgstr "" -#: tools/appstream-cli.c:870 -msgid "Convert a YAML or text NEWS file into metainfo releases." +#: src/as-validator-issue-tag.h:242 +msgid "" +"For videos, only the WebM and Matroska (.mkv) container formats are " +"currently supported. The file extension of the referenced video does not " +"belong to either of these formats." msgstr "" -#. TRANSLATORS: "convert" command in ascli. "Collection XML" is a term describing a specific type of AppStream XML data. -#: tools/appstream-cli.c:865 -msgid "Convert collection XML to YAML or vice versa." -msgstr "Konverter XML-samling til YAML og vice versa." - -#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results -#: tools/ascli-actions-mdata.c:228 -#, c-format -msgid "Could not find component providing '%s::%s'." -msgstr "Kunne ikke finne komponenten som tilbyr \"%s::%s\"." - -#: tools/appstream-cli.c:869 -msgid "Create a XDG desktop-entry file from a metainfo file." +#: src/as-validator-issue-tag.h:248 +msgid "" +"The default screenshot of a software component must not be a video. Use a " +"static image as default screenshot and set the video as a secondary " +"screenshot." msgstr "" -#: tools/appstream-cli.c:868 +#: src/as-validator-issue-tag.h:253 msgid "" -"Create a template for a metainfo file (to be filled out by the upstream " -"project)." +"Found an unknown tag in a requires/recommends group. This is likely an " +"error, because a component relation of this type is unknown." msgstr "" -"Opprett en map for ei metainfofil (for senere utfylling av prosjektet " -"oppstrøms)." -#: tools/ascli-actions-misc.c:228 -#, c-format -msgid "Creating new desktop-entry file '%s' using data from '%s'" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:259 +msgid "" +"A `requires` or `recommends` item requires a value to denote a valid " +"relation." msgstr "" -#: src/as-provided.c:160 -#, fuzzy -msgid "D-Bus Session Services" -msgstr "DBus-økttjenester" - -#: src/as-provided.c:158 -#, fuzzy -msgid "D-Bus System Services" -msgstr "DBus-systemtjenester" - -#: src/as-category.c:195 -msgctxt "Category of Office" -msgid "Database" -msgstr "Database" - -#: src/as-category.c:86 -msgctxt "Category of Development" -msgid "Debuggers" -msgstr "Feilrettere" - -#: tools/ascli-utils.c:353 -msgid "Default Screenshot URL" -msgstr "Forvalgt nettadresse for skjermavbildning" - -#. TRANSLATORS: ascli flag description for: --format -#: tools/appstream-cli.c:83 -msgid "Default metadata format (valid values are 'xml' and 'yaml')." -msgstr "Forvalgt metadataformat (gyldige verdier er \"xml\" og \"yaml\")." - -#: tools/ascli-utils.c:333 -msgid "Description" -msgstr "Beskrivelse" +#. TRANSLATORS: `version` is an AppStream XML property. Please do not translate it. +#: src/as-validator-issue-tag.h:265 +msgid "" +"Found `version` property on required/recommended item of a type that should " +"not have or require a version." +msgstr "" -#. developer name -#: tools/ascli-utils.c:321 -msgid "Developer" -msgstr "Utvikler" +#. TRANSLATORS: `version` and `compare` are AppStream XML properties. Please do not translate them. +#: src/as-validator-issue-tag.h:271 +msgid "" +"Found `version` property on this required/recommended item, but not " +"`compare` property. It is recommended to explicitly define a comparison " +"operation." +msgstr "" -#. TRANSLATORS: this is the menu spec main category for Development -#: src/as-category.c:305 -msgid "Developer Tools" -msgstr "Utviklerverktøy" +#: src/as-validator-issue-tag.h:276 +msgid "" +"Invalid comparison operation on relation item. Only eq/ne/lt/gt/le/ge are " +"permitted." +msgstr "" -#: tools/appstream-cli.c:862 -msgid "Display status information about available AppStream metadata." -msgstr "Statusinformasjon om tilgjengelig AppStream-metadata." +#: src/as-validator-issue-tag.h:281 +msgid "" +"The relation item has a comparison operation set, but does not support any " +"comparisons." +msgstr "" -#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions -#: tools/ascli-actions-misc.c:52 -msgid "Distribution metadata:" -msgstr "Distribusjons-metadata:" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:287 +msgid "" +"Found a memory size relation in a `requires` tag. This means users will not " +"be able to even install the component without having enough RAM. This is " +"usually not intended and you want to use `memory` in the `recommends` tag " +"instead." +msgstr "" -#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) -#: tools/appstream-cli.c:126 -msgid "Do not use network access." -msgstr "Ikke bruk nettverkstilgang." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:294 +msgid "" +"Found a user input control relation in a `requires` tag. This means users " +"will not be able to even install the component without having the defined " +"input control available on the system. This is usually not intended and you " +"want to use `control` in the `recommends` tag instead." +msgstr "" -#. TRANSLATORS: ascli flag description for: --no-color -#: tools/appstream-cli.c:908 -msgid "Don't show colored output." -msgstr "Ikke vis fargelagt utdata." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:301 +msgid "" +"This `control` item defines an unknown input method and is invalid. Check " +"the specification for a list of permitted values." +msgstr "" -#: tools/appstream-cli.c:853 -msgid "Dump raw XML metadata for a component matching the ID." -msgstr "Dumpa rå XML-metadata for en komponent som samsvarer med ID-en." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:307 +msgid "" +"This `display_length` item contains an invalid display length. Its value " +"must either be a shorthand string, or positive integer value denoting " +"logical pixels. Please refer to the AppStream specification for more " +"information on this tag." +msgstr "" -#. TRANSLATORS: this is the menu spec main category for Education -#: src/as-category.c:308 -msgid "Education" -msgstr "Utdanning" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:314 +msgid "" +"This `side` property of this `display_length` item contains an invalid " +"value. It must either be `shortest` or `longest`, or unset to imply " +"`shortest` to make the item value refer to either the shortest or longest " +"side of the display." +msgstr "" -#. TRANSLATORS: No metainfo files have been found -#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 -msgid "Empty." -msgstr "Tom." +#: src/as-validator-issue-tag.h:320 +msgid "" +"The set component type is not a recognized, valid AppStream component type." +msgstr "" +"Den angitte komponentypen er ikke en kjent, gyldig AppStream-komponenttype." -#: src/as-category.c:141 -msgctxt "Category of Games" -msgid "Emulators" -msgstr "Emulatorer" +#: src/as-validator-issue-tag.h:325 +msgid "" +"The component has a priority value set. This is not allowed in metainfo " +"files." +msgstr "" -#. TRANSLATORS: ascli flag description for: --force -#: tools/appstream-cli.c:245 -msgid "Enforce a cache refresh." -msgstr "Tving gjennom en oppdatering av hurtiglageret." +#: src/as-validator-issue-tag.h:330 +msgid "" +"The component has a `merge` method defined. This is not allowed in metainfo " +"files." +msgstr "" -#: src/as-validator-issue-tag.h:74 -msgid "Enumerations must only have list items (
                                                                                                                                                                                                                                                          4. ) as children." +#: src/as-validator-issue-tag.h:335 +msgid "The component is missing an ID ( tag)." msgstr "" -#: tools/ascli-actions-misc.c:159 -#, c-format -msgid "Error while loading the metadata pool: %s" -msgstr "Feil under innlasting av metadatagrunnlag: %s" +#: src/as-validator-issue-tag.h:340 +msgid "The component is missing a name ( tag)." +msgstr "" -#: tools/ascli-utils.c:327 -msgid "Extends" -msgstr "Utvider" +#: src/as-validator-issue-tag.h:345 +msgid "The component is missing a summary ( tag)." +msgstr "" -#: src/as-category.c:65 -msgctxt "Category of AudioVideo" -msgid "Featured" -msgstr "Framhevet" +#: src/as-validator-issue-tag.h:350 +msgid "" +"The tag still contains a `type` property, probably from an old " +"conversion to the recent metainfo format." +msgstr "" -#: src/as-category.c:256 -msgctxt "Category of Communication" -msgid "Featured" -msgstr "Framhevet" +#: src/as-validator-issue-tag.h:355 +msgid "" +"The `pkgname` tag appears multiple times. You should evaluate creating a " +"metapackage containing the metainfo and .desktop files in order to avoid " +"defining multiple package names per component." +msgstr "" -#: src/as-category.c:83 -msgctxt "Category of Development" -msgid "Featured" -msgstr "Framhevet" +#: src/as-validator-issue-tag.h:360 +msgid "The component name should (likely) not end with a dot (`.`)." +msgstr "" -#: src/as-category.c:98 -msgctxt "Category of Education" -msgid "Featured" -msgstr "Framhevet" +#: src/as-validator-issue-tag.h:365 +msgid "The component summary should not end with a dot (`.`)." +msgstr "" -#: src/as-category.c:120 -msgctxt "Category of Games" -msgid "Featured" -msgstr "Framhevet" +#: src/as-validator-issue-tag.h:370 +msgid "The component summary must not contain tabs or linebreaks." +msgstr "" -#: src/as-category.c:165 -msgctxt "Category of Graphics" -msgid "Featured" -msgstr "Framhevet" +#: src/as-validator-issue-tag.h:375 +msgid "The summary must not contain any URL. Use the tags for links." +msgstr "" -#: src/as-category.c:188 -msgctxt "Category of Office" -msgid "Featured" -msgstr "Framhevet" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:381 +msgid "" +"Icons of type `stock` or `cached` must not contain an URL, a full or an " +"relative path to the icon. Only file basenames or stock names are allowed." +msgstr "" -#: src/as-category.c:231 -msgctxt "Category of Science" -msgid "Featured" -msgstr "Framhevet" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:388 +msgid "Icons of type `remote` must contain an URL to the referenced icon." +msgstr "" -#: src/as-category.c:278 -msgctxt "Category of Utility" -msgid "Featured" -msgstr "Framhevet" +#: src/as-validator-issue-tag.h:393 +msgid "Unable to reach remote icon at the given web location - does it exist?" +msgstr "" -#: tools/ascli-actions-validate.c:171 tools/ascli-actions-validate.c:349 -#, fuzzy, c-format -msgid "File '%s' does not exist." -msgstr "Metadatafilen \"%s\" finnes ikke." +#: src/as-validator-issue-tag.h:398 +msgid "Consider using a secure (HTTPS) URL for the remote icon link." +msgstr "" +"Overvei å bruke en sikret (HTTPS-) nettadresse for ikonlenken annensteds fra." -#: src/as-category.c:287 -msgctxt "Category of Utility" -msgid "File System" -msgstr "Filsystem" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:404 +msgid "" +"Metainfo files may only contain icons of type `stock` or `remote`, the set " +"type is not allowed." +msgstr "" -#: src/as-category.c:198 -msgctxt "Category of Office" -msgid "Finance" -msgstr "Finans" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:410 +msgid "" +"Invalid `type` property for this `url` tag. URLs of this type are not known " +"in the AppStream specification." +msgstr "" -#: src/as-provided.c:164 -msgid "Flashed Firmware" -msgstr "Innbrent fastvare" +#: src/as-validator-issue-tag.h:415 +msgid "" +"Unable to reach remote location that this URL references - does it exist?" +msgstr "" -#: src/as-provided.c:150 -msgid "Fonts" -msgstr "Skrifter" +#: src/as-validator-issue-tag.h:420 +msgid "Consider using a secure (HTTPS) URL for this web link." +msgstr "" -#: src/as-category.c:211 -msgctxt "Category of Addons" -msgid "Fonts" -msgstr "Skrifter" +#: src/as-validator-issue-tag.h:425 +msgid "A web URL was expected for this value." +msgstr "" -#: src/as-validator-issue-tag.h:237 +#: src/as-validator-issue-tag.h:430 msgid "" -"For videos, only the WebM and Matroska (.mkv) container formats are " -"currently supported. The file extension of the referenced video does not " -"belong to either of these formats." +"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." msgstr "" -#. TRANSLATORS: ascli flag description for: --format when validating XML files -#: tools/appstream-cli.c:131 +#: src/as-validator-issue-tag.h:435 #, fuzzy -msgid "Format of the generated report (valid values are 'text' and 'yaml')." -msgstr "Forvalgt metadataformat (gyldige verdier er \"xml\" og \"yaml\")." - -#. TRANSLATORS: Found metainfo files in legacy directories -#: tools/ascli-actions-misc.c:138 -#, c-format -msgid "Found %i components in legacy paths." -msgstr "Fant %i komponenter på gjengrodde stier." - -#: tools/ascli-actions-misc.c:123 -#, c-format -msgid "Found %i components." -msgstr "Fant %i komponenter." +msgid "The can not contain a hyperlink." +msgstr " kan ikke inneholde en hyperlenke." -#. TRANSLATORS: 'version' is an AppStream XML property. Please do not translate it. -#: src/as-validator-issue-tag.h:260 +#: src/as-validator-issue-tag.h:440 msgid "" -"Found 'version' property on required/recommended item of a type that should " -"not have or require a version." +"The set value is not an identifier for a desktop environment as registered " +"with Freedesktop.org." msgstr "" -#. TRANSLATORS: 'version' and 'compare' are AppStream XML properties. Please do not translate them. -#: src/as-validator-issue-tag.h:266 -msgid "" -"Found 'version' property on this required/recommended item, but not " -"'compare' property. It is recommended to explicitly define a comparison " -"operation." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:446 +msgid "This `launchable` tag has an unknown type and can not be used." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:452 +msgid "This `bundle` tag has an unknown type and can not be used." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:277 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:458 msgid "" -"Found a memory size dependency in a 'requires' tag. This means users will " -"not be able to even install the component without having enough RAM. This is " -"usually not intended and you want to use 'memory' in the 'recommends' tag " -"instead." +"The `update_contact` tag should not be included in collection AppStream XML." msgstr "" -#: src/as-validator-issue-tag.h:248 +#: src/as-validator-issue-tag.h:463 msgid "" -"Found an unknown tag in a requires/recommends group. This is likely an " -"error, because a component relation of this type is unknown." +"This tag is a GNOME-specific extension to AppStream and not part of the " +"official specification. Do not expect it to work in all implementations and " +"in all software centers." msgstr "" -#: src/as-validator-issue-tag.h:427 +#: src/as-validator-issue-tag.h:469 msgid "" -"Found invalid tag. Non-standard tags should be prefixed with 'x-'. AppStream " +"Found invalid tag. Non-standard tags should be prefixed with `x-`. AppStream " "also provides the tag to add arbitrary custom data to metainfo " "files. This tag is read by AppStream libraries and may be useful instead of " -"defining new custom toplevel or 'x-'-prefixed tags if you just want to add " +"defining new custom toplevel or `x-`-prefixed tags if you just want to add " "custom data to a metainfo file." msgstr "" -#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. -#: src/as-validator.c:526 src/as-validator.c:939 src/as-validator.c:1024 -#: src/as-validator.c:1237 -#, c-format -msgid "Found: %s - Allowed: %s" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:477 +msgid "" +"The essential tag `metadata_license` is missing. A license for the metadata " +"itself always has to be defined." msgstr "" -#. TRANSLATORS: this is the menu spec main category for Game -#: src/as-category.c:311 -msgid "Games" -msgstr "Spill" - -#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command -#: tools/appstream-cli.c:814 -msgid "Generate the output in the selected format ('yaml' or 'text')." +#: src/as-validator-issue-tag.h:482 +msgid "" +"The component is missing a long description. Components of this type must " +"have a long description." msgstr "" -#: tools/appstream-cli.c:849 -msgid "Get components which provide the given item." -msgstr "Hent inn komponentene som tilbyr det gitte elementet." - -#: tools/appstream-cli.c:848 -msgid "Get information about a component by its ID." -msgstr "Hent informasjon om en komponent gitt av dens ID." - -#. TRANSLATORS: this is the menu spec main category for Graphics -#: src/as-category.c:314 -msgid "Graphics & Photography" -msgstr "Grafikk og fotografi" +#: src/as-validator-issue-tag.h:487 +msgid "" +"It would be useful to add a long description to this font to present it " +"better to users." +msgstr "" -#: tools/ascli-utils.c:300 -msgid "Homepage" -msgstr "Hjemmeside" +#: src/as-validator-issue-tag.h:492 +msgid "" +"It is recommended to add a long description to this component to present it " +"better to users." +msgstr "" -#: src/as-category.c:89 -msgctxt "Category of Development" -msgid "IDEs" -msgstr "Utviklingsmiljø" +#: src/as-validator-issue-tag.h:497 +msgid "" +"This generic component is missing a long description. It may be useful to " +"add one." +msgstr "" +"Denne generiske komponenten mangler en lang beskrivelse. Det kan være nyttig " +"å legge det til." -#: tools/ascli-utils.c:301 -msgid "Icon" -msgstr "Ikon" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:503 +msgid "" +"Type `console-application` component, but no information about binaries in " +"$PATH was provided via a `provides/binary` tag." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:351 -msgid "Icons of type 'remote' must contain an URL to the referenced icon." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:509 +msgid "" +"This `web-application` component is missing a `launchable` tag of type `url`." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:344 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:515 msgid "" -"Icons of type 'stock' or 'cached' must not contain an URL, a full or an " -"relative path to the icon. Only file basenames or stock names are allowed." +"This `web-application` component is missing a `icon` tag to specify a valid " +"icon." msgstr "" -#: tools/ascli-actions-misc.c:94 -msgid "Iconsets" -msgstr "Ikonsett" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:521 +msgid "" +"This `web-application` component is missing categorizations. A `categories` " +"block is likely missing." +msgstr "" -#: tools/ascli-utils.c:295 -msgid "Identifier" -msgstr "Identifikator" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:527 +msgid "" +"Type `font` component, but no font information was provided via a `provides/" +"font` tag." +msgstr "" -#: src/as-category.c:217 -msgctxt "Category of Addons" -msgid "Input Sources" -msgstr "Inndatakilder" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:533 +msgid "" +"Type `driver` component, but no modalias information was provided via a " +"`provides/modalias` tag." +msgstr "" -#: tools/appstream-cli.c:863 -msgid "Install a metadata file into the right location." -msgstr "Installer ei metadatafil på rett plass." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:539 +msgid "" +"An `extends` tag is specified, but the component is not of type `addon`, " +"`localization` or `repository`." +msgstr "" -#: tools/appstream-cli.c:859 -msgid "Install software matching the component-ID." -msgstr "Installer programvare som samsvarer med komponent-ID-en." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:545 +msgid "The component is an addon, but no `extends` tag was specified." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:373 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:551 msgid "" -"Invalid 'type' property for this 'url' tag. URLs of this type are not known " -"in the AppStream specification." +"This `localization` component is missing an `extends` tag, to specify the " +"components it adds localization to." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:553 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:557 msgid "" -"Invalid tag found in collection metadata. Only 'component' tags are " -"permitted." +"This `localization` component does not define any languages this " +"localization is for." msgstr "" -#: tools/ascli-actions-mdata.c:213 -msgid "Invalid type for provided item selected. Valid values are:" -msgstr "Ugyldig type oppgitt for valgt element. Gyldige verdier er:" - -#: src/as-validator-issue-tag.h:271 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:563 msgid "" -"Invalid version comparison operation on relation item. Only eq/ne/lt/gt/le/" -"ge are permitted." +"This `service` component is missing a `launchable` tag of type `service`." msgstr "" -#: src/as-validator-issue-tag.h:450 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:569 msgid "" -"It is recommended to add a long description to this component to present it " -"better to users." +"Suggestions of any type other than `upstream` are not allowed in metainfo " +"files." msgstr "" -#: src/as-validator-issue-tag.h:445 +#: src/as-validator-issue-tag.h:574 msgid "" -"It would be useful to add a long description to this font to present it " -"better to users." +"The category name is not valid. Refer to the XDG Menu Specification for a " +"list of valid category names." msgstr "" -#: src/as-category.c:144 -msgctxt "Category of Games" -msgid "Kids" -msgstr "Barn" - -#: src/as-category.c:220 -msgctxt "Category of Addons" -msgid "Language Packs" -msgstr "Språkpakker" +#: src/as-validator-issue-tag.h:579 +msgid "The screenshot caption is too long (should be <= 80 characters)" +msgstr "Skjermavbildningens bildetekst er for lang (skal være <= 80 tegn)" -#: src/as-category.c:107 -msgctxt "Category of Education" -msgid "Languages" -msgstr "Språk" +#: src/as-validator-issue-tag.h:584 +#, fuzzy +msgid "Unable to read file." +msgstr "Kunne ikke fjerne gammelt hurtiglager." -#: src/as-provided.c:144 -msgid "Libraries" -msgstr "Bibliotek" +#: src/as-validator-issue-tag.h:589 +msgid "The XML of this file is malformed." +msgstr "XML-en i denne filen er feilformatert." -#. license -#: tools/ascli-utils.c:363 -msgid "License" -msgstr "Lisens" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:595 +msgid "" +"Invalid tag found in collection metadata. Only `component` tags are " +"permitted." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:629 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:601 msgid "" -"Licenses for 'runtime' components are usually too complex to reflect them in " -"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " -"value for this component's 'project_license'. E.g. `LicenseRef-free=https://" -"example.com/licenses.html`" +"The metainfo file uses an ancient version of the AppStream specification, " +"which can not be validated. Please migrate it to version 0.6 (or higher)." msgstr "" -#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command -#: tools/appstream-cli.c:771 +#: src/as-validator-issue-tag.h:606 msgid "" -"Limit the number of release entries that end up in the metainfo file (0 for " -"unlimited)." +"This XML document has an unknown root tag. Maybe this file is not a metainfo " +"document?" msgstr "" -#: src/as-category.c:223 -msgctxt "Category of Addons" -msgid "Localization" -msgstr "Lokalisering" +#: src/as-validator-issue-tag.h:611 +#, fuzzy +msgid "The metainfo filename does not match the component ID." +msgstr "Fjern programvare som samsvarer med komponent-ID-en." -#: src/as-category.c:147 -msgctxt "Category of Games" -msgid "Logic" -msgstr "Logikk" +#: src/as-validator-issue-tag.h:616 +msgid "Unable to read the .desktop file associated with this component." +msgstr "Klarer ikke å lese .desktop-filen knyttet til denne komponenten." -#. TRANSLATORS: ascli flag description for: --no-cache -#: tools/appstream-cli.c:67 -msgid "Make request without any caching." -msgstr "Utfør forespørsel uten hurtiglagring." +#: src/as-validator-issue-tag.h:621 +#, fuzzy +msgid "This component metadata refers to a non-existing .desktop file." +msgstr "" +"Denne komponentens metadata refererer til en ikke-eksisterende .desktop-fil." -#. TRANSLATORS: ascli flag description for: --cachepath -#: tools/appstream-cli.c:57 -msgid "Manually selected location of AppStream cache." -msgstr "Manuelt valgt plassering for AppStream-hurtiglager." +#: src/as-validator-issue-tag.h:626 +msgid "" +"The category defined in the .desktop file is not valid. Refer to the XDG " +"Menu Specification for a list of valid categories." +msgstr "" -#. TRANSLATORS: ascli flag description for: --datapath -#: tools/appstream-cli.c:62 -msgid "Manually selected location of AppStream metadata to scan." -msgstr "Manuelt valgt plassering for AppStream-metadata å skanne." +#: src/as-validator-issue-tag.h:631 +msgid "No AppStream metadata was found in this directory or directory tree." +msgstr "" + +#. pedantic because not everything which has metadata is an application +#: src/as-validator-issue-tag.h:636 +msgid "No XDG applications directory found." +msgstr "Fant ingen mappe med XDG-programmer." -#: src/as-pool.c:1280 +#: src/as-validator-issue-tag.h:641 msgid "" -"Many components have been recognized as invalid. See debug output for " -"details." +"The metainfo file is stored in a legacy path. Please place it in `/usr/share/" +"metainfo/`." msgstr "" -"Mange komponenter har blitt funnet ugyldige. Se feilrettingsutdataen for " -"detaljer." -#: src/as-category.c:111 -msgctxt "Category of Education" -msgid "Math" -msgstr "Matte" +#: src/as-validator-issue-tag.h:646 +msgid "The metainfo file specifies multiple components. This is not allowed." +msgstr "" -#: src/as-category.c:243 -msgctxt "Category of Science" -msgid "Math" -msgstr "Matte" +#: src/as-validator-issue-tag.h:651 +msgid "" +"The releases are not sorted in a latest to oldest version order. This is " +"required as some tools will assume that the latest version is always at the " +"top. Sorting releases also increases overall readability of the metainfo " +"file." +msgstr "" -#: src/as-provided.c:148 -#, fuzzy -msgid "Media types" -msgstr "MIME-typer" +#: src/as-validator-issue-tag.h:658 +msgid "The value set as release urgency is not a known urgency value." +msgstr "" -#: tools/ascli-actions-mdata.c:364 -#, c-format -msgid "Metadata file '%s' does not exist." -msgstr "Metadatafilen \"%s\" finnes ikke." +#: src/as-validator-issue-tag.h:663 +msgid "The value set as release type is invalid." +msgstr "" -#: src/as-pool.c:881 -msgid "Metadata files have errors:" -msgstr "Feil i metadatafiler:" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:669 +msgid "" +"The value set as artifact type is invalid. Must be either `source` or " +"`binary`." +msgstr "" -#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 -#: tools/ascli-actions-misc.c:515 -#, fuzzy, c-format -msgid "Metainfo file '%s' does not exist." -msgstr "Metadatafilen \"%s\" finnes ikke." +#: src/as-validator-issue-tag.h:674 +msgid "The value set as artifact bundle type is invalid." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:367 +#: src/as-validator-issue-tag.h:679 msgid "" -"Metainfo files may only contain icons of type 'stock' or 'remote', the set " -"type is not allowed." +"The platform triplet for this release is invalid. It must be in the form of " +"`architecture-oskernel-osenv` - refer to the AppStream documentation or " +"information on normalized GNU triplets for more information and valid fields." msgstr "" -#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report -#: tools/ascli-actions-misc.c:116 -msgid "Metainfo files:" -msgstr "Metainfofiler:" +#: src/as-validator-issue-tag.h:686 +msgid "The selected checksumming algorithm is unsupported or unknown." +msgstr "" -#: src/as-provided.c:152 -msgid "Modaliases" -msgstr "Modalias" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:692 +msgid "The size type is unknown. Must be `download` or `installed`." +msgstr "" -#: src/as-category.c:74 -msgctxt "Category of AudioVideo" -msgid "Music Players" -msgstr "Musikkspillere" +#: src/as-validator-issue-tag.h:697 +msgid "" +"The artifact filename must be a file basename, not a (relative or absolute) " +"path." +msgstr "" -#: tools/ascli-utils.c:296 -msgid "Name" -msgstr "Navn" +#: src/as-validator-issue-tag.h:702 +msgid "The value set as release issue type is invalid." +msgstr "" -#: src/as-category.c:266 -msgctxt "Category of Communication" -msgid "News" -msgstr "Nyheter" +#: src/as-validator-issue-tag.h:707 +msgid "" +"The issue is tagged at security vulnerability with a CVE number, but its " +"value does not look like a valid CVE identifier." +msgstr "" -#: src/as-validator-issue-tag.h:589 -msgid "No AppStream metadata was found in this directory or directory tree." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:713 +msgid "" +"This component is missing information about releases. Consider adding a " +"`releases` tag to describe releases and their changes." msgstr "" -#. pedantic because not everything which has metadata is an application -#: src/as-validator-issue-tag.h:594 -msgid "No XDG applications directory found." +#: src/as-validator-issue-tag.h:718 +msgid "" +"The AppStream specification requires a complete, ISO 8601 date string with " +"at least day-granularity to denote dates. Please ensure the date string is " +"valid." msgstr "" -#: tools/ascli-actions-mdata.c:182 -#, c-format -msgid "No component matching '%s' found." -msgstr "Fant ingen komponent som samsvarer med \"%s\"." +#: src/as-validator-issue-tag.h:724 +msgid "" +"This component extends, provides, requires or recommends itself, which is " +"certainly not intended and may confuse users or machines dealing with this " +"metadata." +msgstr "" -#: tools/ascli-actions-misc.c:105 -msgid "No icons." -msgstr "Ingen ikoner." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:731 +msgid "" +"Licenses for `runtime` components are usually too complex to reflect them in " +"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " +"value for this component's `project_license`. E.g. `LicenseRef-free=https://" +"example.com/licenses.html`" +msgstr "" -#: tools/ascli-actions-misc.c:402 -msgid "No output filename specified, modifying metainfo file directly." +#: src/as-validator-issue-tag.h:737 +msgid "" +"Since a `runtime` component is comprised of multiple other software " +"components, their component-IDs may be listed in a `` section for " +"this runtime." msgstr "" -#: tools/ascli-actions-misc.c:306 +#: src/as-validator-issue-tag.h:742 msgid "" -"No provided binary specified in metainfo file, and no exec command specified " -"via '--exec'. Can not create 'Exec=' key." +"The type of the item that the component provides is not known to AppStream." msgstr "" -#: tools/ascli-actions-misc.c:284 -msgid "No stock icon name was provided in the metainfo file. Can not continue." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:748 +msgid "" +"The toplevel `mimetypes` tag is deprecated. Please use `mediatype` tags in a " +"`provides` block instead to indicate that your software provides a media " +"handler for the given types." msgstr "" -#: tools/ascli-actions-pkgmgr.c:53 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks) and keep the URL intact. +#: src/as-validator-issue-tag.h:755 msgid "" -"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" -"\" (part of PackageKit) is available." +"This component has no `content_rating` tag to provide age rating " +"information. You can generate the tag data online by answering a few " +"questions at https://hughsie.github.io/oars/" msgstr "" -"Fant inget formålstjenlig kommandolinjegrensesnitt for pakkebehandler. Sørg " -"for at \"pkcon\" (som er en del av PackageKit) er installert." -#: tools/ascli-actions-mdata.c:206 -msgid "No value for the item to search for was defined." -msgstr "Ingen verdi for elementet å søke ble definert." +#: src/as-validator.c:150 +msgid "" +"The emitted issue tag is unknown in the tag registry of AppStream. This is a " +"bug in the validator itself, please report this issue in our bugtracker." +msgstr "" -#. TRANSLATORS: this is the menu spec main category for Office -#: src/as-category.c:317 -msgid "Office" -msgstr "Kontor" +#: src/as-validator.c:344 +msgid "URL format is invalid." +msgstr "Nettadresseformatet er ugyldig." -#. TRANSLATORS: An unknown option was passed to appstreamcli. -#: tools/appstream-cli.c:192 +#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. +#: src/as-validator.c:522 src/as-validator.c:937 src/as-validator.c:1031 +#: src/as-validator.c:1428 src/as-validator.c:1448 src/as-validator.c:1481 #, c-format -msgid "Option '%s' is unknown." -msgstr "Valget \"%s\" er ukjent." +msgid "Found: %s - Allowed: %s" +msgstr "Funnet: %s - Tillatt: %s" -#: tools/ascli-utils.c:298 -msgid "Package" -msgstr "Pakke" +#. TRANSLATORS: ascompose flag description for: --verbose +#: tools/appstream-compose.c:181 +#, fuzzy +msgid "Show extra debugging information" +msgstr "Vis ekstra feilrettingsinformasjon." -#: src/as-category.c:171 -msgctxt "Category of Graphics" -msgid "Photography" -msgstr "Fotografi" +#. TRANSLATORS: ascompose flag description for: --no-color +#. TRANSLATORS: ascli flag description for: --no-color +#: tools/appstream-compose.c:184 tools/appstreamcli.c:1087 +msgid "Don't show colored output." +msgstr "Ikke vis fargelagt utdata." -#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) -#: tools/appstream-cli.c:121 -#, fuzzy -msgid "Print detailed explanation for found issues." -msgstr "Skriv detaljert utdata om identifiserte komponenter." +#. TRANSLATORS: ascompose flag description for: --version +#. TRANSLATORS: ascli flag description for: --version +#: tools/appstream-compose.c:187 tools/appstreamcli.c:1076 +msgid "Show the program version." +msgstr "Vis programversjonen." -#. TRANSLATORS: ascli flag description for: --details -#: tools/appstream-cli.c:98 -msgid "Print detailed output about found components." -msgstr "Skriv detaljert utdata om identifiserte komponenter." +#. TRANSLATORS: ascompose flag description for: --full-report +#: tools/appstream-compose.c:190 +msgid "Set mode of the issue report that is printed to the console" +msgstr "" -#. project group -#: tools/ascli-utils.c:360 -msgid "Project Group" -msgstr "Prosjektgruppe" +#. TRANSLATORS: ascompose flag description for: --prefix +#: tools/appstream-compose.c:193 +msgid "Override the default prefix (`/usr` by default)" +msgstr "" -#: tools/ascli-utils.c:405 -msgid "Provided Items" -msgstr "Tilbudte elementer" +#. TRANSLATORS: ascompose flag description for: --result-root +#: tools/appstream-compose.c:196 +msgid "Set the result output directory" +msgstr "" -#: src/as-provided.c:154 -msgid "Python (Version 2)" -msgstr "Python (versjon 2)" +#. TRANSLATORS: ascompose flag description for: --data-dir, `collection metadata` is an AppStream term +#: tools/appstream-compose.c:199 +msgid "Override the collection metadata output directory" +msgstr "" -#: src/as-provided.c:156 -msgid "Python 3" -msgstr "Python 3" +#. TRANSLATORS: ascompose flag description for: --icons-dir +#: tools/appstream-compose.c:202 +msgid "Override the icon output directory" +msgstr "" -#: tools/appstream-cli.c:854 -msgid "Rebuild the component metadata cache." -msgstr "Bygg opp igjen komponent- og metadata -hurtiglager." +#. TRANSLATORS: ascompose flag description for: --media-dir +#: tools/appstream-compose.c:205 +msgid "" +"Set the media output directory (for media data to be served by a webserver)" +msgstr "" -#: tools/appstream-cli.c:860 -msgid "Remove software matching the component-ID." -msgstr "Fjern programvare som samsvarer med komponent-ID-en." +#. TRANSLATORS: ascompose flag description for: --hints-dir +#: tools/appstream-compose.c:208 +msgid "Set a directory where HTML and text issue reports will be stored" +msgstr "" -#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty -#: src/as-validator.c:364 -msgid "Retrieved file size was zero." +#. TRANSLATORS: ascompose flag description for: --origin +#. TRANSLATORS: ascompose flag description for: --media-baseurl +#: tools/appstream-compose.c:211 tools/appstream-compose.c:214 +msgid "Set the origin name" msgstr "" -#: src/as-category.c:248 -msgctxt "Category of Science" -msgid "Robotics" -msgstr "Robotikk" +#. TRANSLATORS: ascompose flag description for: --components +#: tools/appstream-compose.c:217 +msgid "A comma-separated list of component-IDs to accept" +msgstr "" -#: src/as-category.c:150 -msgctxt "Category of Games" -msgid "Role Playing" -msgstr "Rollespill" +#. TRANSLATORS: error message +#: tools/appstream-compose.c:231 +msgid "Failed to parse arguments" +msgstr "" -#: tools/appstream-cli.c:196 tools/appstream-cli.c:926 +#. TRANSLATORS: Output if appstreamcli --version is executed. +#: tools/appstream-compose.c:242 tools/appstreamcli.c:1230 #, c-format -msgid "Run '%s --help' to see a full list of available command line options." -msgstr "" -"Kjør \"%s --help\" for å se en full liste over tilgjengelige " -"kommandolinjevalg." +msgid "AppStream version: %s" +msgstr "AppStream-versjon: %s" -#: tools/appstream-cli.c:198 +#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. +#: tools/appstream-compose.c:245 tools/appstreamcli.c:1233 #, c-format msgid "" -"Run '%s --help' to see a list of available commands and options, and '%s %s " -"--help' to see a list of options specific for this subcommand." +"AppStream CLI tool version: %s\n" +"AppStream library version: %s" msgstr "" -"Kjør \"%s --help\" for å se en liste over tilgjengelige kommandoer og valg, " -"og \"%s %s --help\" for å se en liste over spesifikke valg for denne " -"underkommandoen." +"Versjon av kommandolinjegrensesnitt for AppStream: %s\n" +"Versjon av AppStream-bibliotek: %s" -#: src/as-provided.c:162 -msgid "Runtime Firmware" -msgstr "Kjøretids-fastvare" +#. TRANSLATORS: invalid value for the --print-report CLI option +#: tools/appstream-compose.c:264 +#, c-format +msgid "" +"Invalid value for `--print-report` option: %s\n" +"Possible values are:\n" +"`on-error` - only prints a short report if the run failed (default)\n" +"`short` - generates an abridged report\n" +"`full` - a detailed report will be printed" +msgstr "" -#: src/as-category.c:174 -msgctxt "Category of Graphics" -msgid "Scanning" -msgstr "Skanning" +#: tools/appstream-compose.c:285 +#, c-format +msgid "Automatically selected '%s' as data output location." +msgstr "" -#. TRANSLATORS: this is the menu spec main category for Science -#: src/as-category.c:323 -msgid "Science" -msgstr "Vitenskap" +#. TRANSLATORS: we don't have a destination directory for compose +#: tools/appstream-compose.c:288 +msgid "No destination directory set, please provide a data output location!" +msgstr "" -#: tools/appstream-cli.c:847 -msgid "Search the component database." -msgstr "Søk i komponentdatabasen." +#: tools/appstream-compose.c:298 tools/appstream-compose.c:300 +msgid "WARNING" +msgstr "" -#: src/as-category.c:293 -msgctxt "Category of Utility" -msgid "Security" -msgstr "Sikkerhet" +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:337 +#, c-format +msgid "Only accepting components: %s" +msgstr "" -#. TRANSLATORS: ascli flag description for: --verbose -#: tools/appstream-cli.c:903 -msgid "Show extra debugging information." -msgstr "Vis ekstra feilrettingsinformasjon." +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:340 +#, c-format +msgid "Only accepting component: %s" +msgstr "" -#. TRANSLATORS: ascli flag description for: --version -#: tools/appstream-cli.c:897 -msgid "Show the program version." -msgstr "Vis programversjonen." +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:345 +msgid "Processing directories:" +msgstr "" -#: src/as-validator-issue-tag.h:635 -msgid "" -"Since a 'runtime' component is comprised of multiple other software " -"components, their component-IDs may be listed in a `` section for " -"this runtime." +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:348 +msgid "Processing directory:" msgstr "" -#: src/as-category.c:153 -msgctxt "Category of Games" -msgid "Sports" -msgstr "Sport" +#. TRANSLATORS: error message +#: tools/appstream-compose.c:357 +msgid "Can not process invalid directory" +msgstr "" -#: src/as-category.c:157 -msgctxt "Category of Games" -msgid "Strategy" -msgstr "Strategi" +#. TRANSLATORS: information message +#: tools/appstream-compose.c:369 +msgid "Composing metadata..." +msgstr "" -#. these are commands we can use with appstreamcli -#: tools/appstream-cli.c:845 -msgid "Subcommands:" -msgstr "Underkommandoer:" +#. TRANSLATORS: error message +#: tools/appstream-compose.c:374 +#, fuzzy +msgid "Failed to compose AppStream metadata" +msgstr "Et verktøy for å jobbe med AppStream-metadata" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:527 -msgid "" -"Suggestions of any type other than 'upstream' are not allowed in metainfo " -"files." +#. TRANSLATORS: appstream-compose failed to include all data +#: tools/appstream-compose.c:380 +msgid "Run failed, some data was ignored." msgstr "" -#: tools/ascli-utils.c:297 -msgid "Summary" -msgstr "Sammendrag" - -#. TRANSLATORS: Status summary in ascli -#: tools/ascli-actions-misc.c:145 -msgid "Summary:" -msgstr "Sammendrag:" +#. TRANSLATORS: information message of appstream-compose +#: tools/appstream-compose.c:382 +msgid "Errors were raised during this compose run:" +msgstr "" -#: src/as-category.c:290 -msgctxt "Category of Utility" -msgid "System Monitoring" -msgstr "Systemovervåkning" +#: tools/appstream-compose.c:383 +msgid "" +"Refer to the generated issue report data for details on the individual " +"problems." +msgstr "" -#: src/as-validator-issue-tag.h:46 -msgid "Tags of this name are not permitted in this section." +#: tools/appstream-compose.c:386 +msgid "Overview of generated hints:" msgstr "" -#: src/as-category.c:284 -msgctxt "Category of Utility" -msgid "Terminal Emulators" -msgstr "Terminalemulatorer" +#. TRANSLATORS: information message +#: tools/appstream-compose.c:388 +msgid "Success!" +msgstr "" -#: src/as-category.c:281 -msgctxt "Category of Utility" -msgid "Text Editors" -msgstr "Tekstbehandlere" +#. TRANSLATORS: ascli flag description for: --cachepath +#: tools/appstreamcli.c:59 +msgid "Manually selected location of AppStream cache." +msgstr "Manuelt valgt plassering for AppStream-hurtiglager." -#: src/as-validator-issue-tag.h:318 -msgid "" -"The 'pkgname' tag appears multiple times. You should evaluate creating a " -"metapackage containing the metainfo and .desktop files in order to avoid " -"defining multiple package names per component." -msgstr "" +#. TRANSLATORS: ascli flag description for: --datapath +#: tools/appstreamcli.c:64 +msgid "Manually selected location of AppStream metadata to scan." +msgstr "Manuelt valgt plassering for AppStream-metadata å skanne." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:416 -msgid "" -"The 'update_contact' tag should not be included in collection AppStream XML." -msgstr "" +#. TRANSLATORS: ascli flag description for: --no-cache +#: tools/appstreamcli.c:69 +msgid "Make request without any caching." +msgstr "Utfør forespørsel uten hurtiglagring." -#: tools/ascli-actions-mdata.c:467 -#, c-format -msgid "The .desktop file '%s' does not exist." -msgstr ".dekstop-filen \"%s\" finnes ikke." +#. TRANSLATORS: ascli flag description for: --format +#: tools/appstreamcli.c:85 +msgid "Default metadata format (valid values are 'xml' and 'yaml')." +msgstr "Forvalgt metadataformat (gyldige verdier er \"xml\" og \"yaml\")." -#: src/as-validator-issue-tag.h:393 -msgid "The can not contain a hyperlink." -msgstr "" +#. TRANSLATORS: ascli flag description for: --details +#: tools/appstreamcli.c:100 +msgid "Print detailed output about found components." +msgstr "Skriv detaljert utdata om identifiserte komponenter." -#: src/as-validator-issue-tag.h:313 -msgid "" -"The tag still contains a 'type' property, probably from an old " -"conversion to the recent metainfo format." -msgstr "" +#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) +#: tools/appstreamcli.c:118 +msgid "Also show pedantic hints." +msgstr "Vis også pedantiske tips." -#: src/as-validator-issue-tag.h:616 -msgid "" -"The AppStream specification requires a complete, ISO 8601 date string with " -"at least day-granularity to denote dates. Please ensure the date string is " -"valid." -msgstr "" +#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) +#: tools/appstreamcli.c:123 +#, fuzzy +msgid "Print detailed explanation for found issues." +msgstr "Skriv detaljert utdata om identifiserte komponenter." -#: src/as-pool.c:1924 -#, fuzzy, c-format -msgid "" -"The AppStream system cache was updated, but problems were found which " -"resulted in metadata being ignored: %s" -msgstr "AppStream-systemhurtiglager oppdatert, dog ikke uten problemer: %s" +#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) +#: tools/appstreamcli.c:128 +msgid "Do not use network access." +msgstr "Ikke bruk nettverkstilgang." -#: src/as-pool.c:1922 +#. TRANSLATORS: ascli flag description for: --format when validating XML files +#: tools/appstreamcli.c:133 #, fuzzy -msgid "" -"The AppStream system cache was updated, but some components were ignored. " -"Refer to the verbose log for more information." -msgstr "" -"AppStreams systemhurtiglager ble oppdatert, dog ble noen problemer oppdaget, " -"som kan føre til manglende metadata. Henvend deg til den sirlige loggen for " -"mer informasjon." +msgid "Format of the generated report (valid values are 'text' and 'yaml')." +msgstr "Forvalgt metadataformat (gyldige verdier er \"xml\" og \"yaml\")." -#: src/as-validator-issue-tag.h:151 -msgid "The SPDX license expression is invalid and could not be parsed." -msgstr "" +#. TRANSLATORS: This is the header to the --help menu for subcommands +#. TRANSLATORS: This is the header to the --help menu +#: tools/appstreamcli.c:153 tools/appstreamcli.c:981 +msgid "AppStream command-line interface" +msgstr "Kommandolinjegrensesnitt for AppStream" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows -#: tools/appstream-cli.c:683 +#: tools/appstreamcli.c:156 #, c-format -msgid "The TYPE must be a valid component-type, such as: %s" -msgstr "TYPE må være en gyldig komponenttype, som %s" +msgid "'%s' command" +msgstr "\"%s\"-kommando" -#: src/as-validator-issue-tag.h:547 -msgid "The XML of this file is malformed." -msgstr "" +#. TRANSLATORS: An unknown option was passed to appstreamcli. +#: tools/appstreamcli.c:191 +#, c-format +msgid "Option '%s' is unknown." +msgstr "Valget \"%s\" er ukjent." -#: src/as-validator-issue-tag.h:584 -msgid "" -"The category defined in the .desktop file is not valid. Refer to the XDG " -"Menu Specification for a list of valid categories." +#: tools/appstreamcli.c:195 tools/appstreamcli.c:1207 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options." msgstr "" +"Kjør \"%s --help\" for å se en full liste over tilgjengelige " +"kommandolinjevalg." -#: src/as-validator-issue-tag.h:532 +#: tools/appstreamcli.c:197 +#, c-format msgid "" -"The category name is not valid. Refer to the XDG Menu Specification for a " -"list of valid category names." +"Run '%s --help' to see a list of available commands and options, and '%s %s " +"--help' to see a list of options specific for this subcommand." msgstr "" +"Kjør \"%s --help\" for å se en liste over tilgjengelige kommandoer og valg, " +"og \"%s %s --help\" for å se en liste over spesifikke valg for denne " +"underkommandoen." -#: src/as-validator-issue-tag.h:124 -msgid "" -"The component ID contains a hyphen/minus. Using a hyphen is strongly " -"discouraged, to improve interoperability with other tools such as D-Bus. A " -"good option is to replace any hyphens with underscores ('_')." -msgstr "" +#. TRANSLATORS: ascli flag description for: --force +#: tools/appstreamcli.c:245 +msgid "Enforce a cache refresh." +msgstr "Tving gjennom en oppdatering av hurtiglageret." -#: src/as-validator-issue-tag.h:130 -msgid "" -"The component ID contains a segment starting with a number. Starting a " -"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " -"interoperability with other tools such as D-Bus. Ideally, prefix these " -"segments with an underscore." +#. TRANSLATORS: ascli flag description for: --user +#: tools/appstreamcli.c:251 +msgid "Update the user-specific instead of the system-wide cache." msgstr "" -#: src/as-validator-issue-tag.h:119 -msgid "" -"The component ID contains an invalid character. Only ASCII characters, dots " -"and numbers are permitted." +#. TRANSLATORS: ascli flag description for: --origin (part of the "put" subcommand) +#: tools/appstreamcli.c:477 +msgid "Set the data origin for the installed metadata collection file." msgstr "" -#: src/as-validator-issue-tag.h:106 -msgid "" -"The component ID is not a reverse domain-name. Please update the ID to avoid " -"future issues and be compatible with all AppStream implementations.\n" -"You may also consider to update the name of the accompanying .desktop file " -"to follow the latest version of the Desktop-Entry specification and use a " -"rDNS name for it as well. In any case, do not forget to mention the new " -"desktop-entry in a tag for this component to keep the " -"application launchable from software centers and the .desktop file data " -"associated with the metainfo data." +#. TRANSLATORS: ascli flag description for: --user (part of the "put" subcommand) +#: tools/appstreamcli.c:482 +msgid "Install the file for the current user, instead of globally." msgstr "" -#: src/as-validator-issue-tag.h:101 +#: tools/appstreamcli.c:631 msgid "" -"The component ID is required to follow a reverse domain-name scheme for its " -"name. See the AppStream specification for details." -msgstr "" +"You need to provide at least two version numbers to compare as parameters." +msgstr "Du må oppgi minst to versjonsnummer å sammenligne som parameter." -#: src/as-validator-issue-tag.h:114 +#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. +#: tools/appstreamcli.c:660 +#, c-format +msgid "Unknown compare relation '%s'. Valid values are:" +msgstr "Ukjent sammenligningsrelasjon \"%s\". Gyldige verdier er:" + +#: tools/appstreamcli.c:700 msgid "" -"The component ID might not follow the reverse domain-name schema (the TLD " -"used by it is not known to the validator)." +"Too many parameters: Need two version numbers or version numbers and a " +"comparison operator." msgstr "" +"For mange parametre: Trenger to versjonsnummer eller versjonsnummer og " +"sammenligningsoperator." -#: src/as-validator-issue-tag.h:293 +#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) +#: tools/appstreamcli.c:726 msgid "" -"The component has a 'merge' method defined. This is not allowed in metainfo " -"files." +"Use the given .desktop file to fill in the basic values of the metainfo file." msgstr "" +"Bruk gitt .desktop-fil for å fylle inn grunnleggende verdier i metainfofila." -#: src/as-validator-issue-tag.h:288 +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand +#: tools/appstreamcli.c:731 msgid "" -"The component has a priority value set. This is not allowed in metainfo " -"files." +"This command takes optional TYPE and FILE positional arguments, FILE being a " +"file to write to (or \"-\" for standard output)." msgstr "" +"Denne kommandoen tar valgfrie posisjonsargument for TYPE og FILE, der FILE " +"er en fil å skrive til (eller \"-\" for forvalgt utdata)." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:503 -msgid "The component is an addon, but no 'extends' tag was specified." +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows +#: tools/appstreamcli.c:734 +#, c-format +msgid "The TYPE must be a valid component-type, such as: %s" +msgstr "TYPE må være en gyldig komponenttype, som %s" + +#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) +#: tools/appstreamcli.c:775 +msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." msgstr "" -#: src/as-validator-issue-tag.h:440 +#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command +#: tools/appstreamcli.c:815 +msgid "Assume the input file is in the selected format ('yaml' or 'text')." +msgstr "Anta at inndatafilen er i valgt format ('yaml' eller 'text')." + +#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command +#: tools/appstreamcli.c:820 msgid "" -"The component is missing a long description. Components of this type must " -"have a long description." +"Limit the number of release entries that end up in the metainfo file (0 for " +"unlimited)." msgstr "" -#: src/as-validator-issue-tag.h:303 -msgid "The component is missing a name ( tag)." +#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command +#: tools/appstreamcli.c:862 +msgid "Generate the output in the selected format ('yaml' or 'text')." msgstr "" -#: src/as-validator-issue-tag.h:308 -msgid "The component is missing a summary ( tag)." +#: tools/appstreamcli.c:894 +#, c-format +msgid "Compose binary '%s' was not found! Can not continue." msgstr "" -#: src/as-validator-issue-tag.h:298 -msgid "The component is missing an ID ( tag)." +#. TRANSLATORS: this is a (usually shorter) command alias, shown after the command summary text +#: tools/appstreamcli.c:956 +#, c-format +msgid "(Alias: '%s')" msgstr "" -#: src/as-validator-issue-tag.h:136 -msgid "" -"The component is part of the Freedesktop project, but its ID does not start " -"with fd.o's reverse-DNS name (\"org.freedesktop\")." -msgstr "" +#. these are commands we can use with appstreamcli +#: tools/appstreamcli.c:983 +msgid "Subcommands:" +msgstr "Underkommandoer:" -#: src/as-validator-issue-tag.h:146 +#: tools/appstreamcli.c:1029 msgid "" -"The component is part of the GNOME project, but its ID does not start with " -"GNOMEs reverse-DNS name (\"org.gnome\")." +"You can find information about subcommand-specific options by passing \"--" +"help\" to the subcommand." msgstr "" +"Du kan finne informasjon om underordnede kommandoer ved å sende \"--help\" " +"til underkommandoen." -#: src/as-validator-issue-tag.h:141 +#. TRANSLATORS: ascli has been run with unknown command. '%s --help' is the command to receive help and should not be translated. +#: tools/appstreamcli.c:1052 +#, c-format msgid "" -"The component is part of the KDE project, but its ID does not start with " -"KDEs reverse-DNS name (\"org.kde\")." +"Command '%s' is unknown. Run '%s --help' for a list of available commands." msgstr "" +"Kommandoen «%s» er ukjent. Kjør «%s --help» for å se en full liste over " +"tilgjengelige kommandoer." -#: src/as-validator-issue-tag.h:323 -msgid "The component name should (likely) not end with a dot ('.')." -msgstr "" +#. TRANSLATORS: ascli flag description for: --verbose +#: tools/appstreamcli.c:1082 +msgid "Show extra debugging information." +msgstr "Vis ekstra feilrettingsinformasjon." -#: src/as-validator-issue-tag.h:333 -msgid "The component summary must not contain tabs or linebreaks." +#. TRANSLATORS: ascli flag description for: --profile +#: tools/appstreamcli.c:1090 +msgid "Enable profiling" msgstr "" -#: src/as-validator-issue-tag.h:328 -msgid "The component summary should not end with a dot ('.')." -msgstr "" +#. TRANSLATORS: `appstreamcli search` command description. +#: tools/appstreamcli.c:1102 +msgid "Search the component database." +msgstr "Søk i komponentdatabasen." -#: src/as-validator-issue-tag.h:243 -msgid "" -"The default screenshot of a software component must not be a video. Use a " -"static image as default screenshot and set the video as a secondary " -"screenshot." -msgstr "" +#. TRANSLATORS: `appstreamcli get` command description. +#: tools/appstreamcli.c:1107 +msgid "Get information about a component by its ID." +msgstr "Hent informasjon om en komponent gitt av dens ID." -#: src/as-validator-issue-tag.h:86 +#. TRANSLATORS: `appstreamcli what-provides` command description. +#: tools/appstreamcli.c:1112 msgid "" -"The description contains a web URL in plain text. This is not allowed, " -"please use the tag instead to share links." +"Get components which provide the given item. Needs an item type (e.g. lib, " +"bin, python3, …) and item value as parameter." msgstr "" -#: src/as-validator.c:152 -msgid "" -"The emitted issue tag is unknown in the tag registry of AppStream. This is a " -"bug in the validator itself, please report this issue in our bugtracker." -msgstr "" +#. TRANSLATORS: `appstreamcli dump` command description. +#: tools/appstreamcli.c:1118 +msgid "Dump raw XML metadata for a component matching the ID." +msgstr "Dumpa rå XML-metadata for en komponent som samsvarer med ID-en." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:435 -msgid "" -"The essential tag 'metadata_license' is missing. A license for the metadata " -"itself always has to be defined." -msgstr "" +#. TRANSLATORS: `appstreamcli refresh-cache` command description. +#: tools/appstreamcli.c:1123 +msgid "Rebuild the component metadata cache." +msgstr "Bygg opp igjen komponent- og metadata -hurtiglager." -#: src/as-validator-issue-tag.h:79 -msgid "" -"The first 'description/p' paragraph of this component might be too short (< " -"80 characters). Please consider starting with a longer paragraph to improve " -"how the description looks like in software centers and to provide more " -"detailed information on this component immediately in the first paragraph." -msgstr "" +#. TRANSLATORS: `appstreamcli validate` command description. +#: tools/appstreamcli.c:1129 +msgid "Validate AppStream XML files for issues." +msgstr "Se gjennom AppStream-XML-filer for feil." -#: src/as-validator-issue-tag.h:156 -msgid "" -"The license ID was not found in the SPDX database. Please check that the " -"license ID is written in an SPDX-conformant way and is a valid free software " -"license." +#. TRANSLATORS: `appstreamcli validate-tree` command description. +#: tools/appstreamcli.c:1134 +msgid "Validate an installed file-tree of an application for valid metadata." msgstr "" +"Se gjennom et filtre tilhørende et installert program for gyldigheten av " +"metadata." -#: src/as-validator-issue-tag.h:96 -msgid "" -"The mentioned tag is empty, which is highly likely not intended as it should " -"have content." -msgstr "" +#. TRANSLATORS: `appstreamcli install` command description. +#: tools/appstreamcli.c:1140 +msgid "Install software matching the component-ID." +msgstr "Installer programvare som samsvarer med komponent-ID-en." -#: src/as-validator-issue-tag.h:168 -msgid "" -"The metadata itself does not seem to be licensed under a permissive license. " -"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " -"0BSD to allow distributors to include it in mixed data collections without " -"the risk of license violations due to mutually incompatible licenses." -msgstr "" +#. TRANSLATORS: `appstreamcli remove` command description. +#: tools/appstreamcli.c:1145 +msgid "Remove software matching the component-ID." +msgstr "Fjern programvare som samsvarer med komponent-ID-en." -#: src/as-validator-issue-tag.h:162 -msgid "" -"The metadata itself seems to be licensed under a complex collection of " -"licenses. Please license the data under a simple permissive license, like " -"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " -"collections without the risk of license violations due to mutually " -"incompatible licenses." -msgstr "" +#. TRANSLATORS: `appstreamcli status` command description. +#: tools/appstreamcli.c:1151 +msgid "Display status information about available AppStream metadata." +msgstr "Statusinformasjon om tilgjengelig AppStream-metadata." -#: src/as-validator-issue-tag.h:599 +#. TRANSLATORS: `appstreamcli os-info` command description. +#: tools/appstreamcli.c:1156 msgid "" -"The metainfo file is stored in a legacy path. Please place it in '/usr/share/" -"metainfo'." +"Show information about the current operating system from the metadata index." msgstr "" -#: src/as-validator-issue-tag.h:604 -msgid "The metainfo file specifies multiple components. This is not allowed." -msgstr "" +#. TRANSLATORS: `appstreamcli put` command description. +#: tools/appstreamcli.c:1161 +msgid "Install a metadata file into the right location." +msgstr "Installer ei metadatafil på rett plass." + +#. TRANSLATORS: `appstreamcli convert` command description. "Collection XML" is a term describing a specific type of AppStream XML data. +#: tools/appstreamcli.c:1166 +msgid "Convert collection XML to YAML or vice versa." +msgstr "Konverter XML-samling til YAML og vice versa." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:559 +#. TRANSLATORS: `appstreamcli vercmp` command description. +#: tools/appstreamcli.c:1171 +msgid "Compare two version numbers." +msgstr "Sammenlign to versjonsnummer." + +#. TRANSLATORS: `appstreamcli new-template` command description. +#: tools/appstreamcli.c:1177 msgid "" -"The metainfo file uses an ancient version of the AppStream specification, " -"which can not be validated. Please migrate it to version 0.6 (or higher)." +"Create a template for a metainfo file (to be filled out by the upstream " +"project)." msgstr "" +"Opprett en map for ei metainfofil (for senere utfylling av prosjektet " +"oppstrøms)." -#: src/as-validator-issue-tag.h:569 +#. TRANSLATORS: `appstreamcli make-desktop-file` command description. +#: tools/appstreamcli.c:1182 #, fuzzy -msgid "The metainfo filename does not match the component ID." -msgstr "Fjern programvare som samsvarer med komponent-ID-en." +msgid "Create a desktop-entry file from a metainfo file." +msgstr "Opprett en XDG-skrivebordsoppføringsfil fra en metainfo-fil." -#: src/as-validator-issue-tag.h:609 -msgid "" -"The releases are not sorted in a latest to oldest version order. This is " -"required as some tools will assume that the latest version is always at the " -"top. Sorting releases also increases overall readability of the metainfo " -"file." -msgstr "" +#. TRANSLATORS: `appstreamcli news-to-metainfo` command description. +#: tools/appstreamcli.c:1187 +#, fuzzy +msgid "Convert a YAML or text NEWS file into metainfo releases." +msgstr "Konverter en NEWS-fil i YAML eller tekst til metainfo-utgivelser." -#: src/as-validator-issue-tag.h:537 -msgid "The screenshot caption is too long (should be <= 80 characters)" -msgstr "" +#. TRANSLATORS: `appstreamcli metainfo-to-news` command description. +#: tools/appstreamcli.c:1192 +msgid "Write NEWS text or YAML file with information from a metainfo file." +msgstr "Skriv NEWS-tekst, eller YAML-fil med informasjon fra en metainfo-fil." -#: src/as-validator-issue-tag.h:206 -msgid "The screenshot does not have a caption text. Consider adding one." +#. TRANSLATORS: `appstreamcli compose` command description. +#: tools/appstreamcli.c:1198 +msgid "Compose AppStream collection metadata from directory trees." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:218 -msgid "" -"The screenshot video does not specify which container format was used in a " -"'container' property." -msgstr "" +#. TRANSLATORS: ascli has been run without command. +#: tools/appstreamcli.c:1206 +msgid "You need to specify a command." +msgstr "Du må angi en kommando." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:212 -msgid "" -"The screenshot video does not specify which video codec was used in a " -"'codec' property." +#. TRANSLATORS: In ascli: The requested action needs higher permissions. +#: tools/ascli-actions-mdata.c:70 +msgid "You might need superuser permissions to perform this action." msgstr "" +"Det kan hende du trenger superbruker-rettigheter for å utføre denne " +"handlingen." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:224 -msgid "" -"The selected video codec is not supported by AppStream and software centers " -"may not be able to play the video. Only the AV1 and VP9 codecs are currently " -"supported, using 'av1' and 'vp9' as values for the 'codec' property." -msgstr "" +#. we performed a cache refresh +#. TRANSLATORS: Updating the metadata cache succeeded +#: tools/ascli-actions-mdata.c:80 +msgid "AppStream cache update completed successfully." +msgstr "Metadata i AppStream-hurtiglager oppdatert." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:231 -msgid "" -"The selected video container format is not supported by AppStream and " -"software centers may not be able to play the video. Only the WebM and " -"Matroska video containers are currently supported, using 'webm' and 'mkv' as " -"values for the 'container' property." -msgstr "" +#. cache wasn't updated, so the update wasn't necessary +#: tools/ascli-actions-mdata.c:86 +msgid "AppStream cache update is not necessary." +msgstr "AppStream-oppdatering var ikke nødvendig." -#: src/as-validator-issue-tag.h:283 -#, fuzzy -msgid "" -"The set component type is not a recognized, valid AppStream component type." -msgstr "" -"Programvarekomponentens type \"%s\" er ikke gyldig i AppStream. Mulige " -"verdier er:" +#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments +#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. +#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:253 +#: tools/ascli-actions-pkgmgr.c:80 +msgid "You need to specify a component-ID." +msgstr "Du må angi en komponent-ID." + +#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:265 +#: tools/ascli-actions-pkgmgr.c:93 +#, c-format +msgid "Unable to find component with ID '%s'!" +msgstr "Klarer ikke å finne komponent med ID \"%s\"!" -#: src/as-validator-issue-tag.h:398 -msgid "" -"The set value is not an identifier for a desktop environment as registered " -"with Freedesktop.org." -msgstr "" +#: tools/ascli-actions-mdata.c:164 +msgid "You need to specify a term to search for." +msgstr "Du må oppgi et uttrykk å søke etter." -#: tools/ascli-actions-mdata.c:449 +#. TRANSLATORS: We failed to find any component in the database, likely due to an error +#: tools/ascli-actions-mdata.c:177 #, c-format -msgid "" -"The software component type '%s' is not valid in AppStream. Possible values " -"are:" -msgstr "" -"Programvarekomponentens type \"%s\" er ikke gyldig i AppStream. Mulige " -"verdier er:" +msgid "Unable to find component matching %s!" +msgstr "Klarer ikke å finne en komponent som samsvarer med %s!" -#: src/as-validator-issue-tag.h:338 -msgid "The summary must not contain any URL. Use the tags for links." -msgstr "" +#: tools/ascli-actions-mdata.c:182 +#, c-format +msgid "No component matching '%s' found." +msgstr "Fant ingen komponent som samsvarer med \"%s\"." -#: src/as-validator-issue-tag.h:640 -msgid "" -"The type of the item that the component provides is not known to AppStream." -msgstr "" +#: tools/ascli-actions-mdata.c:206 +msgid "No value for the item to search for was defined." +msgstr "Ingen verdi for elementet å søke ble definert." -#: src/as-validator-issue-tag.h:174 -msgid "" -"The update-contact does not appear to be a valid email address (escaping of " -"'@' is only allowed as '_at_' or '_AT_')." -msgstr "" +#: tools/ascli-actions-mdata.c:212 +msgid "Invalid type for provided item selected. Valid values are:" +msgstr "Ugyldig type oppgitt for valgt element. Gyldige verdier er:" -#: tools/ascli-actions-validate.c:363 tools/ascli-actions-validate.c:492 +#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results +#: tools/ascli-actions-mdata.c:227 #, c-format -msgid "" -"The validator can not create reports in the '%s' format. You may select " -"'yaml' or 'text' instead." -msgstr "" +msgid "Could not find component providing '%s::%s'." +msgstr "Kunne ikke finne komponenten som tilbyr \"%s::%s\"." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:410 -msgid "This 'bundle' tag has an unknown type and can not be used." -msgstr "" +#: tools/ascli-actions-mdata.c:306 +msgid "You need to specify a metadata file." +msgstr "Du må oppgi ei metadatafil." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:404 -msgid "This 'launchable' tag has an unknown type and can not be used." -msgstr "" +#: tools/ascli-actions-mdata.c:320 +#, fuzzy, c-format +msgid "Unable to install metadata file: %s" +msgstr "Klarte ikke å lese .desktop-fila: %s" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:515 -msgid "" -"This 'localization' component does not define any languages this " -"localization is for." -msgstr "" +#: tools/ascli-actions-mdata.c:340 +msgid "You need to specify an input and output file." +msgstr "Du må angi ei inn- og ut-datafil." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:509 -msgid "" -"This 'localization' component is missing an 'extends' tag, to specify the " -"components it adds localization to." -msgstr "" +#: tools/ascli-actions-mdata.c:347 +#, c-format +msgid "Metadata file '%s' does not exist." +msgstr "Metadatafilen \"%s\" finnes ikke." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:521 +#. TRANSLATORS: User is trying to convert a file in ascli +#: tools/ascli-actions-mdata.c:387 msgid "" -"This 'service' component is missing a 'launchable' tag of type 'service'." +"Unable to convert file: Could not determine output format, please set it " +"explicitly using '--format='." msgstr "" +"Kunne ikke konvertere fil: Problem med å bestemme utdataformat, sett det " +"eksplisitt ved bruk av \"--format=\"." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:473 -msgid "" -"This 'web-application' component is missing a 'icon' tag to specify a valid " -"icon." -msgstr "" +#: tools/ascli-actions-mdata.c:438 +#, fuzzy, c-format +msgid "Unable to find operating system component '%s'!" +msgstr "Klarer ikke å finne komponent med ID \"%s\"!" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:467 -msgid "" -"This 'web-application' component is missing a 'launchable' tag of type 'url'." -msgstr "" +#: tools/ascli-actions-mdata.c:443 +#, fuzzy +msgid "Version" +msgstr "Versjon: %s" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:479 +#: tools/ascli-actions-mdata.c:467 msgid "" -"This 'web-application' component is missing categorizations. A 'categories' " -"block is likely missing." +"You need to give an AppStream software component type to generate a " +"template. Possible values are:" msgstr "" +"Du må angi en AppStream-programvarekomponenttype for å opprette en mal. " +"Mulige verdier er:" -#: src/as-validator-issue-tag.h:564 +#: tools/ascli-actions-mdata.c:469 +#, c-format msgid "" -"This XML document has an unknown root tag. Maybe this file is not a metainfo " -"document?" +"The software component type '%s' is not valid in AppStream. Possible values " +"are:" msgstr "" +"Programvarekomponentens type \"%s\" er ikke gyldig i AppStream. Mulige " +"verdier er:" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand -#: tools/appstream-cli.c:680 -msgid "" -"This command takes optional TYPE and FILE positional arguments, FILE being a " -"file to write to (or \"-\" for standard output)." -msgstr "" -"Denne kommandoen tar valgfrie posisjonsargument for TYPE og FILE, der FILE " -"er en fil å skrive til (eller \"-\" for forvalgt utdata)." +#: tools/ascli-actions-mdata.c:487 +#, c-format +msgid "The .desktop file '%s' does not exist." +msgstr ".dekstop-filen \"%s\" finnes ikke." -#: src/as-validator-issue-tag.h:622 -msgid "" -"This component extends, provides, requires or recommends itself, which is " -"certainly not intended and may confuse users or machines dealing with this " -"metadata." -msgstr "" +#: tools/ascli-actions-mdata.c:493 +#, c-format +msgid "Unable to read the .desktop file: %s" +msgstr "Klarte ikke å lese .desktop-fila: %s" -#: src/as-validator-issue-tag.h:579 -msgid "This component metadata refers to a non-existing .desktop file." -msgstr "" +#: tools/ascli-actions-mdata.c:564 +#, c-format +msgid "Unable to build the template metainfo file: %s" +msgstr "Kunne ikke bygge malfil for metainfo: %s" -#: src/as-validator-issue-tag.h:69 -msgid "" -"This description paragraph contains invalid markup. Currently, only " -"and are permitted." -msgstr "" +#: tools/ascli-actions-mdata.c:572 +#, c-format +msgid "Unable to save the template metainfo file: %s" +msgstr "Klarte ikke å lagre malfil for metainfo: %s" -#: src/as-validator-issue-tag.h:57 -msgid "" -"This element (paragraph, list, etc.) of a tag must not be " -"localized individually in collection metadata. Localize the whole " -" tag instead. The AppStream collection metadata generator (e." -"g. `appstream-generator`) will already do the right thing when compiling the " -"data." -msgstr "" +#. TRANSLATORS: In the status report of ascli: Header +#: tools/ascli-actions-misc.c:47 +msgid "AppStream Status:" +msgstr "AppStream-status:" -#: src/as-validator-issue-tag.h:455 -msgid "" -"This generic component is missing a long description. It may be useful to " -"add one." -msgstr "" +#: tools/ascli-actions-misc.c:48 +#, c-format +msgid "Version: %s" +msgstr "Versjon: %s" -#: src/as-validator-issue-tag.h:421 -msgid "" -"This tag is a GNOME-specific extension to AppStream and not part of the " -"official specification. Do not expect it to work in all implementations and " -"in all software centers." -msgstr "" +#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions +#: tools/ascli-actions-misc.c:52 +msgid "Distribution metadata:" +msgstr "Distribusjons-metadata:" -#: src/as-validator-issue-tag.h:41 -msgid "This tag requires a type property." -msgstr "" +#: tools/ascli-actions-misc.c:94 +msgid "Iconsets" +msgstr "Ikonsett" -#: data/org.freedesktop.appstream.cli.metainfo.xml:15 -msgid "" -"This tool allows for reading, writing, validating and transformation of " -"AppStream XML or YAML metadata. It also gives access to the system metadata " -"pool, for example to query for software that provides a specific MIME-type, " -"and installing it by its software component identifier." -msgstr "" -"Dette verktøyet tillater lesing, skriving og godkjenning av transformering " -"av AppStream -XML eller -YAML-metadata. Det gir også tilgang til systemets " -"metadatagrunnlag, for eksempel for spørringer til programvare som tilbyr en " -"spesifikk MIME-type, og installasjon av dens " -"programvarekomponentidentifikator." +#: tools/ascli-actions-misc.c:105 +msgid "No icons." +msgstr "Ingen ikoner." -#: src/as-validator-issue-tag.h:388 -msgid "" -"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." -msgstr "" +#. TRANSLATORS: No metainfo files have been found +#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 +msgid "Empty." +msgstr "Tom." -#: tools/appstream-cli.c:648 -msgid "" -"Too many parameters: Need two version numbers or version numbers and a " -"comparison operator." -msgstr "" -"For mange parametre: Trenger to versjonsnummer eller versjonsnummer og " -"sammenligningsoperator." +#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report +#: tools/ascli-actions-misc.c:116 +msgid "Metainfo files:" +msgstr "Metainfofiler:" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:461 -msgid "" -"Type 'console-application' component, but no information about binaries in " -"$PATH was provided via a 'provides/binary' tag." -msgstr "" +#: tools/ascli-actions-misc.c:123 +#, c-format +msgid "Found %i components." +msgstr "Fant %i komponenter." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:491 -msgid "" -"Type 'driver' component, but no modalias information was provided via a " -"provides/modalias tag." -msgstr "" +#. TRANSLATORS: Found metainfo files in legacy directories +#: tools/ascli-actions-misc.c:138 +#, c-format +msgid "Found %i components in legacy paths." +msgstr "Fant %i komponenter på gjengrodde stier." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:485 -msgid "" -"Type 'font' component, but no font information was provided via a 'provides/" -"font' tag." -msgstr "" +#. TRANSLATORS: Status summary in ascli +#: tools/ascli-actions-misc.c:145 +msgid "Summary:" +msgstr "Sammendrag:" -#: src/as-validator.c:333 -msgid "URL format is invalid." -msgstr "" +#: tools/ascli-actions-misc.c:153 +#, c-format +msgid "We have information on %i software components." +msgstr "Vi har informasjon om %i programvarekomponenter." -#: tools/ascli-actions-mdata.c:544 +#: tools/ascli-actions-misc.c:159 #, c-format -msgid "Unable to build the template metainfo file: %s" -msgstr "Kunne ikke bygge malfil for metainfo: %s" +msgid "Error while loading the metadata pool: %s" +msgstr "Feil under innlasting av metadatagrunnlag: %s" -#. TRANSLATORS: User is trying to convert a file in ascli -#: tools/ascli-actions-mdata.c:400 +#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 +#, fuzzy +msgid "You need to specify a metainfo file as input." +msgstr "Du må oppgi ei metadatafil." + +#: tools/ascli-actions-misc.c:188 msgid "" -"Unable to convert file: Could not determine output format, please set it " -"explicitly using '--format='." -msgstr "" -"Kunne ikke konvertere fil: Problem med å bestemme utdataformat, sett det " -"eksplisitt ved bruk av \"--format=\"." +"You need to specify a desktop-entry file to create or augment as output." +msgstr "Du må oppgi en utdata-desktop-fil som skal opprettes eller oppdateres." -#. TRANSLATORS: We failed to find any component in the database, likely due to an error -#: tools/ascli-actions-mdata.c:177 -#, c-format -msgid "Unable to find component matching %s!" -msgstr "Klarer ikke å finne en komponent som samsvarer med %s!" +#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 +#: tools/ascli-actions-misc.c:515 +#, fuzzy, c-format +msgid "Metainfo file '%s' does not exist." +msgstr "Metadatafilen \"%s\" finnes ikke." -#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:266 -#: tools/ascli-actions-pkgmgr.c:93 +#: tools/ascli-actions-misc.c:219 #, c-format -msgid "Unable to find component with ID '%s'!" -msgstr "Klarer ikke å finne komponent med ID \"%s\"!" +msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." +msgstr "" #: tools/ascli-actions-misc.c:224 #, fuzzy, c-format msgid "Unable to load existing desktop-entry file template: %s" msgstr "Klarte ikke å lese .desktop-fila: %s" -#: src/as-validator-issue-tag.h:356 -msgid "Unable to reach remote icon at the given web location - does it exist?" -msgstr "" - -#: src/as-validator-issue-tag.h:378 -msgid "" -"Unable to reach remote location that this URL references - does it exist?" +#: tools/ascli-actions-misc.c:228 +#, c-format +msgid "Creating new desktop-entry file '%s' using data from '%s'" msgstr "" -#: src/as-validator-issue-tag.h:179 -msgid "" -"Unable to reach the screenshot image on its remote location - does the image " -"exist?" +#: tools/ascli-actions-misc.c:284 +msgid "No stock icon name was provided in the metainfo file. Can not continue." msgstr "" -#: src/as-validator-issue-tag.h:184 +#: tools/ascli-actions-misc.c:306 msgid "" -"Unable to reach the screenshot video on its remote location - does the video " -"file exist?" +"No provided binary specified in metainfo file, and no exec command specified " +"via '--exec'. Can not create 'Exec=' key." msgstr "" -#: src/as-validator-issue-tag.h:542 +#: tools/ascli-actions-misc.c:370 +#, fuzzy, c-format +msgid "Unable to save desktop entry file: %s" +msgstr "Klarte ikke å lese .desktop-fila: %s" + +#: tools/ascli-actions-misc.c:393 #, fuzzy -msgid "Unable to read file." -msgstr "Kunne ikke fjerne gammelt hurtiglager." +msgid "You need to specify a NEWS file as input." +msgstr "Du må oppgi ei metadatafil." -#: src/as-validator-issue-tag.h:574 +#: tools/ascli-actions-misc.c:397 #, fuzzy -msgid "Unable to read the .desktop file associated with this component." -msgstr "Klarte ikke å lese .desktop-fila: %s" +msgid "" +"You need to specify a metainfo file to augment, or '-' to print to stdout." +msgstr "Du må oppgi ei metadatafil." -#: tools/ascli-actions-mdata.c:473 -#, c-format -msgid "Unable to read the .desktop file: %s" -msgstr "Klarte ikke å lese .desktop-fila: %s" +#: tools/ascli-actions-misc.c:402 +#, fuzzy +msgid "No output filename specified, modifying metainfo file directly." +msgstr "Utdatafilnavn ikke angitt. Endrer metainfo-fil direkte." -#: src/as-pool.c:606 -msgid "Unable to remove old cache." -msgstr "Kunne ikke fjerne gammelt hurtiglager." +#: tools/ascli-actions-misc.c:509 +#, fuzzy +msgid "You need to specify a NEWS file as output, or '-' to print to stdout." +msgstr "Du må oppgi ei metadatafil." -#: tools/ascli-actions-misc.c:370 -#, fuzzy, c-format -msgid "Unable to save desktop entry file: %s" -msgstr "Klarte ikke å lese .desktop-fila: %s" +#: tools/ascli-actions-misc.c:540 +#, fuzzy +msgid "You need to specify a NEWS format to write the output in." +msgstr "Du må angi ei inn- og ut-datafil." -#: tools/ascli-actions-mdata.c:552 -#, c-format -msgid "Unable to save the template metainfo file: %s" -msgstr "Klarte ikke å lagre malfil for metainfo: %s" +#: tools/ascli-actions-pkgmgr.c:53 +msgid "" +"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" +"\" (part of PackageKit) is available." +msgstr "" +"Fant inget formålstjenlig kommandolinjegrensesnitt for pakkebehandler. Sørg " +"for at \"pkcon\" (som er en del av PackageKit) er installert." #: tools/ascli-actions-pkgmgr.c:67 #, c-format msgid "Unable to spawn package manager: %s" msgstr "Klarte ikke å starte pakkebehandler: %s" -#: tools/ascli-actions-mdata.c:322 +#. TRANSLATORS: We found no distribution package or bundle to install to make this software available +#: tools/ascli-actions-pkgmgr.c:106 #, c-format -msgid "Unable to write to '%s', can not install metainfo file." -msgstr "Klarte ikke å skrive til \"%s\", kan ikke installere metainfo-fil." +msgid "Component '%s' has no installation candidate." +msgstr "Komponenten \"%s\" har ingen installasjonskandidat." -#. TRANSLATORS: ascli has been run with unknown command. -#: tools/appstream-cli.c:1009 -#, c-format -msgid "Unknown command '%s'." -msgstr "Ukjent kommando \"%s\"." +#: tools/ascli-actions-validate.c:176 tools/ascli-actions-validate.c:354 +#, fuzzy, c-format +msgid "File '%s' does not exist." +msgstr "Metadatafilen \"%s\" finnes ikke." -#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. -#: tools/appstream-cli.c:608 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "error"-type hints +#: tools/ascli-actions-validate.c:228 #, c-format -msgid "Unknown compare relation '%s'. Valid values are:" -msgstr "Ukjent sammenligningsrelasjon \"%s\". Gyldige verdier er:" - -#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) -#: tools/appstream-cli.c:675 -msgid "" -"Use the given .desktop file to fill in the basic values of the metainfo file." -msgstr "" -"Bruk gitt .desktop-fil for å fylle inn grunnleggende verdier i metainfofila." - -#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) -#: tools/appstream-cli.c:725 -msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." -msgstr "" - -#. TRANSLATORS: this is the menu spec main category for Utilities -#: src/as-category.c:329 -msgid "Utilities" -msgstr "Verktøy" +msgid "errors: %lu" +msgstr "feil: %lu" -#: tools/appstream-cli.c:856 -msgid "Validate AppStream XML files for issues." -msgstr "Se gjennom AppStream-XML-filer for feil." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "warning"-type hints +#: tools/ascli-actions-validate.c:235 +#, c-format +msgid "warnings: %lu" +msgstr "advarsler: %lu" -#: tools/appstream-cli.c:857 -msgid "Validate an installed file-tree of an application for valid metadata." -msgstr "" -"Se gjennom et filtre tilhørende et installert program for gyldigheten av " -"metadata." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "info"-type hints +#: tools/ascli-actions-validate.c:242 +#, c-format +msgid "infos: %lu" +msgstr "informasjon: %lu" -#: tools/ascli-actions-validate.c:301 tools/ascli-actions-validate.c:442 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "pedantic"-type hints +#: tools/ascli-actions-validate.c:249 #, c-format -msgid "Validation failed: %s" -msgstr "Bekreftelse mislyktes: %s" +msgid "pedantic: %lu" +msgstr "pedantisk: %lu" -#: tools/ascli-actions-validate.c:289 tools/ascli-actions-validate.c:430 +#: tools/ascli-actions-validate.c:268 tools/ascli-actions-validate.c:342 +#, fuzzy +msgid "You need to specify at least one file to validate!" +msgstr "Du må oppgi en fil som skal kontrolleres!" + +#: tools/ascli-actions-validate.c:294 tools/ascli-actions-validate.c:435 msgid "Validation was successful." msgstr "Bekreftet." -#: tools/ascli-actions-validate.c:291 tools/ascli-actions-validate.c:432 +#: tools/ascli-actions-validate.c:296 tools/ascli-actions-validate.c:437 #, c-format msgid "Validation was successful: %s" msgstr "Bekreftet: %s" -#: tools/appstream-cli.c:851 -msgid "Value of the item that should be found." -msgstr "Verdien på elementet som skal finnes." - -#: src/as-category.c:177 -msgctxt "Category of Graphics" -msgid "Vector Graphics" -msgstr "Vektorgrafikk" - -#: tools/ascli-actions-misc.c:48 +#: tools/ascli-actions-validate.c:306 tools/ascli-actions-validate.c:447 #, c-format -msgid "Version: %s" -msgstr "Versjon: %s" - -#: src/as-category.c:180 -msgctxt "Category of Graphics" -msgid "Viewers" -msgstr "Fremvisere" +msgid "Validation failed: %s" +msgstr "Bekreftelse mislyktes: %s" -#: tools/ascli-actions-misc.c:153 +#: tools/ascli-actions-validate.c:368 tools/ascli-actions-validate.c:497 #, c-format -msgid "We have information on %i software components." -msgstr "Vi har informasjon om %i programvarekomponenter." - -#: src/as-category.c:270 -msgctxt "Category of Communication" -msgid "Web Browsers" -msgstr "Nettlesere" +msgid "" +"The validator can not create reports in the '%s' format. You may select " +"'yaml' or 'text' instead." +msgstr "" +"Validatoren kan ikke lage rapporter in '%s'-formatet. Du må velge «yaml» " +"eller «text» i stedet." -#: src/as-category.c:202 -msgctxt "Category of Office" -msgid "Word Processor" -msgstr "Tekstbehandler" +#: tools/ascli-actions-validate.c:390 tools/ascli-actions-validate.c:484 +msgid "You need to specify a root directory to start validation!" +msgstr "Du må oppgi en rotmappe å starte kontrollen!" -#: tools/appstream-cli.c:871 -msgid "Write NEWS text or YAML file with information from a metainfo file." -msgstr "" +#: tools/ascli-utils.c:266 +msgid "Identifier" +msgstr "Identifikator" -#: tools/appstream-cli.c:874 -msgid "" -"You can find information about subcommand-specific options by passing \"--" -"help\" to the subcommand." -msgstr "" -"Du kan finne informasjon om underordnede kommandoer ved å sende \"--help\" " -"til underkommandoen." +#: tools/ascli-utils.c:268 +msgid "Internal ID" +msgstr "Intern-ID" -#. TRANSLATORS: In ascli: The requested action needs higher permissions. -#: tools/ascli-actions-mdata.c:70 -msgid "You might need superuser permissions to perform this action." -msgstr "" -"Det kan hende du trenger superbruker-rettigheter for å utføre denne " -"handlingen." +#: tools/ascli-utils.c:269 +msgid "Name" +msgstr "Navn" -#: tools/ascli-actions-mdata.c:447 -msgid "" -"You need to give an AppStream software component type to generate a " -"template. Possible values are:" -msgstr "" -"Du må angi en AppStream-programvarekomponenttype for å opprette en mal. " -"Mulige verdier er:" +#: tools/ascli-utils.c:270 +msgid "Summary" +msgstr "Sammendrag" -#: tools/appstream-cli.c:579 -msgid "" -"You need to provide at least two version numbers to compare as parameters." -msgstr "Du må oppgi minst to versjonsnummer å sammenligne som parameter." +#: tools/ascli-utils.c:271 +msgid "Package" +msgstr "Pakke" -#: tools/ascli-actions-misc.c:393 -#, fuzzy -msgid "You need to specify a NEWS file as input." -msgstr "Du må oppgi ei metadatafil." +#: tools/ascli-utils.c:272 +msgid "Bundle" +msgstr "Programvarepakke" -#: tools/ascli-actions-misc.c:509 -#, fuzzy -msgid "You need to specify a NEWS file as output, or '-' to print to stdout." -msgstr "Du må oppgi ei metadatafil." +#: tools/ascli-utils.c:273 +msgid "Homepage" +msgstr "Hjemmeside" -#: tools/ascli-actions-misc.c:540 -#, fuzzy -msgid "You need to specify a NEWS format to write the output in." -msgstr "Du må angi ei inn- og ut-datafil." +#: tools/ascli-utils.c:274 +msgid "Icon" +msgstr "Ikon" -#. TRANSLATORS: ascli has been run without command. -#: tools/appstream-cli.c:925 -msgid "You need to specify a command." -msgstr "Du må angi en kommando." +#. developer name +#: tools/ascli-utils.c:294 +msgid "Developer" +msgstr "Utvikler" -#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments -#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. -#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:254 -#: tools/ascli-actions-pkgmgr.c:80 -msgid "You need to specify a component-ID." -msgstr "Du må angi en komponent-ID." +#: tools/ascli-utils.c:300 +msgid "Extends" +msgstr "Utvider" -#: tools/ascli-actions-misc.c:188 -#, fuzzy -msgid "" -"You need to specify a desktop-entry file to create or augment as output." -msgstr "Du må oppgi en fil som skal kontrolleres!" +#: tools/ascli-utils.c:306 +msgid "Description" +msgstr "Beskrivelse" -#: tools/ascli-actions-mdata.c:309 -msgid "You need to specify a metadata file." -msgstr "Du må oppgi ei metadatafil." +#: tools/ascli-utils.c:326 +msgid "Default Screenshot URL" +msgstr "Forvalgt nettadresse for skjermavbildning" -#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 -#, fuzzy -msgid "You need to specify a metainfo file as input." -msgstr "Du må oppgi ei metadatafil." +#. project group +#: tools/ascli-utils.c:333 +msgid "Project Group" +msgstr "Prosjektgruppe" -#: tools/ascli-actions-misc.c:397 -#, fuzzy -msgid "" -"You need to specify a metainfo file to augment, or '-' to print to stdout." -msgstr "Du må oppgi ei metadatafil." +#. license +#: tools/ascli-utils.c:336 +msgid "License" +msgstr "Lisens" -#: tools/ascli-actions-validate.c:385 tools/ascli-actions-validate.c:479 -msgid "You need to specify a root directory to start validation!" -msgstr "Du må oppgi en rotmappe å starte kontrollen!" +#: tools/ascli-utils.c:342 +msgid "Categories" +msgstr "Kategorier" -#: tools/ascli-actions-mdata.c:164 -msgid "You need to specify a term to search for." -msgstr "Du må oppgi et uttrykk å søke etter." +#: tools/ascli-utils.c:350 +msgid "Compulsory for" +msgstr "Obligatorisk for" -#: tools/ascli-actions-mdata.c:357 -msgid "You need to specify an input and output file." -msgstr "Du må angi ei inn- og ut-datafil." +#: tools/ascli-utils.c:378 +msgid "Provided Items" +msgstr "Tilbudte elementer" -#: tools/ascli-actions-validate.c:263 tools/ascli-actions-validate.c:337 -#, fuzzy -msgid "You need to specify at least one file to validate!" -msgstr "Du må oppgi en fil som skal kontrolleres!" +#, fuzzy, c-format +#~ msgid "Unable to open new cache file: %s" +#~ msgstr "Klarte ikke å lese .desktop-fila: %s" -#. TRANSLATORS: List of "grey-listed" words sperated with ";" -#. * Do not translate this list directly. Instead, -#. * provide a list of words in your language that people are likely -#. * to include in a search but that should normally be ignored in -#. * the search. -#. -#: src/as-pool.c:107 -msgid "app;application;package;program;programme;suite;tool" -msgstr "app;applikasjon;program;pakke;programvarepakke;verktøy;redskap" +#~ msgid "" +#~ "AppStream is a cross-distribution specification to provide metadata about " +#~ "software components." +#~ msgstr "" +#~ "AppStream er en spesifikasjon for å gjøre metadata om " +#~ "programvarekomponenter tilgjengelig på tvers av distribusjoner." -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:223 #, c-format -msgid "errors: %lu" -msgstr "feil: %lu" +#~ msgid "Unable to write to '%s', can not install metainfo file." +#~ msgstr "Klarte ikke å skrive til \"%s\", kan ikke installere metainfo-fil." -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:237 #, c-format -msgid "infos: %lu" -msgstr "informasjon: %lu" +#~ msgid "" +#~ "Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " +#~ "suffix." +#~ msgstr "" +#~ "Kan ikke kopiere \"%s\": Fila har ikke en \".metainfo.xml\"- eller \"." +#~ "appdata.xml\"-endelse." -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:244 -#, c-format -msgid "pedantic: %lu" -msgstr "pedantisk: %lu" +#~ msgid "An item type (e.g. lib, bin, python3, …)" +#~ msgstr "En elementtype (f.eks. lib, bin, python3, …)" + +#~ msgid "Get components which provide the given item." +#~ msgstr "Hent inn komponentene som tilbyr det gitte elementet." -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:230 #, c-format -msgid "warnings: %lu" -msgstr "advarsler: %lu" +#~ msgid "Unknown command '%s'." +#~ msgstr "Ukjent kommando \"%s\"." + +#~ msgid "Value of the item that should be found." +#~ msgstr "Verdien på elementet som skal finnes." diff -Nru appstream-0.12.10/po/nl.po appstream-0.14.5/po/nl.po --- appstream-0.12.10/po/nl.po 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/po/nl.po 2021-08-28 20:15:28.000000000 +0000 @@ -3,13 +3,14 @@ # This file is distributed under the same license as the appstream package. # Heimen Stoffels , 2019. # Wouter Wijsman , 2019. +# Benjamin Goodger , 2020. msgid "" msgstr "" "Project-Id-Version: appstream\n" "Report-Msgid-Bugs-To: appstream@lists.freedesktop.org\n" -"POT-Creation-Date: 2020-01-14 01:44+0100\n" -"PO-Revision-Date: 2019-12-19 03:21+0000\n" -"Last-Translator: Wouter Wijsman \n" +"POT-Creation-Date: 2021-08-28 16:09+0200\n" +"PO-Revision-Date: 2020-05-26 19:41+0000\n" +"Last-Translator: Benjamin Goodger \n" "Language-Team: Dutch \n" "Language: nl\n" @@ -17,116 +18,1065 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 3.10-dev\n" +"X-Generator: Weblate 4.1-dev\n" -#: tools/appstream-cli.c:157 +#: data/org.freedesktop.appstream.cli.metainfo.xml:8 +msgid "AppStream CLI" +msgstr "AppStream-CLI" + +#: data/org.freedesktop.appstream.cli.metainfo.xml:9 +msgid "An utility to work with AppStream metadata" +msgstr "Een hulpmiddel om te werken met AppStream-metagegevens" + +#: data/org.freedesktop.appstream.cli.metainfo.xml:12 +msgid "" +"AppStream is a metadata specification which permits software components to " +"provide information about themselves to automated systems and end-users " +"before the software is actually installed. The AppStream project provides " +"facilities to easily access and transform this metadata, as well as a few " +"additional services for building feature-rich software centers and similar " +"applications that make use of software metadata." +msgstr "" + +#: data/org.freedesktop.appstream.cli.metainfo.xml:18 +#, fuzzy +msgid "" +"The appstreamcli command-line tool allows to read, write, and " +"transform AppStream XML or YAML metadata as well as to validate it for " +"compliance with the specification. It also provides easy access to the " +"system metadata pool, for example to query for software that provides a " +"specific Mediatype handler or for installing software by its component " +"identifier." +msgstr "" +"Dit hulpprogramma stelt u in staat AppStream XML of YAML-metagegevens te " +"lezen, schrijven, valideren en wijzigen. Het stelt u tevens in staat om " +"toegang te krijgen tot de systeem-metagegevenspool. U kunt daar bijv. zoeken " +"naar software die een bepaald mimetype aanbiedt en deze installeren middels " +"de ID." + +#: src/as-category.c:66 +msgctxt "Category of AudioVideo" +msgid "Featured" +msgstr "Uitgelicht" + +#: src/as-category.c:69 +msgctxt "Category of AudioVideo" +msgid "Audio Creation & Editing" +msgstr "Audiocreatie en -bewerking" + +#: src/as-category.c:75 +msgctxt "Category of AudioVideo" +msgid "Music Players" +msgstr "Muziekspelers" + +#: src/as-category.c:84 +msgctxt "Category of Development" +msgid "Featured" +msgstr "Uitgelicht" + +#: src/as-category.c:87 +msgctxt "Category of Development" +msgid "Debuggers" +msgstr "Foutopsporingshulpmiddelen" + +#: src/as-category.c:90 +msgctxt "Category of Development" +msgid "IDEs" +msgstr "IDE's" + +#: src/as-category.c:99 +msgctxt "Category of Education" +msgid "Featured" +msgstr "Uitgelicht" + +#: src/as-category.c:102 +msgctxt "Category of Education" +msgid "Astronomy" +msgstr "Astronomie" + +#: src/as-category.c:105 +msgctxt "Category of Education" +msgid "Chemistry" +msgstr "Scheikunde" + +#: src/as-category.c:108 +msgctxt "Category of Education" +msgid "Languages" +msgstr "Talen" + +#: src/as-category.c:112 +msgctxt "Category of Education" +msgid "Math" +msgstr "Wiskunde" + +#: src/as-category.c:121 +msgctxt "Category of Games" +msgid "Featured" +msgstr "Uitgelicht" + +#: src/as-category.c:124 +msgctxt "Category of Games" +msgid "Action" +msgstr "Actie" + +#: src/as-category.c:127 +msgctxt "Category of Games" +msgid "Adventure" +msgstr "Avontuur" + +#: src/as-category.c:130 +msgctxt "Category of Games" +msgid "Arcade" +msgstr "Arcade" + +#: src/as-category.c:133 +msgctxt "Category of Games" +msgid "Blocks" +msgstr "Blokken" + +#: src/as-category.c:136 +msgctxt "Category of Games" +msgid "Board" +msgstr "Bord" + +#: src/as-category.c:139 +msgctxt "Category of Games" +msgid "Card" +msgstr "Kaart" + +#: src/as-category.c:142 +msgctxt "Category of Games" +msgid "Emulators" +msgstr "Emulatoren" + +#: src/as-category.c:145 +msgctxt "Category of Games" +msgid "Kids" +msgstr "Kinderen" + +#: src/as-category.c:148 +msgctxt "Category of Games" +msgid "Logic" +msgstr "Logisch" + +#: src/as-category.c:151 +msgctxt "Category of Games" +msgid "Role Playing" +msgstr "Rollenspellen" + +#: src/as-category.c:154 +msgctxt "Category of Games" +msgid "Sports" +msgstr "Sport" + +#: src/as-category.c:158 +msgctxt "Category of Games" +msgid "Strategy" +msgstr "Strategie" + +#: src/as-category.c:166 +msgctxt "Category of Graphics" +msgid "Featured" +msgstr "Uitgelicht" + +#: src/as-category.c:169 +msgctxt "Category of Graphics" +msgid "3D Graphics" +msgstr "3D-graphics" + +#: src/as-category.c:172 +msgctxt "Category of Graphics" +msgid "Photography" +msgstr "Fotografie" + +#: src/as-category.c:175 +msgctxt "Category of Graphics" +msgid "Scanning" +msgstr "Scannen" + +#: src/as-category.c:178 +msgctxt "Category of Graphics" +msgid "Vector Graphics" +msgstr "Vectorafbeeldingen" + +#: src/as-category.c:181 +msgctxt "Category of Graphics" +msgid "Viewers" +msgstr "Weergevers" + +#: src/as-category.c:189 +msgctxt "Category of Office" +msgid "Featured" +msgstr "Uitgelicht" + +#: src/as-category.c:192 +msgctxt "Category of Office" +msgid "Calendar" +msgstr "Agenda" + +#: src/as-category.c:196 +msgctxt "Category of Office" +msgid "Database" +msgstr "Database" + +#: src/as-category.c:199 +msgctxt "Category of Office" +msgid "Finance" +msgstr "Financiën" + +#: src/as-category.c:203 +msgctxt "Category of Office" +msgid "Word Processor" +msgstr "Tekstverwerkers" + +#: src/as-category.c:212 +msgctxt "Category of Addons" +msgid "Fonts" +msgstr "Lettertypen" + +#: src/as-category.c:215 +msgctxt "Category of Addons" +msgid "Codecs" +msgstr "Codecs" + +#: src/as-category.c:218 +msgctxt "Category of Addons" +msgid "Input Sources" +msgstr "Invoerbronnen" + +#: src/as-category.c:221 +msgctxt "Category of Addons" +msgid "Language Packs" +msgstr "Taalpakketten" + +#: src/as-category.c:224 +msgctxt "Category of Addons" +msgid "Localization" +msgstr "Lokalisering" + +#: src/as-category.c:232 +msgctxt "Category of Science" +msgid "Featured" +msgstr "Uitgelicht" + +#: src/as-category.c:235 +msgctxt "Category of Science" +msgid "Artificial Intelligence" +msgstr "Kunstmatige intelligentie" + +#: src/as-category.c:238 +msgctxt "Category of Science" +msgid "Astronomy" +msgstr "Astronomie" + +#: src/as-category.c:241 +msgctxt "Category of Science" +msgid "Chemistry" +msgstr "Scheikunde" + +#: src/as-category.c:244 +msgctxt "Category of Science" +msgid "Math" +msgstr "Wiskunde" + +#: src/as-category.c:249 +msgctxt "Category of Science" +msgid "Robotics" +msgstr "Robotica" + +#: src/as-category.c:257 +msgctxt "Category of Communication" +msgid "Featured" +msgstr "Uitgelicht" + +#: src/as-category.c:260 +msgctxt "Category of Communication" +msgid "Chat" +msgstr "Chatten" + +#: src/as-category.c:267 +msgctxt "Category of Communication" +msgid "News" +msgstr "Nieuws" + +#: src/as-category.c:271 +msgctxt "Category of Communication" +msgid "Web Browsers" +msgstr "Webbrowsers" + +#: src/as-category.c:279 +msgctxt "Category of Utility" +msgid "Featured" +msgstr "Uitgelicht" + +#: src/as-category.c:282 +msgctxt "Category of Utility" +msgid "Text Editors" +msgstr "Tekstbewerkers" + +#: src/as-category.c:285 +msgctxt "Category of Utility" +msgid "Terminal Emulators" +msgstr "Terminalemulators" + +#: src/as-category.c:288 +msgctxt "Category of Utility" +msgid "File System" +msgstr "Bestandssysteem" + +#: src/as-category.c:291 +msgctxt "Category of Utility" +msgid "System Monitoring" +msgstr "Systeemmonitoring" + +#: src/as-category.c:294 +msgctxt "Category of Utility" +msgid "Security" +msgstr "Veiligheid" + +#. TRANSLATORS: this is the menu spec main category for Audio & Video +#: src/as-category.c:303 +msgid "Audio & Video" +msgstr "Audio & Video" + +#. TRANSLATORS: this is the menu spec main category for Development +#: src/as-category.c:306 +msgid "Developer Tools" +msgstr "Ontwikkelaarshulpmiddelen" + +#. TRANSLATORS: this is the menu spec main category for Education +#: src/as-category.c:309 +msgid "Education" +msgstr "Educatie" + +#. TRANSLATORS: this is the menu spec main category for Game +#: src/as-category.c:312 +msgid "Games" +msgstr "Spellen" + +#. TRANSLATORS: this is the menu spec main category for Graphics +#: src/as-category.c:315 +msgid "Graphics & Photography" +msgstr "Grafisch & Fotografie" + +#. TRANSLATORS: this is the menu spec main category for Office +#: src/as-category.c:318 +msgid "Office" +msgstr "Kantoor" + +#. TRANSLATORS: this is the main category for Add-ons +#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor +#: src/as-category.c:321 tools/ascli-utils.c:371 +msgid "Add-ons" +msgstr "Extensies" + +#. TRANSLATORS: this is the menu spec main category for Science +#: src/as-category.c:324 +msgid "Science" +msgstr "Wetenschap" + +#. TRANSLATORS: this is the menu spec main category for Communication +#: src/as-category.c:327 +msgid "Communication & News" +msgstr "Communicatie & Nieuws" + +#. TRANSLATORS: this is the menu spec main category for Utilities +#: src/as-category.c:330 +msgid "Utilities" +msgstr "Hulpmiddelen" + +#. TRANSLATORS: This is the formatting of English and localized name +#. * of the rating e.g. "Adults Only (solo adultos)" +#: src/as-content-rating.c:298 #, c-format -msgid "'%s' command" -msgstr "Opdracht '%s'" +msgid "%s (%s)" +msgstr "" + +#: src/as-content-rating.c:444 +msgid "General" +msgstr "" + +#: src/as-content-rating.c:453 +msgid "ALL" +msgstr "" + +#: src/as-content-rating.c:457 src/as-content-rating.c:560 +msgid "Adults Only" +msgstr "" + +#: src/as-content-rating.c:459 src/as-content-rating.c:559 +#, fuzzy +msgid "Mature" +msgstr "Uitgelicht" + +#: src/as-content-rating.c:461 src/as-content-rating.c:558 +msgid "Teen" +msgstr "" + +#: src/as-content-rating.c:463 src/as-content-rating.c:557 +msgid "Everyone 10+" +msgstr "" + +#: src/as-content-rating.c:465 src/as-content-rating.c:556 +msgid "Everyone" +msgstr "" + +#: src/as-content-rating.c:467 src/as-content-rating.c:555 +msgid "Early Childhood" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:839 +msgid "No cartoon violence" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:841 +msgid "Cartoon characters in unsafe situations" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:843 +msgid "Cartoon characters in aggressive conflict" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:845 +msgid "Graphic violence involving cartoon characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:850 +msgid "No fantasy violence" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:852 +msgid "Characters in unsafe situations easily distinguishable from reality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:854 +msgid "Characters in aggressive conflict easily distinguishable from reality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:856 +msgid "Graphic violence easily distinguishable from reality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:861 +msgid "No realistic violence" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:863 +msgid "Mildly realistic characters in unsafe situations" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:865 +msgid "Depictions of realistic characters in aggressive conflict" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:867 +msgid "Graphic violence involving realistic characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:872 +msgid "No bloodshed" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:874 +msgid "Unrealistic bloodshed" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:876 +msgid "Realistic bloodshed" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:878 +msgid "Depictions of bloodshed and the mutilation of body parts" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:883 +msgid "No sexual violence" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:885 +msgid "Rape or other violent sexual behavior" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:892 +msgid "No references to alcohol" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:894 +msgid "References to alcoholic beverages" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:896 +msgid "Use of alcoholic beverages" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:902 +msgid "No references to illicit drugs" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:904 +msgid "References to illicit drugs" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:906 +msgid "Use of illicit drugs" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:912 +msgid "No references to tobacco products" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:914 +msgid "References to tobacco products" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:916 +msgid "Use of tobacco products" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:922 +msgid "No nudity of any sort" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:924 +msgid "Brief artistic nudity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:926 +msgid "Prolonged nudity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:932 +msgid "No references to or depictions of sexual nature" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:934 +msgid "Provocative references or depictions" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:936 +msgid "Sexual references or depictions" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:938 +msgid "Graphic sexual behavior" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:943 +msgid "No profanity of any kind" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:945 +msgid "Mild or infrequent use of profanity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:947 +msgid "Moderate use of profanity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:949 +msgid "Strong or frequent use of profanity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:954 +msgid "No inappropriate humor" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:956 +msgid "Slapstick humor" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:958 +msgid "Vulgar or bathroom humor" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:960 +msgid "Mature or sexual humor" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:965 +msgid "No discriminatory language of any kind" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:967 +msgid "Negativity towards a specific group of people" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:969 +msgid "Discrimination designed to cause emotional harm" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:971 +msgid "Explicit discrimination based on gender, sexuality, race or religion" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:976 +msgid "No advertising of any kind" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:978 +msgid "Product placement" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:980 +msgid "Explicit references to specific brands or trademarked products" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:982 +msgid "Users are encouraged to purchase specific real-world items" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:987 +msgid "No gambling of any kind" +msgstr "" -#: src/as-category.c:168 -msgctxt "Category of Graphics" -msgid "3D Graphics" -msgstr "3D-graphics" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:989 +msgid "Gambling on random events using tokens or credits" +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:254 -msgid "" -"A 'requires' or 'recommends' item requires a value to denote a valid " -"relation." +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:991 +msgid "Gambling using “play” money" msgstr "" -#: src/as-validator-issue-tag.h:51 -msgid "" -"A tag must not be localized in metainfo files (upstream " -"metadata). Localize the individual paragraphs instead." +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:993 +msgid "Gambling using real money" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:195 -msgid "" -"A screenshot must contain at least one image or video in order to be useful. " -"Please add an to it." +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:998 +msgid "No ability to spend money" msgstr "" -#: src/as-validator-issue-tag.h:200 -msgid "" -"A screenshot must contain either images or videos, but not both at the same " -"time. Please use this screenshot exclusively for either static images or for " -"videos." +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1000 +msgid "Users are encouraged to donate real money" msgstr "" -#: src/as-category.c:123 -msgctxt "Category of Games" -msgid "Action" -msgstr "Actie" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1003 +msgid "Ability to spend real money in-app" +msgstr "" -#. TRANSLATORS: this is the main category for Add-ons -#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor -#: src/as-category.c:320 tools/ascli-utils.c:398 -msgid "Add-ons" -msgstr "Extensies" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1008 +msgid "No way to chat with other users" +msgstr "" -#: src/as-category.c:126 -msgctxt "Category of Games" -msgid "Adventure" -msgstr "Avontuur" +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1010 +msgid "User-to-user interactions without chat functionality" +msgstr "" -#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) -#: tools/appstream-cli.c:116 -msgid "Also show pedantic hints." -msgstr "Ook pedante tips weergeven." +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1012 +msgid "Moderated chat functionality between users" +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:497 +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1014 +msgid "Uncontrolled chat functionality between users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1019 +msgid "No way to talk with other users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1021 +msgid "Uncontrolled audio or video chat functionality between users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1028 +msgid "No sharing of social network usernames or email addresses" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1030 +msgid "Sharing social network usernames or email addresses" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1037 +msgid "No sharing of user information with third parties" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1039 +msgid "Checking for the latest application version" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1041 +msgid "Sharing diagnostic data that does not let others identify the user" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1043 +msgid "Sharing information that lets others identify the user" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1048 +msgid "No sharing of physical location with other users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1050 +msgid "Sharing physical location with other users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1073 +msgid "No references to homosexuality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1075 +msgid "Indirect references to homosexuality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1077 +msgid "Kissing between people of the same gender" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1079 +msgid "Graphic sexual behavior between people of the same gender" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1084 +msgid "No references to prostitution" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1086 +msgid "Indirect references to prostitution" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1088 +msgid "Direct references to prostitution" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1090 +msgid "Graphic depictions of the act of prostitution" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1095 +msgid "No references to adultery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1097 +msgid "Indirect references to adultery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1099 +msgid "Direct references to adultery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1101 +msgid "Graphic depictions of the act of adultery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1106 +msgid "No sexualized characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1109 +msgid "Scantily clad human characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1111 +msgid "Overtly sexualized human characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1116 +msgid "No references to desecration" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1118 +msgid "Depictions of or references to historical desecration" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1120 +msgid "Depictions of modern-day human desecration" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1122 +msgid "Graphic depictions of modern-day desecration" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1127 +msgid "No visible dead human remains" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1129 +msgid "Visible dead human remains" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1131 +msgid "Dead human remains that are exposed to the elements" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1133 +msgid "Graphic depictions of desecration of human bodies" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1138 +msgid "No references to slavery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1140 +msgid "Depictions of or references to historical slavery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1142 +msgid "Depictions of modern-day slavery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1144 +msgid "Graphic depictions of modern-day slavery" +msgstr "" + +#. TRANSLATORS: We got a 429 error while trying to download data +#: src/as-curl.c:134 +#, c-format +msgid "Failed to download due to server limit" +msgstr "" + +#: src/as-curl.c:141 src/as-curl.c:148 +#, fuzzy, c-format +msgid "Failed to download file: %s" +msgstr "Het lezen van het .desktop-bestand is mislukt: %s" + +#. TRANSLATORS: We tried to download an URL, but received a 404 error code +#: src/as-curl.c:157 +#, c-format +msgid "URL was not found on the server." +msgstr "" + +#. TRANSLATORS: We received an uexpected HTTP status code while talking to a server, likely an error +#: src/as-curl.c:164 +#, c-format +msgid "Unexpected status code: %ld" +msgstr "" + +#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty +#: src/as-curl.c:247 +#, c-format +msgid "Retrieved file size was zero." +msgstr "" + +#. TRANSLATORS: List of "grey-listed" words sperated with ";" +#. * Do not translate this list directly. Instead, +#. * provide a list of words in your language that people are likely +#. * to include in a search but that should normally be ignored in +#. * the search. +#. +#: src/as-pool.c:111 +msgid "app;application;package;program;programme;suite;tool" +msgstr "" +"app;applicatie;pakket;programma;toepassing;hulpmiddel;hulpprogramma;" +"ontwikkeling" + +#: src/as-pool.c:620 +msgid "Unable to remove old cache." +msgstr "Kan oude cache niet opschonen." + +#: src/as-pool.c:963 +msgid "Metadata files have errors:" +msgstr "Metagegevens-bestanden bevatten fouten:" + +#: src/as-pool.c:1370 msgid "" -"An 'extends' tag is specified, but the component is not of type 'addon', " -"'localization' or 'repository'." +"Many components have been recognized as invalid. See debug output for " +"details." msgstr "" +"Vele onderdelen zijn herkend als ongeldig. Bekijk de foutopsporingsuitvoer " +"voor meer informatie." -#: tools/appstream-cli.c:850 -msgid "An item type (e.g. lib, bin, python3, …)" -msgstr "Een item-type (bijv. lib, bin, python3, ...)" +#: src/as-pool.c:1996 +#, c-format +msgid "Cache location '%s' is not writable." +msgstr "De cache-locatie '%s' is niet beschrijfbaar." -#: data/org.freedesktop.appstream.cli.metainfo.xml:9 -msgid "An utility to work with AppStream metadata" -msgstr "Een hulpmiddel om te werken met AppStream-metagegevens" +#: src/as-pool.c:2109 +#, fuzzy +msgid "" +"The AppStream system cache was updated, but some components were ignored. " +"Refer to the verbose log for more information." +msgstr "" +"De AppStream-systeemcache is bijgewerkt maar er zijn fouten gevonden die " +"mogelijk kunnen leiden tot ontbrekende metagegevens. Bekijk het uitgebreide " +"log om meer informatie te verkrijgen." -#: data/org.freedesktop.appstream.cli.metainfo.xml:8 -msgid "AppStream CLI" -msgstr "AppStream-CLI" +#: src/as-pool.c:2111 +#, fuzzy, c-format +msgid "" +"The AppStream system cache was updated, but problems were found which " +"resulted in metadata being ignored: %s" +msgstr "" +"De AppStream-systeemcache is bijgewerkt, maar er zijn problemen gevonden: %s" -#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. -#: tools/appstream-cli.c:947 +#: src/as-pool.c:2125 #, c-format msgid "" -"AppStream CLI tool version: %s\n" -"AppStream library version: %s" +"AppStream system cache refresh failed. Turn on verbose mode to get detailed " +"issue information." msgstr "" -"AppStream CLI-hulpmiddelversie: %s\n" -"AppStream-bibliotheekversie: %s" +"Het verversing van de AppStream-systeemcache was mislukt. Schakel de verbose-" +"modus in om gedetailleerde informatie over dit probleem te verkrijgen." -#. TRANSLATORS: In the status report of ascli: Header -#: tools/ascli-actions-misc.c:47 -msgid "AppStream Status:" -msgstr "AppStream-status:" +#: src/as-provided.c:144 +msgid "Libraries" +msgstr "Bibliotheken" -#. we performed a cache refresh -#. TRANSLATORS: Updating the metadata cache succeeded -#: tools/ascli-actions-mdata.c:80 -msgid "AppStream cache update completed successfully." -msgstr "De AppStream-cache is succesvol bijgewerkt." +#: src/as-provided.c:146 +msgid "Binaries" +msgstr "Uitvoerbare bestanden" -#. cache wasn't updated, so the update wasn't necessary -#: tools/ascli-actions-mdata.c:86 -msgid "AppStream cache update is not necessary." -msgstr "Het bijwerken van de AppStream-cache is niet nodig." +#: src/as-provided.c:148 +msgid "Media types" +msgstr "Mediatypen" -#. TRANSLATORS: This is the header to the --help menu for subcommands -#. TRANSLATORS: This is the header to the --help menu -#: tools/appstream-cli.c:154 tools/appstream-cli.c:843 -msgid "AppStream command-line interface" -msgstr "AppStream opdrachtregel-interface" +#: src/as-provided.c:150 +msgid "Fonts" +msgstr "Lettertypen" + +#: src/as-provided.c:152 +msgid "Modaliases" +msgstr "Modaliassen" + +#: src/as-provided.c:154 +msgid "Python (Version 2)" +msgstr "Python (Versie 2)" + +#: src/as-provided.c:156 +msgid "Python 3" +msgstr "Python 3" + +#: src/as-provided.c:158 +msgid "D-Bus System Services" +msgstr "D-Bus-systeemdiensten" + +#: src/as-provided.c:160 +msgid "D-Bus Session Services" +msgstr "D-Bus-sessiediensten" + +#: src/as-provided.c:162 +msgid "Runtime Firmware" +msgstr "Runtime-firmware" + +#: src/as-provided.c:164 +msgid "Flashed Firmware" +msgstr "Geflashte firmware" + +#: src/as-provided.c:166 +msgid "Component" +msgstr "Onderdeel" + +#: src/as-validator-issue-tag.h:41 +msgid "This tag requires a type property." +msgstr "" + +#: src/as-validator-issue-tag.h:46 +msgid "Tags of this name are not permitted in this section." +msgstr "" + +#: src/as-validator-issue-tag.h:51 +msgid "" +"A tag must not be localized in metainfo files (upstream " +"metadata). Localize the individual paragraphs instead." +msgstr "" +"Een -tag moet niet in MetaInfo-bestanden (upstream metadata) " +"gelokaliseerd worden. Lokaliseren in plaats daarvan de paragrafen " +"afzonderlijk." + +#: src/as-validator-issue-tag.h:57 +msgid "" +"This element (paragraph, list, etc.) of a tag must not be " +"localized individually in collection metadata. Localize the whole " +" tag instead. The AppStream collection metadata generator (e." +"g. `appstream-generator`) will already do the right thing when compiling the " +"data." +msgstr "" #: src/as-validator-issue-tag.h:63 msgid "" @@ -135,40 +1085,36 @@ "an invalid XML tag that would not be rendered correctly in applications " "supporting the metainfo specification." msgstr "" +"AppStream-omschrijvingen steunen een beperkte set van tags om tekst te " +"opmaken: paragrafen (`

                                                                                                                                                                                                                                                            `) en lijsten (`

                                                                                                                                                                                                                                                              `, `
                                                                                                                                                                                                                                                                `). Deze " +"omschrijving-opmaak bevat een ongeldige XML tag die zou verkeerd gerendeerd " +"door applicaties die de MetaInfo-specificatie ondersteunen." -#: data/org.freedesktop.appstream.cli.metainfo.xml:12 -#, fuzzy +#: src/as-validator-issue-tag.h:69 msgid "" -"AppStream is a cross-distribution specification to provide metadata about " -"software components." +"This description paragraph contains invalid markup. Currently, only " +"and are permitted." msgstr "" -"AppStream is een distributie-onafhankelijke specificatie die metagegevens " -"beschikbaar stelt over software-onderdelen." -#: src/as-pool.c:1937 -#, fuzzy, c-format -msgid "" -"AppStream system cache refresh failed. Turn on verbose mode to get detailed " -"issue information." +#: src/as-validator-issue-tag.h:74 +msgid "Enumerations must only have list items (
                                                                                                                                                                                                                                                              1. ) as children." msgstr "" -"Het bijwerken van de AppStream-cache is mislukt. Schakel de uitgebreide " -"modus in om meer informatie over het probleem te verkrijgen." - -#. TRANSLATORS: Output if appstreamcli --version is executed. -#: tools/appstream-cli.c:944 -#, c-format -msgid "AppStream version: %s" -msgstr "AppStream-versie: %s" +"Opsommingen moeten alleen lijstonderdelen (
                                                                                                                                                                                                                                                              2. ) als onderliggende " +"elementen hebben." -#: src/as-category.c:129 -msgctxt "Category of Games" -msgid "Arcade" -msgstr "Arcade" +#: src/as-validator-issue-tag.h:79 +msgid "" +"The first `description/p` paragraph of this component might be too short (< " +"80 characters). Please consider starting with a longer paragraph to improve " +"how the description looks like in software centers and to provide more " +"detailed information on this component immediately in the first paragraph." +msgstr "" -#: src/as-category.c:234 -msgctxt "Category of Science" -msgid "Artificial Intelligence" -msgstr "Kunstmatige intelligentie" +#: src/as-validator-issue-tag.h:86 +msgid "" +"The description contains a web URL in plain text. This is not allowed, " +"please use the tag instead to share links." +msgstr "" #: src/as-validator-issue-tag.h:91 msgid "" @@ -176,1722 +1122,1722 @@ "this context. Having multiple tags of this kind is not valid." msgstr "" -#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command -#: tools/appstream-cli.c:766 -msgid "Assume the input file is in the selected format ('yaml' or 'text')." +#: src/as-validator-issue-tag.h:96 +msgid "" +"The mentioned tag is empty, which is highly likely not intended as it should " +"have content." msgstr "" -#: src/as-category.c:101 -msgctxt "Category of Education" -msgid "Astronomy" -msgstr "Astronomie" - -#: src/as-category.c:237 -msgctxt "Category of Science" -msgid "Astronomy" -msgstr "Astronomie" - -#. TRANSLATORS: this is the menu spec main category for Audio & Video -#: src/as-category.c:302 -msgid "Audio & Video" -msgstr "Audio & Video" - -#: src/as-category.c:68 -msgctxt "Category of AudioVideo" -msgid "Audio Creation & Editing" -msgstr "Audiocreatie en -bewerking" - -#: tools/ascli-actions-misc.c:219 -#, c-format -msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." +#: src/as-validator-issue-tag.h:101 +msgid "" +"The component ID is required to follow a reverse domain-name scheme for its " +"name. See the AppStream specification for details." msgstr "" -#: src/as-provided.c:146 -msgid "Binaries" -msgstr "Uitvoerbare bestanden" - -#: src/as-category.c:132 -msgctxt "Category of Games" -msgid "Blocks" -msgstr "Blokken" - -#: src/as-category.c:135 -msgctxt "Category of Games" -msgid "Board" -msgstr "Bord" - -#: tools/ascli-utils.c:299 -msgid "Bundle" -msgstr "Bundel" - -#: src/as-pool.c:1828 -#, c-format -msgid "Cache location '%s' is not writable." -msgstr "De cache-locatie '%s' is niet beschrijfbaar." - -#: src/as-category.c:191 -msgctxt "Category of Office" -msgid "Calendar" -msgstr "Agenda" - -#: tools/ascli-actions-mdata.c:327 -#, c-format +#: src/as-validator-issue-tag.h:106 msgid "" -"Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " -"suffix." +"The component ID is not a reverse domain-name. Please update the ID to avoid " +"future issues and be compatible with all AppStream implementations.\n" +"You may also consider to update the name of the accompanying .desktop file " +"to follow the latest version of the Desktop-Entry specification and use a " +"rDNS name for it as well. In any case, do not forget to mention the new " +"desktop-entry in a tag for this component to keep the " +"application launchable from software centers and the .desktop file data " +"associated with the metainfo data." msgstr "" -"Het kopiëren van '%s' is mislukt: het bestand heeft geen 'metainfo.xml' of '." -"appdata.xml'-achtervoegsel." - -#: src/as-category.c:138 -msgctxt "Category of Games" -msgid "Card" -msgstr "Kaart" - -#: tools/ascli-utils.c:369 -msgid "Categories" -msgstr "Categorieën" - -#: src/as-category.c:259 -msgctxt "Category of Communication" -msgid "Chat" -msgstr "Chatten" - -#: src/as-category.c:104 -msgctxt "Category of Education" -msgid "Chemistry" -msgstr "Scheikunde" - -#: src/as-category.c:240 -msgctxt "Category of Science" -msgid "Chemistry" -msgstr "Scheikunde" - -#: src/as-category.c:214 -msgctxt "Category of Addons" -msgid "Codecs" -msgstr "Codecs" - -#. TRANSLATORS: this is the menu spec main category for Communication -#: src/as-category.c:326 -msgid "Communication & News" -msgstr "Communicatie & Nieuws" - -#: tools/appstream-cli.c:866 -msgid "Compare two version numbers." -msgstr "Vergelijk twee versienummers." - -#: src/as-provided.c:166 -msgid "Component" -msgstr "Onderdeel" - -#. TRANSLATORS: We found no distribution package or bundle to install to make this software available -#: tools/ascli-actions-pkgmgr.c:106 -#, c-format -msgid "Component '%s' has no installation candidate." -msgstr "Het onderdeel '%s' bevat geen installatie-kandidaat." -#: tools/ascli-utils.c:377 -msgid "Compulsory for" -msgstr "Verplicht voor" - -#: src/as-validator-issue-tag.h:361 -msgid "Consider using a secure (HTTPS) URL for the remote icon link." +#: src/as-validator-issue-tag.h:114 +msgid "" +"The component ID might not follow the reverse domain-name schema (the TLD " +"used by it is not known to the validator)." msgstr "" -#: src/as-validator-issue-tag.h:383 -msgid "Consider using a secure (HTTPS) URL for this web link." +#: src/as-validator-issue-tag.h:119 +msgid "" +"The component ID contains an invalid character. Only ASCII characters, dots " +"and numbers are permitted." msgstr "" -#: src/as-validator-issue-tag.h:189 +#: src/as-validator-issue-tag.h:124 msgid "" -"Consider using a secure (HTTPS) URL to reference this screenshot image or " -"video." +"The component ID contains a hyphen/minus. Using a hyphen is strongly " +"discouraged, to improve interoperability with other tools such as D-Bus. A " +"good option is to replace any hyphens with underscores (`_`)." msgstr "" -#: tools/appstream-cli.c:870 -msgid "Convert a YAML or text NEWS file into metainfo releases." +#: src/as-validator-issue-tag.h:130 +msgid "" +"The component ID contains a segment starting with a number. Starting a " +"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " +"interoperability with other tools such as D-Bus. Ideally, prefix these " +"segments with an underscore." msgstr "" -#. TRANSLATORS: "convert" command in ascli. "Collection XML" is a term describing a specific type of AppStream XML data. -#: tools/appstream-cli.c:865 -msgid "Convert collection XML to YAML or vice versa." -msgstr "Een collectie XML naar YAML (of vice-versa) converteren." - -#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results -#: tools/ascli-actions-mdata.c:228 -#, c-format -msgid "Could not find component providing '%s::%s'." -msgstr "Het onderdeel dat '%s::%s' bevat kan niet worden gevonden." - -#: tools/appstream-cli.c:869 -msgid "Create a XDG desktop-entry file from a metainfo file." +#: src/as-validator-issue-tag.h:136 +msgid "The component ID should only contain lowercase letters." msgstr "" -#: tools/appstream-cli.c:868 +#: src/as-validator-issue-tag.h:141 msgid "" -"Create a template for a metainfo file (to be filled out by the upstream " -"project)." +"The component is part of the Freedesktop project, but its ID does not start " +"with fd.o's reverse-DNS name (\"org.freedesktop\")." msgstr "" -"Creëer een sjabloon voor een metainformatie-bestand (kan worden ingevuld " -"door een upstream-project)." -#: tools/ascli-actions-misc.c:228 -#, c-format -msgid "Creating new desktop-entry file '%s' using data from '%s'" +#: src/as-validator-issue-tag.h:146 +msgid "" +"The component is part of the KDE project, but its ID does not start with " +"KDEs reverse-DNS name (\"org.kde\")." msgstr "" -#: src/as-provided.c:160 -msgid "D-Bus Session Services" -msgstr "D-Bus-sessiediensten" - -#: src/as-provided.c:158 -msgid "D-Bus System Services" -msgstr "D-Bus-systeemdiensten" - -#: src/as-category.c:195 -msgctxt "Category of Office" -msgid "Database" -msgstr "Database" - -#: src/as-category.c:86 -msgctxt "Category of Development" -msgid "Debuggers" -msgstr "Foutopsporingshulpmiddelen" - -#: tools/ascli-utils.c:353 -msgid "Default Screenshot URL" -msgstr "Standaard schermafbeelding-URL" - -#. TRANSLATORS: ascli flag description for: --format -#: tools/appstream-cli.c:83 -msgid "Default metadata format (valid values are 'xml' and 'yaml')." +#: src/as-validator-issue-tag.h:151 +msgid "" +"The component is part of the GNOME project, but its ID does not start with " +"GNOMEs reverse-DNS name (\"org.gnome\")." msgstr "" -"Standaard opgegeven metagegevens-soort (geldige waarden zijn 'xml' en " -"'yaml')." - -#: tools/ascli-utils.c:333 -msgid "Description" -msgstr "Omschrijving" -#. developer name -#: tools/ascli-utils.c:321 -msgid "Developer" -msgstr "Ontwikkelaar" +#: src/as-validator-issue-tag.h:156 +msgid "The SPDX license expression is invalid and could not be parsed." +msgstr "" -#. TRANSLATORS: this is the menu spec main category for Development -#: src/as-category.c:305 -msgid "Developer Tools" -msgstr "Ontwikkelaarshulpmiddelen" +#: src/as-validator-issue-tag.h:161 +msgid "" +"The license ID was not found in the SPDX database. Please check that the " +"license ID is written in an SPDX-conformant way and is a valid free software " +"license." +msgstr "" -#: tools/appstream-cli.c:862 -msgid "Display status information about available AppStream metadata." -msgstr "Statusinformatie weergeven over beschikbare AppStream-metagegevens." +#: src/as-validator-issue-tag.h:167 +msgid "" +"The metadata itself seems to be licensed under a complex collection of " +"licenses. Please license the data under a simple permissive license, like " +"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " +"collections without the risk of license violations due to mutually " +"incompatible licenses." +msgstr "" -#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions -#: tools/ascli-actions-misc.c:52 -msgid "Distribution metadata:" -msgstr "Distributie-metagegevens:" +#: src/as-validator-issue-tag.h:173 +msgid "" +"The metadata itself does not seem to be licensed under a permissive license. " +"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " +"0BSD to allow distributors to include it in mixed data collections without " +"the risk of license violations due to mutually incompatible licenses." +msgstr "" -#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) -#: tools/appstream-cli.c:126 -msgid "Do not use network access." -msgstr "Geen netwerkverbinding gebruiken." +#: src/as-validator-issue-tag.h:179 +msgid "" +"The update-contact does not appear to be a valid email address (escaping of " +"`@` is only allowed as `_at_` or `_AT_`)." +msgstr "" -#. TRANSLATORS: ascli flag description for: --no-color -#: tools/appstream-cli.c:908 -msgid "Don't show colored output." -msgstr "Geen gekleurde uitvoer weergeven." +#: src/as-validator-issue-tag.h:184 +msgid "" +"Unable to reach the screenshot image on its remote location - does the image " +"exist?" +msgstr "" -#: tools/appstream-cli.c:853 -msgid "Dump raw XML metadata for a component matching the ID." +#: src/as-validator-issue-tag.h:189 +msgid "" +"Unable to reach the screenshot video on its remote location - does the video " +"file exist?" msgstr "" -"Onbewerkte XML-metagegevens dumpen voor een onderdeel dat overeenkomt met " -"het ID." -#. TRANSLATORS: this is the menu spec main category for Education -#: src/as-category.c:308 -msgid "Education" -msgstr "Educatie" +#: src/as-validator-issue-tag.h:194 +msgid "" +"Consider using a secure (HTTPS) URL to reference this screenshot image or " +"video." +msgstr "" +"Overwegen te gebruiken een beveiligde (HTTPS) URL om naar deze screenshot-" +"afbeelding of -video te verwijzen." -#. TRANSLATORS: No metainfo files have been found -#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 -msgid "Empty." -msgstr "Leeg." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:200 +msgid "" +"A screenshot must contain at least one image or video in order to be useful. " +"Please add an to it." +msgstr "" +"Een screenshot moet ten minste één afbeelding of video bevatten om nuttig te " +"zijn. Gelieve voeg er een aan toe." -#: src/as-category.c:141 -msgctxt "Category of Games" -msgid "Emulators" -msgstr "Emulatoren" +#: src/as-validator-issue-tag.h:205 +msgid "" +"A screenshot must contain either images or videos, but not both at the same " +"time. Please use this screenshot exclusively for either static images or for " +"videos." +msgstr "" +"Een screenshot moet afbeeldingen of video’s, maar niet allebei tegelijk. " +"Gelieve gebruik deze screenshot voor statische afbeeldingen of video’s " +"exclusief." -#. TRANSLATORS: ascli flag description for: --force -#: tools/appstream-cli.c:245 -msgid "Enforce a cache refresh." -msgstr "Een cache-verversing forceren." +#: src/as-validator-issue-tag.h:211 +msgid "The screenshot does not have a caption text. Consider adding one." +msgstr "" -#: src/as-validator-issue-tag.h:74 -msgid "Enumerations must only have list items (
                                                                                                                                                                                                                                                              3. ) as children." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:217 +msgid "" +"The screenshot video does not specify which video codec was used in a " +"`codec` property." msgstr "" -#: tools/ascli-actions-misc.c:159 -#, c-format -msgid "Error while loading the metadata pool: %s" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:223 +msgid "" +"The screenshot video does not specify which container format was used in a " +"`container` property." msgstr "" -"Er is een fout opgetreden tijdens het laden van de metagegevens-pool: %s" -#: tools/ascli-utils.c:327 -msgid "Extends" -msgstr "Breidt uit" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:229 +msgid "" +"The selected video codec is not supported by AppStream and software centers " +"may not be able to play the video. Only the AV1 and VP9 codecs are currently " +"supported, using `av1` and `vp9` as values for the `codec` property." +msgstr "" -#: src/as-category.c:65 -msgctxt "Category of AudioVideo" -msgid "Featured" -msgstr "Uitgelicht" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:236 +msgid "" +"The selected video container format is not supported by AppStream and " +"software centers may not be able to play the video. Only the WebM and " +"Matroska video containers are currently supported, using `webm` and `mkv` as " +"values for the `container` property." +msgstr "" -#: src/as-category.c:256 -msgctxt "Category of Communication" -msgid "Featured" -msgstr "Uitgelicht" +#: src/as-validator-issue-tag.h:242 +msgid "" +"For videos, only the WebM and Matroska (.mkv) container formats are " +"currently supported. The file extension of the referenced video does not " +"belong to either of these formats." +msgstr "" +"Voor video’s, alleen de WebM en Matroska (`.mkv`) containerformaten zijn nu " +"ondersteund. De bestandsextensie van de gerefereerde video behoort tot geen " +"van beide formaten." -#: src/as-category.c:83 -msgctxt "Category of Development" -msgid "Featured" -msgstr "Uitgelicht" +#: src/as-validator-issue-tag.h:248 +msgid "" +"The default screenshot of a software component must not be a video. Use a " +"static image as default screenshot and set the video as a secondary " +"screenshot." +msgstr "" -#: src/as-category.c:98 -msgctxt "Category of Education" -msgid "Featured" -msgstr "Uitgelicht" +#: src/as-validator-issue-tag.h:253 +msgid "" +"Found an unknown tag in a requires/recommends group. This is likely an " +"error, because a component relation of this type is unknown." +msgstr "" -#: src/as-category.c:120 -msgctxt "Category of Games" -msgid "Featured" -msgstr "Uitgelicht" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:259 +msgid "" +"A `requires` or `recommends` item requires a value to denote a valid " +"relation." +msgstr "" +"Een `requires`- of `recommends`-deel vereist een waarde om een geldige " +"relatie aan te duiden." -#: src/as-category.c:165 -msgctxt "Category of Graphics" -msgid "Featured" -msgstr "Uitgelicht" +#. TRANSLATORS: `version` is an AppStream XML property. Please do not translate it. +#: src/as-validator-issue-tag.h:265 +msgid "" +"Found `version` property on required/recommended item of a type that should " +"not have or require a version." +msgstr "" -#: src/as-category.c:188 -msgctxt "Category of Office" -msgid "Featured" -msgstr "Uitgelicht" +#. TRANSLATORS: `version` and `compare` are AppStream XML properties. Please do not translate them. +#: src/as-validator-issue-tag.h:271 +msgid "" +"Found `version` property on this required/recommended item, but not " +"`compare` property. It is recommended to explicitly define a comparison " +"operation." +msgstr "" -#: src/as-category.c:231 -msgctxt "Category of Science" -msgid "Featured" -msgstr "Uitgelicht" +#: src/as-validator-issue-tag.h:276 +msgid "" +"Invalid comparison operation on relation item. Only eq/ne/lt/gt/le/ge are " +"permitted." +msgstr "" -#: src/as-category.c:278 -msgctxt "Category of Utility" -msgid "Featured" -msgstr "Uitgelicht" +#: src/as-validator-issue-tag.h:281 +msgid "" +"The relation item has a comparison operation set, but does not support any " +"comparisons." +msgstr "" -#: tools/ascli-actions-validate.c:171 tools/ascli-actions-validate.c:349 -#, fuzzy, c-format -msgid "File '%s' does not exist." -msgstr "Het metagegevens-bestand '%s' bestaat niet." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:287 +msgid "" +"Found a memory size relation in a `requires` tag. This means users will not " +"be able to even install the component without having enough RAM. This is " +"usually not intended and you want to use `memory` in the `recommends` tag " +"instead." +msgstr "" -#: src/as-category.c:287 -msgctxt "Category of Utility" -msgid "File System" -msgstr "Bestandssysteem" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:294 +msgid "" +"Found a user input control relation in a `requires` tag. This means users " +"will not be able to even install the component without having the defined " +"input control available on the system. This is usually not intended and you " +"want to use `control` in the `recommends` tag instead." +msgstr "" -#: src/as-category.c:198 -msgctxt "Category of Office" -msgid "Finance" -msgstr "Financiën" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:301 +msgid "" +"This `control` item defines an unknown input method and is invalid. Check " +"the specification for a list of permitted values." +msgstr "" -#: src/as-provided.c:164 -msgid "Flashed Firmware" -msgstr "Geflashte firmware" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:307 +msgid "" +"This `display_length` item contains an invalid display length. Its value " +"must either be a shorthand string, or positive integer value denoting " +"logical pixels. Please refer to the AppStream specification for more " +"information on this tag." +msgstr "" -#: src/as-provided.c:150 -msgid "Fonts" -msgstr "Lettertypen" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:314 +msgid "" +"This `side` property of this `display_length` item contains an invalid " +"value. It must either be `shortest` or `longest`, or unset to imply " +"`shortest` to make the item value refer to either the shortest or longest " +"side of the display." +msgstr "" -#: src/as-category.c:211 -msgctxt "Category of Addons" -msgid "Fonts" -msgstr "Lettertypen" +#: src/as-validator-issue-tag.h:320 +#, fuzzy +msgid "" +"The set component type is not a recognized, valid AppStream component type." +msgstr "" +"Het software-onderdeel van het type '%s' is ongeldig in AppStream. Geldige " +"waarden zijn:" -#: src/as-validator-issue-tag.h:237 +#: src/as-validator-issue-tag.h:325 msgid "" -"For videos, only the WebM and Matroska (.mkv) container formats are " -"currently supported. The file extension of the referenced video does not " -"belong to either of these formats." +"The component has a priority value set. This is not allowed in metainfo " +"files." msgstr "" -#. TRANSLATORS: ascli flag description for: --format when validating XML files -#: tools/appstream-cli.c:131 -#, fuzzy -msgid "Format of the generated report (valid values are 'text' and 'yaml')." +#: src/as-validator-issue-tag.h:330 +msgid "" +"The component has a `merge` method defined. This is not allowed in metainfo " +"files." msgstr "" -"Standaard opgegeven metagegevens-soort (geldige waarden zijn 'xml' en " -"'yaml')." -#. TRANSLATORS: Found metainfo files in legacy directories -#: tools/ascli-actions-misc.c:138 -#, c-format -msgid "Found %i components in legacy paths." -msgstr "%i onderdelen gevonden in verouderde paden." +#: src/as-validator-issue-tag.h:335 +msgid "The component is missing an ID ( tag)." +msgstr "" -#: tools/ascli-actions-misc.c:123 -#, c-format -msgid "Found %i components." -msgstr "%i onderdelen gevonden." +#: src/as-validator-issue-tag.h:340 +msgid "The component is missing a name ( tag)." +msgstr "" -#. TRANSLATORS: 'version' is an AppStream XML property. Please do not translate it. -#: src/as-validator-issue-tag.h:260 -msgid "" -"Found 'version' property on required/recommended item of a type that should " -"not have or require a version." +#: src/as-validator-issue-tag.h:345 +msgid "The component is missing a summary ( tag)." msgstr "" -#. TRANSLATORS: 'version' and 'compare' are AppStream XML properties. Please do not translate them. -#: src/as-validator-issue-tag.h:266 +#: src/as-validator-issue-tag.h:350 msgid "" -"Found 'version' property on this required/recommended item, but not " -"'compare' property. It is recommended to explicitly define a comparison " -"operation." +"The tag still contains a `type` property, probably from an old " +"conversion to the recent metainfo format." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:277 +#: src/as-validator-issue-tag.h:355 msgid "" -"Found a memory size dependency in a 'requires' tag. This means users will " -"not be able to even install the component without having enough RAM. This is " -"usually not intended and you want to use 'memory' in the 'recommends' tag " -"instead." +"The `pkgname` tag appears multiple times. You should evaluate creating a " +"metapackage containing the metainfo and .desktop files in order to avoid " +"defining multiple package names per component." msgstr "" -#: src/as-validator-issue-tag.h:248 -msgid "" -"Found an unknown tag in a requires/recommends group. This is likely an " -"error, because a component relation of this type is unknown." +#: src/as-validator-issue-tag.h:360 +msgid "The component name should (likely) not end with a dot (`.`)." +msgstr "" + +#: src/as-validator-issue-tag.h:365 +msgid "The component summary should not end with a dot (`.`)." +msgstr "" + +#: src/as-validator-issue-tag.h:370 +msgid "The component summary must not contain tabs or linebreaks." +msgstr "" + +#: src/as-validator-issue-tag.h:375 +msgid "The summary must not contain any URL. Use the tags for links." msgstr "" -#: src/as-validator-issue-tag.h:427 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:381 msgid "" -"Found invalid tag. Non-standard tags should be prefixed with 'x-'. AppStream " -"also provides the tag to add arbitrary custom data to metainfo " -"files. This tag is read by AppStream libraries and may be useful instead of " -"defining new custom toplevel or 'x-'-prefixed tags if you just want to add " -"custom data to a metainfo file." +"Icons of type `stock` or `cached` must not contain an URL, a full or an " +"relative path to the icon. Only file basenames or stock names are allowed." msgstr "" -#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. -#: src/as-validator.c:526 src/as-validator.c:939 src/as-validator.c:1024 -#: src/as-validator.c:1237 -#, c-format -msgid "Found: %s - Allowed: %s" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:388 +msgid "Icons of type `remote` must contain an URL to the referenced icon." msgstr "" -#. TRANSLATORS: this is the menu spec main category for Game -#: src/as-category.c:311 -msgid "Games" -msgstr "Spellen" +#: src/as-validator-issue-tag.h:393 +msgid "Unable to reach remote icon at the given web location - does it exist?" +msgstr "" -#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command -#: tools/appstream-cli.c:814 -msgid "Generate the output in the selected format ('yaml' or 'text')." +#: src/as-validator-issue-tag.h:398 +msgid "Consider using a secure (HTTPS) URL for the remote icon link." msgstr "" +"Overwegen te gebruiken een beveiligde (HTTPS) URL voor de link naar het " +"externe pictogram." -#: tools/appstream-cli.c:849 -msgid "Get components which provide the given item." -msgstr "Onderdelen verkrijgen die het opgegeven item beschikbaar stellen." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:404 +msgid "" +"Metainfo files may only contain icons of type `stock` or `remote`, the set " +"type is not allowed." +msgstr "" -#: tools/appstream-cli.c:848 -msgid "Get information about a component by its ID." -msgstr "Informatie verkrijgen over een onderdeel door de ID." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:410 +msgid "" +"Invalid `type` property for this `url` tag. URLs of this type are not known " +"in the AppStream specification." +msgstr "" -#. TRANSLATORS: this is the menu spec main category for Graphics -#: src/as-category.c:314 -msgid "Graphics & Photography" -msgstr "Grafisch & Fotografie" +#: src/as-validator-issue-tag.h:415 +msgid "" +"Unable to reach remote location that this URL references - does it exist?" +msgstr "" -#: tools/ascli-utils.c:300 -msgid "Homepage" -msgstr "Website" +#: src/as-validator-issue-tag.h:420 +msgid "Consider using a secure (HTTPS) URL for this web link." +msgstr "" -#: src/as-category.c:89 -msgctxt "Category of Development" -msgid "IDEs" -msgstr "IDE's" +#: src/as-validator-issue-tag.h:425 +msgid "A web URL was expected for this value." +msgstr "" -#: tools/ascli-utils.c:301 -msgid "Icon" -msgstr "Pictogram" +#: src/as-validator-issue-tag.h:430 +msgid "" +"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:351 -msgid "Icons of type 'remote' must contain an URL to the referenced icon." +#: src/as-validator-issue-tag.h:435 +msgid "The can not contain a hyperlink." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:344 +#: src/as-validator-issue-tag.h:440 msgid "" -"Icons of type 'stock' or 'cached' must not contain an URL, a full or an " -"relative path to the icon. Only file basenames or stock names are allowed." +"The set value is not an identifier for a desktop environment as registered " +"with Freedesktop.org." msgstr "" -#: tools/ascli-actions-misc.c:94 -msgid "Iconsets" -msgstr "Pictogrammensets" - -#: tools/ascli-utils.c:295 -msgid "Identifier" -msgstr "Identificeerder" - -#: src/as-category.c:217 -msgctxt "Category of Addons" -msgid "Input Sources" -msgstr "Invoerbronnen" - -#: tools/appstream-cli.c:863 -msgid "Install a metadata file into the right location." -msgstr "Installeer een metagegevensbestand in de juiste locatie." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:446 +msgid "This `launchable` tag has an unknown type and can not be used." +msgstr "" -#: tools/appstream-cli.c:859 -msgid "Install software matching the component-ID." -msgstr "Installeer software die overeen komt met de onderdeel-id." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:452 +msgid "This `bundle` tag has an unknown type and can not be used." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:373 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:458 msgid "" -"Invalid 'type' property for this 'url' tag. URLs of this type are not known " -"in the AppStream specification." +"The `update_contact` tag should not be included in collection AppStream XML." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:553 +#: src/as-validator-issue-tag.h:463 msgid "" -"Invalid tag found in collection metadata. Only 'component' tags are " -"permitted." +"This tag is a GNOME-specific extension to AppStream and not part of the " +"official specification. Do not expect it to work in all implementations and " +"in all software centers." msgstr "" -#: tools/ascli-actions-mdata.c:213 -msgid "Invalid type for provided item selected. Valid values are:" +#: src/as-validator-issue-tag.h:469 +msgid "" +"Found invalid tag. Non-standard tags should be prefixed with `x-`. AppStream " +"also provides the tag to add arbitrary custom data to metainfo " +"files. This tag is read by AppStream libraries and may be useful instead of " +"defining new custom toplevel or `x-`-prefixed tags if you just want to add " +"custom data to a metainfo file." msgstr "" -"Ongeldig type geselecteerd voor het beschikbare item. Geldige waarden zijn:" -#: src/as-validator-issue-tag.h:271 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:477 msgid "" -"Invalid version comparison operation on relation item. Only eq/ne/lt/gt/le/" -"ge are permitted." +"The essential tag `metadata_license` is missing. A license for the metadata " +"itself always has to be defined." msgstr "" -#: src/as-validator-issue-tag.h:450 +#: src/as-validator-issue-tag.h:482 msgid "" -"It is recommended to add a long description to this component to present it " -"better to users." +"The component is missing a long description. Components of this type must " +"have a long description." msgstr "" -#: src/as-validator-issue-tag.h:445 +#: src/as-validator-issue-tag.h:487 msgid "" "It would be useful to add a long description to this font to present it " "better to users." msgstr "" -#: src/as-category.c:144 -msgctxt "Category of Games" -msgid "Kids" -msgstr "Kinderen" +#: src/as-validator-issue-tag.h:492 +msgid "" +"It is recommended to add a long description to this component to present it " +"better to users." +msgstr "" -#: src/as-category.c:220 -msgctxt "Category of Addons" -msgid "Language Packs" -msgstr "Taalpakketten" +#: src/as-validator-issue-tag.h:497 +msgid "" +"This generic component is missing a long description. It may be useful to " +"add one." +msgstr "" -#: src/as-category.c:107 -msgctxt "Category of Education" -msgid "Languages" -msgstr "Talen" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:503 +msgid "" +"Type `console-application` component, but no information about binaries in " +"$PATH was provided via a `provides/binary` tag." +msgstr "" -#: src/as-provided.c:144 -msgid "Libraries" -msgstr "Bibliotheken" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:509 +msgid "" +"This `web-application` component is missing a `launchable` tag of type `url`." +msgstr "" -#. license -#: tools/ascli-utils.c:363 -msgid "License" -msgstr "Licentie" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:515 +msgid "" +"This `web-application` component is missing a `icon` tag to specify a valid " +"icon." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:629 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:521 msgid "" -"Licenses for 'runtime' components are usually too complex to reflect them in " -"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " -"value for this component's 'project_license'. E.g. `LicenseRef-free=https://" -"example.com/licenses.html`" +"This `web-application` component is missing categorizations. A `categories` " +"block is likely missing." msgstr "" -#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command -#: tools/appstream-cli.c:771 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:527 msgid "" -"Limit the number of release entries that end up in the metainfo file (0 for " -"unlimited)." +"Type `font` component, but no font information was provided via a `provides/" +"font` tag." msgstr "" -#: src/as-category.c:223 -msgctxt "Category of Addons" -msgid "Localization" -msgstr "Lokalisering" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:533 +msgid "" +"Type `driver` component, but no modalias information was provided via a " +"`provides/modalias` tag." +msgstr "" -#: src/as-category.c:147 -msgctxt "Category of Games" -msgid "Logic" -msgstr "Logisch" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:539 +msgid "" +"An `extends` tag is specified, but the component is not of type `addon`, " +"`localization` or `repository`." +msgstr "" +"Een `extends`-tag wordt gespecificeerd, maar het onderdeel is niet van type " +"`addon`, `localization` of `repository`." -#. TRANSLATORS: ascli flag description for: --no-cache -#: tools/appstream-cli.c:67 -msgid "Make request without any caching." -msgstr "Verzoek doen zonder te cachen." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:545 +msgid "The component is an addon, but no `extends` tag was specified." +msgstr "" -#. TRANSLATORS: ascli flag description for: --cachepath -#: tools/appstream-cli.c:57 -msgid "Manually selected location of AppStream cache." -msgstr "Handmatig de locatie instellen van de AppStream-cache." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:551 +msgid "" +"This `localization` component is missing an `extends` tag, to specify the " +"components it adds localization to." +msgstr "" -#. TRANSLATORS: ascli flag description for: --datapath -#: tools/appstream-cli.c:62 -msgid "Manually selected location of AppStream metadata to scan." -msgstr "Handmatig de locatie instellen van te scannen AppStream-metagegevens." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:557 +msgid "" +"This `localization` component does not define any languages this " +"localization is for." +msgstr "" -#: src/as-pool.c:1280 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:563 msgid "" -"Many components have been recognized as invalid. See debug output for " -"details." +"This `service` component is missing a `launchable` tag of type `service`." msgstr "" -"Vele onderdelen zijn herkend als ongeldig. Bekijk de foutopsporingsuitvoer " -"voor meer informatie." -#: src/as-category.c:111 -msgctxt "Category of Education" -msgid "Math" -msgstr "Wiskunde" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:569 +msgid "" +"Suggestions of any type other than `upstream` are not allowed in metainfo " +"files." +msgstr "" -#: src/as-category.c:243 -msgctxt "Category of Science" -msgid "Math" -msgstr "Wiskunde" +#: src/as-validator-issue-tag.h:574 +msgid "" +"The category name is not valid. Refer to the XDG Menu Specification for a " +"list of valid category names." +msgstr "" -#: src/as-provided.c:148 -msgid "Media types" -msgstr "Mediatypen" +#: src/as-validator-issue-tag.h:579 +msgid "The screenshot caption is too long (should be <= 80 characters)" +msgstr "" -#: tools/ascli-actions-mdata.c:364 -#, c-format -msgid "Metadata file '%s' does not exist." -msgstr "Het metagegevens-bestand '%s' bestaat niet." +#: src/as-validator-issue-tag.h:584 +#, fuzzy +msgid "Unable to read file." +msgstr "Kan oude cache niet opschonen." -#: src/as-pool.c:881 -msgid "Metadata files have errors:" -msgstr "Metagegevens-bestanden bevatten fouten:" +#: src/as-validator-issue-tag.h:589 +msgid "The XML of this file is malformed." +msgstr "" -#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 -#: tools/ascli-actions-misc.c:515 -#, fuzzy, c-format -msgid "Metainfo file '%s' does not exist." -msgstr "Het metagegevens-bestand '%s' bestaat niet." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:595 +msgid "" +"Invalid tag found in collection metadata. Only `component` tags are " +"permitted." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:367 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:601 msgid "" -"Metainfo files may only contain icons of type 'stock' or 'remote', the set " -"type is not allowed." +"The metainfo file uses an ancient version of the AppStream specification, " +"which can not be validated. Please migrate it to version 0.6 (or higher)." msgstr "" -#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report -#: tools/ascli-actions-misc.c:116 -msgid "Metainfo files:" -msgstr "Metainformatie-bestanden:" +#: src/as-validator-issue-tag.h:606 +msgid "" +"This XML document has an unknown root tag. Maybe this file is not a metainfo " +"document?" +msgstr "" -#: src/as-provided.c:152 -msgid "Modaliases" -msgstr "Modaliassen" +#: src/as-validator-issue-tag.h:611 +#, fuzzy +msgid "The metainfo filename does not match the component ID." +msgstr "Verwijder software die overeenkomt met de onderdeel-id." -#: src/as-category.c:74 -msgctxt "Category of AudioVideo" -msgid "Music Players" -msgstr "Muziekspelers" +#: src/as-validator-issue-tag.h:616 +#, fuzzy +msgid "Unable to read the .desktop file associated with this component." +msgstr "Het lezen van het .desktop-bestand is mislukt: %s" -#: tools/ascli-utils.c:296 -msgid "Name" -msgstr "Naam" +#: src/as-validator-issue-tag.h:621 +msgid "This component metadata refers to a non-existing .desktop file." +msgstr "" -#: src/as-category.c:266 -msgctxt "Category of Communication" -msgid "News" -msgstr "Nieuws" +#: src/as-validator-issue-tag.h:626 +msgid "" +"The category defined in the .desktop file is not valid. Refer to the XDG " +"Menu Specification for a list of valid categories." +msgstr "" -#: src/as-validator-issue-tag.h:589 +#: src/as-validator-issue-tag.h:631 msgid "No AppStream metadata was found in this directory or directory tree." msgstr "" #. pedantic because not everything which has metadata is an application -#: src/as-validator-issue-tag.h:594 +#: src/as-validator-issue-tag.h:636 msgid "No XDG applications directory found." msgstr "" -#: tools/ascli-actions-mdata.c:182 -#, c-format -msgid "No component matching '%s' found." -msgstr "Er is geen onderdeel gevonden dat overeen komt met '%s'." - -#: tools/ascli-actions-misc.c:105 -msgid "No icons." -msgstr "Geen pictogrammen." - -#: tools/ascli-actions-misc.c:402 -msgid "No output filename specified, modifying metainfo file directly." -msgstr "" - -#: tools/ascli-actions-misc.c:306 +#: src/as-validator-issue-tag.h:641 msgid "" -"No provided binary specified in metainfo file, and no exec command specified " -"via '--exec'. Can not create 'Exec=' key." +"The metainfo file is stored in a legacy path. Please place it in `/usr/share/" +"metainfo/`." msgstr "" -#: tools/ascli-actions-misc.c:284 -msgid "No stock icon name was provided in the metainfo file. Can not continue." +#: src/as-validator-issue-tag.h:646 +msgid "The metainfo file specifies multiple components. This is not allowed." msgstr "" -#: tools/ascli-actions-pkgmgr.c:53 +#: src/as-validator-issue-tag.h:651 msgid "" -"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" -"\" (part of PackageKit) is available." +"The releases are not sorted in a latest to oldest version order. This is " +"required as some tools will assume that the latest version is always at the " +"top. Sorting releases also increases overall readability of the metainfo " +"file." msgstr "" -"Er is geen geschikt CLI-pakketbeheer gevonden. Zorg ervoor dat bijv. \"pkcon" -"\" (onderdeel van PackageKit) beschikbaar is." - -#: tools/ascli-actions-mdata.c:206 -msgid "No value for the item to search for was defined." -msgstr "Geen waarde voor het te zoeken item opgegeven." - -#. TRANSLATORS: this is the menu spec main category for Office -#: src/as-category.c:317 -msgid "Office" -msgstr "Kantoor" -#. TRANSLATORS: An unknown option was passed to appstreamcli. -#: tools/appstream-cli.c:192 -#, c-format -msgid "Option '%s' is unknown." -msgstr "De optie '%s' is onbekend." +#: src/as-validator-issue-tag.h:658 +msgid "The value set as release urgency is not a known urgency value." +msgstr "" -#: tools/ascli-utils.c:298 -msgid "Package" -msgstr "Pakket" +#: src/as-validator-issue-tag.h:663 +msgid "The value set as release type is invalid." +msgstr "" -#: src/as-category.c:171 -msgctxt "Category of Graphics" -msgid "Photography" -msgstr "Fotografie" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:669 +msgid "" +"The value set as artifact type is invalid. Must be either `source` or " +"`binary`." +msgstr "" -#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) -#: tools/appstream-cli.c:121 -#, fuzzy -msgid "Print detailed explanation for found issues." -msgstr "Gedetailleerde uitvoer weergeven over gevonden onderdelen." +#: src/as-validator-issue-tag.h:674 +msgid "The value set as artifact bundle type is invalid." +msgstr "" -#. TRANSLATORS: ascli flag description for: --details -#: tools/appstream-cli.c:98 -msgid "Print detailed output about found components." -msgstr "Gedetailleerde uitvoer weergeven over gevonden onderdelen." +#: src/as-validator-issue-tag.h:679 +msgid "" +"The platform triplet for this release is invalid. It must be in the form of " +"`architecture-oskernel-osenv` - refer to the AppStream documentation or " +"information on normalized GNU triplets for more information and valid fields." +msgstr "" -#. project group -#: tools/ascli-utils.c:360 -msgid "Project Group" -msgstr "Projectgroep" +#: src/as-validator-issue-tag.h:686 +msgid "The selected checksumming algorithm is unsupported or unknown." +msgstr "" -#: tools/ascli-utils.c:405 -msgid "Provided Items" -msgstr "Geboden items" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:692 +msgid "The size type is unknown. Must be `download` or `installed`." +msgstr "" -#: src/as-provided.c:154 -msgid "Python (Version 2)" -msgstr "Python (Versie 2)" +#: src/as-validator-issue-tag.h:697 +msgid "" +"The artifact filename must be a file basename, not a (relative or absolute) " +"path." +msgstr "" -#: src/as-provided.c:156 -msgid "Python 3" -msgstr "Python 3" +#: src/as-validator-issue-tag.h:702 +msgid "The value set as release issue type is invalid." +msgstr "" -#: tools/appstream-cli.c:854 -msgid "Rebuild the component metadata cache." -msgstr "Herbouw de onderdeelmetagegevens-cache." +#: src/as-validator-issue-tag.h:707 +msgid "" +"The issue is tagged at security vulnerability with a CVE number, but its " +"value does not look like a valid CVE identifier." +msgstr "" -#: tools/appstream-cli.c:860 -msgid "Remove software matching the component-ID." -msgstr "Verwijder software die overeenkomt met de onderdeel-id." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:713 +msgid "" +"This component is missing information about releases. Consider adding a " +"`releases` tag to describe releases and their changes." +msgstr "" -#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty -#: src/as-validator.c:364 -msgid "Retrieved file size was zero." +#: src/as-validator-issue-tag.h:718 +msgid "" +"The AppStream specification requires a complete, ISO 8601 date string with " +"at least day-granularity to denote dates. Please ensure the date string is " +"valid." msgstr "" -#: src/as-category.c:248 -msgctxt "Category of Science" -msgid "Robotics" -msgstr "Robotica" +#: src/as-validator-issue-tag.h:724 +msgid "" +"This component extends, provides, requires or recommends itself, which is " +"certainly not intended and may confuse users or machines dealing with this " +"metadata." +msgstr "" -#: src/as-category.c:150 -msgctxt "Category of Games" -msgid "Role Playing" -msgstr "Rollenspellen" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:731 +msgid "" +"Licenses for `runtime` components are usually too complex to reflect them in " +"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " +"value for this component's `project_license`. E.g. `LicenseRef-free=https://" +"example.com/licenses.html`" +msgstr "" -#: tools/appstream-cli.c:196 tools/appstream-cli.c:926 -#, c-format -msgid "Run '%s --help' to see a full list of available command line options." +#: src/as-validator-issue-tag.h:737 +msgid "" +"Since a `runtime` component is comprised of multiple other software " +"components, their component-IDs may be listed in a `` section for " +"this runtime." msgstr "" -"Voer '%s --help' uit om een volledige lijst van beschikbare " -"opdrachtregelopties te weergeven." -#: tools/appstream-cli.c:198 -#, c-format +#: src/as-validator-issue-tag.h:742 msgid "" -"Run '%s --help' to see a list of available commands and options, and '%s %s " -"--help' to see a list of options specific for this subcommand." +"The type of the item that the component provides is not known to AppStream." msgstr "" -"Voer '%s --help' uit om een volledige lijst van beschikbare opdrachten en " -"opties te weergeven en '%s %s --help' om een lijst van opties te zien voor " -"dit subcommando." -#: src/as-provided.c:162 -msgid "Runtime Firmware" -msgstr "Runtime-firmware" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:748 +msgid "" +"The toplevel `mimetypes` tag is deprecated. Please use `mediatype` tags in a " +"`provides` block instead to indicate that your software provides a media " +"handler for the given types." +msgstr "" -#: src/as-category.c:174 -msgctxt "Category of Graphics" -msgid "Scanning" -msgstr "Scannen" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks) and keep the URL intact. +#: src/as-validator-issue-tag.h:755 +msgid "" +"This component has no `content_rating` tag to provide age rating " +"information. You can generate the tag data online by answering a few " +"questions at https://hughsie.github.io/oars/" +msgstr "" -#. TRANSLATORS: this is the menu spec main category for Science -#: src/as-category.c:323 -msgid "Science" -msgstr "Wetenschap" +#: src/as-validator.c:150 +msgid "" +"The emitted issue tag is unknown in the tag registry of AppStream. This is a " +"bug in the validator itself, please report this issue in our bugtracker." +msgstr "" -#: tools/appstream-cli.c:847 -msgid "Search the component database." -msgstr "Zoeken in de onderdelen-database." +#: src/as-validator.c:344 +msgid "URL format is invalid." +msgstr "" -#: src/as-category.c:293 -msgctxt "Category of Utility" -msgid "Security" -msgstr "Veiligheid" +#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. +#: src/as-validator.c:522 src/as-validator.c:937 src/as-validator.c:1031 +#: src/as-validator.c:1428 src/as-validator.c:1448 src/as-validator.c:1481 +#, c-format +msgid "Found: %s - Allowed: %s" +msgstr "" -#. TRANSLATORS: ascli flag description for: --verbose -#: tools/appstream-cli.c:903 -msgid "Show extra debugging information." +#. TRANSLATORS: ascompose flag description for: --verbose +#: tools/appstream-compose.c:181 +#, fuzzy +msgid "Show extra debugging information" msgstr "Extra foutopsporingsinformatie weergeven." +#. TRANSLATORS: ascompose flag description for: --no-color +#. TRANSLATORS: ascli flag description for: --no-color +#: tools/appstream-compose.c:184 tools/appstreamcli.c:1087 +msgid "Don't show colored output." +msgstr "Geen gekleurde uitvoer weergeven." + +#. TRANSLATORS: ascompose flag description for: --version #. TRANSLATORS: ascli flag description for: --version -#: tools/appstream-cli.c:897 +#: tools/appstream-compose.c:187 tools/appstreamcli.c:1076 msgid "Show the program version." msgstr "De applicatieversie weergeven." -#: src/as-validator-issue-tag.h:635 -msgid "" -"Since a 'runtime' component is comprised of multiple other software " -"components, their component-IDs may be listed in a `` section for " -"this runtime." +#. TRANSLATORS: ascompose flag description for: --full-report +#: tools/appstream-compose.c:190 +msgid "Set mode of the issue report that is printed to the console" msgstr "" -#: src/as-category.c:153 -msgctxt "Category of Games" -msgid "Sports" -msgstr "Sport" +#. TRANSLATORS: ascompose flag description for: --prefix +#: tools/appstream-compose.c:193 +msgid "Override the default prefix (`/usr` by default)" +msgstr "" -#: src/as-category.c:157 -msgctxt "Category of Games" -msgid "Strategy" -msgstr "Strategie" +#. TRANSLATORS: ascompose flag description for: --result-root +#: tools/appstream-compose.c:196 +msgid "Set the result output directory" +msgstr "" -#. these are commands we can use with appstreamcli -#: tools/appstream-cli.c:845 -msgid "Subcommands:" -msgstr "Subcommando's:" +#. TRANSLATORS: ascompose flag description for: --data-dir, `collection metadata` is an AppStream term +#: tools/appstream-compose.c:199 +msgid "Override the collection metadata output directory" +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:527 -msgid "" -"Suggestions of any type other than 'upstream' are not allowed in metainfo " -"files." +#. TRANSLATORS: ascompose flag description for: --icons-dir +#: tools/appstream-compose.c:202 +msgid "Override the icon output directory" msgstr "" -#: tools/ascli-utils.c:297 -msgid "Summary" -msgstr "Samenvatting" +#. TRANSLATORS: ascompose flag description for: --media-dir +#: tools/appstream-compose.c:205 +msgid "" +"Set the media output directory (for media data to be served by a webserver)" +msgstr "" -#. TRANSLATORS: Status summary in ascli -#: tools/ascli-actions-misc.c:145 -msgid "Summary:" -msgstr "Samenvatting:" +#. TRANSLATORS: ascompose flag description for: --hints-dir +#: tools/appstream-compose.c:208 +msgid "Set a directory where HTML and text issue reports will be stored" +msgstr "" -#: src/as-category.c:290 -msgctxt "Category of Utility" -msgid "System Monitoring" -msgstr "Systeemmonitoring" +#. TRANSLATORS: ascompose flag description for: --origin +#. TRANSLATORS: ascompose flag description for: --media-baseurl +#: tools/appstream-compose.c:211 tools/appstream-compose.c:214 +msgid "Set the origin name" +msgstr "" -#: src/as-validator-issue-tag.h:46 -msgid "Tags of this name are not permitted in this section." +#. TRANSLATORS: ascompose flag description for: --components +#: tools/appstream-compose.c:217 +msgid "A comma-separated list of component-IDs to accept" msgstr "" -#: src/as-category.c:284 -msgctxt "Category of Utility" -msgid "Terminal Emulators" -msgstr "Terminalemulators" +#. TRANSLATORS: error message +#: tools/appstream-compose.c:231 +msgid "Failed to parse arguments" +msgstr "" -#: src/as-category.c:281 -msgctxt "Category of Utility" -msgid "Text Editors" -msgstr "Tekstbewerkers" +#. TRANSLATORS: Output if appstreamcli --version is executed. +#: tools/appstream-compose.c:242 tools/appstreamcli.c:1230 +#, c-format +msgid "AppStream version: %s" +msgstr "AppStream-versie: %s" -#: src/as-validator-issue-tag.h:318 +#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. +#: tools/appstream-compose.c:245 tools/appstreamcli.c:1233 +#, c-format msgid "" -"The 'pkgname' tag appears multiple times. You should evaluate creating a " -"metapackage containing the metainfo and .desktop files in order to avoid " -"defining multiple package names per component." +"AppStream CLI tool version: %s\n" +"AppStream library version: %s" msgstr "" +"AppStream CLI-hulpmiddelversie: %s\n" +"AppStream-bibliotheekversie: %s" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:416 +#. TRANSLATORS: invalid value for the --print-report CLI option +#: tools/appstream-compose.c:264 +#, c-format msgid "" -"The 'update_contact' tag should not be included in collection AppStream XML." +"Invalid value for `--print-report` option: %s\n" +"Possible values are:\n" +"`on-error` - only prints a short report if the run failed (default)\n" +"`short` - generates an abridged report\n" +"`full` - a detailed report will be printed" msgstr "" -#: tools/ascli-actions-mdata.c:467 +#: tools/appstream-compose.c:285 #, c-format -msgid "The .desktop file '%s' does not exist." -msgstr "Het .desktop-bestand, '%s', bestaat niet." +msgid "Automatically selected '%s' as data output location." +msgstr "" -#: src/as-validator-issue-tag.h:393 -msgid "The can not contain a hyperlink." +#. TRANSLATORS: we don't have a destination directory for compose +#: tools/appstream-compose.c:288 +msgid "No destination directory set, please provide a data output location!" msgstr "" -#: src/as-validator-issue-tag.h:313 -msgid "" -"The tag still contains a 'type' property, probably from an old " -"conversion to the recent metainfo format." +#: tools/appstream-compose.c:298 tools/appstream-compose.c:300 +msgid "WARNING" msgstr "" -#: src/as-validator-issue-tag.h:616 -msgid "" -"The AppStream specification requires a complete, ISO 8601 date string with " -"at least day-granularity to denote dates. Please ensure the date string is " -"valid." +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:337 +#, c-format +msgid "Only accepting components: %s" msgstr "" -#: src/as-pool.c:1924 -#, fuzzy, c-format -msgid "" -"The AppStream system cache was updated, but problems were found which " -"resulted in metadata being ignored: %s" +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:340 +#, c-format +msgid "Only accepting component: %s" msgstr "" -"De AppStream-systeemcache is bijgewerkt, maar er zijn problemen gevonden: %s" -#: src/as-pool.c:1922 +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:345 +msgid "Processing directories:" +msgstr "" + +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:348 +msgid "Processing directory:" +msgstr "" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:357 +msgid "Can not process invalid directory" +msgstr "" + +#. TRANSLATORS: information message +#: tools/appstream-compose.c:369 +msgid "Composing metadata..." +msgstr "" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:374 #, fuzzy +msgid "Failed to compose AppStream metadata" +msgstr "Een hulpmiddel om te werken met AppStream-metagegevens" + +#. TRANSLATORS: appstream-compose failed to include all data +#: tools/appstream-compose.c:380 +msgid "Run failed, some data was ignored." +msgstr "" + +#. TRANSLATORS: information message of appstream-compose +#: tools/appstream-compose.c:382 +msgid "Errors were raised during this compose run:" +msgstr "" + +#: tools/appstream-compose.c:383 msgid "" -"The AppStream system cache was updated, but some components were ignored. " -"Refer to the verbose log for more information." +"Refer to the generated issue report data for details on the individual " +"problems." msgstr "" -"De AppStream-systeemcache is bijgewerkt maar er zijn fouten gevonden die " -"mogelijk kunnen leiden tot ontbrekende metagegevens. Bekijk het uitgebreide " -"log om meer informatie te verkrijgen." -#: src/as-validator-issue-tag.h:151 -msgid "The SPDX license expression is invalid and could not be parsed." +#: tools/appstream-compose.c:386 +msgid "Overview of generated hints:" msgstr "" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows -#: tools/appstream-cli.c:683 +#. TRANSLATORS: information message +#: tools/appstream-compose.c:388 +msgid "Success!" +msgstr "" + +#. TRANSLATORS: ascli flag description for: --cachepath +#: tools/appstreamcli.c:59 +msgid "Manually selected location of AppStream cache." +msgstr "Handmatig de locatie instellen van de AppStream-cache." + +#. TRANSLATORS: ascli flag description for: --datapath +#: tools/appstreamcli.c:64 +msgid "Manually selected location of AppStream metadata to scan." +msgstr "Handmatig de locatie instellen van te scannen AppStream-metagegevens." + +#. TRANSLATORS: ascli flag description for: --no-cache +#: tools/appstreamcli.c:69 +msgid "Make request without any caching." +msgstr "Verzoek doen zonder te cachen." + +#. TRANSLATORS: ascli flag description for: --format +#: tools/appstreamcli.c:85 +msgid "Default metadata format (valid values are 'xml' and 'yaml')." +msgstr "" +"Standaard opgegeven metagegevens-soort (geldige waarden zijn 'xml' en " +"'yaml')." + +#. TRANSLATORS: ascli flag description for: --details +#: tools/appstreamcli.c:100 +msgid "Print detailed output about found components." +msgstr "Gedetailleerde uitvoer weergeven over gevonden onderdelen." + +#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) +#: tools/appstreamcli.c:118 +msgid "Also show pedantic hints." +msgstr "Ook pedante tips weergeven." + +#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) +#: tools/appstreamcli.c:123 +#, fuzzy +msgid "Print detailed explanation for found issues." +msgstr "Gedetailleerde uitvoer weergeven over gevonden onderdelen." + +#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) +#: tools/appstreamcli.c:128 +msgid "Do not use network access." +msgstr "Geen netwerkverbinding gebruiken." + +#. TRANSLATORS: ascli flag description for: --format when validating XML files +#: tools/appstreamcli.c:133 +#, fuzzy +msgid "Format of the generated report (valid values are 'text' and 'yaml')." +msgstr "" +"Standaard opgegeven metagegevens-soort (geldige waarden zijn 'xml' en " +"'yaml')." + +#. TRANSLATORS: This is the header to the --help menu for subcommands +#. TRANSLATORS: This is the header to the --help menu +#: tools/appstreamcli.c:153 tools/appstreamcli.c:981 +msgid "AppStream command-line interface" +msgstr "AppStream opdrachtregel-interface" + +#: tools/appstreamcli.c:156 #, c-format -msgid "The TYPE must be a valid component-type, such as: %s" -msgstr "Het TYPE moet een geldig onderdeeltype zijn, bijv.: %s" +msgid "'%s' command" +msgstr "Opdracht '%s'" -#: src/as-validator-issue-tag.h:547 -msgid "The XML of this file is malformed." +#. TRANSLATORS: An unknown option was passed to appstreamcli. +#: tools/appstreamcli.c:191 +#, c-format +msgid "Option '%s' is unknown." +msgstr "De optie '%s' is onbekend." + +#: tools/appstreamcli.c:195 tools/appstreamcli.c:1207 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options." msgstr "" +"Voer '%s --help' uit om een volledige lijst van beschikbare " +"opdrachtregelopties te weergeven." -#: src/as-validator-issue-tag.h:584 +#: tools/appstreamcli.c:197 +#, c-format msgid "" -"The category defined in the .desktop file is not valid. Refer to the XDG " -"Menu Specification for a list of valid categories." +"Run '%s --help' to see a list of available commands and options, and '%s %s " +"--help' to see a list of options specific for this subcommand." msgstr "" +"Voer '%s --help' uit om een volledige lijst van beschikbare opdrachten en " +"opties te weergeven en '%s %s --help' om een lijst van opties te zien voor " +"dit subcommando." + +#. TRANSLATORS: ascli flag description for: --force +#: tools/appstreamcli.c:245 +msgid "Enforce a cache refresh." +msgstr "Een cache-verversing forceren." -#: src/as-validator-issue-tag.h:532 -msgid "" -"The category name is not valid. Refer to the XDG Menu Specification for a " -"list of valid category names." +#. TRANSLATORS: ascli flag description for: --user +#: tools/appstreamcli.c:251 +msgid "Update the user-specific instead of the system-wide cache." msgstr "" -#: src/as-validator-issue-tag.h:124 -msgid "" -"The component ID contains a hyphen/minus. Using a hyphen is strongly " -"discouraged, to improve interoperability with other tools such as D-Bus. A " -"good option is to replace any hyphens with underscores ('_')." +#. TRANSLATORS: ascli flag description for: --origin (part of the "put" subcommand) +#: tools/appstreamcli.c:477 +msgid "Set the data origin for the installed metadata collection file." msgstr "" -#: src/as-validator-issue-tag.h:130 -msgid "" -"The component ID contains a segment starting with a number. Starting a " -"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " -"interoperability with other tools such as D-Bus. Ideally, prefix these " -"segments with an underscore." +#. TRANSLATORS: ascli flag description for: --user (part of the "put" subcommand) +#: tools/appstreamcli.c:482 +msgid "Install the file for the current user, instead of globally." msgstr "" -#: src/as-validator-issue-tag.h:119 +#: tools/appstreamcli.c:631 msgid "" -"The component ID contains an invalid character. Only ASCII characters, dots " -"and numbers are permitted." +"You need to provide at least two version numbers to compare as parameters." msgstr "" +"Je moet minimaal twee versienummers opgeven om parameters te kunnen " +"vergelijken." -#: src/as-validator-issue-tag.h:106 -msgid "" -"The component ID is not a reverse domain-name. Please update the ID to avoid " -"future issues and be compatible with all AppStream implementations.\n" -"You may also consider to update the name of the accompanying .desktop file " -"to follow the latest version of the Desktop-Entry specification and use a " -"rDNS name for it as well. In any case, do not forget to mention the new " -"desktop-entry in a tag for this component to keep the " -"application launchable from software centers and the .desktop file data " -"associated with the metainfo data." -msgstr "" +#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. +#: tools/appstreamcli.c:660 +#, c-format +msgid "Unknown compare relation '%s'. Valid values are:" +msgstr "Onbekende vergelijkrelatie '%s'. Geldige waarden zijn:" -#: src/as-validator-issue-tag.h:101 +#: tools/appstreamcli.c:700 msgid "" -"The component ID is required to follow a reverse domain-name scheme for its " -"name. See the AppStream specification for details." +"Too many parameters: Need two version numbers or version numbers and a " +"comparison operator." msgstr "" +"Teveel parameters: twee versienummers of versienummer en vergelijkoperator " +"nodig." -#: src/as-validator-issue-tag.h:114 +#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) +#: tools/appstreamcli.c:726 msgid "" -"The component ID might not follow the reverse domain-name schema (the TLD " -"used by it is not known to the validator)." +"Use the given .desktop file to fill in the basic values of the metainfo file." msgstr "" +"Gebruik het opgegeven .desktop-bestand om basiswaarden in te vullen in het " +"metainformatie-bestand." -#: src/as-validator-issue-tag.h:293 +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand +#: tools/appstreamcli.c:731 msgid "" -"The component has a 'merge' method defined. This is not allowed in metainfo " -"files." +"This command takes optional TYPE and FILE positional arguments, FILE being a " +"file to write to (or \"-\" for standard output)." msgstr "" +"Deze opdracht ontvangt optioneel TYPE- en BESTANDsargumenten; BESTAND is het " +"bestand waarnaar moet worden weggeschreven (of \"-\" voor standaard uitvoer)." -#: src/as-validator-issue-tag.h:288 -msgid "" -"The component has a priority value set. This is not allowed in metainfo " -"files." +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows +#: tools/appstreamcli.c:734 +#, c-format +msgid "The TYPE must be a valid component-type, such as: %s" +msgstr "Het TYPE moet een geldig onderdeeltype zijn, bijv.: %s" + +#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) +#: tools/appstreamcli.c:775 +msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:503 -msgid "The component is an addon, but no 'extends' tag was specified." +#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command +#: tools/appstreamcli.c:815 +msgid "Assume the input file is in the selected format ('yaml' or 'text')." msgstr "" +"Stel dat het invoerbestand in het geselecteerde format (‘yaml’ of ‘text’) is." -#: src/as-validator-issue-tag.h:440 +#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command +#: tools/appstreamcli.c:820 msgid "" -"The component is missing a long description. Components of this type must " -"have a long description." +"Limit the number of release entries that end up in the metainfo file (0 for " +"unlimited)." msgstr "" -#: src/as-validator-issue-tag.h:303 -msgid "The component is missing a name ( tag)." +#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command +#: tools/appstreamcli.c:862 +msgid "Generate the output in the selected format ('yaml' or 'text')." msgstr "" -#: src/as-validator-issue-tag.h:308 -msgid "The component is missing a summary ( tag)." +#: tools/appstreamcli.c:894 +#, c-format +msgid "Compose binary '%s' was not found! Can not continue." msgstr "" -#: src/as-validator-issue-tag.h:298 -msgid "The component is missing an ID ( tag)." +#. TRANSLATORS: this is a (usually shorter) command alias, shown after the command summary text +#: tools/appstreamcli.c:956 +#, c-format +msgid "(Alias: '%s')" msgstr "" -#: src/as-validator-issue-tag.h:136 -msgid "" -"The component is part of the Freedesktop project, but its ID does not start " -"with fd.o's reverse-DNS name (\"org.freedesktop\")." -msgstr "" +#. these are commands we can use with appstreamcli +#: tools/appstreamcli.c:983 +msgid "Subcommands:" +msgstr "Subcommando's:" -#: src/as-validator-issue-tag.h:146 +#: tools/appstreamcli.c:1029 msgid "" -"The component is part of the GNOME project, but its ID does not start with " -"GNOMEs reverse-DNS name (\"org.gnome\")." +"You can find information about subcommand-specific options by passing \"--" +"help\" to the subcommand." msgstr "" +"U kunt informatie vinden over subopdracht-opties door \"--help\" toe te " +"voegen aan de subopdracht." -#: src/as-validator-issue-tag.h:141 +#. TRANSLATORS: ascli has been run with unknown command. '%s --help' is the command to receive help and should not be translated. +#: tools/appstreamcli.c:1052 +#, fuzzy, c-format msgid "" -"The component is part of the KDE project, but its ID does not start with " -"KDEs reverse-DNS name (\"org.kde\")." +"Command '%s' is unknown. Run '%s --help' for a list of available commands." msgstr "" +"Voer '%s --help' uit om een volledige lijst van beschikbare " +"opdrachtregelopties te weergeven." -#: src/as-validator-issue-tag.h:323 -msgid "The component name should (likely) not end with a dot ('.')." -msgstr "" +#. TRANSLATORS: ascli flag description for: --verbose +#: tools/appstreamcli.c:1082 +msgid "Show extra debugging information." +msgstr "Extra foutopsporingsinformatie weergeven." -#: src/as-validator-issue-tag.h:333 -msgid "The component summary must not contain tabs or linebreaks." +#. TRANSLATORS: ascli flag description for: --profile +#: tools/appstreamcli.c:1090 +msgid "Enable profiling" msgstr "" -#: src/as-validator-issue-tag.h:328 -msgid "The component summary should not end with a dot ('.')." -msgstr "" +#. TRANSLATORS: `appstreamcli search` command description. +#: tools/appstreamcli.c:1102 +msgid "Search the component database." +msgstr "Zoeken in de onderdelen-database." -#: src/as-validator-issue-tag.h:243 -msgid "" -"The default screenshot of a software component must not be a video. Use a " -"static image as default screenshot and set the video as a secondary " -"screenshot." -msgstr "" +#. TRANSLATORS: `appstreamcli get` command description. +#: tools/appstreamcli.c:1107 +msgid "Get information about a component by its ID." +msgstr "Informatie verkrijgen over een onderdeel door de ID." -#: src/as-validator-issue-tag.h:86 +#. TRANSLATORS: `appstreamcli what-provides` command description. +#: tools/appstreamcli.c:1112 msgid "" -"The description contains a web URL in plain text. This is not allowed, " -"please use the tag instead to share links." +"Get components which provide the given item. Needs an item type (e.g. lib, " +"bin, python3, …) and item value as parameter." msgstr "" -#: src/as-validator.c:152 -msgid "" -"The emitted issue tag is unknown in the tag registry of AppStream. This is a " -"bug in the validator itself, please report this issue in our bugtracker." +#. TRANSLATORS: `appstreamcli dump` command description. +#: tools/appstreamcli.c:1118 +msgid "Dump raw XML metadata for a component matching the ID." msgstr "" +"Onbewerkte XML-metagegevens dumpen voor een onderdeel dat overeenkomt met " +"het ID." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:435 -msgid "" -"The essential tag 'metadata_license' is missing. A license for the metadata " -"itself always has to be defined." -msgstr "" +#. TRANSLATORS: `appstreamcli refresh-cache` command description. +#: tools/appstreamcli.c:1123 +msgid "Rebuild the component metadata cache." +msgstr "Herbouw de onderdeelmetagegevens-cache." -#: src/as-validator-issue-tag.h:79 -msgid "" -"The first 'description/p' paragraph of this component might be too short (< " -"80 characters). Please consider starting with a longer paragraph to improve " -"how the description looks like in software centers and to provide more " -"detailed information on this component immediately in the first paragraph." -msgstr "" +#. TRANSLATORS: `appstreamcli validate` command description. +#: tools/appstreamcli.c:1129 +msgid "Validate AppStream XML files for issues." +msgstr "Valideer de AppStream XML-bestanden op problemen." -#: src/as-validator-issue-tag.h:156 -msgid "" -"The license ID was not found in the SPDX database. Please check that the " -"license ID is written in an SPDX-conformant way and is a valid free software " -"license." +#. TRANSLATORS: `appstreamcli validate-tree` command description. +#: tools/appstreamcli.c:1134 +msgid "Validate an installed file-tree of an application for valid metadata." msgstr "" +"Valideert een geïnstalleerde bestandsstructuur van een applicatie op geldige " +"metagegevens." -#: src/as-validator-issue-tag.h:96 -msgid "" -"The mentioned tag is empty, which is highly likely not intended as it should " -"have content." -msgstr "" +#. TRANSLATORS: `appstreamcli install` command description. +#: tools/appstreamcli.c:1140 +msgid "Install software matching the component-ID." +msgstr "Installeer software die overeen komt met de onderdeel-id." -#: src/as-validator-issue-tag.h:168 -msgid "" -"The metadata itself does not seem to be licensed under a permissive license. " -"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " -"0BSD to allow distributors to include it in mixed data collections without " -"the risk of license violations due to mutually incompatible licenses." -msgstr "" +#. TRANSLATORS: `appstreamcli remove` command description. +#: tools/appstreamcli.c:1145 +msgid "Remove software matching the component-ID." +msgstr "Verwijder software die overeenkomt met de onderdeel-id." -#: src/as-validator-issue-tag.h:162 -msgid "" -"The metadata itself seems to be licensed under a complex collection of " -"licenses. Please license the data under a simple permissive license, like " -"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " -"collections without the risk of license violations due to mutually " -"incompatible licenses." -msgstr "" +#. TRANSLATORS: `appstreamcli status` command description. +#: tools/appstreamcli.c:1151 +msgid "Display status information about available AppStream metadata." +msgstr "Statusinformatie weergeven over beschikbare AppStream-metagegevens." -#: src/as-validator-issue-tag.h:599 +#. TRANSLATORS: `appstreamcli os-info` command description. +#: tools/appstreamcli.c:1156 msgid "" -"The metainfo file is stored in a legacy path. Please place it in '/usr/share/" -"metainfo'." +"Show information about the current operating system from the metadata index." msgstr "" -#: src/as-validator-issue-tag.h:604 -msgid "The metainfo file specifies multiple components. This is not allowed." -msgstr "" +#. TRANSLATORS: `appstreamcli put` command description. +#: tools/appstreamcli.c:1161 +msgid "Install a metadata file into the right location." +msgstr "Installeer een metagegevensbestand in de juiste locatie." + +#. TRANSLATORS: `appstreamcli convert` command description. "Collection XML" is a term describing a specific type of AppStream XML data. +#: tools/appstreamcli.c:1166 +msgid "Convert collection XML to YAML or vice versa." +msgstr "Een collectie XML naar YAML (of vice-versa) converteren." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:559 +#. TRANSLATORS: `appstreamcli vercmp` command description. +#: tools/appstreamcli.c:1171 +msgid "Compare two version numbers." +msgstr "Vergelijk twee versienummers." + +#. TRANSLATORS: `appstreamcli new-template` command description. +#: tools/appstreamcli.c:1177 msgid "" -"The metainfo file uses an ancient version of the AppStream specification, " -"which can not be validated. Please migrate it to version 0.6 (or higher)." +"Create a template for a metainfo file (to be filled out by the upstream " +"project)." msgstr "" +"Creëer een sjabloon voor een metainformatie-bestand (kan worden ingevuld " +"door een upstream-project)." -#: src/as-validator-issue-tag.h:569 +#. TRANSLATORS: `appstreamcli make-desktop-file` command description. +#: tools/appstreamcli.c:1182 #, fuzzy -msgid "The metainfo filename does not match the component ID." -msgstr "Verwijder software die overeenkomt met de onderdeel-id." +msgid "Create a desktop-entry file from a metainfo file." +msgstr "Maak een XDG desktop-bestand van een MetaInfo-bestand." -#: src/as-validator-issue-tag.h:609 -msgid "" -"The releases are not sorted in a latest to oldest version order. This is " -"required as some tools will assume that the latest version is always at the " -"top. Sorting releases also increases overall readability of the metainfo " -"file." +#. TRANSLATORS: `appstreamcli news-to-metainfo` command description. +#: tools/appstreamcli.c:1187 +msgid "Convert a YAML or text NEWS file into metainfo releases." msgstr "" -#: src/as-validator-issue-tag.h:537 -msgid "The screenshot caption is too long (should be <= 80 characters)" +#. TRANSLATORS: `appstreamcli metainfo-to-news` command description. +#: tools/appstreamcli.c:1192 +msgid "Write NEWS text or YAML file with information from a metainfo file." msgstr "" -#: src/as-validator-issue-tag.h:206 -msgid "The screenshot does not have a caption text. Consider adding one." +#. TRANSLATORS: `appstreamcli compose` command description. +#: tools/appstreamcli.c:1198 +msgid "Compose AppStream collection metadata from directory trees." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:218 -msgid "" -"The screenshot video does not specify which container format was used in a " -"'container' property." -msgstr "" +#. TRANSLATORS: ascli has been run without command. +#: tools/appstreamcli.c:1206 +msgid "You need to specify a command." +msgstr "U moet een opdracht opgeven." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:212 -msgid "" -"The screenshot video does not specify which video codec was used in a " -"'codec' property." +#. TRANSLATORS: In ascli: The requested action needs higher permissions. +#: tools/ascli-actions-mdata.c:70 +msgid "You might need superuser permissions to perform this action." msgstr "" +"U heeft mogelijk administrator-rechten (su) nodig om deze actie uit te " +"kunnen voeren." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:224 -msgid "" -"The selected video codec is not supported by AppStream and software centers " -"may not be able to play the video. Only the AV1 and VP9 codecs are currently " -"supported, using 'av1' and 'vp9' as values for the 'codec' property." -msgstr "" +#. we performed a cache refresh +#. TRANSLATORS: Updating the metadata cache succeeded +#: tools/ascli-actions-mdata.c:80 +msgid "AppStream cache update completed successfully." +msgstr "De AppStream-cache is succesvol bijgewerkt." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:231 -msgid "" -"The selected video container format is not supported by AppStream and " -"software centers may not be able to play the video. Only the WebM and " -"Matroska video containers are currently supported, using 'webm' and 'mkv' as " -"values for the 'container' property." -msgstr "" +#. cache wasn't updated, so the update wasn't necessary +#: tools/ascli-actions-mdata.c:86 +msgid "AppStream cache update is not necessary." +msgstr "Het bijwerken van de AppStream-cache is niet nodig." -#: src/as-validator-issue-tag.h:283 -#, fuzzy -msgid "" -"The set component type is not a recognized, valid AppStream component type." -msgstr "" -"Het software-onderdeel van het type '%s' is ongeldig in AppStream. Geldige " -"waarden zijn:" +#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments +#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. +#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:253 +#: tools/ascli-actions-pkgmgr.c:80 +msgid "You need to specify a component-ID." +msgstr "U moet een onderdeel-ID opgeven." -#: src/as-validator-issue-tag.h:398 -msgid "" -"The set value is not an identifier for a desktop environment as registered " -"with Freedesktop.org." -msgstr "" +#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:265 +#: tools/ascli-actions-pkgmgr.c:93 +#, c-format +msgid "Unable to find component with ID '%s'!" +msgstr "Het vinden van een onderdeel met ID %s is mislukt!" + +#: tools/ascli-actions-mdata.c:164 +msgid "You need to specify a term to search for." +msgstr "U moet een zoekterm opgeven." -#: tools/ascli-actions-mdata.c:449 +#. TRANSLATORS: We failed to find any component in the database, likely due to an error +#: tools/ascli-actions-mdata.c:177 #, c-format -msgid "" -"The software component type '%s' is not valid in AppStream. Possible values " -"are:" -msgstr "" -"Het software-onderdeel van het type '%s' is ongeldig in AppStream. Geldige " -"waarden zijn:" +msgid "Unable to find component matching %s!" +msgstr "Het vinden van een onderdeel dat overeenkomt met %s is mislukt!" -#: src/as-validator-issue-tag.h:338 -msgid "The summary must not contain any URL. Use the tags for links." -msgstr "" +#: tools/ascli-actions-mdata.c:182 +#, c-format +msgid "No component matching '%s' found." +msgstr "Er is geen onderdeel gevonden dat overeen komt met '%s'." -#: src/as-validator-issue-tag.h:640 -msgid "" -"The type of the item that the component provides is not known to AppStream." -msgstr "" +#: tools/ascli-actions-mdata.c:206 +msgid "No value for the item to search for was defined." +msgstr "Geen waarde voor het te zoeken item opgegeven." -#: src/as-validator-issue-tag.h:174 -msgid "" -"The update-contact does not appear to be a valid email address (escaping of " -"'@' is only allowed as '_at_' or '_AT_')." +#: tools/ascli-actions-mdata.c:212 +msgid "Invalid type for provided item selected. Valid values are:" msgstr "" +"Ongeldig type geselecteerd voor het beschikbare item. Geldige waarden zijn:" -#: tools/ascli-actions-validate.c:363 tools/ascli-actions-validate.c:492 +#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results +#: tools/ascli-actions-mdata.c:227 #, c-format -msgid "" -"The validator can not create reports in the '%s' format. You may select " -"'yaml' or 'text' instead." -msgstr "" +msgid "Could not find component providing '%s::%s'." +msgstr "Het onderdeel dat '%s::%s' bevat kan niet worden gevonden." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:410 -msgid "This 'bundle' tag has an unknown type and can not be used." -msgstr "" +#: tools/ascli-actions-mdata.c:306 +msgid "You need to specify a metadata file." +msgstr "U moet een metagegevens-bestand opgeven." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:404 -msgid "This 'launchable' tag has an unknown type and can not be used." -msgstr "" +#: tools/ascli-actions-mdata.c:320 +#, fuzzy, c-format +msgid "Unable to install metadata file: %s" +msgstr "Het lezen van het .desktop-bestand is mislukt: %s" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:515 -msgid "" -"This 'localization' component does not define any languages this " -"localization is for." -msgstr "" +#: tools/ascli-actions-mdata.c:340 +msgid "You need to specify an input and output file." +msgstr "U moet een invoer- en uitvoerbestand opgeven." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:509 -msgid "" -"This 'localization' component is missing an 'extends' tag, to specify the " -"components it adds localization to." -msgstr "" +#: tools/ascli-actions-mdata.c:347 +#, c-format +msgid "Metadata file '%s' does not exist." +msgstr "Het metagegevens-bestand '%s' bestaat niet." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:521 +#. TRANSLATORS: User is trying to convert a file in ascli +#: tools/ascli-actions-mdata.c:387 msgid "" -"This 'service' component is missing a 'launchable' tag of type 'service'." +"Unable to convert file: Could not determine output format, please set it " +"explicitly using '--format='." msgstr "" +"Het converteren is mislukt: de uitvoersoort kon niet worden bepaald. Stel " +"deze handmatig in d.m.v. '--format='." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:473 -msgid "" -"This 'web-application' component is missing a 'icon' tag to specify a valid " -"icon." -msgstr "" +#: tools/ascli-actions-mdata.c:438 +#, fuzzy, c-format +msgid "Unable to find operating system component '%s'!" +msgstr "Het vinden van een onderdeel met ID %s is mislukt!" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:467 -msgid "" -"This 'web-application' component is missing a 'launchable' tag of type 'url'." -msgstr "" +#: tools/ascli-actions-mdata.c:443 +#, fuzzy +msgid "Version" +msgstr "Versie: %s" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:479 +#: tools/ascli-actions-mdata.c:467 msgid "" -"This 'web-application' component is missing categorizations. A 'categories' " -"block is likely missing." +"You need to give an AppStream software component type to generate a " +"template. Possible values are:" msgstr "" +"U moet een type AppStream-software-onderdeel opgeven om een sjabloon te " +"kunnen genereren. Geldige waarden zijn:" -#: src/as-validator-issue-tag.h:564 +#: tools/ascli-actions-mdata.c:469 +#, c-format msgid "" -"This XML document has an unknown root tag. Maybe this file is not a metainfo " -"document?" +"The software component type '%s' is not valid in AppStream. Possible values " +"are:" msgstr "" +"Het software-onderdeel van het type '%s' is ongeldig in AppStream. Geldige " +"waarden zijn:" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand -#: tools/appstream-cli.c:680 -msgid "" -"This command takes optional TYPE and FILE positional arguments, FILE being a " -"file to write to (or \"-\" for standard output)." -msgstr "" -"Deze opdracht ontvangt optioneel TYPE- en BESTANDsargumenten; BESTAND is het " -"bestand waarnaar moet worden weggeschreven (of \"-\" voor standaard uitvoer)." +#: tools/ascli-actions-mdata.c:487 +#, c-format +msgid "The .desktop file '%s' does not exist." +msgstr "Het .desktop-bestand, '%s', bestaat niet." -#: src/as-validator-issue-tag.h:622 -msgid "" -"This component extends, provides, requires or recommends itself, which is " -"certainly not intended and may confuse users or machines dealing with this " -"metadata." -msgstr "" +#: tools/ascli-actions-mdata.c:493 +#, c-format +msgid "Unable to read the .desktop file: %s" +msgstr "Het lezen van het .desktop-bestand is mislukt: %s" -#: src/as-validator-issue-tag.h:579 -msgid "This component metadata refers to a non-existing .desktop file." -msgstr "" +#: tools/ascli-actions-mdata.c:564 +#, c-format +msgid "Unable to build the template metainfo file: %s" +msgstr "Het bouwen van het sjabloon-metainformatiebestand is mislukt: %s" -#: src/as-validator-issue-tag.h:69 -msgid "" -"This description paragraph contains invalid markup. Currently, only " -"and are permitted." -msgstr "" +#: tools/ascli-actions-mdata.c:572 +#, c-format +msgid "Unable to save the template metainfo file: %s" +msgstr "Het opslaan van het sjabloon-metainformatiebestand is mislukt: %s" -#: src/as-validator-issue-tag.h:57 -msgid "" -"This element (paragraph, list, etc.) of a tag must not be " -"localized individually in collection metadata. Localize the whole " -" tag instead. The AppStream collection metadata generator (e." -"g. `appstream-generator`) will already do the right thing when compiling the " -"data." -msgstr "" +#. TRANSLATORS: In the status report of ascli: Header +#: tools/ascli-actions-misc.c:47 +msgid "AppStream Status:" +msgstr "AppStream-status:" -#: src/as-validator-issue-tag.h:455 -msgid "" -"This generic component is missing a long description. It may be useful to " -"add one." -msgstr "" +#: tools/ascli-actions-misc.c:48 +#, c-format +msgid "Version: %s" +msgstr "Versie: %s" -#: src/as-validator-issue-tag.h:421 -msgid "" -"This tag is a GNOME-specific extension to AppStream and not part of the " -"official specification. Do not expect it to work in all implementations and " -"in all software centers." -msgstr "" +#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions +#: tools/ascli-actions-misc.c:52 +msgid "Distribution metadata:" +msgstr "Distributie-metagegevens:" -#: src/as-validator-issue-tag.h:41 -msgid "This tag requires a type property." -msgstr "" +#: tools/ascli-actions-misc.c:94 +msgid "Iconsets" +msgstr "Pictogrammensets" -#: data/org.freedesktop.appstream.cli.metainfo.xml:15 -msgid "" -"This tool allows for reading, writing, validating and transformation of " -"AppStream XML or YAML metadata. It also gives access to the system metadata " -"pool, for example to query for software that provides a specific MIME-type, " -"and installing it by its software component identifier." -msgstr "" -"Dit hulpprogramma stelt u in staat AppStream XML of YAML-metagegevens te " -"lezen, schrijven, valideren en wijzigen. Het stelt u tevens in staat om " -"toegang te krijgen tot de systeem-metagegevenspool. U kunt daar bijv. zoeken " -"naar software die een bepaald mimetype aanbiedt en deze installeren middels " -"de ID." +#: tools/ascli-actions-misc.c:105 +msgid "No icons." +msgstr "Geen pictogrammen." -#: src/as-validator-issue-tag.h:388 -msgid "" -"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." -msgstr "" +#. TRANSLATORS: No metainfo files have been found +#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 +msgid "Empty." +msgstr "Leeg." -#: tools/appstream-cli.c:648 -msgid "" -"Too many parameters: Need two version numbers or version numbers and a " -"comparison operator." -msgstr "" -"Teveel parameters: twee versienummers of versienummer en vergelijkoperator " -"nodig." +#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report +#: tools/ascli-actions-misc.c:116 +msgid "Metainfo files:" +msgstr "Metainformatie-bestanden:" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:461 -msgid "" -"Type 'console-application' component, but no information about binaries in " -"$PATH was provided via a 'provides/binary' tag." -msgstr "" +#: tools/ascli-actions-misc.c:123 +#, c-format +msgid "Found %i components." +msgstr "%i onderdelen gevonden." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:491 -msgid "" -"Type 'driver' component, but no modalias information was provided via a " -"provides/modalias tag." -msgstr "" +#. TRANSLATORS: Found metainfo files in legacy directories +#: tools/ascli-actions-misc.c:138 +#, c-format +msgid "Found %i components in legacy paths." +msgstr "%i onderdelen gevonden in verouderde paden." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:485 -msgid "" -"Type 'font' component, but no font information was provided via a 'provides/" -"font' tag." -msgstr "" +#. TRANSLATORS: Status summary in ascli +#: tools/ascli-actions-misc.c:145 +msgid "Summary:" +msgstr "Samenvatting:" -#: src/as-validator.c:333 -msgid "URL format is invalid." -msgstr "" +#: tools/ascli-actions-misc.c:153 +#, c-format +msgid "We have information on %i software components." +msgstr "We hebben informatie over %i software-onderdelen." -#: tools/ascli-actions-mdata.c:544 +#: tools/ascli-actions-misc.c:159 #, c-format -msgid "Unable to build the template metainfo file: %s" -msgstr "Het bouwen van het sjabloon-metainformatiebestand is mislukt: %s" +msgid "Error while loading the metadata pool: %s" +msgstr "" +"Er is een fout opgetreden tijdens het laden van de metagegevens-pool: %s" -#. TRANSLATORS: User is trying to convert a file in ascli -#: tools/ascli-actions-mdata.c:400 +#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 +#, fuzzy +msgid "You need to specify a metainfo file as input." +msgstr "U moet een metagegevens-bestand opgeven." + +#: tools/ascli-actions-misc.c:188 +#, fuzzy msgid "" -"Unable to convert file: Could not determine output format, please set it " -"explicitly using '--format='." -msgstr "" -"Het converteren is mislukt: de uitvoersoort kon niet worden bepaald. Stel " -"deze handmatig in d.m.v. '--format='." +"You need to specify a desktop-entry file to create or augment as output." +msgstr "U moet een te valideren bestand opgeven!" -#. TRANSLATORS: We failed to find any component in the database, likely due to an error -#: tools/ascli-actions-mdata.c:177 -#, c-format -msgid "Unable to find component matching %s!" -msgstr "Het vinden van een onderdeel dat overeenkomt met %s is mislukt!" +#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 +#: tools/ascli-actions-misc.c:515 +#, fuzzy, c-format +msgid "Metainfo file '%s' does not exist." +msgstr "Het metagegevens-bestand '%s' bestaat niet." -#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:266 -#: tools/ascli-actions-pkgmgr.c:93 +#: tools/ascli-actions-misc.c:219 #, c-format -msgid "Unable to find component with ID '%s'!" -msgstr "Het vinden van een onderdeel met ID %s is mislukt!" +msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." +msgstr "Uitbreiding de bestaande desktop-bestand ‘%s’ met gegevens uit ‘%s’." #: tools/ascli-actions-misc.c:224 #, fuzzy, c-format msgid "Unable to load existing desktop-entry file template: %s" msgstr "Het lezen van het .desktop-bestand is mislukt: %s" -#: src/as-validator-issue-tag.h:356 -msgid "Unable to reach remote icon at the given web location - does it exist?" -msgstr "" - -#: src/as-validator-issue-tag.h:378 -msgid "" -"Unable to reach remote location that this URL references - does it exist?" +#: tools/ascli-actions-misc.c:228 +#, c-format +msgid "Creating new desktop-entry file '%s' using data from '%s'" msgstr "" -#: src/as-validator-issue-tag.h:179 -msgid "" -"Unable to reach the screenshot image on its remote location - does the image " -"exist?" +#: tools/ascli-actions-misc.c:284 +msgid "No stock icon name was provided in the metainfo file. Can not continue." msgstr "" -#: src/as-validator-issue-tag.h:184 +#: tools/ascli-actions-misc.c:306 msgid "" -"Unable to reach the screenshot video on its remote location - does the video " -"file exist?" +"No provided binary specified in metainfo file, and no exec command specified " +"via '--exec'. Can not create 'Exec=' key." msgstr "" -#: src/as-validator-issue-tag.h:542 +#: tools/ascli-actions-misc.c:370 +#, fuzzy, c-format +msgid "Unable to save desktop entry file: %s" +msgstr "Het lezen van het .desktop-bestand is mislukt: %s" + +#: tools/ascli-actions-misc.c:393 #, fuzzy -msgid "Unable to read file." -msgstr "Kan oude cache niet opschonen." +msgid "You need to specify a NEWS file as input." +msgstr "U moet een metagegevens-bestand opgeven." -#: src/as-validator-issue-tag.h:574 +#: tools/ascli-actions-misc.c:397 #, fuzzy -msgid "Unable to read the .desktop file associated with this component." -msgstr "Het lezen van het .desktop-bestand is mislukt: %s" +msgid "" +"You need to specify a metainfo file to augment, or '-' to print to stdout." +msgstr "U moet een metagegevens-bestand opgeven." -#: tools/ascli-actions-mdata.c:473 -#, c-format -msgid "Unable to read the .desktop file: %s" -msgstr "Het lezen van het .desktop-bestand is mislukt: %s" +#: tools/ascli-actions-misc.c:402 +msgid "No output filename specified, modifying metainfo file directly." +msgstr "" -#: src/as-pool.c:606 -msgid "Unable to remove old cache." -msgstr "Kan oude cache niet opschonen." +#: tools/ascli-actions-misc.c:509 +#, fuzzy +msgid "You need to specify a NEWS file as output, or '-' to print to stdout." +msgstr "U moet een metagegevens-bestand opgeven." -#: tools/ascli-actions-misc.c:370 -#, fuzzy, c-format -msgid "Unable to save desktop entry file: %s" -msgstr "Het lezen van het .desktop-bestand is mislukt: %s" +#: tools/ascli-actions-misc.c:540 +#, fuzzy +msgid "You need to specify a NEWS format to write the output in." +msgstr "U moet een invoer- en uitvoerbestand opgeven." -#: tools/ascli-actions-mdata.c:552 -#, c-format -msgid "Unable to save the template metainfo file: %s" -msgstr "Het opslaan van het sjabloon-metainformatiebestand is mislukt: %s" +#: tools/ascli-actions-pkgmgr.c:53 +msgid "" +"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" +"\" (part of PackageKit) is available." +msgstr "" +"Er is geen geschikt CLI-pakketbeheer gevonden. Zorg ervoor dat bijv. \"pkcon" +"\" (onderdeel van PackageKit) beschikbaar is." #: tools/ascli-actions-pkgmgr.c:67 #, c-format msgid "Unable to spawn package manager: %s" msgstr "De pakketbeheerder kon niet worden gestart: %s" -#: tools/ascli-actions-mdata.c:322 +#. TRANSLATORS: We found no distribution package or bundle to install to make this software available +#: tools/ascli-actions-pkgmgr.c:106 #, c-format -msgid "Unable to write to '%s', can not install metainfo file." -msgstr "" -"Het schrijven naar '%s' is mislukt: meta-informatiebestanden kunnen niet " -"worden geïnstalleerd." +msgid "Component '%s' has no installation candidate." +msgstr "Het onderdeel '%s' bevat geen installatie-kandidaat." -#. TRANSLATORS: ascli has been run with unknown command. -#: tools/appstream-cli.c:1009 -#, c-format -msgid "Unknown command '%s'." -msgstr "Onbekende opdracht '%s'." +#: tools/ascli-actions-validate.c:176 tools/ascli-actions-validate.c:354 +#, fuzzy, c-format +msgid "File '%s' does not exist." +msgstr "Het metagegevens-bestand '%s' bestaat niet." -#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. -#: tools/appstream-cli.c:608 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "error"-type hints +#: tools/ascli-actions-validate.c:228 #, c-format -msgid "Unknown compare relation '%s'. Valid values are:" -msgstr "Onbekende vergelijkrelatie '%s'. Geldige waarden zijn:" - -#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) -#: tools/appstream-cli.c:675 -msgid "" -"Use the given .desktop file to fill in the basic values of the metainfo file." -msgstr "" -"Gebruik het opgegeven .desktop-bestand om basiswaarden in te vullen in het " -"metainformatie-bestand." - -#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) -#: tools/appstream-cli.c:725 -msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." -msgstr "" - -#. TRANSLATORS: this is the menu spec main category for Utilities -#: src/as-category.c:329 -msgid "Utilities" -msgstr "Hulpmiddelen" +msgid "errors: %lu" +msgstr "fouten: %lu" -#: tools/appstream-cli.c:856 -msgid "Validate AppStream XML files for issues." -msgstr "Valideer de AppStream XML-bestanden op problemen." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "warning"-type hints +#: tools/ascli-actions-validate.c:235 +#, c-format +msgid "warnings: %lu" +msgstr "waarschuwingen: %lu" -#: tools/appstream-cli.c:857 -msgid "Validate an installed file-tree of an application for valid metadata." -msgstr "" -"Valideert een geïnstalleerde bestandsstructuur van een applicatie op geldige " -"metagegevens." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "info"-type hints +#: tools/ascli-actions-validate.c:242 +#, c-format +msgid "infos: %lu" +msgstr "informatie: %lu" -#: tools/ascli-actions-validate.c:301 tools/ascli-actions-validate.c:442 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "pedantic"-type hints +#: tools/ascli-actions-validate.c:249 #, c-format -msgid "Validation failed: %s" -msgstr "Het valideren is mislukt: %s" +msgid "pedantic: %lu" +msgstr "pedant: %lu" + +#: tools/ascli-actions-validate.c:268 tools/ascli-actions-validate.c:342 +#, fuzzy +msgid "You need to specify at least one file to validate!" +msgstr "U moet een te valideren bestand opgeven!" -#: tools/ascli-actions-validate.c:289 tools/ascli-actions-validate.c:430 +#: tools/ascli-actions-validate.c:294 tools/ascli-actions-validate.c:435 msgid "Validation was successful." msgstr "Het valideren is succesvol." -#: tools/ascli-actions-validate.c:291 tools/ascli-actions-validate.c:432 +#: tools/ascli-actions-validate.c:296 tools/ascli-actions-validate.c:437 #, c-format msgid "Validation was successful: %s" msgstr "Het valideren is succesvol: %s" -#: tools/appstream-cli.c:851 -msgid "Value of the item that should be found." -msgstr "Waarde van het te vinden item." - -#: src/as-category.c:177 -msgctxt "Category of Graphics" -msgid "Vector Graphics" -msgstr "Vectorafbeeldingen" - -#: tools/ascli-actions-misc.c:48 +#: tools/ascli-actions-validate.c:306 tools/ascli-actions-validate.c:447 #, c-format -msgid "Version: %s" -msgstr "Versie: %s" - -#: src/as-category.c:180 -msgctxt "Category of Graphics" -msgid "Viewers" -msgstr "Weergevers" +msgid "Validation failed: %s" +msgstr "Het valideren is mislukt: %s" -#: tools/ascli-actions-misc.c:153 +#: tools/ascli-actions-validate.c:368 tools/ascli-actions-validate.c:497 #, c-format -msgid "We have information on %i software components." -msgstr "We hebben informatie over %i software-onderdelen." - -#: src/as-category.c:270 -msgctxt "Category of Communication" -msgid "Web Browsers" -msgstr "Webbrowsers" +msgid "" +"The validator can not create reports in the '%s' format. You may select " +"'yaml' or 'text' instead." +msgstr "" -#: src/as-category.c:202 -msgctxt "Category of Office" -msgid "Word Processor" -msgstr "Tekstverwerkers" +#: tools/ascli-actions-validate.c:390 tools/ascli-actions-validate.c:484 +msgid "You need to specify a root directory to start validation!" +msgstr "U moet een hoofdmap opgeven om te kunnen beginnen met valideren!" -#: tools/appstream-cli.c:871 -msgid "Write NEWS text or YAML file with information from a metainfo file." -msgstr "" +#: tools/ascli-utils.c:266 +msgid "Identifier" +msgstr "Identificeerder" -#: tools/appstream-cli.c:874 -msgid "" -"You can find information about subcommand-specific options by passing \"--" -"help\" to the subcommand." +#: tools/ascli-utils.c:268 +msgid "Internal ID" msgstr "" -"U kunt informatie vinden over subopdracht-opties door \"--help\" toe te " -"voegen aan de subopdracht." -#. TRANSLATORS: In ascli: The requested action needs higher permissions. -#: tools/ascli-actions-mdata.c:70 -msgid "You might need superuser permissions to perform this action." -msgstr "" -"U heeft mogelijk administrator-rechten (su) nodig om deze actie uit te " -"kunnen voeren." +#: tools/ascli-utils.c:269 +msgid "Name" +msgstr "Naam" -#: tools/ascli-actions-mdata.c:447 -msgid "" -"You need to give an AppStream software component type to generate a " -"template. Possible values are:" -msgstr "" -"U moet een type AppStream-software-onderdeel opgeven om een sjabloon te " -"kunnen genereren. Geldige waarden zijn:" +#: tools/ascli-utils.c:270 +msgid "Summary" +msgstr "Samenvatting" -#: tools/appstream-cli.c:579 -msgid "" -"You need to provide at least two version numbers to compare as parameters." -msgstr "" -"Je moet minimaal twee versienummers opgeven om parameters te kunnen " -"vergelijken." +#: tools/ascli-utils.c:271 +msgid "Package" +msgstr "Pakket" -#: tools/ascli-actions-misc.c:393 -#, fuzzy -msgid "You need to specify a NEWS file as input." -msgstr "U moet een metagegevens-bestand opgeven." +#: tools/ascli-utils.c:272 +msgid "Bundle" +msgstr "Bundel" -#: tools/ascli-actions-misc.c:509 -#, fuzzy -msgid "You need to specify a NEWS file as output, or '-' to print to stdout." -msgstr "U moet een metagegevens-bestand opgeven." +#: tools/ascli-utils.c:273 +msgid "Homepage" +msgstr "Website" -#: tools/ascli-actions-misc.c:540 -#, fuzzy -msgid "You need to specify a NEWS format to write the output in." -msgstr "U moet een invoer- en uitvoerbestand opgeven." +#: tools/ascli-utils.c:274 +msgid "Icon" +msgstr "Pictogram" -#. TRANSLATORS: ascli has been run without command. -#: tools/appstream-cli.c:925 -msgid "You need to specify a command." -msgstr "U moet een opdracht opgeven." +#. developer name +#: tools/ascli-utils.c:294 +msgid "Developer" +msgstr "Ontwikkelaar" -#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments -#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. -#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:254 -#: tools/ascli-actions-pkgmgr.c:80 -msgid "You need to specify a component-ID." -msgstr "U moet een onderdeel-ID opgeven." +#: tools/ascli-utils.c:300 +msgid "Extends" +msgstr "Breidt uit" -#: tools/ascli-actions-misc.c:188 -#, fuzzy -msgid "" -"You need to specify a desktop-entry file to create or augment as output." -msgstr "U moet een te valideren bestand opgeven!" +#: tools/ascli-utils.c:306 +msgid "Description" +msgstr "Omschrijving" -#: tools/ascli-actions-mdata.c:309 -msgid "You need to specify a metadata file." -msgstr "U moet een metagegevens-bestand opgeven." +#: tools/ascli-utils.c:326 +msgid "Default Screenshot URL" +msgstr "Standaard schermafbeelding-URL" -#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 -#, fuzzy -msgid "You need to specify a metainfo file as input." -msgstr "U moet een metagegevens-bestand opgeven." +#. project group +#: tools/ascli-utils.c:333 +msgid "Project Group" +msgstr "Projectgroep" -#: tools/ascli-actions-misc.c:397 -#, fuzzy -msgid "" -"You need to specify a metainfo file to augment, or '-' to print to stdout." -msgstr "U moet een metagegevens-bestand opgeven." +#. license +#: tools/ascli-utils.c:336 +msgid "License" +msgstr "Licentie" -#: tools/ascli-actions-validate.c:385 tools/ascli-actions-validate.c:479 -msgid "You need to specify a root directory to start validation!" -msgstr "U moet een hoofdmap opgeven om te kunnen beginnen met valideren!" +#: tools/ascli-utils.c:342 +msgid "Categories" +msgstr "Categorieën" -#: tools/ascli-actions-mdata.c:164 -msgid "You need to specify a term to search for." -msgstr "U moet een zoekterm opgeven." +#: tools/ascli-utils.c:350 +msgid "Compulsory for" +msgstr "Verplicht voor" -#: tools/ascli-actions-mdata.c:357 -msgid "You need to specify an input and output file." -msgstr "U moet een invoer- en uitvoerbestand opgeven." +#: tools/ascli-utils.c:378 +msgid "Provided Items" +msgstr "Geboden items" -#: tools/ascli-actions-validate.c:263 tools/ascli-actions-validate.c:337 -#, fuzzy -msgid "You need to specify at least one file to validate!" -msgstr "U moet een te valideren bestand opgeven!" +#, fuzzy, c-format +#~ msgid "Unable to open new cache file: %s" +#~ msgstr "Het lezen van het .desktop-bestand is mislukt: %s" -#. TRANSLATORS: List of "grey-listed" words sperated with ";" -#. * Do not translate this list directly. Instead, -#. * provide a list of words in your language that people are likely -#. * to include in a search but that should normally be ignored in -#. * the search. -#. -#: src/as-pool.c:107 -msgid "app;application;package;program;programme;suite;tool" -msgstr "" -"app;applicatie;pakket;programma;toepassing;hulpmiddel;hulpprogramma;" -"ontwikkeling" +#~ msgid "" +#~ "AppStream is a cross-distribution specification to provide metadata about " +#~ "software components." +#~ msgstr "" +#~ "AppStream is een distributie-onafhankelijke specificatie die metagegevens " +#~ "beschikbaar stelt over software-onderdelen." -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:223 #, c-format -msgid "errors: %lu" -msgstr "fouten: %lu" +#~ msgid "Unable to write to '%s', can not install metainfo file." +#~ msgstr "" +#~ "Het schrijven naar '%s' is mislukt: meta-informatiebestanden kunnen niet " +#~ "worden geïnstalleerd." -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:237 #, c-format -msgid "infos: %lu" -msgstr "informatie: %lu" +#~ msgid "" +#~ "Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " +#~ "suffix." +#~ msgstr "" +#~ "Het kopiëren van '%s' is mislukt: het bestand heeft geen 'metainfo.xml' " +#~ "of '.appdata.xml'-achtervoegsel." -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:244 -#, c-format -msgid "pedantic: %lu" -msgstr "pedant: %lu" +#~ msgid "An item type (e.g. lib, bin, python3, …)" +#~ msgstr "Een item-type (bijv. lib, bin, python3, …)" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:230 -#, c-format -msgid "warnings: %lu" -msgstr "waarschuwingen: %lu" +#~ msgid "Get components which provide the given item." +#~ msgstr "Onderdelen verkrijgen die het opgegeven item beschikbaar stellen." -#~ msgid "Command '%s' is unknown." -#~ msgstr "De opdracht '%s' is onbekend." +#, c-format +#~ msgid "Unknown command '%s'." +#~ msgstr "Onbekende opdracht '%s'." -#~ msgid "Do not use any caches when performing the request." -#~ msgstr "Geen caches gebruiken tijdens het uitvoeren van de opdracht." +#~ msgid "Value of the item that should be found." +#~ msgstr "Waarde van het te vinden item." diff -Nru appstream-0.12.10/po/oc.po appstream-0.14.5/po/oc.po --- appstream-0.12.10/po/oc.po 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/po/oc.po 2021-08-28 20:15:28.000000000 +0000 @@ -1,1543 +1,2365 @@ +# #-#-#-#-# oc.po (AppStream) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Matthias Klumpp # This file is distributed under the same license as the appstream package. # # Translators: # Cédric Valmary , 2015-2016 +# #-#-#-#-# oc.po (appstream-glib) #-#-#-#-# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Cédric Valmary , 2015 +# Cédric Valmary , 2016 +# Cédric Valmary , 2016 +# Tot en òc , 2016 +# Yannig Marchegay (Kokoyaya) , 2007 +# Quentin PAGÈS , 2021. +# +# Translators: msgid "" msgstr "" -"Project-Id-Version: AppStream\n" +"Project-Id-Version: appstream-glib\n" "Report-Msgid-Bugs-To: appstream@lists.freedesktop.org\n" -"POT-Creation-Date: 2020-01-14 01:44+0100\n" -"PO-Revision-Date: 2016-08-15 18:48+0000\n" -"Last-Translator: Matthias Klumpp \n" -"Language-Team: Occitan (post 1500) (http://www.transifex.com/freedesktop/" -"appstream/language/oc/)\n" +"POT-Creation-Date: 2021-08-28 16:09+0200\n" +"PO-Revision-Date: 2021-05-14 23:32+0000\n" +"Last-Translator: Quentin PAGÈS \n" +"Language-Team: Occitan \n" "Language: oc\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.7-dev\n" -#: tools/appstream-cli.c:157 -#, c-format -msgid "'%s' command" -msgstr "" +#: data/org.freedesktop.appstream.cli.metainfo.xml:8 +msgid "AppStream CLI" +msgstr "Interfàcia en linha de comanda AppStream" -#: src/as-category.c:168 -#, fuzzy -msgctxt "Category of Graphics" -msgid "3D Graphics" -msgstr "Categorias" +#: data/org.freedesktop.appstream.cli.metainfo.xml:9 +msgid "An utility to work with AppStream metadata" +msgstr "Un utilitari per trabalhar amb las metadonadas AppStream" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:254 +#: data/org.freedesktop.appstream.cli.metainfo.xml:12 msgid "" -"A 'requires' or 'recommends' item requires a value to denote a valid " -"relation." +"AppStream is a metadata specification which permits software components to " +"provide information about themselves to automated systems and end-users " +"before the software is actually installed. The AppStream project provides " +"facilities to easily access and transform this metadata, as well as a few " +"additional services for building feature-rich software centers and similar " +"applications that make use of software metadata." msgstr "" -#: src/as-validator-issue-tag.h:51 +#: data/org.freedesktop.appstream.cli.metainfo.xml:18 msgid "" -"A tag must not be localized in metainfo files (upstream " -"metadata). Localize the individual paragraphs instead." +"The appstreamcli command-line tool allows to read, write, and " +"transform AppStream XML or YAML metadata as well as to validate it for " +"compliance with the specification. It also provides easy access to the " +"system metadata pool, for example to query for software that provides a " +"specific Mediatype handler or for installing software by its component " +"identifier." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:195 -msgid "" -"A screenshot must contain at least one image or video in order to be useful. " -"Please add an to it." -msgstr "" +#: src/as-category.c:66 +msgctxt "Category of AudioVideo" +msgid "Featured" +msgstr "Endavant" -#: src/as-validator-issue-tag.h:200 -msgid "" -"A screenshot must contain either images or videos, but not both at the same " -"time. Please use this screenshot exclusively for either static images or for " -"videos." +#: src/as-category.c:69 +msgctxt "Category of AudioVideo" +msgid "Audio Creation & Editing" +msgstr "Creacion e edicion àudio" + +#: src/as-category.c:75 +msgctxt "Category of AudioVideo" +msgid "Music Players" +msgstr "Lectors de musica" + +#: src/as-category.c:84 +msgctxt "Category of Development" +msgid "Featured" +msgstr "Endavant" + +#: src/as-category.c:87 +msgctxt "Category of Development" +msgid "Debuggers" msgstr "" -#: src/as-category.c:123 -msgctxt "Category of Games" -msgid "Action" +#: src/as-category.c:90 +msgctxt "Category of Development" +msgid "IDEs" msgstr "" -#. TRANSLATORS: this is the main category for Add-ons -#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor -#: src/as-category.c:320 tools/ascli-utils.c:398 -msgid "Add-ons" +#: src/as-category.c:99 +msgctxt "Category of Education" +msgid "Featured" msgstr "" -#: src/as-category.c:126 +#: src/as-category.c:102 +msgctxt "Category of Education" +msgid "Astronomy" +msgstr "Astronomia" + +#: src/as-category.c:105 +msgctxt "Category of Education" +msgid "Chemistry" +msgstr "Quimia" + +#: src/as-category.c:108 +msgctxt "Category of Education" +msgid "Languages" +msgstr "Lengas" + +#: src/as-category.c:112 +msgctxt "Category of Education" +msgid "Math" +msgstr "Matematicas" + +#: src/as-category.c:121 +msgctxt "Category of Games" +msgid "Featured" +msgstr "Endavant" + +#: src/as-category.c:124 +msgctxt "Category of Games" +msgid "Action" +msgstr "Accion" + +#: src/as-category.c:127 msgctxt "Category of Games" msgid "Adventure" -msgstr "" +msgstr "Aventura" -#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) -#: tools/appstream-cli.c:116 -msgid "Also show pedantic hints." +#: src/as-category.c:130 +msgctxt "Category of Games" +msgid "Arcade" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:497 -msgid "" -"An 'extends' tag is specified, but the component is not of type 'addon', " -"'localization' or 'repository'." +#: src/as-category.c:133 +msgctxt "Category of Games" +msgid "Blocks" msgstr "" -#: tools/appstream-cli.c:850 -msgid "An item type (e.g. lib, bin, python3, …)" +#: src/as-category.c:136 +msgctxt "Category of Games" +msgid "Board" msgstr "" -#: data/org.freedesktop.appstream.cli.metainfo.xml:9 -msgid "An utility to work with AppStream metadata" -msgstr "" +#: src/as-category.c:139 +msgctxt "Category of Games" +msgid "Card" +msgstr "Carta" -#: data/org.freedesktop.appstream.cli.metainfo.xml:8 -msgid "AppStream CLI" -msgstr "" +#: src/as-category.c:142 +msgctxt "Category of Games" +msgid "Emulators" +msgstr "Emuladors" -#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. -#: tools/appstream-cli.c:947 -#, c-format -msgid "" -"AppStream CLI tool version: %s\n" -"AppStream library version: %s" -msgstr "" +#: src/as-category.c:145 +msgctxt "Category of Games" +msgid "Kids" +msgstr "Mainatge" -#. TRANSLATORS: In the status report of ascli: Header -#: tools/ascli-actions-misc.c:47 -msgid "AppStream Status:" -msgstr "" +#: src/as-category.c:148 +msgctxt "Category of Games" +msgid "Logic" +msgstr "Logica" -#. we performed a cache refresh -#. TRANSLATORS: Updating the metadata cache succeeded -#: tools/ascli-actions-mdata.c:80 -msgid "AppStream cache update completed successfully." -msgstr "" +#: src/as-category.c:151 +msgctxt "Category of Games" +msgid "Role Playing" +msgstr "Jòcs de ròtle" -#. cache wasn't updated, so the update wasn't necessary -#: tools/ascli-actions-mdata.c:86 -msgid "AppStream cache update is not necessary." -msgstr "" +#: src/as-category.c:154 +msgctxt "Category of Games" +msgid "Sports" +msgstr "Espòrts" -#. TRANSLATORS: This is the header to the --help menu for subcommands -#. TRANSLATORS: This is the header to the --help menu -#: tools/appstream-cli.c:154 tools/appstream-cli.c:843 -msgid "AppStream command-line interface" -msgstr "" +#: src/as-category.c:158 +msgctxt "Category of Games" +msgid "Strategy" +msgstr "Estrategia" -#: src/as-validator-issue-tag.h:63 -msgid "" -"AppStream descriptions support only a limited set of tags to format text: " -"Paragraphs (

                                                                                                                                                                                                                                                                ) and lists (

                                                                                                                                                                                                                                                                  ,
                                                                                                                                                                                                                                                                    ). This description markup contains " -"an invalid XML tag that would not be rendered correctly in applications " -"supporting the metainfo specification." +#: src/as-category.c:166 +msgctxt "Category of Graphics" +msgid "Featured" msgstr "" -#: data/org.freedesktop.appstream.cli.metainfo.xml:12 -msgid "" -"AppStream is a cross-distribution specification to provide metadata about " -"software components." -msgstr "" +#: src/as-category.c:169 +msgctxt "Category of Graphics" +msgid "3D Graphics" +msgstr "Grafisme 3D" -#: src/as-pool.c:1937 -#, c-format -msgid "" -"AppStream system cache refresh failed. Turn on verbose mode to get detailed " -"issue information." +#: src/as-category.c:172 +msgctxt "Category of Graphics" +msgid "Photography" +msgstr "Fotografia" + +#: src/as-category.c:175 +msgctxt "Category of Graphics" +msgid "Scanning" +msgstr "Numerizacion" + +#: src/as-category.c:178 +msgctxt "Category of Graphics" +msgid "Vector Graphics" +msgstr "Grafisme vectorial" + +#: src/as-category.c:181 +msgctxt "Category of Graphics" +msgid "Viewers" +msgstr "Visuadors" + +#: src/as-category.c:189 +msgctxt "Category of Office" +msgid "Featured" msgstr "" -#. TRANSLATORS: Output if appstreamcli --version is executed. -#: tools/appstream-cli.c:944 -#, fuzzy, c-format -msgid "AppStream version: %s" -msgstr "Version : %s" +#: src/as-category.c:192 +msgctxt "Category of Office" +msgid "Calendar" +msgstr "Calendièr" -#: src/as-category.c:129 -msgctxt "Category of Games" -msgid "Arcade" +#: src/as-category.c:196 +msgctxt "Category of Office" +msgid "Database" +msgstr "Basa de donadas" + +#: src/as-category.c:199 +msgctxt "Category of Office" +msgid "Finance" +msgstr "Finanças" + +#: src/as-category.c:203 +msgctxt "Category of Office" +msgid "Word Processor" +msgstr "Tractament de tèxt" + +#: src/as-category.c:212 +msgctxt "Category of Addons" +msgid "Fonts" +msgstr "Poliças" + +#: src/as-category.c:215 +msgctxt "Category of Addons" +msgid "Codecs" msgstr "" -#: src/as-category.c:234 +#: src/as-category.c:218 +msgctxt "Category of Addons" +msgid "Input Sources" +msgstr "Fonts d’entrada" + +#: src/as-category.c:221 +msgctxt "Category of Addons" +msgid "Language Packs" +msgstr "Paquets de lenga" + +#: src/as-category.c:224 +msgctxt "Category of Addons" +msgid "Localization" +msgstr "Localizacion" + +#: src/as-category.c:232 +msgctxt "Category of Science" +msgid "Featured" +msgstr "Endavant" + +#: src/as-category.c:235 msgctxt "Category of Science" msgid "Artificial Intelligence" -msgstr "" +msgstr "Intelligéncia artificiala" -#: src/as-validator-issue-tag.h:91 -msgid "" -"As per AppStream specification, the mentioned tag must only appear once in " -"this context. Having multiple tags of this kind is not valid." -msgstr "" +#: src/as-category.c:238 +msgctxt "Category of Science" +msgid "Astronomy" +msgstr "Astronomia" -#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command -#: tools/appstream-cli.c:766 -msgid "Assume the input file is in the selected format ('yaml' or 'text')." -msgstr "" +#: src/as-category.c:241 +msgctxt "Category of Science" +msgid "Chemistry" +msgstr "Quimia" -#: src/as-category.c:101 -msgctxt "Category of Education" -msgid "Astronomy" -msgstr "" +#: src/as-category.c:244 +msgctxt "Category of Science" +msgid "Math" +msgstr "Matematicas" -#: src/as-category.c:237 +#: src/as-category.c:249 msgctxt "Category of Science" -msgid "Astronomy" +msgid "Robotics" +msgstr "Robotica" + +#: src/as-category.c:257 +msgctxt "Category of Communication" +msgid "Featured" +msgstr "Endavant" + +#: src/as-category.c:260 +msgctxt "Category of Communication" +msgid "Chat" +msgstr "Messatjariá" + +#: src/as-category.c:267 +msgctxt "Category of Communication" +msgid "News" +msgstr "Actualitat" + +#: src/as-category.c:271 +msgctxt "Category of Communication" +msgid "Web Browsers" +msgstr "Navegador web" + +#: src/as-category.c:279 +msgctxt "Category of Utility" +msgid "Featured" +msgstr "Endavant" + +#: src/as-category.c:282 +msgctxt "Category of Utility" +msgid "Text Editors" +msgstr "Editors de tèxt" + +#: src/as-category.c:285 +msgctxt "Category of Utility" +msgid "Terminal Emulators" +msgstr "Emulador de terminal" + +#: src/as-category.c:288 +msgctxt "Category of Utility" +msgid "File System" +msgstr "Sistèma de fichièrs" + +#: src/as-category.c:291 +msgctxt "Category of Utility" +msgid "System Monitoring" msgstr "" +#: src/as-category.c:294 +msgctxt "Category of Utility" +msgid "Security" +msgstr "Seguretat" + #. TRANSLATORS: this is the menu spec main category for Audio & Video -#: src/as-category.c:302 +#: src/as-category.c:303 msgid "Audio & Video" -msgstr "" +msgstr "Àudio e vidèo" -#: src/as-category.c:68 -msgctxt "Category of AudioVideo" -msgid "Audio Creation & Editing" -msgstr "" +#. TRANSLATORS: this is the menu spec main category for Development +#: src/as-category.c:306 +msgid "Developer Tools" +msgstr "Aisinas pel desvolopament" -#: tools/ascli-actions-misc.c:219 +#. TRANSLATORS: this is the menu spec main category for Education +#: src/as-category.c:309 +msgid "Education" +msgstr "Educacion" + +#. TRANSLATORS: this is the menu spec main category for Game +#: src/as-category.c:312 +msgid "Games" +msgstr "Jòcs" + +#. TRANSLATORS: this is the menu spec main category for Graphics +#: src/as-category.c:315 +msgid "Graphics & Photography" +msgstr "Grafisme e fotografia" + +#. TRANSLATORS: this is the menu spec main category for Office +#: src/as-category.c:318 +msgid "Office" +msgstr "Burotica" + +#. TRANSLATORS: this is the main category for Add-ons +#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor +#: src/as-category.c:321 tools/ascli-utils.c:371 +msgid "Add-ons" +msgstr "Extensions" + +#. TRANSLATORS: this is the menu spec main category for Science +#: src/as-category.c:324 +msgid "Science" +msgstr "Sciéncia" + +#. TRANSLATORS: this is the menu spec main category for Communication +#: src/as-category.c:327 +msgid "Communication & News" +msgstr "Comunicacion e actualitat" + +#. TRANSLATORS: this is the menu spec main category for Utilities +#: src/as-category.c:330 +msgid "Utilities" +msgstr "Utilitaris" + +#. TRANSLATORS: This is the formatting of English and localized name +#. * of the rating e.g. "Adults Only (solo adultos)" +#: src/as-content-rating.c:298 +#, c-format +msgid "%s (%s)" +msgstr "%s (%s)" + +#: src/as-content-rating.c:444 +msgid "General" +msgstr "General" + +#: src/as-content-rating.c:453 +msgid "ALL" +msgstr "TOTES" + +#: src/as-content-rating.c:457 src/as-content-rating.c:560 +msgid "Adults Only" +msgstr "Adultes unicament" + +#: src/as-content-rating.c:459 src/as-content-rating.c:559 +msgid "Mature" +msgstr "Matur" + +#: src/as-content-rating.c:461 src/as-content-rating.c:558 +msgid "Teen" +msgstr "Adolescents" + +#: src/as-content-rating.c:463 src/as-content-rating.c:557 +msgid "Everyone 10+" +msgstr "10 ans e mai" + +#: src/as-content-rating.c:465 src/as-content-rating.c:556 +msgid "Everyone" +msgstr "Tot lo monde" + +#: src/as-content-rating.c:467 src/as-content-rating.c:555 +msgid "Early Childhood" +msgstr "Bas atge" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:839 +msgid "No cartoon violence" +msgstr "Pas cap de violéncia de dessenhs animats" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:841 +msgid "Cartoon characters in unsafe situations" +msgstr "Personatges de dessenh animat en situacion de dangièr" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:843 +msgid "Cartoon characters in aggressive conflict" +msgstr "Personatges de dessenh animat en conflicte agressiu" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:845 +msgid "Graphic violence involving cartoon characters" +msgstr "" +"Illustracion de violéncias implicant los personatges del dessenh animat" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:850 +msgid "No fantasy violence" +msgstr "Pas de violéncias fantasticas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:852 +msgid "Characters in unsafe situations easily distinguishable from reality" +msgstr "Personatges en situacions dangierosas francament irrealas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:854 +msgid "Characters in aggressive conflict easily distinguishable from reality" +msgstr "Personatges en situacion de conflicte agressiu francament irreal" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:856 +msgid "Graphic violence easily distinguishable from reality" +msgstr "Illustracion violenta francament irreala" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:861 +msgid "No realistic violence" +msgstr "Pas cap de violéncia realista" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:863 +msgid "Mildly realistic characters in unsafe situations" +msgstr "Personatges mejanament realistas en situacion dangierosa" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:865 +msgid "Depictions of realistic characters in aggressive conflict" +msgstr "Illustracions de personatges realistas en conflicte agressiu" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:867 +msgid "Graphic violence involving realistic characters" +msgstr "Illustracions de violéncias implicant de personatges realistas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:872 +msgid "No bloodshed" +msgstr "Pas cap de massacre" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:874 +msgid "Unrealistic bloodshed" +msgstr "Chaple irrealista" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:876 +msgid "Realistic bloodshed" +msgstr "Chaple realista" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:878 +msgid "Depictions of bloodshed and the mutilation of body parts" +msgstr "Illustracions d'un chaple e de mutilacions corporalas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:883 +msgid "No sexual violence" +msgstr "Pas cap de violéncia sexuala" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:885 +msgid "Rape or other violent sexual behavior" +msgstr "Viòl e autre compòrtament sexual violent" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:892 +msgid "No references to alcohol" +msgstr "Pas cap d'allusion a de bevendas alcoolizadas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:894 +msgid "References to alcoholic beverages" +msgstr "Allusions a de bevendas alcoolizadas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:896 +msgid "Use of alcoholic beverages" +msgstr "Usatge de bevendas alcoolicas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:902 +msgid "No references to illicit drugs" +msgstr "Pas cap d'allusion a de drògas illicitas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:904 +msgid "References to illicit drugs" +msgstr "Allusions a de drògas illicitas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:906 +msgid "Use of illicit drugs" +msgstr "Usatge de drògas illicitas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:912 +msgid "No references to tobacco products" +msgstr "Cap d’allusions als produits derivats del tabat" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:914 +msgid "References to tobacco products" +msgstr "Allusions a de produits derivats del tabat" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:916 +msgid "Use of tobacco products" +msgstr "Referéncia al tabat" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:922 +msgid "No nudity of any sort" +msgstr "Pas cap de nud, de cap de mena" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:924 +msgid "Brief artistic nudity" +msgstr "Nud artistic de corta durada" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:926 +msgid "Prolonged nudity" +msgstr "Nuditat perlongada" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:932 +msgid "No references to or depictions of sexual nature" +msgstr "Pas cap d'allusion o d'imatge amb caractèr sexual" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:934 +msgid "Provocative references or depictions" +msgstr "Allusions e imatges provocators" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:936 +msgid "Sexual references or depictions" +msgstr "Recercar d'aplicacions" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:938 +msgid "Graphic sexual behavior" +msgstr "Illustracions de compòrtaments sexuals" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:943 +msgid "No profanity of any kind" +msgstr "Pas cap de profanacion, de cap de mena" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:945 +msgid "Mild or infrequent use of profanity" +msgstr "Utilizacion moderada e ocasionnala d'injúrias" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:947 +msgid "Moderate use of profanity" +msgstr "Utilizacion moderada d'injúrias" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:949 +msgid "Strong or frequent use of profanity" +msgstr "Utilizacion fòrta e frequenta d'injúrias" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:954 +msgid "No inappropriate humor" +msgstr "Pas cap d'umor desplaçat" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:956 +msgid "Slapstick humor" +msgstr "Umor burlèsc" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:958 +msgid "Vulgar or bathroom humor" +msgstr "Umor vulgar e de regòla" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:960 +msgid "Mature or sexual humor" +msgstr "Umor per adultes e sexual" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:965 +msgid "No discriminatory language of any kind" +msgstr "Pas cap d'allusion discriminatòria, de cap de mena" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:967 +msgid "Negativity towards a specific group of people" +msgstr "Actituds negativas de cap a de gropes especifics de gents" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:969 +msgid "Discrimination designed to cause emotional harm" +msgstr "Discriminacions destinadas a nafrar emocionalament" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:971 +msgid "Explicit discrimination based on gender, sexuality, race or religion" +msgstr "" +"Discriminacions explicitas basadas sul genre, lo sèxe, la raça e la religion" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:976 +msgid "No advertising of any kind" +msgstr "Pas cap de publicitat, de cap de mena" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:978 +msgid "Product placement" +msgstr "Gestion de projècte" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:980 +msgid "Explicit references to specific brands or trademarked products" +msgstr "Allusions explicitas a de produits de marca especifica e depausada" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:982 +msgid "Users are encouraged to purchase specific real-world items" +msgstr "" +"Los utilizaires son encoratjats a crompar d'elements especifics del monde " +"real" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:987 +msgid "No gambling of any kind" +msgstr "Pas cap de pariatge, de cap de mena" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:989 +msgid "Gambling on random events using tokens or credits" +msgstr "Pariatges sus d'eveniments aleatòris amb l'ajuda de getons e a crèdit" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:991 +msgid "Gambling using “play” money" +msgstr "Pariatges amb de moneda « fictiva »" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:993 +msgid "Gambling using real money" +msgstr "Pariatges amb d'argent vertadièr" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:998 +msgid "No ability to spend money" +msgstr "Pas cap de possibilitat de despensar d'argent" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1000 +msgid "Users are encouraged to donate real money" +msgstr "Los utilizaires son encoratjats a donar d’argent real" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1003 +msgid "Ability to spend real money in-app" +msgstr "Possibilitat de despensar d'argent vertadièr dins l’aplicacion" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1008 +msgid "No way to chat with other users" +msgstr "Pas cap de possibilitat de discutir amb los autres utilizaires" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1010 +msgid "User-to-user interactions without chat functionality" +msgstr "Interaccions entre utilizaires sens possibilitat de discussion" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1012 +msgid "Moderated chat functionality between users" +msgstr "Possibilitat moderada de discutir entre utilizaires" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1014 +msgid "Uncontrolled chat functionality between users" +msgstr "Possibilitat de discutir sens contròtle entre utilizaires" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1019 +msgid "No way to talk with other users" +msgstr "Pas cap de mejan de parlar amb los autres utilizaires" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1021 +msgid "Uncontrolled audio or video chat functionality between users" +msgstr "Possibilitat de discutir o se veire sens contròtle entre utilizaires" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1028 +msgid "No sharing of social network usernames or email addresses" +msgstr "" +"Pas cap de partiment dels noms d'utilizaire de rets socialas o d'adreças " +"electronicas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1030 +msgid "Sharing social network usernames or email addresses" +msgstr "" +"Partiment dels noms d'utilizaire de rets socialas e de las adreças corrièr " +"electronic" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1037 +msgid "No sharing of user information with third parties" +msgstr "" +"Pas cap de partiment dels identificants d’utilizaire amb de tèrças partidas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1039 +msgid "Checking for the latest application version" +msgstr "Verificacion se s’agís de la darrièra version de l’aplicacion" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1041 +msgid "Sharing diagnostic data that does not let others identify the user" +msgstr "" +"Partiment de las donadas de diagnostic que permet pas l’identification de " +"l’utilizaire" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1043 +msgid "Sharing information that lets others identify the user" +msgstr "Partiment d’informacions que permet l’identificacion de l’utilizaire" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1048 +msgid "No sharing of physical location with other users" +msgstr "Pas cap de partiment de geolocalizacion amb los autres utilizaires" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1050 +msgid "Sharing physical location with other users" +msgstr "Partiment de geolocalizacion amb los autres utilizaires" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1073 +msgid "No references to homosexuality" +msgstr "Pas cap d'allusion a l’omosexualitat" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1075 +msgid "Indirect references to homosexuality" +msgstr "Allusions indirèctas a l’omosexualitat" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1077 +msgid "Kissing between people of the same gender" +msgstr "Estrentas entre personas d’un meteis sèxe" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1079 +msgid "Graphic sexual behavior between people of the same gender" +msgstr "Imatges de comportaments sexuals entre personas d’un meteis sèxe" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1084 +msgid "No references to prostitution" +msgstr "Pas cap d'allusion a la prostitucion" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1086 +msgid "Indirect references to prostitution" +msgstr "Allusions indirèctas a la prostitucion" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1088 +msgid "Direct references to prostitution" +msgstr "Allusions dirèctas a la prostitucion" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1090 +msgid "Graphic depictions of the act of prostitution" +msgstr "Imatges d’actes de prostitucion" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1095 +msgid "No references to adultery" +msgstr "Pas cap d'allusion a l’adultèri" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1097 +msgid "Indirect references to adultery" +msgstr "Allusions indirèctas a l’adultèri" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1099 +msgid "Direct references to adultery" +msgstr "Allusions dirèctas a l’adultèri" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1101 +msgid "Graphic depictions of the act of adultery" +msgstr "Imatges d’actes d’adultèri" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1106 +msgid "No sexualized characters" +msgstr "Representacions umanas amb caractèr non sexual" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1109 +msgid "Scantily clad human characters" +msgstr "Representacions umanas leugièrament vestidas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1111 +msgid "Overtly sexualized human characters" +msgstr "Representacions umanas amb caractèr dobèrtament sexual" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1116 +msgid "No references to desecration" +msgstr "Pas cap d'allusion a de profanacion" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1118 +msgid "Depictions of or references to historical desecration" +msgstr "Allusions o imatges de profanacions istoricas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1120 +msgid "Depictions of modern-day human desecration" +msgstr "Representacions d’actes de profanacion contemporanèus sus umans" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1122 +msgid "Graphic depictions of modern-day desecration" +msgstr "Imatges d’actes de profanacion contemporanèus sus umans" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1127 +msgid "No visible dead human remains" +msgstr "Pas cap d'imatge de rèstas umanas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1129 +msgid "Visible dead human remains" +msgstr "Imatges de rèstas umanas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1131 +msgid "Dead human remains that are exposed to the elements" +msgstr "Rèstas umanas expausadas als elements" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1133 +msgid "Graphic depictions of desecration of human bodies" +msgstr "Imatges de profanacions sus de còsses umans" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1138 +msgid "No references to slavery" +msgstr "Pas cap d'allusion a l’esclavagisme" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1140 +msgid "Depictions of or references to historical slavery" +msgstr "Representacions o allusions a l’esclavagisme istoric" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1142 +msgid "Depictions of modern-day slavery" +msgstr "Representacions d’esclavagisme contemporanèu" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1144 +msgid "Graphic depictions of modern-day slavery" +msgstr "Imatges d’esclavagisme contemporanèu" + +#. TRANSLATORS: We got a 429 error while trying to download data +#: src/as-curl.c:134 +#, c-format +msgid "Failed to download due to server limit" +msgstr "Fracàs del telecargament a causa del temps de responsa del servidor" + +#: src/as-curl.c:141 src/as-curl.c:148 +#, c-format +msgid "Failed to download file: %s" +msgstr "Fracàs del telecargament del fichièr : %s" + +#. TRANSLATORS: We tried to download an URL, but received a 404 error code +#: src/as-curl.c:157 #, c-format -msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." -msgstr "" +msgid "URL was not found on the server." +msgstr "URL pas trobada al servidor." -#: src/as-provided.c:146 -msgid "Binaries" -msgstr "Binaris" +#. TRANSLATORS: We received an uexpected HTTP status code while talking to a server, likely an error +#: src/as-curl.c:164 +#, c-format +msgid "Unexpected status code: %ld" +msgstr "Còdi d’estat inesperat : %ld" -#: src/as-category.c:132 -msgctxt "Category of Games" -msgid "Blocks" -msgstr "" +#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty +#: src/as-curl.c:247 +#, c-format +msgid "Retrieved file size was zero." +msgstr "La talha del fichièr recebut es nulla." -#: src/as-category.c:135 -msgctxt "Category of Games" -msgid "Board" -msgstr "" +#. TRANSLATORS: List of "grey-listed" words sperated with ";" +#. * Do not translate this list directly. Instead, +#. * provide a list of words in your language that people are likely +#. * to include in a search but that should normally be ignored in +#. * the search. +#. +#: src/as-pool.c:111 +msgid "app;application;package;program;programme;suite;tool" +msgstr "app;aplicacion;paquet;programa;program;seguida;aisina;otis" -#: tools/ascli-utils.c:299 -msgid "Bundle" +#: src/as-pool.c:620 +msgid "Unable to remove old cache." +msgstr "Supression impossibla del cache ancian." + +#: src/as-pool.c:963 +msgid "Metadata files have errors:" +msgstr "Los fichièrs de metadonadas an d’errors :" + +#: src/as-pool.c:1370 +msgid "" +"Many components have been recognized as invalid. See debug output for " +"details." msgstr "" -#: src/as-pool.c:1828 +#: src/as-pool.c:1996 #, c-format msgid "Cache location '%s' is not writable." msgstr "" -#: src/as-category.c:191 -msgctxt "Category of Office" -msgid "Calendar" +#: src/as-pool.c:2109 +msgid "" +"The AppStream system cache was updated, but some components were ignored. " +"Refer to the verbose log for more information." msgstr "" -#: tools/ascli-actions-mdata.c:327 +#: src/as-pool.c:2111 #, c-format msgid "" -"Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " -"suffix." -msgstr "" - -#: src/as-category.c:138 -msgctxt "Category of Games" -msgid "Card" +"The AppStream system cache was updated, but problems were found which " +"resulted in metadata being ignored: %s" msgstr "" -#: tools/ascli-utils.c:369 -msgid "Categories" -msgstr "Categorias" - -#: src/as-category.c:259 -msgctxt "Category of Communication" -msgid "Chat" +#: src/as-pool.c:2125 +#, c-format +msgid "" +"AppStream system cache refresh failed. Turn on verbose mode to get detailed " +"issue information." msgstr "" -#: src/as-category.c:104 -msgctxt "Category of Education" -msgid "Chemistry" -msgstr "" +#: src/as-provided.c:144 +msgid "Libraries" +msgstr "Bibliiotècas" -#: src/as-category.c:240 -msgctxt "Category of Science" -msgid "Chemistry" -msgstr "" +#: src/as-provided.c:146 +msgid "Binaries" +msgstr "Binaris" -#: src/as-category.c:214 -msgctxt "Category of Addons" -msgid "Codecs" -msgstr "" +#: src/as-provided.c:148 +msgid "Media types" +msgstr "Tipes de mèdias" -#. TRANSLATORS: this is the menu spec main category for Communication -#: src/as-category.c:326 -msgid "Communication & News" -msgstr "" +#: src/as-provided.c:150 +msgid "Fonts" +msgstr "Poliças" -#: tools/appstream-cli.c:866 -msgid "Compare two version numbers." +#: src/as-provided.c:152 +msgid "Modaliases" msgstr "" -#: src/as-provided.c:166 -msgid "Component" -msgstr "" +#: src/as-provided.c:154 +msgid "Python (Version 2)" +msgstr "Python (Version 2)" -#. TRANSLATORS: We found no distribution package or bundle to install to make this software available -#: tools/ascli-actions-pkgmgr.c:106 -#, c-format -msgid "Component '%s' has no installation candidate." -msgstr "" +#: src/as-provided.c:156 +msgid "Python 3" +msgstr "Python 3" -#: tools/ascli-utils.c:377 -msgid "Compulsory for" +#: src/as-provided.c:158 +msgid "D-Bus System Services" msgstr "" -#: src/as-validator-issue-tag.h:361 -msgid "Consider using a secure (HTTPS) URL for the remote icon link." +#: src/as-provided.c:160 +msgid "D-Bus Session Services" msgstr "" -#: src/as-validator-issue-tag.h:383 -msgid "Consider using a secure (HTTPS) URL for this web link." +#: src/as-provided.c:162 +msgid "Runtime Firmware" msgstr "" -#: src/as-validator-issue-tag.h:189 -msgid "" -"Consider using a secure (HTTPS) URL to reference this screenshot image or " -"video." +#: src/as-provided.c:164 +msgid "Flashed Firmware" msgstr "" -#: tools/appstream-cli.c:870 -msgid "Convert a YAML or text NEWS file into metainfo releases." -msgstr "" +#: src/as-provided.c:166 +msgid "Component" +msgstr "Compausant" -#. TRANSLATORS: "convert" command in ascli. "Collection XML" is a term describing a specific type of AppStream XML data. -#: tools/appstream-cli.c:865 -msgid "Convert collection XML to YAML or vice versa." +#: src/as-validator-issue-tag.h:41 +msgid "This tag requires a type property." msgstr "" -#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results -#: tools/ascli-actions-mdata.c:228 -#, c-format -msgid "Could not find component providing '%s::%s'." +#: src/as-validator-issue-tag.h:46 +msgid "Tags of this name are not permitted in this section." msgstr "" -#: tools/appstream-cli.c:869 -msgid "Create a XDG desktop-entry file from a metainfo file." +#: src/as-validator-issue-tag.h:51 +msgid "" +"A tag must not be localized in metainfo files (upstream " +"metadata). Localize the individual paragraphs instead." msgstr "" -#: tools/appstream-cli.c:868 +#: src/as-validator-issue-tag.h:57 msgid "" -"Create a template for a metainfo file (to be filled out by the upstream " -"project)." +"This element (paragraph, list, etc.) of a tag must not be " +"localized individually in collection metadata. Localize the whole " +" tag instead. The AppStream collection metadata generator (e." +"g. `appstream-generator`) will already do the right thing when compiling the " +"data." msgstr "" -#: tools/ascli-actions-misc.c:228 -#, c-format -msgid "Creating new desktop-entry file '%s' using data from '%s'" +#: src/as-validator-issue-tag.h:63 +msgid "" +"AppStream descriptions support only a limited set of tags to format text: " +"Paragraphs (

                                                                                                                                                                                                                                                                    ) and lists (

                                                                                                                                                                                                                                                                      ,
                                                                                                                                                                                                                                                                        ). This description markup contains " +"an invalid XML tag that would not be rendered correctly in applications " +"supporting the metainfo specification." msgstr "" -#: src/as-provided.c:160 -msgid "D-Bus Session Services" +#: src/as-validator-issue-tag.h:69 +msgid "" +"This description paragraph contains invalid markup. Currently, only " +"and are permitted." msgstr "" -#: src/as-provided.c:158 -msgid "D-Bus System Services" +#: src/as-validator-issue-tag.h:74 +msgid "Enumerations must only have list items (
                                                                                                                                                                                                                                                                      1. ) as children." msgstr "" -#: src/as-category.c:195 -msgctxt "Category of Office" -msgid "Database" +#: src/as-validator-issue-tag.h:79 +msgid "" +"The first `description/p` paragraph of this component might be too short (< " +"80 characters). Please consider starting with a longer paragraph to improve " +"how the description looks like in software centers and to provide more " +"detailed information on this component immediately in the first paragraph." msgstr "" -#: src/as-category.c:86 -msgctxt "Category of Development" -msgid "Debuggers" +#: src/as-validator-issue-tag.h:86 +msgid "" +"The description contains a web URL in plain text. This is not allowed, " +"please use the tag instead to share links." msgstr "" -#: tools/ascli-utils.c:353 -msgid "Default Screenshot URL" +#: src/as-validator-issue-tag.h:91 +msgid "" +"As per AppStream specification, the mentioned tag must only appear once in " +"this context. Having multiple tags of this kind is not valid." msgstr "" -#. TRANSLATORS: ascli flag description for: --format -#: tools/appstream-cli.c:83 -msgid "Default metadata format (valid values are 'xml' and 'yaml')." +#: src/as-validator-issue-tag.h:96 +msgid "" +"The mentioned tag is empty, which is highly likely not intended as it should " +"have content." msgstr "" -#: tools/ascli-utils.c:333 -msgid "Description" -msgstr "Descripcion" - -#. developer name -#: tools/ascli-utils.c:321 -msgid "Developer" -msgstr "Desvolopaire" - -#. TRANSLATORS: this is the menu spec main category for Development -#: src/as-category.c:305 -#, fuzzy -msgid "Developer Tools" -msgstr "Desvolopaire" - -#: tools/appstream-cli.c:862 -msgid "Display status information about available AppStream metadata." +#: src/as-validator-issue-tag.h:101 +msgid "" +"The component ID is required to follow a reverse domain-name scheme for its " +"name. See the AppStream specification for details." msgstr "" -#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions -#: tools/ascli-actions-misc.c:52 -msgid "Distribution metadata:" +#: src/as-validator-issue-tag.h:106 +msgid "" +"The component ID is not a reverse domain-name. Please update the ID to avoid " +"future issues and be compatible with all AppStream implementations.\n" +"You may also consider to update the name of the accompanying .desktop file " +"to follow the latest version of the Desktop-Entry specification and use a " +"rDNS name for it as well. In any case, do not forget to mention the new " +"desktop-entry in a tag for this component to keep the " +"application launchable from software centers and the .desktop file data " +"associated with the metainfo data." msgstr "" -#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) -#: tools/appstream-cli.c:126 -msgid "Do not use network access." +#: src/as-validator-issue-tag.h:114 +msgid "" +"The component ID might not follow the reverse domain-name schema (the TLD " +"used by it is not known to the validator)." msgstr "" -#. TRANSLATORS: ascli flag description for: --no-color -#: tools/appstream-cli.c:908 -msgid "Don't show colored output." +#: src/as-validator-issue-tag.h:119 +msgid "" +"The component ID contains an invalid character. Only ASCII characters, dots " +"and numbers are permitted." msgstr "" -#: tools/appstream-cli.c:853 -msgid "Dump raw XML metadata for a component matching the ID." +#: src/as-validator-issue-tag.h:124 +msgid "" +"The component ID contains a hyphen/minus. Using a hyphen is strongly " +"discouraged, to improve interoperability with other tools such as D-Bus. A " +"good option is to replace any hyphens with underscores (`_`)." msgstr "" -#. TRANSLATORS: this is the menu spec main category for Education -#: src/as-category.c:308 -msgid "Education" +#: src/as-validator-issue-tag.h:130 +msgid "" +"The component ID contains a segment starting with a number. Starting a " +"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " +"interoperability with other tools such as D-Bus. Ideally, prefix these " +"segments with an underscore." msgstr "" -#. TRANSLATORS: No metainfo files have been found -#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 -msgid "Empty." -msgstr "Void." - -#: src/as-category.c:141 -msgctxt "Category of Games" -msgid "Emulators" +#: src/as-validator-issue-tag.h:136 +msgid "The component ID should only contain lowercase letters." msgstr "" -#. TRANSLATORS: ascli flag description for: --force -#: tools/appstream-cli.c:245 -msgid "Enforce a cache refresh." +#: src/as-validator-issue-tag.h:141 +msgid "" +"The component is part of the Freedesktop project, but its ID does not start " +"with fd.o's reverse-DNS name (\"org.freedesktop\")." msgstr "" -#: src/as-validator-issue-tag.h:74 -msgid "Enumerations must only have list items (
                                                                                                                                                                                                                                                                      2. ) as children." +#: src/as-validator-issue-tag.h:146 +msgid "" +"The component is part of the KDE project, but its ID does not start with " +"KDEs reverse-DNS name (\"org.kde\")." msgstr "" -#: tools/ascli-actions-misc.c:159 -#, c-format -msgid "Error while loading the metadata pool: %s" +#: src/as-validator-issue-tag.h:151 +msgid "" +"The component is part of the GNOME project, but its ID does not start with " +"GNOMEs reverse-DNS name (\"org.gnome\")." msgstr "" -#: tools/ascli-utils.c:327 -msgid "Extends" +#: src/as-validator-issue-tag.h:156 +msgid "The SPDX license expression is invalid and could not be parsed." msgstr "" -#: src/as-category.c:65 -msgctxt "Category of AudioVideo" -msgid "Featured" +#: src/as-validator-issue-tag.h:161 +msgid "" +"The license ID was not found in the SPDX database. Please check that the " +"license ID is written in an SPDX-conformant way and is a valid free software " +"license." msgstr "" -#: src/as-category.c:256 -msgctxt "Category of Communication" -msgid "Featured" +#: src/as-validator-issue-tag.h:167 +msgid "" +"The metadata itself seems to be licensed under a complex collection of " +"licenses. Please license the data under a simple permissive license, like " +"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " +"collections without the risk of license violations due to mutually " +"incompatible licenses." msgstr "" -#: src/as-category.c:83 -msgctxt "Category of Development" -msgid "Featured" +#: src/as-validator-issue-tag.h:173 +msgid "" +"The metadata itself does not seem to be licensed under a permissive license. " +"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " +"0BSD to allow distributors to include it in mixed data collections without " +"the risk of license violations due to mutually incompatible licenses." msgstr "" -#: src/as-category.c:98 -msgctxt "Category of Education" -msgid "Featured" +#: src/as-validator-issue-tag.h:179 +msgid "" +"The update-contact does not appear to be a valid email address (escaping of " +"`@` is only allowed as `_at_` or `_AT_`)." msgstr "" -#: src/as-category.c:120 -msgctxt "Category of Games" -msgid "Featured" +#: src/as-validator-issue-tag.h:184 +msgid "" +"Unable to reach the screenshot image on its remote location - does the image " +"exist?" msgstr "" -#: src/as-category.c:165 -msgctxt "Category of Graphics" -msgid "Featured" +#: src/as-validator-issue-tag.h:189 +msgid "" +"Unable to reach the screenshot video on its remote location - does the video " +"file exist?" msgstr "" -#: src/as-category.c:188 -msgctxt "Category of Office" -msgid "Featured" +#: src/as-validator-issue-tag.h:194 +msgid "" +"Consider using a secure (HTTPS) URL to reference this screenshot image or " +"video." msgstr "" -#: src/as-category.c:231 -msgctxt "Category of Science" -msgid "Featured" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:200 +msgid "" +"A screenshot must contain at least one image or video in order to be useful. " +"Please add an to it." msgstr "" -#: src/as-category.c:278 -msgctxt "Category of Utility" -msgid "Featured" +#: src/as-validator-issue-tag.h:205 +msgid "" +"A screenshot must contain either images or videos, but not both at the same " +"time. Please use this screenshot exclusively for either static images or for " +"videos." msgstr "" -#: tools/ascli-actions-validate.c:171 tools/ascli-actions-validate.c:349 -#, c-format -msgid "File '%s' does not exist." +#: src/as-validator-issue-tag.h:211 +msgid "The screenshot does not have a caption text. Consider adding one." msgstr "" -#: src/as-category.c:287 -msgctxt "Category of Utility" -msgid "File System" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:217 +msgid "" +"The screenshot video does not specify which video codec was used in a " +"`codec` property." msgstr "" -#: src/as-category.c:198 -msgctxt "Category of Office" -msgid "Finance" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:223 +msgid "" +"The screenshot video does not specify which container format was used in a " +"`container` property." msgstr "" -#: src/as-provided.c:164 -msgid "Flashed Firmware" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:229 +msgid "" +"The selected video codec is not supported by AppStream and software centers " +"may not be able to play the video. Only the AV1 and VP9 codecs are currently " +"supported, using `av1` and `vp9` as values for the `codec` property." msgstr "" -#: src/as-provided.c:150 -msgid "Fonts" -msgstr "Poliças" - -#: src/as-category.c:211 -#, fuzzy -msgctxt "Category of Addons" -msgid "Fonts" -msgstr "Poliças" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:236 +msgid "" +"The selected video container format is not supported by AppStream and " +"software centers may not be able to play the video. Only the WebM and " +"Matroska video containers are currently supported, using `webm` and `mkv` as " +"values for the `container` property." +msgstr "" -#: src/as-validator-issue-tag.h:237 +#: src/as-validator-issue-tag.h:242 msgid "" "For videos, only the WebM and Matroska (.mkv) container formats are " "currently supported. The file extension of the referenced video does not " "belong to either of these formats." msgstr "" -#. TRANSLATORS: ascli flag description for: --format when validating XML files -#: tools/appstream-cli.c:131 -msgid "Format of the generated report (valid values are 'text' and 'yaml')." +#: src/as-validator-issue-tag.h:248 +msgid "" +"The default screenshot of a software component must not be a video. Use a " +"static image as default screenshot and set the video as a secondary " +"screenshot." msgstr "" -#. TRANSLATORS: Found metainfo files in legacy directories -#: tools/ascli-actions-misc.c:138 -#, c-format -msgid "Found %i components in legacy paths." +#: src/as-validator-issue-tag.h:253 +msgid "" +"Found an unknown tag in a requires/recommends group. This is likely an " +"error, because a component relation of this type is unknown." msgstr "" -#: tools/ascli-actions-misc.c:123 -#, c-format -msgid "Found %i components." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:259 +msgid "" +"A `requires` or `recommends` item requires a value to denote a valid " +"relation." msgstr "" -#. TRANSLATORS: 'version' is an AppStream XML property. Please do not translate it. -#: src/as-validator-issue-tag.h:260 +#. TRANSLATORS: `version` is an AppStream XML property. Please do not translate it. +#: src/as-validator-issue-tag.h:265 msgid "" -"Found 'version' property on required/recommended item of a type that should " +"Found `version` property on required/recommended item of a type that should " "not have or require a version." msgstr "" -#. TRANSLATORS: 'version' and 'compare' are AppStream XML properties. Please do not translate them. -#: src/as-validator-issue-tag.h:266 +#. TRANSLATORS: `version` and `compare` are AppStream XML properties. Please do not translate them. +#: src/as-validator-issue-tag.h:271 msgid "" -"Found 'version' property on this required/recommended item, but not " -"'compare' property. It is recommended to explicitly define a comparison " +"Found `version` property on this required/recommended item, but not " +"`compare` property. It is recommended to explicitly define a comparison " "operation." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:277 +#: src/as-validator-issue-tag.h:276 msgid "" -"Found a memory size dependency in a 'requires' tag. This means users will " -"not be able to even install the component without having enough RAM. This is " -"usually not intended and you want to use 'memory' in the 'recommends' tag " -"instead." +"Invalid comparison operation on relation item. Only eq/ne/lt/gt/le/ge are " +"permitted." msgstr "" -#: src/as-validator-issue-tag.h:248 +#: src/as-validator-issue-tag.h:281 msgid "" -"Found an unknown tag in a requires/recommends group. This is likely an " -"error, because a component relation of this type is unknown." +"The relation item has a comparison operation set, but does not support any " +"comparisons." msgstr "" -#: src/as-validator-issue-tag.h:427 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:287 msgid "" -"Found invalid tag. Non-standard tags should be prefixed with 'x-'. AppStream " -"also provides the tag to add arbitrary custom data to metainfo " -"files. This tag is read by AppStream libraries and may be useful instead of " -"defining new custom toplevel or 'x-'-prefixed tags if you just want to add " -"custom data to a metainfo file." +"Found a memory size relation in a `requires` tag. This means users will not " +"be able to even install the component without having enough RAM. This is " +"usually not intended and you want to use `memory` in the `recommends` tag " +"instead." msgstr "" -#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. -#: src/as-validator.c:526 src/as-validator.c:939 src/as-validator.c:1024 -#: src/as-validator.c:1237 -#, c-format -msgid "Found: %s - Allowed: %s" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:294 +msgid "" +"Found a user input control relation in a `requires` tag. This means users " +"will not be able to even install the component without having the defined " +"input control available on the system. This is usually not intended and you " +"want to use `control` in the `recommends` tag instead." msgstr "" -#. TRANSLATORS: this is the menu spec main category for Game -#: src/as-category.c:311 -msgid "Games" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:301 +msgid "" +"This `control` item defines an unknown input method and is invalid. Check " +"the specification for a list of permitted values." msgstr "" -#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command -#: tools/appstream-cli.c:814 -msgid "Generate the output in the selected format ('yaml' or 'text')." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:307 +msgid "" +"This `display_length` item contains an invalid display length. Its value " +"must either be a shorthand string, or positive integer value denoting " +"logical pixels. Please refer to the AppStream specification for more " +"information on this tag." msgstr "" -#: tools/appstream-cli.c:849 -msgid "Get components which provide the given item." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:314 +msgid "" +"This `side` property of this `display_length` item contains an invalid " +"value. It must either be `shortest` or `longest`, or unset to imply " +"`shortest` to make the item value refer to either the shortest or longest " +"side of the display." msgstr "" -#: tools/appstream-cli.c:848 -msgid "Get information about a component by its ID." +#: src/as-validator-issue-tag.h:320 +msgid "" +"The set component type is not a recognized, valid AppStream component type." msgstr "" -#. TRANSLATORS: this is the menu spec main category for Graphics -#: src/as-category.c:314 -msgid "Graphics & Photography" +#: src/as-validator-issue-tag.h:325 +msgid "" +"The component has a priority value set. This is not allowed in metainfo " +"files." msgstr "" -#: tools/ascli-utils.c:300 -msgid "Homepage" -msgstr "Pagina d'acuèlh" +#: src/as-validator-issue-tag.h:330 +msgid "" +"The component has a `merge` method defined. This is not allowed in metainfo " +"files." +msgstr "" -#: src/as-category.c:89 -msgctxt "Category of Development" -msgid "IDEs" +#: src/as-validator-issue-tag.h:335 +msgid "The component is missing an ID ( tag)." msgstr "" -#: tools/ascli-utils.c:301 -msgid "Icon" -msgstr "Icòna" +#: src/as-validator-issue-tag.h:340 +msgid "The component is missing a name ( tag)." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:351 -msgid "Icons of type 'remote' must contain an URL to the referenced icon." +#: src/as-validator-issue-tag.h:345 +msgid "The component is missing a summary ( tag)." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:344 +#: src/as-validator-issue-tag.h:350 msgid "" -"Icons of type 'stock' or 'cached' must not contain an URL, a full or an " -"relative path to the icon. Only file basenames or stock names are allowed." +"The tag still contains a `type` property, probably from an old " +"conversion to the recent metainfo format." msgstr "" -#: tools/ascli-actions-misc.c:94 -msgid "Iconsets" +#: src/as-validator-issue-tag.h:355 +msgid "" +"The `pkgname` tag appears multiple times. You should evaluate creating a " +"metapackage containing the metainfo and .desktop files in order to avoid " +"defining multiple package names per component." msgstr "" -#: tools/ascli-utils.c:295 -msgid "Identifier" +#: src/as-validator-issue-tag.h:360 +msgid "The component name should (likely) not end with a dot (`.`)." msgstr "" -#: src/as-category.c:217 -msgctxt "Category of Addons" -msgid "Input Sources" +#: src/as-validator-issue-tag.h:365 +msgid "The component summary should not end with a dot (`.`)." msgstr "" -#: tools/appstream-cli.c:863 -msgid "Install a metadata file into the right location." +#: src/as-validator-issue-tag.h:370 +msgid "The component summary must not contain tabs or linebreaks." msgstr "" -#: tools/appstream-cli.c:859 -msgid "Install software matching the component-ID." +#: src/as-validator-issue-tag.h:375 +msgid "The summary must not contain any URL. Use the tags for links." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:373 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:381 msgid "" -"Invalid 'type' property for this 'url' tag. URLs of this type are not known " -"in the AppStream specification." +"Icons of type `stock` or `cached` must not contain an URL, a full or an " +"relative path to the icon. Only file basenames or stock names are allowed." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:553 -msgid "" -"Invalid tag found in collection metadata. Only 'component' tags are " -"permitted." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:388 +msgid "Icons of type `remote` must contain an URL to the referenced icon." msgstr "" -#: tools/ascli-actions-mdata.c:213 -msgid "Invalid type for provided item selected. Valid values are:" +#: src/as-validator-issue-tag.h:393 +msgid "Unable to reach remote icon at the given web location - does it exist?" msgstr "" -#: src/as-validator-issue-tag.h:271 -msgid "" -"Invalid version comparison operation on relation item. Only eq/ne/lt/gt/le/" -"ge are permitted." +#: src/as-validator-issue-tag.h:398 +msgid "Consider using a secure (HTTPS) URL for the remote icon link." msgstr "" -#: src/as-validator-issue-tag.h:450 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:404 msgid "" -"It is recommended to add a long description to this component to present it " -"better to users." +"Metainfo files may only contain icons of type `stock` or `remote`, the set " +"type is not allowed." msgstr "" -#: src/as-validator-issue-tag.h:445 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:410 msgid "" -"It would be useful to add a long description to this font to present it " -"better to users." +"Invalid `type` property for this `url` tag. URLs of this type are not known " +"in the AppStream specification." msgstr "" -#: src/as-category.c:144 -msgctxt "Category of Games" -msgid "Kids" +#: src/as-validator-issue-tag.h:415 +msgid "" +"Unable to reach remote location that this URL references - does it exist?" msgstr "" -#: src/as-category.c:220 -msgctxt "Category of Addons" -msgid "Language Packs" +#: src/as-validator-issue-tag.h:420 +msgid "Consider using a secure (HTTPS) URL for this web link." msgstr "" -#: src/as-category.c:107 -msgctxt "Category of Education" -msgid "Languages" +#: src/as-validator-issue-tag.h:425 +msgid "A web URL was expected for this value." msgstr "" -#: src/as-provided.c:144 -msgid "Libraries" -msgstr "Bibliiotècas" +#: src/as-validator-issue-tag.h:430 +msgid "" +"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." +msgstr "" -#. license -#: tools/ascli-utils.c:363 -msgid "License" -msgstr "Licéncia" +#: src/as-validator-issue-tag.h:435 +msgid "The can not contain a hyperlink." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:629 +#: src/as-validator-issue-tag.h:440 msgid "" -"Licenses for 'runtime' components are usually too complex to reflect them in " -"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " -"value for this component's 'project_license'. E.g. `LicenseRef-free=https://" -"example.com/licenses.html`" +"The set value is not an identifier for a desktop environment as registered " +"with Freedesktop.org." msgstr "" -#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command -#: tools/appstream-cli.c:771 -msgid "" -"Limit the number of release entries that end up in the metainfo file (0 for " -"unlimited)." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:446 +msgid "This `launchable` tag has an unknown type and can not be used." msgstr "" -#: src/as-category.c:223 -msgctxt "Category of Addons" -msgid "Localization" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:452 +msgid "This `bundle` tag has an unknown type and can not be used." msgstr "" -#: src/as-category.c:147 -msgctxt "Category of Games" -msgid "Logic" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:458 +msgid "" +"The `update_contact` tag should not be included in collection AppStream XML." msgstr "" -#. TRANSLATORS: ascli flag description for: --no-cache -#: tools/appstream-cli.c:67 -msgid "Make request without any caching." +#: src/as-validator-issue-tag.h:463 +msgid "" +"This tag is a GNOME-specific extension to AppStream and not part of the " +"official specification. Do not expect it to work in all implementations and " +"in all software centers." msgstr "" -#. TRANSLATORS: ascli flag description for: --cachepath -#: tools/appstream-cli.c:57 -msgid "Manually selected location of AppStream cache." +#: src/as-validator-issue-tag.h:469 +msgid "" +"Found invalid tag. Non-standard tags should be prefixed with `x-`. AppStream " +"also provides the tag to add arbitrary custom data to metainfo " +"files. This tag is read by AppStream libraries and may be useful instead of " +"defining new custom toplevel or `x-`-prefixed tags if you just want to add " +"custom data to a metainfo file." msgstr "" -#. TRANSLATORS: ascli flag description for: --datapath -#: tools/appstream-cli.c:62 -msgid "Manually selected location of AppStream metadata to scan." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:477 +msgid "" +"The essential tag `metadata_license` is missing. A license for the metadata " +"itself always has to be defined." msgstr "" -#: src/as-pool.c:1280 +#: src/as-validator-issue-tag.h:482 msgid "" -"Many components have been recognized as invalid. See debug output for " -"details." +"The component is missing a long description. Components of this type must " +"have a long description." msgstr "" -#: src/as-category.c:111 -msgctxt "Category of Education" -msgid "Math" +#: src/as-validator-issue-tag.h:487 +msgid "" +"It would be useful to add a long description to this font to present it " +"better to users." msgstr "" -#: src/as-category.c:243 -msgctxt "Category of Science" -msgid "Math" +#: src/as-validator-issue-tag.h:492 +msgid "" +"It is recommended to add a long description to this component to present it " +"better to users." msgstr "" -#: src/as-provided.c:148 -#, fuzzy -msgid "Media types" -msgstr "Tipes Mime" +#: src/as-validator-issue-tag.h:497 +msgid "" +"This generic component is missing a long description. It may be useful to " +"add one." +msgstr "" -#: tools/ascli-actions-mdata.c:364 -#, c-format -msgid "Metadata file '%s' does not exist." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:503 +msgid "" +"Type `console-application` component, but no information about binaries in " +"$PATH was provided via a `provides/binary` tag." msgstr "" -#: src/as-pool.c:881 -msgid "Metadata files have errors:" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:509 +msgid "" +"This `web-application` component is missing a `launchable` tag of type `url`." msgstr "" -#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 -#: tools/ascli-actions-misc.c:515 -#, c-format -msgid "Metainfo file '%s' does not exist." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:515 +msgid "" +"This `web-application` component is missing a `icon` tag to specify a valid " +"icon." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:367 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:521 msgid "" -"Metainfo files may only contain icons of type 'stock' or 'remote', the set " -"type is not allowed." +"This `web-application` component is missing categorizations. A `categories` " +"block is likely missing." msgstr "" -#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report -#: tools/ascli-actions-misc.c:116 -msgid "Metainfo files:" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:527 +msgid "" +"Type `font` component, but no font information was provided via a `provides/" +"font` tag." msgstr "" -#: src/as-provided.c:152 -msgid "Modaliases" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:533 +msgid "" +"Type `driver` component, but no modalias information was provided via a " +"`provides/modalias` tag." msgstr "" -#: src/as-category.c:74 -msgctxt "Category of AudioVideo" -msgid "Music Players" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:539 +msgid "" +"An `extends` tag is specified, but the component is not of type `addon`, " +"`localization` or `repository`." msgstr "" -#: tools/ascli-utils.c:296 -msgid "Name" -msgstr "Nom" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:545 +msgid "The component is an addon, but no `extends` tag was specified." +msgstr "" -#: src/as-category.c:266 -msgctxt "Category of Communication" -msgid "News" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:551 +msgid "" +"This `localization` component is missing an `extends` tag, to specify the " +"components it adds localization to." msgstr "" -#: src/as-validator-issue-tag.h:589 -msgid "No AppStream metadata was found in this directory or directory tree." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:557 +msgid "" +"This `localization` component does not define any languages this " +"localization is for." msgstr "" -#. pedantic because not everything which has metadata is an application -#: src/as-validator-issue-tag.h:594 -msgid "No XDG applications directory found." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:563 +msgid "" +"This `service` component is missing a `launchable` tag of type `service`." msgstr "" -#: tools/ascli-actions-mdata.c:182 -#, c-format -msgid "No component matching '%s' found." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:569 +msgid "" +"Suggestions of any type other than `upstream` are not allowed in metainfo " +"files." msgstr "" -#: tools/ascli-actions-misc.c:105 -msgid "No icons." +#: src/as-validator-issue-tag.h:574 +msgid "" +"The category name is not valid. Refer to the XDG Menu Specification for a " +"list of valid category names." msgstr "" -#: tools/ascli-actions-misc.c:402 -msgid "No output filename specified, modifying metainfo file directly." +#: src/as-validator-issue-tag.h:579 +msgid "The screenshot caption is too long (should be <= 80 characters)" msgstr "" -#: tools/ascli-actions-misc.c:306 +#: src/as-validator-issue-tag.h:584 +msgid "Unable to read file." +msgstr "Lectura impossibla del fichièr." + +#: src/as-validator-issue-tag.h:589 +msgid "The XML of this file is malformed." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:595 msgid "" -"No provided binary specified in metainfo file, and no exec command specified " -"via '--exec'. Can not create 'Exec=' key." +"Invalid tag found in collection metadata. Only `component` tags are " +"permitted." msgstr "" -#: tools/ascli-actions-misc.c:284 -msgid "No stock icon name was provided in the metainfo file. Can not continue." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:601 +msgid "" +"The metainfo file uses an ancient version of the AppStream specification, " +"which can not be validated. Please migrate it to version 0.6 (or higher)." msgstr "" -#: tools/ascli-actions-pkgmgr.c:53 +#: src/as-validator-issue-tag.h:606 msgid "" -"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" -"\" (part of PackageKit) is available." +"This XML document has an unknown root tag. Maybe this file is not a metainfo " +"document?" msgstr "" -#: tools/ascli-actions-mdata.c:206 -msgid "No value for the item to search for was defined." +#: src/as-validator-issue-tag.h:611 +msgid "The metainfo filename does not match the component ID." msgstr "" -#. TRANSLATORS: this is the menu spec main category for Office -#: src/as-category.c:317 -msgid "Office" +#: src/as-validator-issue-tag.h:616 +msgid "Unable to read the .desktop file associated with this component." msgstr "" -#. TRANSLATORS: An unknown option was passed to appstreamcli. -#: tools/appstream-cli.c:192 -#, c-format -msgid "Option '%s' is unknown." +#: src/as-validator-issue-tag.h:621 +msgid "This component metadata refers to a non-existing .desktop file." msgstr "" -#: tools/ascli-utils.c:298 -msgid "Package" -msgstr "Paquetatge" - -#: src/as-category.c:171 -msgctxt "Category of Graphics" -msgid "Photography" +#: src/as-validator-issue-tag.h:626 +msgid "" +"The category defined in the .desktop file is not valid. Refer to the XDG " +"Menu Specification for a list of valid categories." msgstr "" -#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) -#: tools/appstream-cli.c:121 -msgid "Print detailed explanation for found issues." +#: src/as-validator-issue-tag.h:631 +msgid "No AppStream metadata was found in this directory or directory tree." msgstr "" -#. TRANSLATORS: ascli flag description for: --details -#: tools/appstream-cli.c:98 -msgid "Print detailed output about found components." +#. pedantic because not everything which has metadata is an application +#: src/as-validator-issue-tag.h:636 +msgid "No XDG applications directory found." msgstr "" -#. project group -#: tools/ascli-utils.c:360 -msgid "Project Group" +#: src/as-validator-issue-tag.h:641 +msgid "" +"The metainfo file is stored in a legacy path. Please place it in `/usr/share/" +"metainfo/`." msgstr "" -#: tools/ascli-utils.c:405 -msgid "Provided Items" +#: src/as-validator-issue-tag.h:646 +msgid "The metainfo file specifies multiple components. This is not allowed." msgstr "" -#: src/as-provided.c:154 -msgid "Python (Version 2)" -msgstr "Python (Version 2)" - -#: src/as-provided.c:156 -msgid "Python 3" -msgstr "Python 3" +#: src/as-validator-issue-tag.h:651 +msgid "" +"The releases are not sorted in a latest to oldest version order. This is " +"required as some tools will assume that the latest version is always at the " +"top. Sorting releases also increases overall readability of the metainfo " +"file." +msgstr "" -#: tools/appstream-cli.c:854 -msgid "Rebuild the component metadata cache." +#: src/as-validator-issue-tag.h:658 +msgid "The value set as release urgency is not a known urgency value." msgstr "" -#: tools/appstream-cli.c:860 -msgid "Remove software matching the component-ID." +#: src/as-validator-issue-tag.h:663 +msgid "The value set as release type is invalid." msgstr "" -#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty -#: src/as-validator.c:364 -msgid "Retrieved file size was zero." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:669 +msgid "" +"The value set as artifact type is invalid. Must be either `source` or " +"`binary`." msgstr "" -#: src/as-category.c:248 -msgctxt "Category of Science" -msgid "Robotics" +#: src/as-validator-issue-tag.h:674 +msgid "The value set as artifact bundle type is invalid." msgstr "" -#: src/as-category.c:150 -msgctxt "Category of Games" -msgid "Role Playing" +#: src/as-validator-issue-tag.h:679 +msgid "" +"The platform triplet for this release is invalid. It must be in the form of " +"`architecture-oskernel-osenv` - refer to the AppStream documentation or " +"information on normalized GNU triplets for more information and valid fields." msgstr "" -#: tools/appstream-cli.c:196 tools/appstream-cli.c:926 -#, c-format -msgid "Run '%s --help' to see a full list of available command line options." +#: src/as-validator-issue-tag.h:686 +msgid "The selected checksumming algorithm is unsupported or unknown." msgstr "" -#: tools/appstream-cli.c:198 -#, c-format -msgid "" -"Run '%s --help' to see a list of available commands and options, and '%s %s " -"--help' to see a list of options specific for this subcommand." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:692 +msgid "The size type is unknown. Must be `download` or `installed`." msgstr "" -#: src/as-provided.c:162 -msgid "Runtime Firmware" +#: src/as-validator-issue-tag.h:697 +msgid "" +"The artifact filename must be a file basename, not a (relative or absolute) " +"path." msgstr "" -#: src/as-category.c:174 -msgctxt "Category of Graphics" -msgid "Scanning" +#: src/as-validator-issue-tag.h:702 +msgid "The value set as release issue type is invalid." msgstr "" -#. TRANSLATORS: this is the menu spec main category for Science -#: src/as-category.c:323 -msgid "Science" +#: src/as-validator-issue-tag.h:707 +msgid "" +"The issue is tagged at security vulnerability with a CVE number, but its " +"value does not look like a valid CVE identifier." msgstr "" -#: tools/appstream-cli.c:847 -msgid "Search the component database." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:713 +msgid "" +"This component is missing information about releases. Consider adding a " +"`releases` tag to describe releases and their changes." msgstr "" -#: src/as-category.c:293 -msgctxt "Category of Utility" -msgid "Security" +#: src/as-validator-issue-tag.h:718 +msgid "" +"The AppStream specification requires a complete, ISO 8601 date string with " +"at least day-granularity to denote dates. Please ensure the date string is " +"valid." msgstr "" -#. TRANSLATORS: ascli flag description for: --verbose -#: tools/appstream-cli.c:903 -msgid "Show extra debugging information." +#: src/as-validator-issue-tag.h:724 +msgid "" +"This component extends, provides, requires or recommends itself, which is " +"certainly not intended and may confuse users or machines dealing with this " +"metadata." msgstr "" -#. TRANSLATORS: ascli flag description for: --version -#: tools/appstream-cli.c:897 -msgid "Show the program version." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:731 +msgid "" +"Licenses for `runtime` components are usually too complex to reflect them in " +"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " +"value for this component's `project_license`. E.g. `LicenseRef-free=https://" +"example.com/licenses.html`" msgstr "" -#: src/as-validator-issue-tag.h:635 +#: src/as-validator-issue-tag.h:737 msgid "" -"Since a 'runtime' component is comprised of multiple other software " +"Since a `runtime` component is comprised of multiple other software " "components, their component-IDs may be listed in a `` section for " "this runtime." msgstr "" -#: src/as-category.c:153 -msgctxt "Category of Games" -msgid "Sports" +#: src/as-validator-issue-tag.h:742 +msgid "" +"The type of the item that the component provides is not known to AppStream." msgstr "" -#: src/as-category.c:157 -msgctxt "Category of Games" -msgid "Strategy" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:748 +msgid "" +"The toplevel `mimetypes` tag is deprecated. Please use `mediatype` tags in a " +"`provides` block instead to indicate that your software provides a media " +"handler for the given types." msgstr "" -#. these are commands we can use with appstreamcli -#: tools/appstream-cli.c:845 -msgid "Subcommands:" -msgstr "Soscomandas :" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:527 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks) and keep the URL intact. +#: src/as-validator-issue-tag.h:755 msgid "" -"Suggestions of any type other than 'upstream' are not allowed in metainfo " -"files." +"This component has no `content_rating` tag to provide age rating " +"information. You can generate the tag data online by answering a few " +"questions at https://hughsie.github.io/oars/" msgstr "" -#: tools/ascli-utils.c:297 -msgid "Summary" -msgstr "Resumit" - -#. TRANSLATORS: Status summary in ascli -#: tools/ascli-actions-misc.c:145 -msgid "Summary:" -msgstr "Resumit :" - -#: src/as-category.c:290 -msgctxt "Category of Utility" -msgid "System Monitoring" +#: src/as-validator.c:150 +msgid "" +"The emitted issue tag is unknown in the tag registry of AppStream. This is a " +"bug in the validator itself, please report this issue in our bugtracker." msgstr "" -#: src/as-validator-issue-tag.h:46 -msgid "Tags of this name are not permitted in this section." -msgstr "" +#: src/as-validator.c:344 +msgid "URL format is invalid." +msgstr "Lo format de l’URL es invalid." -#: src/as-category.c:284 -msgctxt "Category of Utility" -msgid "Terminal Emulators" +#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. +#: src/as-validator.c:522 src/as-validator.c:937 src/as-validator.c:1031 +#: src/as-validator.c:1428 src/as-validator.c:1448 src/as-validator.c:1481 +#, c-format +msgid "Found: %s - Allowed: %s" msgstr "" -#: src/as-category.c:281 -msgctxt "Category of Utility" -msgid "Text Editors" +#. TRANSLATORS: ascompose flag description for: --verbose +#: tools/appstream-compose.c:181 +msgid "Show extra debugging information" msgstr "" -#: src/as-validator-issue-tag.h:318 -msgid "" -"The 'pkgname' tag appears multiple times. You should evaluate creating a " -"metapackage containing the metainfo and .desktop files in order to avoid " -"defining multiple package names per component." +#. TRANSLATORS: ascompose flag description for: --no-color +#. TRANSLATORS: ascli flag description for: --no-color +#: tools/appstream-compose.c:184 tools/appstreamcli.c:1087 +msgid "Don't show colored output." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:416 -msgid "" -"The 'update_contact' tag should not be included in collection AppStream XML." -msgstr "" +#. TRANSLATORS: ascompose flag description for: --version +#. TRANSLATORS: ascli flag description for: --version +#: tools/appstream-compose.c:187 tools/appstreamcli.c:1076 +msgid "Show the program version." +msgstr "Afichar la version del programa." -#: tools/ascli-actions-mdata.c:467 -#, c-format -msgid "The .desktop file '%s' does not exist." +#. TRANSLATORS: ascompose flag description for: --full-report +#: tools/appstream-compose.c:190 +msgid "Set mode of the issue report that is printed to the console" msgstr "" -#: src/as-validator-issue-tag.h:393 -msgid "The can not contain a hyperlink." +#. TRANSLATORS: ascompose flag description for: --prefix +#: tools/appstream-compose.c:193 +msgid "Override the default prefix (`/usr` by default)" msgstr "" -#: src/as-validator-issue-tag.h:313 -msgid "" -"The tag still contains a 'type' property, probably from an old " -"conversion to the recent metainfo format." +#. TRANSLATORS: ascompose flag description for: --result-root +#: tools/appstream-compose.c:196 +msgid "Set the result output directory" msgstr "" -#: src/as-validator-issue-tag.h:616 -msgid "" -"The AppStream specification requires a complete, ISO 8601 date string with " -"at least day-granularity to denote dates. Please ensure the date string is " -"valid." +#. TRANSLATORS: ascompose flag description for: --data-dir, `collection metadata` is an AppStream term +#: tools/appstream-compose.c:199 +msgid "Override the collection metadata output directory" msgstr "" -#: src/as-pool.c:1924 -#, c-format -msgid "" -"The AppStream system cache was updated, but problems were found which " -"resulted in metadata being ignored: %s" +#. TRANSLATORS: ascompose flag description for: --icons-dir +#: tools/appstream-compose.c:202 +msgid "Override the icon output directory" msgstr "" -#: src/as-pool.c:1922 +#. TRANSLATORS: ascompose flag description for: --media-dir +#: tools/appstream-compose.c:205 msgid "" -"The AppStream system cache was updated, but some components were ignored. " -"Refer to the verbose log for more information." +"Set the media output directory (for media data to be served by a webserver)" msgstr "" -#: src/as-validator-issue-tag.h:151 -msgid "The SPDX license expression is invalid and could not be parsed." +#. TRANSLATORS: ascompose flag description for: --hints-dir +#: tools/appstream-compose.c:208 +msgid "Set a directory where HTML and text issue reports will be stored" msgstr "" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows -#: tools/appstream-cli.c:683 -#, c-format -msgid "The TYPE must be a valid component-type, such as: %s" +#. TRANSLATORS: ascompose flag description for: --origin +#. TRANSLATORS: ascompose flag description for: --media-baseurl +#: tools/appstream-compose.c:211 tools/appstream-compose.c:214 +msgid "Set the origin name" msgstr "" -#: src/as-validator-issue-tag.h:547 -msgid "The XML of this file is malformed." +#. TRANSLATORS: ascompose flag description for: --components +#: tools/appstream-compose.c:217 +msgid "A comma-separated list of component-IDs to accept" msgstr "" -#: src/as-validator-issue-tag.h:584 -msgid "" -"The category defined in the .desktop file is not valid. Refer to the XDG " -"Menu Specification for a list of valid categories." +#. TRANSLATORS: error message +#: tools/appstream-compose.c:231 +msgid "Failed to parse arguments" msgstr "" -#: src/as-validator-issue-tag.h:532 -msgid "" -"The category name is not valid. Refer to the XDG Menu Specification for a " -"list of valid category names." -msgstr "" +#. TRANSLATORS: Output if appstreamcli --version is executed. +#: tools/appstream-compose.c:242 tools/appstreamcli.c:1230 +#, c-format +msgid "AppStream version: %s" +msgstr "Version d’AppStream : %s" -#: src/as-validator-issue-tag.h:124 +#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. +#: tools/appstream-compose.c:245 tools/appstreamcli.c:1233 +#, c-format msgid "" -"The component ID contains a hyphen/minus. Using a hyphen is strongly " -"discouraged, to improve interoperability with other tools such as D-Bus. A " -"good option is to replace any hyphens with underscores ('_')." +"AppStream CLI tool version: %s\n" +"AppStream library version: %s" msgstr "" -#: src/as-validator-issue-tag.h:130 +#. TRANSLATORS: invalid value for the --print-report CLI option +#: tools/appstream-compose.c:264 +#, c-format msgid "" -"The component ID contains a segment starting with a number. Starting a " -"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " -"interoperability with other tools such as D-Bus. Ideally, prefix these " -"segments with an underscore." +"Invalid value for `--print-report` option: %s\n" +"Possible values are:\n" +"`on-error` - only prints a short report if the run failed (default)\n" +"`short` - generates an abridged report\n" +"`full` - a detailed report will be printed" msgstr "" -#: src/as-validator-issue-tag.h:119 -msgid "" -"The component ID contains an invalid character. Only ASCII characters, dots " -"and numbers are permitted." +#: tools/appstream-compose.c:285 +#, c-format +msgid "Automatically selected '%s' as data output location." msgstr "" -#: src/as-validator-issue-tag.h:106 -msgid "" -"The component ID is not a reverse domain-name. Please update the ID to avoid " -"future issues and be compatible with all AppStream implementations.\n" -"You may also consider to update the name of the accompanying .desktop file " -"to follow the latest version of the Desktop-Entry specification and use a " -"rDNS name for it as well. In any case, do not forget to mention the new " -"desktop-entry in a tag for this component to keep the " -"application launchable from software centers and the .desktop file data " -"associated with the metainfo data." +#. TRANSLATORS: we don't have a destination directory for compose +#: tools/appstream-compose.c:288 +msgid "No destination directory set, please provide a data output location!" msgstr "" -#: src/as-validator-issue-tag.h:101 -msgid "" -"The component ID is required to follow a reverse domain-name scheme for its " -"name. See the AppStream specification for details." +#: tools/appstream-compose.c:298 tools/appstream-compose.c:300 +msgid "WARNING" msgstr "" -#: src/as-validator-issue-tag.h:114 -msgid "" -"The component ID might not follow the reverse domain-name schema (the TLD " -"used by it is not known to the validator)." +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:337 +#, c-format +msgid "Only accepting components: %s" msgstr "" -#: src/as-validator-issue-tag.h:293 -msgid "" -"The component has a 'merge' method defined. This is not allowed in metainfo " -"files." +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:340 +#, c-format +msgid "Only accepting component: %s" msgstr "" -#: src/as-validator-issue-tag.h:288 -msgid "" -"The component has a priority value set. This is not allowed in metainfo " -"files." +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:345 +msgid "Processing directories:" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:503 -msgid "The component is an addon, but no 'extends' tag was specified." +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:348 +msgid "Processing directory:" msgstr "" -#: src/as-validator-issue-tag.h:440 -msgid "" -"The component is missing a long description. Components of this type must " -"have a long description." +#. TRANSLATORS: error message +#: tools/appstream-compose.c:357 +msgid "Can not process invalid directory" msgstr "" -#: src/as-validator-issue-tag.h:303 -msgid "The component is missing a name ( tag)." +#. TRANSLATORS: information message +#: tools/appstream-compose.c:369 +msgid "Composing metadata..." msgstr "" -#: src/as-validator-issue-tag.h:308 -msgid "The component is missing a summary ( tag)." +#. TRANSLATORS: error message +#: tools/appstream-compose.c:374 +#, fuzzy +msgid "Failed to compose AppStream metadata" +msgstr "Un utilitari per trabalhar amb las metadonadas AppStream" + +#. TRANSLATORS: appstream-compose failed to include all data +#: tools/appstream-compose.c:380 +msgid "Run failed, some data was ignored." msgstr "" -#: src/as-validator-issue-tag.h:298 -msgid "The component is missing an ID ( tag)." +#. TRANSLATORS: information message of appstream-compose +#: tools/appstream-compose.c:382 +msgid "Errors were raised during this compose run:" msgstr "" -#: src/as-validator-issue-tag.h:136 +#: tools/appstream-compose.c:383 msgid "" -"The component is part of the Freedesktop project, but its ID does not start " -"with fd.o's reverse-DNS name (\"org.freedesktop\")." +"Refer to the generated issue report data for details on the individual " +"problems." msgstr "" -#: src/as-validator-issue-tag.h:146 -msgid "" -"The component is part of the GNOME project, but its ID does not start with " -"GNOMEs reverse-DNS name (\"org.gnome\")." +#: tools/appstream-compose.c:386 +msgid "Overview of generated hints:" msgstr "" -#: src/as-validator-issue-tag.h:141 -msgid "" -"The component is part of the KDE project, but its ID does not start with " -"KDEs reverse-DNS name (\"org.kde\")." +#. TRANSLATORS: information message +#: tools/appstream-compose.c:388 +msgid "Success!" msgstr "" -#: src/as-validator-issue-tag.h:323 -msgid "The component name should (likely) not end with a dot ('.')." +#. TRANSLATORS: ascli flag description for: --cachepath +#: tools/appstreamcli.c:59 +msgid "Manually selected location of AppStream cache." msgstr "" -#: src/as-validator-issue-tag.h:333 -msgid "The component summary must not contain tabs or linebreaks." +#. TRANSLATORS: ascli flag description for: --datapath +#: tools/appstreamcli.c:64 +msgid "Manually selected location of AppStream metadata to scan." msgstr "" -#: src/as-validator-issue-tag.h:328 -msgid "The component summary should not end with a dot ('.')." +#. TRANSLATORS: ascli flag description for: --no-cache +#: tools/appstreamcli.c:69 +msgid "Make request without any caching." msgstr "" -#: src/as-validator-issue-tag.h:243 -msgid "" -"The default screenshot of a software component must not be a video. Use a " -"static image as default screenshot and set the video as a secondary " -"screenshot." +#. TRANSLATORS: ascli flag description for: --format +#: tools/appstreamcli.c:85 +msgid "Default metadata format (valid values are 'xml' and 'yaml')." msgstr "" -#: src/as-validator-issue-tag.h:86 -msgid "" -"The description contains a web URL in plain text. This is not allowed, " -"please use the tag instead to share links." +#. TRANSLATORS: ascli flag description for: --details +#: tools/appstreamcli.c:100 +msgid "Print detailed output about found components." msgstr "" -#: src/as-validator.c:152 -msgid "" -"The emitted issue tag is unknown in the tag registry of AppStream. This is a " -"bug in the validator itself, please report this issue in our bugtracker." +#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) +#: tools/appstreamcli.c:118 +msgid "Also show pedantic hints." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:435 -msgid "" -"The essential tag 'metadata_license' is missing. A license for the metadata " -"itself always has to be defined." +#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) +#: tools/appstreamcli.c:123 +msgid "Print detailed explanation for found issues." msgstr "" -#: src/as-validator-issue-tag.h:79 -msgid "" -"The first 'description/p' paragraph of this component might be too short (< " -"80 characters). Please consider starting with a longer paragraph to improve " -"how the description looks like in software centers and to provide more " -"detailed information on this component immediately in the first paragraph." -msgstr "" +#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) +#: tools/appstreamcli.c:128 +msgid "Do not use network access." +msgstr "Utilizar pas l’accès a la ret." -#: src/as-validator-issue-tag.h:156 -msgid "" -"The license ID was not found in the SPDX database. Please check that the " -"license ID is written in an SPDX-conformant way and is a valid free software " -"license." +#. TRANSLATORS: ascli flag description for: --format when validating XML files +#: tools/appstreamcli.c:133 +msgid "Format of the generated report (valid values are 'text' and 'yaml')." msgstr "" -#: src/as-validator-issue-tag.h:96 -msgid "" -"The mentioned tag is empty, which is highly likely not intended as it should " -"have content." +#. TRANSLATORS: This is the header to the --help menu for subcommands +#. TRANSLATORS: This is the header to the --help menu +#: tools/appstreamcli.c:153 tools/appstreamcli.c:981 +msgid "AppStream command-line interface" msgstr "" -#: src/as-validator-issue-tag.h:168 -msgid "" -"The metadata itself does not seem to be licensed under a permissive license. " -"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " -"0BSD to allow distributors to include it in mixed data collections without " -"the risk of license violations due to mutually incompatible licenses." +#: tools/appstreamcli.c:156 +#, c-format +msgid "'%s' command" +msgstr "comanda « %s »" + +#. TRANSLATORS: An unknown option was passed to appstreamcli. +#: tools/appstreamcli.c:191 +#, c-format +msgid "Option '%s' is unknown." msgstr "" -#: src/as-validator-issue-tag.h:162 -msgid "" -"The metadata itself seems to be licensed under a complex collection of " -"licenses. Please license the data under a simple permissive license, like " -"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " -"collections without the risk of license violations due to mutually " -"incompatible licenses." +#: tools/appstreamcli.c:195 tools/appstreamcli.c:1207 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options." msgstr "" -#: src/as-validator-issue-tag.h:599 +#: tools/appstreamcli.c:197 +#, c-format msgid "" -"The metainfo file is stored in a legacy path. Please place it in '/usr/share/" -"metainfo'." +"Run '%s --help' to see a list of available commands and options, and '%s %s " +"--help' to see a list of options specific for this subcommand." msgstr "" -#: src/as-validator-issue-tag.h:604 -msgid "The metainfo file specifies multiple components. This is not allowed." +#. TRANSLATORS: ascli flag description for: --force +#: tools/appstreamcli.c:245 +msgid "Enforce a cache refresh." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:559 -msgid "" -"The metainfo file uses an ancient version of the AppStream specification, " -"which can not be validated. Please migrate it to version 0.6 (or higher)." +#. TRANSLATORS: ascli flag description for: --user +#: tools/appstreamcli.c:251 +msgid "Update the user-specific instead of the system-wide cache." msgstr "" -#: src/as-validator-issue-tag.h:569 -msgid "The metainfo filename does not match the component ID." +#. TRANSLATORS: ascli flag description for: --origin (part of the "put" subcommand) +#: tools/appstreamcli.c:477 +msgid "Set the data origin for the installed metadata collection file." msgstr "" -#: src/as-validator-issue-tag.h:609 -msgid "" -"The releases are not sorted in a latest to oldest version order. This is " -"required as some tools will assume that the latest version is always at the " -"top. Sorting releases also increases overall readability of the metainfo " -"file." +#. TRANSLATORS: ascli flag description for: --user (part of the "put" subcommand) +#: tools/appstreamcli.c:482 +msgid "Install the file for the current user, instead of globally." msgstr "" -#: src/as-validator-issue-tag.h:537 -msgid "The screenshot caption is too long (should be <= 80 characters)" +#: tools/appstreamcli.c:631 +msgid "" +"You need to provide at least two version numbers to compare as parameters." msgstr "" -#: src/as-validator-issue-tag.h:206 -msgid "The screenshot does not have a caption text. Consider adding one." +#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. +#: tools/appstreamcli.c:660 +#, c-format +msgid "Unknown compare relation '%s'. Valid values are:" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:218 +#: tools/appstreamcli.c:700 msgid "" -"The screenshot video does not specify which container format was used in a " -"'container' property." +"Too many parameters: Need two version numbers or version numbers and a " +"comparison operator." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:212 +#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) +#: tools/appstreamcli.c:726 msgid "" -"The screenshot video does not specify which video codec was used in a " -"'codec' property." +"Use the given .desktop file to fill in the basic values of the metainfo file." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:224 +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand +#: tools/appstreamcli.c:731 msgid "" -"The selected video codec is not supported by AppStream and software centers " -"may not be able to play the video. Only the AV1 and VP9 codecs are currently " -"supported, using 'av1' and 'vp9' as values for the 'codec' property." +"This command takes optional TYPE and FILE positional arguments, FILE being a " +"file to write to (or \"-\" for standard output)." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:231 -msgid "" -"The selected video container format is not supported by AppStream and " -"software centers may not be able to play the video. Only the WebM and " -"Matroska video containers are currently supported, using 'webm' and 'mkv' as " -"values for the 'container' property." +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows +#: tools/appstreamcli.c:734 +#, c-format +msgid "The TYPE must be a valid component-type, such as: %s" msgstr "" -#: src/as-validator-issue-tag.h:283 -msgid "" -"The set component type is not a recognized, valid AppStream component type." +#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) +#: tools/appstreamcli.c:775 +msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." msgstr "" -#: src/as-validator-issue-tag.h:398 -msgid "" -"The set value is not an identifier for a desktop environment as registered " -"with Freedesktop.org." +#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command +#: tools/appstreamcli.c:815 +msgid "Assume the input file is in the selected format ('yaml' or 'text')." msgstr "" -#: tools/ascli-actions-mdata.c:449 -#, c-format +#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command +#: tools/appstreamcli.c:820 msgid "" -"The software component type '%s' is not valid in AppStream. Possible values " -"are:" +"Limit the number of release entries that end up in the metainfo file (0 for " +"unlimited)." msgstr "" -#: src/as-validator-issue-tag.h:338 -msgid "The summary must not contain any URL. Use the tags for links." +#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command +#: tools/appstreamcli.c:862 +msgid "Generate the output in the selected format ('yaml' or 'text')." msgstr "" -#: src/as-validator-issue-tag.h:640 -msgid "" -"The type of the item that the component provides is not known to AppStream." +#: tools/appstreamcli.c:894 +#, c-format +msgid "Compose binary '%s' was not found! Can not continue." msgstr "" -#: src/as-validator-issue-tag.h:174 +#. TRANSLATORS: this is a (usually shorter) command alias, shown after the command summary text +#: tools/appstreamcli.c:956 +#, c-format +msgid "(Alias: '%s')" +msgstr "(Alias : « %s »)" + +#. these are commands we can use with appstreamcli +#: tools/appstreamcli.c:983 +msgid "Subcommands:" +msgstr "Soscomandas :" + +#: tools/appstreamcli.c:1029 msgid "" -"The update-contact does not appear to be a valid email address (escaping of " -"'@' is only allowed as '_at_' or '_AT_')." +"You can find information about subcommand-specific options by passing \"--" +"help\" to the subcommand." msgstr "" -#: tools/ascli-actions-validate.c:363 tools/ascli-actions-validate.c:492 +#. TRANSLATORS: ascli has been run with unknown command. '%s --help' is the command to receive help and should not be translated. +#: tools/appstreamcli.c:1052 #, c-format msgid "" -"The validator can not create reports in the '%s' format. You may select " -"'yaml' or 'text' instead." +"Command '%s' is unknown. Run '%s --help' for a list of available commands." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:410 -msgid "This 'bundle' tag has an unknown type and can not be used." +#. TRANSLATORS: ascli flag description for: --verbose +#: tools/appstreamcli.c:1082 +msgid "Show extra debugging information." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:404 -msgid "This 'launchable' tag has an unknown type and can not be used." +#. TRANSLATORS: ascli flag description for: --profile +#: tools/appstreamcli.c:1090 +msgid "Enable profiling" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:515 -msgid "" -"This 'localization' component does not define any languages this " -"localization is for." +#. TRANSLATORS: `appstreamcli search` command description. +#: tools/appstreamcli.c:1102 +msgid "Search the component database." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:509 -msgid "" -"This 'localization' component is missing an 'extends' tag, to specify the " -"components it adds localization to." +#. TRANSLATORS: `appstreamcli get` command description. +#: tools/appstreamcli.c:1107 +msgid "Get information about a component by its ID." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:521 +#. TRANSLATORS: `appstreamcli what-provides` command description. +#: tools/appstreamcli.c:1112 msgid "" -"This 'service' component is missing a 'launchable' tag of type 'service'." +"Get components which provide the given item. Needs an item type (e.g. lib, " +"bin, python3, …) and item value as parameter." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:473 -msgid "" -"This 'web-application' component is missing a 'icon' tag to specify a valid " -"icon." +#. TRANSLATORS: `appstreamcli dump` command description. +#: tools/appstreamcli.c:1118 +msgid "Dump raw XML metadata for a component matching the ID." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:467 -msgid "" -"This 'web-application' component is missing a 'launchable' tag of type 'url'." +#. TRANSLATORS: `appstreamcli refresh-cache` command description. +#: tools/appstreamcli.c:1123 +msgid "Rebuild the component metadata cache." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:479 -msgid "" -"This 'web-application' component is missing categorizations. A 'categories' " -"block is likely missing." +#. TRANSLATORS: `appstreamcli validate` command description. +#: tools/appstreamcli.c:1129 +msgid "Validate AppStream XML files for issues." msgstr "" -#: src/as-validator-issue-tag.h:564 -msgid "" -"This XML document has an unknown root tag. Maybe this file is not a metainfo " -"document?" +#. TRANSLATORS: `appstreamcli validate-tree` command description. +#: tools/appstreamcli.c:1134 +msgid "Validate an installed file-tree of an application for valid metadata." msgstr "" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand -#: tools/appstream-cli.c:680 -msgid "" -"This command takes optional TYPE and FILE positional arguments, FILE being a " -"file to write to (or \"-\" for standard output)." +#. TRANSLATORS: `appstreamcli install` command description. +#: tools/appstreamcli.c:1140 +msgid "Install software matching the component-ID." msgstr "" -#: src/as-validator-issue-tag.h:622 -msgid "" -"This component extends, provides, requires or recommends itself, which is " -"certainly not intended and may confuse users or machines dealing with this " -"metadata." +#. TRANSLATORS: `appstreamcli remove` command description. +#: tools/appstreamcli.c:1145 +msgid "Remove software matching the component-ID." msgstr "" -#: src/as-validator-issue-tag.h:579 -msgid "This component metadata refers to a non-existing .desktop file." +#. TRANSLATORS: `appstreamcli status` command description. +#: tools/appstreamcli.c:1151 +msgid "Display status information about available AppStream metadata." msgstr "" -#: src/as-validator-issue-tag.h:69 +#. TRANSLATORS: `appstreamcli os-info` command description. +#: tools/appstreamcli.c:1156 msgid "" -"This description paragraph contains invalid markup. Currently, only " -"and are permitted." +"Show information about the current operating system from the metadata index." msgstr "" -#: src/as-validator-issue-tag.h:57 -msgid "" -"This element (paragraph, list, etc.) of a tag must not be " -"localized individually in collection metadata. Localize the whole " -" tag instead. The AppStream collection metadata generator (e." -"g. `appstream-generator`) will already do the right thing when compiling the " -"data." +#. TRANSLATORS: `appstreamcli put` command description. +#: tools/appstreamcli.c:1161 +msgid "Install a metadata file into the right location." msgstr "" -#: src/as-validator-issue-tag.h:455 -msgid "" -"This generic component is missing a long description. It may be useful to " -"add one." +#. TRANSLATORS: `appstreamcli convert` command description. "Collection XML" is a term describing a specific type of AppStream XML data. +#: tools/appstreamcli.c:1166 +msgid "Convert collection XML to YAML or vice versa." +msgstr "" + +#. TRANSLATORS: `appstreamcli vercmp` command description. +#: tools/appstreamcli.c:1171 +msgid "Compare two version numbers." msgstr "" -#: src/as-validator-issue-tag.h:421 +#. TRANSLATORS: `appstreamcli new-template` command description. +#: tools/appstreamcli.c:1177 msgid "" -"This tag is a GNOME-specific extension to AppStream and not part of the " -"official specification. Do not expect it to work in all implementations and " -"in all software centers." +"Create a template for a metainfo file (to be filled out by the upstream " +"project)." msgstr "" -#: src/as-validator-issue-tag.h:41 -msgid "This tag requires a type property." +#. TRANSLATORS: `appstreamcli make-desktop-file` command description. +#: tools/appstreamcli.c:1182 +msgid "Create a desktop-entry file from a metainfo file." msgstr "" -#: data/org.freedesktop.appstream.cli.metainfo.xml:15 -msgid "" -"This tool allows for reading, writing, validating and transformation of " -"AppStream XML or YAML metadata. It also gives access to the system metadata " -"pool, for example to query for software that provides a specific MIME-type, " -"and installing it by its software component identifier." +#. TRANSLATORS: `appstreamcli news-to-metainfo` command description. +#: tools/appstreamcli.c:1187 +msgid "Convert a YAML or text NEWS file into metainfo releases." msgstr "" -#: src/as-validator-issue-tag.h:388 -msgid "" -"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." +#. TRANSLATORS: `appstreamcli metainfo-to-news` command description. +#: tools/appstreamcli.c:1192 +msgid "Write NEWS text or YAML file with information from a metainfo file." msgstr "" -#: tools/appstream-cli.c:648 -msgid "" -"Too many parameters: Need two version numbers or version numbers and a " -"comparison operator." +#. TRANSLATORS: `appstreamcli compose` command description. +#: tools/appstreamcli.c:1198 +msgid "Compose AppStream collection metadata from directory trees." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:461 -msgid "" -"Type 'console-application' component, but no information about binaries in " -"$PATH was provided via a 'provides/binary' tag." +#. TRANSLATORS: ascli has been run without command. +#: tools/appstreamcli.c:1206 +msgid "You need to specify a command." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:491 -msgid "" -"Type 'driver' component, but no modalias information was provided via a " -"provides/modalias tag." +#. TRANSLATORS: In ascli: The requested action needs higher permissions. +#: tools/ascli-actions-mdata.c:70 +msgid "You might need superuser permissions to perform this action." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:485 -msgid "" -"Type 'font' component, but no font information was provided via a 'provides/" -"font' tag." +#. we performed a cache refresh +#. TRANSLATORS: Updating the metadata cache succeeded +#: tools/ascli-actions-mdata.c:80 +msgid "AppStream cache update completed successfully." msgstr "" -#: src/as-validator.c:333 -msgid "URL format is invalid." +#. cache wasn't updated, so the update wasn't necessary +#: tools/ascli-actions-mdata.c:86 +msgid "AppStream cache update is not necessary." +msgstr "" + +#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments +#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. +#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:253 +#: tools/ascli-actions-pkgmgr.c:80 +msgid "You need to specify a component-ID." msgstr "" -#: tools/ascli-actions-mdata.c:544 +#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:265 +#: tools/ascli-actions-pkgmgr.c:93 #, c-format -msgid "Unable to build the template metainfo file: %s" +msgid "Unable to find component with ID '%s'!" msgstr "" -#. TRANSLATORS: User is trying to convert a file in ascli -#: tools/ascli-actions-mdata.c:400 -msgid "" -"Unable to convert file: Could not determine output format, please set it " -"explicitly using '--format='." +#: tools/ascli-actions-mdata.c:164 +msgid "You need to specify a term to search for." msgstr "" #. TRANSLATORS: We failed to find any component in the database, likely due to an error @@ -1546,188 +2368,207 @@ msgid "Unable to find component matching %s!" msgstr "" -#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:266 -#: tools/ascli-actions-pkgmgr.c:93 +#: tools/ascli-actions-mdata.c:182 #, c-format -msgid "Unable to find component with ID '%s'!" +msgid "No component matching '%s' found." msgstr "" -#: tools/ascli-actions-misc.c:224 -#, c-format -msgid "Unable to load existing desktop-entry file template: %s" +#: tools/ascli-actions-mdata.c:206 +msgid "No value for the item to search for was defined." msgstr "" -#: src/as-validator-issue-tag.h:356 -msgid "Unable to reach remote icon at the given web location - does it exist?" +#: tools/ascli-actions-mdata.c:212 +msgid "Invalid type for provided item selected. Valid values are:" msgstr "" -#: src/as-validator-issue-tag.h:378 -msgid "" -"Unable to reach remote location that this URL references - does it exist?" +#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results +#: tools/ascli-actions-mdata.c:227 +#, c-format +msgid "Could not find component providing '%s::%s'." msgstr "" -#: src/as-validator-issue-tag.h:179 -msgid "" -"Unable to reach the screenshot image on its remote location - does the image " -"exist?" +#: tools/ascli-actions-mdata.c:306 +msgid "You need to specify a metadata file." msgstr "" -#: src/as-validator-issue-tag.h:184 -msgid "" -"Unable to reach the screenshot video on its remote location - does the video " -"file exist?" +#: tools/ascli-actions-mdata.c:320 +#, c-format +msgid "Unable to install metadata file: %s" +msgstr "" + +#: tools/ascli-actions-mdata.c:340 +msgid "You need to specify an input and output file." msgstr "" -#: src/as-validator-issue-tag.h:542 -msgid "Unable to read file." +#: tools/ascli-actions-mdata.c:347 +#, c-format +msgid "Metadata file '%s' does not exist." msgstr "" -#: src/as-validator-issue-tag.h:574 -msgid "Unable to read the .desktop file associated with this component." +#. TRANSLATORS: User is trying to convert a file in ascli +#: tools/ascli-actions-mdata.c:387 +msgid "" +"Unable to convert file: Could not determine output format, please set it " +"explicitly using '--format='." msgstr "" -#: tools/ascli-actions-mdata.c:473 +#: tools/ascli-actions-mdata.c:438 #, c-format -msgid "Unable to read the .desktop file: %s" +msgid "Unable to find operating system component '%s'!" msgstr "" -#: src/as-pool.c:606 -msgid "Unable to remove old cache." +#: tools/ascli-actions-mdata.c:443 +msgid "Version" +msgstr "Version" + +#: tools/ascli-actions-mdata.c:467 +msgid "" +"You need to give an AppStream software component type to generate a " +"template. Possible values are:" msgstr "" -#: tools/ascli-actions-misc.c:370 +#: tools/ascli-actions-mdata.c:469 #, c-format -msgid "Unable to save desktop entry file: %s" +msgid "" +"The software component type '%s' is not valid in AppStream. Possible values " +"are:" msgstr "" -#: tools/ascli-actions-mdata.c:552 +#: tools/ascli-actions-mdata.c:487 #, c-format -msgid "Unable to save the template metainfo file: %s" -msgstr "" +msgid "The .desktop file '%s' does not exist." +msgstr "Lo fichièr .desktop « %s » existís pas." -#: tools/ascli-actions-pkgmgr.c:67 +#: tools/ascli-actions-mdata.c:493 #, c-format -msgid "Unable to spawn package manager: %s" +msgid "Unable to read the .desktop file: %s" msgstr "" -#: tools/ascli-actions-mdata.c:322 +#: tools/ascli-actions-mdata.c:564 #, c-format -msgid "Unable to write to '%s', can not install metainfo file." +msgid "Unable to build the template metainfo file: %s" msgstr "" -#. TRANSLATORS: ascli has been run with unknown command. -#: tools/appstream-cli.c:1009 +#: tools/ascli-actions-mdata.c:572 #, c-format -msgid "Unknown command '%s'." +msgid "Unable to save the template metainfo file: %s" msgstr "" -#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. -#: tools/appstream-cli.c:608 +#. TRANSLATORS: In the status report of ascli: Header +#: tools/ascli-actions-misc.c:47 +msgid "AppStream Status:" +msgstr "Estat d'AppStream :" + +#: tools/ascli-actions-misc.c:48 #, c-format -msgid "Unknown compare relation '%s'. Valid values are:" -msgstr "" +msgid "Version: %s" +msgstr "Version : %s" -#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) -#: tools/appstream-cli.c:675 -msgid "" -"Use the given .desktop file to fill in the basic values of the metainfo file." +#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions +#: tools/ascli-actions-misc.c:52 +msgid "Distribution metadata:" msgstr "" -#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) -#: tools/appstream-cli.c:725 -msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." +#: tools/ascli-actions-misc.c:94 +msgid "Iconsets" msgstr "" -#. TRANSLATORS: this is the menu spec main category for Utilities -#: src/as-category.c:329 -msgid "Utilities" -msgstr "" +#: tools/ascli-actions-misc.c:105 +msgid "No icons." +msgstr "Cap d’icòna." -#: tools/appstream-cli.c:856 -msgid "Validate AppStream XML files for issues." +#. TRANSLATORS: No metainfo files have been found +#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 +msgid "Empty." +msgstr "Void." + +#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report +#: tools/ascli-actions-misc.c:116 +msgid "Metainfo files:" msgstr "" -#: tools/appstream-cli.c:857 -msgid "Validate an installed file-tree of an application for valid metadata." +#: tools/ascli-actions-misc.c:123 +#, c-format +msgid "Found %i components." msgstr "" -#: tools/ascli-actions-validate.c:301 tools/ascli-actions-validate.c:442 +#. TRANSLATORS: Found metainfo files in legacy directories +#: tools/ascli-actions-misc.c:138 #, c-format -msgid "Validation failed: %s" +msgid "Found %i components in legacy paths." msgstr "" -#: tools/ascli-actions-validate.c:289 tools/ascli-actions-validate.c:430 -msgid "Validation was successful." +#. TRANSLATORS: Status summary in ascli +#: tools/ascli-actions-misc.c:145 +msgid "Summary:" +msgstr "Resumit :" + +#: tools/ascli-actions-misc.c:153 +#, c-format +msgid "We have information on %i software components." msgstr "" -#: tools/ascli-actions-validate.c:291 tools/ascli-actions-validate.c:432 +#: tools/ascli-actions-misc.c:159 #, c-format -msgid "Validation was successful: %s" +msgid "Error while loading the metadata pool: %s" msgstr "" -#: tools/appstream-cli.c:851 -msgid "Value of the item that should be found." +#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 +msgid "You need to specify a metainfo file as input." msgstr "" -#: src/as-category.c:177 -#, fuzzy -msgctxt "Category of Graphics" -msgid "Vector Graphics" -msgstr "Categorias" +#: tools/ascli-actions-misc.c:188 +msgid "" +"You need to specify a desktop-entry file to create or augment as output." +msgstr "" -#: tools/ascli-actions-misc.c:48 +#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 +#: tools/ascli-actions-misc.c:515 #, c-format -msgid "Version: %s" -msgstr "Version : %s" - -#: src/as-category.c:180 -msgctxt "Category of Graphics" -msgid "Viewers" +msgid "Metainfo file '%s' does not exist." msgstr "" -#: tools/ascli-actions-misc.c:153 +#: tools/ascli-actions-misc.c:219 #, c-format -msgid "We have information on %i software components." +msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." msgstr "" -#: src/as-category.c:270 -msgctxt "Category of Communication" -msgid "Web Browsers" +#: tools/ascli-actions-misc.c:224 +#, c-format +msgid "Unable to load existing desktop-entry file template: %s" msgstr "" -#: src/as-category.c:202 -msgctxt "Category of Office" -msgid "Word Processor" +#: tools/ascli-actions-misc.c:228 +#, c-format +msgid "Creating new desktop-entry file '%s' using data from '%s'" msgstr "" -#: tools/appstream-cli.c:871 -msgid "Write NEWS text or YAML file with information from a metainfo file." +#: tools/ascli-actions-misc.c:284 +msgid "No stock icon name was provided in the metainfo file. Can not continue." msgstr "" -#: tools/appstream-cli.c:874 +#: tools/ascli-actions-misc.c:306 msgid "" -"You can find information about subcommand-specific options by passing \"--" -"help\" to the subcommand." +"No provided binary specified in metainfo file, and no exec command specified " +"via '--exec'. Can not create 'Exec=' key." msgstr "" -#. TRANSLATORS: In ascli: The requested action needs higher permissions. -#: tools/ascli-actions-mdata.c:70 -msgid "You might need superuser permissions to perform this action." +#: tools/ascli-actions-misc.c:370 +#, c-format +msgid "Unable to save desktop entry file: %s" msgstr "" -#: tools/ascli-actions-mdata.c:447 -msgid "" -"You need to give an AppStream software component type to generate a " -"template. Possible values are:" +#: tools/ascli-actions-misc.c:393 +msgid "You need to specify a NEWS file as input." msgstr "" -#: tools/appstream-cli.c:579 +#: tools/ascli-actions-misc.c:397 msgid "" -"You need to provide at least two version numbers to compare as parameters." +"You need to specify a metainfo file to augment, or '-' to print to stdout." msgstr "" -#: tools/ascli-actions-misc.c:393 -msgid "You need to specify a NEWS file as input." +#: tools/ascli-actions-misc.c:402 +msgid "No output filename specified, modifying metainfo file directly." msgstr "" #: tools/ascli-actions-misc.c:509 @@ -1738,97 +2579,148 @@ msgid "You need to specify a NEWS format to write the output in." msgstr "" -#. TRANSLATORS: ascli has been run without command. -#: tools/appstream-cli.c:925 -msgid "You need to specify a command." +#: tools/ascli-actions-pkgmgr.c:53 +msgid "" +"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" +"\" (part of PackageKit) is available." msgstr "" -#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments -#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. -#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:254 -#: tools/ascli-actions-pkgmgr.c:80 -msgid "You need to specify a component-ID." +#: tools/ascli-actions-pkgmgr.c:67 +#, c-format +msgid "Unable to spawn package manager: %s" +msgstr "Lançament impossibla del gestionari de paquets : %s" + +#. TRANSLATORS: We found no distribution package or bundle to install to make this software available +#: tools/ascli-actions-pkgmgr.c:106 +#, c-format +msgid "Component '%s' has no installation candidate." msgstr "" -#: tools/ascli-actions-misc.c:188 -msgid "" -"You need to specify a desktop-entry file to create or augment as output." +#: tools/ascli-actions-validate.c:176 tools/ascli-actions-validate.c:354 +#, c-format +msgid "File '%s' does not exist." +msgstr "Lo fichièr « %s » existís pas." + +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "error"-type hints +#: tools/ascli-actions-validate.c:228 +#, c-format +msgid "errors: %lu" msgstr "" -#: tools/ascli-actions-mdata.c:309 -msgid "You need to specify a metadata file." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "warning"-type hints +#: tools/ascli-actions-validate.c:235 +#, c-format +msgid "warnings: %lu" msgstr "" -#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 -msgid "You need to specify a metainfo file as input." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "info"-type hints +#: tools/ascli-actions-validate.c:242 +#, c-format +msgid "infos: %lu" +msgstr "informacions : %lu" + +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "pedantic"-type hints +#: tools/ascli-actions-validate.c:249 +#, c-format +msgid "pedantic: %lu" msgstr "" -#: tools/ascli-actions-misc.c:397 -msgid "" -"You need to specify a metainfo file to augment, or '-' to print to stdout." +#: tools/ascli-actions-validate.c:268 tools/ascli-actions-validate.c:342 +msgid "You need to specify at least one file to validate!" msgstr "" -#: tools/ascli-actions-validate.c:385 tools/ascli-actions-validate.c:479 -msgid "You need to specify a root directory to start validation!" +#: tools/ascli-actions-validate.c:294 tools/ascli-actions-validate.c:435 +msgid "Validation was successful." msgstr "" -#: tools/ascli-actions-mdata.c:164 -msgid "You need to specify a term to search for." +#: tools/ascli-actions-validate.c:296 tools/ascli-actions-validate.c:437 +#, c-format +msgid "Validation was successful: %s" msgstr "" -#: tools/ascli-actions-mdata.c:357 -msgid "You need to specify an input and output file." +#: tools/ascli-actions-validate.c:306 tools/ascli-actions-validate.c:447 +#, c-format +msgid "Validation failed: %s" msgstr "" -#: tools/ascli-actions-validate.c:263 tools/ascli-actions-validate.c:337 -msgid "You need to specify at least one file to validate!" +#: tools/ascli-actions-validate.c:368 tools/ascli-actions-validate.c:497 +#, c-format +msgid "" +"The validator can not create reports in the '%s' format. You may select " +"'yaml' or 'text' instead." msgstr "" -#. TRANSLATORS: List of "grey-listed" words sperated with ";" -#. * Do not translate this list directly. Instead, -#. * provide a list of words in your language that people are likely -#. * to include in a search but that should normally be ignored in -#. * the search. -#. -#: src/as-pool.c:107 -msgid "app;application;package;program;programme;suite;tool" +#: tools/ascli-actions-validate.c:390 tools/ascli-actions-validate.c:484 +msgid "You need to specify a root directory to start validation!" msgstr "" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:223 -#, c-format -msgid "errors: %lu" +#: tools/ascli-utils.c:266 +msgid "Identifier" msgstr "" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:237 -#, c-format -msgid "infos: %lu" +#: tools/ascli-utils.c:268 +msgid "Internal ID" msgstr "" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:244 -#, c-format -msgid "pedantic: %lu" +#: tools/ascli-utils.c:269 +msgid "Name" +msgstr "Nom" + +#: tools/ascli-utils.c:270 +msgid "Summary" +msgstr "Resumit" + +#: tools/ascli-utils.c:271 +msgid "Package" +msgstr "Paquetatge" + +#: tools/ascli-utils.c:272 +msgid "Bundle" +msgstr "Grop" + +#: tools/ascli-utils.c:273 +msgid "Homepage" +msgstr "Pagina d'acuèlh" + +#: tools/ascli-utils.c:274 +msgid "Icon" +msgstr "Icòna" + +#. developer name +#: tools/ascli-utils.c:294 +msgid "Developer" +msgstr "Desvolopaire" + +#: tools/ascli-utils.c:300 +msgid "Extends" msgstr "" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:230 -#, c-format -msgid "warnings: %lu" +#: tools/ascli-utils.c:306 +msgid "Description" +msgstr "Descripcion" + +#: tools/ascli-utils.c:326 +msgid "Default Screenshot URL" msgstr "" -#, fuzzy -#~ msgid "Category of Games" -#~ msgstr "Categorias" +#. project group +#: tools/ascli-utils.c:333 +msgid "Project Group" +msgstr "" -#, fuzzy -#~ msgid "Category of Office" -#~ msgstr "Categorias" +#. license +#: tools/ascli-utils.c:336 +msgid "License" +msgstr "Licéncia" -#, fuzzy -#~ msgid "Category of Science" -#~ msgstr "Categorias" +#: tools/ascli-utils.c:342 +msgid "Categories" +msgstr "Categorias" -#~ msgid "Extensions" -#~ msgstr "Extensions" +#: tools/ascli-utils.c:350 +msgid "Compulsory for" +msgstr "Obligatòri per" + +#: tools/ascli-utils.c:378 +msgid "Provided Items" +msgstr "" diff -Nru appstream-0.12.10/po/pl.po appstream-0.14.5/po/pl.po --- appstream-0.12.10/po/pl.po 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/po/pl.po 2021-08-28 20:15:28.000000000 +0000 @@ -1,14 +1,27 @@ +# #-#-#-#-# pl.po (AppStream) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Matthias Klumpp # This file is distributed under the same license as the appstream package. # Translators: -# Piotr Drąg , 2014-2016, 2019, 2020. +# Piotr Drąg , 2014-2016, 2019, 2020, 2021. +# Matthias Klumpp , 2020. +# #-#-#-#-# pl.po (appstream-glib) #-#-#-#-# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Piotr Drąg , 2014-2016, 2021. +# Piotr Drąg , 2016. #zanata, 2021. +# Richard Hughes , 2016. #zanata +# Piotr Drąg , 2017. #zanata, 2021. +# Piotr Drąg , 2018. #zanata, 2021. +# +# Translators: msgid "" msgstr "" -"Project-Id-Version: AppStream\n" +"Project-Id-Version: appstream-glib\n" "Report-Msgid-Bugs-To: appstream@lists.freedesktop.org\n" -"POT-Creation-Date: 2020-01-14 01:44+0100\n" -"PO-Revision-Date: 2020-01-14 14:30+0000\n" +"POT-Creation-Date: 2021-08-28 16:09+0200\n" +"PO-Revision-Date: 2021-08-28 14:38+0000\n" "Last-Translator: Piotr Drąg \n" "Language-Team: Polish \n" "Language: pl\n" @@ -16,1169 +29,1903 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 3.11-dev\n" - -#: tools/appstream-cli.c:157 -#, c-format -msgid "'%s' command" -msgstr "Polecenie „%s”" - -#: src/as-category.c:168 -msgctxt "Category of Graphics" -msgid "3D Graphics" -msgstr "Grafika 3D" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:254 -msgid "" -"A 'requires' or 'recommends' item requires a value to denote a valid " -"relation." -msgstr "" -"Element „requires” lub „recommends” wymaga wartości oznaczającej prawidłowy " -"związek." - -#: src/as-validator-issue-tag.h:51 -msgid "" -"A tag must not be localized in metainfo files (upstream " -"metadata). Localize the individual paragraphs instead." -msgstr "" -"Znacznik nie może być tłumaczony w plikach Metainfo " -"(metadanych projektu). Zamiast tego należy tłumaczyć poszczególne akapity." - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:195 -msgid "" -"A screenshot must contain at least one image or video in order to be useful. " -"Please add an to it." -msgstr "" -"Zrzut ekranu musi zawierać co najmniej jeden obraz lub film, aby być " -"użyteczny. Proszę dodać do niego znacznik ." - -#: src/as-validator-issue-tag.h:200 -msgid "" -"A screenshot must contain either images or videos, but not both at the same " -"time. Please use this screenshot exclusively for either static images or for " -"videos." -msgstr "" -"Zrzut ekranu musi zawierać obrazy lub filmy, ale nie oba jednocześnie. " -"Proszę użyć tego zrzutu ekranu wyłącznie do statycznych obrazów lub do " -"filmów." - -#: src/as-category.c:123 -msgctxt "Category of Games" -msgid "Action" -msgstr "Gry akcji" - -#. TRANSLATORS: this is the main category for Add-ons -#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor -#: src/as-category.c:320 tools/ascli-utils.c:398 -msgid "Add-ons" -msgstr "Dodatki" - -#: src/as-category.c:126 -msgctxt "Category of Games" -msgid "Adventure" -msgstr "Gry przygodowe" - -#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) -#: tools/appstream-cli.c:116 -msgid "Also show pedantic hints." -msgstr "Wyświetla także drobiazgowe uwagi." - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:497 -msgid "" -"An 'extends' tag is specified, but the component is not of type 'addon', " -"'localization' or 'repository'." -msgstr "" -"Podano znacznik „extends”, ale składnik nie jest typu „addon”, " -"„localization” ani „repository”." - -#: tools/appstream-cli.c:850 -msgid "An item type (e.g. lib, bin, python3, …)" -msgstr "Typ elementu (np. lib, bin, python3…)" - -#: data/org.freedesktop.appstream.cli.metainfo.xml:9 -msgid "An utility to work with AppStream metadata" -msgstr "Narzędzie do działania z metadanymi AppStream" +"X-Generator: Weblate 4.8.1-dev\n" #: data/org.freedesktop.appstream.cli.metainfo.xml:8 msgid "AppStream CLI" msgstr "Interfejs AppStream dla wiersza poleceń" -#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. -#: tools/appstream-cli.c:947 -#, c-format -msgid "" -"AppStream CLI tool version: %s\n" -"AppStream library version: %s" -msgstr "" -"Wersja narzędzia AppStream w wierszu poleceń: %s\n" -"Wersja biblioteki AppStream: %s" - -#. TRANSLATORS: In the status report of ascli: Header -#: tools/ascli-actions-misc.c:47 -msgid "AppStream Status:" -msgstr "Stan AppStream:" - -#. we performed a cache refresh -#. TRANSLATORS: Updating the metadata cache succeeded -#: tools/ascli-actions-mdata.c:80 -msgid "AppStream cache update completed successfully." -msgstr "Pomyślnie ukończono aktualizację pamięci podręcznej AppStream." - -#. cache wasn't updated, so the update wasn't necessary -#: tools/ascli-actions-mdata.c:86 -msgid "AppStream cache update is not necessary." -msgstr "Aktualizacja pamięci podręcznej AppStream jest niepotrzebna." - -#. TRANSLATORS: This is the header to the --help menu for subcommands -#. TRANSLATORS: This is the header to the --help menu -#: tools/appstream-cli.c:154 tools/appstream-cli.c:843 -msgid "AppStream command-line interface" -msgstr "Interfejs wiersza poleceń AppStream" - -#: src/as-validator-issue-tag.h:63 -msgid "" -"AppStream descriptions support only a limited set of tags to format text: " -"Paragraphs (

                                                                                                                                                                                                                                                                        ) and lists (

                                                                                                                                                                                                                                                                          ,
                                                                                                                                                                                                                                                                            ). This description markup contains " -"an invalid XML tag that would not be rendered correctly in applications " -"supporting the metainfo specification." -msgstr "" -"Opisy AppStream obsługują tylko ograniczony zestaw znaczników do " -"formatowania tekstu: akapity (

                                                                                                                                                                                                                                                                            ) i listy (

                                                                                                                                                                                                                                                                              ,
                                                                                                                                                                                                                                                                                ). Ten opis zawiera " -"nieprawidłowy znacznik XML, który nie byłby poprawnie wyświetlany " -"w programach obsługujących specyfikację Metainfo." +#: data/org.freedesktop.appstream.cli.metainfo.xml:9 +msgid "An utility to work with AppStream metadata" +msgstr "Narzędzie do działania z metadanymi AppStream" #: data/org.freedesktop.appstream.cli.metainfo.xml:12 msgid "" -"AppStream is a cross-distribution specification to provide metadata about " -"software components." -msgstr "" -"AppStream to specyfikacja używana przez wiele dystrybucji do dostarczania " -"metadanych o składnikach oprogramowania." +"AppStream is a metadata specification which permits software components to " +"provide information about themselves to automated systems and end-users " +"before the software is actually installed. The AppStream project provides " +"facilities to easily access and transform this metadata, as well as a few " +"additional services for building feature-rich software centers and similar " +"applications that make use of software metadata." +msgstr "" +"AppStream to specyfikacja metadanych umożliwiająca składnikom oprogramowania " +"dostarczanie informacji o sobie zautomatyzowanym systemom i użytkownikom " +"zanim jeszcze zostaną one zainstalowane. Projekt AppStream dostarcza " +"możliwość łatwego używania i przekształcania tych metadanych, a także kilka " +"dodatkowych usług do budowania funkcjonalnych centrów oprogramowania " +"i podobnych programów korzystających z metadanych oprogramowania." + +#: data/org.freedesktop.appstream.cli.metainfo.xml:18 +msgid "" +"The appstreamcli command-line tool allows to read, write, and " +"transform AppStream XML or YAML metadata as well as to validate it for " +"compliance with the specification. It also provides easy access to the " +"system metadata pool, for example to query for software that provides a " +"specific Mediatype handler or for installing software by its component " +"identifier." +msgstr "" +"Narzędzie wiersza poleceń appstreamcli umożliwia odczytywanie, " +"zapisywanie i przekształcanie metadanych AppStream w językach XML i YAML, " +"a także sprawdzanie ich zgodności ze specyfikacją. Umożliwia także łatwy " +"dostęp do puli metadanych systemu, aby na przykład wyszukać oprogramowanie " +"dostarczające obsługę podanego typu multimediów lub zainstalować " +"oprogramowanie według jego identyfikatora składnika." -#: src/as-pool.c:1937 -#, c-format -msgid "" -"AppStream system cache refresh failed. Turn on verbose mode to get detailed " -"issue information." -msgstr "" -"Odświeżenie systemowej pamięci podręcznej AppStream się nie powiodło. Można " -"włączyć tryb wyświetlania dodatkowych informacji." +#: src/as-category.c:66 +msgctxt "Category of AudioVideo" +msgid "Featured" +msgstr "Polecane" -#. TRANSLATORS: Output if appstreamcli --version is executed. -#: tools/appstream-cli.c:944 -#, c-format -msgid "AppStream version: %s" -msgstr "Wersja AppStream: %s" +#: src/as-category.c:69 +msgctxt "Category of AudioVideo" +msgid "Audio Creation & Editing" +msgstr "Tworzenie i edycja dźwięku" -#: src/as-category.c:129 -msgctxt "Category of Games" -msgid "Arcade" -msgstr "Gry platformowe" +#: src/as-category.c:75 +msgctxt "Category of AudioVideo" +msgid "Music Players" +msgstr "Odtwarzacze muzyki" -#: src/as-category.c:234 -msgctxt "Category of Science" -msgid "Artificial Intelligence" -msgstr "Sztuczna inteligencja" +#: src/as-category.c:84 +msgctxt "Category of Development" +msgid "Featured" +msgstr "Polecane" -#: src/as-validator-issue-tag.h:91 -msgid "" -"As per AppStream specification, the mentioned tag must only appear once in " -"this context. Having multiple tags of this kind is not valid." -msgstr "" -"Według specyfikacji AppStream wymieniony znacznik musi występować tylko raz " -"w tym kontekście. Użycie wielu znaczników tego rodzaju jest nieprawidłowe." +#: src/as-category.c:87 +msgctxt "Category of Development" +msgid "Debuggers" +msgstr "Debugery" -#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command -#: tools/appstream-cli.c:766 -msgid "Assume the input file is in the selected format ('yaml' or 'text')." -msgstr "" -"Przyjmuje, że plik wejściowy jest w wybranym formacie („yaml” lub „text”)." +#: src/as-category.c:90 +msgctxt "Category of Development" +msgid "IDEs" +msgstr "Środowiska programistyczne" -#: src/as-category.c:101 +#: src/as-category.c:99 msgctxt "Category of Education" -msgid "Astronomy" -msgstr "Astronomia" +msgid "Featured" +msgstr "Polecane" -#: src/as-category.c:237 -msgctxt "Category of Science" +#: src/as-category.c:102 +msgctxt "Category of Education" msgid "Astronomy" msgstr "Astronomia" -#. TRANSLATORS: this is the menu spec main category for Audio & Video -#: src/as-category.c:302 -msgid "Audio & Video" -msgstr "Dźwięk i obraz" +#: src/as-category.c:105 +msgctxt "Category of Education" +msgid "Chemistry" +msgstr "Chemia" -#: src/as-category.c:68 -msgctxt "Category of AudioVideo" -msgid "Audio Creation & Editing" -msgstr "Tworzenie i edycja dźwięku" +#: src/as-category.c:108 +msgctxt "Category of Education" +msgid "Languages" +msgstr "Języki" -#: tools/ascli-actions-misc.c:219 -#, c-format -msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." -msgstr "Powiększanie istniejącego pliku .desktop „%s” o dane z „%s”." +#: src/as-category.c:112 +msgctxt "Category of Education" +msgid "Math" +msgstr "Matematyka" -#: src/as-provided.c:146 -msgid "Binaries" -msgstr "Pliki binarne" +#: src/as-category.c:121 +msgctxt "Category of Games" +msgid "Featured" +msgstr "Polecane" + +#: src/as-category.c:124 +msgctxt "Category of Games" +msgid "Action" +msgstr "Gry akcji" + +#: src/as-category.c:127 +msgctxt "Category of Games" +msgid "Adventure" +msgstr "Gry przygodowe" + +#: src/as-category.c:130 +msgctxt "Category of Games" +msgid "Arcade" +msgstr "Gry platformowe" -#: src/as-category.c:132 +#: src/as-category.c:133 msgctxt "Category of Games" msgid "Blocks" msgstr "Gry w klocki" -#: src/as-category.c:135 +#: src/as-category.c:136 msgctxt "Category of Games" msgid "Board" msgstr "Gry planszowe" -#: tools/ascli-utils.c:299 -msgid "Bundle" -msgstr "Paczka" - -#: src/as-pool.c:1828 -#, c-format -msgid "Cache location '%s' is not writable." -msgstr "Położenie pamięci podręcznej „%s” nie jest zapisywalne." - -#: src/as-category.c:191 -msgctxt "Category of Office" -msgid "Calendar" -msgstr "Kalendarze" - -#: tools/ascli-actions-mdata.c:327 -#, c-format -msgid "" -"Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " -"suffix." -msgstr "" -"Nie można skopiować „%s”: plik nie ma przyrostka „.metainfo.xml” lub „." -"appdata.xml”." - -#: src/as-category.c:138 +#: src/as-category.c:139 msgctxt "Category of Games" msgid "Card" msgstr "Gry karciane" -#: tools/ascli-utils.c:369 -msgid "Categories" -msgstr "Kategorie" - -#: src/as-category.c:259 -msgctxt "Category of Communication" -msgid "Chat" -msgstr "Komunikatory" +#: src/as-category.c:142 +msgctxt "Category of Games" +msgid "Emulators" +msgstr "Emulatory" -#: src/as-category.c:104 -msgctxt "Category of Education" -msgid "Chemistry" -msgstr "Chemia" +#: src/as-category.c:145 +msgctxt "Category of Games" +msgid "Kids" +msgstr "Gry dla dzieci" -#: src/as-category.c:240 -msgctxt "Category of Science" -msgid "Chemistry" -msgstr "Chemia" +#: src/as-category.c:148 +msgctxt "Category of Games" +msgid "Logic" +msgstr "Gry logiczne" -#: src/as-category.c:214 -msgctxt "Category of Addons" -msgid "Codecs" -msgstr "Kodeki" +#: src/as-category.c:151 +msgctxt "Category of Games" +msgid "Role Playing" +msgstr "Gry fabularne" -#. TRANSLATORS: this is the menu spec main category for Communication -#: src/as-category.c:326 -msgid "Communication & News" -msgstr "Komunikacja i aktualności" +#: src/as-category.c:154 +msgctxt "Category of Games" +msgid "Sports" +msgstr "Gry sportowe" -#: tools/appstream-cli.c:866 -msgid "Compare two version numbers." -msgstr "Porównuje dwa numery wersji." +#: src/as-category.c:158 +msgctxt "Category of Games" +msgid "Strategy" +msgstr "Gry strategiczne" -#: src/as-provided.c:166 -msgid "Component" -msgstr "Składnik" - -#. TRANSLATORS: We found no distribution package or bundle to install to make this software available -#: tools/ascli-actions-pkgmgr.c:106 -#, c-format -msgid "Component '%s' has no installation candidate." -msgstr "Składnik „%s” nie ma kandydata instalacji." - -#: tools/ascli-utils.c:377 -msgid "Compulsory for" -msgstr "Obowiązkowe dla" - -#: src/as-validator-issue-tag.h:361 -msgid "Consider using a secure (HTTPS) URL for the remote icon link." -msgstr "" -"Proszę rozważyć użycie zabezpieczonego adresu URL (HTTPS) dla tego odnośnika " -"do zdalnej ikony." - -#: src/as-validator-issue-tag.h:383 -msgid "Consider using a secure (HTTPS) URL for this web link." -msgstr "" -"Proszę rozważyć użycie zabezpieczonego adresu URL (HTTPS) dla tego odnośnika " -"internetowego." - -#: src/as-validator-issue-tag.h:189 -msgid "" -"Consider using a secure (HTTPS) URL to reference this screenshot image or " -"video." -msgstr "" -"Proszę rozważyć użycie zabezpieczonego adresu URL (HTTPS) do wskazania tego " -"obrazu lub filmu zrzutu ekranu." - -#: tools/appstream-cli.c:870 -msgid "Convert a YAML or text NEWS file into metainfo releases." -msgstr "Konwertuje plik NEWS w formacie YAML lub tekstowym do wydań Metainfo." +#: src/as-category.c:166 +msgctxt "Category of Graphics" +msgid "Featured" +msgstr "Polecane" -#. TRANSLATORS: "convert" command in ascli. "Collection XML" is a term describing a specific type of AppStream XML data. -#: tools/appstream-cli.c:865 -msgid "Convert collection XML to YAML or vice versa." -msgstr "Konwertuje XML kolekcji do YAML lub odwrotnie." +#: src/as-category.c:169 +msgctxt "Category of Graphics" +msgid "3D Graphics" +msgstr "Grafika 3D" -#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results -#: tools/ascli-actions-mdata.c:228 -#, c-format -msgid "Could not find component providing '%s::%s'." -msgstr "Nie można odnaleźć składnika dostarczającego „%s::%s”." +#: src/as-category.c:172 +msgctxt "Category of Graphics" +msgid "Photography" +msgstr "Fotografia" -#: tools/appstream-cli.c:869 -msgid "Create a XDG desktop-entry file from a metainfo file." -msgstr "Tworzy plik .desktop XDG z pliku Metainfo." +#: src/as-category.c:175 +msgctxt "Category of Graphics" +msgid "Scanning" +msgstr "Skanowanie" -#: tools/appstream-cli.c:868 -msgid "" -"Create a template for a metainfo file (to be filled out by the upstream " -"project)." -msgstr "Tworzy szablon pliku Metainfo (do wypełnienia przez projekt)." +#: src/as-category.c:178 +msgctxt "Category of Graphics" +msgid "Vector Graphics" +msgstr "Grafika wektorowa" -#: tools/ascli-actions-misc.c:228 -#, c-format -msgid "Creating new desktop-entry file '%s' using data from '%s'" -msgstr "Tworzenie nowego pliku .desktop „%s” za pomocą danych z „%s”" +#: src/as-category.c:181 +msgctxt "Category of Graphics" +msgid "Viewers" +msgstr "Przeglądarki" -#: src/as-provided.c:160 -msgid "D-Bus Session Services" -msgstr "Usługi sesji D-Bus" +#: src/as-category.c:189 +msgctxt "Category of Office" +msgid "Featured" +msgstr "Polecane" -#: src/as-provided.c:158 -msgid "D-Bus System Services" -msgstr "Usługi systemowe D-Bus" +#: src/as-category.c:192 +msgctxt "Category of Office" +msgid "Calendar" +msgstr "Kalendarze" -#: src/as-category.c:195 +#: src/as-category.c:196 msgctxt "Category of Office" msgid "Database" msgstr "Bazy danych" -#: src/as-category.c:86 -msgctxt "Category of Development" -msgid "Debuggers" -msgstr "Debugery" - -#: tools/ascli-utils.c:353 -msgid "Default Screenshot URL" -msgstr "Adres URL domyślnego zrzutu ekranu" - -#. TRANSLATORS: ascli flag description for: --format -#: tools/appstream-cli.c:83 -msgid "Default metadata format (valid values are 'xml' and 'yaml')." -msgstr "Domyślny format metadanych (prawidłowe wartości to „xml” i „yaml”)." - -#: tools/ascli-utils.c:333 -msgid "Description" -msgstr "Opis" - -#. developer name -#: tools/ascli-utils.c:321 -msgid "Developer" -msgstr "Programista" - -#. TRANSLATORS: this is the menu spec main category for Development -#: src/as-category.c:305 -msgid "Developer Tools" -msgstr "Narzędzia programistyczne" - -#: tools/appstream-cli.c:862 -msgid "Display status information about available AppStream metadata." -msgstr "Wyświetla informacje o stanie dostępnych metadanych AppStream." +#: src/as-category.c:199 +msgctxt "Category of Office" +msgid "Finance" +msgstr "Finanse" -#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions -#: tools/ascli-actions-misc.c:52 -msgid "Distribution metadata:" -msgstr "Metadane dystrybucji:" +#: src/as-category.c:203 +msgctxt "Category of Office" +msgid "Word Processor" +msgstr "Procesory tekstu" -#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) -#: tools/appstream-cli.c:126 -msgid "Do not use network access." -msgstr "Bez używania dostępu do sieci." +#: src/as-category.c:212 +msgctxt "Category of Addons" +msgid "Fonts" +msgstr "Czcionki" -#. TRANSLATORS: ascli flag description for: --no-color -#: tools/appstream-cli.c:908 -msgid "Don't show colored output." -msgstr "Bez kolorowania wyjścia." +#: src/as-category.c:215 +msgctxt "Category of Addons" +msgid "Codecs" +msgstr "Kodeki" -#: tools/appstream-cli.c:853 -msgid "Dump raw XML metadata for a component matching the ID." -msgstr "Zrzuca surowe metadane XML dla składnika pasującego do identyfikatora." +#: src/as-category.c:218 +msgctxt "Category of Addons" +msgid "Input Sources" +msgstr "Źródła wprowadzania" -#. TRANSLATORS: this is the menu spec main category for Education -#: src/as-category.c:308 -msgid "Education" -msgstr "Edukacja" +#: src/as-category.c:221 +msgctxt "Category of Addons" +msgid "Language Packs" +msgstr "Pakiety językowe" -#. TRANSLATORS: No metainfo files have been found -#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 -msgid "Empty." -msgstr "Puste." +#: src/as-category.c:224 +msgctxt "Category of Addons" +msgid "Localization" +msgstr "Tłumaczenia" -#: src/as-category.c:141 -msgctxt "Category of Games" -msgid "Emulators" -msgstr "Emulatory" +#: src/as-category.c:232 +msgctxt "Category of Science" +msgid "Featured" +msgstr "Polecane" -#. TRANSLATORS: ascli flag description for: --force -#: tools/appstream-cli.c:245 -msgid "Enforce a cache refresh." -msgstr "Wymusza odświeżenie pamięci podręcznej." +#: src/as-category.c:235 +msgctxt "Category of Science" +msgid "Artificial Intelligence" +msgstr "Sztuczna inteligencja" -#: src/as-validator-issue-tag.h:74 -msgid "Enumerations must only have list items (
                                                                                                                                                                                                                                                                              1. ) as children." -msgstr "" -"Wyliczenia mogą mieć tylko elementy listy (
                                                                                                                                                                                                                                                                              2. ) jako elementy potomne." +#: src/as-category.c:238 +msgctxt "Category of Science" +msgid "Astronomy" +msgstr "Astronomia" -#: tools/ascli-actions-misc.c:159 -#, c-format -msgid "Error while loading the metadata pool: %s" -msgstr "Błąd podczas wczytywania puli metadanych: %s" +#: src/as-category.c:241 +msgctxt "Category of Science" +msgid "Chemistry" +msgstr "Chemia" -#: tools/ascli-utils.c:327 -msgid "Extends" -msgstr "Rozszerza" +#: src/as-category.c:244 +msgctxt "Category of Science" +msgid "Math" +msgstr "Matematyka" -#: src/as-category.c:65 -msgctxt "Category of AudioVideo" -msgid "Featured" -msgstr "Polecane" +#: src/as-category.c:249 +msgctxt "Category of Science" +msgid "Robotics" +msgstr "Robotyka" -#: src/as-category.c:256 +#: src/as-category.c:257 msgctxt "Category of Communication" msgid "Featured" msgstr "Polecane" -#: src/as-category.c:83 -msgctxt "Category of Development" -msgid "Featured" -msgstr "Polecane" - -#: src/as-category.c:98 -msgctxt "Category of Education" -msgid "Featured" -msgstr "Polecane" - -#: src/as-category.c:120 -msgctxt "Category of Games" -msgid "Featured" -msgstr "Polecane" +#: src/as-category.c:260 +msgctxt "Category of Communication" +msgid "Chat" +msgstr "Komunikatory" -#: src/as-category.c:165 -msgctxt "Category of Graphics" -msgid "Featured" -msgstr "Polecane" +#: src/as-category.c:267 +msgctxt "Category of Communication" +msgid "News" +msgstr "Aktualności" -#: src/as-category.c:188 -msgctxt "Category of Office" -msgid "Featured" -msgstr "Polecane" +#: src/as-category.c:271 +msgctxt "Category of Communication" +msgid "Web Browsers" +msgstr "Przeglądarki WWW" -#: src/as-category.c:231 -msgctxt "Category of Science" +#: src/as-category.c:279 +msgctxt "Category of Utility" msgid "Featured" msgstr "Polecane" -#: src/as-category.c:278 +#: src/as-category.c:282 msgctxt "Category of Utility" -msgid "Featured" -msgstr "Polecane" +msgid "Text Editors" +msgstr "Edytory tekstu" -#: tools/ascli-actions-validate.c:171 tools/ascli-actions-validate.c:349 -#, c-format -msgid "File '%s' does not exist." -msgstr "Plik „%s” nie istnieje." +#: src/as-category.c:285 +msgctxt "Category of Utility" +msgid "Terminal Emulators" +msgstr "Emulatory terminala" -#: src/as-category.c:287 +#: src/as-category.c:288 msgctxt "Category of Utility" msgid "File System" msgstr "Systemy plików" -#: src/as-category.c:198 -msgctxt "Category of Office" -msgid "Finance" -msgstr "Finanse" - -#: src/as-provided.c:164 -msgid "Flashed Firmware" -msgstr "Wgrane oprogramowanie sprzętowe" +#: src/as-category.c:291 +msgctxt "Category of Utility" +msgid "System Monitoring" +msgstr "Monitorowanie komputera" -#: src/as-provided.c:150 -msgid "Fonts" -msgstr "Czcionki" +#: src/as-category.c:294 +msgctxt "Category of Utility" +msgid "Security" +msgstr "Bezpieczeństwo" -#: src/as-category.c:211 -msgctxt "Category of Addons" -msgid "Fonts" -msgstr "Czcionki" +#. TRANSLATORS: this is the menu spec main category for Audio & Video +#: src/as-category.c:303 +msgid "Audio & Video" +msgstr "Dźwięk i obraz" -#: src/as-validator-issue-tag.h:237 -msgid "" -"For videos, only the WebM and Matroska (.mkv) container formats are " -"currently supported. The file extension of the referenced video does not " -"belong to either of these formats." -msgstr "" -"W przypadku filmów obecnie obsługiwane są tylko formaty kontenerów WebM " -"i Matroska (.mkv). Rozszerzenie pliku wskazanego filmu nie należy do żadnego " -"z tych formatów." +#. TRANSLATORS: this is the menu spec main category for Development +#: src/as-category.c:306 +msgid "Developer Tools" +msgstr "Narzędzia programistyczne" -#. TRANSLATORS: ascli flag description for: --format when validating XML files -#: tools/appstream-cli.c:131 -msgid "Format of the generated report (valid values are 'text' and 'yaml')." -msgstr "Format tworzonego raportu (prawidłowe wartości to „text” i „yaml”)." +#. TRANSLATORS: this is the menu spec main category for Education +#: src/as-category.c:309 +msgid "Education" +msgstr "Edukacja" -#. TRANSLATORS: Found metainfo files in legacy directories -#: tools/ascli-actions-misc.c:138 +#. TRANSLATORS: this is the menu spec main category for Game +#: src/as-category.c:312 +msgid "Games" +msgstr "Gry" + +#. TRANSLATORS: this is the menu spec main category for Graphics +#: src/as-category.c:315 +msgid "Graphics & Photography" +msgstr "Grafika i fotografia" + +#. TRANSLATORS: this is the menu spec main category for Office +#: src/as-category.c:318 +msgid "Office" +msgstr "Biuro" + +#. TRANSLATORS: this is the main category for Add-ons +#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor +#: src/as-category.c:321 tools/ascli-utils.c:371 +msgid "Add-ons" +msgstr "Dodatki" + +#. TRANSLATORS: this is the menu spec main category for Science +#: src/as-category.c:324 +msgid "Science" +msgstr "Nauka" + +#. TRANSLATORS: this is the menu spec main category for Communication +#: src/as-category.c:327 +msgid "Communication & News" +msgstr "Komunikacja i aktualności" + +#. TRANSLATORS: this is the menu spec main category for Utilities +#: src/as-category.c:330 +msgid "Utilities" +msgstr "Narzędzia" + +#. TRANSLATORS: This is the formatting of English and localized name +#. * of the rating e.g. "Adults Only (solo adultos)" +#: src/as-content-rating.c:298 +#, c-format +msgid "%s (%s)" +msgstr "%s (%s)" + +#: src/as-content-rating.c:444 +msgid "General" +msgstr "Dla wszystkich" + +#: src/as-content-rating.c:453 +msgid "ALL" +msgstr "Dla wszystkich" + +#: src/as-content-rating.c:457 src/as-content-rating.c:560 +msgid "Adults Only" +msgstr "Tylko dla dorosłych" + +#: src/as-content-rating.c:459 src/as-content-rating.c:559 +msgid "Mature" +msgstr "Dla dorosłych" + +#: src/as-content-rating.c:461 src/as-content-rating.c:558 +msgid "Teen" +msgstr "Dla nastolatków" + +#: src/as-content-rating.c:463 src/as-content-rating.c:557 +msgid "Everyone 10+" +msgstr "Dla wszystkich 10+" + +#: src/as-content-rating.c:465 src/as-content-rating.c:556 +msgid "Everyone" +msgstr "Dla wszystkich" + +#: src/as-content-rating.c:467 src/as-content-rating.c:555 +msgid "Early Childhood" +msgstr "Dla małych dzieci" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:839 +msgid "No cartoon violence" +msgstr "Brak rysunkowej przemocy" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:841 +msgid "Cartoon characters in unsafe situations" +msgstr "Rysunkowe postacie w niebezpiecznych sytuacjach" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:843 +msgid "Cartoon characters in aggressive conflict" +msgstr "Rysunkowe postacie w agresywnym konflikcie" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:845 +msgid "Graphic violence involving cartoon characters" +msgstr "Obrazowa przemoc dotycząca rysunkowych postaci" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:850 +msgid "No fantasy violence" +msgstr "Brak nierzeczywistej przemocy" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:852 +msgid "Characters in unsafe situations easily distinguishable from reality" +msgstr "" +"Postacie w niebezpiecznych sytuacjach, łatwo odróżnialnych od rzeczywistości" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:854 +msgid "Characters in aggressive conflict easily distinguishable from reality" +msgstr "Postacie w agresywnym konflikcie, łatwo odróżnialnym od rzeczywistości" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:856 +msgid "Graphic violence easily distinguishable from reality" +msgstr "Obrazowa przemoc, łatwo odróżnialna od rzeczywistości" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:861 +msgid "No realistic violence" +msgstr "Brak realistycznej przemocy" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:863 +msgid "Mildly realistic characters in unsafe situations" +msgstr "Średnio realistyczne postacie w niebezpiecznych sytuacjach" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:865 +msgid "Depictions of realistic characters in aggressive conflict" +msgstr "Przedstawienia realistycznych postaci w agresywnym konflikcie" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:867 +msgid "Graphic violence involving realistic characters" +msgstr "Obrazowa przemoc dotycząca realistycznych postaci" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:872 +msgid "No bloodshed" +msgstr "Brak rozlewu krwi" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:874 +msgid "Unrealistic bloodshed" +msgstr "Nierealistyczny rozlew krwi" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:876 +msgid "Realistic bloodshed" +msgstr "Realistyczny rozlew krwi" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:878 +msgid "Depictions of bloodshed and the mutilation of body parts" +msgstr "Przedstawienia rozlewu krwi i okaleczeń części ciała" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:883 +msgid "No sexual violence" +msgstr "Brak przemocy seksualnej" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:885 +msgid "Rape or other violent sexual behavior" +msgstr "Gwałt lub inne brutalne zachowanie seksualne" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:892 +msgid "No references to alcohol" +msgstr "Brak odniesień do alkoholu" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:894 +msgid "References to alcoholic beverages" +msgstr "Odniesienia do napojów alkoholowych" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:896 +msgid "Use of alcoholic beverages" +msgstr "Spożycie napojów alkoholowych" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:902 +msgid "No references to illicit drugs" +msgstr "Brak odniesień do narkotyków" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:904 +msgid "References to illicit drugs" +msgstr "Odniesienia do narkotyków" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:906 +msgid "Use of illicit drugs" +msgstr "Spożycie narkotyków" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:912 +msgid "No references to tobacco products" +msgstr "Brak odniesień do wyrobów tytoniowych" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:914 +msgid "References to tobacco products" +msgstr "Odniesienia do wyrobów tytoniowych" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:916 +msgid "Use of tobacco products" +msgstr "Spożycie wyrobów tytoniowych" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:922 +msgid "No nudity of any sort" +msgstr "Brak wszelkiego rodzaju nagości" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:924 +msgid "Brief artistic nudity" +msgstr "Krótkotrwała nagość artystyczna" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:926 +msgid "Prolonged nudity" +msgstr "Długotrwała nagość" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:932 +msgid "No references to or depictions of sexual nature" +msgstr "Brak odniesień lub przedstawień o naturze seksualnej" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:934 +msgid "Provocative references or depictions" +msgstr "Wyzywające odniesienia lub przedstawienia" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:936 +msgid "Sexual references or depictions" +msgstr "Seksualne odniesienia lub przedstawienia" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:938 +msgid "Graphic sexual behavior" +msgstr "Obrazowe zachowania seksualne" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:943 +msgid "No profanity of any kind" +msgstr "Brak wszelkiego rodzaju przekleństw" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:945 +msgid "Mild or infrequent use of profanity" +msgstr "Lekkie lub nieczęste użycie przekleństw" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:947 +msgid "Moderate use of profanity" +msgstr "Umiarkowane użycie przekleństw" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:949 +msgid "Strong or frequent use of profanity" +msgstr "Silne lub częste użycie przekleństw" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:954 +msgid "No inappropriate humor" +msgstr "Brak nieodpowiedniego humoru" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:956 +msgid "Slapstick humor" +msgstr "Komedia slapstikowa" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:958 +msgid "Vulgar or bathroom humor" +msgstr "Komedia wulgarna lub toaletowa" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:960 +msgid "Mature or sexual humor" +msgstr "Komedia dla dorosłych lub seksualna" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:965 +msgid "No discriminatory language of any kind" +msgstr "Brak wszelkiego rodzaju języka dyskryminacyjnego" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:967 +msgid "Negativity towards a specific group of people" +msgstr "Niechęć wobec konkretnej grupy ludzi" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:969 +msgid "Discrimination designed to cause emotional harm" +msgstr "Dyskryminacja mająca na celu krzywdę emocjonalną" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:971 +msgid "Explicit discrimination based on gender, sexuality, race or religion" +msgstr "" +"Jawna dyskryminacja ze względu na płeć, orientację seksualną, rasę lub " +"religię" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:976 +msgid "No advertising of any kind" +msgstr "Brak wszelkiego rodzaju reklam" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:978 +msgid "Product placement" +msgstr "Lokowanie produktu" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:980 +msgid "Explicit references to specific brands or trademarked products" +msgstr "Jawne odniesienia do konkretnych marek lub zastrzeżonych produktów" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:982 +msgid "Users are encouraged to purchase specific real-world items" +msgstr "Użytkownicy są zachęcani do zakupu fizycznych przedmiotów" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:987 +msgid "No gambling of any kind" +msgstr "Brak wszelkiego rodzaju hazardu" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:989 +msgid "Gambling on random events using tokens or credits" +msgstr "Zakłady o losowe wydarzenia używające żetonów lub punktów" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:991 +msgid "Gambling using “play” money" +msgstr "Zakłady używające zabawkowych pieniędzy" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:993 +msgid "Gambling using real money" +msgstr "Zakłady używające prawdziwych pieniędzy" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:998 +msgid "No ability to spend money" +msgstr "Brak możliwości wydawania pieniędzy" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1000 +msgid "Users are encouraged to donate real money" +msgstr "Użytkownicy są zachęcani do przekazywania datków pieniężnych" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1003 +msgid "Ability to spend real money in-app" +msgstr "Możliwość wydawania prawdziwych pieniędzy w programie" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1008 +msgid "No way to chat with other users" +msgstr "Brak możliwości rozmów tekstowych z innymi użytkownikami" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1010 +msgid "User-to-user interactions without chat functionality" +msgstr "Interakcje między użytkownikami bez funkcji rozmów tekstowych" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1012 +msgid "Moderated chat functionality between users" +msgstr "Moderowana funkcja rozmów tekstowych między użytkownikami" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1014 +msgid "Uncontrolled chat functionality between users" +msgstr "Niekontrolowana funkcja rozmów tekstowych między użytkownikami" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1019 +msgid "No way to talk with other users" +msgstr "Brak możliwości rozmów głosowych z innymi użytkownikami" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1021 +msgid "Uncontrolled audio or video chat functionality between users" +msgstr "" +"Niekontrolowana funkcja rozmów głosowych lub wideo między użytkownikami" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1028 +msgid "No sharing of social network usernames or email addresses" +msgstr "" +"Brak udostępniania nazw użytkowników serwisów społecznościowych lub adresów " +"e-mail" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1030 +msgid "Sharing social network usernames or email addresses" +msgstr "" +"Udostępnianie nazw użytkowników serwisów społecznościowych lub adresów e-mail" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1037 +msgid "No sharing of user information with third parties" +msgstr "Brak udostępniania informacji o użytkownikach stronom trzecim" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1039 +msgid "Checking for the latest application version" +msgstr "Wyszukiwanie najnowszej wersji programu" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1041 +msgid "Sharing diagnostic data that does not let others identify the user" +msgstr "" +"Udostępnianie danych diagnostycznych nieumożliwiających identyfikację " +"użytkownika" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1043 +msgid "Sharing information that lets others identify the user" +msgstr "Udostępnianie informacji umożliwiających identyfikację użytkownika" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1048 +msgid "No sharing of physical location with other users" +msgstr "Brak udostępniania rzeczywistego adresu innym użytkownikom" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1050 +msgid "Sharing physical location with other users" +msgstr "Udostępnianie rzeczywistego adresu innym użytkownikom" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1073 +msgid "No references to homosexuality" +msgstr "Brak odniesień do homoseksualizmu" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1075 +msgid "Indirect references to homosexuality" +msgstr "Niebezpośrednie odniesienia do homoseksualizmu" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1077 +msgid "Kissing between people of the same gender" +msgstr "Całowanie między osobami tej samej płci" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1079 +msgid "Graphic sexual behavior between people of the same gender" +msgstr "Obrazowe zachowania seksualne między osobami tej samej płci" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1084 +msgid "No references to prostitution" +msgstr "Brak odniesień do prostytucji" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1086 +msgid "Indirect references to prostitution" +msgstr "Niebezpośrednie odniesienia do prostytucji" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1088 +msgid "Direct references to prostitution" +msgstr "Bezpośrednie odniesienia do prostytucji" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1090 +msgid "Graphic depictions of the act of prostitution" +msgstr "Obrazowe przedstawienia czynności związanych z prostytucją" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1095 +msgid "No references to adultery" +msgstr "Brak odniesień do cudzołóstwa" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1097 +msgid "Indirect references to adultery" +msgstr "Niebezpośrednie odniesienia do cudzołóstwa" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1099 +msgid "Direct references to adultery" +msgstr "Bezpośrednie odniesienia do cudzołóstwa" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1101 +msgid "Graphic depictions of the act of adultery" +msgstr "Obrazowe przedstawienia czynności związanych z cudzołóstwem" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1106 +msgid "No sexualized characters" +msgstr "Brak seksualizowanych postaci" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1109 +msgid "Scantily clad human characters" +msgstr "Skąpo odziane postacie ludzkie" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1111 +msgid "Overtly sexualized human characters" +msgstr "Jawnie seksualizowane postacie ludzkie" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1116 +msgid "No references to desecration" +msgstr "Brak odniesień do profanacji" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1118 +msgid "Depictions of or references to historical desecration" +msgstr "Przedstawienia lub odniesienia do historycznej profanacji" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1120 +msgid "Depictions of modern-day human desecration" +msgstr "Przedstawienia współczesnej profanacji ludzi" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1122 +msgid "Graphic depictions of modern-day desecration" +msgstr "Obrazowe przedstawienia współczesnej profanacji" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1127 +msgid "No visible dead human remains" +msgstr "Brak widocznych zwłok ludzkich" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1129 +msgid "Visible dead human remains" +msgstr "Widoczne zwłoki ludzkie" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1131 +msgid "Dead human remains that are exposed to the elements" +msgstr "Zwłoki ludzkie wystawione na działanie warunków atmosferycznych" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1133 +msgid "Graphic depictions of desecration of human bodies" +msgstr "Obrazowe przedstawienia profanacji ludzkich ciał" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1138 +msgid "No references to slavery" +msgstr "Brak odniesień do niewolnictwa" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1140 +msgid "Depictions of or references to historical slavery" +msgstr "Przedstawienia lub odniesienia do historycznego niewolnictwa" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1142 +msgid "Depictions of modern-day slavery" +msgstr "Przedstawienia współczesnego niewolnictwa" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1144 +msgid "Graphic depictions of modern-day slavery" +msgstr "Obrazowe przedstawienia współczesnego niewolnictwa" + +#. TRANSLATORS: We got a 429 error while trying to download data +#: src/as-curl.c:134 +#, c-format +msgid "Failed to download due to server limit" +msgstr "Pobranie się nie powiodło z powodu ograniczenia serwera" + +#: src/as-curl.c:141 src/as-curl.c:148 +#, c-format +msgid "Failed to download file: %s" +msgstr "Pobranie pliku się nie powiodło: %s" + +#. TRANSLATORS: We tried to download an URL, but received a 404 error code +#: src/as-curl.c:157 #, c-format -msgid "Found %i components in legacy paths." -msgstr "Odnaleziono składniki w przestarzałych ścieżkach: %i." +msgid "URL was not found on the server." +msgstr "Na serwerze nie odnaleziono adresu URL." -#: tools/ascli-actions-misc.c:123 +#. TRANSLATORS: We received an uexpected HTTP status code while talking to a server, likely an error +#: src/as-curl.c:164 #, c-format -msgid "Found %i components." -msgstr "Odnaleziono składniki: %i." +msgid "Unexpected status code: %ld" +msgstr "Nieoczekiwany kod stanu: %ld" + +#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty +#: src/as-curl.c:247 +#, c-format +msgid "Retrieved file size was zero." +msgstr "Rozmiar odebranego pliku wynosi zero." -#. TRANSLATORS: 'version' is an AppStream XML property. Please do not translate it. -#: src/as-validator-issue-tag.h:260 +#. TRANSLATORS: List of "grey-listed" words sperated with ";" +#. * Do not translate this list directly. Instead, +#. * provide a list of words in your language that people are likely +#. * to include in a search but that should normally be ignored in +#. * the search. +#. +#: src/as-pool.c:111 +msgid "app;application;package;program;programme;suite;tool" +msgstr "" +"aplikacja;apka;app;application;pakiet;paczka;package;program;programme;" +"zestaw;suite;narzędzie;tool" + +#: src/as-pool.c:620 +msgid "Unable to remove old cache." +msgstr "Nie można usunąć starej pamięci podręcznej." + +#: src/as-pool.c:963 +msgid "Metadata files have errors:" +msgstr "Pliki metadanych mają błędy:" + +#: src/as-pool.c:1370 msgid "" -"Found 'version' property on required/recommended item of a type that should " -"not have or require a version." +"Many components have been recognized as invalid. See debug output for " +"details." msgstr "" -"Odnaleziono właściwość „version” w wymaganym/zalecanym elemencie typu, który " -"nie może mieć ani wymagać wersji." +"Wiele składników zostało rozpoznanych jako nieprawidłowe. Wyjście " +"debugowania zawiera więcej informacji." + +#: src/as-pool.c:1996 +#, c-format +msgid "Cache location '%s' is not writable." +msgstr "Położenie pamięci podręcznej „%s” nie jest zapisywalne." -#. TRANSLATORS: 'version' and 'compare' are AppStream XML properties. Please do not translate them. -#: src/as-validator-issue-tag.h:266 +#: src/as-pool.c:2109 msgid "" -"Found 'version' property on this required/recommended item, but not " -"'compare' property. It is recommended to explicitly define a comparison " -"operation." +"The AppStream system cache was updated, but some components were ignored. " +"Refer to the verbose log for more information." msgstr "" -"Odnaleziono właściwość „version” w tym wymaganym/zalecanym elemencie, ale " -"nie odnaleziono właściwości „compare”. Zalecane jest określenie działania " -"porównania." +"Zaktualizowano systemową pamięć podręczną AppStream, ale niektóre składniki " +"zostały zignorowane. Można zobaczyć dodatkowe informacje dziennika." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:277 +#: src/as-pool.c:2111 +#, c-format msgid "" -"Found a memory size dependency in a 'requires' tag. This means users will " -"not be able to even install the component without having enough RAM. This is " -"usually not intended and you want to use 'memory' in the 'recommends' tag " -"instead." +"The AppStream system cache was updated, but problems were found which " +"resulted in metadata being ignored: %s" msgstr "" -"Odnaleziono zależność rozmiaru pamięci w znaczniku „requires”. Oznacza to, " -"że użytkownicy nie będą mogli nawet zainstalować składnika bez " -"wystarczającej pamięci RAM. Zwykle nie jest to zamierzone i zamiast tego " -"powinno się użyć „memory” w znaczniku „recommends”." +"Zaktualizowano systemową pamięć podręczną AppStream, ale odnaleziono " +"problemy powodujące ignorowanie metadanych: %s" -#: src/as-validator-issue-tag.h:248 +#: src/as-pool.c:2125 +#, c-format msgid "" -"Found an unknown tag in a requires/recommends group. This is likely an " -"error, because a component relation of this type is unknown." +"AppStream system cache refresh failed. Turn on verbose mode to get detailed " +"issue information." msgstr "" -"Odnaleziono nieznany znacznik w grupie wymagań/zaleceń. To prawdopodobnie " -"błąd, ponieważ związek składników tego typu jest nieznany." +"Odświeżenie systemowej pamięci podręcznej AppStream się nie powiodło. Można " +"włączyć tryb wyświetlania dodatkowych informacji." + +#: src/as-provided.c:144 +msgid "Libraries" +msgstr "Biblioteki" + +#: src/as-provided.c:146 +msgid "Binaries" +msgstr "Pliki binarne" + +#: src/as-provided.c:148 +msgid "Media types" +msgstr "Typy multimediów" + +#: src/as-provided.c:150 +msgid "Fonts" +msgstr "Czcionki" + +#: src/as-provided.c:152 +msgid "Modaliases" +msgstr "Pliki „modalias”" + +#: src/as-provided.c:154 +msgid "Python (Version 2)" +msgstr "Python (wersja 2)" + +#: src/as-provided.c:156 +msgid "Python 3" +msgstr "Python 3" + +#: src/as-provided.c:158 +msgid "D-Bus System Services" +msgstr "Usługi systemowe D-Bus" + +#: src/as-provided.c:160 +msgid "D-Bus Session Services" +msgstr "Usługi sesji D-Bus" + +#: src/as-provided.c:162 +msgid "Runtime Firmware" +msgstr "Oprogramowanie sprzętowe wgrywane podczas uruchamiania systemu" + +#: src/as-provided.c:164 +msgid "Flashed Firmware" +msgstr "Wgrane oprogramowanie sprzętowe" + +#: src/as-provided.c:166 +msgid "Component" +msgstr "Składnik" + +#: src/as-validator-issue-tag.h:41 +msgid "This tag requires a type property." +msgstr "Ten znacznik wymaga właściwości typu." + +#: src/as-validator-issue-tag.h:46 +msgid "Tags of this name are not permitted in this section." +msgstr "Znaczniki o tej nazwie nie są dozwolone w tej sekcji." -#: src/as-validator-issue-tag.h:427 +#: src/as-validator-issue-tag.h:51 msgid "" -"Found invalid tag. Non-standard tags should be prefixed with 'x-'. AppStream " -"also provides the tag to add arbitrary custom data to metainfo " -"files. This tag is read by AppStream libraries and may be useful instead of " -"defining new custom toplevel or 'x-'-prefixed tags if you just want to add " -"custom data to a metainfo file." +"A tag must not be localized in metainfo files (upstream " +"metadata). Localize the individual paragraphs instead." msgstr "" -"Odnaleziono nieprawidłowy znacznik. Niestandardowe znaczniki muszą mieć " -"przedrostek „x-”. AppStream zapewnia także znacznik do dodawania " -"dowolnych danych do plików Metainfo. Ten znacznik jest odczytywany przez " -"biblioteki AppStream i może być przydatny zamiast określania nowych " -"niestandardowych znaczników najwyższego poziomu czy z przedrostkiem „x-”, " -"jeśli tylko mają zostać dodane niestandardowe dane do pliku Metainfo." +"Znacznik nie może być tłumaczony w plikach Metainfo " +"(metadanych projektu). Zamiast tego należy tłumaczyć poszczególne akapity." -#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. -#: src/as-validator.c:526 src/as-validator.c:939 src/as-validator.c:1024 -#: src/as-validator.c:1237 -#, c-format -msgid "Found: %s - Allowed: %s" -msgstr "Odnaleziono: %s — dozwolone: %s" +#: src/as-validator-issue-tag.h:57 +msgid "" +"This element (paragraph, list, etc.) of a tag must not be " +"localized individually in collection metadata. Localize the whole " +" tag instead. The AppStream collection metadata generator (e." +"g. `appstream-generator`) will already do the right thing when compiling the " +"data." +msgstr "" +"Ten element (akapit, lista itp.) znacznika nie może być " +"tłumaczony oddzielnie w metadanych kolekcji. Zamiast tego należy tłumaczyć " +"cały znacznik . Generator metadanych kolekcji AppStream (tzn. " +"„appstream-generator”) prawidłowo przetworzy ten element podczas " +"kompilowania danych." -#. TRANSLATORS: this is the menu spec main category for Game -#: src/as-category.c:311 -msgid "Games" -msgstr "Gry" +#: src/as-validator-issue-tag.h:63 +msgid "" +"AppStream descriptions support only a limited set of tags to format text: " +"Paragraphs (

                                                                                                                                                                                                                                                                                ) and lists (

                                                                                                                                                                                                                                                                                  ,
                                                                                                                                                                                                                                                                                    ). This description markup contains " +"an invalid XML tag that would not be rendered correctly in applications " +"supporting the metainfo specification." +msgstr "" +"Opisy AppStream obsługują tylko ograniczony zestaw znaczników do " +"formatowania tekstu: akapity (

                                                                                                                                                                                                                                                                                    ) i listy (

                                                                                                                                                                                                                                                                                      ,
                                                                                                                                                                                                                                                                                        ). Ten opis zawiera " +"nieprawidłowy znacznik XML, który nie byłby poprawnie wyświetlany " +"w programach obsługujących specyfikację Metainfo." -#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command -#: tools/appstream-cli.c:814 -msgid "Generate the output in the selected format ('yaml' or 'text')." -msgstr "Tworzy wyjście w wybranym formacie („yaml” lub „text”)." +#: src/as-validator-issue-tag.h:69 +msgid "" +"This description paragraph contains invalid markup. Currently, only " +"and are permitted." +msgstr "" +"Ten akapit opisu zawiera nieprawidłowe znaczniki. Obecnie dozwolone są tylko " +"znaczniki ." -#: tools/appstream-cli.c:849 -msgid "Get components which provide the given item." -msgstr "Pobiera składniki dostarczające podany element." +#: src/as-validator-issue-tag.h:74 +msgid "Enumerations must only have list items (
                                                                                                                                                                                                                                                                                      1. ) as children." +msgstr "" +"Wyliczenia mogą mieć tylko elementy listy (
                                                                                                                                                                                                                                                                                      2. ) jako elementy potomne." -#: tools/appstream-cli.c:848 -msgid "Get information about a component by its ID." -msgstr "Pobiera informacje o składniku według jego identyfikatora." +#: src/as-validator-issue-tag.h:79 +msgid "" +"The first `description/p` paragraph of this component might be too short (< " +"80 characters). Please consider starting with a longer paragraph to improve " +"how the description looks like in software centers and to provide more " +"detailed information on this component immediately in the first paragraph." +msgstr "" +"Pierwszy akapit „description/p” tego składnika może być za krótki (poniżej " +"80 znaków). Proszę rozważyć rozpoczęcie dłuższym akapitem, aby polepszyć " +"wygląd opisu w centrach oprogramowania i dostarczyć bardziej szczegółowe " +"informacje o tym składniku od razu w pierwszym akapicie." -#. TRANSLATORS: this is the menu spec main category for Graphics -#: src/as-category.c:314 -msgid "Graphics & Photography" -msgstr "Grafika i fotografia" +#: src/as-validator-issue-tag.h:86 +msgid "" +"The description contains a web URL in plain text. This is not allowed, " +"please use the tag instead to share links." +msgstr "" +"Opis zawiera adres URL do strony internetowej w zwykłym tekście. Nie jest to " +"dozwolone, proszę zamiast tego użyć znacznika do wstawiania " +"odnośników." -#: tools/ascli-utils.c:300 -msgid "Homepage" -msgstr "Strona domowa" +#: src/as-validator-issue-tag.h:91 +msgid "" +"As per AppStream specification, the mentioned tag must only appear once in " +"this context. Having multiple tags of this kind is not valid." +msgstr "" +"Według specyfikacji AppStream wymieniony znacznik musi występować tylko raz " +"w tym kontekście. Użycie wielu znaczników tego rodzaju jest nieprawidłowe." -#: src/as-category.c:89 -msgctxt "Category of Development" -msgid "IDEs" -msgstr "Środowiska programistyczne" +#: src/as-validator-issue-tag.h:96 +msgid "" +"The mentioned tag is empty, which is highly likely not intended as it should " +"have content." +msgstr "" +"Wymieniony znacznik jest pusty, co najprawdopodobniej nie jest zamierzone, " +"jako że musi mieć treść." -#: tools/ascli-utils.c:301 -msgid "Icon" -msgstr "Ikona" +#: src/as-validator-issue-tag.h:101 +msgid "" +"The component ID is required to follow a reverse domain-name scheme for its " +"name. See the AppStream specification for details." +msgstr "" +"Identyfikator składnika musi używać schematu odwrotnej nazwy domeny jako " +"nazwy. Specyfikacja AppStream zawiera więcej informacji." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:351 -msgid "Icons of type 'remote' must contain an URL to the referenced icon." -msgstr "Ikony typu „remote” muszą zawierać adres URL do wskazywanej ikony." +#: src/as-validator-issue-tag.h:106 +msgid "" +"The component ID is not a reverse domain-name. Please update the ID to avoid " +"future issues and be compatible with all AppStream implementations.\n" +"You may also consider to update the name of the accompanying .desktop file " +"to follow the latest version of the Desktop-Entry specification and use a " +"rDNS name for it as well. In any case, do not forget to mention the new " +"desktop-entry in a tag for this component to keep the " +"application launchable from software centers and the .desktop file data " +"associated with the metainfo data." +msgstr "" +"Identyfikator składnika nie jest odwrotną nazwą domeny. Proszę zaktualizować " +"identyfikator, aby uniknąć przyszłych problemów i zachować zgodność ze " +"wszystkimi implementacjami AppStream.\n" +"Można także rozważyć zaktualizowanie nazwy towarzyszącego pliku .desktop, " +"aby używał najnowszej wersji specyfikacji Desktop-Entry i nazwy rDNS. " +"W każdym razie nie należy zapomnieć wymienić nowego Desktop-Entry " +"w znaczniku dla tego składnika, aby program mógł nadal być " +"uruchamiany w centrach oprogramowania i z danych pliku .desktop powiązanego " +"z danymi Metainfo." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:344 +#: src/as-validator-issue-tag.h:114 msgid "" -"Icons of type 'stock' or 'cached' must not contain an URL, a full or an " -"relative path to the icon. Only file basenames or stock names are allowed." +"The component ID might not follow the reverse domain-name schema (the TLD " +"used by it is not known to the validator)." msgstr "" -"Ikony typu „stock” lub „cached” nie mogą zawierać adresu URL, pełnej ani " -"względnej ścieżki do ikony. Dozwolone są tylko podstawowe nazwy plików lub " -"standardowe nazwy." +"Identyfikator składnika może nie używać schematu odwrotnej nazwy domeny " +"(używane TLD nie jest znane programu sprawdzającemu)." -#: tools/ascli-actions-misc.c:94 -msgid "Iconsets" -msgstr "Zestawy ikon" +#: src/as-validator-issue-tag.h:119 +msgid "" +"The component ID contains an invalid character. Only ASCII characters, dots " +"and numbers are permitted." +msgstr "" +"Identyfikator składnika zawiera nieprawidłowy znak. Tylko znaki ASCII, " +"kropki i cyfry są dozwolone." -#: tools/ascli-utils.c:295 -msgid "Identifier" -msgstr "Identyfikator" +#: src/as-validator-issue-tag.h:124 +msgid "" +"The component ID contains a hyphen/minus. Using a hyphen is strongly " +"discouraged, to improve interoperability with other tools such as D-Bus. A " +"good option is to replace any hyphens with underscores (`_`)." +msgstr "" +"Identyfikator składnika zawiera myślnik/minus. Używanie myślnika jest mocno " +"niezalecane, aby zwiększyć zgodność z innymi narzędziami, takimi jak D-Bus. " +"Dobrym rozwiązaniem jest zastąpienie myślników podkreśleniami („_”)." -#: src/as-category.c:217 -msgctxt "Category of Addons" -msgid "Input Sources" -msgstr "Źródła wprowadzania" +#: src/as-validator-issue-tag.h:130 +msgid "" +"The component ID contains a segment starting with a number. Starting a " +"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " +"interoperability with other tools such as D-Bus. Ideally, prefix these " +"segments with an underscore." +msgstr "" +"Identyfikator składnika zawiera część zaczynającą się od cyfry. " +"Rozpoczynanie części identyfikatora odwrotnej notacji DNS cyfrą jest mocno " +"niezalecane, aby zachować zgodność z innymi narzędziami, takimi jak D-Bus. " +"Najlepiej dodać podkreślenie jako przedrostek tych części." -#: tools/appstream-cli.c:863 -msgid "Install a metadata file into the right location." -msgstr "Instaluje plik metadanych we właściwym położeniu." +#: src/as-validator-issue-tag.h:136 +msgid "The component ID should only contain lowercase letters." +msgstr "Identyfikator składnika może zawierać tylko małe litery." -#: tools/appstream-cli.c:859 -msgid "Install software matching the component-ID." -msgstr "Instaluje oprogramowanie pasujące do identyfikatora składnika." +#: src/as-validator-issue-tag.h:141 +msgid "" +"The component is part of the Freedesktop project, but its ID does not start " +"with fd.o's reverse-DNS name (\"org.freedesktop\")." +msgstr "" +"Składnik jest częścią projektu FreeDesktop, ale jego identyfikator nie " +"zaczyna się od nazwy projektu w odwrotnej notacji DNS („org.freedesktop”)." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:373 +#: src/as-validator-issue-tag.h:146 msgid "" -"Invalid 'type' property for this 'url' tag. URLs of this type are not known " -"in the AppStream specification." +"The component is part of the KDE project, but its ID does not start with " +"KDEs reverse-DNS name (\"org.kde\")." msgstr "" -"Nieprawidłowa właściwość „type” dla tego znacznika „url”. Adresy URL tego " -"typu nie są znane w specyfikacji AppStream." +"Składnik jest częścią projektu KDE, ale jego identyfikator nie zaczyna się " +"od nazwy projektu w odwrotnej notacji DNS („org.kde”)." + +#: src/as-validator-issue-tag.h:151 +msgid "" +"The component is part of the GNOME project, but its ID does not start with " +"GNOMEs reverse-DNS name (\"org.gnome\")." +msgstr "" +"Składnik jest częścią projektu GNOME, ale jego identyfikator nie zaczyna się " +"od nazwy projektu w odwrotnej notacji DNS („org.gnome”)." + +#: src/as-validator-issue-tag.h:156 +msgid "The SPDX license expression is invalid and could not be parsed." +msgstr "" +"Wyrażenie licencji SPDX jest nieprawidłowe i nie może zostać przetworzone." + +#: src/as-validator-issue-tag.h:161 +msgid "" +"The license ID was not found in the SPDX database. Please check that the " +"license ID is written in an SPDX-conformant way and is a valid free software " +"license." +msgstr "" +"Nie odnaleziono tego identyfikatora licencji w bazie danych SPDX. Proszę " +"sprawdzić, czy identyfikator licencji jest zapisany w sposób zgodny ze SPDX " +"i jest prawidłową licencją wolnego oprogramowania." + +#: src/as-validator-issue-tag.h:167 +msgid "" +"The metadata itself seems to be licensed under a complex collection of " +"licenses. Please license the data under a simple permissive license, like " +"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " +"collections without the risk of license violations due to mutually " +"incompatible licenses." +msgstr "" +"Metadane są na złożonej kombinacji licencji. Proszę objąć dane prostą " +"liberalną licencją, taką jak FSFAP, MIT lub CC0-1.0, aby zezwolić " +"dystrybucjom na dołączenie ich w zbiorach mieszanych danych bez ryzyka " +"naruszenia licencji z powodu wzajemnie niezgodnych licencji." + +#: src/as-validator-issue-tag.h:173 +msgid "" +"The metadata itself does not seem to be licensed under a permissive license. " +"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " +"0BSD to allow distributors to include it in mixed data collections without " +"the risk of license violations due to mutually incompatible licenses." +msgstr "" +"Metadane nie są na liberalnej licencji. Proszę objąć dane liberalną " +"licencją, taką jak FSFAP, CC0-1.0 lub 0BSD, aby zezwolić dystrybucjom na " +"dołączenie ich w zbiorach mieszanych danych bez ryzyka naruszenia licencji " +"z powodu wzajemnie niezgodnych licencji." + +#: src/as-validator-issue-tag.h:179 +msgid "" +"The update-contact does not appear to be a valid email address (escaping of " +"`@` is only allowed as `_at_` or `_AT_`)." +msgstr "" +"„update-contact” nie jest prawidłowym adresem e-mail (znak „@” można " +"zastępować tylko za pomocą „_at_” lub „_AT_”)." + +#: src/as-validator-issue-tag.h:184 +msgid "" +"Unable to reach the screenshot image on its remote location - does the image " +"exist?" +msgstr "" +"Nie można połączyć się z obrazem zrzutu ekranu w jego zdalnym położeniu — " +"czy na pewno istnieje?" + +#: src/as-validator-issue-tag.h:189 +msgid "" +"Unable to reach the screenshot video on its remote location - does the video " +"file exist?" +msgstr "" +"Nie można połączyć się z filmem zrzutu ekranu w jego zdalnym położeniu — czy " +"na pewno istnieje?" + +#: src/as-validator-issue-tag.h:194 +msgid "" +"Consider using a secure (HTTPS) URL to reference this screenshot image or " +"video." +msgstr "" +"Proszę rozważyć użycie zabezpieczonego adresu URL (HTTPS) do wskazania tego " +"obrazu lub filmu zrzutu ekranu." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:200 +msgid "" +"A screenshot must contain at least one image or video in order to be useful. " +"Please add an to it." +msgstr "" +"Zrzut ekranu musi zawierać co najmniej jeden obraz lub film, aby być " +"użyteczny. Proszę dodać do niego znacznik ." + +#: src/as-validator-issue-tag.h:205 +msgid "" +"A screenshot must contain either images or videos, but not both at the same " +"time. Please use this screenshot exclusively for either static images or for " +"videos." +msgstr "" +"Zrzut ekranu musi zawierać obrazy lub filmy, ale nie oba jednocześnie. " +"Proszę użyć tego zrzutu ekranu wyłącznie do statycznych obrazów lub do " +"filmów." + +#: src/as-validator-issue-tag.h:211 +msgid "The screenshot does not have a caption text. Consider adding one." +msgstr "Zrzut ekranu nie ma podpisu. Proszę rozważyć jego dodanie." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:217 +msgid "" +"The screenshot video does not specify which video codec was used in a " +"`codec` property." +msgstr "" +"Film zrzutu ekranu nie określa użytego kodeku wideo we właściwości „codec”." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:223 +msgid "" +"The screenshot video does not specify which container format was used in a " +"`container` property." +msgstr "" +"Film zrzutu ekranu nie określa użytego formatu kontenera we właściwości " +"„container”." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:229 +msgid "" +"The selected video codec is not supported by AppStream and software centers " +"may not be able to play the video. Only the AV1 and VP9 codecs are currently " +"supported, using `av1` and `vp9` as values for the `codec` property." +msgstr "" +"Wybrany kodek wideo nie jest obsługiwany przez AppStream i centra " +"oprogramowania mogą nie móc odtworzyć filmu. Obecnie obsługiwane są tylko " +"kodeki AV1 i VP9 za pomocą „av1” i „vp9” jako wartości właściwości „codec”." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:236 +msgid "" +"The selected video container format is not supported by AppStream and " +"software centers may not be able to play the video. Only the WebM and " +"Matroska video containers are currently supported, using `webm` and `mkv` as " +"values for the `container` property." +msgstr "" +"Wybrany kontener wideo nie jest obsługiwany przez AppStream i centra " +"oprogramowania mogą nie móc odtworzyć filmu. Obecnie obsługiwane są tylko " +"kontenery WebM i Matroska za pomocą „webm” i „mkv” jako wartości właściwości " +"„container”." + +#: src/as-validator-issue-tag.h:242 +msgid "" +"For videos, only the WebM and Matroska (.mkv) container formats are " +"currently supported. The file extension of the referenced video does not " +"belong to either of these formats." +msgstr "" +"W przypadku filmów obecnie obsługiwane są tylko formaty kontenerów WebM " +"i Matroska (.mkv). Rozszerzenie pliku wskazanego filmu nie należy do żadnego " +"z tych formatów." + +#: src/as-validator-issue-tag.h:248 +msgid "" +"The default screenshot of a software component must not be a video. Use a " +"static image as default screenshot and set the video as a secondary " +"screenshot." +msgstr "" +"Domyślny zrzut ekranu składnika oprogramowania nie może być filmem. Należy " +"użyć statycznego obrazu jako domyślnego zrzutu ekranu i ustawić film jako " +"drugorzędny zrzut." + +#: src/as-validator-issue-tag.h:253 +msgid "" +"Found an unknown tag in a requires/recommends group. This is likely an " +"error, because a component relation of this type is unknown." +msgstr "" +"Odnaleziono nieznany znacznik w grupie wymagań/zaleceń. To prawdopodobnie " +"błąd, ponieważ związek składników tego typu jest nieznany." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:259 +msgid "" +"A `requires` or `recommends` item requires a value to denote a valid " +"relation." +msgstr "" +"Element „requires” lub „recommends” wymaga wartości oznaczającej prawidłowy " +"związek." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:553 +#. TRANSLATORS: `version` is an AppStream XML property. Please do not translate it. +#: src/as-validator-issue-tag.h:265 msgid "" -"Invalid tag found in collection metadata. Only 'component' tags are " -"permitted." +"Found `version` property on required/recommended item of a type that should " +"not have or require a version." msgstr "" -"Odnaleziono nieprawidłowy znacznik w metadanych kolekcji. Dozwolone są tylko " -"znaczniki „component”." - -#: tools/ascli-actions-mdata.c:213 -msgid "Invalid type for provided item selected. Valid values are:" -msgstr "Wybrano nieprawidłowy typ dla podanego elementu. Prawidłowe wartości:" +"Odnaleziono właściwość „version” w wymaganym/zalecanym elemencie typu, który " +"nie może mieć ani wymagać wersji." +#. TRANSLATORS: `version` and `compare` are AppStream XML properties. Please do not translate them. #: src/as-validator-issue-tag.h:271 msgid "" -"Invalid version comparison operation on relation item. Only eq/ne/lt/gt/le/" -"ge are permitted." +"Found `version` property on this required/recommended item, but not " +"`compare` property. It is recommended to explicitly define a comparison " +"operation." msgstr "" -"Nieprawidłowe działanie porównania wersji w elemencie związku. Dozwolone są " -"tylko działania eq/ne/lt/gt/le/ge." +"Odnaleziono właściwość „version” w tym wymaganym/zalecanym elemencie, ale " +"nie odnaleziono właściwości „compare”. Zalecane jest określenie działania " +"porównania." -#: src/as-validator-issue-tag.h:450 +#: src/as-validator-issue-tag.h:276 msgid "" -"It is recommended to add a long description to this component to present it " -"better to users." +"Invalid comparison operation on relation item. Only eq/ne/lt/gt/le/ge are " +"permitted." msgstr "" -"Zalecane jest dodanie długiego opisu do tego składnika, aby lepiej " -"przedstawić go użytkownikom." +"Nieprawidłowe działanie porównania w elemencie związku. Dozwolone są tylko " +"działania eq/ne/lt/gt/le/ge." -#: src/as-validator-issue-tag.h:445 +#: src/as-validator-issue-tag.h:281 msgid "" -"It would be useful to add a long description to this font to present it " -"better to users." +"The relation item has a comparison operation set, but does not support any " +"comparisons." msgstr "" -"Dodanie długiego opisu do tej czcionki może być przydatne, aby lepiej " -"przedstawić ją użytkownikom." - -#: src/as-category.c:144 -msgctxt "Category of Games" -msgid "Kids" -msgstr "Gry dla dzieci" - -#: src/as-category.c:220 -msgctxt "Category of Addons" -msgid "Language Packs" -msgstr "Pakiety językowe" - -#: src/as-category.c:107 -msgctxt "Category of Education" -msgid "Languages" -msgstr "Języki" - -#: src/as-provided.c:144 -msgid "Libraries" -msgstr "Biblioteki" +"Element związku ma ustawione działanie porównania, ale nie obsługuje żadnych " +"porównań." -#. license -#: tools/ascli-utils.c:363 -msgid "License" -msgstr "Licencja" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:287 +msgid "" +"Found a memory size relation in a `requires` tag. This means users will not " +"be able to even install the component without having enough RAM. This is " +"usually not intended and you want to use `memory` in the `recommends` tag " +"instead." +msgstr "" +"Odnaleziono zależność rozmiaru pamięci w znaczniku „requires”. Oznacza to, " +"że użytkownicy nie będą mogli nawet zainstalować składnika bez " +"wystarczającej pamięci RAM. Zwykle nie jest to zamierzone i zamiast tego " +"powinno się użyć „memory” w znaczniku „recommends”." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:629 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:294 msgid "" -"Licenses for 'runtime' components are usually too complex to reflect them in " -"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " -"value for this component's 'project_license'. E.g. `LicenseRef-free=https://" -"example.com/licenses.html`" -msgstr "Licencje dla składników typu „runtime” (środowisko wykonawcze) zwykle są zbyt złożone, aby odzwierciedlić je w prostym wyrażeniu SPDX. Proszę rozważyć użycie „LicenseRef” i adresu URL do strony internetowej jako wartości dla znacznika „project_license” tego składnika, np. „LicenseRef-free=https://example.com/licenses.html”" +"Found a user input control relation in a `requires` tag. This means users " +"will not be able to even install the component without having the defined " +"input control available on the system. This is usually not intended and you " +"want to use `control` in the `recommends` tag instead." +msgstr "" +"Odnaleziono zależność kontroli wejścia użytkownika w znaczniku „requires”. " +"Oznacza to, że użytkownicy nie będą mogli nawet zainstalować składnika bez " +"określonej kontroli wejścia dostępnej w systemie. Zwykle nie jest to " +"zamierzone i zamiast tego powinno się użyć „control” w znaczniku " +"„recommends”." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:301 +msgid "" +"This `control` item defines an unknown input method and is invalid. Check " +"the specification for a list of permitted values." +msgstr "" +"Ten element „control” określa nieznaną metodę wprowadzania i jest " +"nieprawidłowy. Specyfikacja zawiera listę dozwolonych wartości." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:307 +msgid "" +"This `display_length` item contains an invalid display length. Its value " +"must either be a shorthand string, or positive integer value denoting " +"logical pixels. Please refer to the AppStream specification for more " +"information on this tag." +msgstr "" +"Ten element „display_length” zawiera nieprawidłową długość ekranu. Jego " +"wartość musi być ciągiem skrótu lub dodatnią wartością całkowitą określającą " +"logiczne piksele. Specyfikacja AppStream zawiera więcej informacji o tym " +"znaczniku." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:314 +msgid "" +"This `side` property of this `display_length` item contains an invalid " +"value. It must either be `shortest` or `longest`, or unset to imply " +"`shortest` to make the item value refer to either the shortest or longest " +"side of the display." +msgstr "" +"Ta właściwość „side” tego elementu „display_length” zawiera nieprawidłową " +"wartość. Musi wynosić „shortest” lub „longest”, albo nie być ustawiona, aby " +"znaczyć „shortest”, aby wartość elementu odnosiła się do najkrótszej lub " +"najdłuższej strony ekranu." -#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command -#: tools/appstream-cli.c:771 +#: src/as-validator-issue-tag.h:320 msgid "" -"Limit the number of release entries that end up in the metainfo file (0 for " -"unlimited)." +"The set component type is not a recognized, valid AppStream component type." msgstr "" -"Ogranicza liczbę wpisów wydań w pliku Metainfo (0 oznacza brak ograniczenia)." - -#: src/as-category.c:223 -msgctxt "Category of Addons" -msgid "Localization" -msgstr "Tłumaczenia" - -#: src/as-category.c:147 -msgctxt "Category of Games" -msgid "Logic" -msgstr "Gry logiczne" - -#. TRANSLATORS: ascli flag description for: --no-cache -#: tools/appstream-cli.c:67 -msgid "Make request without any caching." -msgstr "Tworzy żądanie bez pamięci podręcznej." - -#. TRANSLATORS: ascli flag description for: --cachepath -#: tools/appstream-cli.c:57 -msgid "Manually selected location of AppStream cache." -msgstr "Ręcznie wybrane położenie pamięci podręcznej AppStream." - -#. TRANSLATORS: ascli flag description for: --datapath -#: tools/appstream-cli.c:62 -msgid "Manually selected location of AppStream metadata to scan." -msgstr "Ręcznie wybrane położenie metadanych AppStream do skanowania." +"Ustawiony typ składnika nie jest znanym, prawidłowym typem składnika " +"AppStream." -#: src/as-pool.c:1280 +#: src/as-validator-issue-tag.h:325 msgid "" -"Many components have been recognized as invalid. See debug output for " -"details." +"The component has a priority value set. This is not allowed in metainfo " +"files." msgstr "" -"Wiele składników zostało rozpoznanych jako nieprawidłowe. Wyjście " -"debugowania zawiera więcej informacji." - -#: src/as-category.c:111 -msgctxt "Category of Education" -msgid "Math" -msgstr "Matematyka" - -#: src/as-category.c:243 -msgctxt "Category of Science" -msgid "Math" -msgstr "Matematyka" +"Składnik ma ustawioną wartość priorytetu. Nie jest to dozwolone w plikach " +"Metainfo." -#: src/as-provided.c:148 -msgid "Media types" -msgstr "Typy multimediów" +#: src/as-validator-issue-tag.h:330 +msgid "" +"The component has a `merge` method defined. This is not allowed in metainfo " +"files." +msgstr "" +"Składnik ma określoną metodę „merge”. Nie jest to dozwolone w plikach " +"Metainfo." -#: tools/ascli-actions-mdata.c:364 -#, c-format -msgid "Metadata file '%s' does not exist." -msgstr "Plik metadanych „%s” nie istnieje." +#: src/as-validator-issue-tag.h:335 +msgid "The component is missing an ID ( tag)." +msgstr "Składnik nie ma identyfikatora (znacznika )." -#: src/as-pool.c:881 -msgid "Metadata files have errors:" -msgstr "Pliki metadanych mają błędy:" +#: src/as-validator-issue-tag.h:340 +msgid "The component is missing a name ( tag)." +msgstr "Składnik nie ma nazwy (znacznika )." -#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 -#: tools/ascli-actions-misc.c:515 -#, c-format -msgid "Metainfo file '%s' does not exist." -msgstr "Plik Metainfo „%s” nie istnieje." +#: src/as-validator-issue-tag.h:345 +msgid "The component is missing a summary ( tag)." +msgstr "Składnik nie ma podsumowania (znacznika )." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:367 +#: src/as-validator-issue-tag.h:350 msgid "" -"Metainfo files may only contain icons of type 'stock' or 'remote', the set " -"type is not allowed." +"The tag still contains a `type` property, probably from an old " +"conversion to the recent metainfo format." msgstr "" -"Pliki Metainfo mogą zawierać tylko ikony typu „stock” lub „remote”, typ " -"zestawu nie jest dozwolony." - -#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report -#: tools/ascli-actions-misc.c:116 -msgid "Metainfo files:" -msgstr "Pliki Metainfo:" +"Znacznik nadal zawiera właściwość „type”, prawdopodobnie ze starej " +"konwersji do nowszego formatu Metainfo." -#: src/as-provided.c:152 -msgid "Modaliases" -msgstr "Pliki „modalias”" +#: src/as-validator-issue-tag.h:355 +msgid "" +"The `pkgname` tag appears multiple times. You should evaluate creating a " +"metapackage containing the metainfo and .desktop files in order to avoid " +"defining multiple package names per component." +msgstr "" +"Znacznik „pkgname” pojawia się wiele razy. Należy rozważyć utworzenie " +"metapakietu zawierającego pliki Metainfo i .desktop, aby uniknąć określenia " +"wielu nazw pakietów na składnik." -#: src/as-category.c:74 -msgctxt "Category of AudioVideo" -msgid "Music Players" -msgstr "Odtwarzacze muzyki" +#: src/as-validator-issue-tag.h:360 +msgid "The component name should (likely) not end with a dot (`.`)." +msgstr "Nazwa projektu nie może (prawdopodobnie) kończyć się kropką („.”)." -#: tools/ascli-utils.c:296 -msgid "Name" -msgstr "Nazwa" +#: src/as-validator-issue-tag.h:365 +msgid "The component summary should not end with a dot (`.`)." +msgstr "Podsumowanie składnika nie może kończyć się kropką („.”)." -#: src/as-category.c:266 -msgctxt "Category of Communication" -msgid "News" -msgstr "Aktualności" +#: src/as-validator-issue-tag.h:370 +msgid "The component summary must not contain tabs or linebreaks." +msgstr "Podsumowanie składnika nie może zawierać tabulacji ani nowych wierszy." -#: src/as-validator-issue-tag.h:589 -msgid "No AppStream metadata was found in this directory or directory tree." +#: src/as-validator-issue-tag.h:375 +msgid "The summary must not contain any URL. Use the tags for links." msgstr "" -"Nie odnaleziono żadnych metadanych AppStream w tym katalogu lub drzewie " -"katalogów." +"Podsumowanie nie może zawierać adresu URL. Należy użyć znaczników dla " +"odnośników." -#. pedantic because not everything which has metadata is an application -#: src/as-validator-issue-tag.h:594 -msgid "No XDG applications directory found." -msgstr "Nie odnaleziono katalogu programów XDG." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:381 +msgid "" +"Icons of type `stock` or `cached` must not contain an URL, a full or an " +"relative path to the icon. Only file basenames or stock names are allowed." +msgstr "" +"Ikony typu „stock” lub „cached” nie mogą zawierać adresu URL, pełnej ani " +"względnej ścieżki do ikony. Dozwolone są tylko podstawowe nazwy plików lub " +"standardowe nazwy." -#: tools/ascli-actions-mdata.c:182 -#, c-format -msgid "No component matching '%s' found." -msgstr "Nie odnaleziono składnika pasującego do „%s”." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:388 +msgid "Icons of type `remote` must contain an URL to the referenced icon." +msgstr "Ikony typu „remote” muszą zawierać adres URL do wskazywanej ikony." -#: tools/ascli-actions-misc.c:105 -msgid "No icons." -msgstr "Brak ikon." +#: src/as-validator-issue-tag.h:393 +msgid "Unable to reach remote icon at the given web location - does it exist?" +msgstr "" +"Nie można połączyć się ze zdalną ikoną w podanym położeniu internetowym — " +"czy na pewno istnieje?" -#: tools/ascli-actions-misc.c:402 -msgid "No output filename specified, modifying metainfo file directly." +#: src/as-validator-issue-tag.h:398 +msgid "Consider using a secure (HTTPS) URL for the remote icon link." msgstr "" -"Nie podano nazwy pliku wyjściowego, bezpośrednie modyfikowanie pliku " -"Metainfo." +"Proszę rozważyć użycie zabezpieczonego adresu URL (HTTPS) dla tego odnośnika " +"do zdalnej ikony." -#: tools/ascli-actions-misc.c:306 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:404 msgid "" -"No provided binary specified in metainfo file, and no exec command specified " -"via '--exec'. Can not create 'Exec=' key." +"Metainfo files may only contain icons of type `stock` or `remote`, the set " +"type is not allowed." msgstr "" -"Nie podano dostarczanego pliku binarnego w pliku Metainfo, ani polecenia " -"wykonywania przez „--exec”. Nie można utworzyć klucza „Exec=”." +"Pliki Metainfo mogą zawierać tylko ikony typu „stock” lub „remote”, typ " +"zestawu nie jest dozwolony." -#: tools/ascli-actions-misc.c:284 -msgid "No stock icon name was provided in the metainfo file. Can not continue." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:410 +msgid "" +"Invalid `type` property for this `url` tag. URLs of this type are not known " +"in the AppStream specification." msgstr "" -"Nie podano nazwy standardowej ikony w pliku Metainfo. Nie można kontynuować." +"Nieprawidłowa właściwość „type” dla tego znacznika „url”. Adresy URL tego " +"typu nie są znane w specyfikacji AppStream." -#: tools/ascli-actions-pkgmgr.c:53 +#: src/as-validator-issue-tag.h:415 msgid "" -"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" -"\" (part of PackageKit) is available." +"Unable to reach remote location that this URL references - does it exist?" msgstr "" -"Nie odnaleziono odpowiedniego interfejsu wiersza poleceń menedżera pakietów. " -"Proszę się upewnić, że dostępne jest np. polecenie „pkcon” (część pakietu " -"PackageKit)." - -#: tools/ascli-actions-mdata.c:206 -msgid "No value for the item to search for was defined." -msgstr "Nie określono wartości dla wyszukiwanego elementu." - -#. TRANSLATORS: this is the menu spec main category for Office -#: src/as-category.c:317 -msgid "Office" -msgstr "Biuro" - -#. TRANSLATORS: An unknown option was passed to appstreamcli. -#: tools/appstream-cli.c:192 -#, c-format -msgid "Option '%s' is unknown." -msgstr "Nieznana opcja „%s”." - -#: tools/ascli-utils.c:298 -msgid "Package" -msgstr "Pakiet" - -#: src/as-category.c:171 -msgctxt "Category of Graphics" -msgid "Photography" -msgstr "Fotografia" - -#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) -#: tools/appstream-cli.c:121 -msgid "Print detailed explanation for found issues." -msgstr "Wyświetla szczegółowe wyjaśnienie odnalezionych problemów." - -#. TRANSLATORS: ascli flag description for: --details -#: tools/appstream-cli.c:98 -msgid "Print detailed output about found components." -msgstr "Wyświetla szczegółowe informacje o odnalezionych składnikach." - -#. project group -#: tools/ascli-utils.c:360 -msgid "Project Group" -msgstr "Grupa projektu" - -#: tools/ascli-utils.c:405 -msgid "Provided Items" -msgstr "Dostarczane elementy" +"Nie można połączyć się ze zdalnym położeniem wskazywanym przez ten adres URL " +"— czy na pewno istnieje?" -#: src/as-provided.c:154 -msgid "Python (Version 2)" -msgstr "Python (wersja 2)" +#: src/as-validator-issue-tag.h:420 +msgid "Consider using a secure (HTTPS) URL for this web link." +msgstr "" +"Proszę rozważyć użycie zabezpieczonego adresu URL (HTTPS) dla tego odnośnika " +"internetowego." -#: src/as-provided.c:156 -msgid "Python 3" -msgstr "Python 3" +#: src/as-validator-issue-tag.h:425 +msgid "A web URL was expected for this value." +msgstr "Dla tej wartości oczekiwano adresu URL do strony internetowej." -#: tools/appstream-cli.c:854 -msgid "Rebuild the component metadata cache." -msgstr "Ponownie buduje pamięć podręczną metadanych składników." +#: src/as-validator-issue-tag.h:430 +msgid "" +"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." +msgstr "" +"Ten odnośnik internetowy używa protokołu FTP. Proszę rozważyć użycie HTTP(S) " +"zamiast tego." -#: tools/appstream-cli.c:860 -msgid "Remove software matching the component-ID." -msgstr "Usuwa oprogramowanie pasujące do identyfikatora składnika." +#: src/as-validator-issue-tag.h:435 +msgid "The can not contain a hyperlink." +msgstr "Znacznik nie może zawierać odnośnika." -#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty -#: src/as-validator.c:364 -msgid "Retrieved file size was zero." -msgstr "Rozmiar odebranego pliku wynosi zero." +#: src/as-validator-issue-tag.h:440 +msgid "" +"The set value is not an identifier for a desktop environment as registered " +"with Freedesktop.org." +msgstr "" +"Ustawiona wartość nie jest identyfikatorem środowiska pulpitu " +"zarejestrowanym we FreeDesktop.org." -#: src/as-category.c:248 -msgctxt "Category of Science" -msgid "Robotics" -msgstr "Robotyka" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:446 +msgid "This `launchable` tag has an unknown type and can not be used." +msgstr "Ten znacznik „launchable” ma nieznany typ i nie może zostać użyty." -#: src/as-category.c:150 -msgctxt "Category of Games" -msgid "Role Playing" -msgstr "Gry fabularne" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:452 +msgid "This `bundle` tag has an unknown type and can not be used." +msgstr "Ten znacznik „bundle” ma nieznany typ i nie może zostać użyty." -#: tools/appstream-cli.c:196 tools/appstream-cli.c:926 -#, c-format -msgid "Run '%s --help' to see a full list of available command line options." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:458 +msgid "" +"The `update_contact` tag should not be included in collection AppStream XML." msgstr "" -"Polecenie „%s --help” wyświetli pełną listę dostępnych opcji wiersza poleceń." +"Znacznik „update_contact” nie może być zawarty w XML kolekcji AppStream." -#: tools/appstream-cli.c:198 -#, c-format +#: src/as-validator-issue-tag.h:463 msgid "" -"Run '%s --help' to see a list of available commands and options, and '%s %s " -"--help' to see a list of options specific for this subcommand." +"This tag is a GNOME-specific extension to AppStream and not part of the " +"official specification. Do not expect it to work in all implementations and " +"in all software centers." msgstr "" -"Polecenie „%s --help” wyświetli listę dostępnych poleceń i opcji, a „%s %s --" -"help” wyświetli listę opcji dla danego podpolecenia." - -#: src/as-provided.c:162 -msgid "Runtime Firmware" -msgstr "Oprogramowanie sprzętowe wgrywane podczas uruchamiania systemu" +"Ten znacznik jest rozszerzeniem specyfikacji AppStream projektu GNOME i nie " +"jest częścią oficjalnej specyfikacji. Nie należy oczekiwać, że będzie " +"działał we wszystkich implementacjach i we wszystkich centrach " +"oprogramowania." -#: src/as-category.c:174 -msgctxt "Category of Graphics" -msgid "Scanning" -msgstr "Skanowanie" +#: src/as-validator-issue-tag.h:469 +msgid "" +"Found invalid tag. Non-standard tags should be prefixed with `x-`. AppStream " +"also provides the tag to add arbitrary custom data to metainfo " +"files. This tag is read by AppStream libraries and may be useful instead of " +"defining new custom toplevel or `x-`-prefixed tags if you just want to add " +"custom data to a metainfo file." +msgstr "" +"Odnaleziono nieprawidłowy znacznik. Niestandardowe znaczniki muszą mieć " +"przedrostek „x-”. AppStream zapewnia także znacznik do dodawania " +"dowolnych danych do plików Metainfo. Ten znacznik jest odczytywany przez " +"biblioteki AppStream i może być przydatny zamiast określania nowych " +"niestandardowych znaczników najwyższego poziomu czy z przedrostkiem „x-”, " +"jeśli tylko mają zostać dodane niestandardowe dane do pliku Metainfo." -#. TRANSLATORS: this is the menu spec main category for Science -#: src/as-category.c:323 -msgid "Science" -msgstr "Nauka" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:477 +msgid "" +"The essential tag `metadata_license` is missing. A license for the metadata " +"itself always has to be defined." +msgstr "" +"Brak obowiązkowego znacznika „metadata_license”. Zawsze należy określić " +"licencję metadanych." -#: tools/appstream-cli.c:847 -msgid "Search the component database." -msgstr "Przeszukuje bazę danych składników." +#: src/as-validator-issue-tag.h:482 +msgid "" +"The component is missing a long description. Components of this type must " +"have a long description." +msgstr "" +"Składnik nie ma długiego opisu. Składniki tego typu muszą mieć długi opis." -#: src/as-category.c:293 -msgctxt "Category of Utility" -msgid "Security" -msgstr "Bezpieczeństwo" +#: src/as-validator-issue-tag.h:487 +msgid "" +"It would be useful to add a long description to this font to present it " +"better to users." +msgstr "" +"Dodanie długiego opisu do tej czcionki może być przydatne, aby lepiej " +"przedstawić ją użytkownikom." -#. TRANSLATORS: ascli flag description for: --verbose -#: tools/appstream-cli.c:903 -msgid "Show extra debugging information." -msgstr "Wyświetla dodatkowe informacje debugowania." +#: src/as-validator-issue-tag.h:492 +msgid "" +"It is recommended to add a long description to this component to present it " +"better to users." +msgstr "" +"Zalecane jest dodanie długiego opisu do tego składnika, aby lepiej " +"przedstawić go użytkownikom." -#. TRANSLATORS: ascli flag description for: --version -#: tools/appstream-cli.c:897 -msgid "Show the program version." -msgstr "Wyświetla wersję programu." +#: src/as-validator-issue-tag.h:497 +msgid "" +"This generic component is missing a long description. It may be useful to " +"add one." +msgstr "" +"Ten ogólny składnik nie ma długiego opisu. Dodanie go może być przydatne." -#: src/as-validator-issue-tag.h:635 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:503 msgid "" -"Since a 'runtime' component is comprised of multiple other software " -"components, their component-IDs may be listed in a `` section for " -"this runtime." -msgstr "Ponieważ składnik „runtime” (środowisko wykonawcze) składa się z wielu innych składników oprogramowania, ich identyfikatory mogą być wymienione w sekcji „” tego środowiska wykonawczego." +"Type `console-application` component, but no information about binaries in " +"$PATH was provided via a `provides/binary` tag." +msgstr "" +"Składnik jest typu „console-application”, ale nie podano żadnych informacji " +"o plikach binarnych w ścieżce $PATH za pomocą znacznika „provides/binary”." -#: src/as-category.c:153 -msgctxt "Category of Games" -msgid "Sports" -msgstr "Gry sportowe" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:509 +msgid "" +"This `web-application` component is missing a `launchable` tag of type `url`." +msgstr "" +"Ten składnik „web-application” nie ma znacznika „launchable” typu „url”." -#: src/as-category.c:157 -msgctxt "Category of Games" -msgid "Strategy" -msgstr "Gry strategiczne" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:515 +msgid "" +"This `web-application` component is missing a `icon` tag to specify a valid " +"icon." +msgstr "" +"Ten składnik „web-application” nie ma znacznika „icon” do określenia " +"prawidłowej ikony." -#. these are commands we can use with appstreamcli -#: tools/appstream-cli.c:845 -msgid "Subcommands:" -msgstr "Podpolecenia:" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:521 +msgid "" +"This `web-application` component is missing categorizations. A `categories` " +"block is likely missing." +msgstr "" +"Ten składnik „web-application” nie ma kategoryzacji. Prawdopodobnie brakuje " +"części „categories”." -#. TRANSLATORS: Please do not translate AppStream tag and property names. +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). #: src/as-validator-issue-tag.h:527 msgid "" -"Suggestions of any type other than 'upstream' are not allowed in metainfo " -"files." +"Type `font` component, but no font information was provided via a `provides/" +"font` tag." msgstr "" -"Sugestie typu innego niż „upstream” nie są dozwolone w plikach Metainfo." - -#: tools/ascli-utils.c:297 -msgid "Summary" -msgstr "Podsumowanie" - -#. TRANSLATORS: Status summary in ascli -#: tools/ascli-actions-misc.c:145 -msgid "Summary:" -msgstr "Podsumowanie:" - -#: src/as-category.c:290 -msgctxt "Category of Utility" -msgid "System Monitoring" -msgstr "Monitorowanie komputera" +"Składnik jest typu „font”, ale nie podano żadnych informacji o czcionce za " +"pomocą znacznika „provides/font”." -#: src/as-validator-issue-tag.h:46 -msgid "Tags of this name are not permitted in this section." -msgstr "Znaczniki o tej nazwie nie są dozwolone w tej sekcji." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:533 +msgid "" +"Type `driver` component, but no modalias information was provided via a " +"`provides/modalias` tag." +msgstr "" +"Składnik jest typu „driver”, ale nie podano żadnych informacji modalias za " +"pomocą znacznika „provides/modalias”." -#: src/as-category.c:284 -msgctxt "Category of Utility" -msgid "Terminal Emulators" -msgstr "Emulatory terminala" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:539 +msgid "" +"An `extends` tag is specified, but the component is not of type `addon`, " +"`localization` or `repository`." +msgstr "" +"Podano znacznik „extends”, ale składnik nie jest typu „addon”, " +"„localization” ani „repository”." -#: src/as-category.c:281 -msgctxt "Category of Utility" -msgid "Text Editors" -msgstr "Edytory tekstu" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:545 +msgid "The component is an addon, but no `extends` tag was specified." +msgstr "Składnik jest dodatkiem, ale nie podano znacznika „extends”." -#: src/as-validator-issue-tag.h:318 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:551 msgid "" -"The 'pkgname' tag appears multiple times. You should evaluate creating a " -"metapackage containing the metainfo and .desktop files in order to avoid " -"defining multiple package names per component." +"This `localization` component is missing an `extends` tag, to specify the " +"components it adds localization to." msgstr "" -"Znacznik „pkgname” pojawia się wiele razy. Należy rozważyć utworzenie " -"metapakietu zawierającego pliki Metainfo i .desktop, aby uniknąć określenia " -"wielu nazw pakietów na składnik." +"Ten składnik „localization” nie ma znacznika „extends” do określenia " +"składników, do których dodaje lokalizację." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:416 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:557 msgid "" -"The 'update_contact' tag should not be included in collection AppStream XML." +"This `localization` component does not define any languages this " +"localization is for." msgstr "" -"Znacznik „update_contact” nie może być zawarty w XML kolekcji AppStream." - -#: tools/ascli-actions-mdata.c:467 -#, c-format -msgid "The .desktop file '%s' does not exist." -msgstr "Plik .desktop „%s” nie istnieje." +"Ten składnik „localization” nie określa żadnego języka, dla którego jest " +"lokalizacją." -#: src/as-validator-issue-tag.h:393 -msgid "The can not contain a hyperlink." -msgstr "Znacznik nie może zawierać odnośnika." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:563 +msgid "" +"This `service` component is missing a `launchable` tag of type `service`." +msgstr "Ten składnik „service” nie ma znacznika „launchable” typu „service”." -#: src/as-validator-issue-tag.h:313 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:569 msgid "" -"The tag still contains a 'type' property, probably from an old " -"conversion to the recent metainfo format." +"Suggestions of any type other than `upstream` are not allowed in metainfo " +"files." msgstr "" -"Znacznik nadal zawiera właściwość „type”, prawdopodobnie ze starej " -"konwersji do nowszego formatu Metainfo." +"Sugestie typu innego niż „upstream” nie są dozwolone w plikach Metainfo." -#: src/as-validator-issue-tag.h:616 +#: src/as-validator-issue-tag.h:574 msgid "" -"The AppStream specification requires a complete, ISO 8601 date string with " -"at least day-granularity to denote dates. Please ensure the date string is " -"valid." +"The category name is not valid. Refer to the XDG Menu Specification for a " +"list of valid category names." msgstr "" -"Specyfikacja AppStream wymaga pełnego ciągu daty ISO 8601 z dokładnością co " -"najmniej do dnia, aby określać daty. Proszę się upewnić, że ciąg daty jest " -"prawidłowy." +"Nazwa kategorii jest nieprawidłowa. Specyfikacja menu XDG zawiera listę " +"prawidłowych nazw kategorii." -#: src/as-pool.c:1924 -#, c-format +#: src/as-validator-issue-tag.h:579 +msgid "The screenshot caption is too long (should be <= 80 characters)" +msgstr "Podpis zrzutu ekranu jest za długi (musi mieć 80 znaków lub mniej)" + +#: src/as-validator-issue-tag.h:584 +msgid "Unable to read file." +msgstr "Nie można odczytać pliku." + +#: src/as-validator-issue-tag.h:589 +msgid "The XML of this file is malformed." +msgstr "Kod XML tego pliku jest błędnie sformatowany." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:595 msgid "" -"The AppStream system cache was updated, but problems were found which " -"resulted in metadata being ignored: %s" +"Invalid tag found in collection metadata. Only `component` tags are " +"permitted." msgstr "" -"Zaktualizowano systemową pamięć podręczną AppStream, ale odnaleziono " -"problemy powodujące ignorowanie metadanych: %s" +"Odnaleziono nieprawidłowy znacznik w metadanych kolekcji. Dozwolone są tylko " +"znaczniki „component”." -#: src/as-pool.c:1922 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:601 msgid "" -"The AppStream system cache was updated, but some components were ignored. " -"Refer to the verbose log for more information." +"The metainfo file uses an ancient version of the AppStream specification, " +"which can not be validated. Please migrate it to version 0.6 (or higher)." msgstr "" -"Zaktualizowano systemową pamięć podręczną AppStream, ale niektóre składniki " -"zostały zignorowane. Można zobaczyć dodatkowe informacje dziennika." +"Plik Metainfo używa bardzo starej wersji specyfikacji AppStream, której " +"poprawności nie można sprawdzić. Proszę zaktualizować go do wersji 0.6 (lub " +"wyższej)." -#: src/as-validator-issue-tag.h:151 -msgid "The SPDX license expression is invalid and could not be parsed." +#: src/as-validator-issue-tag.h:606 +msgid "" +"This XML document has an unknown root tag. Maybe this file is not a metainfo " +"document?" msgstr "" -"Wyrażenie licencji SPDX jest nieprawidłowe i nie może zostać przetworzone." +"Ten dokument XML ma nieznany główny znacznik. Może ten plik nie jest " +"dokumentem Metainfo?" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows -#: tools/appstream-cli.c:683 -#, c-format -msgid "The TYPE must be a valid component-type, such as: %s" -msgstr "TYP musi być prawidłowym typem składnika, na przykład: %s" +#: src/as-validator-issue-tag.h:611 +msgid "The metainfo filename does not match the component ID." +msgstr "Nazwa pliku Metainfo nie pasuje do identyfikatora składnika." -#: src/as-validator-issue-tag.h:547 -msgid "The XML of this file is malformed." -msgstr "Kod XML tego pliku jest błędnie sformatowany." +#: src/as-validator-issue-tag.h:616 +msgid "Unable to read the .desktop file associated with this component." +msgstr "Nie można odczytać pliku .desktop powiązanego z tym składnikiem." -#: src/as-validator-issue-tag.h:584 +#: src/as-validator-issue-tag.h:621 +msgid "This component metadata refers to a non-existing .desktop file." +msgstr "Te metadane składnika odnoszą się do nieistniejącego pliku .desktop." + +#: src/as-validator-issue-tag.h:626 msgid "" "The category defined in the .desktop file is not valid. Refer to the XDG " "Menu Specification for a list of valid categories." @@ -1186,177 +1933,181 @@ "Kategoria określona w pliku .desktop jest nieprawidłowa. Specyfikacja menu " "XDG zawiera listę prawidłowych kategorii." -#: src/as-validator-issue-tag.h:532 -msgid "" -"The category name is not valid. Refer to the XDG Menu Specification for a " -"list of valid category names." +#: src/as-validator-issue-tag.h:631 +msgid "No AppStream metadata was found in this directory or directory tree." msgstr "" -"Nazwa kategorii jest nieprawidłowa. Specyfikacja menu XDG zawiera listę " -"prawidłowych nazw kategorii." +"Nie odnaleziono żadnych metadanych AppStream w tym katalogu lub drzewie " +"katalogów." -#: src/as-validator-issue-tag.h:124 -msgid "" -"The component ID contains a hyphen/minus. Using a hyphen is strongly " -"discouraged, to improve interoperability with other tools such as D-Bus. A " -"good option is to replace any hyphens with underscores ('_')." -msgstr "" -"Identyfikator składnika zawiera myślnik/minus. Używanie myślnika jest mocno " -"niezalecane, aby zwiększyć zgodność z innymi narzędziami, takimi jak D-Bus. " -"Dobrym rozwiązaniem jest zastąpienie myślników podkreśleniami („_”)." +#. pedantic because not everything which has metadata is an application +#: src/as-validator-issue-tag.h:636 +msgid "No XDG applications directory found." +msgstr "Nie odnaleziono katalogu programów XDG." -#: src/as-validator-issue-tag.h:130 +#: src/as-validator-issue-tag.h:641 msgid "" -"The component ID contains a segment starting with a number. Starting a " -"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " -"interoperability with other tools such as D-Bus. Ideally, prefix these " -"segments with an underscore." +"The metainfo file is stored in a legacy path. Please place it in `/usr/share/" +"metainfo/`." msgstr "" -"Identyfikator składnika zawiera część zaczynającą się od cyfry. " -"Rozpoczynanie części identyfikatora odwrotnej notacji DNS cyfrą jest mocno " -"niezalecane, aby zachować zgodność z innymi narzędziami, takimi jak D-Bus. " -"Najlepiej dodać podkreślenie jako przedrostek tych części." +"Plik Metainfo jest przechowywany w przestarzałej ścieżce. Proszę umieścić go " +"w „/usr/share/metainfo”." -#: src/as-validator-issue-tag.h:119 -msgid "" -"The component ID contains an invalid character. Only ASCII characters, dots " -"and numbers are permitted." -msgstr "" -"Identyfikator składnika zawiera nieprawidłowy znak. Tylko znaki ASCII, " -"kropki i cyfry są dozwolone." +#: src/as-validator-issue-tag.h:646 +msgid "The metainfo file specifies multiple components. This is not allowed." +msgstr "Plik Metainfo określa wiele składników. Nie jest to dozwolone." -#: src/as-validator-issue-tag.h:106 +#: src/as-validator-issue-tag.h:651 msgid "" -"The component ID is not a reverse domain-name. Please update the ID to avoid " -"future issues and be compatible with all AppStream implementations.\n" -"You may also consider to update the name of the accompanying .desktop file " -"to follow the latest version of the Desktop-Entry specification and use a " -"rDNS name for it as well. In any case, do not forget to mention the new " -"desktop-entry in a tag for this component to keep the " -"application launchable from software centers and the .desktop file data " -"associated with the metainfo data." +"The releases are not sorted in a latest to oldest version order. This is " +"required as some tools will assume that the latest version is always at the " +"top. Sorting releases also increases overall readability of the metainfo " +"file." msgstr "" -"Identyfikator składnika nie jest odwrotną nazwą domeny. Proszę zaktualizować " -"identyfikator, aby uniknąć przyszłych problemów i zachować zgodność ze " -"wszystkimi implementacjami AppStream.\n" -"Można także rozważyć zaktualizowanie nazwy towarzyszącego pliku .desktop, " -"aby używał najnowszej wersji specyfikacji Desktop-Entry i nazwy rDNS. " -"W każdym razie nie należy zapomnieć wymienić nowego Desktop-Entry " -"w znaczniku dla tego składnika, aby program mógł nadal być " -"uruchamiany w centrach oprogramowania i z danych pliku .desktop powiązanego " -"z danymi Metainfo." +"Wydania nie są uporządkowane w kolejności od najnowszego do najstarszego. " +"Jest to wymagane, ponieważ część narzędzi przyjmuje, że najnowsza wersja " +"jest zawsze na górze. Uporządkowanie wydań zwiększa także czytelność pliku " +"Metainfo." -#: src/as-validator-issue-tag.h:101 -msgid "" -"The component ID is required to follow a reverse domain-name scheme for its " -"name. See the AppStream specification for details." +#: src/as-validator-issue-tag.h:658 +msgid "The value set as release urgency is not a known urgency value." msgstr "" -"Identyfikator składnika musi używać schematu odwrotnej nazwy domeny jako " -"nazwy. Specyfikacja AppStream zawiera więcej informacji." +"Wartość ustawiona jako pilność wydania nie jest znaną wartością pilności." -#: src/as-validator-issue-tag.h:114 -msgid "" -"The component ID might not follow the reverse domain-name schema (the TLD " -"used by it is not known to the validator)." -msgstr "" -"Identyfikator składnika może nie używać schematu odwrotnej nazwy domeny " -"(używane TLD nie jest znane programu sprawdzającemu)." +#: src/as-validator-issue-tag.h:663 +msgid "The value set as release type is invalid." +msgstr "Wartość ustawiona jako typ wydania jest nieprawidłowa." -#: src/as-validator-issue-tag.h:293 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:669 msgid "" -"The component has a 'merge' method defined. This is not allowed in metainfo " -"files." +"The value set as artifact type is invalid. Must be either `source` or " +"`binary`." msgstr "" -"Składnik ma określoną metodę „merge”. Nie jest to dozwolone w plikach " -"Metainfo." +"Wartość ustawiona jako typ artefaktu jest nieprawidłowa. Musi wynosić " +"„source” lub „binary”." -#: src/as-validator-issue-tag.h:288 +#: src/as-validator-issue-tag.h:674 +msgid "The value set as artifact bundle type is invalid." +msgstr "Wartość ustawiona jako typ paczki artefaktu jest nieprawidłowa." + +#: src/as-validator-issue-tag.h:679 msgid "" -"The component has a priority value set. This is not allowed in metainfo " -"files." +"The platform triplet for this release is invalid. It must be in the form of " +"`architecture-oskernel-osenv` - refer to the AppStream documentation or " +"information on normalized GNU triplets for more information and valid fields." msgstr "" -"Składnik ma ustawioną wartość priorytetu. Nie jest to dozwolone w plikach " -"Metainfo." +"Trójka platformy dla tego wydania jest nieprawidłowa. Musi być w formie " +"„architektura-jądrosystemu-środowiskosystemu” — dokumentacja AppStream lub " +"informacje o znormalizowanych trójkach GNU zawierają więcej informacji " +"i listę prawidłowych pól." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:503 -msgid "The component is an addon, but no 'extends' tag was specified." -msgstr "Składnik jest dodatkiem, ale nie podano znacznika „extends”." +#: src/as-validator-issue-tag.h:686 +msgid "The selected checksumming algorithm is unsupported or unknown." +msgstr "Wybrany algorytm sum kontrolnych jest nieobsługiwany lub nieznany." -#: src/as-validator-issue-tag.h:440 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:692 +msgid "The size type is unknown. Must be `download` or `installed`." +msgstr "Typ rozmiaru jest nieznany. Musi wynosić „download” lub „installed”." + +#: src/as-validator-issue-tag.h:697 msgid "" -"The component is missing a long description. Components of this type must " -"have a long description." +"The artifact filename must be a file basename, not a (relative or absolute) " +"path." msgstr "" -"Składnik nie ma długiego opisu. Składniki tego typu muszą mieć długi opis." +"Nazwa pliku artefaktu musi być podstawową nazwą pliku, nie (względną ani " +"bezwzględną) ścieżką." -#: src/as-validator-issue-tag.h:303 -msgid "The component is missing a name ( tag)." -msgstr "Składnik nie ma nazwy (znacznika )." +#: src/as-validator-issue-tag.h:702 +msgid "The value set as release issue type is invalid." +msgstr "Wartość ustawiona jako typ zgłoszenia wydania jest nieprawidłowa." -#: src/as-validator-issue-tag.h:308 -msgid "The component is missing a summary ( tag)." -msgstr "Składnik nie ma podsumowania (znacznika )." +#: src/as-validator-issue-tag.h:707 +msgid "" +"The issue is tagged at security vulnerability with a CVE number, but its " +"value does not look like a valid CVE identifier." +msgstr "" +"Zgłoszenie jest oznakowane jako błąd zabezpieczeń z numerem CVE, ale jego " +"wartość nie jest prawidłowym identyfikatorem CVE." -#: src/as-validator-issue-tag.h:298 -msgid "The component is missing an ID ( tag)." -msgstr "Składnik nie ma identyfikatora (znacznika )." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:713 +msgid "" +"This component is missing information about releases. Consider adding a " +"`releases` tag to describe releases and their changes." +msgstr "Ten składnik nie ma informacji o wydaniach. Proszę rozważyć dodanie znacznika „releases” opisującego wydania i ich zmiany." -#: src/as-validator-issue-tag.h:136 +#: src/as-validator-issue-tag.h:718 msgid "" -"The component is part of the Freedesktop project, but its ID does not start " -"with fd.o's reverse-DNS name (\"org.freedesktop\")." +"The AppStream specification requires a complete, ISO 8601 date string with " +"at least day-granularity to denote dates. Please ensure the date string is " +"valid." msgstr "" -"Składnik jest częścią projektu FreeDesktop, ale jego identyfikator nie " -"zaczyna się od nazwy projektu w odwrotnej notacji DNS („org.freedesktop”)." +"Specyfikacja AppStream wymaga pełnego ciągu daty ISO 8601 z dokładnością co " +"najmniej do dnia, aby określać daty. Proszę się upewnić, że ciąg daty jest " +"prawidłowy." -#: src/as-validator-issue-tag.h:146 +#: src/as-validator-issue-tag.h:724 msgid "" -"The component is part of the GNOME project, but its ID does not start with " -"GNOMEs reverse-DNS name (\"org.gnome\")." +"This component extends, provides, requires or recommends itself, which is " +"certainly not intended and may confuse users or machines dealing with this " +"metadata." msgstr "" -"Składnik jest częścią projektu GNOME, ale jego identyfikator nie zaczyna się " -"od nazwy projektu w odwrotnej notacji DNS („org.gnome”)." +"Ten składnik rozszerza, dostarcza, wymaga lub zaleca siebie, co na pewno nie " +"jest zamierzone i może być mylące dla użytkowników lub komputerów " +"używających tych metadanych." -#: src/as-validator-issue-tag.h:141 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:731 msgid "" -"The component is part of the KDE project, but its ID does not start with " -"KDEs reverse-DNS name (\"org.kde\")." +"Licenses for `runtime` components are usually too complex to reflect them in " +"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " +"value for this component's `project_license`. E.g. `LicenseRef-free=https://" +"example.com/licenses.html`" msgstr "" -"Składnik jest częścią projektu KDE, ale jego identyfikator nie zaczyna się " -"od nazwy projektu w odwrotnej notacji DNS („org.kde”)." - -#: src/as-validator-issue-tag.h:323 -msgid "The component name should (likely) not end with a dot ('.')." -msgstr "Nazwa projektu nie może (prawdopodobnie) kończyć się kropką („.”)." +"Licencje dla składników typu „runtime” (środowisko wykonawcze) zwykle są " +"zbyt złożone, aby odzwierciedlić je w prostym wyrażeniu SPDX. Proszę " +"rozważyć użycie „LicenseRef” i adresu URL do strony internetowej jako " +"wartości dla znacznika „project_license” tego składnika, np. „LicenseRef-" +"free=https://example.com/licenses.html”" -#: src/as-validator-issue-tag.h:333 -msgid "The component summary must not contain tabs or linebreaks." -msgstr "Podsumowanie składnika nie może zawierać tabulacji ani nowych wierszy." - -#: src/as-validator-issue-tag.h:328 -msgid "The component summary should not end with a dot ('.')." -msgstr "Podsumowanie składnika nie może kończyć się kropką („.”)." - -#: src/as-validator-issue-tag.h:243 +#: src/as-validator-issue-tag.h:737 msgid "" -"The default screenshot of a software component must not be a video. Use a " -"static image as default screenshot and set the video as a secondary " -"screenshot." +"Since a `runtime` component is comprised of multiple other software " +"components, their component-IDs may be listed in a `` section for " +"this runtime." msgstr "" -"Domyślny zrzut ekranu składnika oprogramowania nie może być filmem. Należy " -"użyć statycznego obrazu jako domyślnego zrzutu ekranu i ustawić film jako " -"drugorzędny zrzut." +"Ponieważ składnik „runtime” (środowisko wykonawcze) składa się z wielu " +"innych składników oprogramowania, ich identyfikatory mogą być wymienione " +"w sekcji „” tego środowiska wykonawczego." -#: src/as-validator-issue-tag.h:86 +#: src/as-validator-issue-tag.h:742 msgid "" -"The description contains a web URL in plain text. This is not allowed, " -"please use the tag instead to share links." +"The type of the item that the component provides is not known to AppStream." msgstr "" -"Opis zawiera adres URL do strony internetowej w zwykłym tekście. Nie jest to " -"dozwolone, proszę zamiast tego użyć znacznika do wstawiania " -"odnośników." +"Typ elementu dostarczanego przez składnik jest nieznany specyfikacji " +"AppStream." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:748 +msgid "" +"The toplevel `mimetypes` tag is deprecated. Please use `mediatype` tags in a " +"`provides` block instead to indicate that your software provides a media " +"handler for the given types." +msgstr "" +"Znacznik „mimetypes” najwyższego poziomu jest przestarzały. Proszę zamiast " +"tego użyć znaczników „mediatype” w bloku „provides”, aby wskazać, że " +"oprogramowanie dostarcza obsługę multimediów o podanych typach." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks) and keep the URL intact. +#: src/as-validator-issue-tag.h:755 +msgid "" +"This component has no `content_rating` tag to provide age rating " +"information. You can generate the tag data online by answering a few " +"questions at https://hughsie.github.io/oars/" +msgstr "Ten składnik nie ma znacznika „content_rating” dostarczającego informacje o ograniczeniach wiekowych. Można utworzyć dane znacznika w Internecie odpowiadając na kilka pytań na stronie https://hughsie.github.io/oars/" -#: src/as-validator.c:152 +#: src/as-validator.c:150 msgid "" "The emitted issue tag is unknown in the tag registry of AppStream. This is a " "bug in the validator itself, please report this issue in our bugtracker." @@ -1365,414 +2116,550 @@ "to błąd w programie sprawdzającym, proszę go zgłosić w naszym systemie " "zgłaszania błędów." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:435 +#: src/as-validator.c:344 +msgid "URL format is invalid." +msgstr "Format adresu URL jest nieprawidłowy." + +#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. +#: src/as-validator.c:522 src/as-validator.c:937 src/as-validator.c:1031 +#: src/as-validator.c:1428 src/as-validator.c:1448 src/as-validator.c:1481 +#, c-format +msgid "Found: %s - Allowed: %s" +msgstr "Odnaleziono: %s — dozwolone: %s" + +#. TRANSLATORS: ascompose flag description for: --verbose +#: tools/appstream-compose.c:181 +msgid "Show extra debugging information" +msgstr "Wyświetla dodatkowe informacje debugowania" + +#. TRANSLATORS: ascompose flag description for: --no-color +#. TRANSLATORS: ascli flag description for: --no-color +#: tools/appstream-compose.c:184 tools/appstreamcli.c:1087 +msgid "Don't show colored output." +msgstr "Bez kolorowania wyjścia." + +#. TRANSLATORS: ascompose flag description for: --version +#. TRANSLATORS: ascli flag description for: --version +#: tools/appstream-compose.c:187 tools/appstreamcli.c:1076 +msgid "Show the program version." +msgstr "Wyświetla wersję programu." + +#. TRANSLATORS: ascompose flag description for: --full-report +#: tools/appstream-compose.c:190 +msgid "Set mode of the issue report that is printed to the console" +msgstr "Ustawia tryb zgłoszenia wyświetlanego w konsoli" + +#. TRANSLATORS: ascompose flag description for: --prefix +#: tools/appstream-compose.c:193 +msgid "Override the default prefix (`/usr` by default)" +msgstr "Zastępuje domyślny przedrostek (domyślnie „/usr”)" + +#. TRANSLATORS: ascompose flag description for: --result-root +#: tools/appstream-compose.c:196 +msgid "Set the result output directory" +msgstr "Ustawia katalog wyjściowy wyników" + +#. TRANSLATORS: ascompose flag description for: --data-dir, `collection metadata` is an AppStream term +#: tools/appstream-compose.c:199 +msgid "Override the collection metadata output directory" +msgstr "Zastępuje katalog wyjściowy metadanych kolekcji" + +#. TRANSLATORS: ascompose flag description for: --icons-dir +#: tools/appstream-compose.c:202 +msgid "Override the icon output directory" +msgstr "Zastępuje katalog wyjściowy ikony" + +#. TRANSLATORS: ascompose flag description for: --media-dir +#: tools/appstream-compose.c:205 +msgid "" +"Set the media output directory (for media data to be served by a webserver)" +msgstr "Ustawia katalog wyjściowy multimediów (dla danych multimedialnych dostarczanych przez serwer WWW)" + +#. TRANSLATORS: ascompose flag description for: --hints-dir +#: tools/appstream-compose.c:208 +msgid "Set a directory where HTML and text issue reports will be stored" +msgstr "" +"Ustawia katalog, w którym będą przechowywane zgłoszenia błędów w formacie " +"HTML i tekstowym" + +#. TRANSLATORS: ascompose flag description for: --origin +#. TRANSLATORS: ascompose flag description for: --media-baseurl +#: tools/appstream-compose.c:211 tools/appstream-compose.c:214 +msgid "Set the origin name" +msgstr "Zastępuje nazwę pochodzenia" + +#. TRANSLATORS: ascompose flag description for: --components +#: tools/appstream-compose.c:217 +msgid "A comma-separated list of component-IDs to accept" +msgstr "Lista identyfikatorów składników oddzielonych przecinkiem do przyjęcia" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:231 +msgid "Failed to parse arguments" +msgstr "Przetworzenie parametrów się nie powiodło" + +#. TRANSLATORS: Output if appstreamcli --version is executed. +#: tools/appstream-compose.c:242 tools/appstreamcli.c:1230 +#, c-format +msgid "AppStream version: %s" +msgstr "Wersja AppStream: %s" + +#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. +#: tools/appstream-compose.c:245 tools/appstreamcli.c:1233 +#, c-format msgid "" -"The essential tag 'metadata_license' is missing. A license for the metadata " -"itself always has to be defined." +"AppStream CLI tool version: %s\n" +"AppStream library version: %s" msgstr "" -"Brak obowiązkowego znacznika „metadata_license”. Zawsze należy określić " -"licencję metadanych." +"Wersja narzędzia AppStream w wierszu poleceń: %s\n" +"Wersja biblioteki AppStream: %s" -#: src/as-validator-issue-tag.h:79 +#. TRANSLATORS: invalid value for the --print-report CLI option +#: tools/appstream-compose.c:264 +#, c-format msgid "" -"The first 'description/p' paragraph of this component might be too short (< " -"80 characters). Please consider starting with a longer paragraph to improve " -"how the description looks like in software centers and to provide more " -"detailed information on this component immediately in the first paragraph." +"Invalid value for `--print-report` option: %s\n" +"Possible values are:\n" +"`on-error` - only prints a short report if the run failed (default)\n" +"`short` - generates an abridged report\n" +"`full` - a detailed report will be printed" msgstr "" -"Pierwszy akapit „description/p” tego składnika może być za krótki (poniżej " -"80 znaków). Proszę rozważyć rozpoczęcie dłuższym akapitem, aby polepszyć " -"wygląd opisu w centrach oprogramowania i dostarczyć bardziej szczegółowe " -"informacje o tym składniku od razu w pierwszym akapicie." +"Nieprawidłowa wartość opcji „--print-report”: %s\n" +"Możliwe wartości:\n" +"„on-error” — wyświetla tylko krótkie zgłoszenie, jeśli wykonanie się nie " +"powiodło (domyślnie)\n" +"„short” — tworzy skrócone zgłoszenie\n" +"„full” — wyświetla szczegółowe zgłoszenie" -#: src/as-validator-issue-tag.h:156 -msgid "" -"The license ID was not found in the SPDX database. Please check that the " -"license ID is written in an SPDX-conformant way and is a valid free software " -"license." -msgstr "Nie odnaleziono tego identyfikatora licencji w bazie danych SPDX. Proszę sprawdzić, czy identyfikator licencji jest zapisany w sposób zgodny ze SPDX i jest prawidłową licencją wolnego oprogramowania." +#: tools/appstream-compose.c:285 +#, c-format +msgid "Automatically selected '%s' as data output location." +msgstr "Automatycznie wybrano „%s” jako położenie wyjścia danych." -#: src/as-validator-issue-tag.h:96 -msgid "" -"The mentioned tag is empty, which is highly likely not intended as it should " -"have content." +#. TRANSLATORS: we don't have a destination directory for compose +#: tools/appstream-compose.c:288 +msgid "No destination directory set, please provide a data output location!" msgstr "" -"Wymieniony znacznik jest pusty, co najprawdopodobniej nie jest zamierzone, " -"jako że musi mieć treść." +"Nie ustawiono katalogu docelowego, proszę podać położenie wyjścia danych." + +#: tools/appstream-compose.c:298 tools/appstream-compose.c:300 +msgid "WARNING" +msgstr "OSTRZEŻENIE" + +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:337 +#, c-format +msgid "Only accepting components: %s" +msgstr "Przyjmowanie tylko składników: %s" + +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:340 +#, c-format +msgid "Only accepting component: %s" +msgstr "Przyjmowanie tylko składnika: %s" + +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:345 +msgid "Processing directories:" +msgstr "Przetwarzanie katalogów:" + +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:348 +msgid "Processing directory:" +msgstr "Przetwarzanie katalogu:" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:357 +msgid "Can not process invalid directory" +msgstr "Nie można przetworzyć nieprawidłowego katalogu" + +#. TRANSLATORS: information message +#: tools/appstream-compose.c:369 +msgid "Composing metadata..." +msgstr "Składanie metadanych…" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:374 +msgid "Failed to compose AppStream metadata" +msgstr "Złożenie metadanych AppStream się nie powiodło" -#: src/as-validator-issue-tag.h:168 +#. TRANSLATORS: appstream-compose failed to include all data +#: tools/appstream-compose.c:380 +msgid "Run failed, some data was ignored." +msgstr "Wykonanie się nie powiodło, część danych została zignorowana." + +#. TRANSLATORS: information message of appstream-compose +#: tools/appstream-compose.c:382 +msgid "Errors were raised during this compose run:" +msgstr "Podczas tego składania wystąpiły błędy:" + +#: tools/appstream-compose.c:383 msgid "" -"The metadata itself does not seem to be licensed under a permissive license. " -"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " -"0BSD to allow distributors to include it in mixed data collections without " -"the risk of license violations due to mutually incompatible licenses." +"Refer to the generated issue report data for details on the individual " +"problems." msgstr "" -"Metadane nie są na liberalnej licencji. Proszę objąć dane liberalną " -"licencją, taką jak FSFAP, CC0-1.0 lub 0BSD, aby zezwolić dystrybucjom na " -"dołączenie ich w zbiorach mieszanych danych bez ryzyka naruszenia licencji " -"z powodu wzajemnie niezgodnych licencji." +"Więcej informacji o poszczególnych problemach znajduje się w utworzonych " +"danych zgłoszenia problemów." + +#: tools/appstream-compose.c:386 +msgid "Overview of generated hints:" +msgstr "Przegląd utworzonych uwag:" + +#. TRANSLATORS: information message +#: tools/appstream-compose.c:388 +msgid "Success!" +msgstr "Powodzenie." + +#. TRANSLATORS: ascli flag description for: --cachepath +#: tools/appstreamcli.c:59 +msgid "Manually selected location of AppStream cache." +msgstr "Ręcznie wybrane położenie pamięci podręcznej AppStream." + +#. TRANSLATORS: ascli flag description for: --datapath +#: tools/appstreamcli.c:64 +msgid "Manually selected location of AppStream metadata to scan." +msgstr "Ręcznie wybrane położenie metadanych AppStream do skanowania." + +#. TRANSLATORS: ascli flag description for: --no-cache +#: tools/appstreamcli.c:69 +msgid "Make request without any caching." +msgstr "Tworzy żądanie bez pamięci podręcznej." -#: src/as-validator-issue-tag.h:162 -msgid "" -"The metadata itself seems to be licensed under a complex collection of " -"licenses. Please license the data under a simple permissive license, like " -"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " -"collections without the risk of license violations due to mutually " -"incompatible licenses." -msgstr "" -"Metadane są na złożonej kombinacji licencji. Proszę objąć dane prostą " -"liberalną licencją, taką jak FSFAP, MIT lub CC0-1.0, aby zezwolić " -"dystrybucjom na dołączenie ich w zbiorach mieszanych danych bez ryzyka " -"naruszenia licencji z powodu wzajemnie niezgodnych licencji." +#. TRANSLATORS: ascli flag description for: --format +#: tools/appstreamcli.c:85 +msgid "Default metadata format (valid values are 'xml' and 'yaml')." +msgstr "Domyślny format metadanych (prawidłowe wartości to „xml” i „yaml”)." -#: src/as-validator-issue-tag.h:599 -msgid "" -"The metainfo file is stored in a legacy path. Please place it in '/usr/share/" -"metainfo'." -msgstr "" -"Plik Metainfo jest przechowywany w przestarzałej ścieżce. Proszę umieścić go " -"w „/usr/share/metainfo”." +#. TRANSLATORS: ascli flag description for: --details +#: tools/appstreamcli.c:100 +msgid "Print detailed output about found components." +msgstr "Wyświetla szczegółowe informacje o odnalezionych składnikach." -#: src/as-validator-issue-tag.h:604 -msgid "The metainfo file specifies multiple components. This is not allowed." -msgstr "Plik Metainfo określa wiele składników. Nie jest to dozwolone." +#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) +#: tools/appstreamcli.c:118 +msgid "Also show pedantic hints." +msgstr "Wyświetla także drobiazgowe uwagi." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:559 -msgid "" -"The metainfo file uses an ancient version of the AppStream specification, " -"which can not be validated. Please migrate it to version 0.6 (or higher)." -msgstr "" -"Plik Metainfo używa bardzo starej wersji specyfikacji AppStream, której " -"poprawności nie można sprawdzić. Proszę zaktualizować go do wersji 0.6 (lub " -"wyższej)." +#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) +#: tools/appstreamcli.c:123 +msgid "Print detailed explanation for found issues." +msgstr "Wyświetla szczegółowe wyjaśnienie odnalezionych problemów." -#: src/as-validator-issue-tag.h:569 -msgid "The metainfo filename does not match the component ID." -msgstr "Nazwa pliku Metainfo nie pasuje do identyfikatora składnika." +#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) +#: tools/appstreamcli.c:128 +msgid "Do not use network access." +msgstr "Bez używania dostępu do sieci." -#: src/as-validator-issue-tag.h:609 -msgid "" -"The releases are not sorted in a latest to oldest version order. This is " -"required as some tools will assume that the latest version is always at the " -"top. Sorting releases also increases overall readability of the metainfo " -"file." -msgstr "" -"Wydania nie są uporządkowane w kolejności od najnowszego do najstarszego. " -"Jest to wymagane, ponieważ część narzędzi przyjmuje, że najnowsza wersja " -"jest zawsze na górze. Uporządkowanie wydań zwiększa także czytelność pliku " -"Metainfo." +#. TRANSLATORS: ascli flag description for: --format when validating XML files +#: tools/appstreamcli.c:133 +msgid "Format of the generated report (valid values are 'text' and 'yaml')." +msgstr "Format tworzonego zgłoszenia (prawidłowe wartości to „text” i „yaml”)." -#: src/as-validator-issue-tag.h:537 -msgid "The screenshot caption is too long (should be <= 80 characters)" -msgstr "Podpis zrzutu ekranu jest za długi (musi mieć 80 znaków lub mniej)" +#. TRANSLATORS: This is the header to the --help menu for subcommands +#. TRANSLATORS: This is the header to the --help menu +#: tools/appstreamcli.c:153 tools/appstreamcli.c:981 +msgid "AppStream command-line interface" +msgstr "Interfejs wiersza poleceń AppStream" -#: src/as-validator-issue-tag.h:206 -msgid "The screenshot does not have a caption text. Consider adding one." -msgstr "Zrzut ekranu nie ma podpisu. Proszę rozważyć jego dodanie." +#: tools/appstreamcli.c:156 +#, c-format +msgid "'%s' command" +msgstr "Polecenie „%s”" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:218 -msgid "" -"The screenshot video does not specify which container format was used in a " -"'container' property." +#. TRANSLATORS: An unknown option was passed to appstreamcli. +#: tools/appstreamcli.c:191 +#, c-format +msgid "Option '%s' is unknown." +msgstr "Nieznana opcja „%s”." + +#: tools/appstreamcli.c:195 tools/appstreamcli.c:1207 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options." msgstr "" -"Film zrzutu ekranu nie określa użytego formatu kontenera we właściwości " -"„container”." +"Polecenie „%s --help” wyświetli pełną listę dostępnych opcji wiersza poleceń." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:212 +#: tools/appstreamcli.c:197 +#, c-format msgid "" -"The screenshot video does not specify which video codec was used in a " -"'codec' property." +"Run '%s --help' to see a list of available commands and options, and '%s %s " +"--help' to see a list of options specific for this subcommand." msgstr "" -"Film zrzutu ekranu nie określa użytego kodeku wideo we właściwości „codec”." +"Polecenie „%s --help” wyświetli listę dostępnych poleceń i opcji, a „%s %s --" +"help” wyświetli listę opcji dla danego podpolecenia." + +#. TRANSLATORS: ascli flag description for: --force +#: tools/appstreamcli.c:245 +msgid "Enforce a cache refresh." +msgstr "Wymusza odświeżenie pamięci podręcznej." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:224 +#. TRANSLATORS: ascli flag description for: --user +#: tools/appstreamcli.c:251 +msgid "Update the user-specific instead of the system-wide cache." +msgstr "Aktualizuje pamięć podręczną użytkownika zamiast systemowej." + +#. TRANSLATORS: ascli flag description for: --origin (part of the "put" subcommand) +#: tools/appstreamcli.c:477 +msgid "Set the data origin for the installed metadata collection file." +msgstr "" +"Ustawia pochodzenie danych dla zainstalowanego pliku kolekcji metadanych." + +#. TRANSLATORS: ascli flag description for: --user (part of the "put" subcommand) +#: tools/appstreamcli.c:482 +msgid "Install the file for the current user, instead of globally." +msgstr "Instaluje plik dla bieżącego użytkownika zamiast globalnie." + +#: tools/appstreamcli.c:631 msgid "" -"The selected video codec is not supported by AppStream and software centers " -"may not be able to play the video. Only the AV1 and VP9 codecs are currently " -"supported, using 'av1' and 'vp9' as values for the 'codec' property." +"You need to provide at least two version numbers to compare as parameters." msgstr "" -"Wybrany kodek wideo nie jest obsługiwany przez AppStream i centra " -"oprogramowania mogą nie móc odtworzyć filmu. Obecnie obsługiwane są tylko " -"kodeki AV1 i VP9 za pomocą „av1” i „vp9” jako wartości właściwości „codec”." +"Należy podać co najmniej dwa numery wersji, aby porównać jako parametry." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:231 +#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. +#: tools/appstreamcli.c:660 +#, c-format +msgid "Unknown compare relation '%s'. Valid values are:" +msgstr "Nieznany stosunek porównania „%s”. Prawidłowe wartości:" + +#: tools/appstreamcli.c:700 msgid "" -"The selected video container format is not supported by AppStream and " -"software centers may not be able to play the video. Only the WebM and " -"Matroska video containers are currently supported, using 'webm' and 'mkv' as " -"values for the 'container' property." +"Too many parameters: Need two version numbers or version numbers and a " +"comparison operator." msgstr "" -"Wybrany kontener wideo nie jest obsługiwany przez AppStream i centra " -"oprogramowania mogą nie móc odtworzyć filmu. Obecnie obsługiwane są tylko " -"kontenery WebM i Matroska za pomocą „webm” i „mkv” jako wartości właściwości " -"„container”." +"Za dużo parametrów: wymagane są dwa numery wersji lub numery wersji " +"i operator porównania." -#: src/as-validator-issue-tag.h:283 +#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) +#: tools/appstreamcli.c:726 msgid "" -"The set component type is not a recognized, valid AppStream component type." +"Use the given .desktop file to fill in the basic values of the metainfo file." msgstr "" -"Ustawiony typ składnika nie jest znanym, prawidłowym typem składnika " -"AppStream." +"Używa podanego pliku .desktop do wypełnienia podstawowych wartości pliku " +"Metainfo." -#: src/as-validator-issue-tag.h:398 +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand +#: tools/appstreamcli.c:731 msgid "" -"The set value is not an identifier for a desktop environment as registered " -"with Freedesktop.org." +"This command takes optional TYPE and FILE positional arguments, FILE being a " +"file to write to (or \"-\" for standard output)." msgstr "" -"Ustawiona wartość nie jest identyfikatorem środowiska pulpitu " -"zarejestrowanym we FreeDesktop.org." +"To polecenie przyjmuje opcjonalne parametry pozycyjne TYP i PLIK, gdzie PLIK " +"to plik, do którego zapisać (lub „-”, co oznacza standardowe wyjście)." -#: tools/ascli-actions-mdata.c:449 +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows +#: tools/appstreamcli.c:734 #, c-format -msgid "" -"The software component type '%s' is not valid in AppStream. Possible values " -"are:" -msgstr "" -"Typ składnika oprogramowania „%s” nie jest prawidłowy w AppStream. Możliwe " -"wartości:" +msgid "The TYPE must be a valid component-type, such as: %s" +msgstr "TYP musi być prawidłowym typem składnika, na przykład: %s" -#: src/as-validator-issue-tag.h:338 -msgid "The summary must not contain any URL. Use the tags for links." -msgstr "" -"Podsumowanie nie może zawierać adresu URL. Należy użyć znaczników dla " -"odnośników." +#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) +#: tools/appstreamcli.c:775 +msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." +msgstr "Używa podanego wiersza dla klucza „Exec=” pliku .desktop." -#: src/as-validator-issue-tag.h:640 -msgid "" -"The type of the item that the component provides is not known to AppStream." +#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command +#: tools/appstreamcli.c:815 +msgid "Assume the input file is in the selected format ('yaml' or 'text')." msgstr "" -"Typ elementu dostarczanego przez składnik jest nieznany specyfikacji " -"AppStream." +"Przyjmuje, że plik wejściowy jest w wybranym formacie („yaml” lub „text”)." -#: src/as-validator-issue-tag.h:174 +#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command +#: tools/appstreamcli.c:820 msgid "" -"The update-contact does not appear to be a valid email address (escaping of " -"'@' is only allowed as '_at_' or '_AT_')." +"Limit the number of release entries that end up in the metainfo file (0 for " +"unlimited)." msgstr "" -"„update-contact” nie jest prawidłowym adresem e-mail (znak „@” można " -"zastępować tylko za pomocą „_at_” lub „_AT_”)." +"Ogranicza liczbę wpisów wydań w pliku Metainfo (0 oznacza brak ograniczenia)." + +#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command +#: tools/appstreamcli.c:862 +msgid "Generate the output in the selected format ('yaml' or 'text')." +msgstr "Tworzy wyjście w wybranym formacie („yaml” lub „text”)." -#: tools/ascli-actions-validate.c:363 tools/ascli-actions-validate.c:492 +#: tools/appstreamcli.c:894 #, c-format -msgid "" -"The validator can not create reports in the '%s' format. You may select " -"'yaml' or 'text' instead." -msgstr "" -"Program sprawdzający nie może utworzyć raportów w formacie „%s”. Można " -"wybrać „yaml” lub „text” zamiast niego." +msgid "Compose binary '%s' was not found! Can not continue." +msgstr "Nie odnaleziono pliku binarnego składania „%s”. Nie można kontynuować." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:410 -msgid "This 'bundle' tag has an unknown type and can not be used." -msgstr "Ten znacznik „bundle” ma nieznany typ i nie może zostać użyty." +#. TRANSLATORS: this is a (usually shorter) command alias, shown after the command summary text +#: tools/appstreamcli.c:956 +#, c-format +msgid "(Alias: '%s')" +msgstr "(Alias: „%s”)" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:404 -msgid "This 'launchable' tag has an unknown type and can not be used." -msgstr "Ten znacznik „launchable” ma nieznany typ i nie może zostać użyty." +#. these are commands we can use with appstreamcli +#: tools/appstreamcli.c:983 +msgid "Subcommands:" +msgstr "Podpolecenia:" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:515 +#: tools/appstreamcli.c:1029 msgid "" -"This 'localization' component does not define any languages this " -"localization is for." +"You can find information about subcommand-specific options by passing \"--" +"help\" to the subcommand." msgstr "" -"Ten składnik „localization” nie określa żadnego języka, dla którego jest " -"lokalizacją." +"Przekazanie opcji „--help” do podpolecenia wyświetli informacje o opcjach " +"danego podpolecenia." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:509 +#. TRANSLATORS: ascli has been run with unknown command. '%s --help' is the command to receive help and should not be translated. +#: tools/appstreamcli.c:1052 +#, c-format msgid "" -"This 'localization' component is missing an 'extends' tag, to specify the " -"components it adds localization to." +"Command '%s' is unknown. Run '%s --help' for a list of available commands." msgstr "" -"Ten składnik „localization” nie ma znacznika „extends” do określenia " -"składników, do których dodaje lokalizację." +"Polecenie „%s” jest nieznane. Polecenie „%s --help” wyświetli listę " +"dostępnych poleceń." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:521 -msgid "" -"This 'service' component is missing a 'launchable' tag of type 'service'." -msgstr "Ten składnik „service” nie ma znacznika „launchable” typu „service”." +#. TRANSLATORS: ascli flag description for: --verbose +#: tools/appstreamcli.c:1082 +msgid "Show extra debugging information." +msgstr "Wyświetla dodatkowe informacje debugowania." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:473 -msgid "" -"This 'web-application' component is missing a 'icon' tag to specify a valid " -"icon." -msgstr "" -"Ten składnik „web-application” nie ma znacznika „icon” do określenia " -"prawidłowej ikony." +#. TRANSLATORS: ascli flag description for: --profile +#: tools/appstreamcli.c:1090 +msgid "Enable profiling" +msgstr "Włącza profilowanie" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:467 -msgid "" -"This 'web-application' component is missing a 'launchable' tag of type 'url'." -msgstr "" -"Ten składnik „web-application” nie ma znacznika „launchable” typu „url”." +#. TRANSLATORS: `appstreamcli search` command description. +#: tools/appstreamcli.c:1102 +msgid "Search the component database." +msgstr "Przeszukuje bazę danych składników." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:479 -msgid "" -"This 'web-application' component is missing categorizations. A 'categories' " -"block is likely missing." -msgstr "" -"Ten składnik „web-application” nie ma kategoryzacji. Prawdopodobnie brakuje " -"części „categories”." +#. TRANSLATORS: `appstreamcli get` command description. +#: tools/appstreamcli.c:1107 +msgid "Get information about a component by its ID." +msgstr "Pobiera informacje o składniku według jego identyfikatora." -#: src/as-validator-issue-tag.h:564 +#. TRANSLATORS: `appstreamcli what-provides` command description. +#: tools/appstreamcli.c:1112 msgid "" -"This XML document has an unknown root tag. Maybe this file is not a metainfo " -"document?" +"Get components which provide the given item. Needs an item type (e.g. lib, " +"bin, python3, …) and item value as parameter." msgstr "" -"Ten dokument XML ma nieznany główny znacznik. Może ten plik nie jest " -"dokumentem Metainfo?" +"Pobiera składniki dostarczające podany element. Wymaga typu elementu (np. " +"lib, bin, python3…) i wartości elementu jako parametr." -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand -#: tools/appstream-cli.c:680 -msgid "" -"This command takes optional TYPE and FILE positional arguments, FILE being a " -"file to write to (or \"-\" for standard output)." -msgstr "" -"To polecenie przyjmuje opcjonalne parametry pozycyjne TYP i PLIK, gdzie PLIK " -"to plik, do którego zapisać (lub „-”, co oznacza standardowe wyjście)." +#. TRANSLATORS: `appstreamcli dump` command description. +#: tools/appstreamcli.c:1118 +msgid "Dump raw XML metadata for a component matching the ID." +msgstr "Zrzuca surowe metadane XML dla składnika pasującego do identyfikatora." -#: src/as-validator-issue-tag.h:622 -msgid "" -"This component extends, provides, requires or recommends itself, which is " -"certainly not intended and may confuse users or machines dealing with this " -"metadata." -msgstr "" -"Ten składnik rozszerza, dostarcza, wymaga lub zaleca siebie, co na pewno nie " -"jest zamierzone i może być mylące dla użytkowników lub komputerów " -"używających tych metadanych." +#. TRANSLATORS: `appstreamcli refresh-cache` command description. +#: tools/appstreamcli.c:1123 +msgid "Rebuild the component metadata cache." +msgstr "Ponownie buduje pamięć podręczną metadanych składników." -#: src/as-validator-issue-tag.h:579 -msgid "This component metadata refers to a non-existing .desktop file." -msgstr "Te metadane składnika odnoszą się do nieistniejącego pliku .desktop." +#. TRANSLATORS: `appstreamcli validate` command description. +#: tools/appstreamcli.c:1129 +msgid "Validate AppStream XML files for issues." +msgstr "Sprawdza poprawność plików XML AppStream." -#: src/as-validator-issue-tag.h:69 -msgid "" -"This description paragraph contains invalid markup. Currently, only " -"and are permitted." -msgstr "" -"Ten akapit opisu zawiera nieprawidłowe znaczniki. Obecnie dozwolone są tylko " -"znaczniki ." +#. TRANSLATORS: `appstreamcli validate-tree` command description. +#: tools/appstreamcli.c:1134 +msgid "Validate an installed file-tree of an application for valid metadata." +msgstr "Sprawdza poprawność metadanych zainstalowanego drzewa plików programu." + +#. TRANSLATORS: `appstreamcli install` command description. +#: tools/appstreamcli.c:1140 +msgid "Install software matching the component-ID." +msgstr "Instaluje oprogramowanie pasujące do identyfikatora składnika." + +#. TRANSLATORS: `appstreamcli remove` command description. +#: tools/appstreamcli.c:1145 +msgid "Remove software matching the component-ID." +msgstr "Usuwa oprogramowanie pasujące do identyfikatora składnika." + +#. TRANSLATORS: `appstreamcli status` command description. +#: tools/appstreamcli.c:1151 +msgid "Display status information about available AppStream metadata." +msgstr "Wyświetla informacje o stanie dostępnych metadanych AppStream." -#: src/as-validator-issue-tag.h:57 +#. TRANSLATORS: `appstreamcli os-info` command description. +#: tools/appstreamcli.c:1156 msgid "" -"This element (paragraph, list, etc.) of a tag must not be " -"localized individually in collection metadata. Localize the whole " -" tag instead. The AppStream collection metadata generator (e." -"g. `appstream-generator`) will already do the right thing when compiling the " -"data." +"Show information about the current operating system from the metadata index." msgstr "" -"Ten element (akapit, lista itp.) znacznika nie może być " -"tłumaczony oddzielnie w metadanych kolekcji. Zamiast tego należy tłumaczyć " -"cały znacznik . Generator metadanych kolekcji AppStream (tzn. " -"„appstream-generator”) prawidłowo przetworzy ten element podczas " -"kompilowania danych." +"Wyświetla informacje o bieżącym systemie operacyjnym z indeksu metadanych." -#: src/as-validator-issue-tag.h:455 -msgid "" -"This generic component is missing a long description. It may be useful to " -"add one." -msgstr "" -"Ten ogólny składnik nie ma długiego opisu. Dodanie go może być przydatne." +#. TRANSLATORS: `appstreamcli put` command description. +#: tools/appstreamcli.c:1161 +msgid "Install a metadata file into the right location." +msgstr "Instaluje plik metadanych we właściwym położeniu." -#: src/as-validator-issue-tag.h:421 -msgid "" -"This tag is a GNOME-specific extension to AppStream and not part of the " -"official specification. Do not expect it to work in all implementations and " -"in all software centers." -msgstr "" -"Ten znacznik jest rozszerzeniem specyfikacji AppStream projektu GNOME i nie " -"jest częścią oficjalnej specyfikacji. Nie należy oczekiwać, że będzie " -"działał we wszystkich implementacjach i we wszystkich centrach " -"oprogramowania." +#. TRANSLATORS: `appstreamcli convert` command description. "Collection XML" is a term describing a specific type of AppStream XML data. +#: tools/appstreamcli.c:1166 +msgid "Convert collection XML to YAML or vice versa." +msgstr "Konwertuje XML kolekcji do YAML lub odwrotnie." -#: src/as-validator-issue-tag.h:41 -msgid "This tag requires a type property." -msgstr "Ten znacznik wymaga właściwości typu." +#. TRANSLATORS: `appstreamcli vercmp` command description. +#: tools/appstreamcli.c:1171 +msgid "Compare two version numbers." +msgstr "Porównuje dwa numery wersji." -#: data/org.freedesktop.appstream.cli.metainfo.xml:15 +#. TRANSLATORS: `appstreamcli new-template` command description. +#: tools/appstreamcli.c:1177 msgid "" -"This tool allows for reading, writing, validating and transformation of " -"AppStream XML or YAML metadata. It also gives access to the system metadata " -"pool, for example to query for software that provides a specific MIME-type, " -"and installing it by its software component identifier." -msgstr "" -"To narzędzie umożliwia odczytywanie, zapisywanie, sprawdzanie poprawności " -"i przekształcanie metadanych AppStream w językach XML i YAML. Umożliwia " -"także dostęp do puli metadanych systemu, aby na przykład wyszukać " -"oprogramowanie dostarczające podany typ MIME i zainstalować je według jego " -"identyfikatora składnika oprogramowania." +"Create a template for a metainfo file (to be filled out by the upstream " +"project)." +msgstr "Tworzy szablon pliku Metainfo (do wypełnienia przez projekt)." -#: src/as-validator-issue-tag.h:388 -msgid "" -"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." -msgstr "" -"Ten odnośnik internetowy używa protokołu FTP. Proszę rozważyć użycie HTTP(S) " -"zamiast tego." +#. TRANSLATORS: `appstreamcli make-desktop-file` command description. +#: tools/appstreamcli.c:1182 +msgid "Create a desktop-entry file from a metainfo file." +msgstr "Tworzy plik .desktop z pliku Metainfo." -#: tools/appstream-cli.c:648 -msgid "" -"Too many parameters: Need two version numbers or version numbers and a " -"comparison operator." -msgstr "" -"Za dużo parametrów: wymagane są dwa numery wersji lub numery wersji " -"i operator porównania." +#. TRANSLATORS: `appstreamcli news-to-metainfo` command description. +#: tools/appstreamcli.c:1187 +msgid "Convert a YAML or text NEWS file into metainfo releases." +msgstr "Konwertuje plik NEWS w formacie YAML lub tekstowym do wydań Metainfo." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:461 -msgid "" -"Type 'console-application' component, but no information about binaries in " -"$PATH was provided via a 'provides/binary' tag." +#. TRANSLATORS: `appstreamcli metainfo-to-news` command description. +#: tools/appstreamcli.c:1192 +msgid "Write NEWS text or YAML file with information from a metainfo file." msgstr "" -"Składnik jest typu „console-application”, ale nie podano żadnych informacji " -"o plikach binarnych w ścieżce $PATH za pomocą znacznika „provides/binary”." +"Zapisuje plik NEWS w formacie tekstowym lub YAML z informacjami z pliku " +"Metainfo." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:491 -msgid "" -"Type 'driver' component, but no modalias information was provided via a " -"provides/modalias tag." -msgstr "" -"Składnik jest typu „driver”, ale nie podano żadnych informacji modalias za " -"pomocą znacznika „provides/modalias”." +#. TRANSLATORS: `appstreamcli compose` command description. +#: tools/appstreamcli.c:1198 +msgid "Compose AppStream collection metadata from directory trees." +msgstr "Składa metadane kolekcji AppStream z drzew katalogów." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:485 -msgid "" -"Type 'font' component, but no font information was provided via a 'provides/" -"font' tag." -msgstr "" -"Składnik jest typu „font”, ale nie podano żadnych informacji o czcionce za " -"pomocą znacznika „provides/font”." +#. TRANSLATORS: ascli has been run without command. +#: tools/appstreamcli.c:1206 +msgid "You need to specify a command." +msgstr "Należy podać polecenie." -#: src/as-validator.c:333 -msgid "URL format is invalid." -msgstr "Format adresu URL jest nieprawidłowy." +#. TRANSLATORS: In ascli: The requested action needs higher permissions. +#: tools/ascli-actions-mdata.c:70 +msgid "You might need superuser permissions to perform this action." +msgstr "Wymagane są uprawnienia administratora, aby wykonać to działanie." + +#. we performed a cache refresh +#. TRANSLATORS: Updating the metadata cache succeeded +#: tools/ascli-actions-mdata.c:80 +msgid "AppStream cache update completed successfully." +msgstr "Pomyślnie ukończono aktualizację pamięci podręcznej AppStream." + +#. cache wasn't updated, so the update wasn't necessary +#: tools/ascli-actions-mdata.c:86 +msgid "AppStream cache update is not necessary." +msgstr "Aktualizacja pamięci podręcznej AppStream jest niepotrzebna." + +#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments +#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. +#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:253 +#: tools/ascli-actions-pkgmgr.c:80 +msgid "You need to specify a component-ID." +msgstr "Należy podać identyfikator składnika." -#: tools/ascli-actions-mdata.c:544 +#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:265 +#: tools/ascli-actions-pkgmgr.c:93 #, c-format -msgid "Unable to build the template metainfo file: %s" -msgstr "Nie można zbudować pliku szablonu Metainfo: %s" +msgid "Unable to find component with ID '%s'!" +msgstr "Nie można odnaleźć składnika o identyfikatorze „%s”." -#. TRANSLATORS: User is trying to convert a file in ascli -#: tools/ascli-actions-mdata.c:400 -msgid "" -"Unable to convert file: Could not determine output format, please set it " -"explicitly using '--format='." -msgstr "" -"Nie można konwertować pliku: nie można ustalić formatu wyjścia, proszę " -"ustawić go za pomocą „--format=”." +#: tools/ascli-actions-mdata.c:164 +msgid "You need to specify a term to search for." +msgstr "Należy podać termin do wyszukania." #. TRANSLATORS: We failed to find any component in the database, likely due to an error #: tools/ascli-actions-mdata.c:177 @@ -1780,206 +2667,223 @@ msgid "Unable to find component matching %s!" msgstr "Nie można odnaleźć składnika pasującego do %s." -#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:266 -#: tools/ascli-actions-pkgmgr.c:93 +#: tools/ascli-actions-mdata.c:182 #, c-format -msgid "Unable to find component with ID '%s'!" -msgstr "Nie można odnaleźć składnika o identyfikatorze „%s”." +msgid "No component matching '%s' found." +msgstr "Nie odnaleziono składnika pasującego do „%s”." -#: tools/ascli-actions-misc.c:224 +#: tools/ascli-actions-mdata.c:206 +msgid "No value for the item to search for was defined." +msgstr "Nie określono wartości dla wyszukiwanego elementu." + +#: tools/ascli-actions-mdata.c:212 +msgid "Invalid type for provided item selected. Valid values are:" +msgstr "Wybrano nieprawidłowy typ dla podanego elementu. Prawidłowe wartości:" + +#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results +#: tools/ascli-actions-mdata.c:227 #, c-format -msgid "Unable to load existing desktop-entry file template: %s" -msgstr "Nie można wczytać istniejącego szablonu pliku .desktop: %s" +msgid "Could not find component providing '%s::%s'." +msgstr "Nie można odnaleźć składnika dostarczającego „%s::%s”." -#: src/as-validator-issue-tag.h:356 -msgid "Unable to reach remote icon at the given web location - does it exist?" -msgstr "" -"Nie można połączyć się ze zdalną ikoną w podanym położeniu internetowym — " -"czy na pewno istnieje?" +#: tools/ascli-actions-mdata.c:306 +msgid "You need to specify a metadata file." +msgstr "Należy podać plik metadanych." + +#: tools/ascli-actions-mdata.c:320 +#, c-format +msgid "Unable to install metadata file: %s" +msgstr "Nie można zainstalować pliku metadanych: %s" + +#: tools/ascli-actions-mdata.c:340 +msgid "You need to specify an input and output file." +msgstr "Należy podać plik wejściowy i wyjściowy." + +#: tools/ascli-actions-mdata.c:347 +#, c-format +msgid "Metadata file '%s' does not exist." +msgstr "Plik metadanych „%s” nie istnieje." -#: src/as-validator-issue-tag.h:378 +#. TRANSLATORS: User is trying to convert a file in ascli +#: tools/ascli-actions-mdata.c:387 msgid "" -"Unable to reach remote location that this URL references - does it exist?" +"Unable to convert file: Could not determine output format, please set it " +"explicitly using '--format='." msgstr "" -"Nie można połączyć się ze zdalnym położeniem wskazywanym przez ten adres URL " -"— czy na pewno istnieje?" +"Nie można konwertować pliku: nie można ustalić formatu wyjścia, proszę " +"ustawić go za pomocą „--format=”." -#: src/as-validator-issue-tag.h:179 +#: tools/ascli-actions-mdata.c:438 +#, c-format +msgid "Unable to find operating system component '%s'!" +msgstr "Nie można odnaleźć składnika systemu operacyjnego „%s”." + +#: tools/ascli-actions-mdata.c:443 +msgid "Version" +msgstr "Wersja" + +#: tools/ascli-actions-mdata.c:467 msgid "" -"Unable to reach the screenshot image on its remote location - does the image " -"exist?" +"You need to give an AppStream software component type to generate a " +"template. Possible values are:" msgstr "" -"Nie można połączyć się z obrazem zrzutu ekranu w jego zdalnym położeniu — " -"czy na pewno istnieje?" +"Należy podać typ składnika oprogramowania AppStream, aby utworzyć szablon. " +"Możliwe wartości:" -#: src/as-validator-issue-tag.h:184 +#: tools/ascli-actions-mdata.c:469 +#, c-format msgid "" -"Unable to reach the screenshot video on its remote location - does the video " -"file exist?" +"The software component type '%s' is not valid in AppStream. Possible values " +"are:" msgstr "" -"Nie można połączyć się z filmem zrzutu ekranu w jego zdalnym położeniu — czy " -"na pewno istnieje?" - -#: src/as-validator-issue-tag.h:542 -msgid "Unable to read file." -msgstr "Nie można odczytać pliku." +"Typ składnika oprogramowania „%s” nie jest prawidłowy w AppStream. Możliwe " +"wartości:" -#: src/as-validator-issue-tag.h:574 -msgid "Unable to read the .desktop file associated with this component." -msgstr "Nie można odczytać pliku .desktop powiązanego z tym składnikiem." +#: tools/ascli-actions-mdata.c:487 +#, c-format +msgid "The .desktop file '%s' does not exist." +msgstr "Plik .desktop „%s” nie istnieje." -#: tools/ascli-actions-mdata.c:473 +#: tools/ascli-actions-mdata.c:493 #, c-format msgid "Unable to read the .desktop file: %s" msgstr "Nie można odczytać pliku .desktop: %s" -#: src/as-pool.c:606 -msgid "Unable to remove old cache." -msgstr "Nie można usunąć starej pamięci podręcznej." - -#: tools/ascli-actions-misc.c:370 +#: tools/ascli-actions-mdata.c:564 #, c-format -msgid "Unable to save desktop entry file: %s" -msgstr "Nie można zapisać pliku .desktop: %s" +msgid "Unable to build the template metainfo file: %s" +msgstr "Nie można zbudować pliku szablonu Metainfo: %s" -#: tools/ascli-actions-mdata.c:552 +#: tools/ascli-actions-mdata.c:572 #, c-format msgid "Unable to save the template metainfo file: %s" msgstr "Nie można zapisać pliku szablonu Metainfo: %s" -#: tools/ascli-actions-pkgmgr.c:67 -#, c-format -msgid "Unable to spawn package manager: %s" -msgstr "Nie można wywołać menedżera pakietów: %s" - -#: tools/ascli-actions-mdata.c:322 -#, c-format -msgid "Unable to write to '%s', can not install metainfo file." -msgstr "Nie można zapisać do „%s”, nie można zainstalować pliku metainfo." - -#. TRANSLATORS: ascli has been run with unknown command. -#: tools/appstream-cli.c:1009 -#, c-format -msgid "Unknown command '%s'." -msgstr "Nieznane polecenie „%s”." +#. TRANSLATORS: In the status report of ascli: Header +#: tools/ascli-actions-misc.c:47 +msgid "AppStream Status:" +msgstr "Stan AppStream:" -#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. -#: tools/appstream-cli.c:608 +#: tools/ascli-actions-misc.c:48 #, c-format -msgid "Unknown compare relation '%s'. Valid values are:" -msgstr "Nieznany stosunek porównania „%s”. Prawidłowe wartości:" - -#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) -#: tools/appstream-cli.c:675 -msgid "" -"Use the given .desktop file to fill in the basic values of the metainfo file." -msgstr "" -"Używa podanego pliku .desktop do wypełnienia podstawowych wartości pliku " -"Metainfo." - -#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) -#: tools/appstream-cli.c:725 -msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." -msgstr "Używa podanego wiersza dla klucza „Exec=” pliku .desktop." - -#. TRANSLATORS: this is the menu spec main category for Utilities -#: src/as-category.c:329 -msgid "Utilities" -msgstr "Narzędzia" - -#: tools/appstream-cli.c:856 -msgid "Validate AppStream XML files for issues." -msgstr "Sprawdza poprawność plików XML AppStream." +msgid "Version: %s" +msgstr "Wersja: %s" -#: tools/appstream-cli.c:857 -msgid "Validate an installed file-tree of an application for valid metadata." -msgstr "Sprawdza poprawność metadanych zainstalowanego drzewa plików programu." +#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions +#: tools/ascli-actions-misc.c:52 +msgid "Distribution metadata:" +msgstr "Metadane dystrybucji:" -#: tools/ascli-actions-validate.c:301 tools/ascli-actions-validate.c:442 -#, c-format -msgid "Validation failed: %s" -msgstr "Sprawdzenie poprawności się nie powiodło: %s" +#: tools/ascli-actions-misc.c:94 +msgid "Iconsets" +msgstr "Zestawy ikon" -#: tools/ascli-actions-validate.c:289 tools/ascli-actions-validate.c:430 -msgid "Validation was successful." -msgstr "Pomyślnie sprawdzono poprawność." +#: tools/ascli-actions-misc.c:105 +msgid "No icons." +msgstr "Brak ikon." -#: tools/ascli-actions-validate.c:291 tools/ascli-actions-validate.c:432 -#, c-format -msgid "Validation was successful: %s" -msgstr "Pomyślnie sprawdzono poprawność: %s" +#. TRANSLATORS: No metainfo files have been found +#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 +msgid "Empty." +msgstr "Puste." -#: tools/appstream-cli.c:851 -msgid "Value of the item that should be found." -msgstr "Wartość wyszukiwanego elementu." +#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report +#: tools/ascli-actions-misc.c:116 +msgid "Metainfo files:" +msgstr "Pliki Metainfo:" -#: src/as-category.c:177 -msgctxt "Category of Graphics" -msgid "Vector Graphics" -msgstr "Grafika wektorowa" +#: tools/ascli-actions-misc.c:123 +#, c-format +msgid "Found %i components." +msgstr "Odnaleziono składniki: %i." -#: tools/ascli-actions-misc.c:48 +#. TRANSLATORS: Found metainfo files in legacy directories +#: tools/ascli-actions-misc.c:138 #, c-format -msgid "Version: %s" -msgstr "Wersja: %s" +msgid "Found %i components in legacy paths." +msgstr "Odnaleziono składniki w przestarzałych ścieżkach: %i." -#: src/as-category.c:180 -msgctxt "Category of Graphics" -msgid "Viewers" -msgstr "Przeglądarki" +#. TRANSLATORS: Status summary in ascli +#: tools/ascli-actions-misc.c:145 +msgid "Summary:" +msgstr "Podsumowanie:" #: tools/ascli-actions-misc.c:153 #, c-format msgid "We have information on %i software components." msgstr "Składniki oprogramowania, o których są informacje: %i." -#: src/as-category.c:270 -msgctxt "Category of Communication" -msgid "Web Browsers" -msgstr "Przeglądarki WWW" - -#: src/as-category.c:202 -msgctxt "Category of Office" -msgid "Word Processor" -msgstr "Procesory tekstu" +#: tools/ascli-actions-misc.c:159 +#, c-format +msgid "Error while loading the metadata pool: %s" +msgstr "Błąd podczas wczytywania puli metadanych: %s" -#: tools/appstream-cli.c:871 -msgid "Write NEWS text or YAML file with information from a metainfo file." -msgstr "" -"Zapisuje plik NEWS w formacie tekstowym lub YAML z informacjami z pliku " -"Metainfo." +#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 +msgid "You need to specify a metainfo file as input." +msgstr "Należy podać plik Metainfo jako wejście." -#: tools/appstream-cli.c:874 +#: tools/ascli-actions-misc.c:188 msgid "" -"You can find information about subcommand-specific options by passing \"--" -"help\" to the subcommand." +"You need to specify a desktop-entry file to create or augment as output." msgstr "" -"Przekazanie opcji „--help” do podpolecenia wyświetli informacje o opcjach " -"danego podpolecenia." +"Należy podać plik .desktop do utworzenia lub powiększenia jako wyjście." -#. TRANSLATORS: In ascli: The requested action needs higher permissions. -#: tools/ascli-actions-mdata.c:70 -msgid "You might need superuser permissions to perform this action." -msgstr "Wymagane są uprawnienia administratora, aby wykonać to działanie." +#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 +#: tools/ascli-actions-misc.c:515 +#, c-format +msgid "Metainfo file '%s' does not exist." +msgstr "Plik Metainfo „%s” nie istnieje." -#: tools/ascli-actions-mdata.c:447 -msgid "" -"You need to give an AppStream software component type to generate a " -"template. Possible values are:" +#: tools/ascli-actions-misc.c:219 +#, c-format +msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." +msgstr "Powiększanie istniejącego pliku .desktop „%s” o dane z „%s”." + +#: tools/ascli-actions-misc.c:224 +#, c-format +msgid "Unable to load existing desktop-entry file template: %s" +msgstr "Nie można wczytać istniejącego szablonu pliku .desktop: %s" + +#: tools/ascli-actions-misc.c:228 +#, c-format +msgid "Creating new desktop-entry file '%s' using data from '%s'" +msgstr "Tworzenie nowego pliku .desktop „%s” za pomocą danych z „%s”" + +#: tools/ascli-actions-misc.c:284 +msgid "No stock icon name was provided in the metainfo file. Can not continue." msgstr "" -"Należy podać typ składnika oprogramowania AppStream, aby utworzyć szablon. " -"Możliwe wartości:" +"Nie podano nazwy standardowej ikony w pliku Metainfo. Nie można kontynuować." -#: tools/appstream-cli.c:579 +#: tools/ascli-actions-misc.c:306 msgid "" -"You need to provide at least two version numbers to compare as parameters." +"No provided binary specified in metainfo file, and no exec command specified " +"via '--exec'. Can not create 'Exec=' key." msgstr "" -"Należy podać co najmniej dwa numery wersji, aby porównać jako parametry." +"Nie podano dostarczanego pliku binarnego w pliku Metainfo, ani polecenia " +"wykonywania przez „--exec”. Nie można utworzyć klucza „Exec=”." + +#: tools/ascli-actions-misc.c:370 +#, c-format +msgid "Unable to save desktop entry file: %s" +msgstr "Nie można zapisać pliku .desktop: %s" #: tools/ascli-actions-misc.c:393 msgid "You need to specify a NEWS file as input." msgstr "Należy podać plik NEWS jako wejście." +#: tools/ascli-actions-misc.c:397 +msgid "" +"You need to specify a metainfo file to augment, or '-' to print to stdout." +msgstr "" +"Należy podać plik Metainfo do powiększenia lub „-”, aby wyświetlić na " +"standardowym wyjściu." + +#: tools/ascli-actions-misc.c:402 +msgid "No output filename specified, modifying metainfo file directly." +msgstr "" +"Nie podano nazwy pliku wyjściowego, bezpośrednie modyfikowanie pliku " +"Metainfo." + #: tools/ascli-actions-misc.c:509 msgid "You need to specify a NEWS file as output, or '-' to print to stdout." msgstr "" @@ -1990,141 +2894,189 @@ msgid "You need to specify a NEWS format to write the output in." msgstr "Należy podać format pliku NEWS, w którym zapisać wyjście." -#. TRANSLATORS: ascli has been run without command. -#: tools/appstream-cli.c:925 -msgid "You need to specify a command." -msgstr "Należy podać polecenie." - -#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments -#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. -#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:254 -#: tools/ascli-actions-pkgmgr.c:80 -msgid "You need to specify a component-ID." -msgstr "Należy podać identyfikator składnika." - -#: tools/ascli-actions-misc.c:188 -msgid "" -"You need to specify a desktop-entry file to create or augment as output." -msgstr "" -"Należy podać plik .desktop do utworzenia lub powiększenia jako wyjście." - -#: tools/ascli-actions-mdata.c:309 -msgid "You need to specify a metadata file." -msgstr "Należy podać plik metadanych." - -#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 -msgid "You need to specify a metainfo file as input." -msgstr "Należy podać plik Metainfo jako wejście." - -#: tools/ascli-actions-misc.c:397 +#: tools/ascli-actions-pkgmgr.c:53 msgid "" -"You need to specify a metainfo file to augment, or '-' to print to stdout." +"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" +"\" (part of PackageKit) is available." msgstr "" -"Należy podać plik Metainfo do powiększenia lub „-”, aby wyświetlić na " -"standardowym wyjściu." - -#: tools/ascli-actions-validate.c:385 tools/ascli-actions-validate.c:479 -msgid "You need to specify a root directory to start validation!" -msgstr "Należy podać główny katalog, aby rozpocząć sprawdzanie poprawności." - -#: tools/ascli-actions-mdata.c:164 -msgid "You need to specify a term to search for." -msgstr "Należy podać termin do wyszukania." +"Nie odnaleziono odpowiedniego interfejsu wiersza poleceń menedżera pakietów. " +"Proszę się upewnić, że dostępne jest np. polecenie „pkcon” (część pakietu " +"PackageKit)." -#: tools/ascli-actions-mdata.c:357 -msgid "You need to specify an input and output file." -msgstr "Należy podać plik wejściowy i wyjściowy." +#: tools/ascli-actions-pkgmgr.c:67 +#, c-format +msgid "Unable to spawn package manager: %s" +msgstr "Nie można wywołać menedżera pakietów: %s" -#: tools/ascli-actions-validate.c:263 tools/ascli-actions-validate.c:337 -msgid "You need to specify at least one file to validate!" -msgstr "Należy podać co najmniej jeden plik do sprawdzenia poprawności." +#. TRANSLATORS: We found no distribution package or bundle to install to make this software available +#: tools/ascli-actions-pkgmgr.c:106 +#, c-format +msgid "Component '%s' has no installation candidate." +msgstr "Składnik „%s” nie ma kandydata instalacji." -#. TRANSLATORS: List of "grey-listed" words sperated with ";" -#. * Do not translate this list directly. Instead, -#. * provide a list of words in your language that people are likely -#. * to include in a search but that should normally be ignored in -#. * the search. -#. -#: src/as-pool.c:107 -msgid "app;application;package;program;programme;suite;tool" -msgstr "" -"aplikacja;apka;app;application;pakiet;paczka;package;program;programme;" -"zestaw;suite;narzędzie;tool" +#: tools/ascli-actions-validate.c:176 tools/ascli-actions-validate.c:354 +#, c-format +msgid "File '%s' does not exist." +msgstr "Plik „%s” nie istnieje." -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:223 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "error"-type hints +#: tools/ascli-actions-validate.c:228 #, c-format msgid "errors: %lu" msgstr "błędy: %lu" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:237 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "warning"-type hints +#: tools/ascli-actions-validate.c:235 +#, c-format +msgid "warnings: %lu" +msgstr "ostrzeżenia: %lu" + +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "info"-type hints +#: tools/ascli-actions-validate.c:242 #, c-format msgid "infos: %lu" msgstr "informacje: %lu" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:244 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "pedantic"-type hints +#: tools/ascli-actions-validate.c:249 #, c-format msgid "pedantic: %lu" msgstr "drobne problemy: %lu" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:230 +#: tools/ascli-actions-validate.c:268 tools/ascli-actions-validate.c:342 +msgid "You need to specify at least one file to validate!" +msgstr "Należy podać co najmniej jeden plik do sprawdzenia poprawności." + +#: tools/ascli-actions-validate.c:294 tools/ascli-actions-validate.c:435 +msgid "Validation was successful." +msgstr "Pomyślnie sprawdzono poprawność." + +#: tools/ascli-actions-validate.c:296 tools/ascli-actions-validate.c:437 #, c-format -msgid "warnings: %lu" -msgstr "ostrzeżenia: %lu" +msgid "Validation was successful: %s" +msgstr "Pomyślnie sprawdzono poprawność: %s" -#~ msgid "" -#~ "Unable to find the curl binary. remote URLs can not be checked for " -#~ "validity!" -#~ msgstr "" -#~ "Nie można odnaleźć pliku binarnego curl. Nie można sprawdzić poprawności " -#~ "zdalnych adresów URL." +#: tools/ascli-actions-validate.c:306 tools/ascli-actions-validate.c:447 +#, c-format +msgid "Validation failed: %s" +msgstr "Sprawdzenie poprawności się nie powiodło: %s" -#~ msgid "Command '%s' is unknown." -#~ msgstr "Nieznane polecenie „%s”." +#: tools/ascli-actions-validate.c:368 tools/ascli-actions-validate.c:497 +#, c-format +msgid "" +"The validator can not create reports in the '%s' format. You may select " +"'yaml' or 'text' instead." +msgstr "" +"Program sprawdzający nie może utworzyć zgłoszeń w formacie „%s”. Można " +"wybrać „yaml” lub „text” zamiast niego." -#~ msgid "Do not use any caches when performing the request." -#~ msgstr "Bez używania pamięci podręcznych podczas wykonywania żądania." +#: tools/ascli-actions-validate.c:390 tools/ascli-actions-validate.c:484 +msgid "You need to specify a root directory to start validation!" +msgstr "Należy podać główny katalog, aby rozpocząć sprawdzanie poprawności." + +#: tools/ascli-utils.c:266 +msgid "Identifier" +msgstr "Identyfikator" -#~ msgid "AppStream cache update failed." -#~ msgstr "Aktualizacja pamięci podręcznej AppStream się nie powiodła." +#: tools/ascli-utils.c:268 +msgid "Internal ID" +msgstr "Wewnętrzny identyfikator" -#~ msgid "" -#~ "AppStream data pool was loaded, but some metadata was ignored due to " -#~ "errors." -#~ msgstr "" -#~ "Wczytano pulę danych AppStream, ale zignorowano część metadanych z powodu " -#~ "błędów." +#: tools/ascli-utils.c:269 +msgid "Name" +msgstr "Nazwa" + +#: tools/ascli-utils.c:270 +msgid "Summary" +msgstr "Podsumowanie" + +#: tools/ascli-utils.c:271 +msgid "Package" +msgstr "Pakiet" + +#: tools/ascli-utils.c:272 +msgid "Bundle" +msgstr "Paczka" + +#: tools/ascli-utils.c:273 +msgid "Homepage" +msgstr "Strona domowa" + +#: tools/ascli-utils.c:274 +msgid "Icon" +msgstr "Ikona" + +#. developer name +#: tools/ascli-utils.c:294 +msgid "Developer" +msgstr "Programista" + +#: tools/ascli-utils.c:300 +msgid "Extends" +msgstr "Rozszerza" -#~ msgid "Can not search for unknown component type." -#~ msgstr "Nie można szukać nieznanego typu składnika." +#: tools/ascli-utils.c:306 +msgid "Description" +msgstr "Opis" + +#: tools/ascli-utils.c:326 +msgid "Default Screenshot URL" +msgstr "Adres URL domyślnego zrzutu ekranu" + +#. project group +#: tools/ascli-utils.c:333 +msgid "Project Group" +msgstr "Grupa projektu" + +#. license +#: tools/ascli-utils.c:336 +msgid "License" +msgstr "Licencja" + +#: tools/ascli-utils.c:342 +msgid "Categories" +msgstr "Kategorie" + +#: tools/ascli-utils.c:350 +msgid "Compulsory for" +msgstr "Obowiązkowe dla" -#, fuzzy -#~ msgid "Category of Education" -#~ msgstr "Edukacja" +#: tools/ascli-utils.c:378 +msgid "Provided Items" +msgstr "Dostarczane elementy" + +#, c-format +#~ msgid "Unable to open new cache file: %s" +#~ msgstr "Nie można otworzyć nowego pliku pamięci podręcznej: %s" -#, fuzzy -#~ msgid "Category of Games" -#~ msgstr "Kategorie" +#~ msgid "" +#~ "AppStream is a cross-distribution specification to provide metadata about " +#~ "software components." +#~ msgstr "" +#~ "AppStream to specyfikacja używana przez wiele dystrybucji do dostarczania " +#~ "metadanych o składnikach oprogramowania." -#, fuzzy -#~ msgid "Category of Office" -#~ msgstr "Kategorie" +#, c-format +#~ msgid "Unable to write to '%s', can not install metainfo file." +#~ msgstr "Nie można zapisać do „%s”, nie można zainstalować pliku metainfo." -#, fuzzy -#~ msgid "Category of Science" -#~ msgstr "Kategorie" +#, c-format +#~ msgid "" +#~ "Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " +#~ "suffix." +#~ msgstr "" +#~ "Nie można skopiować „%s”: plik nie ma przyrostka „.metainfo.xml” lub „." +#~ "appdata.xml”." -#~ msgid "Extensions" -#~ msgstr "Rozszerzenia" +#~ msgid "An item type (e.g. lib, bin, python3, …)" +#~ msgstr "Typ elementu (np. lib, bin, python3…)" -#~ msgid "File %s not found or permission denied!" -#~ msgstr "Nie odnaleziono pliku %s lub odmówiono uprawnień." +#~ msgid "Get components which provide the given item." +#~ msgstr "Pobiera składniki dostarczające podany element." -#~ msgid "No component providing '%s::%s' found." -#~ msgstr "Nie odnaleziono składnika dostarczającego „%s::%s”." +#, c-format +#~ msgid "Unknown command '%s'." +#~ msgstr "Nieznane polecenie „%s”." -#~ msgid "XDG Menu XML file '%s' is damaged." -#~ msgstr "Plik menu XDG w formacie XML „%s” jest uszkodzony." +#~ msgid "Value of the item that should be found." +#~ msgstr "Wartość wyszukiwanego elementu." diff -Nru appstream-0.12.10/po/POTFILES.in appstream-0.14.5/po/POTFILES.in --- appstream-0.12.10/po/POTFILES.in 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/po/POTFILES.in 2021-08-28 20:15:28.000000000 +0000 @@ -10,6 +10,8 @@ src/as-category.c src/as-checksum.c src/as-component.c +src/as-content-rating.c +src/as-curl.c src/as-desktop-entry.c src/as-distro-details.c src/as-distro-extras.c @@ -19,9 +21,11 @@ src/as-metadata.c src/as-news-convert.c src/as-pool.c +src/as-profile.c src/as-provided.c src/as-relation.c src/as-release.c +src/as-review.c src/as-screenshot.c src/as-suggested.c src/as-tag.c @@ -30,11 +34,14 @@ src/as-validator.c src/as-validator-issue.c src/as-validator-issue-tag.h +src/as-vercmp.c +src/as-version.c src/as-video.c src/as-xml.c src/as-yaml.c # tool sources -tools/appstream-cli.c +tools/appstream-compose.c +tools/appstreamcli.c tools/ascli-utils.c tools/ascli-actions-mdata.c tools/ascli-actions-pkgmgr.c diff -Nru appstream-0.12.10/po/pt_BR.po appstream-0.14.5/po/pt_BR.po --- appstream-0.12.10/po/pt_BR.po 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/po/pt_BR.po 2021-08-28 20:15:28.000000000 +0000 @@ -1,16 +1,32 @@ +# #-#-#-#-# pt_BR.po (AppStream) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Matthias Klumpp # This file is distributed under the same license as the appstream package. # Translators: # André Marcelo Alvarenga , 2016 # Rafael Fontenelle , 2015-2016 -# Rafael Fontenelle , 2017, 2019, 2020. +# Rafael Fontenelle , 2017, 2019, 2020, 2021. +# Wellington Terumi Uemura , 2020. +# André Marcelo Alvarenga , 2020, 2021. +# #-#-#-#-# pt_BR.po (appstream-glib) #-#-#-#-# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Rafael Fontenelle , 2015-2016 +# André Marcelo Alvarenga , 2016 +# Richard Hughes , 2016. #zanata +# Antonio Lisbôa , 2017. #zanata +# Vinícius Pereira Aiala , 2019. #zanata +# Marvin SIlc , 2020. +# Fábio Rodrigues Ribeiro , 2021. +# +# Translators: msgid "" msgstr "" -"Project-Id-Version: AppStream\n" +"Project-Id-Version: appstream-glib\n" "Report-Msgid-Bugs-To: appstream@lists.freedesktop.org\n" -"POT-Creation-Date: 2020-01-14 01:44+0100\n" -"PO-Revision-Date: 2020-01-15 03:21+0000\n" +"POT-Creation-Date: 2021-08-28 16:09+0200\n" +"PO-Revision-Date: 2021-08-28 20:04+0000\n" "Last-Translator: Rafael Fontenelle \n" "Language-Team: Portuguese (Brazil) \n" "Language: pt_BR\n" @@ -18,1282 +34,1716 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 3.11-dev\n" - -#: tools/appstream-cli.c:157 -#, c-format -msgid "'%s' command" -msgstr "comando “%s”" - -#: src/as-category.c:168 -msgctxt "Category of Graphics" -msgid "3D Graphics" -msgstr "Gráficos 3D" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:254 -msgid "" -"A 'requires' or 'recommends' item requires a value to denote a valid " -"relation." -msgstr "" -"Um item 'requires' ou 'recommends' requer um valor para denotar uma relação " -"válida." - -#: src/as-validator-issue-tag.h:51 -msgid "" -"A tag must not be localized in metainfo files (upstream " -"metadata). Localize the individual paragraphs instead." -msgstr "" -"Uma tag não deve ser localizada em arquivos metainfo " -"(metadados de upstream). Em vez disso, localize parágrafos individuais." - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:195 -msgid "" -"A screenshot must contain at least one image or video in order to be useful. " -"Please add an to it." -msgstr "" -"Uma captura de tela deve conter pelo menos uma imagem ou vídeo para ser " -"útil. Adicione uma a ela." - -#: src/as-validator-issue-tag.h:200 -msgid "" -"A screenshot must contain either images or videos, but not both at the same " -"time. Please use this screenshot exclusively for either static images or for " -"videos." -msgstr "" -"Uma captura de tela deve conter imagens ou vídeos, mas não ambos ao mesmo " -"tempo. Por favor, use esta captura de tela exclusivamente para imagens " -"estáticas ou para vídeos." - -#: src/as-category.c:123 -msgctxt "Category of Games" -msgid "Action" -msgstr "Ação" - -#. TRANSLATORS: this is the main category for Add-ons -#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor -#: src/as-category.c:320 tools/ascli-utils.c:398 -msgid "Add-ons" -msgstr "Extensões" - -#: src/as-category.c:126 -msgctxt "Category of Games" -msgid "Adventure" -msgstr "Aventura" - -#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) -#: tools/appstream-cli.c:116 -msgid "Also show pedantic hints." -msgstr "Também mostre dicas pedestrais." - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:497 -msgid "" -"An 'extends' tag is specified, but the component is not of type 'addon', " -"'localization' or 'repository'." -msgstr "" -"Uma tag 'extends' está especificada, mas o componente não é do tipo 'addon', " -"'localization' ou 'repository'." - -#: tools/appstream-cli.c:850 -msgid "An item type (e.g. lib, bin, python3, …)" -msgstr "Um tipo de item (ex.: lib, bin, python3, …)" - -#: data/org.freedesktop.appstream.cli.metainfo.xml:9 -msgid "An utility to work with AppStream metadata" -msgstr "Um utilitário para trabalhar com os metadados do AppStream" +"X-Generator: Weblate 4.8.1-dev\n" #: data/org.freedesktop.appstream.cli.metainfo.xml:8 msgid "AppStream CLI" msgstr "CLI do AppStream" -#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. -#: tools/appstream-cli.c:947 -#, c-format -msgid "" -"AppStream CLI tool version: %s\n" -"AppStream library version: %s" -msgstr "" -"Versão da ferramenta CLI do AppStream: %s\n" -"Versão da biblioteca do AppStream: %s" - -#. TRANSLATORS: In the status report of ascli: Header -#: tools/ascli-actions-misc.c:47 -msgid "AppStream Status:" -msgstr "Status do AppStream:" - -#. we performed a cache refresh -#. TRANSLATORS: Updating the metadata cache succeeded -#: tools/ascli-actions-mdata.c:80 -msgid "AppStream cache update completed successfully." -msgstr "Atualização do cache do AppStream concluído com sucesso." - -#. cache wasn't updated, so the update wasn't necessary -#: tools/ascli-actions-mdata.c:86 -msgid "AppStream cache update is not necessary." -msgstr "Atualização do cache do AppStream não é necessária." - -#. TRANSLATORS: This is the header to the --help menu for subcommands -#. TRANSLATORS: This is the header to the --help menu -#: tools/appstream-cli.c:154 tools/appstream-cli.c:843 -msgid "AppStream command-line interface" -msgstr "Interface de linha de comando do AppStream" - -#: src/as-validator-issue-tag.h:63 -msgid "" -"AppStream descriptions support only a limited set of tags to format text: " -"Paragraphs (

                                                                                                                                                                                                                                                                                        ) and lists (

                                                                                                                                                                                                                                                                                          ,
                                                                                                                                                                                                                                                                                            ). This description markup contains " -"an invalid XML tag that would not be rendered correctly in applications " -"supporting the metainfo specification." -msgstr "" -"As descrições do AppStream possuem suporte apenas a um conjunto limitado de " -"tags para formatar texto: parágrafos (

                                                                                                                                                                                                                                                                                            ) e listas (

                                                                                                                                                                                                                                                                                              ,
                                                                                                                                                                                                                                                                                                ). Essa " -"marcação de descrição contém uma marca XML inválida que não seria processada " -"corretamente em aplicativos que possuem suporte à especificação metainfo." +#: data/org.freedesktop.appstream.cli.metainfo.xml:9 +msgid "An utility to work with AppStream metadata" +msgstr "Um utilitário para trabalhar com os metadados do AppStream" #: data/org.freedesktop.appstream.cli.metainfo.xml:12 msgid "" -"AppStream is a cross-distribution specification to provide metadata about " -"software components." -msgstr "" -"AppStream é uma especificação independente de distribuição para provimento " -"de metadados sobre componentes de software." +"AppStream is a metadata specification which permits software components to " +"provide information about themselves to automated systems and end-users " +"before the software is actually installed. The AppStream project provides " +"facilities to easily access and transform this metadata, as well as a few " +"additional services for building feature-rich software centers and similar " +"applications that make use of software metadata." +msgstr "" +"AppStream é uma especificação de metadados que permite que os componentes de " +"software forneçam informações sobre si mesmos a sistemas automatizados e " +"usuários finais antes que o software seja realmente instalado. O projeto " +"AppStream oferece facilidades para acessar e transformar facilmente esses " +"metadados, bem como alguns serviços adicionais para construir centros de " +"software repletos de recursos e aplicativos similares que fazem uso de " +"metadados de software." + +#: data/org.freedesktop.appstream.cli.metainfo.xml:18 +msgid "" +"The appstreamcli command-line tool allows to read, write, and " +"transform AppStream XML or YAML metadata as well as to validate it for " +"compliance with the specification. It also provides easy access to the " +"system metadata pool, for example to query for software that provides a " +"specific Mediatype handler or for installing software by its component " +"identifier." +msgstr "" +"Esta ferramenta de linha de comando appstreamcli permite ler, " +"escrever e transformar metadados AppStream em XML ou YAML, bem como validá-" +"los para conformidade com a especificação. Também permite acessar o pool de " +"metadados do sistema para, por exemplo, consultar por um software fornecendo " +"um manipulador de tipo de mídia específico e instalar o software usando o " +"identificador de seu componente." -#: src/as-pool.c:1937 -#, c-format -msgid "" -"AppStream system cache refresh failed. Turn on verbose mode to get detailed " -"issue information." -msgstr "" -"Atualização do cache do AppStream falhou. Ative o modo verboso para obter " -"mais informações detalhadas de problemas." +#: src/as-category.c:66 +msgctxt "Category of AudioVideo" +msgid "Featured" +msgstr "Destaque" -#. TRANSLATORS: Output if appstreamcli --version is executed. -#: tools/appstream-cli.c:944 -#, c-format -msgid "AppStream version: %s" -msgstr "Versão do AppStream: %s" +#: src/as-category.c:69 +msgctxt "Category of AudioVideo" +msgid "Audio Creation & Editing" +msgstr "Criação e edição de áudio" -#: src/as-category.c:129 -msgctxt "Category of Games" -msgid "Arcade" -msgstr "Arcade" +#: src/as-category.c:75 +msgctxt "Category of AudioVideo" +msgid "Music Players" +msgstr "Reprodutores de música" -#: src/as-category.c:234 -msgctxt "Category of Science" -msgid "Artificial Intelligence" -msgstr "Inteligência artificial" +#: src/as-category.c:84 +msgctxt "Category of Development" +msgid "Featured" +msgstr "Destaque" -#: src/as-validator-issue-tag.h:91 -msgid "" -"As per AppStream specification, the mentioned tag must only appear once in " -"this context. Having multiple tags of this kind is not valid." -msgstr "" -"Conforme a especificação de AppStream, a tag mencionada só deve aparecer uma " -"vez neste contexto. Ter várias tags desse tipo não é válido." +#: src/as-category.c:87 +msgctxt "Category of Development" +msgid "Debuggers" +msgstr "Debuggers" -#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command -#: tools/appstream-cli.c:766 -msgid "Assume the input file is in the selected format ('yaml' or 'text')." -msgstr "" -"Presume que o arquivo de entrada está no formato selecionado (“yaml” ou " -"“text”)." +#: src/as-category.c:90 +msgctxt "Category of Development" +msgid "IDEs" +msgstr "IDEs" -#: src/as-category.c:101 +#: src/as-category.c:99 msgctxt "Category of Education" -msgid "Astronomy" -msgstr "Astronomia" +msgid "Featured" +msgstr "Destaque" -#: src/as-category.c:237 -msgctxt "Category of Science" +#: src/as-category.c:102 +msgctxt "Category of Education" msgid "Astronomy" msgstr "Astronomia" -#. TRANSLATORS: this is the menu spec main category for Audio & Video -#: src/as-category.c:302 -msgid "Audio & Video" -msgstr "Áudio e vídeo" +#: src/as-category.c:105 +msgctxt "Category of Education" +msgid "Chemistry" +msgstr "Química" -#: src/as-category.c:68 -msgctxt "Category of AudioVideo" -msgid "Audio Creation & Editing" -msgstr "Criação e edição de áudio" +#: src/as-category.c:108 +msgctxt "Category of Education" +msgid "Languages" +msgstr "Idiomas" -#: tools/ascli-actions-misc.c:219 -#, c-format -msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." -msgstr "" -"Aumentando o arquivo de entrada de desktop existente “%s” com dados de “%s”." +#: src/as-category.c:112 +msgctxt "Category of Education" +msgid "Math" +msgstr "Matemática" -#: src/as-provided.c:146 -msgid "Binaries" -msgstr "Binários" +#: src/as-category.c:121 +msgctxt "Category of Games" +msgid "Featured" +msgstr "Destaque" -#: src/as-category.c:132 +#: src/as-category.c:124 +msgctxt "Category of Games" +msgid "Action" +msgstr "Ação" + +#: src/as-category.c:127 +msgctxt "Category of Games" +msgid "Adventure" +msgstr "Aventura" + +#: src/as-category.c:130 +msgctxt "Category of Games" +msgid "Arcade" +msgstr "Arcade" + +#: src/as-category.c:133 msgctxt "Category of Games" msgid "Blocks" msgstr "Blocos" -#: src/as-category.c:135 +#: src/as-category.c:136 msgctxt "Category of Games" msgid "Board" msgstr "Tabuleiro" -#: tools/ascli-utils.c:299 -msgid "Bundle" -msgstr "Pacote" - -#: src/as-pool.c:1828 -#, c-format -msgid "Cache location '%s' is not writable." -msgstr "A localização de cache “%s” não é gravável." - -#: src/as-category.c:191 -msgctxt "Category of Office" -msgid "Calendar" -msgstr "Calendário" - -#: tools/ascli-actions-mdata.c:327 -#, c-format -msgid "" -"Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " -"suffix." -msgstr "" -"Não é possível copiar “%s”: O arquivo não tem um sufixo “.metainfo.xml” ou “." -"appdata.xml”." - -#: src/as-category.c:138 +#: src/as-category.c:139 msgctxt "Category of Games" msgid "Card" msgstr "Cartão" -#: tools/ascli-utils.c:369 -msgid "Categories" -msgstr "Categorias" +#: src/as-category.c:142 +msgctxt "Category of Games" +msgid "Emulators" +msgstr "Emuladores" -#: src/as-category.c:259 -msgctxt "Category of Communication" -msgid "Chat" -msgstr "Chat" +#: src/as-category.c:145 +msgctxt "Category of Games" +msgid "Kids" +msgstr "Crianças" -#: src/as-category.c:104 -msgctxt "Category of Education" -msgid "Chemistry" -msgstr "Química" +#: src/as-category.c:148 +msgctxt "Category of Games" +msgid "Logic" +msgstr "Lógica" -#: src/as-category.c:240 -msgctxt "Category of Science" -msgid "Chemistry" -msgstr "Química" +#: src/as-category.c:151 +msgctxt "Category of Games" +msgid "Role Playing" +msgstr "RPGs" -#: src/as-category.c:214 -msgctxt "Category of Addons" -msgid "Codecs" -msgstr "Codecs" +#: src/as-category.c:154 +msgctxt "Category of Games" +msgid "Sports" +msgstr "Esportes" -#. TRANSLATORS: this is the menu spec main category for Communication -#: src/as-category.c:326 -msgid "Communication & News" -msgstr "Comunicação e notícias" +#: src/as-category.c:158 +msgctxt "Category of Games" +msgid "Strategy" +msgstr "Estratégia" -#: tools/appstream-cli.c:866 -msgid "Compare two version numbers." -msgstr "Compara dois números de versões." - -#: src/as-provided.c:166 -msgid "Component" -msgstr "Componente" - -#. TRANSLATORS: We found no distribution package or bundle to install to make this software available -#: tools/ascli-actions-pkgmgr.c:106 -#, c-format -msgid "Component '%s' has no installation candidate." -msgstr "O componente “%s” não possui candidato a instalação." - -#: tools/ascli-utils.c:377 -msgid "Compulsory for" -msgstr "Compulsório para" - -#: src/as-validator-issue-tag.h:361 -msgid "Consider using a secure (HTTPS) URL for the remote icon link." -msgstr "Considere usar uma URL segura (HTTPS) para o link de ícone remoto." - -#: src/as-validator-issue-tag.h:383 -msgid "Consider using a secure (HTTPS) URL for this web link." -msgstr "Considere usar uma URL segura (HTTPS) para este link web." - -#: src/as-validator-issue-tag.h:189 -msgid "" -"Consider using a secure (HTTPS) URL to reference this screenshot image or " -"video." -msgstr "" -"Considere usar uma URL segura (HTTPS) para fazer referência a esta imagem de " -"captura de tela ou vídeo." - -#: tools/appstream-cli.c:870 -msgid "Convert a YAML or text NEWS file into metainfo releases." -msgstr "Converte um arquivo YAML ou NEWS texto em lançamento de metainfo." +#: src/as-category.c:166 +msgctxt "Category of Graphics" +msgid "Featured" +msgstr "Destaque" -#. TRANSLATORS: "convert" command in ascli. "Collection XML" is a term describing a specific type of AppStream XML data. -#: tools/appstream-cli.c:865 -msgid "Convert collection XML to YAML or vice versa." -msgstr "Converter XML para YAML ou vice-versa." +#: src/as-category.c:169 +msgctxt "Category of Graphics" +msgid "3D Graphics" +msgstr "Gráficos 3D" -#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results -#: tools/ascli-actions-mdata.c:228 -#, c-format -msgid "Could not find component providing '%s::%s'." -msgstr "Não foi possível localizar componente fornecendo “%s::%s”." +#: src/as-category.c:172 +msgctxt "Category of Graphics" +msgid "Photography" +msgstr "Fotografia" -#: tools/appstream-cli.c:869 -msgid "Create a XDG desktop-entry file from a metainfo file." -msgstr "" -"Cria um arquivo de entrada de desktop XDG a partir de um arquivo metainfo." +#: src/as-category.c:175 +msgctxt "Category of Graphics" +msgid "Scanning" +msgstr "Digitalização" -#: tools/appstream-cli.c:868 -msgid "" -"Create a template for a metainfo file (to be filled out by the upstream " -"project)." -msgstr "" -"Cria um modelo para um arquivo metainfo (a ser preenchido pelo projeto " -"upstream)." +#: src/as-category.c:178 +msgctxt "Category of Graphics" +msgid "Vector Graphics" +msgstr "Gráficos vetoriais" -#: tools/ascli-actions-misc.c:228 -#, c-format -msgid "Creating new desktop-entry file '%s' using data from '%s'" -msgstr "Criando novo arquivo de entrada de desktop “%s” usando dados de “%s”" +#: src/as-category.c:181 +msgctxt "Category of Graphics" +msgid "Viewers" +msgstr "Visualizadores" -#: src/as-provided.c:160 -msgid "D-Bus Session Services" -msgstr "Serviços de sessão do D-Bus" +#: src/as-category.c:189 +msgctxt "Category of Office" +msgid "Featured" +msgstr "Destaque" -#: src/as-provided.c:158 -msgid "D-Bus System Services" -msgstr "Serviços de sistema do D-Bus" +#: src/as-category.c:192 +msgctxt "Category of Office" +msgid "Calendar" +msgstr "Calendário" -#: src/as-category.c:195 +#: src/as-category.c:196 msgctxt "Category of Office" msgid "Database" msgstr "Banco de dados" -#: src/as-category.c:86 -msgctxt "Category of Development" -msgid "Debuggers" -msgstr "Debuggers" - -#: tools/ascli-utils.c:353 -msgid "Default Screenshot URL" -msgstr "URL padrão para captura de tela" - -#. TRANSLATORS: ascli flag description for: --format -#: tools/appstream-cli.c:83 -msgid "Default metadata format (valid values are 'xml' and 'yaml')." -msgstr "Formato de metadados padrão (valores válidos são “xml” e “yaml”)." - -#: tools/ascli-utils.c:333 -msgid "Description" -msgstr "Descrição" - -#. developer name -#: tools/ascli-utils.c:321 -msgid "Developer" -msgstr "Desenvolvedor" - -#. TRANSLATORS: this is the menu spec main category for Development -#: src/as-category.c:305 -msgid "Developer Tools" -msgstr "Ferramentas do desenvolvedor" - -#: tools/appstream-cli.c:862 -msgid "Display status information about available AppStream metadata." -msgstr "Exibir informações sobre metadados disponíveis do AppStream." +#: src/as-category.c:199 +msgctxt "Category of Office" +msgid "Finance" +msgstr "Finanças" -#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions -#: tools/ascli-actions-misc.c:52 -msgid "Distribution metadata:" -msgstr "Metadados de distribuição:" +#: src/as-category.c:203 +msgctxt "Category of Office" +msgid "Word Processor" +msgstr "Processadores de texto" -#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) -#: tools/appstream-cli.c:126 -msgid "Do not use network access." -msgstr "Não usa acesso de rede." +#: src/as-category.c:212 +msgctxt "Category of Addons" +msgid "Fonts" +msgstr "Fontes" -#. TRANSLATORS: ascli flag description for: --no-color -#: tools/appstream-cli.c:908 -msgid "Don't show colored output." -msgstr "Não exibir saída colorida." +#: src/as-category.c:215 +msgctxt "Category of Addons" +msgid "Codecs" +msgstr "Codecs" -#: tools/appstream-cli.c:853 -msgid "Dump raw XML metadata for a component matching the ID." -msgstr "" -"Despejar metadados XML não tratados para um componente coincidindo com o ID." +#: src/as-category.c:218 +msgctxt "Category of Addons" +msgid "Input Sources" +msgstr "Fontes de entrada" -#. TRANSLATORS: this is the menu spec main category for Education -#: src/as-category.c:308 -msgid "Education" -msgstr "Educação" +#: src/as-category.c:221 +msgctxt "Category of Addons" +msgid "Language Packs" +msgstr "Pacote de idiomas" -#. TRANSLATORS: No metainfo files have been found -#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 -msgid "Empty." -msgstr "Vazio." +#: src/as-category.c:224 +msgctxt "Category of Addons" +msgid "Localization" +msgstr "Localização" -#: src/as-category.c:141 -msgctxt "Category of Games" -msgid "Emulators" -msgstr "Emuladores" +#: src/as-category.c:232 +msgctxt "Category of Science" +msgid "Featured" +msgstr "Destaque" -#. TRANSLATORS: ascli flag description for: --force -#: tools/appstream-cli.c:245 -msgid "Enforce a cache refresh." -msgstr "Reforçar uma atualização da cache." +#: src/as-category.c:235 +msgctxt "Category of Science" +msgid "Artificial Intelligence" +msgstr "Inteligência artificial" -#: src/as-validator-issue-tag.h:74 -msgid "Enumerations must only have list items (
                                                                                                                                                                                                                                                                                              1. ) as children." -msgstr "Enumerações só devem ter itens de lista (
                                                                                                                                                                                                                                                                                              2. ) como filhos." +#: src/as-category.c:238 +msgctxt "Category of Science" +msgid "Astronomy" +msgstr "Astronomia" -#: tools/ascli-actions-misc.c:159 -#, c-format -msgid "Error while loading the metadata pool: %s" -msgstr "Erro ao carregar pool de metadados: %s" +#: src/as-category.c:241 +msgctxt "Category of Science" +msgid "Chemistry" +msgstr "Química" -#: tools/ascli-utils.c:327 -msgid "Extends" -msgstr "Estende" +#: src/as-category.c:244 +msgctxt "Category of Science" +msgid "Math" +msgstr "Matemática" -#: src/as-category.c:65 -msgctxt "Category of AudioVideo" -msgid "Featured" -msgstr "Destaque" +#: src/as-category.c:249 +msgctxt "Category of Science" +msgid "Robotics" +msgstr "Robótica" -#: src/as-category.c:256 +#: src/as-category.c:257 msgctxt "Category of Communication" msgid "Featured" msgstr "Destaque" -#: src/as-category.c:83 -msgctxt "Category of Development" -msgid "Featured" -msgstr "Destaque" - -#: src/as-category.c:98 -msgctxt "Category of Education" -msgid "Featured" -msgstr "Destaque" - -#: src/as-category.c:120 -msgctxt "Category of Games" -msgid "Featured" -msgstr "Destaque" +#: src/as-category.c:260 +msgctxt "Category of Communication" +msgid "Chat" +msgstr "Chat" -#: src/as-category.c:165 -msgctxt "Category of Graphics" -msgid "Featured" -msgstr "Destaque" +#: src/as-category.c:267 +msgctxt "Category of Communication" +msgid "News" +msgstr "Notícias" -#: src/as-category.c:188 -msgctxt "Category of Office" -msgid "Featured" -msgstr "Destaque" +#: src/as-category.c:271 +msgctxt "Category of Communication" +msgid "Web Browsers" +msgstr "Navegadores" -#: src/as-category.c:231 -msgctxt "Category of Science" +#: src/as-category.c:279 +msgctxt "Category of Utility" msgid "Featured" msgstr "Destaque" -#: src/as-category.c:278 +#: src/as-category.c:282 msgctxt "Category of Utility" -msgid "Featured" -msgstr "Destaque" +msgid "Text Editors" +msgstr "Editores de texto" -#: tools/ascli-actions-validate.c:171 tools/ascli-actions-validate.c:349 -#, c-format -msgid "File '%s' does not exist." -msgstr "O arquivo “%s” não existe." +#: src/as-category.c:285 +msgctxt "Category of Utility" +msgid "Terminal Emulators" +msgstr "Emuladores de terminal" -#: src/as-category.c:287 +#: src/as-category.c:288 msgctxt "Category of Utility" msgid "File System" msgstr "Sistema de arquivos" -#: src/as-category.c:198 -msgctxt "Category of Office" -msgid "Finance" -msgstr "Finanças" - -#: src/as-provided.c:164 -msgid "Flashed Firmware" -msgstr "Firmware descarregado" +#: src/as-category.c:291 +msgctxt "Category of Utility" +msgid "System Monitoring" +msgstr "Monitoramento do sistema" -#: src/as-provided.c:150 -msgid "Fonts" -msgstr "Fontes" +#: src/as-category.c:294 +msgctxt "Category of Utility" +msgid "Security" +msgstr "Segurança" -#: src/as-category.c:211 -msgctxt "Category of Addons" -msgid "Fonts" -msgstr "Fontes" +#. TRANSLATORS: this is the menu spec main category for Audio & Video +#: src/as-category.c:303 +msgid "Audio & Video" +msgstr "Áudio e vídeo" -#: src/as-validator-issue-tag.h:237 -msgid "" -"For videos, only the WebM and Matroska (.mkv) container formats are " -"currently supported. The file extension of the referenced video does not " -"belong to either of these formats." -msgstr "" -"Para vídeos, somente os formatos de contêiner WebM e Matroska (. mkv) são " -"atualmente suportados. A extensão de arquivo do vídeo referenciado não " -"pertence a nenhum desses formatos." +#. TRANSLATORS: this is the menu spec main category for Development +#: src/as-category.c:306 +msgid "Developer Tools" +msgstr "Ferramentas do desenvolvedor" -#. TRANSLATORS: ascli flag description for: --format when validating XML files -#: tools/appstream-cli.c:131 -msgid "Format of the generated report (valid values are 'text' and 'yaml')." -msgstr "Formato de relatório gerado (valores válidos são “texto” e “yaml”)." - -#. TRANSLATORS: Found metainfo files in legacy directories -#: tools/ascli-actions-misc.c:138 -#, c-format -msgid "Found %i components in legacy paths." -msgstr "Encontrados %i componentes em caminhos antigos." - -#: tools/ascli-actions-misc.c:123 -#, c-format -msgid "Found %i components." -msgstr "Encontrados %i componentes." - -#. TRANSLATORS: 'version' is an AppStream XML property. Please do not translate it. -#: src/as-validator-issue-tag.h:260 -msgid "" -"Found 'version' property on required/recommended item of a type that should " -"not have or require a version." -msgstr "" -"Encontrada a propriedade “version” em um item obrigatório/recomendado de um " -"tipo que não deve ter ou exigir uma versão." - -#. TRANSLATORS: 'version' and 'compare' are AppStream XML properties. Please do not translate them. -#: src/as-validator-issue-tag.h:266 -msgid "" -"Found 'version' property on this required/recommended item, but not " -"'compare' property. It is recommended to explicitly define a comparison " -"operation." -msgstr "" -"Encontrada a propriedade “version” neste item necessário/recomendado, mas " -"não a propriedade “compare”. É recomendável definir explicitamente uma " -"operação de comparação." - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:277 -msgid "" -"Found a memory size dependency in a 'requires' tag. This means users will " -"not be able to even install the component without having enough RAM. This is " -"usually not intended and you want to use 'memory' in the 'recommends' tag " -"instead." -msgstr "" -"Encontrada uma dependência de tamanho de memória em uma tag “requires”. Isso " -"significa que os usuários não poderão até mesmo instalar o componente sem " -"ter RAM suficiente. Isso geralmente não é pretendido e você deseja usar " -"“memory” na tag “recommends” em vez disso." - -#: src/as-validator-issue-tag.h:248 -msgid "" -"Found an unknown tag in a requires/recommends group. This is likely an " -"error, because a component relation of this type is unknown." -msgstr "" -"Encontrada uma tag desconhecida em um grupo requer/recomenda. Isso é " -"provavelmente um erro, porque uma relação de componente desse tipo é " -"desconhecida." - -#: src/as-validator-issue-tag.h:427 -msgid "" -"Found invalid tag. Non-standard tags should be prefixed with 'x-'. AppStream " -"also provides the tag to add arbitrary custom data to metainfo " -"files. This tag is read by AppStream libraries and may be useful instead of " -"defining new custom toplevel or 'x-'-prefixed tags if you just want to add " -"custom data to a metainfo file." -msgstr "" -"Encontrada uma tag inválida. As tags não padronizadas devem ser prefixadas " -"com “x-”. O AppStream também fornece a tag para adicionar dados " -"personalizados arbitrários a arquivos metainfo. Essa tag é lida por " -"bibliotecas do AppStream e pode ser útil em vez de definir novas tags " -"personalizadas de topo de nível ou prefixadas com “ x-” se você quiser " -"apenas adicionar dados personalizados a um arquivo metainfo." - -#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. -#: src/as-validator.c:526 src/as-validator.c:939 src/as-validator.c:1024 -#: src/as-validator.c:1237 -#, c-format -msgid "Found: %s - Allowed: %s" -msgstr "Encontrada: %s - Permitida: %s" +#. TRANSLATORS: this is the menu spec main category for Education +#: src/as-category.c:309 +msgid "Education" +msgstr "Educação" #. TRANSLATORS: this is the menu spec main category for Game -#: src/as-category.c:311 +#: src/as-category.c:312 msgid "Games" msgstr "Jogos" -#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command -#: tools/appstream-cli.c:814 -msgid "Generate the output in the selected format ('yaml' or 'text')." -msgstr "Gera a saída no formato selecionado (“yaml” ou “text”)." - -#: tools/appstream-cli.c:849 -msgid "Get components which provide the given item." -msgstr "Obtém componentes que fornecem o item dado." - -#: tools/appstream-cli.c:848 -msgid "Get information about a component by its ID." -msgstr "Obtém informação sobre um componente por seu ID." - #. TRANSLATORS: this is the menu spec main category for Graphics -#: src/as-category.c:314 +#: src/as-category.c:315 msgid "Graphics & Photography" msgstr "Gráficos & fotografia" -#: tools/ascli-utils.c:300 -msgid "Homepage" -msgstr "Página inícial" +#. TRANSLATORS: this is the menu spec main category for Office +#: src/as-category.c:318 +msgid "Office" +msgstr "Escritório" -#: src/as-category.c:89 -msgctxt "Category of Development" -msgid "IDEs" -msgstr "IDEs" +#. TRANSLATORS: this is the main category for Add-ons +#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor +#: src/as-category.c:321 tools/ascli-utils.c:371 +msgid "Add-ons" +msgstr "Extensões" -#: tools/ascli-utils.c:301 -msgid "Icon" -msgstr "Ícone" +#. TRANSLATORS: this is the menu spec main category for Science +#: src/as-category.c:324 +msgid "Science" +msgstr "Ciência" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:351 -msgid "Icons of type 'remote' must contain an URL to the referenced icon." -msgstr "" -"Ícones do tipo “remote” devem conter uma URL para o ícone referenciado." +#. TRANSLATORS: this is the menu spec main category for Communication +#: src/as-category.c:327 +msgid "Communication & News" +msgstr "Comunicação e notícias" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:344 -msgid "" -"Icons of type 'stock' or 'cached' must not contain an URL, a full or an " -"relative path to the icon. Only file basenames or stock names are allowed." -msgstr "" -"Os ícones do tipo “estoque” ou “cached” não devem conter uma URL, um caminho " -"completo ou relativo para o ícone. Somente nomes base de arquivo ou nomes " -"padrão são permitidos." +#. TRANSLATORS: this is the menu spec main category for Utilities +#: src/as-category.c:330 +msgid "Utilities" +msgstr "Utilitários" -#: tools/ascli-actions-misc.c:94 -msgid "Iconsets" -msgstr "Conjunto de ícones" +#. TRANSLATORS: This is the formatting of English and localized name +#. * of the rating e.g. "Adults Only (solo adultos)" +#: src/as-content-rating.c:298 +#, c-format +msgid "%s (%s)" +msgstr "%s (%s)" + +#: src/as-content-rating.c:444 +msgid "General" +msgstr "Geral" + +#: src/as-content-rating.c:453 +msgid "ALL" +msgstr "TODAS" + +#: src/as-content-rating.c:457 src/as-content-rating.c:560 +msgid "Adults Only" +msgstr "Adultos apenas" + +#: src/as-content-rating.c:459 src/as-content-rating.c:559 +msgid "Mature" +msgstr "Maduro" + +#: src/as-content-rating.c:461 src/as-content-rating.c:558 +msgid "Teen" +msgstr "Adolescente" + +#: src/as-content-rating.c:463 src/as-content-rating.c:557 +msgid "Everyone 10+" +msgstr "Todo mundo 10+" + +#: src/as-content-rating.c:465 src/as-content-rating.c:556 +msgid "Everyone" +msgstr "Todo mundo" + +#: src/as-content-rating.c:467 src/as-content-rating.c:555 +msgid "Early Childhood" +msgstr "Primeira infância" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:839 +msgid "No cartoon violence" +msgstr "Sem violência de desenho animado" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:841 +msgid "Cartoon characters in unsafe situations" +msgstr "Personagens de desenho animado em situações inseguras" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:843 +msgid "Cartoon characters in aggressive conflict" +msgstr "Personagens de desenho animado em conflito agressivo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:845 +msgid "Graphic violence involving cartoon characters" +msgstr "Cenas fortes com violência envolvendo personagens de desenho animado" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:850 +msgid "No fantasy violence" +msgstr "Sem violência de fantasia" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:852 +msgid "Characters in unsafe situations easily distinguishable from reality" +msgstr "" +"Personagens em situações inseguras facilmente distinguíveis da realidade" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:854 +msgid "Characters in aggressive conflict easily distinguishable from reality" +msgstr "" +"Personagens em conflito agressivo facilmente distinguíveis da realidade" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:856 +msgid "Graphic violence easily distinguishable from reality" +msgstr "" +"Cenas fortes com violência envolvendo situações facilmente distinguíveis da " +"realidade" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:861 +msgid "No realistic violence" +msgstr "Sem violência realista" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:863 +msgid "Mildly realistic characters in unsafe situations" +msgstr "Personagens levemente realísticos em situações inseguras" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:865 +msgid "Depictions of realistic characters in aggressive conflict" +msgstr "Representações de personagens realísticos em conflito agressivo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:867 +msgid "Graphic violence involving realistic characters" +msgstr "Cenas fortes de violência envolvendo personagens realísticos" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:872 +msgid "No bloodshed" +msgstr "Sem derramamento de sangue" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:874 +msgid "Unrealistic bloodshed" +msgstr "Derramamento de sangue não realista" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:876 +msgid "Realistic bloodshed" +msgstr "Derramamento de sangue realista" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:878 +msgid "Depictions of bloodshed and the mutilation of body parts" +msgstr "" +"Representações de derramamento de sangue e mutilação de partes do corpo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:883 +msgid "No sexual violence" +msgstr "Sem violência sexual" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:885 +msgid "Rape or other violent sexual behavior" +msgstr "Estupro ou outro comportamento sexual violento" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:892 +msgid "No references to alcohol" +msgstr "Sem referência a bebidas alcoólicas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:894 +msgid "References to alcoholic beverages" +msgstr "Referências a bebidas alcoólicas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:896 +msgid "Use of alcoholic beverages" +msgstr "Uso de bebidas alcoólicas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:902 +msgid "No references to illicit drugs" +msgstr "Sem referência a drogas ilícitas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:904 +msgid "References to illicit drugs" +msgstr "Referências a drogas ilícitas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:906 +msgid "Use of illicit drugs" +msgstr "Use de drogas ilícitas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:912 +msgid "No references to tobacco products" +msgstr "Sem referência a produtos de tabaco" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:914 +msgid "References to tobacco products" +msgstr "Referências a produtos de tabaco" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:916 +msgid "Use of tobacco products" +msgstr "Uso de produtos de tabaco" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:922 +msgid "No nudity of any sort" +msgstr "Sem nudez de qualquer tipo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:924 +msgid "Brief artistic nudity" +msgstr "Nudez artística breve" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:926 +msgid "Prolonged nudity" +msgstr "Nudez prolongada" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:932 +msgid "No references to or depictions of sexual nature" +msgstr "Sem referência a ou representação de natureza sexual" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:934 +msgid "Provocative references or depictions" +msgstr "Referências ou representações provocativas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:936 +msgid "Sexual references or depictions" +msgstr "Referências ou representações sexuais" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:938 +msgid "Graphic sexual behavior" +msgstr "Cenas fortes de comportamento sexual" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:943 +msgid "No profanity of any kind" +msgstr "Sem profanação de qualquer tipo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:945 +msgid "Mild or infrequent use of profanity" +msgstr "Uso leve ou infrequente de profanação" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:947 +msgid "Moderate use of profanity" +msgstr "Uso moderado de profanação" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:949 +msgid "Strong or frequent use of profanity" +msgstr "Uso forte e frequente de profanação" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:954 +msgid "No inappropriate humor" +msgstr "Sem humor impróprio" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:956 +msgid "Slapstick humor" +msgstr "Comédia pastelão" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:958 +msgid "Vulgar or bathroom humor" +msgstr "Comédia vulgar ou de banheiro" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:960 +msgid "Mature or sexual humor" +msgstr "Comédia para adultos ou sexual" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:965 +msgid "No discriminatory language of any kind" +msgstr "Sem linguagem discriminatória de qualquer tipo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:967 +msgid "Negativity towards a specific group of people" +msgstr "Negatividade direcionada a um grupo específico de pessoas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:969 +msgid "Discrimination designed to cause emotional harm" +msgstr "Discriminação projetada a causa ofensa emocional" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:971 +msgid "Explicit discrimination based on gender, sexuality, race or religion" +msgstr "" +"Discriminação explícita baseada em gênero, sexualidade, raça ou religião" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:976 +msgid "No advertising of any kind" +msgstr "Sem publicidade de qualquer tipo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:978 +msgid "Product placement" +msgstr "Colocação de produtos" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:980 +msgid "Explicit references to specific brands or trademarked products" +msgstr "Referências explícitas a marcas ou produtos comerciais específicos" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:982 +msgid "Users are encouraged to purchase specific real-world items" +msgstr "Usuários são encorajados a comprar itens específicos do mundo real" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:987 +msgid "No gambling of any kind" +msgstr "Sem jogo de azar de qualquer tipo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:989 +msgid "Gambling on random events using tokens or credits" +msgstr "Aposta em eventos aleatórios usando tokens ou créditos" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:991 +msgid "Gambling using “play” money" +msgstr "Aposta usando dinheiro do jogo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:993 +msgid "Gambling using real money" +msgstr "Aposta usando dinheiro de verdade" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:998 +msgid "No ability to spend money" +msgstr "Sem habilidade de gastar dinheiro" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1000 +msgid "Users are encouraged to donate real money" +msgstr "Usuários são encorajados a doar dinheiro real" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1003 +msgid "Ability to spend real money in-app" +msgstr "Habilidade de gastar dinheiro real no aplicativo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1008 +msgid "No way to chat with other users" +msgstr "Impossível conversar com outros usuários" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1010 +msgid "User-to-user interactions without chat functionality" +msgstr "Interações usuário com usuário sem funcionalidade de bate-papo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1012 +msgid "Moderated chat functionality between users" +msgstr "Funcionalidade de bate-papo moderado entre usuários" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1014 +msgid "Uncontrolled chat functionality between users" +msgstr "Funcionalidade de bate-papo sem controle entre usuários" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1019 +msgid "No way to talk with other users" +msgstr "Impossível falar com outros usuários" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1021 +msgid "Uncontrolled audio or video chat functionality between users" +msgstr "" +"Funcionalidade de chamada de vídeo ou de áudio sem controle entre usuários" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1028 +msgid "No sharing of social network usernames or email addresses" +msgstr "" +"Sem compartilhamento de nomes de usuários ou endereços de e-mail de rede " +"social" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1030 +msgid "Sharing social network usernames or email addresses" +msgstr "" +"Compartilhamento de nomes de usuários ou endereços de e-mail de rede social" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1037 +msgid "No sharing of user information with third parties" +msgstr "Sem compartilhamento de informações de usuário com terceiros" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1039 +msgid "Checking for the latest application version" +msgstr "Verificação pela versão mais recente do aplicativo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1041 +msgid "Sharing diagnostic data that does not let others identify the user" +msgstr "" +"Compartilhamento de dados de diagnóstico que não permitem que identifiquem o " +"usuário" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1043 +msgid "Sharing information that lets others identify the user" +msgstr "" +"Compartilhamento de informações que permitem que identifiquem o usuário" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1048 +msgid "No sharing of physical location with other users" +msgstr "Sem compartilhamento de localização física com outros usuários" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1050 +msgid "Sharing physical location with other users" +msgstr "Compartilhamento de localização física com outros usuários" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1073 +msgid "No references to homosexuality" +msgstr "Sem referência a homossexualidade" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1075 +msgid "Indirect references to homosexuality" +msgstr "Referências indiretas a homossexualidade" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1077 +msgid "Kissing between people of the same gender" +msgstr "Beijo entre pessoas do mesmo gênero" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1079 +msgid "Graphic sexual behavior between people of the same gender" +msgstr "Comportamento sexual gráfico entre pessoas do mesmo gênero" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1084 +msgid "No references to prostitution" +msgstr "Sem referência a prostituição" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1086 +msgid "Indirect references to prostitution" +msgstr "Referências indiretas a prostituição" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1088 +msgid "Direct references to prostitution" +msgstr "Referências diretas a prostituição" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1090 +msgid "Graphic depictions of the act of prostitution" +msgstr "Representações gráficas do ato de prostituição" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1095 +msgid "No references to adultery" +msgstr "Sem referência a adultério" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1097 +msgid "Indirect references to adultery" +msgstr "Referências indiretas a adultério" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1099 +msgid "Direct references to adultery" +msgstr "Referências diretas a adultério" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1101 +msgid "Graphic depictions of the act of adultery" +msgstr "Representações gráficas do ato de adultério" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1106 +msgid "No sexualized characters" +msgstr "Sem caracteres sexualizados" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1109 +msgid "Scantily clad human characters" +msgstr "Personagens humanos semi-nus" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1111 +msgid "Overtly sexualized human characters" +msgstr "Personagens humanos notoriamente sexualizado" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1116 +msgid "No references to desecration" +msgstr "Sem referência a profanação" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1118 +msgid "Depictions of or references to historical desecration" +msgstr "Representações de ou referências a profanação histórica" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1120 +msgid "Depictions of modern-day human desecration" +msgstr "Representações de profanação humana em dias modernos" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1122 +msgid "Graphic depictions of modern-day desecration" +msgstr "Representações gráficas de profanação em dias modernos" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1127 +msgid "No visible dead human remains" +msgstr "Sem restos de humanos mortos visíveis" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1129 +msgid "Visible dead human remains" +msgstr "Restos de humanos mortos visíveis" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1131 +msgid "Dead human remains that are exposed to the elements" +msgstr "Restos de humanos mortos que são expostos aos elementos" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1133 +msgid "Graphic depictions of desecration of human bodies" +msgstr "Representações gráficas de profanação de corpos humanos" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1138 +msgid "No references to slavery" +msgstr "Sem referência a escravidão" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1140 +msgid "Depictions of or references to historical slavery" +msgstr "Representações de ou referências a escravidão histórica" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1142 +msgid "Depictions of modern-day slavery" +msgstr "Representações de escravidão em dias modernos" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1144 +msgid "Graphic depictions of modern-day slavery" +msgstr "Representações gráficas de escravidão em dias modernos" + +#. TRANSLATORS: We got a 429 error while trying to download data +#: src/as-curl.c:134 +#, c-format +msgid "Failed to download due to server limit" +msgstr "Falha no download devido ao limite do servidor" + +#: src/as-curl.c:141 src/as-curl.c:148 +#, c-format +msgid "Failed to download file: %s" +msgstr "Falha no download do arquivo: %s" + +#. TRANSLATORS: We tried to download an URL, but received a 404 error code +#: src/as-curl.c:157 +#, c-format +msgid "URL was not found on the server." +msgstr "URL não foi encontrada no servidor." -#: tools/ascli-utils.c:295 -msgid "Identifier" -msgstr "Identificador" +#. TRANSLATORS: We received an uexpected HTTP status code while talking to a server, likely an error +#: src/as-curl.c:164 +#, c-format +msgid "Unexpected status code: %ld" +msgstr "Código de status inesperado: %ld" -#: src/as-category.c:217 -msgctxt "Category of Addons" -msgid "Input Sources" -msgstr "Fontes de entrada" +#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty +#: src/as-curl.c:247 +#, c-format +msgid "Retrieved file size was zero." +msgstr "O tamanho de arquivo obtidos foi zero." -#: tools/appstream-cli.c:863 -msgid "Install a metadata file into the right location." -msgstr "Instala um arquivo de metadados na localização certa." +#. TRANSLATORS: List of "grey-listed" words sperated with ";" +#. * Do not translate this list directly. Instead, +#. * provide a list of words in your language that people are likely +#. * to include in a search but that should normally be ignored in +#. * the search. +#. +#: src/as-pool.c:111 +msgid "app;application;package;program;programme;suite;tool" +msgstr "app;aplicativo;pacote;programa;suíte;ferramenta" -#: tools/appstream-cli.c:859 -msgid "Install software matching the component-ID." -msgstr "Instala software correspondente ao component-ID." +#: src/as-pool.c:620 +msgid "Unable to remove old cache." +msgstr "Não foi possível remover o cache antigo." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:373 -msgid "" -"Invalid 'type' property for this 'url' tag. URLs of this type are not known " -"in the AppStream specification." -msgstr "" -"Propriedade inválida “type” para esta tag “url”. URLs desse tipo não são " -"conhecidas na especificação AppStream." +#: src/as-pool.c:963 +msgid "Metadata files have errors:" +msgstr "Os arquivos de metadados possuem erros:" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:553 +#: src/as-pool.c:1370 msgid "" -"Invalid tag found in collection metadata. Only 'component' tags are " -"permitted." +"Many components have been recognized as invalid. See debug output for " +"details." msgstr "" -"Tag inválida encontrada nos metadados de coleção. Somente as tags " -"“components” são permitidas." +"Muitos componentes foram reconhecidos como inválidos. Veja a saída de " +"depuração para detalhes." -#: tools/ascli-actions-mdata.c:213 -msgid "Invalid type for provided item selected. Valid values are:" -msgstr "Tipo inválido para o item fornecido selecionado. Valores válidos são:" +#: src/as-pool.c:1996 +#, c-format +msgid "Cache location '%s' is not writable." +msgstr "A localização de cache “%s” não é gravável." -#: src/as-validator-issue-tag.h:271 +#: src/as-pool.c:2109 msgid "" -"Invalid version comparison operation on relation item. Only eq/ne/lt/gt/le/" -"ge are permitted." +"The AppStream system cache was updated, but some components were ignored. " +"Refer to the verbose log for more information." msgstr "" -"Operação de comparação de versão inválida no item de relação. Somente eq/ne/" -"lt/gt/le/ge são permitidas." +"O cache de sistema do AppStream foi atualizado, mas alguns componentes foram " +"ignorados. Veja o log detalhado para mais informações." -#: src/as-validator-issue-tag.h:450 +#: src/as-pool.c:2111 +#, c-format msgid "" -"It is recommended to add a long description to this component to present it " -"better to users." +"The AppStream system cache was updated, but problems were found which " +"resulted in metadata being ignored: %s" msgstr "" -"Recomenda-se adicionar uma descrição longa a este componente para apresentá-" -"lo melhor aos usuários." +"O cache de sistema do AppStream foi atualizado, mas problemas foram " +"encontrados que resultaram nos metadados serem ignorados: %s" -#: src/as-validator-issue-tag.h:445 +#: src/as-pool.c:2125 +#, c-format msgid "" -"It would be useful to add a long description to this font to present it " -"better to users." +"AppStream system cache refresh failed. Turn on verbose mode to get detailed " +"issue information." msgstr "" -"Seria útil adicionar uma descrição longa a esta fonte para apresentá-la " -"melhor aos usuários." - -#: src/as-category.c:144 -msgctxt "Category of Games" -msgid "Kids" -msgstr "Crianças" - -#: src/as-category.c:220 -msgctxt "Category of Addons" -msgid "Language Packs" -msgstr "Pacote de idiomas" - -#: src/as-category.c:107 -msgctxt "Category of Education" -msgid "Languages" -msgstr "Idiomas" +"Atualização do cache do AppStream falhou. Ative o modo verboso para obter " +"mais informações detalhadas de problemas." #: src/as-provided.c:144 msgid "Libraries" msgstr "Bibliotecas" -#. license -#: tools/ascli-utils.c:363 -msgid "License" -msgstr "Licença" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:629 -msgid "" -"Licenses for 'runtime' components are usually too complex to reflect them in " -"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " -"value for this component's 'project_license'. E.g. `LicenseRef-free=https://" -"example.com/licenses.html`" -msgstr "Licenças para componentes \"runtime\" geralmente são muito complexas para refleti-las em uma simples expressão SPDX. Considere o uso de um \"LicenseRef\" e uma URL como valor para o \"project_license\" deste componente. Por exemplo, \"LicenseRef-free=https://example.com/licenses.html\"" - -#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command -#: tools/appstream-cli.c:771 -msgid "" -"Limit the number of release entries that end up in the metainfo file (0 for " -"unlimited)." -msgstr "" -"Limita o número de entradas de lançamento que terminam no arquivo metainfo " -"(0 para sem limite)." +#: src/as-provided.c:146 +msgid "Binaries" +msgstr "Binários" -#: src/as-category.c:223 -msgctxt "Category of Addons" -msgid "Localization" -msgstr "Localização" +#: src/as-provided.c:148 +msgid "Media types" +msgstr "Tipos de mídia" -#: src/as-category.c:147 -msgctxt "Category of Games" -msgid "Logic" -msgstr "Lógica" +#: src/as-provided.c:150 +msgid "Fonts" +msgstr "Fontes" -#. TRANSLATORS: ascli flag description for: --no-cache -#: tools/appstream-cli.c:67 -msgid "Make request without any caching." -msgstr "Faz uma requisição sem qualquer cache." +#: src/as-provided.c:152 +msgid "Modaliases" +msgstr "Modos alternativos" -#. TRANSLATORS: ascli flag description for: --cachepath -#: tools/appstream-cli.c:57 -msgid "Manually selected location of AppStream cache." -msgstr "Localização manualmente selecionada do cache do AppStream." +#: src/as-provided.c:154 +msgid "Python (Version 2)" +msgstr "Python (versão 2)" -#. TRANSLATORS: ascli flag description for: --datapath -#: tools/appstream-cli.c:62 -msgid "Manually selected location of AppStream metadata to scan." -msgstr "" -"Localização manualmente selecionada dos metadados do AppStream para varrer." +#: src/as-provided.c:156 +msgid "Python 3" +msgstr "Python 3" -#: src/as-pool.c:1280 -msgid "" -"Many components have been recognized as invalid. See debug output for " -"details." -msgstr "" -"Muitos componentes foram reconhecidos como inválidos. Veja a saída de " -"depuração para detalhes." +#: src/as-provided.c:158 +msgid "D-Bus System Services" +msgstr "Serviços de sistema do D-Bus" -#: src/as-category.c:111 -msgctxt "Category of Education" -msgid "Math" -msgstr "Matemática" +#: src/as-provided.c:160 +msgid "D-Bus Session Services" +msgstr "Serviços de sessão do D-Bus" -#: src/as-category.c:243 -msgctxt "Category of Science" -msgid "Math" -msgstr "Matemática" +#: src/as-provided.c:162 +msgid "Runtime Firmware" +msgstr "Firmware em tempo de execução" -#: src/as-provided.c:148 -msgid "Media types" -msgstr "Tipos de mídia" +#: src/as-provided.c:164 +msgid "Flashed Firmware" +msgstr "Firmware descarregado" -#: tools/ascli-actions-mdata.c:364 -#, c-format -msgid "Metadata file '%s' does not exist." -msgstr "Arquivo de metadados “%s” não existe." +#: src/as-provided.c:166 +msgid "Component" +msgstr "Componente" -#: src/as-pool.c:881 -msgid "Metadata files have errors:" -msgstr "Os arquivos de metadados possuem erros:" +#: src/as-validator-issue-tag.h:41 +msgid "This tag requires a type property." +msgstr "Esta tag requer uma propriedade de tipo." -#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 -#: tools/ascli-actions-misc.c:515 -#, c-format -msgid "Metainfo file '%s' does not exist." -msgstr "O arquivo metainfo “%s” não existe." +#: src/as-validator-issue-tag.h:46 +msgid "Tags of this name are not permitted in this section." +msgstr "Tags desse nome não são permitidas nesta seção." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:367 +#: src/as-validator-issue-tag.h:51 msgid "" -"Metainfo files may only contain icons of type 'stock' or 'remote', the set " -"type is not allowed." +"A tag must not be localized in metainfo files (upstream " +"metadata). Localize the individual paragraphs instead." msgstr "" -"Arquivos metainfo podem conter apenas ícones do tipo “stock” or “remote”, o " -"tipo de conjunto não é permitido." +"Uma tag não deve ser localizada em arquivos metainfo " +"(metadados de upstream). Em vez disso, localize parágrafos individuais." -#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report -#: tools/ascli-actions-misc.c:116 -msgid "Metainfo files:" -msgstr "Arquivos de metainfo:" +#: src/as-validator-issue-tag.h:57 +msgid "" +"This element (paragraph, list, etc.) of a tag must not be " +"localized individually in collection metadata. Localize the whole " +" tag instead. The AppStream collection metadata generator (e." +"g. `appstream-generator`) will already do the right thing when compiling the " +"data." +msgstr "" +"Este elemento (parágrafo, lista, etc.) de uma tag não deve " +"ser localizada individualmente em metadados de coleção. Localize a tag " +" inteira em vez disso. O gerador de metadados de coleção do " +"AppStream (por exemplo, `appstream-generator`) já fará a coisa certa ao " +"compilar os dados." -#: src/as-provided.c:152 -msgid "Modaliases" -msgstr "Modos alternativos" +#: src/as-validator-issue-tag.h:63 +msgid "" +"AppStream descriptions support only a limited set of tags to format text: " +"Paragraphs (

                                                                                                                                                                                                                                                                                                ) and lists (

                                                                                                                                                                                                                                                                                                  ,
                                                                                                                                                                                                                                                                                                    ). This description markup contains " +"an invalid XML tag that would not be rendered correctly in applications " +"supporting the metainfo specification." +msgstr "" +"As descrições do AppStream possuem suporte apenas a um conjunto limitado de " +"tags para formatar texto: parágrafos (

                                                                                                                                                                                                                                                                                                    ) e listas (

                                                                                                                                                                                                                                                                                                      ,
                                                                                                                                                                                                                                                                                                        ). Essa " +"marcação de descrição contém uma marca XML inválida que não seria processada " +"corretamente em aplicativos que possuem suporte à especificação metainfo." -#: src/as-category.c:74 -msgctxt "Category of AudioVideo" -msgid "Music Players" -msgstr "Reprodutores de música" +#: src/as-validator-issue-tag.h:69 +msgid "" +"This description paragraph contains invalid markup. Currently, only " +"and are permitted." +msgstr "" +"Este parágrafo de descrição contém marcação inválida. Atualmente, somente " +" e são permitidas." -#: tools/ascli-utils.c:296 -msgid "Name" -msgstr "Nome" +#: src/as-validator-issue-tag.h:74 +msgid "Enumerations must only have list items (
                                                                                                                                                                                                                                                                                                      1. ) as children." +msgstr "Enumerações só devem ter itens de lista (
                                                                                                                                                                                                                                                                                                      2. ) como filhos." -#: src/as-category.c:266 -msgctxt "Category of Communication" -msgid "News" -msgstr "Notícias" +#: src/as-validator-issue-tag.h:79 +msgid "" +"The first `description/p` paragraph of this component might be too short (< " +"80 characters). Please consider starting with a longer paragraph to improve " +"how the description looks like in software centers and to provide more " +"detailed information on this component immediately in the first paragraph." +msgstr "" +"O primeiro parágrafo `description/p` deste componente pode estar curto " +"demais (< 80 caracteres). Por favor, considere começar com um parágrafo mais " +"longo para melhorar como a descrição se parece em centros de software e " +"fornecer informações mais detalhadas sobre este componente imediatamente no " +"primeiro parágrafo." -#: src/as-validator-issue-tag.h:589 -msgid "No AppStream metadata was found in this directory or directory tree." +#: src/as-validator-issue-tag.h:86 +msgid "" +"The description contains a web URL in plain text. This is not allowed, " +"please use the tag instead to share links." msgstr "" -"Nenhum metadados do AppStream foi encontrado neste diretório ou árvore de " -"diretórios." +"A descrição contém um URL em texto sem formatação. Isso não é permitido, por " +"favor, use a tag em vez de compartilhar links." -#. pedantic because not everything which has metadata is an application -#: src/as-validator-issue-tag.h:594 -msgid "No XDG applications directory found." -msgstr "Nenhum diretório de aplicativos XDG encontrado." +#: src/as-validator-issue-tag.h:91 +msgid "" +"As per AppStream specification, the mentioned tag must only appear once in " +"this context. Having multiple tags of this kind is not valid." +msgstr "" +"Conforme a especificação de AppStream, a tag mencionada só deve aparecer uma " +"vez neste contexto. Ter várias tags desse tipo não é válido." -#: tools/ascli-actions-mdata.c:182 -#, c-format -msgid "No component matching '%s' found." -msgstr "Nenhum componente encontrado que corresponda a “%s”." +#: src/as-validator-issue-tag.h:96 +msgid "" +"The mentioned tag is empty, which is highly likely not intended as it should " +"have content." +msgstr "" +"A tag mencionada está vazia, o que muito provavelmente não é a intenção, " +"pois ela deve ter um conteúdo." -#: tools/ascli-actions-misc.c:105 -msgid "No icons." -msgstr "Nenhum ícone." +#: src/as-validator-issue-tag.h:101 +msgid "" +"The component ID is required to follow a reverse domain-name scheme for its " +"name. See the AppStream specification for details." +msgstr "" +"O ID do componente é necessário para seguir um esquema de nome de domínio " +"reverso para seu nome. Consulte a especificação do AppStream para obter " +"detalhes." -#: tools/ascli-actions-misc.c:402 -msgid "No output filename specified, modifying metainfo file directly." +#: src/as-validator-issue-tag.h:106 +msgid "" +"The component ID is not a reverse domain-name. Please update the ID to avoid " +"future issues and be compatible with all AppStream implementations.\n" +"You may also consider to update the name of the accompanying .desktop file " +"to follow the latest version of the Desktop-Entry specification and use a " +"rDNS name for it as well. In any case, do not forget to mention the new " +"desktop-entry in a tag for this component to keep the " +"application launchable from software centers and the .desktop file data " +"associated with the metainfo data." msgstr "" -"Nenhum nome de arquivo de saída especificado, modificando o arquivo metainfo " -"diretamente." +"A ID do componente não é um nome de domínio reverso. Atualize o ID para " +"evitar problemas futuros e para ser compatível com todas as implementações " +"do AppStream.\n" +"Você também pode considerar para atualizar o nome do arquivo .desktop que " +"acompanha para seguir a versão mais recente da especificação de entrada de " +"área de trabalho e usar um nome rDNS para ele também. Em qualquer caso, não " +"se esqueça de mencionar a nova entra de .desktop em uma tag " +"para este componente para manter o aplicativo inicializável a partir de " +"centros de software e os dados de arquivo .desktop associados com os dados " +"metainfo." -#: tools/ascli-actions-misc.c:306 +#: src/as-validator-issue-tag.h:114 msgid "" -"No provided binary specified in metainfo file, and no exec command specified " -"via '--exec'. Can not create 'Exec=' key." +"The component ID might not follow the reverse domain-name schema (the TLD " +"used by it is not known to the validator)." msgstr "" -"Nenhum binário fornecido especificado no arquivo metainfo e nenhum comando " -"exec especificado via “--exec”. Não é possível criar a chave “Exec=”." +"O ID do componente pode não seguir o esquema de nome de domínio reverso (o " +"TLD usado por ele não é conhecido para o validador)." -#: tools/ascli-actions-misc.c:284 -msgid "No stock icon name was provided in the metainfo file. Can not continue." +#: src/as-validator-issue-tag.h:119 +msgid "" +"The component ID contains an invalid character. Only ASCII characters, dots " +"and numbers are permitted." msgstr "" -"Nenhum nome de ícone padrão foi fornecido no arquivo metainfo. Não é " -"possível continuar." +"A ID do componente contém um caractere inválido. Somente caracteres ASCII, " +"pontos e números são permitidos." -#: tools/ascli-actions-pkgmgr.c:53 +#: src/as-validator-issue-tag.h:124 msgid "" -"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" -"\" (part of PackageKit) is available." +"The component ID contains a hyphen/minus. Using a hyphen is strongly " +"discouraged, to improve interoperability with other tools such as D-Bus. A " +"good option is to replace any hyphens with underscores (`_`)." msgstr "" -"Nenhum gerenciado de pacotes CLI adequado encontrado. Por favor, certifique-" -"se de que, ex.: “pkcon” (parte de PackageKit), está disponível." +"A ID do componente contém um hífen/menos. O uso de um hífen é altamente " +"desencorajado, para melhorar a interoperabilidade com outras ferramentas " +"como o D-Bus. Uma boa opção é substituir quaisquer hífen por sublinhados " +"(`_`)." -#: tools/ascli-actions-mdata.c:206 -msgid "No value for the item to search for was defined." -msgstr "Nenhum valor para o item a ser pesquisado foi definido." +#: src/as-validator-issue-tag.h:130 +msgid "" +"The component ID contains a segment starting with a number. Starting a " +"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " +"interoperability with other tools such as D-Bus. Ideally, prefix these " +"segments with an underscore." +msgstr "" +"A ID do componente contém um segmento que começa com um número. Iniciar um " +"segmento do ID de DNS reverso com um número é fortemente desencorajado, para " +"manter a interoperabilidade com outras ferramentas, como D-Bus. Idealmente, " +"prefixe esses segmentos com um sublinhado." -#. TRANSLATORS: this is the menu spec main category for Office -#: src/as-category.c:317 -msgid "Office" -msgstr "Escritório" +#: src/as-validator-issue-tag.h:136 +msgid "The component ID should only contain lowercase letters." +msgstr "O ID do componente deve conter apenas letras minúsculas." -#. TRANSLATORS: An unknown option was passed to appstreamcli. -#: tools/appstream-cli.c:192 -#, c-format -msgid "Option '%s' is unknown." -msgstr "Comando “%s” é inválido." +#: src/as-validator-issue-tag.h:141 +msgid "" +"The component is part of the Freedesktop project, but its ID does not start " +"with fd.o's reverse-DNS name (\"org.freedesktop\")." +msgstr "" +"O componente faz parte do projeto Freedesktop, mas seu ID não começa com o " +"nome de DNS reverso do fd.o (“org. freedesktop”)." -#: tools/ascli-utils.c:298 -msgid "Package" -msgstr "Pacote" +#: src/as-validator-issue-tag.h:146 +msgid "" +"The component is part of the KDE project, but its ID does not start with " +"KDEs reverse-DNS name (\"org.kde\")." +msgstr "" +"O componente faz parte do projeto KDE, mas seu ID não começa com o nome DNS " +"reverso do KDE (“org.kde”)." -#: src/as-category.c:171 -msgctxt "Category of Graphics" -msgid "Photography" -msgstr "Fotografia" +#: src/as-validator-issue-tag.h:151 +msgid "" +"The component is part of the GNOME project, but its ID does not start with " +"GNOMEs reverse-DNS name (\"org.gnome\")." +msgstr "" +"O componente faz parte do projeto GNOME, mas seu ID não começa com nome de " +"DNS reverso do GNOME (“org.gnome”)." -#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) -#: tools/appstream-cli.c:121 -msgid "Print detailed explanation for found issues." -msgstr "Mostra explicação detalhada para problemas encontrados." +#: src/as-validator-issue-tag.h:156 +msgid "The SPDX license expression is invalid and could not be parsed." +msgstr "A expressão de licença SPDX é inválida e não pôde ser analisada." -#. TRANSLATORS: ascli flag description for: --details -#: tools/appstream-cli.c:98 -msgid "Print detailed output about found components." -msgstr "Mostra saída detalhada sobre componentes encontrados." +#: src/as-validator-issue-tag.h:161 +msgid "" +"The license ID was not found in the SPDX database. Please check that the " +"license ID is written in an SPDX-conformant way and is a valid free software " +"license." +msgstr "" +"O ID da licença não foi encontrado no banco de dados de SPDX. Verifique se o " +"ID da licença está escrito de forma compatível com SPDX e se é uma licença " +"de software livre válida." -#. project group -#: tools/ascli-utils.c:360 -msgid "Project Group" -msgstr "Grupo do projeto" +#: src/as-validator-issue-tag.h:167 +msgid "" +"The metadata itself seems to be licensed under a complex collection of " +"licenses. Please license the data under a simple permissive license, like " +"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " +"collections without the risk of license violations due to mutually " +"incompatible licenses." +msgstr "" +"Os metadados propriamente dito parecem estar licenciados sob uma coleção " +"complexa de licenças. Por favor, licencie os dados uma licença permissiva " +"simples, como FSFAP, MIT ou CC0-1.0 para permitir que os distribuidores a " +"incluam em coleções de dados mistos sem o risco de violações de licença " +"devido a licenças mutuamente incompatíveis." -#: tools/ascli-utils.c:405 -msgid "Provided Items" -msgstr "Itens fornecidos" +#: src/as-validator-issue-tag.h:173 +msgid "" +"The metadata itself does not seem to be licensed under a permissive license. " +"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " +"0BSD to allow distributors to include it in mixed data collections without " +"the risk of license violations due to mutually incompatible licenses." +msgstr "" +"Os metadados propriamente dito não parecem estar licenciados sob uma licença " +"permissiva. Por favor, licencie os dados uma licença permissiva, como FSFAP, " +"CC0-1.0 ou 0BSD para permitir que os distribuidores a incluam em coleções de " +"dados mistos sem o risco de violações de licença devido a licenças " +"mutuamente incompatíveis." -#: src/as-provided.c:154 -msgid "Python (Version 2)" -msgstr "Python (versão 2)" +#: src/as-validator-issue-tag.h:179 +msgid "" +"The update-contact does not appear to be a valid email address (escaping of " +"`@` is only allowed as `_at_` or `_AT_`)." +msgstr "" +"O update-contact não parece ser um endereço de e-mail válido (o caractere de " +"escape `@` só é permitido como `_at_` ou `_AT_`)." -#: src/as-provided.c:156 -msgid "Python 3" -msgstr "Python 3" +#: src/as-validator-issue-tag.h:184 +msgid "" +"Unable to reach the screenshot image on its remote location - does the image " +"exist?" +msgstr "" +"Não foi possível alcançar a imagem de captura de tela em seu local remoto - " +"a imagem existe?" -#: tools/appstream-cli.c:854 -msgid "Rebuild the component metadata cache." -msgstr "Reconstruir o cache de metadados de componentes." +#: src/as-validator-issue-tag.h:189 +msgid "" +"Unable to reach the screenshot video on its remote location - does the video " +"file exist?" +msgstr "" +"Não foi possível alcançar o vídeo de captura de tela em seu local remoto - o " +"arquivo de vídeo existe?" -#: tools/appstream-cli.c:860 -msgid "Remove software matching the component-ID." -msgstr "Remove software correspondendo ao component-ID." +#: src/as-validator-issue-tag.h:194 +msgid "" +"Consider using a secure (HTTPS) URL to reference this screenshot image or " +"video." +msgstr "" +"Considere usar uma URL segura (HTTPS) para fazer referência a esta imagem de " +"captura de tela ou vídeo." -#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty -#: src/as-validator.c:364 -msgid "Retrieved file size was zero." -msgstr "O tamanho de arquivo obtidos foi zero." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:200 +msgid "" +"A screenshot must contain at least one image or video in order to be useful. " +"Please add an to it." +msgstr "" +"Uma captura de tela deve conter pelo menos uma imagem ou vídeo para ser " +"útil. Adicione uma a ela." -#: src/as-category.c:248 -msgctxt "Category of Science" -msgid "Robotics" -msgstr "Robótica" +#: src/as-validator-issue-tag.h:205 +msgid "" +"A screenshot must contain either images or videos, but not both at the same " +"time. Please use this screenshot exclusively for either static images or for " +"videos." +msgstr "" +"Uma captura de tela deve conter imagens ou vídeos, mas não ambos ao mesmo " +"tempo. Por favor, use esta captura de tela exclusivamente para imagens " +"estáticas ou para vídeos." -#: src/as-category.c:150 -msgctxt "Category of Games" -msgid "Role Playing" -msgstr "RPGs" +#: src/as-validator-issue-tag.h:211 +msgid "The screenshot does not have a caption text. Consider adding one." +msgstr "A captura de tela não tem um texto de legenda. Considere adicionar um." -#: tools/appstream-cli.c:196 tools/appstream-cli.c:926 -#, c-format -msgid "Run '%s --help' to see a full list of available command line options." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:217 +msgid "" +"The screenshot video does not specify which video codec was used in a " +"`codec` property." msgstr "" -"Executar “%s --help” para ver uma lista completa das opções de linha de " -"comando disponíveis." +"O vídeo da captura de tela não especifica qual o codec de vídeo foi usado em " +"uma propriedade `codec`." -#: tools/appstream-cli.c:198 -#, c-format +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:223 msgid "" -"Run '%s --help' to see a list of available commands and options, and '%s %s " -"--help' to see a list of options specific for this subcommand." +"The screenshot video does not specify which container format was used in a " +"`container` property." msgstr "" -"Executar “%s --help” para ver uma lista de comandos e opções disponíveis, e " -"“%s %s --help” para ver uma lista de opções específicas para este subcomando." +"O vídeo de captura de tela não especifica qual o formato de contêiner foi " +"usado em uma propriedade `container`." -#: src/as-provided.c:162 -msgid "Runtime Firmware" -msgstr "Firmware em tempo de execução" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:229 +msgid "" +"The selected video codec is not supported by AppStream and software centers " +"may not be able to play the video. Only the AV1 and VP9 codecs are currently " +"supported, using `av1` and `vp9` as values for the `codec` property." +msgstr "" +"O codec de vídeo selecionado não é compatível com o AppStream e os centros " +"de software podem não ser capazes de reproduzir o vídeo. Apenas os codecs " +"AVI e VP9 são atualmente compatíveis , use os valores `av1` e `vp9` nas " +"propriedades para `codec`." -#: src/as-category.c:174 -msgctxt "Category of Graphics" -msgid "Scanning" -msgstr "Digitalização" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:236 +msgid "" +"The selected video container format is not supported by AppStream and " +"software centers may not be able to play the video. Only the WebM and " +"Matroska video containers are currently supported, using `webm` and `mkv` as " +"values for the `container` property." +msgstr "" +"O formato do contêiner de vídeo selecionado não é compatível com o " +"AppStream, os centros de software podem não ser capazes de reproduzir o " +"vídeo. Apenas os contêineres de vídeo WebM e Matroska são compatíveis, use " +"os valores`webm` e `mkv` nas propriedades de `container`." -#. TRANSLATORS: this is the menu spec main category for Science -#: src/as-category.c:323 -msgid "Science" -msgstr "Ciência" +#: src/as-validator-issue-tag.h:242 +msgid "" +"For videos, only the WebM and Matroska (.mkv) container formats are " +"currently supported. The file extension of the referenced video does not " +"belong to either of these formats." +msgstr "" +"Para vídeos, somente os formatos de contêiner WebM e Matroska (. mkv) são " +"atualmente suportados. A extensão de arquivo do vídeo referenciado não " +"pertence a nenhum desses formatos." -#: tools/appstream-cli.c:847 -msgid "Search the component database." -msgstr "Pesquisa na base de dados de componente." +#: src/as-validator-issue-tag.h:248 +msgid "" +"The default screenshot of a software component must not be a video. Use a " +"static image as default screenshot and set the video as a secondary " +"screenshot." +msgstr "" +"A captura de tela padrão de um componente de software não deve ser um vídeo. " +"Use uma imagem estática como captura de tela padrão e defina o vídeo como " +"uma captura de tela secundária." -#: src/as-category.c:293 -msgctxt "Category of Utility" -msgid "Security" -msgstr "Segurança" +#: src/as-validator-issue-tag.h:253 +msgid "" +"Found an unknown tag in a requires/recommends group. This is likely an " +"error, because a component relation of this type is unknown." +msgstr "" +"Encontrada uma tag desconhecida em um grupo requer/recomenda. Isso é " +"provavelmente um erro, porque uma relação de componente desse tipo é " +"desconhecida." -#. TRANSLATORS: ascli flag description for: --verbose -#: tools/appstream-cli.c:903 -msgid "Show extra debugging information." -msgstr "Mostrar informações extras de depuração." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:259 +msgid "" +"A `requires` or `recommends` item requires a value to denote a valid " +"relation." +msgstr "" +"Um item 'requires' ou 'recommends' requer um valor para denotar uma relação " +"válida." -#. TRANSLATORS: ascli flag description for: --version -#: tools/appstream-cli.c:897 -msgid "Show the program version." -msgstr "Mostrar a versão do programa." +#. TRANSLATORS: `version` is an AppStream XML property. Please do not translate it. +#: src/as-validator-issue-tag.h:265 +msgid "" +"Found `version` property on required/recommended item of a type that should " +"not have or require a version." +msgstr "" +"A propriedade de `version` foi encontrada em um item obrigatório/recomendado " +"de um tipo que não deve ter ou exigir uma versão." -#: src/as-validator-issue-tag.h:635 +#. TRANSLATORS: `version` and `compare` are AppStream XML properties. Please do not translate them. +#: src/as-validator-issue-tag.h:271 msgid "" -"Since a 'runtime' component is comprised of multiple other software " -"components, their component-IDs may be listed in a `` section for " -"this runtime." -msgstr "Como um componente \"runtime\" é composto por vários outros componentes de software, seus IDs de componentes podem ser listados em uma seção \"\" para esse tempo de execução." +"Found `version` property on this required/recommended item, but not " +"`compare` property. It is recommended to explicitly define a comparison " +"operation." +msgstr "" +"A propriedade de `version` foi encontrada neste item necessário/recomendado, " +"mas não a propriedade `compare`. É recomendável definir explicitamente uma " +"operação de comparação." -#: src/as-category.c:153 -msgctxt "Category of Games" -msgid "Sports" -msgstr "Esportes" +#: src/as-validator-issue-tag.h:276 +msgid "" +"Invalid comparison operation on relation item. Only eq/ne/lt/gt/le/ge are " +"permitted." +msgstr "" +"Operação de comparação inválida no item de relação. Somente eq/ne/lt/gt/le/" +"ge são permitidas." -#: src/as-category.c:157 -msgctxt "Category of Games" -msgid "Strategy" -msgstr "Estratégia" +#: src/as-validator-issue-tag.h:281 +msgid "" +"The relation item has a comparison operation set, but does not support any " +"comparisons." +msgstr "" +"O item de relação tem um conjunto de operações de comparação, mas não tem " +"suporte a quaisquer comparações." -#. these are commands we can use with appstreamcli -#: tools/appstream-cli.c:845 -msgid "Subcommands:" -msgstr "Subcomandos:" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:287 +msgid "" +"Found a memory size relation in a `requires` tag. This means users will not " +"be able to even install the component without having enough RAM. This is " +"usually not intended and you want to use `memory` in the `recommends` tag " +"instead." +msgstr "" +"Foi encontrada uma dependência de tamanho de memória em uma tag `requires`. " +"Isso significa que nem mesmo os usuários poderão instalar o componente sem " +"ter RAM suficiente. Em geral a intenção não é essa e em vez disso você quer " +"usar `memory` na tag `recommends`." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:294 +msgid "" +"Found a user input control relation in a `requires` tag. This means users " +"will not be able to even install the component without having the defined " +"input control available on the system. This is usually not intended and you " +"want to use `control` in the `recommends` tag instead." +msgstr "" +"Foi encontrado um controle de entrada em relação a tag `requires`. Isso " +"significa que os usuários não poderão sequer instalar o componente sem ter o " +"controle de entrada disponível no sistema. Em geral a intenção não é essa e " +"em vez disso você quer usar `control` na tag `recommends`." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:301 +msgid "" +"This `control` item defines an unknown input method and is invalid. Check " +"the specification for a list of permitted values." +msgstr "" +"Este item `control` define um método de entrada desconhecido e inválido. " +"Verifique a especificação para obter uma lista de valores permitidos." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:307 +msgid "" +"This `display_length` item contains an invalid display length. Its value " +"must either be a shorthand string, or positive integer value denoting " +"logical pixels. Please refer to the AppStream specification for more " +"information on this tag." +msgstr "" +"Este item `display_length` contém um comprimento de exibição inválido. Seu " +"valor deve ser uma string curta, ou um valor inteiro positivo denotando " +"pixels lógicos. Consulte a especificação do AppStream para mais informações " +"sobre esta tag." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:314 +msgid "" +"This `side` property of this `display_length` item contains an invalid " +"value. It must either be `shortest` or `longest`, or unset to imply " +"`shortest` to make the item value refer to either the shortest or longest " +"side of the display." +msgstr "" +"Esta propriedade `side` deste item `display_length` contém um valor " +"inválido. Deve ser `shortest` ou `longest`, ou não deve ser definida para " +"implicar `shortest` para que o valor do item se refira ao lado mais curto ou " +"longo da tela." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:527 +#: src/as-validator-issue-tag.h:320 msgid "" -"Suggestions of any type other than 'upstream' are not allowed in metainfo " +"The set component type is not a recognized, valid AppStream component type." +msgstr "" +"O tipo de componente definido não é um tipo de componente AppStream " +"reconhecido e válido." + +#: src/as-validator-issue-tag.h:325 +msgid "" +"The component has a priority value set. This is not allowed in metainfo " "files." msgstr "" -"Sugestões de qualquer tipo diferente de “upstream” não são permitidas em " +"O componente tem um valor de prioridade definido. Isso não é permitido em " "arquivos metainfo." -#: tools/ascli-utils.c:297 -msgid "Summary" -msgstr "Resumo" - -#. TRANSLATORS: Status summary in ascli -#: tools/ascli-actions-misc.c:145 -msgid "Summary:" -msgstr "Resumo:" - -#: src/as-category.c:290 -msgctxt "Category of Utility" -msgid "System Monitoring" -msgstr "Monitoramento do sistema" - -#: src/as-validator-issue-tag.h:46 -msgid "Tags of this name are not permitted in this section." -msgstr "Tags desse nome não são permitidas nesta seção." - -#: src/as-category.c:284 -msgctxt "Category of Utility" -msgid "Terminal Emulators" -msgstr "Emuladores de terminal" - -#: src/as-category.c:281 -msgctxt "Category of Utility" -msgid "Text Editors" -msgstr "Editores de texto" - -#: src/as-validator-issue-tag.h:318 +#: src/as-validator-issue-tag.h:330 msgid "" -"The 'pkgname' tag appears multiple times. You should evaluate creating a " -"metapackage containing the metainfo and .desktop files in order to avoid " -"defining multiple package names per component." +"The component has a `merge` method defined. This is not allowed in metainfo " +"files." msgstr "" -"A tag “pkgname” aparece várias vezes. Você deve avaliar a criação de um " -"metapacote contendo os arquivos metainfo e .desktop a fim de evitar a " -"definição de vários nomes de pacotes por componente." +"O componente tem um método `merge` definido. Isso não é permitido em " +"arquivos metainfo." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:416 -msgid "" -"The 'update_contact' tag should not be included in collection AppStream XML." -msgstr "A tag “update_contact” não deve ser incluída na coleção AppStream XML." +#: src/as-validator-issue-tag.h:335 +msgid "The component is missing an ID ( tag)." +msgstr "O componente não possui um ID (tag )." -#: tools/ascli-actions-mdata.c:467 -#, c-format -msgid "The .desktop file '%s' does not exist." -msgstr "O arquivo .desktop “%s” não existe." +#: src/as-validator-issue-tag.h:340 +msgid "The component is missing a name ( tag)." +msgstr "O componente não possui um nome (tag )." -#: src/as-validator-issue-tag.h:393 -msgid "The can not contain a hyperlink." -msgstr "O não contém um hiperlink." +#: src/as-validator-issue-tag.h:345 +msgid "The component is missing a summary ( tag)." +msgstr "O componente não possui um resumo (tag )." -#: src/as-validator-issue-tag.h:313 +#: src/as-validator-issue-tag.h:350 msgid "" -"The tag still contains a 'type' property, probably from an old " +"The tag still contains a `type` property, probably from an old " "conversion to the recent metainfo format." msgstr "" -"A tag ainda contém uma propriedade “type”, provavelmente de uma " +"A tag ainda contém uma propriedade `type`, provavelmente vinda de uma " "conversão antiga para o formato recente de metainfo." -#: src/as-validator-issue-tag.h:616 -msgid "" -"The AppStream specification requires a complete, ISO 8601 date string with " -"at least day-granularity to denote dates. Please ensure the date string is " -"valid." -msgstr "" -"A especificação AppStream requer uma string de data ISO 8601 completa com " -"pelo menos granularidade em dias para denotar datas. Certifique-se de que a " -"string de data é válida." - -#: src/as-pool.c:1924 -#, c-format +#: src/as-validator-issue-tag.h:355 msgid "" -"The AppStream system cache was updated, but problems were found which " -"resulted in metadata being ignored: %s" +"The `pkgname` tag appears multiple times. You should evaluate creating a " +"metapackage containing the metainfo and .desktop files in order to avoid " +"defining multiple package names per component." msgstr "" -"O cache de sistema do AppStream foi atualizado, mas problemas foram " -"encontrados que resultaram nos metadados serem ignorados: %s" +"A tag `pkgname` aparece várias vezes. Você deve avaliar a criação de um " +"metapacote contendo os arquivos metainfo e .desktop a fim de evitar a " +"definição de vários nomes de pacotes por componente." -#: src/as-pool.c:1922 -msgid "" -"The AppStream system cache was updated, but some components were ignored. " -"Refer to the verbose log for more information." +#: src/as-validator-issue-tag.h:360 +msgid "The component name should (likely) not end with a dot (`.`)." msgstr "" -"O cache de sistema do AppStream foi atualizado, mas alguns componentes foram " -"ignorados. Veja o log detalhado para mais informações." +"O nome do componente (provavelmente) não deve terminar com um ponto (`.`)." -#: src/as-validator-issue-tag.h:151 -msgid "The SPDX license expression is invalid and could not be parsed." -msgstr "A expressão de licença SPDX é inválida e não pôde ser analisada." +#: src/as-validator-issue-tag.h:365 +msgid "The component summary should not end with a dot (`.`)." +msgstr "O Índice do componente não deve terminar com um ponto (`.`)." -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows -#: tools/appstream-cli.c:683 -#, c-format -msgid "The TYPE must be a valid component-type, such as: %s" -msgstr "O TIPO deve ser um component-type válido, como: %s" +#: src/as-validator-issue-tag.h:370 +msgid "The component summary must not contain tabs or linebreaks." +msgstr "O resumo do componente não deve conter tabulações ou quebras de linha." -#: src/as-validator-issue-tag.h:547 -msgid "The XML of this file is malformed." -msgstr "O XML neste arquivo está malformado." +#: src/as-validator-issue-tag.h:375 +msgid "The summary must not contain any URL. Use the tags for links." +msgstr "O resumo não deve conter qualquer URL. Use as tags para links." -#: src/as-validator-issue-tag.h:584 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:381 msgid "" -"The category defined in the .desktop file is not valid. Refer to the XDG " -"Menu Specification for a list of valid categories." +"Icons of type `stock` or `cached` must not contain an URL, a full or an " +"relative path to the icon. Only file basenames or stock names are allowed." msgstr "" -"A categoria definida no arquivo .desktop não é válida. Consulte XDG Menu " -"Specification para obter uma lista de categorias válidas." +"Os ícones do tipo `estoque` ou `cached` não devem conter uma URL, um caminho " +"completo ou relativo para o ícone. Somente nomes base de arquivo ou nomes " +"padrão são permitidos." -#: src/as-validator-issue-tag.h:532 -msgid "" -"The category name is not valid. Refer to the XDG Menu Specification for a " -"list of valid category names." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:388 +msgid "Icons of type `remote` must contain an URL to the referenced icon." msgstr "" -"O nome da categoria não é válida. Consulte XDG Menu Specification para uma " -"lista de nomes de categorias válidas." +"Ícones do tipo `remote` devem conter uma URL para o ícone referenciado." -#: src/as-validator-issue-tag.h:124 -msgid "" -"The component ID contains a hyphen/minus. Using a hyphen is strongly " -"discouraged, to improve interoperability with other tools such as D-Bus. A " -"good option is to replace any hyphens with underscores ('_')." +#: src/as-validator-issue-tag.h:393 +msgid "Unable to reach remote icon at the given web location - does it exist?" msgstr "" -"A ID do componente contém um hífen/menos. O uso de um hífen é altamente " -"desencorajado, para melhorar a interoperabilidade com outras ferramentas, " -"como D-Bus. Uma boa opção é substituir quaisquer hífenes por sublinhados " -"(“_”)." +"Não foi possível acessar o ícone remoto no local web determinado - ele " +"existe?" -#: src/as-validator-issue-tag.h:130 +#: src/as-validator-issue-tag.h:398 +msgid "Consider using a secure (HTTPS) URL for the remote icon link." +msgstr "Considere usar uma URL segura (HTTPS) para o link de ícone remoto." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:404 msgid "" -"The component ID contains a segment starting with a number. Starting a " -"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " -"interoperability with other tools such as D-Bus. Ideally, prefix these " -"segments with an underscore." +"Metainfo files may only contain icons of type `stock` or `remote`, the set " +"type is not allowed." msgstr "" -"A ID do componente contém um segmento que começa com um número. Iniciar um " -"segmento do ID de DNS reverso com um número é fortemente desencorajado, para " -"manter a interoperabilidade com outras ferramentas, como D-Bus. Idealmente, " -"prefixe esses segmentos com um sublinhado." +"Os arquivos metainfo podem conter apenas ícones do tipo `stock` ou `remote`, " +"o tipo do conjunto não é permitido." -#: src/as-validator-issue-tag.h:119 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:410 msgid "" -"The component ID contains an invalid character. Only ASCII characters, dots " -"and numbers are permitted." +"Invalid `type` property for this `url` tag. URLs of this type are not known " +"in the AppStream specification." msgstr "" -"A ID do componente contém um caractere inválido. Somente caracteres ASCII, " -"pontos e números são permitidos." +"Propriedade `type` inválida para esta tag `url`. URLs desse tipo não são " +"conhecidas na especificação AppStream." -#: src/as-validator-issue-tag.h:106 +#: src/as-validator-issue-tag.h:415 msgid "" -"The component ID is not a reverse domain-name. Please update the ID to avoid " -"future issues and be compatible with all AppStream implementations.\n" -"You may also consider to update the name of the accompanying .desktop file " -"to follow the latest version of the Desktop-Entry specification and use a " -"rDNS name for it as well. In any case, do not forget to mention the new " -"desktop-entry in a tag for this component to keep the " -"application launchable from software centers and the .desktop file data " -"associated with the metainfo data." +"Unable to reach remote location that this URL references - does it exist?" msgstr "" -"A ID do componente não é um nome de domínio reverso. Atualize o ID para " -"evitar problemas futuros e para ser compatível com todas as implementações " -"do AppStream.\n" -"Você também pode considerar para atualizar o nome do arquivo .desktop que " -"acompanha para seguir a versão mais recente da especificação de entrada de " -"área de trabalho e usar um nome rDNS para ele também. Em qualquer caso, não " -"se esqueça de mencionar a nova entra de .desktop em uma tag " -"para este componente para manter o aplicativo inicializável a partir de " -"centros de software e os dados de arquivo .desktop associados com os dados " -"metainfo." +"Não foi possível acessar o local remoto que esta URL referencia - ele existe?" + +#: src/as-validator-issue-tag.h:420 +msgid "Consider using a secure (HTTPS) URL for this web link." +msgstr "Considere usar uma URL segura (HTTPS) para este link web." + +#: src/as-validator-issue-tag.h:425 +msgid "A web URL was expected for this value." +msgstr "Uma URL web era esperado para este valor." -#: src/as-validator-issue-tag.h:101 +#: src/as-validator-issue-tag.h:430 msgid "" -"The component ID is required to follow a reverse domain-name scheme for its " -"name. See the AppStream specification for details." +"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." msgstr "" -"O ID do componente é necessário para seguir um esquema de nome de domínio " -"reverso para seu nome. Consulte a especificação do AppStream para obter " -"detalhes." +"Este link web usa o protocolo FTP. Considere mudar para HTTP(S) em vez disso." -#: src/as-validator-issue-tag.h:114 +#: src/as-validator-issue-tag.h:435 +msgid "The can not contain a hyperlink." +msgstr "O não contém um hiperlink." + +#: src/as-validator-issue-tag.h:440 msgid "" -"The component ID might not follow the reverse domain-name schema (the TLD " -"used by it is not known to the validator)." +"The set value is not an identifier for a desktop environment as registered " +"with Freedesktop.org." msgstr "" -"O ID do componente pode não seguir o esquema de nome de domínio reverso (o " -"TLD usado por ele não é conhecido para o validador)." +"O valor definido não é um identificador para ambiente de desktop como " +"registrado com Freedesktop.org." -#: src/as-validator-issue-tag.h:293 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:446 +msgid "This `launchable` tag has an unknown type and can not be used." +msgstr "Esta tag `launchable` tem um tipo desconhecido e não pode ser usada." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:452 +msgid "This `bundle` tag has an unknown type and can not be used." +msgstr "Esta tag `bundle` tem um tipo desconhecido e não pode ser usada." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:458 msgid "" -"The component has a 'merge' method defined. This is not allowed in metainfo " -"files." +"The `update_contact` tag should not be included in collection AppStream XML." +msgstr "A tag `update_contact` não deve ser incluída na coleção AppStream XML." + +#: src/as-validator-issue-tag.h:463 +msgid "" +"This tag is a GNOME-specific extension to AppStream and not part of the " +"official specification. Do not expect it to work in all implementations and " +"in all software centers." msgstr "" -"O componente tem um método “merge” definido. Isso não é permitido em " -"arquivos metainfo." +"Esta tag é uma extensão específica do GNOME para o AppStream e não faz parte " +"da especificação oficial. Não espere que ela funcione em todas as " +"implementações e em todos os centros de software." -#: src/as-validator-issue-tag.h:288 +#: src/as-validator-issue-tag.h:469 msgid "" -"The component has a priority value set. This is not allowed in metainfo " -"files." +"Found invalid tag. Non-standard tags should be prefixed with `x-`. AppStream " +"also provides the tag to add arbitrary custom data to metainfo " +"files. This tag is read by AppStream libraries and may be useful instead of " +"defining new custom toplevel or `x-`-prefixed tags if you just want to add " +"custom data to a metainfo file." msgstr "" -"O componente tem um valor de prioridade definido. Isso não é permitido em " -"arquivos metainfo." +"Foi encontrada uma tag inválida. As tags não padronizadas devem ser " +"prefixadas com “x-”. O AppStream também fornece a tag para " +"adicionar os dados personalizados arbitrários em arquivos metainfo. Essa tag " +"é lida por bibliotecas do AppStream e pode ser útil em vez de definir novas " +"tags personalizadas de topo de nível ou prefixadas com “ x-” caso queira " +"apenas adicionar dados personalizados a um arquivo metainfo." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:503 -msgid "The component is an addon, but no 'extends' tag was specified." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:477 +msgid "" +"The essential tag `metadata_license` is missing. A license for the metadata " +"itself always has to be defined." msgstr "" -"O componente é um extensão, mas nenhuma tag “extends” foi especificada." +"A tag essencial `metadata_license` está faltando. Uma licença para os " +"metadados propriamente dito sempre devem ser definidas." -#: src/as-validator-issue-tag.h:440 +#: src/as-validator-issue-tag.h:482 msgid "" "The component is missing a long description. Components of this type must " "have a long description." @@ -1301,161 +1751,162 @@ "O componente não possui uma descrição longa. Componentes desse tipo devem " "ter uma descrição longa." -#: src/as-validator-issue-tag.h:303 -msgid "The component is missing a name ( tag)." -msgstr "O componente não possui um nome (tag )." - -#: src/as-validator-issue-tag.h:308 -msgid "The component is missing a summary ( tag)." -msgstr "O componente não possui um resumo (tag )." - -#: src/as-validator-issue-tag.h:298 -msgid "The component is missing an ID ( tag)." -msgstr "O componente não possui um ID (tag )." - -#: src/as-validator-issue-tag.h:136 +#: src/as-validator-issue-tag.h:487 msgid "" -"The component is part of the Freedesktop project, but its ID does not start " -"with fd.o's reverse-DNS name (\"org.freedesktop\")." +"It would be useful to add a long description to this font to present it " +"better to users." msgstr "" -"O componente faz parte do projeto Freedesktop, mas seu ID não começa com o " -"nome de DNS reverso do fd.o (“org. freedesktop”)." +"Seria útil adicionar uma descrição longa a esta fonte para apresentá-la " +"melhor aos usuários." -#: src/as-validator-issue-tag.h:146 +#: src/as-validator-issue-tag.h:492 msgid "" -"The component is part of the GNOME project, but its ID does not start with " -"GNOMEs reverse-DNS name (\"org.gnome\")." +"It is recommended to add a long description to this component to present it " +"better to users." msgstr "" -"O componente faz parte do projeto GNOME, mas seu ID não começa com nome de " -"DNS reverso do GNOME (“org.gnome”)." +"Recomenda-se adicionar uma descrição longa a este componente para apresentá-" +"lo melhor aos usuários." -#: src/as-validator-issue-tag.h:141 +#: src/as-validator-issue-tag.h:497 msgid "" -"The component is part of the KDE project, but its ID does not start with " -"KDEs reverse-DNS name (\"org.kde\")." +"This generic component is missing a long description. It may be useful to " +"add one." msgstr "" -"O componente faz parte do projeto KDE, mas seu ID não começa com o nome DNS " -"reverso do KDE (“org.kde”)." +"Este componente genérico não possui uma descrição longa. Pode ser útil " +"adicionar um." -#: src/as-validator-issue-tag.h:323 -msgid "The component name should (likely) not end with a dot ('.')." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:503 +msgid "" +"Type `console-application` component, but no information about binaries in " +"$PATH was provided via a `provides/binary` tag." msgstr "" -"O nome do componente (provavelmente) não deve terminar com um ponto (“.”)." +"O componente do tipo `console-application`, porém a tag `provides/binary` " +"não fornece qualquer informação sobre os binários no $PATH." -#: src/as-validator-issue-tag.h:333 -msgid "The component summary must not contain tabs or linebreaks." -msgstr "O resumo do componente não deve conter tabulações ou quebras de linha." - -#: src/as-validator-issue-tag.h:328 -msgid "The component summary should not end with a dot ('.')." -msgstr "O resumo do componente não deve terminar com um ponto (“.”)." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:509 +msgid "" +"This `web-application` component is missing a `launchable` tag of type `url`." +msgstr "" +"Este componente `web-application` não possui uma tag `launchable` do tipo " +"`url`." -#: src/as-validator-issue-tag.h:243 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:515 msgid "" -"The default screenshot of a software component must not be a video. Use a " -"static image as default screenshot and set the video as a secondary " -"screenshot." +"This `web-application` component is missing a `icon` tag to specify a valid " +"icon." msgstr "" -"A captura de tela padrão de um componente de software não deve ser um vídeo. " -"Use uma imagem estática como captura de tela padrão e defina o vídeo como " -"uma captura de tela secundária." +"Este componente `web-application` não possui uma tag `icon` para especificar " +"um ícone válido." -#: src/as-validator-issue-tag.h:86 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:521 msgid "" -"The description contains a web URL in plain text. This is not allowed, " -"please use the tag instead to share links." +"This `web-application` component is missing categorizations. A `categories` " +"block is likely missing." msgstr "" -"A descrição contém um URL em texto sem formatação. Isso não é permitido, por " -"favor, use a tag em vez de compartilhar links." +"Este componente `web-application` não possui categorizações. Um bloco " +"`categories` provavelmente está faltando." -#: src/as-validator.c:152 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:527 msgid "" -"The emitted issue tag is unknown in the tag registry of AppStream. This is a " -"bug in the validator itself, please report this issue in our bugtracker." +"Type `font` component, but no font information was provided via a `provides/" +"font` tag." msgstr "" -"A tag de problema emitida é desconhecida no registro de tags do AppStream. " -"Este é um erro no próprio validador, por favor relate este problema em nosso " -"rastreador de erros." +"Componente do tipo `font`, porém a tag `provides/font` não fornece qualquer " +"informação sobre a fonte." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:435 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:533 msgid "" -"The essential tag 'metadata_license' is missing. A license for the metadata " -"itself always has to be defined." +"Type `driver` component, but no modalias information was provided via a " +"`provides/modalias` tag." msgstr "" -"A tag essencial “metadata_license” está faltando. Uma licença para os " -"metadados propriamente dito sempre deve ser definida." +"O componente do tipo `driver`, porém a tag `provides/modalias` não fornece " +"qualquer informação sobre modalias." -#: src/as-validator-issue-tag.h:79 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:539 msgid "" -"The first 'description/p' paragraph of this component might be too short (< " -"80 characters). Please consider starting with a longer paragraph to improve " -"how the description looks like in software centers and to provide more " -"detailed information on this component immediately in the first paragraph." +"An `extends` tag is specified, but the component is not of type `addon`, " +"`localization` or `repository`." msgstr "" -"O primeiro parágrafo “description/p” deste componente pode estar curto " -"demais (< 80 caracteres). Por favor, considere começar com um parágrafo mais " -"longo para melhorar como a descrição se parece em centros de software e " -"fornecer informações mais detalhadas sobre este componente imediatamente no " -"primeiro parágrafo." +"Uma tag 'extends' está definida, porém o componente não é do tipo 'addon', " +"'localization' ou 'repository'." -#: src/as-validator-issue-tag.h:156 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:545 +msgid "The component is an addon, but no `extends` tag was specified." +msgstr "O componente é uma extensão, porém nenhuma tag `extends` foi definida." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:551 msgid "" -"The license ID was not found in the SPDX database. Please check that the " -"license ID is written in an SPDX-conformant way and is a valid free software " -"license." -msgstr "O ID da licença não foi encontrado no banco de dados de SPDX. Verifique se o ID da licença está escrito de forma compatível com SPDX e se é uma licença de software livre válida." +"This `localization` component is missing an `extends` tag, to specify the " +"components it adds localization to." +msgstr "" +"Este componente `localization` não possui uma tag `extends`, para " +"especificar os componentes para os quais ele adiciona a localização." -#: src/as-validator-issue-tag.h:96 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:557 msgid "" -"The mentioned tag is empty, which is highly likely not intended as it should " -"have content." +"This `localization` component does not define any languages this " +"localization is for." msgstr "" -"A tag mencionada está vazia, o que muito provavelmente não é a intenção, " -"pois ela deve ter um conteúdo." +"Este componente `localization` não define os idiomas para os quais essa " +"localização serve." -#: src/as-validator-issue-tag.h:168 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:563 msgid "" -"The metadata itself does not seem to be licensed under a permissive license. " -"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " -"0BSD to allow distributors to include it in mixed data collections without " -"the risk of license violations due to mutually incompatible licenses." +"This `service` component is missing a `launchable` tag of type `service`." msgstr "" -"Os metadados propriamente dito não parecem estar licenciados sob uma " -"licença permissiva. Por favor, licencie os dados uma licença permissiva, " -"como FSFAP, CC0-1.0 ou 0BSD para permitir que os distribuidores a incluam em " -"coleções de dados mistos sem o risco de violações de licença devido a " -"licenças mutuamente incompatíveis." +"Este componente `service` não possui uma tag `launchable` do tipo `service`." -#: src/as-validator-issue-tag.h:162 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:569 msgid "" -"The metadata itself seems to be licensed under a complex collection of " -"licenses. Please license the data under a simple permissive license, like " -"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " -"collections without the risk of license violations due to mutually " -"incompatible licenses." +"Suggestions of any type other than `upstream` are not allowed in metainfo " +"files." msgstr "" -"Os metadados propriamente dito parecem estar licenciados sob uma coleção " -"complexa de licenças. Por favor, licencie os dados uma licença permissiva " -"simples, como FSFAP, MIT ou CC0-1.0 para permitir que os distribuidores a " -"incluam em coleções de dados mistos sem o risco de violações de licença " -"devido a licenças mutuamente incompatíveis." +"Sugestões de qualquer tipo diferente de `upstream` não são permitidas em " +"arquivos metainfo." -#: src/as-validator-issue-tag.h:599 +#: src/as-validator-issue-tag.h:574 msgid "" -"The metainfo file is stored in a legacy path. Please place it in '/usr/share/" -"metainfo'." +"The category name is not valid. Refer to the XDG Menu Specification for a " +"list of valid category names." msgstr "" -"O arquivo metainfo está armazenado em um caminho legado. Por favor, coloque-" -"o em \"/usr/share/metainfo\"." +"O nome da categoria não é válida. Consulte XDG Menu Specification para uma " +"lista de nomes de categorias válidas." -#: src/as-validator-issue-tag.h:604 -msgid "The metainfo file specifies multiple components. This is not allowed." +#: src/as-validator-issue-tag.h:579 +msgid "The screenshot caption is too long (should be <= 80 characters)" +msgstr "A legenda da captura de tela é muito longa (deve ser <= 80 caracteres)" + +#: src/as-validator-issue-tag.h:584 +msgid "Unable to read file." +msgstr "Não foi possível ler o arquivo." + +#: src/as-validator-issue-tag.h:589 +msgid "The XML of this file is malformed." +msgstr "O XML neste arquivo está malformado." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:595 +msgid "" +"Invalid tag found in collection metadata. Only `component` tags are " +"permitted." msgstr "" -"O arquivo metainfo especifica vários componentes. Isso não é permitido." +"Foi encontrada uma tag inválida nos metadados de coleção. Somente as tags " +"`components` são permitidas." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:559 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:601 msgid "" "The metainfo file uses an ancient version of the AppStream specification, " "which can not be validated. Please migrate it to version 0.6 (or higher)." @@ -1463,331 +1914,778 @@ "O arquivo metainfo usa uma versão antiga da especificação do AppStream, que " "não pode ser validada. Por favor, migre para a versão 0.6 (ou superior)." -#: src/as-validator-issue-tag.h:569 +#: src/as-validator-issue-tag.h:606 +msgid "" +"This XML document has an unknown root tag. Maybe this file is not a metainfo " +"document?" +msgstr "" +"Este documento XML tem uma tag de raiz desconhecida. Talvez este arquivo não " +"seja um documento metainfo?" + +#: src/as-validator-issue-tag.h:611 msgid "The metainfo filename does not match the component ID." msgstr "O nome do arquivo metainfo não corresponde ao ID do componente." -#: src/as-validator-issue-tag.h:609 +#: src/as-validator-issue-tag.h:616 +msgid "Unable to read the .desktop file associated with this component." +msgstr "Não foi possível ler o arquivo .desktop associado com este componente." + +#: src/as-validator-issue-tag.h:621 +msgid "This component metadata refers to a non-existing .desktop file." +msgstr "" +"Este componente metadados refere-se a um arquivo .desktop não existente." + +#: src/as-validator-issue-tag.h:626 +msgid "" +"The category defined in the .desktop file is not valid. Refer to the XDG " +"Menu Specification for a list of valid categories." +msgstr "" +"A categoria definida no arquivo .desktop não é válida. Consulte XDG Menu " +"Specification para obter uma lista de categorias válidas." + +#: src/as-validator-issue-tag.h:631 +msgid "No AppStream metadata was found in this directory or directory tree." +msgstr "" +"Nenhum metadados do AppStream foi encontrado neste diretório ou árvore de " +"diretórios." + +#. pedantic because not everything which has metadata is an application +#: src/as-validator-issue-tag.h:636 +msgid "No XDG applications directory found." +msgstr "Nenhum diretório de aplicativos XDG encontrado." + +#: src/as-validator-issue-tag.h:641 +msgid "" +"The metainfo file is stored in a legacy path. Please place it in `/usr/share/" +"metainfo/`." +msgstr "" +"O arquivo metainfo está armazenado em um caminho herdado. Por favor, coloque-" +"o em `/usr/share/metainfo`." + +#: src/as-validator-issue-tag.h:646 +msgid "The metainfo file specifies multiple components. This is not allowed." +msgstr "" +"O arquivo metainfo especifica vários componentes. Isso não é permitido." + +#: src/as-validator-issue-tag.h:651 msgid "" "The releases are not sorted in a latest to oldest version order. This is " "required as some tools will assume that the latest version is always at the " "top. Sorting releases also increases overall readability of the metainfo " "file." msgstr "" -"Os lançãmentos não estão classificados em uma ordem de versão mais recente " +"Os lançamentos não estão classificados em uma ordem de versão mais recente " "para a mais antiga. Isso é necessário, pois algumas ferramentas presumirão " "que a versão mais recente está sempre na parte superior. A classificação de " "lançamentos também aumenta a legibilidade geral do arquivo metainfo." -#: src/as-validator-issue-tag.h:537 -msgid "The screenshot caption is too long (should be <= 80 characters)" -msgstr "A legenda da captura de tela é muito longa (deve ser <= 80 caracteres)" +#: src/as-validator-issue-tag.h:658 +msgid "The value set as release urgency is not a known urgency value." +msgstr "" +"O valor definido como urgência de lançamento não é um valor de urgência " +"conhecido." -#: src/as-validator-issue-tag.h:206 -msgid "The screenshot does not have a caption text. Consider adding one." -msgstr "A captura de tela não tem um texto de legenda. Considere adicionar um." +#: src/as-validator-issue-tag.h:663 +msgid "The value set as release type is invalid." +msgstr "O valor definido como tipo de lançamento é inválido." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:669 +msgid "" +"The value set as artifact type is invalid. Must be either `source` or " +"`binary`." +msgstr "" +"O valor definido como tipo de artefato é inválido. Deve ser `source` ou " +"`binary`." + +#: src/as-validator-issue-tag.h:674 +msgid "The value set as artifact bundle type is invalid." +msgstr "O valor definido como tipo de pacote de artefato é inválido." + +#: src/as-validator-issue-tag.h:679 +msgid "" +"The platform triplet for this release is invalid. It must be in the form of " +"`architecture-oskernel-osenv` - refer to the AppStream documentation or " +"information on normalized GNU triplets for more information and valid fields." +msgstr "" +"O tripleto da plataforma para esta versão é inválido. Ele deve ser na forma " +"de `architecture-oskernel-osenv` – consulte a documentação do AppStream ou " +"informações sobre tripleto normalizados GNU para obter mais informações e " +"campos válidos." + +#: src/as-validator-issue-tag.h:686 +msgid "The selected checksumming algorithm is unsupported or unknown." +msgstr "" +"O algoritmo de verificação selecionado não tem suporte ou é desconhecido." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:692 +msgid "The size type is unknown. Must be `download` or `installed`." +msgstr "O tipo de tamanho é desconhecido. Deve ser `download` ou `installed`." + +#: src/as-validator-issue-tag.h:697 +msgid "" +"The artifact filename must be a file basename, not a (relative or absolute) " +"path." +msgstr "" +"O nome do arquivo do artefato deve ser um nome base de arquivo, não um " +"caminho (relativo ou absoluto)." + +#: src/as-validator-issue-tag.h:702 +msgid "The value set as release issue type is invalid." +msgstr "O valor definido como tipo de problema de lançamento é inválido." + +#: src/as-validator-issue-tag.h:707 +msgid "" +"The issue is tagged at security vulnerability with a CVE number, but its " +"value does not look like a valid CVE identifier." +msgstr "" +"O problema está marcado na vulnerabilidade de segurança com um número CVE, " +"mas seu valor não se parece com um identificador CVE válido." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:713 +msgid "" +"This component is missing information about releases. Consider adding a " +"`releases` tag to describe releases and their changes." +msgstr "Este componente não contém informações sobre lançamentos. Considere adicionar uma tag `releases` para descrever os lançamentos e suas mudanças." + +#: src/as-validator-issue-tag.h:718 +msgid "" +"The AppStream specification requires a complete, ISO 8601 date string with " +"at least day-granularity to denote dates. Please ensure the date string is " +"valid." +msgstr "" +"A especificação AppStream requer uma string de data ISO 8601 completa com " +"pelo menos granularidade em dias para denotar datas. Certifique-se de que a " +"string de data é válida." + +#: src/as-validator-issue-tag.h:724 +msgid "" +"This component extends, provides, requires or recommends itself, which is " +"certainly not intended and may confuse users or machines dealing with this " +"metadata." +msgstr "" +"Este componente estende, fornece, requer ou recomenda a si próprio, o que " +"certamente não é a intenção e pode confundir os usuários ou máquinas que " +"lidam com esses metadados." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:218 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:731 msgid "" -"The screenshot video does not specify which container format was used in a " -"'container' property." +"Licenses for `runtime` components are usually too complex to reflect them in " +"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " +"value for this component's `project_license`. E.g. `LicenseRef-free=https://" +"example.com/licenses.html`" msgstr "" -"O vídeo de captura de tela não especifica qual formato de contêiner foi " -"usado em uma propriedade \"container\"." +"Licenças para componentes `runtime` geralmente são muito complexas para " +"refleti-las em uma simples expressão SPDX. Considere o uso de um " +"`LicenseRef` e uma URL como valor para o `project_license` deste componente. " +"Por exemplo, `LicenseRef-free=https://example.com/licenses.html`" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:212 +#: src/as-validator-issue-tag.h:737 msgid "" -"The screenshot video does not specify which video codec was used in a " -"'codec' property." +"Since a `runtime` component is comprised of multiple other software " +"components, their component-IDs may be listed in a `` section for " +"this runtime." msgstr "" -"O vídeo de captura de tela não especifica qual codec de vídeo foi usado em " -"uma propriedade \"codec\"." +"Como um componente `runtime` é composto por vários outros componentes de " +"software, os seus IDs de componentes podem ser listados em uma seção " +"`` para esse tempo de execução." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:224 +#: src/as-validator-issue-tag.h:742 msgid "" -"The selected video codec is not supported by AppStream and software centers " -"may not be able to play the video. Only the AV1 and VP9 codecs are currently " -"supported, using 'av1' and 'vp9' as values for the 'codec' property." +"The type of the item that the component provides is not known to AppStream." msgstr "" -"O codec de vídeo selecionado não é suportado pelo AppStream e os centros de " -"software podem não ser capazes de reproduzir o vídeo. Apenas os codecs AV1 e " -"VP9 são atualmente suportados, usando \"av1\" e \"vp9\" como valores para a " -"propriedade \"codec\"." +"O tipo do item que o componente fornece não é conhecido pelo AppStream." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:231 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:748 msgid "" -"The selected video container format is not supported by AppStream and " -"software centers may not be able to play the video. Only the WebM and " -"Matroska video containers are currently supported, using 'webm' and 'mkv' as " -"values for the 'container' property." -msgstr "" -"O formato de contêiner de vídeo selecionado não é suportado pelo AppStream e " -"os centros de software podem não ser capazes de reproduzir o vídeo. Somente " -"os contêineres de vídeo WebM e Matroska são atualmente suportados, usando " -"\"WebM\" e \"MKV\" como valores para a propriedade \"container\"." +"The toplevel `mimetypes` tag is deprecated. Please use `mediatype` tags in a " +"`provides` block instead to indicate that your software provides a media " +"handler for the given types." +msgstr "" +"A tag de topo de nível `mimetypes` foi descontinuada. Por favor, utilize " +"tags `mediatype` em um bloco `provides` para indicar que seu software " +"fornece um manipulador de mídia para os tipos em questão." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks) and keep the URL intact. +#: src/as-validator-issue-tag.h:755 +msgid "" +"This component has no `content_rating` tag to provide age rating " +"information. You can generate the tag data online by answering a few " +"questions at https://hughsie.github.io/oars/" +msgstr "Este componente não tem tag `content_rating` para fornecer informações de classificação etária. Você pode gerar os dados da tag online respondendo a algumas perguntas em https://hughsie.github.io/oars/" -#: src/as-validator-issue-tag.h:283 +#: src/as-validator.c:150 msgid "" -"The set component type is not a recognized, valid AppStream component type." +"The emitted issue tag is unknown in the tag registry of AppStream. This is a " +"bug in the validator itself, please report this issue in our bugtracker." msgstr "" -"O tipo de componente definido não é um tipo de componente AppStream " -"reconhecido e válido." +"A tag de problema emitida é desconhecida no registro de tags do AppStream. " +"Este é um erro no próprio validador, por favor relate este problema em nosso " +"rastreador de erros." -#: src/as-validator-issue-tag.h:398 +#: src/as-validator.c:344 +msgid "URL format is invalid." +msgstr "O formato de URL é inválido." + +#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. +#: src/as-validator.c:522 src/as-validator.c:937 src/as-validator.c:1031 +#: src/as-validator.c:1428 src/as-validator.c:1448 src/as-validator.c:1481 +#, c-format +msgid "Found: %s - Allowed: %s" +msgstr "Encontrada: %s - Permitida: %s" + +#. TRANSLATORS: ascompose flag description for: --verbose +#: tools/appstream-compose.c:181 +msgid "Show extra debugging information" +msgstr "Mostra informações extras de depuração" + +#. TRANSLATORS: ascompose flag description for: --no-color +#. TRANSLATORS: ascli flag description for: --no-color +#: tools/appstream-compose.c:184 tools/appstreamcli.c:1087 +msgid "Don't show colored output." +msgstr "Não exibe saída colorida." + +#. TRANSLATORS: ascompose flag description for: --version +#. TRANSLATORS: ascli flag description for: --version +#: tools/appstream-compose.c:187 tools/appstreamcli.c:1076 +msgid "Show the program version." +msgstr "Mostrar a versão do programa." + +#. TRANSLATORS: ascompose flag description for: --full-report +#: tools/appstream-compose.c:190 +msgid "Set mode of the issue report that is printed to the console" +msgstr "Define o modo do relatório de problema que é impresso no console" + +#. TRANSLATORS: ascompose flag description for: --prefix +#: tools/appstream-compose.c:193 +msgid "Override the default prefix (`/usr` by default)" +msgstr "Substitui o prefixo padrão (`/usr` por padrão)" + +#. TRANSLATORS: ascompose flag description for: --result-root +#: tools/appstream-compose.c:196 +msgid "Set the result output directory" +msgstr "Define o diretório de saída do resultado" + +#. TRANSLATORS: ascompose flag description for: --data-dir, `collection metadata` is an AppStream term +#: tools/appstream-compose.c:199 +msgid "Override the collection metadata output directory" +msgstr "Substitui o diretório de saída de metadados da coleção" + +#. TRANSLATORS: ascompose flag description for: --icons-dir +#: tools/appstream-compose.c:202 +msgid "Override the icon output directory" +msgstr "Substitui o diretório de saída do ícone" + +#. TRANSLATORS: ascompose flag description for: --media-dir +#: tools/appstream-compose.c:205 +msgid "" +"Set the media output directory (for media data to be served by a webserver)" +msgstr "Defina o diretório de saída de mídia (para dados de mídia a serem veiculados por um servidor web)" + +#. TRANSLATORS: ascompose flag description for: --hints-dir +#: tools/appstream-compose.c:208 +msgid "Set a directory where HTML and text issue reports will be stored" +msgstr "" +"Define um diretório onde os relatórios de problemas em HTML e texto serão " +"armazenados" + +#. TRANSLATORS: ascompose flag description for: --origin +#. TRANSLATORS: ascompose flag description for: --media-baseurl +#: tools/appstream-compose.c:211 tools/appstream-compose.c:214 +msgid "Set the origin name" +msgstr "Define o nome de origem" + +#. TRANSLATORS: ascompose flag description for: --components +#: tools/appstream-compose.c:217 +msgid "A comma-separated list of component-IDs to accept" +msgstr "Uma lista separada por vírgulas de IDs de componentes para aceitar" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:231 +msgid "Failed to parse arguments" +msgstr "Falha ao analisar argumentos" + +#. TRANSLATORS: Output if appstreamcli --version is executed. +#: tools/appstream-compose.c:242 tools/appstreamcli.c:1230 +#, c-format +msgid "AppStream version: %s" +msgstr "Versão do AppStream: %s" + +#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. +#: tools/appstream-compose.c:245 tools/appstreamcli.c:1233 +#, c-format msgid "" -"The set value is not an identifier for a desktop environment as registered " -"with Freedesktop.org." +"AppStream CLI tool version: %s\n" +"AppStream library version: %s" msgstr "" -"O valor definido não é um identificador para ambiente de desktop como " -"registrado com Freedesktop.org." +"Versão da ferramenta CLI do AppStream: %s\n" +"Versão da biblioteca do AppStream: %s" -#: tools/ascli-actions-mdata.c:449 +#. TRANSLATORS: invalid value for the --print-report CLI option +#: tools/appstream-compose.c:264 #, c-format msgid "" -"The software component type '%s' is not valid in AppStream. Possible values " -"are:" +"Invalid value for `--print-report` option: %s\n" +"Possible values are:\n" +"`on-error` - only prints a short report if the run failed (default)\n" +"`short` - generates an abridged report\n" +"`full` - a detailed report will be printed" msgstr "" -"O tipo de componente de software “%s” não é válido no AppStream. Valores " -"possíveis são:" +"Valor inválido para a opção `--print-report`: %s\n" +"Os valores possíveis são:\n" +"`on-error` - apenas imprime um breve relatório se a execução falhar " +"(padrão)\n" +"`short` - gera um relatório resumido\n" +"`full` - um relatório detalhado será impresso" -#: src/as-validator-issue-tag.h:338 -msgid "The summary must not contain any URL. Use the tags for links." -msgstr "O resumo não deve conter qualquer URL. Use as tags para links." +#: tools/appstream-compose.c:285 +#, c-format +msgid "Automatically selected '%s' as data output location." +msgstr "Selecionado automaticamente \"%s\" como local de saída de dados." -#: src/as-validator-issue-tag.h:640 -msgid "" -"The type of the item that the component provides is not known to AppStream." +#. TRANSLATORS: we don't have a destination directory for compose +#: tools/appstream-compose.c:288 +msgid "No destination directory set, please provide a data output location!" msgstr "" -"O tipo do item que o componente fornece não é conhecido pelo AppStream." +"Nenhum diretório de destino definido, fornece um local de saída de dados!" -#: src/as-validator-issue-tag.h:174 -msgid "" -"The update-contact does not appear to be a valid email address (escaping of " -"'@' is only allowed as '_at_' or '_AT_')." -msgstr "" -"O “update-contact” não parece ser um endereço de e-mail válido (escapar de " -"“@” só é permitido como “_at_” ou “_AT_”)." +#: tools/appstream-compose.c:298 tools/appstream-compose.c:300 +msgid "WARNING" +msgstr "AVISO" + +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:337 +#, c-format +msgid "Only accepting components: %s" +msgstr "Aceitando apenas componentes: %s" -#: tools/ascli-actions-validate.c:363 tools/ascli-actions-validate.c:492 +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:340 #, c-format +msgid "Only accepting component: %s" +msgstr "Aceitando apenas componente: %s" + +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:345 +msgid "Processing directories:" +msgstr "Processando diretórios:" + +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:348 +msgid "Processing directory:" +msgstr "Processando diretório:" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:357 +msgid "Can not process invalid directory" +msgstr "Não foi possível processar um diretório inválido" + +#. TRANSLATORS: information message +#: tools/appstream-compose.c:369 +msgid "Composing metadata..." +msgstr "Compondo metadados…" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:374 +msgid "Failed to compose AppStream metadata" +msgstr "Falha ao compor os metadados do AppStream" + +#. TRANSLATORS: appstream-compose failed to include all data +#: tools/appstream-compose.c:380 +msgid "Run failed, some data was ignored." +msgstr "Execução falhou, alguns dados foram ignorados." + +#. TRANSLATORS: information message of appstream-compose +#: tools/appstream-compose.c:382 +msgid "Errors were raised during this compose run:" +msgstr "Erros foram levantados durante esta execução de composição:" + +#: tools/appstream-compose.c:383 msgid "" -"The validator can not create reports in the '%s' format. You may select " -"'yaml' or 'text' instead." +"Refer to the generated issue report data for details on the individual " +"problems." msgstr "" -"O validador não pode criar relatórios no formato “%s”. Você pode selecionar " -"“yaml” ou “text” em vez disso." +"Consulte os dados do relatório de problemas gerados para obter detalhes " +"sobre os problemas individuais." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:410 -msgid "This 'bundle' tag has an unknown type and can not be used." -msgstr "Esta tag “bundle” tem um tipo desconhecido e não pode ser usada." +#: tools/appstream-compose.c:386 +msgid "Overview of generated hints:" +msgstr "Visão geral das dicas geradas:" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:404 -msgid "This 'launchable' tag has an unknown type and can not be used." -msgstr "Esta tag “launchable” tem um tipo desconhecido e não pode ser usada." +#. TRANSLATORS: information message +#: tools/appstream-compose.c:388 +msgid "Success!" +msgstr "Sucesso!" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:515 -msgid "" -"This 'localization' component does not define any languages this " -"localization is for." +#. TRANSLATORS: ascli flag description for: --cachepath +#: tools/appstreamcli.c:59 +msgid "Manually selected location of AppStream cache." +msgstr "Localização manualmente selecionada do cache do AppStream." + +#. TRANSLATORS: ascli flag description for: --datapath +#: tools/appstreamcli.c:64 +msgid "Manually selected location of AppStream metadata to scan." msgstr "" -"Este componente “localization” não define os idiomas para os quais essa " -"localização serve." +"Localização manualmente selecionada dos metadados do AppStream para varrer." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:509 -msgid "" -"This 'localization' component is missing an 'extends' tag, to specify the " -"components it adds localization to." +#. TRANSLATORS: ascli flag description for: --no-cache +#: tools/appstreamcli.c:69 +msgid "Make request without any caching." +msgstr "Faz uma requisição sem qualquer cache." + +#. TRANSLATORS: ascli flag description for: --format +#: tools/appstreamcli.c:85 +msgid "Default metadata format (valid values are 'xml' and 'yaml')." +msgstr "Formato de metadados padrão (valores válidos são “xml” e “yaml”)." + +#. TRANSLATORS: ascli flag description for: --details +#: tools/appstreamcli.c:100 +msgid "Print detailed output about found components." +msgstr "Mostra saída detalhada sobre componentes encontrados." + +#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) +#: tools/appstreamcli.c:118 +msgid "Also show pedantic hints." +msgstr "Também mostre dicas pedestrais." + +#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) +#: tools/appstreamcli.c:123 +msgid "Print detailed explanation for found issues." +msgstr "Mostra explicação detalhada para problemas encontrados." + +#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) +#: tools/appstreamcli.c:128 +msgid "Do not use network access." +msgstr "Não usa acesso de rede." + +#. TRANSLATORS: ascli flag description for: --format when validating XML files +#: tools/appstreamcli.c:133 +msgid "Format of the generated report (valid values are 'text' and 'yaml')." +msgstr "Formato de relatório gerado (valores válidos são “texto” e “yaml”)." + +#. TRANSLATORS: This is the header to the --help menu for subcommands +#. TRANSLATORS: This is the header to the --help menu +#: tools/appstreamcli.c:153 tools/appstreamcli.c:981 +msgid "AppStream command-line interface" +msgstr "Interface de linha de comando do AppStream" + +#: tools/appstreamcli.c:156 +#, c-format +msgid "'%s' command" +msgstr "Comando '%s'" + +#. TRANSLATORS: An unknown option was passed to appstreamcli. +#: tools/appstreamcli.c:191 +#, c-format +msgid "Option '%s' is unknown." +msgstr "Comando “%s” é inválido." + +#: tools/appstreamcli.c:195 tools/appstreamcli.c:1207 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options." msgstr "" -"Este componente “localization” não possui uma tag “extends”, para " -"especificar os componentes para os quais ele adiciona localização." +"Executar “%s --help” para ver uma lista completa das opções de linha de " +"comando disponíveis." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:521 +#: tools/appstreamcli.c:197 +#, c-format msgid "" -"This 'service' component is missing a 'launchable' tag of type 'service'." +"Run '%s --help' to see a list of available commands and options, and '%s %s " +"--help' to see a list of options specific for this subcommand." msgstr "" -"Este componente “service” não possui uma tag “launchable” do tipo “service”." +"Executar “%s --help” para ver uma lista de comandos e opções disponíveis, e " +"“%s %s --help” para ver uma lista de opções específicas para este subcomando." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:473 -msgid "" -"This 'web-application' component is missing a 'icon' tag to specify a valid " -"icon." +#. TRANSLATORS: ascli flag description for: --force +#: tools/appstreamcli.c:245 +msgid "Enforce a cache refresh." +msgstr "Reforçar uma atualização da cache." + +#. TRANSLATORS: ascli flag description for: --user +#: tools/appstreamcli.c:251 +msgid "Update the user-specific instead of the system-wide cache." msgstr "" -"Este componente “web-application” não possui uma tag “icon” para especificar " -"um ícone válido." +"Atualiza o cache específico do usuário em vez do cache em todo o sistema." + +#. TRANSLATORS: ascli flag description for: --origin (part of the "put" subcommand) +#: tools/appstreamcli.c:477 +msgid "Set the data origin for the installed metadata collection file." +msgstr "" +"Define a origem dos dados para o arquivo de coleção de metadados instalados." + +#. TRANSLATORS: ascli flag description for: --user (part of the "put" subcommand) +#: tools/appstreamcli.c:482 +msgid "Install the file for the current user, instead of globally." +msgstr "Instala o arquivo para o usuário atual, em vez de globalmente." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:467 +#: tools/appstreamcli.c:631 msgid "" -"This 'web-application' component is missing a 'launchable' tag of type 'url'." +"You need to provide at least two version numbers to compare as parameters." msgstr "" -"Este componente “web-application” não possui uma tag “launchable” do tipo " -"“url”." +"Você precisa fornecer pelo menos dois números de versão para comparar como " +"parâmetros." + +#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. +#: tools/appstreamcli.c:660 +#, c-format +msgid "Unknown compare relation '%s'. Valid values are:" +msgstr "Relação de comparação desconhecida “%s”. Valores válidos são:" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:479 +#: tools/appstreamcli.c:700 msgid "" -"This 'web-application' component is missing categorizations. A 'categories' " -"block is likely missing." +"Too many parameters: Need two version numbers or version numbers and a " +"comparison operator." msgstr "" -"Este componente “web-application” não possui categorizações. Um bloco " -"“categories” provavelmente está faltando." +"Parâmetros demais: é necessário dois números de versão, ou números de versão " +"e um operador de comparação." -#: src/as-validator-issue-tag.h:564 +#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) +#: tools/appstreamcli.c:726 msgid "" -"This XML document has an unknown root tag. Maybe this file is not a metainfo " -"document?" +"Use the given .desktop file to fill in the basic values of the metainfo file." msgstr "" -"Este documento XML tem uma tag de raiz desconhecida. Talvez este arquivo não " -"seja um documento metainfo?" +"Usa o arquivo .desktop dado para preencher valores básicos no arquivo " +"metainfo." #. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand -#: tools/appstream-cli.c:680 +#: tools/appstreamcli.c:731 msgid "" "This command takes optional TYPE and FILE positional arguments, FILE being a " "file to write to (or \"-\" for standard output)." msgstr "" "Esse comando leva os argumentos posicionais e opcionais TIPO e ARQUIVO, " -"ARQUIVO sendo um arquivo para escrever para (ou “-” para a saída padrão)." +"sendo ARQUIVO um arquivo para escrever para (ou “-” para a saída padrão)." -#: src/as-validator-issue-tag.h:622 -msgid "" -"This component extends, provides, requires or recommends itself, which is " -"certainly not intended and may confuse users or machines dealing with this " -"metadata." +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows +#: tools/appstreamcli.c:734 +#, c-format +msgid "The TYPE must be a valid component-type, such as: %s" +msgstr "O TIPO deve ser um component-type válido, como: %s" + +#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) +#: tools/appstreamcli.c:775 +msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." msgstr "" -"Este componente estende, fornece, requer ou recomenda a si próprio, o que " -"certamente não é a intenção e pode confundir os usuários ou máquinas que " -"lidam com esses metadados." +"Usa a linha especificada para a chave “Exec=” do arquivo de entrada de " +"desktop." -#: src/as-validator-issue-tag.h:579 -msgid "This component metadata refers to a non-existing .desktop file." +#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command +#: tools/appstreamcli.c:815 +msgid "Assume the input file is in the selected format ('yaml' or 'text')." msgstr "" -"Este componente metadados refere-se a um arquivo .desktop não existente." +"Presume que o arquivo de entrada está no formato selecionado (“yaml” ou " +"“text”)." -#: src/as-validator-issue-tag.h:69 +#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command +#: tools/appstreamcli.c:820 msgid "" -"This description paragraph contains invalid markup. Currently, only " -"and are permitted." +"Limit the number of release entries that end up in the metainfo file (0 for " +"unlimited)." msgstr "" -"Este parágrafo de descrição contém marcação inválida. Atualmente, somente " -" e são permitidas." +"Limita o número de entradas de lançamento que terminam no arquivo metainfo " +"(0 para sem limite)." -#: src/as-validator-issue-tag.h:57 +#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command +#: tools/appstreamcli.c:862 +msgid "Generate the output in the selected format ('yaml' or 'text')." +msgstr "Gera a saída no formato selecionado (“yaml” ou “text”)." + +#: tools/appstreamcli.c:894 +#, c-format +msgid "Compose binary '%s' was not found! Can not continue." +msgstr "" +"O binário de composição \"%s\" não foi encontrado! Não é possível continuar." + +#. TRANSLATORS: this is a (usually shorter) command alias, shown after the command summary text +#: tools/appstreamcli.c:956 +#, c-format +msgid "(Alias: '%s')" +msgstr "(Alias: \"%s\")" + +#. these are commands we can use with appstreamcli +#: tools/appstreamcli.c:983 +msgid "Subcommands:" +msgstr "Subcomandos:" + +#: tools/appstreamcli.c:1029 msgid "" -"This element (paragraph, list, etc.) of a tag must not be " -"localized individually in collection metadata. Localize the whole " -" tag instead. The AppStream collection metadata generator (e." -"g. `appstream-generator`) will already do the right thing when compiling the " -"data." +"You can find information about subcommand-specific options by passing \"--" +"help\" to the subcommand." msgstr "" -"Este elemento (parágrafo, lista, etc.) de uma tag não deve " -"ser localizada individualmente em metadados de coleção. Localize a tag " -" inteira em vez disso. O gerador de metadados de coleção do " -"AppStream (por exemplo, `appstream-generator`) já fará a coisa certa ao " -"compilar os dados." +"Você pode encontrar informações sobre opções de um subcomando específico " +"passando “--help” para o subcomando." -#: src/as-validator-issue-tag.h:455 +#. TRANSLATORS: ascli has been run with unknown command. '%s --help' is the command to receive help and should not be translated. +#: tools/appstreamcli.c:1052 +#, c-format msgid "" -"This generic component is missing a long description. It may be useful to " -"add one." +"Command '%s' is unknown. Run '%s --help' for a list of available commands." msgstr "" -"Este componente genérico não possui uma descrição longa. Pode ser útil " -"adicionar um." +"O comando \"%s\" é desconhecido. Execute\"'%s --help\" para obter uma lista " +"dos comandos disponíveis." + +#. TRANSLATORS: ascli flag description for: --verbose +#: tools/appstreamcli.c:1082 +msgid "Show extra debugging information." +msgstr "Mostrar informações extras de depuração." + +#. TRANSLATORS: ascli flag description for: --profile +#: tools/appstreamcli.c:1090 +msgid "Enable profiling" +msgstr "Habilita perfil" + +#. TRANSLATORS: `appstreamcli search` command description. +#: tools/appstreamcli.c:1102 +msgid "Search the component database." +msgstr "Pesquisa na base de dados de componente." + +#. TRANSLATORS: `appstreamcli get` command description. +#: tools/appstreamcli.c:1107 +msgid "Get information about a component by its ID." +msgstr "Obtém informação sobre um componente por seu ID." -#: src/as-validator-issue-tag.h:421 +#. TRANSLATORS: `appstreamcli what-provides` command description. +#: tools/appstreamcli.c:1112 msgid "" -"This tag is a GNOME-specific extension to AppStream and not part of the " -"official specification. Do not expect it to work in all implementations and " -"in all software centers." +"Get components which provide the given item. Needs an item type (e.g. lib, " +"bin, python3, …) and item value as parameter." msgstr "" -"Esta tag é uma extensão específica do GNOME para o AppStream e não faz parte " -"da especificação oficial. Não espere que ela funcione em todas as " -"implementações e em todos os centros de software." +"Obtém componentes que forneçam o item dado. Precisa de um tipo de item (por " +"exemplo, lib, bin, python3, ...) e valor do item como parâmetro." -#: src/as-validator-issue-tag.h:41 -msgid "This tag requires a type property." -msgstr "Esta tag requer uma propriedade de tipo." +#. TRANSLATORS: `appstreamcli dump` command description. +#: tools/appstreamcli.c:1118 +msgid "Dump raw XML metadata for a component matching the ID." +msgstr "" +"Despejar metadados XML não tratados para um componente coincidindo com o ID." -#: data/org.freedesktop.appstream.cli.metainfo.xml:15 -msgid "" -"This tool allows for reading, writing, validating and transformation of " -"AppStream XML or YAML metadata. It also gives access to the system metadata " -"pool, for example to query for software that provides a specific MIME-type, " -"and installing it by its software component identifier." -msgstr "" -"Esta ferramenta permite ler, escrever, validar e transformar metadados " -"AppStream em XML ou YAML. Também permite acessar o pool de metadados do " -"sistema para, por exemplo, consultar por um software fornecendo um Tipo MIME " -"específico e instalá-lo usando o identificador de componente de seu software." +#. TRANSLATORS: `appstreamcli refresh-cache` command description. +#: tools/appstreamcli.c:1123 +msgid "Rebuild the component metadata cache." +msgstr "Reconstruir o cache de metadados de componentes." -#: src/as-validator-issue-tag.h:388 -msgid "" -"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." +#. TRANSLATORS: `appstreamcli validate` command description. +#: tools/appstreamcli.c:1129 +msgid "Validate AppStream XML files for issues." +msgstr "Valida os arquivos XML de AppStream por problemas." + +#. TRANSLATORS: `appstreamcli validate-tree` command description. +#: tools/appstreamcli.c:1134 +msgid "Validate an installed file-tree of an application for valid metadata." msgstr "" -"Este link web usa o protocolo FTP. Considere mudar para HTTP(S) em vez disso." +"Valida uma árvore de arquivo instalado de um aplicativo para metadados " +"válidos." + +#. TRANSLATORS: `appstreamcli install` command description. +#: tools/appstreamcli.c:1140 +msgid "Install software matching the component-ID." +msgstr "Instala software correspondente ao component-ID." + +#. TRANSLATORS: `appstreamcli remove` command description. +#: tools/appstreamcli.c:1145 +msgid "Remove software matching the component-ID." +msgstr "Remove software correspondendo ao component-ID." + +#. TRANSLATORS: `appstreamcli status` command description. +#: tools/appstreamcli.c:1151 +msgid "Display status information about available AppStream metadata." +msgstr "Exibir informações sobre metadados disponíveis do AppStream." -#: tools/appstream-cli.c:648 +#. TRANSLATORS: `appstreamcli os-info` command description. +#: tools/appstreamcli.c:1156 msgid "" -"Too many parameters: Need two version numbers or version numbers and a " -"comparison operator." +"Show information about the current operating system from the metadata index." msgstr "" -"Parâmetros demais: é necessário dois números de versão, ou números de versão " -"e um operador de comparação." +"Mostra informações sobre o sistema operacional atual a partir do índice de " +"metadados." + +#. TRANSLATORS: `appstreamcli put` command description. +#: tools/appstreamcli.c:1161 +msgid "Install a metadata file into the right location." +msgstr "Instala um arquivo de metadados na localização certa." + +#. TRANSLATORS: `appstreamcli convert` command description. "Collection XML" is a term describing a specific type of AppStream XML data. +#: tools/appstreamcli.c:1166 +msgid "Convert collection XML to YAML or vice versa." +msgstr "Converter XML para YAML ou vice-versa." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:461 +#. TRANSLATORS: `appstreamcli vercmp` command description. +#: tools/appstreamcli.c:1171 +msgid "Compare two version numbers." +msgstr "Compara dois números de versões." + +#. TRANSLATORS: `appstreamcli new-template` command description. +#: tools/appstreamcli.c:1177 msgid "" -"Type 'console-application' component, but no information about binaries in " -"$PATH was provided via a 'provides/binary' tag." +"Create a template for a metainfo file (to be filled out by the upstream " +"project)." msgstr "" -"Componente do tipo “console-application”, mas nenhuma informação sobre " -"binários no $PATH foi fornecida por meio de uma tag “provides/binary”." +"Cria um modelo para um arquivo metainfo (a ser preenchido pelo projeto " +"upstream)." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:491 -msgid "" -"Type 'driver' component, but no modalias information was provided via a " -"provides/modalias tag." +#. TRANSLATORS: `appstreamcli make-desktop-file` command description. +#: tools/appstreamcli.c:1182 +msgid "Create a desktop-entry file from a metainfo file." +msgstr "Cria um arquivo de entrada de desktop a partir de um arquivo metainfo." + +#. TRANSLATORS: `appstreamcli news-to-metainfo` command description. +#: tools/appstreamcli.c:1187 +msgid "Convert a YAML or text NEWS file into metainfo releases." +msgstr "Converte um arquivo YAML ou NEWS texto em lançamento de metainfo." + +#. TRANSLATORS: `appstreamcli metainfo-to-news` command description. +#: tools/appstreamcli.c:1192 +msgid "Write NEWS text or YAML file with information from a metainfo file." +msgstr "Escreve arquivo texto NEWS ou YAML com info de um arquivo metainfo." + +#. TRANSLATORS: `appstreamcli compose` command description. +#: tools/appstreamcli.c:1198 +msgid "Compose AppStream collection metadata from directory trees." msgstr "" -"Componente do tipo “driver”, mas nenhuma informação de modalias foi " -"fornecida por meio de uma tag de provides/modalias." +"Compõe metadados de coleção AppStream a partir de árvores de diretório." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:485 -msgid "" -"Type 'font' component, but no font information was provided via a 'provides/" -"font' tag." +#. TRANSLATORS: ascli has been run without command. +#: tools/appstreamcli.c:1206 +msgid "You need to specify a command." +msgstr "Você precisa especificar um comando." + +#. TRANSLATORS: In ascli: The requested action needs higher permissions. +#: tools/ascli-actions-mdata.c:70 +msgid "You might need superuser permissions to perform this action." msgstr "" -"Componente do tipo “font”, mas nenhuma informação de fonte foi fornecida por " -"meio de uma tag “provides/font”." +"Você pode precisar de permissões de super-usuário para realizar esta ação." -#: src/as-validator.c:333 -msgid "URL format is invalid." -msgstr "O formato de URL é inválido." +#. we performed a cache refresh +#. TRANSLATORS: Updating the metadata cache succeeded +#: tools/ascli-actions-mdata.c:80 +msgid "AppStream cache update completed successfully." +msgstr "Atualização do cache do AppStream concluído com sucesso." + +#. cache wasn't updated, so the update wasn't necessary +#: tools/ascli-actions-mdata.c:86 +msgid "AppStream cache update is not necessary." +msgstr "Atualização do cache do AppStream não é necessária." -#: tools/ascli-actions-mdata.c:544 +#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments +#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. +#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:253 +#: tools/ascli-actions-pkgmgr.c:80 +msgid "You need to specify a component-ID." +msgstr "Você precisa especificar um ID de componente." + +#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:265 +#: tools/ascli-actions-pkgmgr.c:93 #, c-format -msgid "Unable to build the template metainfo file: %s" -msgstr "Não foi possível construir o arquivo de modelo metainfo: %s" +msgid "Unable to find component with ID '%s'!" +msgstr "Não foi possível encontrar um componente com ID “%s”!" -#. TRANSLATORS: User is trying to convert a file in ascli -#: tools/ascli-actions-mdata.c:400 -msgid "" -"Unable to convert file: Could not determine output format, please set it " -"explicitly using '--format='." -msgstr "" -"Erro ao converter arquivo: Não foi possível determinar o formato de saída, " -"por favor, defina o formato explicitamente, utilizando “--format=”." +#: tools/ascli-actions-mdata.c:164 +msgid "You need to specify a term to search for." +msgstr "Você precisa especificar um termo para pesquisar por." #. TRANSLATORS: We failed to find any component in the database, likely due to an error #: tools/ascli-actions-mdata.c:177 @@ -1795,212 +2693,227 @@ msgid "Unable to find component matching %s!" msgstr "Não foi possível encontrar um componente correspondendo a %s!" -#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:266 -#: tools/ascli-actions-pkgmgr.c:93 +#: tools/ascli-actions-mdata.c:182 #, c-format -msgid "Unable to find component with ID '%s'!" -msgstr "Não foi possível encontrar um componente com ID “%s”!" +msgid "No component matching '%s' found." +msgstr "Nenhum componente encontrado que corresponda a “%s”." -#: tools/ascli-actions-misc.c:224 +#: tools/ascli-actions-mdata.c:206 +msgid "No value for the item to search for was defined." +msgstr "Nenhum valor para o item a ser pesquisado foi definido." + +#: tools/ascli-actions-mdata.c:212 +msgid "Invalid type for provided item selected. Valid values are:" +msgstr "Tipo inválido para o item fornecido selecionado. Valores válidos são:" + +#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results +#: tools/ascli-actions-mdata.c:227 #, c-format -msgid "Unable to load existing desktop-entry file template: %s" -msgstr "" -"Não foi possível carregar o modelo de arquivo de entrada de desktop: %s" +msgid "Could not find component providing '%s::%s'." +msgstr "Não foi possível localizar componente fornecendo “%s::%s”." -#: src/as-validator-issue-tag.h:356 -msgid "Unable to reach remote icon at the given web location - does it exist?" -msgstr "" -"Não foi possível acessar o ícone remoto no local web determinado - ele " -"existe?" +#: tools/ascli-actions-mdata.c:306 +msgid "You need to specify a metadata file." +msgstr "Você precisa especificar um arquivo de metadados." + +#: tools/ascli-actions-mdata.c:320 +#, c-format +msgid "Unable to install metadata file: %s" +msgstr "Não foi possível instalar o arquivo de metadados: %s" + +#: tools/ascli-actions-mdata.c:340 +msgid "You need to specify an input and output file." +msgstr "Você precisa especificar um arquivo de entrada e um de saída." + +#: tools/ascli-actions-mdata.c:347 +#, c-format +msgid "Metadata file '%s' does not exist." +msgstr "Arquivo de metadados “%s” não existe." -#: src/as-validator-issue-tag.h:378 +#. TRANSLATORS: User is trying to convert a file in ascli +#: tools/ascli-actions-mdata.c:387 msgid "" -"Unable to reach remote location that this URL references - does it exist?" +"Unable to convert file: Could not determine output format, please set it " +"explicitly using '--format='." msgstr "" -"Não foi possível acessar o local remoto que esta URL referencia - ele existe?" +"Erro ao converter arquivo: Não foi possível determinar o formato de saída, " +"por favor, defina o formato explicitamente, utilizando “--format=”." -#: src/as-validator-issue-tag.h:179 +#: tools/ascli-actions-mdata.c:438 +#, c-format +msgid "Unable to find operating system component '%s'!" +msgstr "Não foi possível encontrar um componente de sistema operacional “%s”!" + +#: tools/ascli-actions-mdata.c:443 +msgid "Version" +msgstr "Versão" + +#: tools/ascli-actions-mdata.c:467 msgid "" -"Unable to reach the screenshot image on its remote location - does the image " -"exist?" +"You need to give an AppStream software component type to generate a " +"template. Possible values are:" msgstr "" -"Não foi possível alcançar a imagem de captura de tela em seu local remoto - " -"a imagem existe?" +"Você precisa fornecer um tipo AppStream de componente de software para gerar " +"um modelo. Valores possíveis são:" -#: src/as-validator-issue-tag.h:184 +#: tools/ascli-actions-mdata.c:469 +#, c-format msgid "" -"Unable to reach the screenshot video on its remote location - does the video " -"file exist?" +"The software component type '%s' is not valid in AppStream. Possible values " +"are:" msgstr "" -"Não foi possível alcançar o vídeo de captura de tela em seu local remoto - o " -"arquivo de vídeo existe?" - -#: src/as-validator-issue-tag.h:542 -msgid "Unable to read file." -msgstr "Não foi possível ler o arquivo." +"O tipo de componente de software “%s” não é válido no AppStream. Valores " +"possíveis são:" -#: src/as-validator-issue-tag.h:574 -msgid "Unable to read the .desktop file associated with this component." -msgstr "Não foi possível ler o arquivo .desktop associado com este componente." +#: tools/ascli-actions-mdata.c:487 +#, c-format +msgid "The .desktop file '%s' does not exist." +msgstr "O arquivo .desktop “%s” não existe." -#: tools/ascli-actions-mdata.c:473 +#: tools/ascli-actions-mdata.c:493 #, c-format msgid "Unable to read the .desktop file: %s" msgstr "Não foi possível ler o arquivo .desktop: %s" -#: src/as-pool.c:606 -msgid "Unable to remove old cache." -msgstr "Não foi possível remover o cache antigo." - -#: tools/ascli-actions-misc.c:370 +#: tools/ascli-actions-mdata.c:564 #, c-format -msgid "Unable to save desktop entry file: %s" -msgstr "Não foi possível salvar o arquivo de entrada de desktop: %s" +msgid "Unable to build the template metainfo file: %s" +msgstr "Não foi possível construir o arquivo de modelo metainfo: %s" -#: tools/ascli-actions-mdata.c:552 +#: tools/ascli-actions-mdata.c:572 #, c-format msgid "Unable to save the template metainfo file: %s" msgstr "Não foi possível salvar o arquivo de modelo metainfo: %s" -#: tools/ascli-actions-pkgmgr.c:67 -#, c-format -msgid "Unable to spawn package manager: %s" -msgstr "Não foi possível invocar o gerenciador de pacotes: %s" - -#: tools/ascli-actions-mdata.c:322 -#, c-format -msgid "Unable to write to '%s', can not install metainfo file." -msgstr "" -"Não foi possível escrever em “%s”, não foi possível instalar arquivo de " -"metainfo." - -#. TRANSLATORS: ascli has been run with unknown command. -#: tools/appstream-cli.c:1009 -#, c-format -msgid "Unknown command '%s'." -msgstr "Comando desconhecido “%s”." +#. TRANSLATORS: In the status report of ascli: Header +#: tools/ascli-actions-misc.c:47 +msgid "AppStream Status:" +msgstr "Status do AppStream:" -#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. -#: tools/appstream-cli.c:608 +#: tools/ascli-actions-misc.c:48 #, c-format -msgid "Unknown compare relation '%s'. Valid values are:" -msgstr "Relação de comparação desconhecida “%s”. Valores válidos são:" - -#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) -#: tools/appstream-cli.c:675 -msgid "" -"Use the given .desktop file to fill in the basic values of the metainfo file." -msgstr "" -"Usa o arquivo .desktop dado para preencher valores básicos no arquivo " -"metainfo." - -#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) -#: tools/appstream-cli.c:725 -msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." -msgstr "" -"Usa a linha especificada para a chave “Exec=” do arquivo de entrada de " -"desktop." - -#. TRANSLATORS: this is the menu spec main category for Utilities -#: src/as-category.c:329 -msgid "Utilities" -msgstr "Utilitários" - -#: tools/appstream-cli.c:856 -msgid "Validate AppStream XML files for issues." -msgstr "Valida os arquivos XML de AppStream por problemas." +msgid "Version: %s" +msgstr "Versão: %s" -#: tools/appstream-cli.c:857 -msgid "Validate an installed file-tree of an application for valid metadata." -msgstr "" -"Valida uma árvore de arquivo instalado de um aplicativo para metadados " -"válidos." +#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions +#: tools/ascli-actions-misc.c:52 +msgid "Distribution metadata:" +msgstr "Metadados de distribuição:" -#: tools/ascli-actions-validate.c:301 tools/ascli-actions-validate.c:442 -#, c-format -msgid "Validation failed: %s" -msgstr "Validação falhou: %s" +#: tools/ascli-actions-misc.c:94 +msgid "Iconsets" +msgstr "Conjunto de ícones" -#: tools/ascli-actions-validate.c:289 tools/ascli-actions-validate.c:430 -msgid "Validation was successful." -msgstr "Validação bem sucedida." +#: tools/ascli-actions-misc.c:105 +msgid "No icons." +msgstr "Nenhum ícone." -#: tools/ascli-actions-validate.c:291 tools/ascli-actions-validate.c:432 -#, c-format -msgid "Validation was successful: %s" -msgstr "Validação bem sucedida: %s" +#. TRANSLATORS: No metainfo files have been found +#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 +msgid "Empty." +msgstr "Vazio." -#: tools/appstream-cli.c:851 -msgid "Value of the item that should be found." -msgstr "Valor do item que deve ser encontrado." +#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report +#: tools/ascli-actions-misc.c:116 +msgid "Metainfo files:" +msgstr "Arquivos de metainfo:" -#: src/as-category.c:177 -msgctxt "Category of Graphics" -msgid "Vector Graphics" -msgstr "Gráficos vetoriais" +#: tools/ascli-actions-misc.c:123 +#, c-format +msgid "Found %i components." +msgstr "Encontrados %i componentes." -#: tools/ascli-actions-misc.c:48 +#. TRANSLATORS: Found metainfo files in legacy directories +#: tools/ascli-actions-misc.c:138 #, c-format -msgid "Version: %s" -msgstr "Versão: %s" +msgid "Found %i components in legacy paths." +msgstr "Encontrados %i componentes em caminhos antigos." -#: src/as-category.c:180 -msgctxt "Category of Graphics" -msgid "Viewers" -msgstr "Visualizadores" +#. TRANSLATORS: Status summary in ascli +#: tools/ascli-actions-misc.c:145 +msgid "Summary:" +msgstr "Resumo:" #: tools/ascli-actions-misc.c:153 #, c-format msgid "We have information on %i software components." msgstr "Nós temos informação sobre %i componentes de software." -#: src/as-category.c:270 -msgctxt "Category of Communication" -msgid "Web Browsers" -msgstr "Navegadores" - -#: src/as-category.c:202 -msgctxt "Category of Office" -msgid "Word Processor" -msgstr "Processadores de texto" +#: tools/ascli-actions-misc.c:159 +#, c-format +msgid "Error while loading the metadata pool: %s" +msgstr "Erro ao carregar pool de metadados: %s" -#: tools/appstream-cli.c:871 -msgid "Write NEWS text or YAML file with information from a metainfo file." -msgstr "Escreve arquivo texto NEWS ou YAML com info de um arquivo metainfo." +#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 +msgid "You need to specify a metainfo file as input." +msgstr "Você precisa especificar um arquivo metainfo como entrada." -#: tools/appstream-cli.c:874 +#: tools/ascli-actions-misc.c:188 msgid "" -"You can find information about subcommand-specific options by passing \"--" -"help\" to the subcommand." +"You need to specify a desktop-entry file to create or augment as output." msgstr "" -"Você pode encontrar informações sobre opções de um subcomando específico " -"passando “--help” para o subcomando." +"Você precisa especificar um arquivo de entrada de desktop para criar ou " +"aumentar como saída." -#. TRANSLATORS: In ascli: The requested action needs higher permissions. -#: tools/ascli-actions-mdata.c:70 -msgid "You might need superuser permissions to perform this action." +#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 +#: tools/ascli-actions-misc.c:515 +#, c-format +msgid "Metainfo file '%s' does not exist." +msgstr "O arquivo metainfo “%s” não existe." + +#: tools/ascli-actions-misc.c:219 +#, c-format +msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." msgstr "" -"Você pode precisar de permissões de super-usuário para realizar esta ação." +"Aumentando o arquivo de entrada de desktop existente “%s” com dados de “%s”." -#: tools/ascli-actions-mdata.c:447 -msgid "" -"You need to give an AppStream software component type to generate a " -"template. Possible values are:" +#: tools/ascli-actions-misc.c:224 +#, c-format +msgid "Unable to load existing desktop-entry file template: %s" msgstr "" -"Você precisa fornecer um tipo AppStream de componente de software para gerar " -"um modelo. Valores possíveis são:" +"Não foi possível carregar o modelo de arquivo de entrada de desktop: %s" + +#: tools/ascli-actions-misc.c:228 +#, c-format +msgid "Creating new desktop-entry file '%s' using data from '%s'" +msgstr "Criando novo arquivo de entrada de desktop “%s” usando dados de “%s”" + +#: tools/ascli-actions-misc.c:284 +msgid "No stock icon name was provided in the metainfo file. Can not continue." +msgstr "" +"Nenhum nome de ícone padrão foi fornecido no arquivo metainfo. Não é " +"possível continuar." -#: tools/appstream-cli.c:579 +#: tools/ascli-actions-misc.c:306 msgid "" -"You need to provide at least two version numbers to compare as parameters." +"No provided binary specified in metainfo file, and no exec command specified " +"via '--exec'. Can not create 'Exec=' key." msgstr "" -"Você precisa fornecer pelo menos dois números de versão para comparar como " -"parâmetros." +"Nenhum binário fornecido especificado no arquivo metainfo e nenhum comando " +"exec especificado via “--exec”. Não é possível criar a chave “Exec=”." + +#: tools/ascli-actions-misc.c:370 +#, c-format +msgid "Unable to save desktop entry file: %s" +msgstr "Não foi possível salvar o arquivo de entrada de desktop: %s" #: tools/ascli-actions-misc.c:393 msgid "You need to specify a NEWS file as input." msgstr "Você precisa especificar um arquivo NEWS como entrada." +#: tools/ascli-actions-misc.c:397 +msgid "" +"You need to specify a metainfo file to augment, or '-' to print to stdout." +msgstr "" +"Você precisa especificar um arquivo metainfo para aumentar ou “-” para " +"stdout." + +#: tools/ascli-actions-misc.c:402 +msgid "No output filename specified, modifying metainfo file directly." +msgstr "" +"Nenhum nome de arquivo de saída especificado, modificando o arquivo metainfo " +"diretamente." + #: tools/ascli-actions-misc.c:509 msgid "You need to specify a NEWS file as output, or '-' to print to stdout." msgstr "" @@ -2011,137 +2924,190 @@ msgid "You need to specify a NEWS format to write the output in." msgstr "Você precisa especificar um formato de NEWS para escrever a saída." -#. TRANSLATORS: ascli has been run without command. -#: tools/appstream-cli.c:925 -msgid "You need to specify a command." -msgstr "Você precisa especificar um comando." - -#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments -#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. -#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:254 -#: tools/ascli-actions-pkgmgr.c:80 -msgid "You need to specify a component-ID." -msgstr "Você precisa especificar um ID de componente." - -#: tools/ascli-actions-misc.c:188 -msgid "" -"You need to specify a desktop-entry file to create or augment as output." -msgstr "" -"Você precisa especificar um arquivo de entrada de desktop para criar ou " -"aumentar como saída." - -#: tools/ascli-actions-mdata.c:309 -msgid "You need to specify a metadata file." -msgstr "Você precisa especificar um arquivo de metadados." - -#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 -msgid "You need to specify a metainfo file as input." -msgstr "Você precisa especificar um arquivo metainfo como entrada." - -#: tools/ascli-actions-misc.c:397 +#: tools/ascli-actions-pkgmgr.c:53 msgid "" -"You need to specify a metainfo file to augment, or '-' to print to stdout." +"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" +"\" (part of PackageKit) is available." msgstr "" -"Você precisa especificar um arquivo metainfo para aumentar ou “-” para " -"stdout." - -#: tools/ascli-actions-validate.c:385 tools/ascli-actions-validate.c:479 -msgid "You need to specify a root directory to start validation!" -msgstr "Você precisa especificar um diretório raiz para iniciar validação!" - -#: tools/ascli-actions-mdata.c:164 -msgid "You need to specify a term to search for." -msgstr "Você precisa especificar um termo para pesquisar por." +"Nenhum gerenciado de pacotes CLI adequado encontrado. Por favor, certifique-" +"se de que, ex.: “pkcon” (parte de PackageKit), está disponível." -#: tools/ascli-actions-mdata.c:357 -msgid "You need to specify an input and output file." -msgstr "Você precisa especificar um arquivo de entrada e um de saída." +#: tools/ascli-actions-pkgmgr.c:67 +#, c-format +msgid "Unable to spawn package manager: %s" +msgstr "Não foi possível invocar o gerenciador de pacotes: %s" -#: tools/ascli-actions-validate.c:263 tools/ascli-actions-validate.c:337 -msgid "You need to specify at least one file to validate!" -msgstr "Você precisa especificar pelo menos um arquivo para validar!" +#. TRANSLATORS: We found no distribution package or bundle to install to make this software available +#: tools/ascli-actions-pkgmgr.c:106 +#, c-format +msgid "Component '%s' has no installation candidate." +msgstr "O componente “%s” não possui candidato a instalação." -#. TRANSLATORS: List of "grey-listed" words sperated with ";" -#. * Do not translate this list directly. Instead, -#. * provide a list of words in your language that people are likely -#. * to include in a search but that should normally be ignored in -#. * the search. -#. -#: src/as-pool.c:107 -msgid "app;application;package;program;programme;suite;tool" -msgstr "app;aplicativo;pacote;programa;suíte;ferramenta" +#: tools/ascli-actions-validate.c:176 tools/ascli-actions-validate.c:354 +#, c-format +msgid "File '%s' does not exist." +msgstr "O arquivo “%s” não existe." -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:223 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "error"-type hints +#: tools/ascli-actions-validate.c:228 #, c-format msgid "errors: %lu" msgstr "erros: %lu" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:237 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "warning"-type hints +#: tools/ascli-actions-validate.c:235 +#, c-format +msgid "warnings: %lu" +msgstr "avisos: %lu" + +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "info"-type hints +#: tools/ascli-actions-validate.c:242 #, c-format msgid "infos: %lu" msgstr "infos: %lu" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:244 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "pedantic"-type hints +#: tools/ascli-actions-validate.c:249 #, c-format msgid "pedantic: %lu" msgstr "pedante: %lu" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:230 +#: tools/ascli-actions-validate.c:268 tools/ascli-actions-validate.c:342 +msgid "You need to specify at least one file to validate!" +msgstr "Você precisa especificar pelo menos um arquivo para validar!" + +#: tools/ascli-actions-validate.c:294 tools/ascli-actions-validate.c:435 +msgid "Validation was successful." +msgstr "Validação bem sucedida." + +#: tools/ascli-actions-validate.c:296 tools/ascli-actions-validate.c:437 #, c-format -msgid "warnings: %lu" -msgstr "avisos: %lu" +msgid "Validation was successful: %s" +msgstr "Validação bem sucedida: %s" -#~ msgid "" -#~ "Unable to find the curl binary. remote URLs can not be checked for " -#~ "validity!" -#~ msgstr "" -#~ "Não foi possível localizar o executável do curl. URLs remotas não podem " -#~ "ser verificados para a validade!" +#: tools/ascli-actions-validate.c:306 tools/ascli-actions-validate.c:447 +#, c-format +msgid "Validation failed: %s" +msgstr "Validação falhou: %s" + +#: tools/ascli-actions-validate.c:368 tools/ascli-actions-validate.c:497 +#, c-format +msgid "" +"The validator can not create reports in the '%s' format. You may select " +"'yaml' or 'text' instead." +msgstr "" +"O validador não pode criar relatórios no formato “%s”. Você pode selecionar " +"“yaml” ou “text” em vez disso." -#~ msgid "Command '%s' is unknown." -#~ msgstr "Comando “%s” é desconhecido." +#: tools/ascli-actions-validate.c:390 tools/ascli-actions-validate.c:484 +msgid "You need to specify a root directory to start validation!" +msgstr "Você precisa especificar um diretório raiz para iniciar validação!" -#~ msgid "Do not use any caches when performing the request." -#~ msgstr "Não use qualquer cache ao realizar a requisição." +#: tools/ascli-utils.c:266 +msgid "Identifier" +msgstr "Identificador" -#~ msgid "AppStream cache update failed." -#~ msgstr "Atualização do cache do AppStream falhou." +#: tools/ascli-utils.c:268 +msgid "Internal ID" +msgstr "ID interno" -#~ msgid "" -#~ "AppStream data pool was loaded, but some metadata was ignored due to " -#~ "errors." -#~ msgstr "" -#~ "Pool de dados AppStream foi carregado, mas alguns metadados foram " -#~ "ignorados por causa de erros." +#: tools/ascli-utils.c:269 +msgid "Name" +msgstr "Nome" + +#: tools/ascli-utils.c:270 +msgid "Summary" +msgstr "Resumo" + +#: tools/ascli-utils.c:271 +msgid "Package" +msgstr "Pacote" + +#: tools/ascli-utils.c:272 +msgid "Bundle" +msgstr "Pacote" + +#: tools/ascli-utils.c:273 +msgid "Homepage" +msgstr "Página inicial" + +#: tools/ascli-utils.c:274 +msgid "Icon" +msgstr "Ícone" + +#. developer name +#: tools/ascli-utils.c:294 +msgid "Developer" +msgstr "Desenvolvedor" + +#: tools/ascli-utils.c:300 +msgid "Extends" +msgstr "Estende" + +#: tools/ascli-utils.c:306 +msgid "Description" +msgstr "Descrição" + +#: tools/ascli-utils.c:326 +msgid "Default Screenshot URL" +msgstr "URL padrão para captura de tela" + +#. project group +#: tools/ascli-utils.c:333 +msgid "Project Group" +msgstr "Grupo do projeto" + +#. license +#: tools/ascli-utils.c:336 +msgid "License" +msgstr "Licença" + +#: tools/ascli-utils.c:342 +msgid "Categories" +msgstr "Categorias" + +#: tools/ascli-utils.c:350 +msgid "Compulsory for" +msgstr "Compulsório para" -#~ msgid "Can not search for unknown component type." -#~ msgstr "Não é possível procurar por um tipo de componente desconhecido." +#: tools/ascli-utils.c:378 +msgid "Provided Items" +msgstr "Itens fornecidos" + +#, c-format +#~ msgid "Unable to open new cache file: %s" +#~ msgstr "Não foi possível abrir novo arquivo de cache: %s" -#, fuzzy -#~ msgid "Category of Games" -#~ msgstr "Categorias" +#~ msgid "" +#~ "AppStream is a cross-distribution specification to provide metadata about " +#~ "software components." +#~ msgstr "" +#~ "AppStream é uma especificação independente de distribuição para " +#~ "provimento de metadados sobre componentes de software." -#, fuzzy -#~ msgid "Category of Office" -#~ msgstr "Categorias" +#, c-format +#~ msgid "Unable to write to '%s', can not install metainfo file." +#~ msgstr "" +#~ "Não foi possível escrever em “%s”, não foi possível instalar arquivo de " +#~ "metainfo." -#, fuzzy -#~ msgid "Category of Science" -#~ msgstr "Categorias" +#, c-format +#~ msgid "" +#~ "Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " +#~ "suffix." +#~ msgstr "" +#~ "Não é possível copiar “%s”: O arquivo não tem um sufixo “.metainfo.xml” " +#~ "ou “.appdata.xml”." -#~ msgid "Extensions" -#~ msgstr "Extensões" +#~ msgid "An item type (e.g. lib, bin, python3, …)" +#~ msgstr "Um tipo de item (ex.: lib, bin, python3, …)" -#~ msgid "File %s not found or permission denied!" -#~ msgstr "Arquivo %s não localizado ou permissão negada!" +#~ msgid "Get components which provide the given item." +#~ msgstr "Obtém componentes que fornecem o item dado." -#, fuzzy -#~ msgid "No component providing '%s::%s' found." -#~ msgstr "Nenhum componente fornecendo '%s;%s' encontrado." +#, c-format +#~ msgid "Unknown command '%s'." +#~ msgstr "Comando desconhecido “%s”." -#~ msgid "XDG Menu XML file '%s' is damaged." -#~ msgstr "O arquivo XML \"%s\" de Menu XDG está corrompido." +#~ msgid "Value of the item that should be found." +#~ msgstr "Valor do item que deve ser encontrado." diff -Nru appstream-0.12.10/po/pt.po appstream-0.14.5/po/pt.po --- appstream-0.12.10/po/pt.po 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/po/pt.po 2021-08-28 20:15:28.000000000 +0000 @@ -1,3 +1,4 @@ +# #-#-#-#-# pt.po (AppStream) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Matthias Klumpp # This file is distributed under the same license as the appstream package. @@ -5,15 +6,30 @@ # Pedro Albuquerque , 2015 # mjmoreira , 2019. # Alexsander Gomes , 2019. -# Lidia Gomes , 2019. +# Lidia Gomes , 2019, 2020. # Ervin , 2019. +# Cassio Lamarck Silva Freitas , 2020. +# Gustavo Maciel , 2020. +# Manuela Silva , 2020, 2021. +# Allan Lago , 2020. +# ssantos , 2020, 2021. +# #-#-#-#-# pt.po (appstream-glib) #-#-#-#-# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Pedro Albuquerque , 2015 +# Richard Hughes , 2016. #zanata +# Juliano de Souza Camargo , 2020. +# Marvin SIlc , 2020. +# +# Translators: msgid "" msgstr "" -"Project-Id-Version: AppStream\n" +"Project-Id-Version: appstream-glib\n" "Report-Msgid-Bugs-To: appstream@lists.freedesktop.org\n" -"POT-Creation-Date: 2020-01-14 01:44+0100\n" -"PO-Revision-Date: 2019-12-13 16:41+0000\n" -"Last-Translator: Ervin \n" +"POT-Creation-Date: 2021-08-28 16:09+0200\n" +"PO-Revision-Date: 2021-05-12 05:32+0000\n" +"Last-Translator: ssantos \n" "Language-Team: Portuguese \n" "Language: pt\n" @@ -21,1913 +37,3083 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 3.10-dev\n" - -#: tools/appstream-cli.c:157 -#, c-format -msgid "'%s' command" -msgstr "Comando %s" - -#: src/as-category.c:168 -msgctxt "Category of Graphics" -msgid "3D Graphics" -msgstr "Gráficos 3D" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:254 -msgid "" -"A 'requires' or 'recommends' item requires a value to denote a valid " -"relation." -msgstr "" - -#: src/as-validator-issue-tag.h:51 -#, fuzzy -msgid "" -"A tag must not be localized in metainfo files (upstream " -"metadata). Localize the individual paragraphs instead." -msgstr "" -"A tag must not be localized in metainfo files (upstream " -"metadata). Localize the individual paragraphs instead." - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:195 -msgid "" -"A screenshot must contain at least one image or video in order to be useful. " -"Please add an to it." -msgstr "" -"Uma captura de tela deve conter pelo menos uma imagem ou vídeo para que seja " -"utilizável. Por favor adicione uma nela." - -#: src/as-validator-issue-tag.h:200 -msgid "" -"A screenshot must contain either images or videos, but not both at the same " -"time. Please use this screenshot exclusively for either static images or for " -"videos." -msgstr "" -"Uma captura de tela deve conter imagens ou vídeos, mas não ambos ao mesmo " -"tempo. Por favor, use esta captura de tela exclusivamente para imagens " -"estáticas ou para vídeos." - -#: src/as-category.c:123 -msgctxt "Category of Games" -msgid "Action" -msgstr "Ação" - -#. TRANSLATORS: this is the main category for Add-ons -#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor -#: src/as-category.c:320 tools/ascli-utils.c:398 -msgid "Add-ons" -msgstr "Complementos" - -#: src/as-category.c:126 -msgctxt "Category of Games" -msgid "Adventure" -msgstr "Aventura" - -#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) -#: tools/appstream-cli.c:116 -msgid "Also show pedantic hints." -msgstr "Mostrar também dicas redundantes." - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:497 -msgid "" -"An 'extends' tag is specified, but the component is not of type 'addon', " -"'localization' or 'repository'." -msgstr "" - -#: tools/appstream-cli.c:850 -msgid "An item type (e.g. lib, bin, python3, …)" -msgstr "Um tipo de item (por ex.: lib, bin, python3…)" - -#: data/org.freedesktop.appstream.cli.metainfo.xml:9 -msgid "An utility to work with AppStream metadata" -msgstr "Um utilitário para trabalhar com os metadados do AppStream" +"X-Generator: Weblate 4.7-dev\n" #: data/org.freedesktop.appstream.cli.metainfo.xml:8 msgid "AppStream CLI" msgstr "Interface de linha de comandos do AppStream" -#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. -#: tools/appstream-cli.c:947 -#, c-format -msgid "" -"AppStream CLI tool version: %s\n" -"AppStream library version: %s" -msgstr "" -"Versão da ferramenta CLI do AppStream: %s\n" -"Versão da biblioteca do AppStream: %s" - -#. TRANSLATORS: In the status report of ascli: Header -#: tools/ascli-actions-misc.c:47 -msgid "AppStream Status:" -msgstr "Estado do AppStream:" - -#. we performed a cache refresh -#. TRANSLATORS: Updating the metadata cache succeeded -#: tools/ascli-actions-mdata.c:80 -msgid "AppStream cache update completed successfully." -msgstr "Atualização da cache do AppStream terminada com sucesso." - -#. cache wasn't updated, so the update wasn't necessary -#: tools/ascli-actions-mdata.c:86 -msgid "AppStream cache update is not necessary." -msgstr "A atualização da cache do AppStream não é necessária." - -#. TRANSLATORS: This is the header to the --help menu for subcommands -#. TRANSLATORS: This is the header to the --help menu -#: tools/appstream-cli.c:154 tools/appstream-cli.c:843 -msgid "AppStream command-line interface" -msgstr "Interface da linha de comandos do AppStream" - -#: src/as-validator-issue-tag.h:63 -msgid "" -"AppStream descriptions support only a limited set of tags to format text: " -"Paragraphs (

                                                                                                                                                                                                                                                                                                        ) and lists (

                                                                                                                                                                                                                                                                                                          ,
                                                                                                                                                                                                                                                                                                            ). This description markup contains " -"an invalid XML tag that would not be rendered correctly in applications " -"supporting the metainfo specification." -msgstr "" +#: data/org.freedesktop.appstream.cli.metainfo.xml:9 +msgid "An utility to work with AppStream metadata" +msgstr "Um utilitário para trabalhar com os metadados do AppStream" #: data/org.freedesktop.appstream.cli.metainfo.xml:12 -#, fuzzy msgid "" -"AppStream is a cross-distribution specification to provide metadata about " -"software components." -msgstr "" -"AppStream é uma especificação independente de distribuição para fornecimento " -"de metadados sobre componentes de software." +"AppStream is a metadata specification which permits software components to " +"provide information about themselves to automated systems and end-users " +"before the software is actually installed. The AppStream project provides " +"facilities to easily access and transform this metadata, as well as a few " +"additional services for building feature-rich software centers and similar " +"applications that make use of software metadata." +msgstr "" +"AppStream é uma especificação de metadados que permite que os componentes de " +"software forneçam informações sobre si mesmos a sistemas automatizados e " +"utilizadores finais antes que o software seja realmente instalado. O projeto " +"AppStream oferece facilidades para acessar e transformar facilmente esses " +"metadados, bem como alguns serviços adicionais para construir centros de " +"software repletos de recursos e aplicações similares que fazem uso de " +"metadados de software." + +#: data/org.freedesktop.appstream.cli.metainfo.xml:18 +msgid "" +"The appstreamcli command-line tool allows to read, write, and " +"transform AppStream XML or YAML metadata as well as to validate it for " +"compliance with the specification. It also provides easy access to the " +"system metadata pool, for example to query for software that provides a " +"specific Mediatype handler or for installing software by its component " +"identifier." +msgstr "" +"A ferramenta da linha de comandos appstreamcli permite ler, " +"escrever, e transformar metadados AppStream em XML ou YAML, bem como validá-" +"la para conformidade com a especificação. Esta também permite aceder ao " +"grupo de metadados do sistema, por exemplo, consultar por um \"software\" " +"que forneça um tipo MIME específico, ou para instalar \"software\" usando o " +"próprio identificador de componente." -#: src/as-pool.c:1937 -#, fuzzy, c-format -msgid "" -"AppStream system cache refresh failed. Turn on verbose mode to get detailed " -"issue information." -msgstr "" -"A atualização da cache do AppStream falhou. Ative o modo verboso para obter " -"mais informações detalhadas de problemas." +#: src/as-category.c:66 +msgctxt "Category of AudioVideo" +msgid "Featured" +msgstr "Destaque" -#. TRANSLATORS: Output if appstreamcli --version is executed. -#: tools/appstream-cli.c:944 -#, c-format -msgid "AppStream version: %s" -msgstr "Versão do AppStream: %s" +#: src/as-category.c:69 +msgctxt "Category of AudioVideo" +msgid "Audio Creation & Editing" +msgstr "Criação e edição de áudio" -#: src/as-category.c:129 -msgctxt "Category of Games" -msgid "Arcade" -msgstr "Arcada" +#: src/as-category.c:75 +msgctxt "Category of AudioVideo" +msgid "Music Players" +msgstr "Reprodutores de música" -#: src/as-category.c:234 -msgctxt "Category of Science" -msgid "Artificial Intelligence" -msgstr "Inteligência artificial" +#: src/as-category.c:84 +msgctxt "Category of Development" +msgid "Featured" +msgstr "Destaque" -#: src/as-validator-issue-tag.h:91 -msgid "" -"As per AppStream specification, the mentioned tag must only appear once in " -"this context. Having multiple tags of this kind is not valid." -msgstr "" +#: src/as-category.c:87 +msgctxt "Category of Development" +msgid "Debuggers" +msgstr "Depuradores" -#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command -#: tools/appstream-cli.c:766 -msgid "Assume the input file is in the selected format ('yaml' or 'text')." -msgstr "" +#: src/as-category.c:90 +msgctxt "Category of Development" +msgid "IDEs" +msgstr "IDEs" -#: src/as-category.c:101 +#: src/as-category.c:99 msgctxt "Category of Education" -msgid "Astronomy" -msgstr "Astronomia" +msgid "Featured" +msgstr "Destaque" -#: src/as-category.c:237 -msgctxt "Category of Science" +#: src/as-category.c:102 +msgctxt "Category of Education" msgid "Astronomy" msgstr "Astronomia" -#. TRANSLATORS: this is the menu spec main category for Audio & Video -#: src/as-category.c:302 -msgid "Audio & Video" -msgstr "Áudio e vídeo" +#: src/as-category.c:105 +msgctxt "Category of Education" +msgid "Chemistry" +msgstr "Química" -#: src/as-category.c:68 -msgctxt "Category of AudioVideo" -msgid "Audio Creation & Editing" -msgstr "Criação e edição de áudio" +#: src/as-category.c:108 +msgctxt "Category of Education" +msgid "Languages" +msgstr "Idiomas" -#: tools/ascli-actions-misc.c:219 -#, c-format -msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." -msgstr "" +#: src/as-category.c:112 +msgctxt "Category of Education" +msgid "Math" +msgstr "Matemática" -#: src/as-provided.c:146 -msgid "Binaries" -msgstr "Binários" +#: src/as-category.c:121 +msgctxt "Category of Games" +msgid "Featured" +msgstr "Destaque" + +#: src/as-category.c:124 +msgctxt "Category of Games" +msgid "Action" +msgstr "Ação" + +#: src/as-category.c:127 +msgctxt "Category of Games" +msgid "Adventure" +msgstr "Aventura" + +#: src/as-category.c:130 +msgctxt "Category of Games" +msgid "Arcade" +msgstr "Arcada" -#: src/as-category.c:132 +#: src/as-category.c:133 msgctxt "Category of Games" msgid "Blocks" msgstr "Blocos" -#: src/as-category.c:135 +#: src/as-category.c:136 msgctxt "Category of Games" msgid "Board" msgstr "Tabuleiro" -#: tools/ascli-utils.c:299 -msgid "Bundle" -msgstr "Pacote" - -#: src/as-pool.c:1828 -#, c-format -msgid "Cache location '%s' is not writable." -msgstr "A localização da cache “%s” não é gravável." - -#: src/as-category.c:191 -msgctxt "Category of Office" -msgid "Calendar" -msgstr "Calendário" - -#: tools/ascli-actions-mdata.c:327 -#, c-format -msgid "" -"Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " -"suffix." -msgstr "" -"Não é possível copiar “%s”: O ficheiro não tem um sufixo “.metainfo.xml” ou " -"“.appdata.xml”." - -#: src/as-category.c:138 +#: src/as-category.c:139 msgctxt "Category of Games" msgid "Card" msgstr "Cartão" -#: tools/ascli-utils.c:369 -msgid "Categories" -msgstr "Categorias" +#: src/as-category.c:142 +msgctxt "Category of Games" +msgid "Emulators" +msgstr "Emuladores" -#: src/as-category.c:259 -msgctxt "Category of Communication" -msgid "Chat" -msgstr "Conversação" +#: src/as-category.c:145 +msgctxt "Category of Games" +msgid "Kids" +msgstr "Crianças" -#: src/as-category.c:104 -msgctxt "Category of Education" -msgid "Chemistry" -msgstr "Química" +#: src/as-category.c:148 +msgctxt "Category of Games" +msgid "Logic" +msgstr "Lógica" -#: src/as-category.c:240 -msgctxt "Category of Science" -msgid "Chemistry" -msgstr "Química" +#: src/as-category.c:151 +msgctxt "Category of Games" +msgid "Role Playing" +msgstr "RPGs" -#: src/as-category.c:214 -msgctxt "Category of Addons" -msgid "Codecs" -msgstr "Codecs" +#: src/as-category.c:154 +msgctxt "Category of Games" +msgid "Sports" +msgstr "Desportos" -#. TRANSLATORS: this is the menu spec main category for Communication -#: src/as-category.c:326 -msgid "Communication & News" -msgstr "Comunicação e notícias" +#: src/as-category.c:158 +msgctxt "Category of Games" +msgid "Strategy" +msgstr "Estratégia" -#: tools/appstream-cli.c:866 -msgid "Compare two version numbers." -msgstr "Compara dois números de versões." +#: src/as-category.c:166 +msgctxt "Category of Graphics" +msgid "Featured" +msgstr "Destaque" -#: src/as-provided.c:166 -msgid "Component" -msgstr "Componente" +#: src/as-category.c:169 +msgctxt "Category of Graphics" +msgid "3D Graphics" +msgstr "Gráficos 3D" -#. TRANSLATORS: We found no distribution package or bundle to install to make this software available -#: tools/ascli-actions-pkgmgr.c:106 -#, c-format -msgid "Component '%s' has no installation candidate." -msgstr "O componente “%s” não tem nenhum candidato a instalação." +#: src/as-category.c:172 +msgctxt "Category of Graphics" +msgid "Photography" +msgstr "Fotografia" -#: tools/ascli-utils.c:377 -msgid "Compulsory for" -msgstr "Obrigatório para" +#: src/as-category.c:175 +msgctxt "Category of Graphics" +msgid "Scanning" +msgstr "Digitalização" + +#: src/as-category.c:178 +msgctxt "Category of Graphics" +msgid "Vector Graphics" +msgstr "Gráficos vetoriais" + +#: src/as-category.c:181 +msgctxt "Category of Graphics" +msgid "Viewers" +msgstr "Visualizadores" + +#: src/as-category.c:189 +msgctxt "Category of Office" +msgid "Featured" +msgstr "Destaque" + +#: src/as-category.c:192 +msgctxt "Category of Office" +msgid "Calendar" +msgstr "Calendário" + +#: src/as-category.c:196 +msgctxt "Category of Office" +msgid "Database" +msgstr "Base de dados" + +#: src/as-category.c:199 +msgctxt "Category of Office" +msgid "Finance" +msgstr "Finanças" + +#: src/as-category.c:203 +msgctxt "Category of Office" +msgid "Word Processor" +msgstr "Processador de texto" + +#: src/as-category.c:212 +msgctxt "Category of Addons" +msgid "Fonts" +msgstr "Fontes" + +#: src/as-category.c:215 +msgctxt "Category of Addons" +msgid "Codecs" +msgstr "Codecs" + +#: src/as-category.c:218 +msgctxt "Category of Addons" +msgid "Input Sources" +msgstr "Fontes de entrada" + +#: src/as-category.c:221 +msgctxt "Category of Addons" +msgid "Language Packs" +msgstr "Pacotes de idioma" + +#: src/as-category.c:224 +msgctxt "Category of Addons" +msgid "Localization" +msgstr "Localização" + +#: src/as-category.c:232 +msgctxt "Category of Science" +msgid "Featured" +msgstr "Destaque" + +#: src/as-category.c:235 +msgctxt "Category of Science" +msgid "Artificial Intelligence" +msgstr "Inteligência artificial" + +#: src/as-category.c:238 +msgctxt "Category of Science" +msgid "Astronomy" +msgstr "Astronomia" + +#: src/as-category.c:241 +msgctxt "Category of Science" +msgid "Chemistry" +msgstr "Química" + +#: src/as-category.c:244 +msgctxt "Category of Science" +msgid "Math" +msgstr "Matemática" + +#: src/as-category.c:249 +msgctxt "Category of Science" +msgid "Robotics" +msgstr "Robótica" + +#: src/as-category.c:257 +msgctxt "Category of Communication" +msgid "Featured" +msgstr "Destaque" + +#: src/as-category.c:260 +msgctxt "Category of Communication" +msgid "Chat" +msgstr "Conversação" + +#: src/as-category.c:267 +msgctxt "Category of Communication" +msgid "News" +msgstr "Notícias" + +#: src/as-category.c:271 +msgctxt "Category of Communication" +msgid "Web Browsers" +msgstr "Navegadores da Internet" + +#: src/as-category.c:279 +msgctxt "Category of Utility" +msgid "Featured" +msgstr "Destaque" + +#: src/as-category.c:282 +msgctxt "Category of Utility" +msgid "Text Editors" +msgstr "Editores de texto" + +#: src/as-category.c:285 +msgctxt "Category of Utility" +msgid "Terminal Emulators" +msgstr "Emuladores de terminal" + +#: src/as-category.c:288 +msgctxt "Category of Utility" +msgid "File System" +msgstr "Sistema de ficheiros" + +#: src/as-category.c:291 +msgctxt "Category of Utility" +msgid "System Monitoring" +msgstr "Monitorização do sistema" + +#: src/as-category.c:294 +msgctxt "Category of Utility" +msgid "Security" +msgstr "Segurança" + +#. TRANSLATORS: this is the menu spec main category for Audio & Video +#: src/as-category.c:303 +msgid "Audio & Video" +msgstr "Áudio e vídeo" + +#. TRANSLATORS: this is the menu spec main category for Development +#: src/as-category.c:306 +msgid "Developer Tools" +msgstr "Ferramentas de programação" + +#. TRANSLATORS: this is the menu spec main category for Education +#: src/as-category.c:309 +msgid "Education" +msgstr "Educação" + +#. TRANSLATORS: this is the menu spec main category for Game +#: src/as-category.c:312 +msgid "Games" +msgstr "Jogos" + +#. TRANSLATORS: this is the menu spec main category for Graphics +#: src/as-category.c:315 +msgid "Graphics & Photography" +msgstr "Gráficos e fotografia" + +#. TRANSLATORS: this is the menu spec main category for Office +#: src/as-category.c:318 +msgid "Office" +msgstr "Escritório" + +#. TRANSLATORS: this is the main category for Add-ons +#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor +#: src/as-category.c:321 tools/ascli-utils.c:371 +msgid "Add-ons" +msgstr "Complementos" + +#. TRANSLATORS: this is the menu spec main category for Science +#: src/as-category.c:324 +msgid "Science" +msgstr "Ciências" + +#. TRANSLATORS: this is the menu spec main category for Communication +#: src/as-category.c:327 +msgid "Communication & News" +msgstr "Comunicação e notícias" + +#. TRANSLATORS: this is the menu spec main category for Utilities +#: src/as-category.c:330 +msgid "Utilities" +msgstr "Utilitários" + +#. TRANSLATORS: This is the formatting of English and localized name +#. * of the rating e.g. "Adults Only (solo adultos)" +#: src/as-content-rating.c:298 +#, c-format +msgid "%s (%s)" +msgstr "%s (%s)" + +#: src/as-content-rating.c:444 +msgid "General" +msgstr "Geral" + +#: src/as-content-rating.c:453 +msgid "ALL" +msgstr "TODAS" + +#: src/as-content-rating.c:457 src/as-content-rating.c:560 +msgid "Adults Only" +msgstr "Somente adultos" + +#: src/as-content-rating.c:459 src/as-content-rating.c:559 +msgid "Mature" +msgstr "Maduro" + +#: src/as-content-rating.c:461 src/as-content-rating.c:558 +msgid "Teen" +msgstr "Adolescente" + +#: src/as-content-rating.c:463 src/as-content-rating.c:557 +msgid "Everyone 10+" +msgstr "Maiores de 10 anos" + +#: src/as-content-rating.c:465 src/as-content-rating.c:556 +msgid "Everyone" +msgstr "Livre" + +#: src/as-content-rating.c:467 src/as-content-rating.c:555 +msgid "Early Childhood" +msgstr "Primeira infância" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:839 +msgid "No cartoon violence" +msgstr "Sem violência cartunesca" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:841 +msgid "Cartoon characters in unsafe situations" +msgstr "Personagem de desenhos animados em situações inseguras" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:843 +msgid "Cartoon characters in aggressive conflict" +msgstr "Personagem de desenhos animados em conflito agressivo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:845 +msgid "Graphic violence involving cartoon characters" +msgstr "Violência gráfica envolvendo personagem de desenhos animados" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:850 +msgid "No fantasy violence" +msgstr "Sem violência fantasiosa" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:852 +msgid "Characters in unsafe situations easily distinguishable from reality" +msgstr "" +"Personagens em situações inseguras facilmente distinguíveis da realidade" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:854 +msgid "Characters in aggressive conflict easily distinguishable from reality" +msgstr "Personagem em conflito agressivo facilmente distinguíveis da realidade" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:856 +msgid "Graphic violence easily distinguishable from reality" +msgstr "Violência gráfica facilmente distinguível da realidade" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:861 +msgid "No realistic violence" +msgstr "Sem violência realista" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:863 +msgid "Mildly realistic characters in unsafe situations" +msgstr "Personagens moderadamente realistas em situações inseguras" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:865 +msgid "Depictions of realistic characters in aggressive conflict" +msgstr "Personagens moderadamente realistas em conflito agressivo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:867 +msgid "Graphic violence involving realistic characters" +msgstr "Violência gráfica envolvendo personagens realistas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:872 +msgid "No bloodshed" +msgstr "Sem derramamento de sangue" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:874 +msgid "Unrealistic bloodshed" +msgstr "Derrame de sangue não realista" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:876 +msgid "Realistic bloodshed" +msgstr "Derrame de sangue realista" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:878 +msgid "Depictions of bloodshed and the mutilation of body parts" +msgstr "Representações de derrame de sangue e mutilações de partes do corpo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:883 +msgid "No sexual violence" +msgstr "Sem violência sexual" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:885 +msgid "Rape or other violent sexual behavior" +msgstr "Violação ou outro comportamento sexual violento" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:892 +msgid "No references to alcohol" +msgstr "Sem referência a bebidas alcoólicas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:894 +msgid "References to alcoholic beverages" +msgstr "Referência a bebidas alcoólicas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:896 +msgid "Use of alcoholic beverages" +msgstr "Uso de bebidas alcoólicas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:902 +msgid "No references to illicit drugs" +msgstr "Sem referência a drogas ilícitas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:904 +msgid "References to illicit drugs" +msgstr "Referência a drogas ilícitas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:906 +msgid "Use of illicit drugs" +msgstr "Uso de drogas ilícitas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:912 +msgid "No references to tobacco products" +msgstr "Sem referências a produtos com tabaco" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:914 +msgid "References to tobacco products" +msgstr "Referências a produtos com tabaco" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:916 +msgid "Use of tobacco products" +msgstr "Uso de produtos com tabaco" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:922 +msgid "No nudity of any sort" +msgstr "Sem nudez de qualquer tipo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:924 +msgid "Brief artistic nudity" +msgstr "Nudez artística breve" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:926 +msgid "Prolonged nudity" +msgstr "Nudez prolongada" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:932 +msgid "No references to or depictions of sexual nature" +msgstr "Sem referências para representações de natureza sexual" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:934 +msgid "Provocative references or depictions" +msgstr "Referências ou representações provocatórias" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:936 +msgid "Sexual references or depictions" +msgstr "Referências ou representações sexuais" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:938 +msgid "Graphic sexual behavior" +msgstr "Comportamento sexual gráfico" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:943 +msgid "No profanity of any kind" +msgstr "Sem profanidade de qualquer tipo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:945 +msgid "Mild or infrequent use of profanity" +msgstr "Uso ligeiro ou infrequente de profanidades" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:947 +msgid "Moderate use of profanity" +msgstr "Uso moderado de profanidades" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:949 +msgid "Strong or frequent use of profanity" +msgstr "Uso constante ou frequente de profanidades" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:954 +msgid "No inappropriate humor" +msgstr "Sem humor inapropriado" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:956 +msgid "Slapstick humor" +msgstr "Humor brejeiro" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:958 +msgid "Vulgar or bathroom humor" +msgstr "Humor vulgar ou visceral" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:960 +msgid "Mature or sexual humor" +msgstr "Humor maduro ou sexual" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:965 +msgid "No discriminatory language of any kind" +msgstr "Sem linguagem discriminatória de qualquer tipo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:967 +msgid "Negativity towards a specific group of people" +msgstr "Negatividade em relação a um grupo específico de pessoas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:969 +msgid "Discrimination designed to cause emotional harm" +msgstr "Descriminação destinada a causar dano emocional" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:971 +msgid "Explicit discrimination based on gender, sexuality, race or religion" +msgstr "" +"Descriminação explícita baseada em género, sexualidade, raça ou religião" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:976 +msgid "No advertising of any kind" +msgstr "Sem publicidade de qualquer tipo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:978 +msgid "Product placement" +msgstr "Colocação de produtos" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:980 +msgid "Explicit references to specific brands or trademarked products" +msgstr "Referências explícitas a determinadas marcas ou produtos registados" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:982 +msgid "Users are encouraged to purchase specific real-world items" +msgstr "Os jogadores são encorajados a comprar itens específicos do mundo real" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:987 +msgid "No gambling of any kind" +msgstr "Sem jogos de azar de qualquer tipo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:989 +msgid "Gambling on random events using tokens or credits" +msgstr "Jogo de apostas com eventos aleatórios utilizando tokens ou créditos" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:991 +msgid "Gambling using “play” money" +msgstr "Jogo de azar usando \"jogar\" dinheiro" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:993 +msgid "Gambling using real money" +msgstr "Jogo de apostas com dinheiro real" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:998 +msgid "No ability to spend money" +msgstr "Sem capacidade para gastar dinheiro" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1000 +msgid "Users are encouraged to donate real money" +msgstr "Os utilizadores são encorajados a doarem dinheiro real" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1003 +msgid "Ability to spend real money in-app" +msgstr "Possibilidade de gastar dinheiro real dentro do jogo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1008 +msgid "No way to chat with other users" +msgstr "Sem modo para conversar com outros utilizadores" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1010 +msgid "User-to-user interactions without chat functionality" +msgstr "Interações entre os utilizadores sem funcionalidade de conversação" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1012 +msgid "Moderated chat functionality between users" +msgstr "Funcionalidade de conversa moderada entre utilizadores" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1014 +msgid "Uncontrolled chat functionality between users" +msgstr "Conversa entre os utilizadores não controlada" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1019 +msgid "No way to talk with other users" +msgstr "Sem modo para falar com outros utilizadores" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1021 +msgid "Uncontrolled audio or video chat functionality between users" +msgstr "Conversa em áudio e vídeo entre os utilizadores não controlada" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1028 +msgid "No sharing of social network usernames or email addresses" +msgstr "" +"Sem partilha de nomes de utilizadores de redes sociais e endereços de e-mail" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1030 +msgid "Sharing social network usernames or email addresses" +msgstr "" +"Partilha de nomes de utilizadores de redes sociais e endereços de email" + +# #-#-#-#-# pt.po (appstream-glib) #-#-#-#-# +# Profiling já foi traduzido como perfilamento, porém a tradução também pode ser a de criação de perfil --Enrico +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1037 +msgid "No sharing of user information with third parties" +msgstr "Sem partilha de informação do utilizador com terceiros" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1039 +msgid "Checking for the latest application version" +msgstr "A verificar pela última versão instalada" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1041 +msgid "Sharing diagnostic data that does not let others identify the user" +msgstr "" +"Compartilhamento de dados de diagnóstico que não deixa outros identificar o " +"utilizador" + +# #-#-#-#-# pt.po (appstream-glib) #-#-#-#-# +# Profiling já foi traduzido como perfilamento, porém a tradução também pode ser a de criação de perfil --Enrico +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1043 +msgid "Sharing information that lets others identify the user" +msgstr "Partilha informação do utilizador com terceiros" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1048 +msgid "No sharing of physical location with other users" +msgstr "Sem partilha de localizações físicas de outros utilizadores" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1050 +msgid "Sharing physical location with other users" +msgstr "Partilha de localização física com terceiros" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1073 +msgid "No references to homosexuality" +msgstr "Sem referência à homossexualidade" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1075 +msgid "Indirect references to homosexuality" +msgstr "Referências indiretas para homossexualidade" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1077 +msgid "Kissing between people of the same gender" +msgstr "Beijos entre pessoas do mesmo gênero" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1079 +msgid "Graphic sexual behavior between people of the same gender" +msgstr "Comportamento sexual gráfico entre pessoas do mesmo gênero" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1084 +msgid "No references to prostitution" +msgstr "Sem referências a prostituição" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1086 +msgid "Indirect references to prostitution" +msgstr "Referências indiretas para prostituição" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1088 +msgid "Direct references to prostitution" +msgstr "Referências diretas para prostituição" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1090 +msgid "Graphic depictions of the act of prostitution" +msgstr "Representações gráficas da lei de prostituição" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1095 +msgid "No references to adultery" +msgstr "Sem referências a adultério" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1097 +msgid "Indirect references to adultery" +msgstr "Referências indiretas para adultério" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1099 +msgid "Direct references to adultery" +msgstr "Referências diretas ao adultério" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1101 +msgid "Graphic depictions of the act of adultery" +msgstr "Representações gráficas da lei de adultério" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1106 +msgid "No sexualized characters" +msgstr "Sem personagens sexualizados" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1109 +msgid "Scantily clad human characters" +msgstr "Personagens humanos seminus" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1111 +msgid "Overtly sexualized human characters" +msgstr "Personagens humanos sexualizados abertamente" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1116 +msgid "No references to desecration" +msgstr "Sem referências ou representações sexuais" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1118 +msgid "Depictions of or references to historical desecration" +msgstr "Representações da profanação histórica ou referências" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1120 +msgid "Depictions of modern-day human desecration" +msgstr "Representações da profanação do humano moderno" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1122 +msgid "Graphic depictions of modern-day desecration" +msgstr "Representações gráficas de profanações modernas" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1127 +msgid "No visible dead human remains" +msgstr "Sem restos humanos mortos visíveis" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1129 +msgid "Visible dead human remains" +msgstr "Restos mortais humanos visíveis" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1131 +msgid "Dead human remains that are exposed to the elements" +msgstr "Restos mortais humanos que foram expostos aos elementos" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1133 +msgid "Graphic depictions of desecration of human bodies" +msgstr "Representações gráficas de profanação de corpos humanos" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1138 +msgid "No references to slavery" +msgstr "Sem referências a escravatura" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1140 +msgid "Depictions of or references to historical slavery" +msgstr "Representações da escravatura histórica ou referências" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1142 +msgid "Depictions of modern-day slavery" +msgstr "Representações da escravatura moderna" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1144 +msgid "Graphic depictions of modern-day slavery" +msgstr "Representações gráficas da escravatura moderna" + +#. TRANSLATORS: We got a 429 error while trying to download data +#: src/as-curl.c:134 +#, c-format +msgid "Failed to download due to server limit" +msgstr "Falha no download devido ao limite do servidor" + +#: src/as-curl.c:141 src/as-curl.c:148 +#, c-format +msgid "Failed to download file: %s" +msgstr "Não foi possível transferir o ficheiro: %s" + +#. TRANSLATORS: We tried to download an URL, but received a 404 error code +#: src/as-curl.c:157 +#, c-format +msgid "URL was not found on the server." +msgstr "URL não foi encontrada no servidor." + +#. TRANSLATORS: We received an uexpected HTTP status code while talking to a server, likely an error +#: src/as-curl.c:164 +#, c-format +msgid "Unexpected status code: %ld" +msgstr "Código de status inesperado: %ld" + +#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty +#: src/as-curl.c:247 +#, c-format +msgid "Retrieved file size was zero." +msgstr "O tamanho do ficheiro obtido foi zero." + +#. TRANSLATORS: List of "grey-listed" words sperated with ";" +#. * Do not translate this list directly. Instead, +#. * provide a list of words in your language that people are likely +#. * to include in a search but that should normally be ignored in +#. * the search. +#. +#: src/as-pool.c:111 +msgid "app;application;package;program;programme;suite;tool" +msgstr "app;aplicação;aplicativo;pacote;programa;ferramenta" + +#: src/as-pool.c:620 +msgid "Unable to remove old cache." +msgstr "Não foi possível remover cache antiga." + +#: src/as-pool.c:963 +msgid "Metadata files have errors:" +msgstr "Os ficheiros de metadados têm erros:" + +#: src/as-pool.c:1370 +msgid "" +"Many components have been recognized as invalid. See debug output for " +"details." +msgstr "" +"Muitos componentes foram reconhecidos como inválidos. Veja a saída de " +"depuração para detalhes." + +#: src/as-pool.c:1996 +#, c-format +msgid "Cache location '%s' is not writable." +msgstr "A localização da cache “%s” não é gravável." + +#: src/as-pool.c:2109 +msgid "" +"The AppStream system cache was updated, but some components were ignored. " +"Refer to the verbose log for more information." +msgstr "" +"A ''cache'' do sistema de AppStream foi atualizada, mas alguns componentes " +"foram ignorados. Consulte o registo verboso para mais informação." + +#: src/as-pool.c:2111 +#, c-format +msgid "" +"The AppStream system cache was updated, but problems were found which " +"resulted in metadata being ignored: %s" +msgstr "" +"A ''cache'' do sistema de AppStream foi atualizada, mas foram encontrados " +"problemas mas que resultaram em que os metadados fossem ignorados: %s" + +#: src/as-pool.c:2125 +#, c-format +msgid "" +"AppStream system cache refresh failed. Turn on verbose mode to get detailed " +"issue information." +msgstr "" +"A atualização da cache do AppStream falhou. Ative o modo verboso para obter " +"mais informações detalhadas de problemas." + +#: src/as-provided.c:144 +msgid "Libraries" +msgstr "Bibliotecas" + +#: src/as-provided.c:146 +msgid "Binaries" +msgstr "Binários" + +#: src/as-provided.c:148 +msgid "Media types" +msgstr "Tipos de Multimédia" + +#: src/as-provided.c:150 +msgid "Fonts" +msgstr "Fontes" + +#: src/as-provided.c:152 +msgid "Modaliases" +msgstr "Modos alternativos" + +#: src/as-provided.c:154 +msgid "Python (Version 2)" +msgstr "Python (Versão 2)" + +#: src/as-provided.c:156 +msgid "Python 3" +msgstr "Python 3" + +#: src/as-provided.c:158 +msgid "D-Bus System Services" +msgstr "Serviços de Sistema D-Bus" + +#: src/as-provided.c:160 +msgid "D-Bus Session Services" +msgstr "Serviços de Sessão D-Bus" + +#: src/as-provided.c:162 +msgid "Runtime Firmware" +msgstr "Firmware em tempo de execução" + +#: src/as-provided.c:164 +msgid "Flashed Firmware" +msgstr "Firmware descarregado" + +#: src/as-provided.c:166 +msgid "Component" +msgstr "Componente" + +#: src/as-validator-issue-tag.h:41 +msgid "This tag requires a type property." +msgstr "Esta marcação requer a propriedade tipo." + +#: src/as-validator-issue-tag.h:46 +msgid "Tags of this name are not permitted in this section." +msgstr "Marcações desse nome não são permitidas nesta secção." + +#: src/as-validator-issue-tag.h:51 +msgid "" +"A tag must not be localized in metainfo files (upstream " +"metadata). Localize the individual paragraphs instead." +msgstr "" +"A etiqueta não deverá ser traduzida nos ficheiros \"metainfo" +"\" (metadados \"upstream\"). Em vez disso, traduza parágrafos individuais." + +#: src/as-validator-issue-tag.h:57 +msgid "" +"This element (paragraph, list, etc.) of a tag must not be " +"localized individually in collection metadata. Localize the whole " +" tag instead. The AppStream collection metadata generator (e." +"g. `appstream-generator`) will already do the right thing when compiling the " +"data." +msgstr "" +"Este elemento (parágrafo, lista, etc.) de uma marcação não " +"deve ser localizado individualmente em metadados de coleção. Localize a " +"marcação inteira em vez disso. O gerador de metadados de " +"coleção do AppStream (por exemplo, `appstream-generator`) já o fará " +"corretamente ao compilar os dados." + +#: src/as-validator-issue-tag.h:63 +msgid "" +"AppStream descriptions support only a limited set of tags to format text: " +"Paragraphs (

                                                                                                                                                                                                                                                                                                            ) and lists (

                                                                                                                                                                                                                                                                                                              ,
                                                                                                                                                                                                                                                                                                                ). This description markup contains " +"an invalid XML tag that would not be rendered correctly in applications " +"supporting the metainfo specification." +msgstr "" +"As descrições do AppStream suportam apenas um número limitado de tags para " +"formatar texto: parágrafos (

                                                                                                                                                                                                                                                                                                                ) e listas (

                                                                                                                                                                                                                                                                                                                  ,
                                                                                                                                                                                                                                                                                                                    ). Esta descrição " +"contém uma tag XML inválida que não pode ser renderizada corretamente em " +"apps que possuem suporte a especificação metainfo." + +#: src/as-validator-issue-tag.h:69 +msgid "" +"This description paragraph contains invalid markup. Currently, only " +"and are permitted." +msgstr "" +"Este parágrafo de descrição contém markup inválido. Atualmente, somente e são permitidas." + +#: src/as-validator-issue-tag.h:74 +msgid "Enumerations must only have list items (
                                                                                                                                                                                                                                                                                                                  1. ) as children." +msgstr "Enumerações só devem ter itens da lista (
                                                                                                                                                                                                                                                                                                                  2. ) como filhos." + +#: src/as-validator-issue-tag.h:79 +msgid "" +"The first `description/p` paragraph of this component might be too short (< " +"80 characters). Please consider starting with a longer paragraph to improve " +"how the description looks like in software centers and to provide more " +"detailed information on this component immediately in the first paragraph." +msgstr "" +"O primeiro parágrafo `description/p` deste componente pode estar curto " +"demais (< 80 caracteres). Por favor, considere começar com um parágrafo mais " +"longo para melhorar como a descrição se parece em centros de software e " +"fornecer informações mais detalhadas sobre este componente imediatamente no " +"primeiro parágrafo." + +#: src/as-validator-issue-tag.h:86 +msgid "" +"The description contains a web URL in plain text. This is not allowed, " +"please use the tag instead to share links." +msgstr "" +"A descrição contém um URL em texto sem formatação. Isso não é permitido, por " +"favor, use a marcação em vez de compartilhar ligações." + +#: src/as-validator-issue-tag.h:91 +msgid "" +"As per AppStream specification, the mentioned tag must only appear once in " +"this context. Having multiple tags of this kind is not valid." +msgstr "" +"Conforme a especificação do AppStream, a tag mencionada só deve aparecer uma " +"vez neste contexto. Ter várias tags desse tipo não é válido." + +#: src/as-validator-issue-tag.h:96 +msgid "" +"The mentioned tag is empty, which is highly likely not intended as it should " +"have content." +msgstr "" +"A marcação mencionada está vazia, o que muito provavelmente não é a " +"intenção, pois ela deve ter um conteúdo." + +#: src/as-validator-issue-tag.h:101 +msgid "" +"The component ID is required to follow a reverse domain-name scheme for its " +"name. See the AppStream specification for details." +msgstr "" +"O ID do componente é necessária para seguir um esquema de nome de domínio " +"reverso para nome dela. Consulte a especificação do AppStream para obter " +"detalhes." + +#: src/as-validator-issue-tag.h:106 +msgid "" +"The component ID is not a reverse domain-name. Please update the ID to avoid " +"future issues and be compatible with all AppStream implementations.\n" +"You may also consider to update the name of the accompanying .desktop file " +"to follow the latest version of the Desktop-Entry specification and use a " +"rDNS name for it as well. In any case, do not forget to mention the new " +"desktop-entry in a tag for this component to keep the " +"application launchable from software centers and the .desktop file data " +"associated with the metainfo data." +msgstr "" +"O ID do componente não é um nome de domínio reverso. Atualize o ID para " +"evitar problemas futuros e para ser compatível com todas as implementações " +"do AppStream.\n" +"Também pode considerar para atualizar o nome do ficheiro .desktop " +"acompanhado para seguir a versão mais recente da especificação de entrada de " +"área de trabalho e também usar um nome rDNS para ele. Em qualquer caso, não " +"se esqueça de mencionar a nova entra de .desktop numa marcação " +"para este componente para manter a aplicação inicializável de centros de " +"software e os dados de ficheiro .desktop associados com os dados metainfo." + +#: src/as-validator-issue-tag.h:114 +msgid "" +"The component ID might not follow the reverse domain-name schema (the TLD " +"used by it is not known to the validator)." +msgstr "" +"O ID do componente pode não seguir o esquema de nome de domínio reverso (o " +"TLD usado por ele não é conhecido ao validador)." + +#: src/as-validator-issue-tag.h:119 +msgid "" +"The component ID contains an invalid character. Only ASCII characters, dots " +"and numbers are permitted." +msgstr "" +"O ID do componente contém um carácter inválido. Somente caracteres ASCII, " +"pontos e números são permitidos." + +#: src/as-validator-issue-tag.h:124 +msgid "" +"The component ID contains a hyphen/minus. Using a hyphen is strongly " +"discouraged, to improve interoperability with other tools such as D-Bus. A " +"good option is to replace any hyphens with underscores (`_`)." +msgstr "" +"O ID do componente contém um hífen/menos. O uso de um hífen é altamente " +"desencorajado, para melhorar a interoperabilidade com outras ferramentas " +"como o D-Bus. Uma boa opção é substituir quaisquer hífenes por sublinhados " +"(`_`)." + +#: src/as-validator-issue-tag.h:130 +msgid "" +"The component ID contains a segment starting with a number. Starting a " +"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " +"interoperability with other tools such as D-Bus. Ideally, prefix these " +"segments with an underscore." +msgstr "" +"O ID do componente contém um segmento que começa com um número. Iniciar um " +"segmento do ID de DNS reverso com um número é fortemente desencorajado, para " +"manter a interoperabilidade com outras ferramentas, como D-Bus. Idealmente, " +"prefixe esses segmentos com um sublinhado." + +#: src/as-validator-issue-tag.h:136 +msgid "The component ID should only contain lowercase letters." +msgstr "O ID do componente deve conter apenas letras minúsculas." + +#: src/as-validator-issue-tag.h:141 +msgid "" +"The component is part of the Freedesktop project, but its ID does not start " +"with fd.o's reverse-DNS name (\"org.freedesktop\")." +msgstr "" +"O componente faz parte do projeto Freedesktop, mas seu ID não começa com o " +"nome de DNS reverso do fd.o (“org. freedesktop”)." + +#: src/as-validator-issue-tag.h:146 +msgid "" +"The component is part of the KDE project, but its ID does not start with " +"KDEs reverse-DNS name (\"org.kde\")." +msgstr "" +"O componente faz parte do projeto KDE, mas seu ID não começa com o nome DNS " +"reverso do KDE (“org.kde”)." + +#: src/as-validator-issue-tag.h:151 +msgid "" +"The component is part of the GNOME project, but its ID does not start with " +"GNOMEs reverse-DNS name (\"org.gnome\")." +msgstr "" +"O componente faz parte do projeto GNOME, mas seu ID não começa com nome de " +"DNS reverso do GNOME (“org.gnome”)." + +#: src/as-validator-issue-tag.h:156 +msgid "The SPDX license expression is invalid and could not be parsed." +msgstr "A expressão de licença SPDX é inválida e não pôde ser analisada." + +#: src/as-validator-issue-tag.h:161 +msgid "" +"The license ID was not found in the SPDX database. Please check that the " +"license ID is written in an SPDX-conformant way and is a valid free software " +"license." +msgstr "" +"A identificação da licença não foi encontrada na base de dados do SPDX. Por " +"favor, verifique se o ID da licença está escrita de forma compatível com o " +"SPDX e se é uma licença de software livre válida." + +#: src/as-validator-issue-tag.h:167 +msgid "" +"The metadata itself seems to be licensed under a complex collection of " +"licenses. Please license the data under a simple permissive license, like " +"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " +"collections without the risk of license violations due to mutually " +"incompatible licenses." +msgstr "" +"Os metadados propriamente parecem estar licenciados sob uma coleção complexa " +"de licenças. Por favor, licencie os dados sob uma licença permissiva " +"simples, como FSFAP, MIT ou CC0-1.0 para permitir que os distribuidores a " +"incluam em coleções de dados mistos sem o risco de violações de licença " +"devido a licenças mutuamente incompatíveis." + +#: src/as-validator-issue-tag.h:173 +msgid "" +"The metadata itself does not seem to be licensed under a permissive license. " +"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " +"0BSD to allow distributors to include it in mixed data collections without " +"the risk of license violations due to mutually incompatible licenses." +msgstr "" +"Os metadados propriamente não parecem estar licenciados sob uma licença " +"permissiva. Por favor, licencie os dados sobuma licença permissiva, como " +"FSFAP, CC0-1.0 ou 0BSD para permitir que os distribuidores a incluam em " +"coleções de dados mistos sem o risco de violações de licença devido a " +"licenças mutuamente incompatíveis." -#: src/as-validator-issue-tag.h:361 -msgid "Consider using a secure (HTTPS) URL for the remote icon link." +#: src/as-validator-issue-tag.h:179 +msgid "" +"The update-contact does not appear to be a valid email address (escaping of " +"`@` is only allowed as `_at_` or `_AT_`)." msgstr "" +"O update-contact não parece ser um endereço de e-mail válido (o caractere de " +"escape `@` só é permitido como `_at_` ou `_AT_`)." -#: src/as-validator-issue-tag.h:383 -msgid "Consider using a secure (HTTPS) URL for this web link." +#: src/as-validator-issue-tag.h:184 +msgid "" +"Unable to reach the screenshot image on its remote location - does the image " +"exist?" msgstr "" +"Não foi possível alcançar a imagem de captura de ecrã no seu local remoto - " +"a imagem existe?" #: src/as-validator-issue-tag.h:189 msgid "" +"Unable to reach the screenshot video on its remote location - does the video " +"file exist?" +msgstr "" +"Não foi possível alcançar o vídeo de captura de ecrã no seu local remoto - o " +"ficheiro de vídeo existe?" + +#: src/as-validator-issue-tag.h:194 +msgid "" "Consider using a secure (HTTPS) URL to reference this screenshot image or " "video." msgstr "" +"Considere usar um URL (HTTPS) seguro para mencionar esta captura de ecrã de " +"imagem ou de vídeo." -#: tools/appstream-cli.c:870 -msgid "Convert a YAML or text NEWS file into metainfo releases." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:200 +msgid "" +"A screenshot must contain at least one image or video in order to be useful. " +"Please add an to it." msgstr "" +"Uma captura de ecrã deve conter pelo menos uma imagem ou vídeo para que seja " +"utilizável. Por favor adicione uma nela." -#. TRANSLATORS: "convert" command in ascli. "Collection XML" is a term describing a specific type of AppStream XML data. -#: tools/appstream-cli.c:865 -msgid "Convert collection XML to YAML or vice versa." -msgstr "Converter XML para YAML ou vice-versa." - -#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results -#: tools/ascli-actions-mdata.c:228 -#, c-format -msgid "Could not find component providing '%s::%s'." -msgstr "Não foi possível encontrar o componente com o identificador '%s::%s'." +#: src/as-validator-issue-tag.h:205 +msgid "" +"A screenshot must contain either images or videos, but not both at the same " +"time. Please use this screenshot exclusively for either static images or for " +"videos." +msgstr "" +"Uma captura de ecrã deve conter imagens ou vídeos, mas não ambos ao mesmo " +"tempo. Por favor, use esta captura de ecrã exclusivamente para imagens " +"estáticas ou para vídeos." -#: tools/appstream-cli.c:869 -msgid "Create a XDG desktop-entry file from a metainfo file." +#: src/as-validator-issue-tag.h:211 +msgid "The screenshot does not have a caption text. Consider adding one." msgstr "" +"A captura de ecrã não tem nenhum texto de legenda. Considere adicionar um." -#: tools/appstream-cli.c:868 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:217 msgid "" -"Create a template for a metainfo file (to be filled out by the upstream " -"project)." +"The screenshot video does not specify which video codec was used in a " +"`codec` property." msgstr "" -"Cria um modelo para um ficheiro metainfo (a ser preenchido pelo projeto " -"upstream)." +"O vídeo da captura de ecrã não especifica qual o codec de vídeo foi usado em " +"uma propriedade `codec`." -#: tools/ascli-actions-misc.c:228 -#, c-format -msgid "Creating new desktop-entry file '%s' using data from '%s'" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:223 +msgid "" +"The screenshot video does not specify which container format was used in a " +"`container` property." msgstr "" +"O vídeo de captura de ecrã não especifica qual o formato de contentor foi " +"usado numa propriedade `container`." -#: src/as-provided.c:160 -#, fuzzy -msgid "D-Bus Session Services" -msgstr "Serviços de sessão DBus" - -#: src/as-provided.c:158 -#, fuzzy -msgid "D-Bus System Services" -msgstr "Serviços de sistema DBus" - -#: src/as-category.c:195 -msgctxt "Category of Office" -msgid "Database" -msgstr "Base de dados" - -#: src/as-category.c:86 -msgctxt "Category of Development" -msgid "Debuggers" -msgstr "Depuradores" - -#: tools/ascli-utils.c:353 -msgid "Default Screenshot URL" -msgstr "URL da captura de ecrã predefinida" - -#. TRANSLATORS: ascli flag description for: --format -#: tools/appstream-cli.c:83 -msgid "Default metadata format (valid values are 'xml' and 'yaml')." -msgstr "Formato de metadados padrão (valores válidos são “xml” e “yaml”)." - -#: tools/ascli-utils.c:333 -msgid "Description" -msgstr "Descrição" - -#. developer name -#: tools/ascli-utils.c:321 -msgid "Developer" -msgstr "Programador" - -#. TRANSLATORS: this is the menu spec main category for Development -#: src/as-category.c:305 -msgid "Developer Tools" -msgstr "Ferramentas de programação" - -#: tools/appstream-cli.c:862 -msgid "Display status information about available AppStream metadata." -msgstr "Mostrar informações sobre metadados disponíveis do AppStream." - -#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions -#: tools/ascli-actions-misc.c:52 -msgid "Distribution metadata:" -msgstr "Metadados de distribuição:" - -#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) -#: tools/appstream-cli.c:126 -msgid "Do not use network access." -msgstr "Não usa acesso de rede." - -#. TRANSLATORS: ascli flag description for: --no-color -#: tools/appstream-cli.c:908 -msgid "Don't show colored output." -msgstr "Não mostrar saída colorida." - -#: tools/appstream-cli.c:853 -msgid "Dump raw XML metadata for a component matching the ID." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:229 +msgid "" +"The selected video codec is not supported by AppStream and software centers " +"may not be able to play the video. Only the AV1 and VP9 codecs are currently " +"supported, using `av1` and `vp9` as values for the `codec` property." msgstr "" -"Despejar metadados XML não tratados para um componente coincidindo com o " -"identificador (ID)." +"O codec de vídeo selecionado não é compatível com o AppStream e os centros " +"de software podem não ser capazes de reproduzir o vídeo. Apenas os codecs " +"AVI e VP9 são atualmente compatíveis , use os valores `av1` e `vp9` nas " +"propriedades para `codec`." -#. TRANSLATORS: this is the menu spec main category for Education -#: src/as-category.c:308 -msgid "Education" -msgstr "Educação" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:236 +msgid "" +"The selected video container format is not supported by AppStream and " +"software centers may not be able to play the video. Only the WebM and " +"Matroska video containers are currently supported, using `webm` and `mkv` as " +"values for the `container` property." +msgstr "" +"O formato do contentor de vídeo selecionado não é compatível com o " +"AppStream, os centros de software podem não ser capazes de reproduzir o " +"vídeo. Apenas os contentores de vídeo WebM e Matroska são compatíveis, use " +"os valores`webm` e `mkv` nas propriedades de `container`." -#. TRANSLATORS: No metainfo files have been found -#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 -msgid "Empty." -msgstr "Vazio." +#: src/as-validator-issue-tag.h:242 +msgid "" +"For videos, only the WebM and Matroska (.mkv) container formats are " +"currently supported. The file extension of the referenced video does not " +"belong to either of these formats." +msgstr "" +"Para vídeos, somente os formatos de contentor WebM e Matroska (.mkv) são " +"atualmente suportados. A extensão de ficheiro do vídeo referenciado não " +"pertence a nenhum desses formatos." -#: src/as-category.c:141 -msgctxt "Category of Games" -msgid "Emulators" -msgstr "Emuladores" +#: src/as-validator-issue-tag.h:248 +msgid "" +"The default screenshot of a software component must not be a video. Use a " +"static image as default screenshot and set the video as a secondary " +"screenshot." +msgstr "" +"A captura de ecrã prededinida de um componente de software não deve ser um " +"vídeo. Use uma imagem estática como captura de ecrã prededinida e defina o " +"vídeo como uma captura de ecrã secundária." -#. TRANSLATORS: ascli flag description for: --force -#: tools/appstream-cli.c:245 -msgid "Enforce a cache refresh." -msgstr "Forçar a atualização da cache." +#: src/as-validator-issue-tag.h:253 +msgid "" +"Found an unknown tag in a requires/recommends group. This is likely an " +"error, because a component relation of this type is unknown." +msgstr "" +"Uma marcação desconhecida encontrada num grupo requer/recomenda. Isso é " +"provavelmente um erro, porque uma relação de componente desse tipo é " +"desconhecida." -#: src/as-validator-issue-tag.h:74 -msgid "Enumerations must only have list items (
                                                                                                                                                                                                                                                                                                                  3. ) as children." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:259 +msgid "" +"A `requires` or `recommends` item requires a value to denote a valid " +"relation." msgstr "" +"Um item 'requires' ou 'recommends' requer um valor para denotar uma relação " +"válida." -#: tools/ascli-actions-misc.c:159 -#, c-format -msgid "Error while loading the metadata pool: %s" -msgstr "Erro ao carregar o grupo de metadados: %s" +#. TRANSLATORS: `version` is an AppStream XML property. Please do not translate it. +#: src/as-validator-issue-tag.h:265 +msgid "" +"Found `version` property on required/recommended item of a type that should " +"not have or require a version." +msgstr "" +"A propriedade`version` foi encontrada num item obrigatório/recomendado de um " +"tipo que não deve ter ou exigir uma versão." -#: tools/ascli-utils.c:327 -msgid "Extends" -msgstr "Estende" +#. TRANSLATORS: `version` and `compare` are AppStream XML properties. Please do not translate them. +#: src/as-validator-issue-tag.h:271 +msgid "" +"Found `version` property on this required/recommended item, but not " +"`compare` property. It is recommended to explicitly define a comparison " +"operation." +msgstr "" +"A propriedade `version` foi encontrada neste item necessário/recomendado, " +"mas não a propriedade `compare`. É recomendável definir explicitamente uma " +"operação de comparação." -#: src/as-category.c:65 -msgctxt "Category of AudioVideo" -msgid "Featured" -msgstr "Destaque" +#: src/as-validator-issue-tag.h:276 +msgid "" +"Invalid comparison operation on relation item. Only eq/ne/lt/gt/le/ge are " +"permitted." +msgstr "" +"Operação de comparação inválida no item de relação. Só é permitido eq/ne/lt/" +"gt/le/ge." -#: src/as-category.c:256 -msgctxt "Category of Communication" -msgid "Featured" -msgstr "Destaque" +#: src/as-validator-issue-tag.h:281 +msgid "" +"The relation item has a comparison operation set, but does not support any " +"comparisons." +msgstr "" +"O item de relação tem um conjunto de operações de comparação, mas não tem " +"suporte a quaisquer comparações." -#: src/as-category.c:83 -msgctxt "Category of Development" -msgid "Featured" -msgstr "Destaque" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:287 +msgid "" +"Found a memory size relation in a `requires` tag. This means users will not " +"be able to even install the component without having enough RAM. This is " +"usually not intended and you want to use `memory` in the `recommends` tag " +"instead." +msgstr "" +"Uma dependência de tamanho de memória foi encontrada numa marcação " +"`requires`. Isso significa que nem mesmo os utilizadores poderão instalar o " +"componente sem ter RAM suficiente. Em geral a intenção não é essa e em vez " +"disso quer usar `memory` na marcação `recommends`." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:294 +msgid "" +"Found a user input control relation in a `requires` tag. This means users " +"will not be able to even install the component without having the defined " +"input control available on the system. This is usually not intended and you " +"want to use `control` in the `recommends` tag instead." +msgstr "" +"Um controle de entrada foi encontrado em relação à marcação `requires`. Isso " +"significa que os utilizadores não poderão sequer instalar o componente sem " +"ter o controle de entrada disponível no sistema. Em geral a intenção não é " +"essa e em vez disso quererá usar `control` na marcação `recommends`." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:301 +msgid "" +"This `control` item defines an unknown input method and is invalid. Check " +"the specification for a list of permitted values." +msgstr "" +"Este item `control` define um método de entrada desconhecido e inválido. " +"Verifique a especificação para obter uma lista de valores permitidos." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:307 +msgid "" +"This `display_length` item contains an invalid display length. Its value " +"must either be a shorthand string, or positive integer value denoting " +"logical pixels. Please refer to the AppStream specification for more " +"information on this tag." +msgstr "" +"Este item `display_length` contém um comprimento de exibição inválido. O " +"valor dele deve ser uma cadeia curta ou um valor inteiro positivo denotando " +"pixels lógicos. Consulte a especificação do AppStream para mais informações " +"sobre esta tag." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:314 +msgid "" +"This `side` property of this `display_length` item contains an invalid " +"value. It must either be `shortest` or `longest`, or unset to imply " +"`shortest` to make the item value refer to either the shortest or longest " +"side of the display." +msgstr "" +"Esta propriedade `side` deste item `display_length` contém um valor " +"inválido. Deve ser `shortest` ou `longest`, ou não deve ser definida para " +"implicar `shortest` para que o valor do item se refira ao lado mais curto ou " +"longo do ecrã." -#: src/as-category.c:98 -msgctxt "Category of Education" -msgid "Featured" -msgstr "Destaque" +#: src/as-validator-issue-tag.h:320 +msgid "" +"The set component type is not a recognized, valid AppStream component type." +msgstr "" +"O tipo de componente definido não é um tipo de componente válido e " +"reconhecido pela AppStream." -#: src/as-category.c:120 -msgctxt "Category of Games" -msgid "Featured" -msgstr "Destaque" +#: src/as-validator-issue-tag.h:325 +msgid "" +"The component has a priority value set. This is not allowed in metainfo " +"files." +msgstr "" +"O componente tem um valor de prioridade definido. Isso não é permitido em " +"ficheiros metainfo." -#: src/as-category.c:165 -msgctxt "Category of Graphics" -msgid "Featured" -msgstr "Destaque" +#: src/as-validator-issue-tag.h:330 +msgid "" +"The component has a `merge` method defined. This is not allowed in metainfo " +"files." +msgstr "" +"O componente tem um método `merge` definido. Isso não é permitido em " +"ficheiros metainfo." -#: src/as-category.c:188 -msgctxt "Category of Office" -msgid "Featured" -msgstr "Destaque" +#: src/as-validator-issue-tag.h:335 +msgid "The component is missing an ID ( tag)." +msgstr "O componente não possui um ID (tag )." -#: src/as-category.c:231 -msgctxt "Category of Science" -msgid "Featured" -msgstr "Destaque" +#: src/as-validator-issue-tag.h:340 +msgid "The component is missing a name ( tag)." +msgstr "O componente não possui um nome (tag )." -#: src/as-category.c:278 -msgctxt "Category of Utility" -msgid "Featured" -msgstr "Destaque" +#: src/as-validator-issue-tag.h:345 +msgid "The component is missing a summary ( tag)." +msgstr "O componente não possui um resumo (tag )." -#: tools/ascli-actions-validate.c:171 tools/ascli-actions-validate.c:349 -#, fuzzy, c-format -msgid "File '%s' does not exist." -msgstr "Ficheiro de metadados “%s” não existe." +#: src/as-validator-issue-tag.h:350 +msgid "" +"The tag still contains a `type` property, probably from an old " +"conversion to the recent metainfo format." +msgstr "" +"A tag ainda contém a propriedade `type`, provavelmente vinda de uma " +"conversão antiga para o formato recente de metainfo." -#: src/as-category.c:287 -msgctxt "Category of Utility" -msgid "File System" -msgstr "Sistema de ficheiros" +#: src/as-validator-issue-tag.h:355 +msgid "" +"The `pkgname` tag appears multiple times. You should evaluate creating a " +"metapackage containing the metainfo and .desktop files in order to avoid " +"defining multiple package names per component." +msgstr "" +"A marcação `pkgname` aparece várias vezes. Deve avaliar a criação de um " +"metapacote contendo os ficheiros metainfo e .desktop a fim de evitar a " +"definição de vários nomes de pacotes por componente." -#: src/as-category.c:198 -msgctxt "Category of Office" -msgid "Finance" -msgstr "Finanças" +#: src/as-validator-issue-tag.h:360 +msgid "The component name should (likely) not end with a dot (`.`)." +msgstr "" +"O nome do componente (provavelmente) não deve terminar com um ponto (`.`)." -#: src/as-provided.c:164 -msgid "Flashed Firmware" -msgstr "Firmware descarregado" +#: src/as-validator-issue-tag.h:365 +msgid "The component summary should not end with a dot (`.`)." +msgstr "O resumo do componente não deve terminar com um ponto (`.`)." -#: src/as-provided.c:150 -msgid "Fonts" -msgstr "Fontes" +#: src/as-validator-issue-tag.h:370 +msgid "The component summary must not contain tabs or linebreaks." +msgstr "O resumo do componente não deve conter tabulações ou quebras de linha." -#: src/as-category.c:211 -msgctxt "Category of Addons" -msgid "Fonts" -msgstr "Fontes" +#: src/as-validator-issue-tag.h:375 +msgid "The summary must not contain any URL. Use the tags for links." +msgstr "" +"O resumo não deve conter qualquer URL. Use as tags para ligações." -#: src/as-validator-issue-tag.h:237 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:381 msgid "" -"For videos, only the WebM and Matroska (.mkv) container formats are " -"currently supported. The file extension of the referenced video does not " -"belong to either of these formats." +"Icons of type `stock` or `cached` must not contain an URL, a full or an " +"relative path to the icon. Only file basenames or stock names are allowed." msgstr "" +"Os ícones do tipo `stock` ou `cached` não devem conter uma URL, um caminho " +"completo ou relativo para o ícone. Somente nomes base de ficheiro ou nomes " +"padrão são permitidos." -#. TRANSLATORS: ascli flag description for: --format when validating XML files -#: tools/appstream-cli.c:131 -#, fuzzy -msgid "Format of the generated report (valid values are 'text' and 'yaml')." -msgstr "Formato de metadados padrão (valores válidos são “xml” e “yaml”)." - -#. TRANSLATORS: Found metainfo files in legacy directories -#: tools/ascli-actions-misc.c:138 -#, c-format -msgid "Found %i components in legacy paths." -msgstr "Encontrados %i componentes em caminhos antigos." - -#: tools/ascli-actions-misc.c:123 -#, c-format -msgid "Found %i components." -msgstr "Encontrados %i componentes." - -#. TRANSLATORS: 'version' is an AppStream XML property. Please do not translate it. -#: src/as-validator-issue-tag.h:260 -msgid "" -"Found 'version' property on required/recommended item of a type that should " -"not have or require a version." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:388 +msgid "Icons of type `remote` must contain an URL to the referenced icon." msgstr "" +"Ícones do tipo `remote` devem conter uma URL para o ícone referenciado." -#. TRANSLATORS: 'version' and 'compare' are AppStream XML properties. Please do not translate them. -#: src/as-validator-issue-tag.h:266 -msgid "" -"Found 'version' property on this required/recommended item, but not " -"'compare' property. It is recommended to explicitly define a comparison " -"operation." +#: src/as-validator-issue-tag.h:393 +msgid "Unable to reach remote icon at the given web location - does it exist?" +msgstr "" +"Não foi possível acessar o ícone remoto no local web determinado - ele " +"existe?" + +#: src/as-validator-issue-tag.h:398 +msgid "Consider using a secure (HTTPS) URL for the remote icon link." msgstr "" +"Considere usar um URL (HTTPS) seguro para a hiperligação de ícone remoto." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:277 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:404 msgid "" -"Found a memory size dependency in a 'requires' tag. This means users will " -"not be able to even install the component without having enough RAM. This is " -"usually not intended and you want to use 'memory' in the 'recommends' tag " -"instead." +"Metainfo files may only contain icons of type `stock` or `remote`, the set " +"type is not allowed." msgstr "" +"Os ficheiros metainfo podem conter apenas ícones do tipo `stock` ou " +"`remote`, o tipo do conjunto não é permitido." -#: src/as-validator-issue-tag.h:248 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:410 msgid "" -"Found an unknown tag in a requires/recommends group. This is likely an " -"error, because a component relation of this type is unknown." +"Invalid `type` property for this `url` tag. URLs of this type are not known " +"in the AppStream specification." msgstr "" +"A propriedade `type` é inválida para esta marcação `url`. URLs desse tipo " +"não são conhecidas na especificação do AppStream." -#: src/as-validator-issue-tag.h:427 +#: src/as-validator-issue-tag.h:415 msgid "" -"Found invalid tag. Non-standard tags should be prefixed with 'x-'. AppStream " -"also provides the tag to add arbitrary custom data to metainfo " -"files. This tag is read by AppStream libraries and may be useful instead of " -"defining new custom toplevel or 'x-'-prefixed tags if you just want to add " -"custom data to a metainfo file." +"Unable to reach remote location that this URL references - does it exist?" msgstr "" +"Não foi possível acessar o local remoto que esta URL referencia - ele existe?" -#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. -#: src/as-validator.c:526 src/as-validator.c:939 src/as-validator.c:1024 -#: src/as-validator.c:1237 -#, c-format -msgid "Found: %s - Allowed: %s" -msgstr "" +#: src/as-validator-issue-tag.h:420 +msgid "Consider using a secure (HTTPS) URL for this web link." +msgstr "Considere usar um URL (HTTPS) seguro para esta hiperligação da Web." -#. TRANSLATORS: this is the menu spec main category for Game -#: src/as-category.c:311 -msgid "Games" -msgstr "Jogos" +#: src/as-validator-issue-tag.h:425 +msgid "A web URL was expected for this value." +msgstr "Uma URL web era esperado para este valor." -#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command -#: tools/appstream-cli.c:814 -msgid "Generate the output in the selected format ('yaml' or 'text')." +#: src/as-validator-issue-tag.h:430 +msgid "" +"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." msgstr "" +"Esta ligação web usa o protocolo FTP. Considere mudar para HTTP(S) em vez " +"disso." -#: tools/appstream-cli.c:849 -msgid "Get components which provide the given item." -msgstr "Obtém componentes que fornecem o item dado." - -#: tools/appstream-cli.c:848 -msgid "Get information about a component by its ID." -msgstr "Obtém informação sobre um componente através do seu identificador." - -#. TRANSLATORS: this is the menu spec main category for Graphics -#: src/as-category.c:314 -msgid "Graphics & Photography" -msgstr "Gráficos e fotografia" +#: src/as-validator-issue-tag.h:435 +msgid "The can not contain a hyperlink." +msgstr "O não contém uma hiperligação." -#: tools/ascli-utils.c:300 -msgid "Homepage" -msgstr "Página inicial" +#: src/as-validator-issue-tag.h:440 +msgid "" +"The set value is not an identifier for a desktop environment as registered " +"with Freedesktop.org." +msgstr "" +"O valor definido não é um identificador para o ambiente de desktop como " +"registado com Freedesktop.org." -#: src/as-category.c:89 -msgctxt "Category of Development" -msgid "IDEs" -msgstr "IDEs" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:446 +msgid "This `launchable` tag has an unknown type and can not be used." +msgstr "" +"Esta marcação `launchable` tem um tipo desconhecido e não pode ser usada." -#: tools/ascli-utils.c:301 -msgid "Icon" -msgstr "Ícone" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:452 +msgid "This `bundle` tag has an unknown type and can not be used." +msgstr "Esta marcação `bundle` tem um tipo desconhecido e não pode ser usada." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:351 -msgid "Icons of type 'remote' must contain an URL to the referenced icon." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:458 +msgid "" +"The `update_contact` tag should not be included in collection AppStream XML." msgstr "" +"A marcação `update_contact` não deve ser incluída na coleção AppStream XML." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:344 +#: src/as-validator-issue-tag.h:463 msgid "" -"Icons of type 'stock' or 'cached' must not contain an URL, a full or an " -"relative path to the icon. Only file basenames or stock names are allowed." +"This tag is a GNOME-specific extension to AppStream and not part of the " +"official specification. Do not expect it to work in all implementations and " +"in all software centers." msgstr "" +"Esta marcação é uma extensão específica do GNOME para o AppStream e não faz " +"parte da especificação oficial. Não espere que ela funcione em todas as " +"implementações e em todos os centros de software." -#: tools/ascli-actions-misc.c:94 -msgid "Iconsets" -msgstr "Conjunto de ícones" - -#: tools/ascli-utils.c:295 -msgid "Identifier" -msgstr "Identificador" - -#: src/as-category.c:217 -msgctxt "Category of Addons" -msgid "Input Sources" -msgstr "Fontes de entrada" - -#: tools/appstream-cli.c:863 -msgid "Install a metadata file into the right location." -msgstr "Instala um ficheiro de metadados na localização certa." - -#: tools/appstream-cli.c:859 -msgid "Install software matching the component-ID." +#: src/as-validator-issue-tag.h:469 +msgid "" +"Found invalid tag. Non-standard tags should be prefixed with `x-`. AppStream " +"also provides the tag to add arbitrary custom data to metainfo " +"files. This tag is read by AppStream libraries and may be useful instead of " +"defining new custom toplevel or `x-`-prefixed tags if you just want to add " +"custom data to a metainfo file." msgstr "" -"Instala software correspondente ao component-ID (identificador de " -"componente)." +"Uma marcação inválida foi encontrada. As marcações não padronizadas devem " +"ser prefixadas com “x-”. O AppStream também fornece a tag para " +"adicionar os dados personalizados arbitrários em ficheiros metainfo. Essa " +"marcação é lida por bibliotecas do AppStream e pode ser útil em vez de " +"definir novas marcações personalizadas de topo de nível ou prefixadas com “ " +"x-” caso queira apenas adicionar dados personalizados a um ficheiro metainfo." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:373 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:477 msgid "" -"Invalid 'type' property for this 'url' tag. URLs of this type are not known " -"in the AppStream specification." +"The essential tag `metadata_license` is missing. A license for the metadata " +"itself always has to be defined." msgstr "" +"A tag essencial `metadata_license` está faltando. Uma licença para os " +"metadados propriamente sempre devem ser definidas." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:553 +#: src/as-validator-issue-tag.h:482 msgid "" -"Invalid tag found in collection metadata. Only 'component' tags are " -"permitted." +"The component is missing a long description. Components of this type must " +"have a long description." msgstr "" +"O componente não possui uma descrição longa. Componentes desse tipo devem " +"ter uma descrição longa." -#: tools/ascli-actions-mdata.c:213 -msgid "Invalid type for provided item selected. Valid values are:" -msgstr "Foi selecionado um item de tipo inválido. Os valores válidos são:" - -#: src/as-validator-issue-tag.h:271 +#: src/as-validator-issue-tag.h:487 msgid "" -"Invalid version comparison operation on relation item. Only eq/ne/lt/gt/le/" -"ge are permitted." +"It would be useful to add a long description to this font to present it " +"better to users." msgstr "" +"Seria útil adicionar uma descrição longa a esta fonte para apresentá-la " +"melhor aos utilizadores." -#: src/as-validator-issue-tag.h:450 +#: src/as-validator-issue-tag.h:492 msgid "" "It is recommended to add a long description to this component to present it " "better to users." msgstr "" +"Recomenda-se adicionar uma descrição longa a este componente para apresentá-" +"lo melhor aos utilizadores." -#: src/as-validator-issue-tag.h:445 +#: src/as-validator-issue-tag.h:497 msgid "" -"It would be useful to add a long description to this font to present it " -"better to users." +"This generic component is missing a long description. It may be useful to " +"add one." msgstr "" +"Este componente genérico não possui uma descrição longa. Pode ser útil " +"adicionar um." -#: src/as-category.c:144 -msgctxt "Category of Games" -msgid "Kids" -msgstr "Crianças" - -#: src/as-category.c:220 -msgctxt "Category of Addons" -msgid "Language Packs" -msgstr "Pacotes de idioma" - -#: src/as-category.c:107 -msgctxt "Category of Education" -msgid "Languages" -msgstr "Idiomas" - -#: src/as-provided.c:144 -msgid "Libraries" -msgstr "Bibliotecas" - -#. license -#: tools/ascli-utils.c:363 -msgid "License" -msgstr "Licença" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:629 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:503 msgid "" -"Licenses for 'runtime' components are usually too complex to reflect them in " -"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " -"value for this component's 'project_license'. E.g. `LicenseRef-free=https://" -"example.com/licenses.html`" +"Type `console-application` component, but no information about binaries in " +"$PATH was provided via a `provides/binary` tag." msgstr "" +"O componente do tipo `console-application`, porém a marcação `provides/" +"binary` não fornece qualquer informação sobre os binários no $PATH." -#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command -#: tools/appstream-cli.c:771 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:509 msgid "" -"Limit the number of release entries that end up in the metainfo file (0 for " -"unlimited)." +"This `web-application` component is missing a `launchable` tag of type `url`." msgstr "" +"Este componente `web-application` não possui uma marcação `launchable` do " +"tipo `url`." -#: src/as-category.c:223 -msgctxt "Category of Addons" -msgid "Localization" -msgstr "Localização" - -#: src/as-category.c:147 -msgctxt "Category of Games" -msgid "Logic" -msgstr "Lógica" - -#. TRANSLATORS: ascli flag description for: --no-cache -#: tools/appstream-cli.c:67 -msgid "Make request without any caching." -msgstr "Faz uma requisição sem qualquer cache." - -#. TRANSLATORS: ascli flag description for: --cachepath -#: tools/appstream-cli.c:57 -msgid "Manually selected location of AppStream cache." -msgstr "Localização manualmente selecionada da cache do AppStream." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:515 +msgid "" +"This `web-application` component is missing a `icon` tag to specify a valid " +"icon." +msgstr "" +"Este componente `web-application` não possui uma marcação `icon` para " +"especificar um ícone válido." -#. TRANSLATORS: ascli flag description for: --datapath -#: tools/appstream-cli.c:62 -msgid "Manually selected location of AppStream metadata to scan." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:521 +msgid "" +"This `web-application` component is missing categorizations. A `categories` " +"block is likely missing." msgstr "" -"Localização manualmente selecionada dos metadados do AppStream para varrer." +"Este componente `web-application` não possui categorizações. Um bloco " +"`categories` provavelmente falta." -#: src/as-pool.c:1280 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:527 msgid "" -"Many components have been recognized as invalid. See debug output for " -"details." +"Type `font` component, but no font information was provided via a `provides/" +"font` tag." msgstr "" -"Muitos componentes foram reconhecidos como inválidos. Veja a saída de " -"depuração para detalhes." +"Componente do tipo `font`, porém a marcação `provides/font` não fornece " +"qualquer informação sobre a fonte." -#: src/as-category.c:111 -msgctxt "Category of Education" -msgid "Math" -msgstr "Matemática" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:533 +msgid "" +"Type `driver` component, but no modalias information was provided via a " +"`provides/modalias` tag." +msgstr "" +"O componente do tipo `driver`, porém a marcação `provides/modalias` não " +"fornece qualquer informação sobre modalias." -#: src/as-category.c:243 -msgctxt "Category of Science" -msgid "Math" -msgstr "Matemática" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:539 +msgid "" +"An `extends` tag is specified, but the component is not of type `addon`, " +"`localization` or `repository`." +msgstr "" +"Uma tag 'extends' está definida, porém o componente não é do tipo 'addon', " +"'localization' ou 'repository'." -#: src/as-provided.c:148 -#, fuzzy -msgid "Media types" -msgstr "Tipos MIME" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:545 +msgid "The component is an addon, but no `extends` tag was specified." +msgstr "O componente é uma extensão, porém nenhuma tag `extends` foi definida." -#: tools/ascli-actions-mdata.c:364 -#, c-format -msgid "Metadata file '%s' does not exist." -msgstr "Ficheiro de metadados “%s” não existe." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:551 +msgid "" +"This `localization` component is missing an `extends` tag, to specify the " +"components it adds localization to." +msgstr "" +"Este componente `localization` não possui uma marcação `extends`, para " +"especificar os componentes para os quais ele adiciona a localização." -#: src/as-pool.c:881 -msgid "Metadata files have errors:" -msgstr "Os ficheiros de metadados têm erros:" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:557 +msgid "" +"This `localization` component does not define any languages this " +"localization is for." +msgstr "" +"Este componente `localization` não define os idiomas para os quais essa " +"localização serve." -#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 -#: tools/ascli-actions-misc.c:515 -#, fuzzy, c-format -msgid "Metainfo file '%s' does not exist." -msgstr "Ficheiro de metadados “%s” não existe." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:563 +msgid "" +"This `service` component is missing a `launchable` tag of type `service`." +msgstr "" +"Este componente `service` não possui uma tag `launchable` do tipo `service`." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:367 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:569 msgid "" -"Metainfo files may only contain icons of type 'stock' or 'remote', the set " -"type is not allowed." +"Suggestions of any type other than `upstream` are not allowed in metainfo " +"files." msgstr "" +"Sugestões de qualquer tipo diferente de `upstream` não são permitidas em " +"ficheiros metainfo." -#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report -#: tools/ascli-actions-misc.c:116 -msgid "Metainfo files:" -msgstr "Ficheiros de metainfo:" +#: src/as-validator-issue-tag.h:574 +msgid "" +"The category name is not valid. Refer to the XDG Menu Specification for a " +"list of valid category names." +msgstr "" +"O nome da categoria não é válido. Consulte XDG Menu Specification para uma " +"lista de nomes de categorias válidos." -#: src/as-provided.c:152 -msgid "Modaliases" -msgstr "Modos alternativos" +#: src/as-validator-issue-tag.h:579 +msgid "The screenshot caption is too long (should be <= 80 characters)" +msgstr "" +"A legenda da captura de ecrã é muito comprida (deve ser <= 80 caracteres)" -#: src/as-category.c:74 -msgctxt "Category of AudioVideo" -msgid "Music Players" -msgstr "Reprodutores de música" +#: src/as-validator-issue-tag.h:584 +msgid "Unable to read file." +msgstr "Não é possível ler o ficheiro." -#: tools/ascli-utils.c:296 -msgid "Name" -msgstr "Nome" +#: src/as-validator-issue-tag.h:589 +msgid "The XML of this file is malformed." +msgstr "O XML neste ficheiro está malformado." -#: src/as-category.c:266 -msgctxt "Category of Communication" -msgid "News" -msgstr "Notícias" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:595 +msgid "" +"Invalid tag found in collection metadata. Only `component` tags are " +"permitted." +msgstr "" +"Uma marcação inválida foi encontrada nos metadados de coleção. Somente as " +"tags `components` são permitidas." -#: src/as-validator-issue-tag.h:589 -msgid "No AppStream metadata was found in this directory or directory tree." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:601 +msgid "" +"The metainfo file uses an ancient version of the AppStream specification, " +"which can not be validated. Please migrate it to version 0.6 (or higher)." msgstr "" +"O ficheiro metainfo usa uma versão antiga da especificação do AppStream, que " +"não pode ser validada. Por favor, migre para a versão 0.6 (ou superior)." -#. pedantic because not everything which has metadata is an application -#: src/as-validator-issue-tag.h:594 -msgid "No XDG applications directory found." +#: src/as-validator-issue-tag.h:606 +msgid "" +"This XML document has an unknown root tag. Maybe this file is not a metainfo " +"document?" msgstr "" +"Este documento XML tem uma marcação de raiz desconhecida. Talvez este " +"ficheiro não seja um documento metainfo?" -#: tools/ascli-actions-mdata.c:182 -#, c-format -msgid "No component matching '%s' found." -msgstr "Sem correspondência para \"%s\"." +#: src/as-validator-issue-tag.h:611 +msgid "The metainfo filename does not match the component ID." +msgstr "" +"O nome de ficheiro de \"metainfo\" não corresponde à Id. do componente." -#: tools/ascli-actions-misc.c:105 -msgid "No icons." -msgstr "Sem ícones." +#: src/as-validator-issue-tag.h:616 +msgid "Unable to read the .desktop file associated with this component." +msgstr "Não é possível ler o ficheiro .desktop associado com este componente." -#: tools/ascli-actions-misc.c:402 -msgid "No output filename specified, modifying metainfo file directly." +#: src/as-validator-issue-tag.h:621 +msgid "This component metadata refers to a non-existing .desktop file." msgstr "" +"Os metadados deste componente referem-se a um ficheiro .desktop não " +"existente." -#: tools/ascli-actions-misc.c:306 +#: src/as-validator-issue-tag.h:626 msgid "" -"No provided binary specified in metainfo file, and no exec command specified " -"via '--exec'. Can not create 'Exec=' key." +"The category defined in the .desktop file is not valid. Refer to the XDG " +"Menu Specification for a list of valid categories." msgstr "" +"A categoria definida no ficheiro .desktop não é válida. Consulte XDG Menu " +"Specification para obter uma lista de categorias válidas." -#: tools/ascli-actions-misc.c:284 -msgid "No stock icon name was provided in the metainfo file. Can not continue." +#: src/as-validator-issue-tag.h:631 +msgid "No AppStream metadata was found in this directory or directory tree." msgstr "" +"Nenhum metadado do AppStream foi encontrado neste diretório ou árvore de " +"diretórios." -#: tools/ascli-actions-pkgmgr.c:53 +#. pedantic because not everything which has metadata is an application +#: src/as-validator-issue-tag.h:636 +msgid "No XDG applications directory found." +msgstr "Nenhum diretório de aplicacões XDG encontrado." + +#: src/as-validator-issue-tag.h:641 msgid "" -"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" -"\" (part of PackageKit) is available." +"The metainfo file is stored in a legacy path. Please place it in `/usr/share/" +"metainfo/`." msgstr "" -"Não foi encontrado nenhum gestor de pacotes CLI adequado. Por favor, " -"certifique-se que está disponível por exemplo “pkcon” (parte de PackageKit)." +"O ficheiro metainfo está armazenado num caminho herdado. Por favor, ponha-o " +"em `/usr/share/metainfo`." -#: tools/ascli-actions-mdata.c:206 -msgid "No value for the item to search for was defined." -msgstr "Não foi definido nenhum valor para o item a ser pesquisado." +#: src/as-validator-issue-tag.h:646 +msgid "The metainfo file specifies multiple components. This is not allowed." +msgstr "" +"O ficheiro metainfo especifica vários componentes. Isso não é permitido." -#. TRANSLATORS: this is the menu spec main category for Office -#: src/as-category.c:317 -msgid "Office" -msgstr "Escritório" +#: src/as-validator-issue-tag.h:651 +msgid "" +"The releases are not sorted in a latest to oldest version order. This is " +"required as some tools will assume that the latest version is always at the " +"top. Sorting releases also increases overall readability of the metainfo " +"file." +msgstr "" +"Os lançamentos não estão classificados numa ordem de versão da mais recente " +"à mais antiga. Isso é necessário, pois algumas ferramentas presumirão que a " +"versão mais recente está sempre na princípio. A classificação de lançamentos " +"também aumenta a legibilidade geral do ficheiro metainfo." -#. TRANSLATORS: An unknown option was passed to appstreamcli. -#: tools/appstream-cli.c:192 -#, c-format -msgid "Option '%s' is unknown." -msgstr "A opção \"%s\" é desconhecida." +#: src/as-validator-issue-tag.h:658 +msgid "The value set as release urgency is not a known urgency value." +msgstr "" +"O valor definido como urgência de lançamento não é um valor de urgência " +"conhecido." -#: tools/ascli-utils.c:298 -msgid "Package" -msgstr "Pacote" +#: src/as-validator-issue-tag.h:663 +msgid "The value set as release type is invalid." +msgstr "O valor definido como tipo de lançamento é inválido." -#: src/as-category.c:171 -msgctxt "Category of Graphics" -msgid "Photography" -msgstr "Fotografia" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:669 +msgid "" +"The value set as artifact type is invalid. Must be either `source` or " +"`binary`." +msgstr "" +"O valor definido como tipo de artefato é inválido. Deve ser `source` ou " +"`binary`." -#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) -#: tools/appstream-cli.c:121 -#, fuzzy -msgid "Print detailed explanation for found issues." -msgstr "Imprimir saída detalhada sobre os componentes encontrados." +#: src/as-validator-issue-tag.h:674 +msgid "The value set as artifact bundle type is invalid." +msgstr "O valor definido como tipo de pacote de artefato é inválido." -#. TRANSLATORS: ascli flag description for: --details -#: tools/appstream-cli.c:98 -msgid "Print detailed output about found components." -msgstr "Imprimir saída detalhada sobre os componentes encontrados." +#: src/as-validator-issue-tag.h:679 +msgid "" +"The platform triplet for this release is invalid. It must be in the form of " +"`architecture-oskernel-osenv` - refer to the AppStream documentation or " +"information on normalized GNU triplets for more information and valid fields." +msgstr "" +"O tripleto da plataforma para esta versão é inválido. Ele deve ser na forma " +"de `architecture-oskernel-osenv` – consulte a documentação do AppStream ou " +"informações sobre tripleto normalizados GNU para obter mais informações e " +"campos válidos." -#. project group -#: tools/ascli-utils.c:360 -msgid "Project Group" -msgstr "Grupo do projeto" +#: src/as-validator-issue-tag.h:686 +msgid "The selected checksumming algorithm is unsupported or unknown." +msgstr "" +"O algoritmo de verificação selecionado não tem suporte ou é desconhecido." -#: tools/ascli-utils.c:405 -msgid "Provided Items" -msgstr "Itens fornecidos" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:692 +msgid "The size type is unknown. Must be `download` or `installed`." +msgstr "O tipo de tamanho é desconhecido. Deve ser `download` ou `installed`." -#: src/as-provided.c:154 -msgid "Python (Version 2)" -msgstr "Python (Versão 2)" +#: src/as-validator-issue-tag.h:697 +msgid "" +"The artifact filename must be a file basename, not a (relative or absolute) " +"path." +msgstr "" +"O nome do ficheiro do artefato deve ser um nome base de ficheiro, não um " +"caminho (relativo ou absoluto)." -#: src/as-provided.c:156 -msgid "Python 3" -msgstr "Python 3" +#: src/as-validator-issue-tag.h:702 +msgid "The value set as release issue type is invalid." +msgstr "O valor definido como tipo de problema de lançamento é inválido." -#: tools/appstream-cli.c:854 -msgid "Rebuild the component metadata cache." -msgstr "Reconstruir a cache de metadados de componentes." +#: src/as-validator-issue-tag.h:707 +msgid "" +"The issue is tagged at security vulnerability with a CVE number, but its " +"value does not look like a valid CVE identifier." +msgstr "" +"O problema está marcado na vulnerabilidade de segurança com um s CVE, mas o " +"valor dele não parece-se com um identificador CVE válido." -#: tools/appstream-cli.c:860 -msgid "Remove software matching the component-ID." -msgstr "Remove software correspondendo ao component-ID." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:713 +msgid "" +"This component is missing information about releases. Consider adding a " +"`releases` tag to describe releases and their changes." +msgstr "" -#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty -#: src/as-validator.c:364 -msgid "Retrieved file size was zero." +#: src/as-validator-issue-tag.h:718 +msgid "" +"The AppStream specification requires a complete, ISO 8601 date string with " +"at least day-granularity to denote dates. Please ensure the date string is " +"valid." msgstr "" +"A especificação AppStream requer uma cadeia de data ISO 8601 completa com " +"pelo menos granularidade em dias para denotar datas. Certifique-se de que a " +"cadiea de data é válida." -#: src/as-category.c:248 -msgctxt "Category of Science" -msgid "Robotics" -msgstr "Robótica" +#: src/as-validator-issue-tag.h:724 +msgid "" +"This component extends, provides, requires or recommends itself, which is " +"certainly not intended and may confuse users or machines dealing with this " +"metadata." +msgstr "" +"Este componente estende, fornece, requer ou recomenda a si próprio, o que " +"certamente não é a intenção e pode confundir os utilizadores ou máquinas que " +"lidam com esses metadados." -#: src/as-category.c:150 -msgctxt "Category of Games" -msgid "Role Playing" -msgstr "RPGs" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:731 +msgid "" +"Licenses for `runtime` components are usually too complex to reflect them in " +"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " +"value for this component's `project_license`. E.g. `LicenseRef-free=https://" +"example.com/licenses.html`" +msgstr "" +"Licenças para componentes `runtime` geralmente são muito complexas para " +"refleti-las numa simples expressão SPDX. Considere o uso de um `LicenseRef` " +"e uma URL como valor para o `project_license` deste componente. Por exemplo, " +"`LicenseRef-free=https://example.com/licenses.html`" -#: tools/appstream-cli.c:196 tools/appstream-cli.c:926 -#, c-format -msgid "Run '%s --help' to see a full list of available command line options." +#: src/as-validator-issue-tag.h:737 +msgid "" +"Since a `runtime` component is comprised of multiple other software " +"components, their component-IDs may be listed in a `` section for " +"this runtime." msgstr "" -"Execute \"%s --help\" para ver uma lista completa das opções da linha de " -"comandos disponíveis." +"Como um componente `runtime` é composto por vários outros componentes de " +"software, as suas IDs de componentes podem ser listados numa secção " +"`` para esse tempo de execução." -#: tools/appstream-cli.c:198 -#, c-format +#: src/as-validator-issue-tag.h:742 msgid "" -"Run '%s --help' to see a list of available commands and options, and '%s %s " -"--help' to see a list of options specific for this subcommand." +"The type of the item that the component provides is not known to AppStream." msgstr "" -"Execute \"%s --help\" para ver uma lista das opções e de comandos " -"disponíveis, e '%s %s --help' para ver uma lista de opções específica para " -"este sub-comando." +"O tipo do item que o componente fornece não é conhecido pelo AppStream." -#: src/as-provided.c:162 -msgid "Runtime Firmware" -msgstr "Firmware em tempo de execução" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:748 +msgid "" +"The toplevel `mimetypes` tag is deprecated. Please use `mediatype` tags in a " +"`provides` block instead to indicate that your software provides a media " +"handler for the given types." +msgstr "" +"A tag de topo de nível `mimetypes` foi descontinuada. Por favor, utilize " +"tags `mediatype` num bloco `provides` para indicar que o seu software " +"fornece um manipulador de mídia para os tipos em questão." -#: src/as-category.c:174 -msgctxt "Category of Graphics" -msgid "Scanning" -msgstr "Digitalização" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks) and keep the URL intact. +#: src/as-validator-issue-tag.h:755 +msgid "" +"This component has no `content_rating` tag to provide age rating " +"information. You can generate the tag data online by answering a few " +"questions at https://hughsie.github.io/oars/" +msgstr "" -#. TRANSLATORS: this is the menu spec main category for Science -#: src/as-category.c:323 -msgid "Science" -msgstr "Ciências" +#: src/as-validator.c:150 +msgid "" +"The emitted issue tag is unknown in the tag registry of AppStream. This is a " +"bug in the validator itself, please report this issue in our bugtracker." +msgstr "" +"A marcação de problema emitida é desconhecida no registo de marcações do " +"AppStream. Este é um erro no próprio validador, por favor relate este " +"problema no nosso rastreador de erros." -#: tools/appstream-cli.c:847 -msgid "Search the component database." -msgstr "Pesquisa na base de dados de componente." +#: src/as-validator.c:344 +msgid "URL format is invalid." +msgstr "O formato de URL é inválido." -#: src/as-category.c:293 -msgctxt "Category of Utility" -msgid "Security" -msgstr "Segurança" +#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. +#: src/as-validator.c:522 src/as-validator.c:937 src/as-validator.c:1031 +#: src/as-validator.c:1428 src/as-validator.c:1448 src/as-validator.c:1481 +#, c-format +msgid "Found: %s - Allowed: %s" +msgstr "Encontrada: %s - Permitida: %s" -#. TRANSLATORS: ascli flag description for: --verbose -#: tools/appstream-cli.c:903 -msgid "Show extra debugging information." +#. TRANSLATORS: ascompose flag description for: --verbose +#: tools/appstream-compose.c:181 +#, fuzzy +msgid "Show extra debugging information" msgstr "Mostrar informações extras de depuração." +#. TRANSLATORS: ascompose flag description for: --no-color +#. TRANSLATORS: ascli flag description for: --no-color +#: tools/appstream-compose.c:184 tools/appstreamcli.c:1087 +msgid "Don't show colored output." +msgstr "Não mostrar saída colorida." + +#. TRANSLATORS: ascompose flag description for: --version #. TRANSLATORS: ascli flag description for: --version -#: tools/appstream-cli.c:897 +#: tools/appstream-compose.c:187 tools/appstreamcli.c:1076 msgid "Show the program version." msgstr "Mostrar a versão do programa." -#: src/as-validator-issue-tag.h:635 -msgid "" -"Since a 'runtime' component is comprised of multiple other software " -"components, their component-IDs may be listed in a `` section for " -"this runtime." +#. TRANSLATORS: ascompose flag description for: --full-report +#: tools/appstream-compose.c:190 +msgid "Set mode of the issue report that is printed to the console" msgstr "" -#: src/as-category.c:153 -msgctxt "Category of Games" -msgid "Sports" -msgstr "Desportos" +#. TRANSLATORS: ascompose flag description for: --prefix +#: tools/appstream-compose.c:193 +msgid "Override the default prefix (`/usr` by default)" +msgstr "" -#: src/as-category.c:157 -msgctxt "Category of Games" -msgid "Strategy" -msgstr "Estratégia" +#. TRANSLATORS: ascompose flag description for: --result-root +#: tools/appstream-compose.c:196 +msgid "Set the result output directory" +msgstr "" -#. these are commands we can use with appstreamcli -#: tools/appstream-cli.c:845 -msgid "Subcommands:" -msgstr "Sub-comandos:" +#. TRANSLATORS: ascompose flag description for: --data-dir, `collection metadata` is an AppStream term +#: tools/appstream-compose.c:199 +msgid "Override the collection metadata output directory" +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:527 -msgid "" -"Suggestions of any type other than 'upstream' are not allowed in metainfo " -"files." +#. TRANSLATORS: ascompose flag description for: --icons-dir +#: tools/appstream-compose.c:202 +msgid "Override the icon output directory" msgstr "" -#: tools/ascli-utils.c:297 -msgid "Summary" -msgstr "Resumo" +#. TRANSLATORS: ascompose flag description for: --media-dir +#: tools/appstream-compose.c:205 +msgid "" +"Set the media output directory (for media data to be served by a webserver)" +msgstr "" -#. TRANSLATORS: Status summary in ascli -#: tools/ascli-actions-misc.c:145 -msgid "Summary:" -msgstr "Resumo:" +#. TRANSLATORS: ascompose flag description for: --hints-dir +#: tools/appstream-compose.c:208 +msgid "Set a directory where HTML and text issue reports will be stored" +msgstr "" -#: src/as-category.c:290 -msgctxt "Category of Utility" -msgid "System Monitoring" -msgstr "Monitorização do sistema" +#. TRANSLATORS: ascompose flag description for: --origin +#. TRANSLATORS: ascompose flag description for: --media-baseurl +#: tools/appstream-compose.c:211 tools/appstream-compose.c:214 +msgid "Set the origin name" +msgstr "" -#: src/as-validator-issue-tag.h:46 -msgid "Tags of this name are not permitted in this section." +#. TRANSLATORS: ascompose flag description for: --components +#: tools/appstream-compose.c:217 +msgid "A comma-separated list of component-IDs to accept" msgstr "" -#: src/as-category.c:284 -msgctxt "Category of Utility" -msgid "Terminal Emulators" -msgstr "Emuladores de terminal" +#. TRANSLATORS: error message +#: tools/appstream-compose.c:231 +msgid "Failed to parse arguments" +msgstr "" -#: src/as-category.c:281 -msgctxt "Category of Utility" -msgid "Text Editors" -msgstr "Editores de texto" +#. TRANSLATORS: Output if appstreamcli --version is executed. +#: tools/appstream-compose.c:242 tools/appstreamcli.c:1230 +#, c-format +msgid "AppStream version: %s" +msgstr "Versão do AppStream: %s" -#: src/as-validator-issue-tag.h:318 +#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. +#: tools/appstream-compose.c:245 tools/appstreamcli.c:1233 +#, c-format msgid "" -"The 'pkgname' tag appears multiple times. You should evaluate creating a " -"metapackage containing the metainfo and .desktop files in order to avoid " -"defining multiple package names per component." +"AppStream CLI tool version: %s\n" +"AppStream library version: %s" msgstr "" +"Versão da ferramenta CLI do AppStream: %s\n" +"Versão da biblioteca do AppStream: %s" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:416 +#. TRANSLATORS: invalid value for the --print-report CLI option +#: tools/appstream-compose.c:264 +#, c-format msgid "" -"The 'update_contact' tag should not be included in collection AppStream XML." +"Invalid value for `--print-report` option: %s\n" +"Possible values are:\n" +"`on-error` - only prints a short report if the run failed (default)\n" +"`short` - generates an abridged report\n" +"`full` - a detailed report will be printed" msgstr "" -#: tools/ascli-actions-mdata.c:467 +#: tools/appstream-compose.c:285 #, c-format -msgid "The .desktop file '%s' does not exist." -msgstr "O ficheiro .desktop “%s” não existe." +msgid "Automatically selected '%s' as data output location." +msgstr "" -#: src/as-validator-issue-tag.h:393 -msgid "The can not contain a hyperlink." +#. TRANSLATORS: we don't have a destination directory for compose +#: tools/appstream-compose.c:288 +msgid "No destination directory set, please provide a data output location!" msgstr "" -#: src/as-validator-issue-tag.h:313 -msgid "" -"The tag still contains a 'type' property, probably from an old " -"conversion to the recent metainfo format." +#: tools/appstream-compose.c:298 tools/appstream-compose.c:300 +msgid "WARNING" msgstr "" -#: src/as-validator-issue-tag.h:616 -msgid "" -"The AppStream specification requires a complete, ISO 8601 date string with " -"at least day-granularity to denote dates. Please ensure the date string is " -"valid." +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:337 +#, c-format +msgid "Only accepting components: %s" msgstr "" -#: src/as-pool.c:1924 -#, fuzzy, c-format -msgid "" -"The AppStream system cache was updated, but problems were found which " -"resulted in metadata being ignored: %s" +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:340 +#, c-format +msgid "Only accepting component: %s" +msgstr "" + +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:345 +msgid "Processing directories:" +msgstr "" + +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:348 +msgid "Processing directory:" +msgstr "" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:357 +msgid "Can not process invalid directory" +msgstr "" + +#. TRANSLATORS: information message +#: tools/appstream-compose.c:369 +msgid "Composing metadata..." msgstr "" -"A cache de sistema do AppStream foi atualizada, mas foram encontrados " -"problemas: %s" -#: src/as-pool.c:1922 +#. TRANSLATORS: error message +#: tools/appstream-compose.c:374 #, fuzzy +msgid "Failed to compose AppStream metadata" +msgstr "Um utilitário para trabalhar com os metadados do AppStream" + +#. TRANSLATORS: appstream-compose failed to include all data +#: tools/appstream-compose.c:380 +msgid "Run failed, some data was ignored." +msgstr "" + +#. TRANSLATORS: information message of appstream-compose +#: tools/appstream-compose.c:382 +msgid "Errors were raised during this compose run:" +msgstr "" + +#: tools/appstream-compose.c:383 msgid "" -"The AppStream system cache was updated, but some components were ignored. " -"Refer to the verbose log for more information." +"Refer to the generated issue report data for details on the individual " +"problems." msgstr "" -"A cache de sistema do AppStream foi atualizada, mas foram detetados alguns " -"erros, o que pode levar a faltas de metadados. Veja o registo verboso para " -"mais informações." -#: src/as-validator-issue-tag.h:151 -msgid "The SPDX license expression is invalid and could not be parsed." +#: tools/appstream-compose.c:386 +msgid "Overview of generated hints:" msgstr "" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows -#: tools/appstream-cli.c:683 +#. TRANSLATORS: information message +#: tools/appstream-compose.c:388 +msgid "Success!" +msgstr "" + +#. TRANSLATORS: ascli flag description for: --cachepath +#: tools/appstreamcli.c:59 +msgid "Manually selected location of AppStream cache." +msgstr "Localização manualmente selecionada da cache do AppStream." + +#. TRANSLATORS: ascli flag description for: --datapath +#: tools/appstreamcli.c:64 +msgid "Manually selected location of AppStream metadata to scan." +msgstr "" +"Localização manualmente selecionada dos metadados do AppStream para varrer." + +#. TRANSLATORS: ascli flag description for: --no-cache +#: tools/appstreamcli.c:69 +msgid "Make request without any caching." +msgstr "Faz uma requisição sem qualquer cache." + +#. TRANSLATORS: ascli flag description for: --format +#: tools/appstreamcli.c:85 +msgid "Default metadata format (valid values are 'xml' and 'yaml')." +msgstr "Formato de metadados padrão (valores válidos são “xml” e “yaml”)." + +#. TRANSLATORS: ascli flag description for: --details +#: tools/appstreamcli.c:100 +msgid "Print detailed output about found components." +msgstr "Imprimir saída detalhada sobre os componentes encontrados." + +#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) +#: tools/appstreamcli.c:118 +msgid "Also show pedantic hints." +msgstr "Mostrar também dicas redundantes." + +#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) +#: tools/appstreamcli.c:123 +msgid "Print detailed explanation for found issues." +msgstr "Imprimir explicação detalhada para os problemas encontrados." + +#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) +#: tools/appstreamcli.c:128 +msgid "Do not use network access." +msgstr "Não usa acesso de rede." + +#. TRANSLATORS: ascli flag description for: --format when validating XML files +#: tools/appstreamcli.c:133 +msgid "Format of the generated report (valid values are 'text' and 'yaml')." +msgstr "O formato do relatório gerado (os valores válidos são 'xml' e 'yaml')." + +#. TRANSLATORS: This is the header to the --help menu for subcommands +#. TRANSLATORS: This is the header to the --help menu +#: tools/appstreamcli.c:153 tools/appstreamcli.c:981 +msgid "AppStream command-line interface" +msgstr "Interface da linha de comandos do AppStream" + +#: tools/appstreamcli.c:156 +#, c-format +msgid "'%s' command" +msgstr "Comando '%s'" + +#. TRANSLATORS: An unknown option was passed to appstreamcli. +#: tools/appstreamcli.c:191 #, c-format -msgid "The TYPE must be a valid component-type, such as: %s" -msgstr "O TIPO deve ser um component-type válido, como: %s" +msgid "Option '%s' is unknown." +msgstr "A opção \"%s\" é desconhecida." -#: src/as-validator-issue-tag.h:547 -msgid "The XML of this file is malformed." +#: tools/appstreamcli.c:195 tools/appstreamcli.c:1207 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options." msgstr "" +"Execute \"%s --help\" para ver uma lista completa das opções da linha de " +"comandos disponíveis." -#: src/as-validator-issue-tag.h:584 +#: tools/appstreamcli.c:197 +#, c-format msgid "" -"The category defined in the .desktop file is not valid. Refer to the XDG " -"Menu Specification for a list of valid categories." +"Run '%s --help' to see a list of available commands and options, and '%s %s " +"--help' to see a list of options specific for this subcommand." msgstr "" +"Execute \"%s --help\" para ver uma lista das opções e de comandos " +"disponíveis, e '%s %s --help' para ver uma lista de opções específica para " +"este sub-comando." -#: src/as-validator-issue-tag.h:532 -msgid "" -"The category name is not valid. Refer to the XDG Menu Specification for a " -"list of valid category names." -msgstr "" +#. TRANSLATORS: ascli flag description for: --force +#: tools/appstreamcli.c:245 +msgid "Enforce a cache refresh." +msgstr "Forçar a atualização da cache." -#: src/as-validator-issue-tag.h:124 -msgid "" -"The component ID contains a hyphen/minus. Using a hyphen is strongly " -"discouraged, to improve interoperability with other tools such as D-Bus. A " -"good option is to replace any hyphens with underscores ('_')." +#. TRANSLATORS: ascli flag description for: --user +#: tools/appstreamcli.c:251 +msgid "Update the user-specific instead of the system-wide cache." msgstr "" +"Atualiza o cache específico do utilizador em vez do cache em todo o sistema." -#: src/as-validator-issue-tag.h:130 -msgid "" -"The component ID contains a segment starting with a number. Starting a " -"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " -"interoperability with other tools such as D-Bus. Ideally, prefix these " -"segments with an underscore." +#. TRANSLATORS: ascli flag description for: --origin (part of the "put" subcommand) +#: tools/appstreamcli.c:477 +msgid "Set the data origin for the installed metadata collection file." msgstr "" +"Define a origem dos dados para o ficheiro de coleção de metadados instalados." -#: src/as-validator-issue-tag.h:119 -msgid "" -"The component ID contains an invalid character. Only ASCII characters, dots " -"and numbers are permitted." -msgstr "" +#. TRANSLATORS: ascli flag description for: --user (part of the "put" subcommand) +#: tools/appstreamcli.c:482 +msgid "Install the file for the current user, instead of globally." +msgstr "Instala o ficheiro para o utilizador atual, em vez de globalmente." -#: src/as-validator-issue-tag.h:106 +#: tools/appstreamcli.c:631 msgid "" -"The component ID is not a reverse domain-name. Please update the ID to avoid " -"future issues and be compatible with all AppStream implementations.\n" -"You may also consider to update the name of the accompanying .desktop file " -"to follow the latest version of the Desktop-Entry specification and use a " -"rDNS name for it as well. In any case, do not forget to mention the new " -"desktop-entry in a tag for this component to keep the " -"application launchable from software centers and the .desktop file data " -"associated with the metainfo data." +"You need to provide at least two version numbers to compare as parameters." msgstr "" +"Tem de fornecer pelo menos dois números de versão para comparar como " +"parâmetros." -#: src/as-validator-issue-tag.h:101 +#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. +#: tools/appstreamcli.c:660 +#, c-format +msgid "Unknown compare relation '%s'. Valid values are:" +msgstr "Relação de comparação desconhecida \"%s\". Os valores válidos são:" + +#: tools/appstreamcli.c:700 msgid "" -"The component ID is required to follow a reverse domain-name scheme for its " -"name. See the AppStream specification for details." +"Too many parameters: Need two version numbers or version numbers and a " +"comparison operator." msgstr "" +"Demasiados parâmetros: são necessários dois números de versão, ou números de " +"versão e um operador de comparação." -#: src/as-validator-issue-tag.h:114 +#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) +#: tools/appstreamcli.c:726 msgid "" -"The component ID might not follow the reverse domain-name schema (the TLD " -"used by it is not known to the validator)." +"Use the given .desktop file to fill in the basic values of the metainfo file." msgstr "" +"Usa o ficheiro .desktop dado para preencher valores básicos no ficheiro " +"metainfo." -#: src/as-validator-issue-tag.h:293 +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand +#: tools/appstreamcli.c:731 msgid "" -"The component has a 'merge' method defined. This is not allowed in metainfo " -"files." +"This command takes optional TYPE and FILE positional arguments, FILE being a " +"file to write to (or \"-\" for standard output)." msgstr "" +"Este comando toma os argumentos posicionais e opcionais TIPO e FICHEIRO, " +"ARQUIVO a ser um ficheiro para escrever (ou “-” para a saída padrão)." -#: src/as-validator-issue-tag.h:288 -msgid "" -"The component has a priority value set. This is not allowed in metainfo " -"files." +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows +#: tools/appstreamcli.c:734 +#, c-format +msgid "The TYPE must be a valid component-type, such as: %s" +msgstr "O TIPO deve ser um component-type válido, como: %s" + +#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) +#: tools/appstreamcli.c:775 +msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." msgstr "" +"Usa a linha especificada para a chave “Exec=” do ficheiro de entrada de " +"desktop." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:503 -msgid "The component is an addon, but no 'extends' tag was specified." +#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command +#: tools/appstreamcli.c:815 +msgid "Assume the input file is in the selected format ('yaml' or 'text')." msgstr "" +"Presuma que o ficheiro de entrada está no formato selecionado ('yaml' ou " +"'text')." -#: src/as-validator-issue-tag.h:440 +#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command +#: tools/appstreamcli.c:820 msgid "" -"The component is missing a long description. Components of this type must " -"have a long description." +"Limit the number of release entries that end up in the metainfo file (0 for " +"unlimited)." msgstr "" +"Limita a quantidade de entradas de lançamento que acabam de aparecer no " +"ficheiro metainfo (0 para sem limite)." -#: src/as-validator-issue-tag.h:303 -msgid "The component is missing a name ( tag)." -msgstr "" +#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command +#: tools/appstreamcli.c:862 +msgid "Generate the output in the selected format ('yaml' or 'text')." +msgstr "Gera a saída no formato selecionado (“yaml” ou “text”)." -#: src/as-validator-issue-tag.h:308 -msgid "The component is missing a summary ( tag)." +#: tools/appstreamcli.c:894 +#, c-format +msgid "Compose binary '%s' was not found! Can not continue." msgstr "" -#: src/as-validator-issue-tag.h:298 -msgid "The component is missing an ID ( tag)." -msgstr "" +#. TRANSLATORS: this is a (usually shorter) command alias, shown after the command summary text +#: tools/appstreamcli.c:956 +#, c-format +msgid "(Alias: '%s')" +msgstr "(Alias: \"%s\")" -#: src/as-validator-issue-tag.h:136 -msgid "" -"The component is part of the Freedesktop project, but its ID does not start " -"with fd.o's reverse-DNS name (\"org.freedesktop\")." -msgstr "" +#. these are commands we can use with appstreamcli +#: tools/appstreamcli.c:983 +msgid "Subcommands:" +msgstr "Sub-comandos:" -#: src/as-validator-issue-tag.h:146 +#: tools/appstreamcli.c:1029 msgid "" -"The component is part of the GNOME project, but its ID does not start with " -"GNOMEs reverse-DNS name (\"org.gnome\")." +"You can find information about subcommand-specific options by passing \"--" +"help\" to the subcommand." msgstr "" +"Pode encontrar informações sobre opções de um sub-comando específico " +"passando “--help” para o sub-comando." -#: src/as-validator-issue-tag.h:141 +#. TRANSLATORS: ascli has been run with unknown command. '%s --help' is the command to receive help and should not be translated. +#: tools/appstreamcli.c:1052 +#, c-format msgid "" -"The component is part of the KDE project, but its ID does not start with " -"KDEs reverse-DNS name (\"org.kde\")." +"Command '%s' is unknown. Run '%s --help' for a list of available commands." msgstr "" +"O comando '%s' é desconhecido. Execute '%s --help' para ver uma lista dos " +"comandos disponíveis." -#: src/as-validator-issue-tag.h:323 -msgid "The component name should (likely) not end with a dot ('.')." -msgstr "" +#. TRANSLATORS: ascli flag description for: --verbose +#: tools/appstreamcli.c:1082 +msgid "Show extra debugging information." +msgstr "Mostrar informações extras de depuração." -#: src/as-validator-issue-tag.h:333 -msgid "The component summary must not contain tabs or linebreaks." -msgstr "" +#. TRANSLATORS: ascli flag description for: --profile +#: tools/appstreamcli.c:1090 +msgid "Enable profiling" +msgstr "Ativa perfil" -#: src/as-validator-issue-tag.h:328 -msgid "The component summary should not end with a dot ('.')." -msgstr "" +#. TRANSLATORS: `appstreamcli search` command description. +#: tools/appstreamcli.c:1102 +msgid "Search the component database." +msgstr "Pesquisa na base de dados de componente." -#: src/as-validator-issue-tag.h:243 -msgid "" -"The default screenshot of a software component must not be a video. Use a " -"static image as default screenshot and set the video as a secondary " -"screenshot." -msgstr "" +#. TRANSLATORS: `appstreamcli get` command description. +#: tools/appstreamcli.c:1107 +msgid "Get information about a component by its ID." +msgstr "Obtém informação sobre um componente através do seu identificador." -#: src/as-validator-issue-tag.h:86 +#. TRANSLATORS: `appstreamcli what-provides` command description. +#: tools/appstreamcli.c:1112 msgid "" -"The description contains a web URL in plain text. This is not allowed, " -"please use the tag instead to share links." +"Get components which provide the given item. Needs an item type (e.g. lib, " +"bin, python3, …) and item value as parameter." msgstr "" +"Obtém componentes que forneçam o item dado. Precisa de um tipo de item (por " +"exemplo, lib, bin, python3, ...) e valor do item como parâmetro." -#: src/as-validator.c:152 -msgid "" -"The emitted issue tag is unknown in the tag registry of AppStream. This is a " -"bug in the validator itself, please report this issue in our bugtracker." +#. TRANSLATORS: `appstreamcli dump` command description. +#: tools/appstreamcli.c:1118 +msgid "Dump raw XML metadata for a component matching the ID." msgstr "" +"Despejar metadados XML não tratados para um componente coincidindo com o " +"identificador (ID)." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:435 -msgid "" -"The essential tag 'metadata_license' is missing. A license for the metadata " -"itself always has to be defined." -msgstr "" +#. TRANSLATORS: `appstreamcli refresh-cache` command description. +#: tools/appstreamcli.c:1123 +msgid "Rebuild the component metadata cache." +msgstr "Reconstruir a cache de metadados de componentes." -#: src/as-validator-issue-tag.h:79 -msgid "" -"The first 'description/p' paragraph of this component might be too short (< " -"80 characters). Please consider starting with a longer paragraph to improve " -"how the description looks like in software centers and to provide more " -"detailed information on this component immediately in the first paragraph." -msgstr "" +#. TRANSLATORS: `appstreamcli validate` command description. +#: tools/appstreamcli.c:1129 +msgid "Validate AppStream XML files for issues." +msgstr "Valida os ficheiros XML de AppStream por problemas." -#: src/as-validator-issue-tag.h:156 -msgid "" -"The license ID was not found in the SPDX database. Please check that the " -"license ID is written in an SPDX-conformant way and is a valid free software " -"license." +#. TRANSLATORS: `appstreamcli validate-tree` command description. +#: tools/appstreamcli.c:1134 +msgid "Validate an installed file-tree of an application for valid metadata." msgstr "" +"Valida uma árvore de ficheiros instalada de uma aplicação para metadados " +"válidos." -#: src/as-validator-issue-tag.h:96 -msgid "" -"The mentioned tag is empty, which is highly likely not intended as it should " -"have content." +#. TRANSLATORS: `appstreamcli install` command description. +#: tools/appstreamcli.c:1140 +msgid "Install software matching the component-ID." msgstr "" +"Instala software correspondente ao component-ID (identificador de " +"componente)." -#: src/as-validator-issue-tag.h:168 -msgid "" -"The metadata itself does not seem to be licensed under a permissive license. " -"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " -"0BSD to allow distributors to include it in mixed data collections without " -"the risk of license violations due to mutually incompatible licenses." -msgstr "" +#. TRANSLATORS: `appstreamcli remove` command description. +#: tools/appstreamcli.c:1145 +msgid "Remove software matching the component-ID." +msgstr "Remove software correspondendo ao component-ID." -#: src/as-validator-issue-tag.h:162 -msgid "" -"The metadata itself seems to be licensed under a complex collection of " -"licenses. Please license the data under a simple permissive license, like " -"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " -"collections without the risk of license violations due to mutually " -"incompatible licenses." -msgstr "" +#. TRANSLATORS: `appstreamcli status` command description. +#: tools/appstreamcli.c:1151 +msgid "Display status information about available AppStream metadata." +msgstr "Mostrar informações sobre metadados disponíveis do AppStream." -#: src/as-validator-issue-tag.h:599 +#. TRANSLATORS: `appstreamcli os-info` command description. +#: tools/appstreamcli.c:1156 msgid "" -"The metainfo file is stored in a legacy path. Please place it in '/usr/share/" -"metainfo'." +"Show information about the current operating system from the metadata index." msgstr "" +"Mostra informações sobre o sistema operacional atual a partir do índice de " +"metadados." -#: src/as-validator-issue-tag.h:604 -msgid "The metainfo file specifies multiple components. This is not allowed." -msgstr "" +#. TRANSLATORS: `appstreamcli put` command description. +#: tools/appstreamcli.c:1161 +msgid "Install a metadata file into the right location." +msgstr "Instala um ficheiro de metadados na localização certa." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:559 -msgid "" -"The metainfo file uses an ancient version of the AppStream specification, " -"which can not be validated. Please migrate it to version 0.6 (or higher)." -msgstr "" +#. TRANSLATORS: `appstreamcli convert` command description. "Collection XML" is a term describing a specific type of AppStream XML data. +#: tools/appstreamcli.c:1166 +msgid "Convert collection XML to YAML or vice versa." +msgstr "Converter XML para YAML ou vice-versa." -#: src/as-validator-issue-tag.h:569 -#, fuzzy -msgid "The metainfo filename does not match the component ID." -msgstr "Remove software correspondendo ao component-ID." +#. TRANSLATORS: `appstreamcli vercmp` command description. +#: tools/appstreamcli.c:1171 +msgid "Compare two version numbers." +msgstr "Compara dois números de versões." -#: src/as-validator-issue-tag.h:609 +#. TRANSLATORS: `appstreamcli new-template` command description. +#: tools/appstreamcli.c:1177 msgid "" -"The releases are not sorted in a latest to oldest version order. This is " -"required as some tools will assume that the latest version is always at the " -"top. Sorting releases also increases overall readability of the metainfo " -"file." +"Create a template for a metainfo file (to be filled out by the upstream " +"project)." msgstr "" +"Cria um modelo para um ficheiro metainfo (a ser preenchido pelo projeto " +"upstream)." -#: src/as-validator-issue-tag.h:537 -msgid "The screenshot caption is too long (should be <= 80 characters)" +#. TRANSLATORS: `appstreamcli make-desktop-file` command description. +#: tools/appstreamcli.c:1182 +msgid "Create a desktop-entry file from a metainfo file." msgstr "" +"Crie um ficheiro de entrada de \"desktop\" a partir de um ficheiro metainfo." -#: src/as-validator-issue-tag.h:206 -msgid "The screenshot does not have a caption text. Consider adding one." -msgstr "" +#. TRANSLATORS: `appstreamcli news-to-metainfo` command description. +#: tools/appstreamcli.c:1187 +msgid "Convert a YAML or text NEWS file into metainfo releases." +msgstr "Converte um ficheiro YAML ou NEWS de textos em lançamento de metainfo." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:218 -msgid "" -"The screenshot video does not specify which container format was used in a " -"'container' property." +#. TRANSLATORS: `appstreamcli metainfo-to-news` command description. +#: tools/appstreamcli.c:1192 +msgid "Write NEWS text or YAML file with information from a metainfo file." msgstr "" +"Escreve ficheiro de textos NEWS ou YAML com info de um ficheiro metainfo." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:212 -msgid "" -"The screenshot video does not specify which video codec was used in a " -"'codec' property." +#. TRANSLATORS: `appstreamcli compose` command description. +#: tools/appstreamcli.c:1198 +#, fuzzy +msgid "Compose AppStream collection metadata from directory trees." msgstr "" +"Nenhum metadado do AppStream foi encontrado neste diretório ou árvore de " +"diretórios." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:224 -msgid "" -"The selected video codec is not supported by AppStream and software centers " -"may not be able to play the video. Only the AV1 and VP9 codecs are currently " -"supported, using 'av1' and 'vp9' as values for the 'codec' property." -msgstr "" +#. TRANSLATORS: ascli has been run without command. +#: tools/appstreamcli.c:1206 +msgid "You need to specify a command." +msgstr "Tem de especificar um comando." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:231 -msgid "" -"The selected video container format is not supported by AppStream and " -"software centers may not be able to play the video. Only the WebM and " -"Matroska video containers are currently supported, using 'webm' and 'mkv' as " -"values for the 'container' property." +#. TRANSLATORS: In ascli: The requested action needs higher permissions. +#: tools/ascli-actions-mdata.c:70 +msgid "You might need superuser permissions to perform this action." msgstr "" +"Pode precisar de permissões de super-utilizador para realizar esta ação." + +#. we performed a cache refresh +#. TRANSLATORS: Updating the metadata cache succeeded +#: tools/ascli-actions-mdata.c:80 +msgid "AppStream cache update completed successfully." +msgstr "Atualização da cache do AppStream terminada com sucesso." + +#. cache wasn't updated, so the update wasn't necessary +#: tools/ascli-actions-mdata.c:86 +msgid "AppStream cache update is not necessary." +msgstr "A atualização da cache do AppStream não é necessária." + +#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments +#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. +#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:253 +#: tools/ascli-actions-pkgmgr.c:80 +msgid "You need to specify a component-ID." +msgstr "Tem de especificar um identificador de componente." -#: src/as-validator-issue-tag.h:283 -#, fuzzy -msgid "" -"The set component type is not a recognized, valid AppStream component type." +#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:265 +#: tools/ascli-actions-pkgmgr.c:93 +#, c-format +msgid "Unable to find component with ID '%s'!" msgstr "" -"O tipo de componente de software “%s” não é válido no AppStream. Os valores " -"possíveis são:" +"Não foi possível encontrar o componente com o identificador (ID) \"%s\"!" -#: src/as-validator-issue-tag.h:398 -msgid "" -"The set value is not an identifier for a desktop environment as registered " -"with Freedesktop.org." -msgstr "" +#: tools/ascli-actions-mdata.c:164 +msgid "You need to specify a term to search for." +msgstr "Tem de especificar um termo a procurar." -#: tools/ascli-actions-mdata.c:449 +#. TRANSLATORS: We failed to find any component in the database, likely due to an error +#: tools/ascli-actions-mdata.c:177 #, c-format -msgid "" -"The software component type '%s' is not valid in AppStream. Possible values " -"are:" -msgstr "" -"O tipo de componente de software “%s” não é válido no AppStream. Os valores " -"possíveis são:" +msgid "Unable to find component matching %s!" +msgstr "Não foi possível encontrar o componente correspondente com %s!" -#: src/as-validator-issue-tag.h:338 -msgid "The summary must not contain any URL. Use the tags for links." -msgstr "" +#: tools/ascli-actions-mdata.c:182 +#, c-format +msgid "No component matching '%s' found." +msgstr "Sem correspondência para \"%s\"." -#: src/as-validator-issue-tag.h:640 -msgid "" -"The type of the item that the component provides is not known to AppStream." -msgstr "" +#: tools/ascli-actions-mdata.c:206 +msgid "No value for the item to search for was defined." +msgstr "Não foi definido nenhum valor para o item a ser pesquisado." -#: src/as-validator-issue-tag.h:174 -msgid "" -"The update-contact does not appear to be a valid email address (escaping of " -"'@' is only allowed as '_at_' or '_AT_')." -msgstr "" +#: tools/ascli-actions-mdata.c:212 +msgid "Invalid type for provided item selected. Valid values are:" +msgstr "Foi selecionado um item de tipo inválido. Os valores válidos são:" -#: tools/ascli-actions-validate.c:363 tools/ascli-actions-validate.c:492 +#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results +#: tools/ascli-actions-mdata.c:227 #, c-format -msgid "" -"The validator can not create reports in the '%s' format. You may select " -"'yaml' or 'text' instead." -msgstr "" +msgid "Could not find component providing '%s::%s'." +msgstr "Não foi possível encontrar o componente com o identificador '%s::%s'." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:410 -msgid "This 'bundle' tag has an unknown type and can not be used." -msgstr "" +#: tools/ascli-actions-mdata.c:306 +msgid "You need to specify a metadata file." +msgstr "Tem de especificar um ficheiro de metadados." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:404 -msgid "This 'launchable' tag has an unknown type and can not be used." -msgstr "" +#: tools/ascli-actions-mdata.c:320 +#, c-format +msgid "Unable to install metadata file: %s" +msgstr "Não é possível instalar o ficheiro de metadados: %s" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:515 -msgid "" -"This 'localization' component does not define any languages this " -"localization is for." -msgstr "" +#: tools/ascli-actions-mdata.c:340 +msgid "You need to specify an input and output file." +msgstr "Tem de especificar um ficheiro de entrada e saída." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:509 -msgid "" -"This 'localization' component is missing an 'extends' tag, to specify the " -"components it adds localization to." -msgstr "" +#: tools/ascli-actions-mdata.c:347 +#, c-format +msgid "Metadata file '%s' does not exist." +msgstr "Ficheiro de metadados “%s” não existe." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:521 +#. TRANSLATORS: User is trying to convert a file in ascli +#: tools/ascli-actions-mdata.c:387 msgid "" -"This 'service' component is missing a 'launchable' tag of type 'service'." +"Unable to convert file: Could not determine output format, please set it " +"explicitly using '--format='." msgstr "" +"Erro ao converter ficheiro: não foi possível determinar o formato de saída, " +"por favor, defina o formato explicitamente, utilizando “--format=”." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:473 -msgid "" -"This 'web-application' component is missing a 'icon' tag to specify a valid " -"icon." -msgstr "" +#: tools/ascli-actions-mdata.c:438 +#, c-format +msgid "Unable to find operating system component '%s'!" +msgstr "Não é possível encontrar o componente do sistema operativo '%s'!" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:467 -msgid "" -"This 'web-application' component is missing a 'launchable' tag of type 'url'." -msgstr "" +#: tools/ascli-actions-mdata.c:443 +msgid "Version" +msgstr "Versão" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:479 +#: tools/ascli-actions-mdata.c:467 msgid "" -"This 'web-application' component is missing categorizations. A 'categories' " -"block is likely missing." +"You need to give an AppStream software component type to generate a " +"template. Possible values are:" msgstr "" +"Tem de fornecer um tipo de componente de software de AppStream para gerar um " +"modelo. Os valores possíveis são:" -#: src/as-validator-issue-tag.h:564 +#: tools/ascli-actions-mdata.c:469 +#, c-format msgid "" -"This XML document has an unknown root tag. Maybe this file is not a metainfo " -"document?" +"The software component type '%s' is not valid in AppStream. Possible values " +"are:" msgstr "" +"O tipo de componente de software “%s” não é válido no AppStream. Os valores " +"possíveis são:" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand -#: tools/appstream-cli.c:680 -msgid "" -"This command takes optional TYPE and FILE positional arguments, FILE being a " -"file to write to (or \"-\" for standard output)." -msgstr "" -"Este comando toma os argumentos posicionais e opcionais TIPO e FICHEIRO, " -"FICHEIRO; este último é um ficheiro para escrever (ou “-” para a saída " -"padrão)." +#: tools/ascli-actions-mdata.c:487 +#, c-format +msgid "The .desktop file '%s' does not exist." +msgstr "O ficheiro .desktop '%s' não existe." -#: src/as-validator-issue-tag.h:622 -msgid "" -"This component extends, provides, requires or recommends itself, which is " -"certainly not intended and may confuse users or machines dealing with this " -"metadata." -msgstr "" +#: tools/ascli-actions-mdata.c:493 +#, c-format +msgid "Unable to read the .desktop file: %s" +msgstr "Não foi possível ler o ficheiro .desktop: %s" -#: src/as-validator-issue-tag.h:579 -msgid "This component metadata refers to a non-existing .desktop file." -msgstr "" +#: tools/ascli-actions-mdata.c:564 +#, c-format +msgid "Unable to build the template metainfo file: %s" +msgstr "Não foi possível construir o ficheiro de modelo metainfo: %s" -#: src/as-validator-issue-tag.h:69 -msgid "" -"This description paragraph contains invalid markup. Currently, only " -"and are permitted." -msgstr "" +#: tools/ascli-actions-mdata.c:572 +#, c-format +msgid "Unable to save the template metainfo file: %s" +msgstr "Não foi possível guardar o ficheiro de modelo metainfo: %s" -#: src/as-validator-issue-tag.h:57 -msgid "" -"This element (paragraph, list, etc.) of a tag must not be " -"localized individually in collection metadata. Localize the whole " -" tag instead. The AppStream collection metadata generator (e." -"g. `appstream-generator`) will already do the right thing when compiling the " -"data." -msgstr "" +#. TRANSLATORS: In the status report of ascli: Header +#: tools/ascli-actions-misc.c:47 +msgid "AppStream Status:" +msgstr "Estado do AppStream:" -#: src/as-validator-issue-tag.h:455 -msgid "" -"This generic component is missing a long description. It may be useful to " -"add one." -msgstr "" +#: tools/ascli-actions-misc.c:48 +#, c-format +msgid "Version: %s" +msgstr "Versão: %s" -#: src/as-validator-issue-tag.h:421 -msgid "" -"This tag is a GNOME-specific extension to AppStream and not part of the " -"official specification. Do not expect it to work in all implementations and " -"in all software centers." -msgstr "" +#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions +#: tools/ascli-actions-misc.c:52 +msgid "Distribution metadata:" +msgstr "Metadados de distribuição:" -#: src/as-validator-issue-tag.h:41 -msgid "This tag requires a type property." -msgstr "" +#: tools/ascli-actions-misc.c:94 +msgid "Iconsets" +msgstr "Conjunto de ícones" -#: data/org.freedesktop.appstream.cli.metainfo.xml:15 -msgid "" -"This tool allows for reading, writing, validating and transformation of " -"AppStream XML or YAML metadata. It also gives access to the system metadata " -"pool, for example to query for software that provides a specific MIME-type, " -"and installing it by its software component identifier." -msgstr "" -"Esta ferramenta permite ler, escrever, validar e transformar metadados " -"AppStream em XML ou YAML. Também permite acessar o grupo de metadados do " -"sistema para, por exemplo, consultar por um software fornecendo um tipo MIME " -"específico e instalá-lo usando o identificador de componente do seu software." +#: tools/ascli-actions-misc.c:105 +msgid "No icons." +msgstr "Sem ícones." -#: src/as-validator-issue-tag.h:388 -msgid "" -"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." -msgstr "" +#. TRANSLATORS: No metainfo files have been found +#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 +msgid "Empty." +msgstr "Vazio." -#: tools/appstream-cli.c:648 -msgid "" -"Too many parameters: Need two version numbers or version numbers and a " -"comparison operator." -msgstr "" -"Demasiados parâmetros: são necessários dois números de versão, ou números de " -"versão e um operador de comparação." +#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report +#: tools/ascli-actions-misc.c:116 +msgid "Metainfo files:" +msgstr "Ficheiros de metainfo:" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:461 -msgid "" -"Type 'console-application' component, but no information about binaries in " -"$PATH was provided via a 'provides/binary' tag." -msgstr "" +#: tools/ascli-actions-misc.c:123 +#, c-format +msgid "Found %i components." +msgstr "Encontrados %i componentes." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:491 -msgid "" -"Type 'driver' component, but no modalias information was provided via a " -"provides/modalias tag." -msgstr "" +#. TRANSLATORS: Found metainfo files in legacy directories +#: tools/ascli-actions-misc.c:138 +#, c-format +msgid "Found %i components in legacy paths." +msgstr "Encontrados %i componentes em caminhos antigos." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:485 -msgid "" -"Type 'font' component, but no font information was provided via a 'provides/" -"font' tag." -msgstr "" +#. TRANSLATORS: Status summary in ascli +#: tools/ascli-actions-misc.c:145 +msgid "Summary:" +msgstr "Resumo:" -#: src/as-validator.c:333 -msgid "URL format is invalid." -msgstr "" +#: tools/ascli-actions-misc.c:153 +#, c-format +msgid "We have information on %i software components." +msgstr "Temos informação sobre %i componentes de software." -#: tools/ascli-actions-mdata.c:544 +#: tools/ascli-actions-misc.c:159 #, c-format -msgid "Unable to build the template metainfo file: %s" -msgstr "Não foi possível construir o ficheiro de modelo metainfo: %s" +msgid "Error while loading the metadata pool: %s" +msgstr "Erro ao carregar o grupo de metadados: %s" -#. TRANSLATORS: User is trying to convert a file in ascli -#: tools/ascli-actions-mdata.c:400 +#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 +msgid "You need to specify a metainfo file as input." +msgstr "Tem de especificar um ficheiro de \"metainfo\" como entrada." + +#: tools/ascli-actions-misc.c:188 msgid "" -"Unable to convert file: Could not determine output format, please set it " -"explicitly using '--format='." +"You need to specify a desktop-entry file to create or augment as output." msgstr "" -"Erro ao converter ficheiro: não foi possível determinar o formato de saída, " -"por favor, defina o formato explicitamente, utilizando “--format=”." +"Tem de especificar um ficheiro de entrada desktop para criar ou acrescentar " +"como saída." -#. TRANSLATORS: We failed to find any component in the database, likely due to an error -#: tools/ascli-actions-mdata.c:177 +#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 +#: tools/ascli-actions-misc.c:515 #, c-format -msgid "Unable to find component matching %s!" -msgstr "Não foi possível encontrar o componente correspondente com %s!" +msgid "Metainfo file '%s' does not exist." +msgstr "O ficheiro de \"metainfo\" '%s' não existe." -#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:266 -#: tools/ascli-actions-pkgmgr.c:93 +#: tools/ascli-actions-misc.c:219 #, c-format -msgid "Unable to find component with ID '%s'!" +msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." msgstr "" -"Não foi possível encontrar o componente com o identificador (ID) \"%s\"!" +"Aumentando o ficheiro de entrada de desktop existente “%s” com dados de “%s”." #: tools/ascli-actions-misc.c:224 -#, fuzzy, c-format +#, c-format msgid "Unable to load existing desktop-entry file template: %s" -msgstr "Não foi possível ler o ficheiro .desktop: %s" - -#: src/as-validator-issue-tag.h:356 -msgid "Unable to reach remote icon at the given web location - does it exist?" -msgstr "" +msgstr "Não é possível carregar o modelo de ficheiro de entrada desktop: %s" -#: src/as-validator-issue-tag.h:378 -msgid "" -"Unable to reach remote location that this URL references - does it exist?" -msgstr "" +#: tools/ascli-actions-misc.c:228 +#, c-format +msgid "Creating new desktop-entry file '%s' using data from '%s'" +msgstr "Criando novo ficheiro de entrada de desktop “%s” usando dados de “%s”" -#: src/as-validator-issue-tag.h:179 -msgid "" -"Unable to reach the screenshot image on its remote location - does the image " -"exist?" +#: tools/ascli-actions-misc.c:284 +msgid "No stock icon name was provided in the metainfo file. Can not continue." msgstr "" +"Nenhum nome de ícone padrão foi fornecido no ficheiro metainfo. Não é " +"possível continuar." -#: src/as-validator-issue-tag.h:184 +#: tools/ascli-actions-misc.c:306 msgid "" -"Unable to reach the screenshot video on its remote location - does the video " -"file exist?" +"No provided binary specified in metainfo file, and no exec command specified " +"via '--exec'. Can not create 'Exec=' key." msgstr "" +"Nenhum binário fornecido especificado no ficheiro metainfo e nenhum comando " +"exec especificado via “--exec”. Não é possível criar a chave “Exec=”." -#: src/as-validator-issue-tag.h:542 -#, fuzzy -msgid "Unable to read file." -msgstr "Não foi possível remover cache antiga." +#: tools/ascli-actions-misc.c:370 +#, c-format +msgid "Unable to save desktop entry file: %s" +msgstr "Não é possível guardar o ficheiro de entrada desktop: %s" -#: src/as-validator-issue-tag.h:574 -#, fuzzy -msgid "Unable to read the .desktop file associated with this component." -msgstr "Não foi possível ler o ficheiro .desktop: %s" +#: tools/ascli-actions-misc.c:393 +msgid "You need to specify a NEWS file as input." +msgstr "Tem de especificar um ficheiro de NOTÍCIAS como entrada." -#: tools/ascli-actions-mdata.c:473 -#, c-format -msgid "Unable to read the .desktop file: %s" -msgstr "Não foi possível ler o ficheiro .desktop: %s" +#: tools/ascli-actions-misc.c:397 +msgid "" +"You need to specify a metainfo file to augment, or '-' to print to stdout." +msgstr "" +"Tem de especificar um ficheiro de \"metainfo\" para adicionar, ou '-' para " +"imprimir para stdout." -#: src/as-pool.c:606 -msgid "Unable to remove old cache." -msgstr "Não foi possível remover cache antiga." +#: tools/ascli-actions-misc.c:402 +msgid "No output filename specified, modifying metainfo file directly." +msgstr "" +"Nenhum nome de ficheiro de saída especificado, modificando o ficheiro " +"metainfo diretamente." -#: tools/ascli-actions-misc.c:370 -#, fuzzy, c-format -msgid "Unable to save desktop entry file: %s" -msgstr "Não foi possível ler o ficheiro .desktop: %s" +#: tools/ascli-actions-misc.c:509 +msgid "You need to specify a NEWS file as output, or '-' to print to stdout." +msgstr "" +"Tem de especificar um ficheiro de NOTÍCIAS como saída, ou '-' para imprimir " +"para stdout." -#: tools/ascli-actions-mdata.c:552 -#, c-format -msgid "Unable to save the template metainfo file: %s" -msgstr "Não foi possível guardar o ficheiro de modelo metainfo: %s" +#: tools/ascli-actions-misc.c:540 +msgid "You need to specify a NEWS format to write the output in." +msgstr "Tem de especificar um ficheiro de NOTÍCIAS para gravar a saída." + +#: tools/ascli-actions-pkgmgr.c:53 +msgid "" +"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" +"\" (part of PackageKit) is available." +msgstr "" +"Não foi encontrado nenhum gestor de pacotes CLI adequado. Por favor, " +"certifique-se que está disponível por exemplo “pkcon” (parte de PackageKit)." #: tools/ascli-actions-pkgmgr.c:67 #, c-format msgid "Unable to spawn package manager: %s" msgstr "Não foi possível iniciar o gestor de pacotes: %s" -#: tools/ascli-actions-mdata.c:322 +#. TRANSLATORS: We found no distribution package or bundle to install to make this software available +#: tools/ascli-actions-pkgmgr.c:106 #, c-format -msgid "Unable to write to '%s', can not install metainfo file." -msgstr "" -"Não foi possível escrever em “%s”, não foi possível instalar ficheiro de " -"metainfo." +msgid "Component '%s' has no installation candidate." +msgstr "O componente “%s” não tem nenhum candidato a instalação." -#. TRANSLATORS: ascli has been run with unknown command. -#: tools/appstream-cli.c:1009 +#: tools/ascli-actions-validate.c:176 tools/ascli-actions-validate.c:354 #, c-format -msgid "Unknown command '%s'." -msgstr "Comando desconhecido “%s”." +msgid "File '%s' does not exist." +msgstr "O ficheiro '%s' não existe." -#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. -#: tools/appstream-cli.c:608 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "error"-type hints +#: tools/ascli-actions-validate.c:228 #, c-format -msgid "Unknown compare relation '%s'. Valid values are:" -msgstr "Relação de comparação desconhecida \"%s\". Os valores válidos são:" - -#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) -#: tools/appstream-cli.c:675 -msgid "" -"Use the given .desktop file to fill in the basic values of the metainfo file." -msgstr "" -"Usa o ficheiro .desktop dado para preencher valores básicos no ficheiro " -"metainfo." - -#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) -#: tools/appstream-cli.c:725 -msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." -msgstr "" - -#. TRANSLATORS: this is the menu spec main category for Utilities -#: src/as-category.c:329 -msgid "Utilities" -msgstr "Utilitários" +msgid "errors: %lu" +msgstr "erros: %lu" -#: tools/appstream-cli.c:856 -msgid "Validate AppStream XML files for issues." -msgstr "Valida os ficheiros XML de AppStream por problemas." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "warning"-type hints +#: tools/ascli-actions-validate.c:235 +#, c-format +msgid "warnings: %lu" +msgstr "avisos: %lu" -#: tools/appstream-cli.c:857 -msgid "Validate an installed file-tree of an application for valid metadata." -msgstr "" -"Valida uma árvore de ficheiros instalada de uma aplicação para metadados " -"válidos." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "info"-type hints +#: tools/ascli-actions-validate.c:242 +#, c-format +msgid "infos: %lu" +msgstr "infos: %lu" -#: tools/ascli-actions-validate.c:301 tools/ascli-actions-validate.c:442 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "pedantic"-type hints +#: tools/ascli-actions-validate.c:249 #, c-format -msgid "Validation failed: %s" -msgstr "A validação falhou: %s" +msgid "pedantic: %lu" +msgstr "redundante: %lu" -#: tools/ascli-actions-validate.c:289 tools/ascli-actions-validate.c:430 +#: tools/ascli-actions-validate.c:268 tools/ascli-actions-validate.c:342 +msgid "You need to specify at least one file to validate!" +msgstr "Tem de especificar pelo menos um ficheiro para validar!" + +#: tools/ascli-actions-validate.c:294 tools/ascli-actions-validate.c:435 msgid "Validation was successful." msgstr "A validação foi bem sucedida." -#: tools/ascli-actions-validate.c:291 tools/ascli-actions-validate.c:432 +#: tools/ascli-actions-validate.c:296 tools/ascli-actions-validate.c:437 #, c-format msgid "Validation was successful: %s" msgstr "Validação bem sucedida: %s" -#: tools/appstream-cli.c:851 -msgid "Value of the item that should be found." -msgstr "Valor do item que deve ser encontrado." - -#: src/as-category.c:177 -msgctxt "Category of Graphics" -msgid "Vector Graphics" -msgstr "Gráficos vetoriais" - -#: tools/ascli-actions-misc.c:48 +#: tools/ascli-actions-validate.c:306 tools/ascli-actions-validate.c:447 #, c-format -msgid "Version: %s" -msgstr "Versão: %s" - -#: src/as-category.c:180 -msgctxt "Category of Graphics" -msgid "Viewers" -msgstr "Visualizadores" +msgid "Validation failed: %s" +msgstr "A validação falhou: %s" -#: tools/ascli-actions-misc.c:153 +#: tools/ascli-actions-validate.c:368 tools/ascli-actions-validate.c:497 #, c-format -msgid "We have information on %i software components." -msgstr "Temos informação sobre %i componentes de software." - -#: src/as-category.c:270 -msgctxt "Category of Communication" -msgid "Web Browsers" -msgstr "Navegadores da Internet" - -#: src/as-category.c:202 -msgctxt "Category of Office" -msgid "Word Processor" -msgstr "Processador de texto" - -#: tools/appstream-cli.c:871 -msgid "Write NEWS text or YAML file with information from a metainfo file." -msgstr "" - -#: tools/appstream-cli.c:874 msgid "" -"You can find information about subcommand-specific options by passing \"--" -"help\" to the subcommand." +"The validator can not create reports in the '%s' format. You may select " +"'yaml' or 'text' instead." msgstr "" -"Pode encontrar informações sobre opções de um sub-comando específico " -"passando “--help” para o sub-comando." +"O validador não pode criar relatórios no formato “%s”. Pode selecionar " +"“yaml” ou “text” em vez disso." -#. TRANSLATORS: In ascli: The requested action needs higher permissions. -#: tools/ascli-actions-mdata.c:70 -msgid "You might need superuser permissions to perform this action." -msgstr "" -"Pode precisar de permissões de super-utilizador para realizar esta ação." +#: tools/ascli-actions-validate.c:390 tools/ascli-actions-validate.c:484 +msgid "You need to specify a root directory to start validation!" +msgstr "Tem de especificar uma pasta raiz para começar a validação!" -#: tools/ascli-actions-mdata.c:447 -msgid "" -"You need to give an AppStream software component type to generate a " -"template. Possible values are:" -msgstr "" -"Tem de fornecer um tipo de componente de software de AppStream para gerar um " -"modelo. Os valores possíveis são:" +#: tools/ascli-utils.c:266 +msgid "Identifier" +msgstr "Identificador" -#: tools/appstream-cli.c:579 -msgid "" -"You need to provide at least two version numbers to compare as parameters." -msgstr "" -"Tem de fornecer pelo menos dois números de versão para comparar como " -"parâmetros." +#: tools/ascli-utils.c:268 +msgid "Internal ID" +msgstr "ID interno" -#: tools/ascli-actions-misc.c:393 -#, fuzzy -msgid "You need to specify a NEWS file as input." -msgstr "Tem de especificar um ficheiro de metadados." +#: tools/ascli-utils.c:269 +msgid "Name" +msgstr "Nome" -#: tools/ascli-actions-misc.c:509 -#, fuzzy -msgid "You need to specify a NEWS file as output, or '-' to print to stdout." -msgstr "Tem de especificar um ficheiro de metadados." +#: tools/ascli-utils.c:270 +msgid "Summary" +msgstr "Resumo" -#: tools/ascli-actions-misc.c:540 -#, fuzzy -msgid "You need to specify a NEWS format to write the output in." -msgstr "Tem de especificar um ficheiro de entrada e saída." +#: tools/ascli-utils.c:271 +msgid "Package" +msgstr "Pacote" -#. TRANSLATORS: ascli has been run without command. -#: tools/appstream-cli.c:925 -msgid "You need to specify a command." -msgstr "Tem de especificar um comando." +#: tools/ascli-utils.c:272 +msgid "Bundle" +msgstr "Pacote" -#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments -#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. -#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:254 -#: tools/ascli-actions-pkgmgr.c:80 -msgid "You need to specify a component-ID." -msgstr "Tem de especificar um identificador de componente." +#: tools/ascli-utils.c:273 +msgid "Homepage" +msgstr "Página inicial" -#: tools/ascli-actions-misc.c:188 -#, fuzzy -msgid "" -"You need to specify a desktop-entry file to create or augment as output." -msgstr "Tem de especificar um ficheiro para validar!" +#: tools/ascli-utils.c:274 +msgid "Icon" +msgstr "Ícone" -#: tools/ascli-actions-mdata.c:309 -msgid "You need to specify a metadata file." -msgstr "Tem de especificar um ficheiro de metadados." +#. developer name +#: tools/ascli-utils.c:294 +msgid "Developer" +msgstr "Programador" -#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 -#, fuzzy -msgid "You need to specify a metainfo file as input." -msgstr "Tem de especificar um ficheiro de metadados." +#: tools/ascli-utils.c:300 +msgid "Extends" +msgstr "Estende" -#: tools/ascli-actions-misc.c:397 -#, fuzzy -msgid "" -"You need to specify a metainfo file to augment, or '-' to print to stdout." -msgstr "Tem de especificar um ficheiro de metadados." +#: tools/ascli-utils.c:306 +msgid "Description" +msgstr "Descrição" -#: tools/ascli-actions-validate.c:385 tools/ascli-actions-validate.c:479 -msgid "You need to specify a root directory to start validation!" -msgstr "Tem de especificar uma pasta raiz para começar a validação!" +#: tools/ascli-utils.c:326 +msgid "Default Screenshot URL" +msgstr "URL da captura de ecrã predefinida" -#: tools/ascli-actions-mdata.c:164 -msgid "You need to specify a term to search for." -msgstr "Tem de especificar um termo a procurar." +#. project group +#: tools/ascli-utils.c:333 +msgid "Project Group" +msgstr "Grupo do projeto" -#: tools/ascli-actions-mdata.c:357 -msgid "You need to specify an input and output file." -msgstr "Tem de especificar um ficheiro de entrada e saída." +#. license +#: tools/ascli-utils.c:336 +msgid "License" +msgstr "Licença" -#: tools/ascli-actions-validate.c:263 tools/ascli-actions-validate.c:337 -#, fuzzy -msgid "You need to specify at least one file to validate!" -msgstr "Tem de especificar um ficheiro para validar!" +#: tools/ascli-utils.c:342 +msgid "Categories" +msgstr "Categorias" -#. TRANSLATORS: List of "grey-listed" words sperated with ";" -#. * Do not translate this list directly. Instead, -#. * provide a list of words in your language that people are likely -#. * to include in a search but that should normally be ignored in -#. * the search. -#. -#: src/as-pool.c:107 -msgid "app;application;package;program;programme;suite;tool" -msgstr "app;aplicação;aplicativo;pacote;programa;ferramenta" +#: tools/ascli-utils.c:350 +msgid "Compulsory for" +msgstr "Obrigatório para" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:223 -#, c-format -msgid "errors: %lu" -msgstr "erros: %lu" +#: tools/ascli-utils.c:378 +msgid "Provided Items" +msgstr "Itens fornecidos" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:237 #, c-format -msgid "infos: %lu" -msgstr "infos: %lu" +#~ msgid "Unable to open new cache file: %s" +#~ msgstr "Não é possível abrir o novo ficheiro de \"cache\": %s" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:244 -#, c-format -msgid "pedantic: %lu" -msgstr "redundante: %lu" +#~ msgid "" +#~ "AppStream is a cross-distribution specification to provide metadata about " +#~ "software components." +#~ msgstr "" +#~ "AppStream é uma especificação independente de distribuição para " +#~ "fornecimento de metadados sobre componentes de software." -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:230 #, c-format -msgid "warnings: %lu" -msgstr "avisos: %lu" - -#~ msgid "Command '%s' is unknown." -#~ msgstr "Comando \"%s\" desconhecido." - -#~ msgid "Do not use any caches when performing the request." -#~ msgstr "Não utilizar quaisquer caches ao realizar o pedido." +#~ msgid "Unable to write to '%s', can not install metainfo file." +#~ msgstr "" +#~ "Não foi possível escrever em “%s”, não foi possível instalar ficheiro de " +#~ "metainfo." -#~ msgid "AppStream cache update failed." -#~ msgstr "Atualização da cache da AppStream falhou." - -#, fuzzy -#~ msgid "Category of Games" -#~ msgstr "Categorias" - -#, fuzzy -#~ msgid "Category of Office" -#~ msgstr "Categorias" +#, c-format +#~ msgid "" +#~ "Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " +#~ "suffix." +#~ msgstr "" +#~ "Não é possível copiar “%s”: O ficheiro não tem um sufixo “.metainfo.xml” " +#~ "ou “.appdata.xml”." -#, fuzzy -#~ msgid "Category of Science" -#~ msgstr "Categorias" +#~ msgid "An item type (e.g. lib, bin, python3, …)" +#~ msgstr "Um tipo de item (por ex.: lib, bin, python3…)" -#~ msgid "File %s not found or permission denied!" -#~ msgstr "Ficheiro %s não encontrado ou permissão negada!" +#~ msgid "Get components which provide the given item." +#~ msgstr "Obtém componentes que fornecem o item dado." -#, fuzzy -#~ msgid "No component providing '%s::%s' found." -#~ msgstr "Sem correspondência para \"%s\"." +#, c-format +#~ msgid "Unknown command '%s'." +#~ msgstr "Comando desconhecido “%s”." -#~ msgid "XDG Menu XML file '%s' is damaged." -#~ msgstr "Ficheiro XML XDG Menu \"%s\" está danificado." +#~ msgid "Value of the item that should be found." +#~ msgstr "Valor do item que deve ser encontrado." diff -Nru appstream-0.12.10/po/rom.po appstream-0.14.5/po/rom.po --- appstream-0.12.10/po/rom.po 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/po/rom.po 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,2699 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR Matthias Klumpp +# This file is distributed under the same license as the appstream package. +# Peter Nikolaus Georgiana , 2020. +msgid "" +msgstr "" +"Project-Id-Version: appstream\n" +"Report-Msgid-Bugs-To: appstream@lists.freedesktop.org\n" +"POT-Creation-Date: 2021-08-28 16:09+0200\n" +"PO-Revision-Date: 2020-11-08 09:41+0000\n" +"Last-Translator: Peter Nikolaus Georgiana \n" +"Language-Team: Romany \n" +"Language: rom\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.3.2\n" + +#: data/org.freedesktop.appstream.cli.metainfo.xml:8 +msgid "AppStream CLI" +msgstr "" + +#: data/org.freedesktop.appstream.cli.metainfo.xml:9 +msgid "An utility to work with AppStream metadata" +msgstr "" + +#: data/org.freedesktop.appstream.cli.metainfo.xml:12 +msgid "" +"AppStream is a metadata specification which permits software components to " +"provide information about themselves to automated systems and end-users " +"before the software is actually installed. The AppStream project provides " +"facilities to easily access and transform this metadata, as well as a few " +"additional services for building feature-rich software centers and similar " +"applications that make use of software metadata." +msgstr "" + +#: data/org.freedesktop.appstream.cli.metainfo.xml:18 +msgid "" +"The appstreamcli command-line tool allows to read, write, and " +"transform AppStream XML or YAML metadata as well as to validate it for " +"compliance with the specification. It also provides easy access to the " +"system metadata pool, for example to query for software that provides a " +"specific Mediatype handler or for installing software by its component " +"identifier." +msgstr "" + +#: src/as-category.c:66 +msgctxt "Category of AudioVideo" +msgid "Featured" +msgstr "" + +#: src/as-category.c:69 +msgctxt "Category of AudioVideo" +msgid "Audio Creation & Editing" +msgstr "" + +#: src/as-category.c:75 +msgctxt "Category of AudioVideo" +msgid "Music Players" +msgstr "" + +#: src/as-category.c:84 +msgctxt "Category of Development" +msgid "Featured" +msgstr "" + +#: src/as-category.c:87 +msgctxt "Category of Development" +msgid "Debuggers" +msgstr "" + +#: src/as-category.c:90 +msgctxt "Category of Development" +msgid "IDEs" +msgstr "" + +#: src/as-category.c:99 +msgctxt "Category of Education" +msgid "Featured" +msgstr "" + +#: src/as-category.c:102 +msgctxt "Category of Education" +msgid "Astronomy" +msgstr "" + +#: src/as-category.c:105 +msgctxt "Category of Education" +msgid "Chemistry" +msgstr "" + +#: src/as-category.c:108 +msgctxt "Category of Education" +msgid "Languages" +msgstr "" + +#: src/as-category.c:112 +msgctxt "Category of Education" +msgid "Math" +msgstr "" + +#: src/as-category.c:121 +msgctxt "Category of Games" +msgid "Featured" +msgstr "" + +#: src/as-category.c:124 +msgctxt "Category of Games" +msgid "Action" +msgstr "" + +#: src/as-category.c:127 +msgctxt "Category of Games" +msgid "Adventure" +msgstr "" + +#: src/as-category.c:130 +msgctxt "Category of Games" +msgid "Arcade" +msgstr "" + +#: src/as-category.c:133 +msgctxt "Category of Games" +msgid "Blocks" +msgstr "" + +#: src/as-category.c:136 +msgctxt "Category of Games" +msgid "Board" +msgstr "" + +#: src/as-category.c:139 +msgctxt "Category of Games" +msgid "Card" +msgstr "" + +#: src/as-category.c:142 +msgctxt "Category of Games" +msgid "Emulators" +msgstr "" + +#: src/as-category.c:145 +msgctxt "Category of Games" +msgid "Kids" +msgstr "" + +#: src/as-category.c:148 +msgctxt "Category of Games" +msgid "Logic" +msgstr "" + +#: src/as-category.c:151 +msgctxt "Category of Games" +msgid "Role Playing" +msgstr "" + +#: src/as-category.c:154 +msgctxt "Category of Games" +msgid "Sports" +msgstr "" + +#: src/as-category.c:158 +msgctxt "Category of Games" +msgid "Strategy" +msgstr "" + +#: src/as-category.c:166 +msgctxt "Category of Graphics" +msgid "Featured" +msgstr "" + +#: src/as-category.c:169 +msgctxt "Category of Graphics" +msgid "3D Graphics" +msgstr "" + +#: src/as-category.c:172 +msgctxt "Category of Graphics" +msgid "Photography" +msgstr "" + +#: src/as-category.c:175 +msgctxt "Category of Graphics" +msgid "Scanning" +msgstr "" + +#: src/as-category.c:178 +msgctxt "Category of Graphics" +msgid "Vector Graphics" +msgstr "" + +#: src/as-category.c:181 +msgctxt "Category of Graphics" +msgid "Viewers" +msgstr "" + +#: src/as-category.c:189 +msgctxt "Category of Office" +msgid "Featured" +msgstr "" + +#: src/as-category.c:192 +msgctxt "Category of Office" +msgid "Calendar" +msgstr "" + +#: src/as-category.c:196 +msgctxt "Category of Office" +msgid "Database" +msgstr "" + +#: src/as-category.c:199 +msgctxt "Category of Office" +msgid "Finance" +msgstr "" + +#: src/as-category.c:203 +msgctxt "Category of Office" +msgid "Word Processor" +msgstr "" + +#: src/as-category.c:212 +msgctxt "Category of Addons" +msgid "Fonts" +msgstr "" + +#: src/as-category.c:215 +msgctxt "Category of Addons" +msgid "Codecs" +msgstr "" + +#: src/as-category.c:218 +msgctxt "Category of Addons" +msgid "Input Sources" +msgstr "" + +#: src/as-category.c:221 +msgctxt "Category of Addons" +msgid "Language Packs" +msgstr "" + +#: src/as-category.c:224 +msgctxt "Category of Addons" +msgid "Localization" +msgstr "" + +#: src/as-category.c:232 +msgctxt "Category of Science" +msgid "Featured" +msgstr "" + +#: src/as-category.c:235 +msgctxt "Category of Science" +msgid "Artificial Intelligence" +msgstr "" + +#: src/as-category.c:238 +msgctxt "Category of Science" +msgid "Astronomy" +msgstr "" + +#: src/as-category.c:241 +msgctxt "Category of Science" +msgid "Chemistry" +msgstr "" + +#: src/as-category.c:244 +msgctxt "Category of Science" +msgid "Math" +msgstr "" + +#: src/as-category.c:249 +msgctxt "Category of Science" +msgid "Robotics" +msgstr "" + +#: src/as-category.c:257 +msgctxt "Category of Communication" +msgid "Featured" +msgstr "" + +#: src/as-category.c:260 +msgctxt "Category of Communication" +msgid "Chat" +msgstr "" + +#: src/as-category.c:267 +msgctxt "Category of Communication" +msgid "News" +msgstr "" + +#: src/as-category.c:271 +msgctxt "Category of Communication" +msgid "Web Browsers" +msgstr "" + +#: src/as-category.c:279 +msgctxt "Category of Utility" +msgid "Featured" +msgstr "" + +#: src/as-category.c:282 +msgctxt "Category of Utility" +msgid "Text Editors" +msgstr "" + +#: src/as-category.c:285 +msgctxt "Category of Utility" +msgid "Terminal Emulators" +msgstr "" + +#: src/as-category.c:288 +msgctxt "Category of Utility" +msgid "File System" +msgstr "" + +#: src/as-category.c:291 +msgctxt "Category of Utility" +msgid "System Monitoring" +msgstr "" + +#: src/as-category.c:294 +msgctxt "Category of Utility" +msgid "Security" +msgstr "" + +#. TRANSLATORS: this is the menu spec main category for Audio & Video +#: src/as-category.c:303 +msgid "Audio & Video" +msgstr "" + +#. TRANSLATORS: this is the menu spec main category for Development +#: src/as-category.c:306 +msgid "Developer Tools" +msgstr "" + +#. TRANSLATORS: this is the menu spec main category for Education +#: src/as-category.c:309 +msgid "Education" +msgstr "" + +#. TRANSLATORS: this is the menu spec main category for Game +#: src/as-category.c:312 +msgid "Games" +msgstr "" + +#. TRANSLATORS: this is the menu spec main category for Graphics +#: src/as-category.c:315 +msgid "Graphics & Photography" +msgstr "" + +#. TRANSLATORS: this is the menu spec main category for Office +#: src/as-category.c:318 +msgid "Office" +msgstr "" + +#. TRANSLATORS: this is the main category for Add-ons +#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor +#: src/as-category.c:321 tools/ascli-utils.c:371 +msgid "Add-ons" +msgstr "" + +#. TRANSLATORS: this is the menu spec main category for Science +#: src/as-category.c:324 +msgid "Science" +msgstr "" + +#. TRANSLATORS: this is the menu spec main category for Communication +#: src/as-category.c:327 +msgid "Communication & News" +msgstr "" + +#. TRANSLATORS: this is the menu spec main category for Utilities +#: src/as-category.c:330 +msgid "Utilities" +msgstr "" + +#. TRANSLATORS: This is the formatting of English and localized name +#. * of the rating e.g. "Adults Only (solo adultos)" +#: src/as-content-rating.c:298 +#, fuzzy, c-format +msgid "%s (%s)" +msgstr "Vreau sa fac bani simplu și usor" + +#: src/as-content-rating.c:444 +msgid "General" +msgstr "" + +#: src/as-content-rating.c:453 +msgid "ALL" +msgstr "" + +#: src/as-content-rating.c:457 src/as-content-rating.c:560 +msgid "Adults Only" +msgstr "" + +#: src/as-content-rating.c:459 src/as-content-rating.c:559 +msgid "Mature" +msgstr "" + +#: src/as-content-rating.c:461 src/as-content-rating.c:558 +msgid "Teen" +msgstr "" + +#: src/as-content-rating.c:463 src/as-content-rating.c:557 +msgid "Everyone 10+" +msgstr "" + +#: src/as-content-rating.c:465 src/as-content-rating.c:556 +msgid "Everyone" +msgstr "" + +#: src/as-content-rating.c:467 src/as-content-rating.c:555 +msgid "Early Childhood" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:839 +msgid "No cartoon violence" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:841 +msgid "Cartoon characters in unsafe situations" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:843 +msgid "Cartoon characters in aggressive conflict" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:845 +msgid "Graphic violence involving cartoon characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:850 +msgid "No fantasy violence" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:852 +msgid "Characters in unsafe situations easily distinguishable from reality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:854 +msgid "Characters in aggressive conflict easily distinguishable from reality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:856 +msgid "Graphic violence easily distinguishable from reality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:861 +msgid "No realistic violence" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:863 +msgid "Mildly realistic characters in unsafe situations" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:865 +msgid "Depictions of realistic characters in aggressive conflict" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:867 +msgid "Graphic violence involving realistic characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:872 +msgid "No bloodshed" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:874 +msgid "Unrealistic bloodshed" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:876 +msgid "Realistic bloodshed" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:878 +msgid "Depictions of bloodshed and the mutilation of body parts" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:883 +msgid "No sexual violence" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:885 +msgid "Rape or other violent sexual behavior" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:892 +msgid "No references to alcohol" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:894 +msgid "References to alcoholic beverages" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:896 +msgid "Use of alcoholic beverages" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:902 +msgid "No references to illicit drugs" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:904 +msgid "References to illicit drugs" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:906 +msgid "Use of illicit drugs" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:912 +msgid "No references to tobacco products" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:914 +msgid "References to tobacco products" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:916 +msgid "Use of tobacco products" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:922 +msgid "No nudity of any sort" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:924 +msgid "Brief artistic nudity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:926 +msgid "Prolonged nudity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:932 +msgid "No references to or depictions of sexual nature" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:934 +msgid "Provocative references or depictions" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:936 +msgid "Sexual references or depictions" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:938 +msgid "Graphic sexual behavior" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:943 +msgid "No profanity of any kind" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:945 +msgid "Mild or infrequent use of profanity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:947 +msgid "Moderate use of profanity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:949 +msgid "Strong or frequent use of profanity" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:954 +msgid "No inappropriate humor" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:956 +msgid "Slapstick humor" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:958 +msgid "Vulgar or bathroom humor" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:960 +msgid "Mature or sexual humor" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:965 +msgid "No discriminatory language of any kind" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:967 +msgid "Negativity towards a specific group of people" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:969 +msgid "Discrimination designed to cause emotional harm" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:971 +msgid "Explicit discrimination based on gender, sexuality, race or religion" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:976 +msgid "No advertising of any kind" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:978 +msgid "Product placement" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:980 +msgid "Explicit references to specific brands or trademarked products" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:982 +msgid "Users are encouraged to purchase specific real-world items" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:987 +msgid "No gambling of any kind" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:989 +msgid "Gambling on random events using tokens or credits" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:991 +msgid "Gambling using “play” money" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:993 +msgid "Gambling using real money" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:998 +msgid "No ability to spend money" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1000 +msgid "Users are encouraged to donate real money" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1003 +msgid "Ability to spend real money in-app" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1008 +msgid "No way to chat with other users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1010 +msgid "User-to-user interactions without chat functionality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1012 +msgid "Moderated chat functionality between users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1014 +msgid "Uncontrolled chat functionality between users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1019 +msgid "No way to talk with other users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1021 +msgid "Uncontrolled audio or video chat functionality between users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1028 +msgid "No sharing of social network usernames or email addresses" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1030 +msgid "Sharing social network usernames or email addresses" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1037 +msgid "No sharing of user information with third parties" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1039 +msgid "Checking for the latest application version" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1041 +msgid "Sharing diagnostic data that does not let others identify the user" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1043 +msgid "Sharing information that lets others identify the user" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1048 +msgid "No sharing of physical location with other users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1050 +msgid "Sharing physical location with other users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1073 +msgid "No references to homosexuality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1075 +msgid "Indirect references to homosexuality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1077 +msgid "Kissing between people of the same gender" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1079 +msgid "Graphic sexual behavior between people of the same gender" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1084 +msgid "No references to prostitution" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1086 +msgid "Indirect references to prostitution" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1088 +msgid "Direct references to prostitution" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1090 +msgid "Graphic depictions of the act of prostitution" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1095 +msgid "No references to adultery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1097 +msgid "Indirect references to adultery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1099 +msgid "Direct references to adultery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1101 +msgid "Graphic depictions of the act of adultery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1106 +msgid "No sexualized characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1109 +msgid "Scantily clad human characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1111 +msgid "Overtly sexualized human characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1116 +msgid "No references to desecration" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1118 +msgid "Depictions of or references to historical desecration" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1120 +msgid "Depictions of modern-day human desecration" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1122 +msgid "Graphic depictions of modern-day desecration" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1127 +msgid "No visible dead human remains" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1129 +msgid "Visible dead human remains" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1131 +msgid "Dead human remains that are exposed to the elements" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1133 +msgid "Graphic depictions of desecration of human bodies" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1138 +msgid "No references to slavery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1140 +msgid "Depictions of or references to historical slavery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1142 +msgid "Depictions of modern-day slavery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1144 +msgid "Graphic depictions of modern-day slavery" +msgstr "" + +#. TRANSLATORS: We got a 429 error while trying to download data +#: src/as-curl.c:134 +#, c-format +msgid "Failed to download due to server limit" +msgstr "" + +#: src/as-curl.c:141 src/as-curl.c:148 +#, c-format +msgid "Failed to download file: %s" +msgstr "" + +#. TRANSLATORS: We tried to download an URL, but received a 404 error code +#: src/as-curl.c:157 +#, c-format +msgid "URL was not found on the server." +msgstr "" + +#. TRANSLATORS: We received an uexpected HTTP status code while talking to a server, likely an error +#: src/as-curl.c:164 +#, c-format +msgid "Unexpected status code: %ld" +msgstr "" + +#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty +#: src/as-curl.c:247 +#, c-format +msgid "Retrieved file size was zero." +msgstr "" + +#. TRANSLATORS: List of "grey-listed" words sperated with ";" +#. * Do not translate this list directly. Instead, +#. * provide a list of words in your language that people are likely +#. * to include in a search but that should normally be ignored in +#. * the search. +#. +#: src/as-pool.c:111 +msgid "app;application;package;program;programme;suite;tool" +msgstr "" + +#: src/as-pool.c:620 +msgid "Unable to remove old cache." +msgstr "" + +#: src/as-pool.c:963 +msgid "Metadata files have errors:" +msgstr "" + +#: src/as-pool.c:1370 +msgid "" +"Many components have been recognized as invalid. See debug output for " +"details." +msgstr "" + +#: src/as-pool.c:1996 +#, c-format +msgid "Cache location '%s' is not writable." +msgstr "" + +#: src/as-pool.c:2109 +msgid "" +"The AppStream system cache was updated, but some components were ignored. " +"Refer to the verbose log for more information." +msgstr "" + +#: src/as-pool.c:2111 +#, c-format +msgid "" +"The AppStream system cache was updated, but problems were found which " +"resulted in metadata being ignored: %s" +msgstr "" + +#: src/as-pool.c:2125 +#, c-format +msgid "" +"AppStream system cache refresh failed. Turn on verbose mode to get detailed " +"issue information." +msgstr "" + +#: src/as-provided.c:144 +msgid "Libraries" +msgstr "" + +#: src/as-provided.c:146 +msgid "Binaries" +msgstr "" + +#: src/as-provided.c:148 +msgid "Media types" +msgstr "" + +#: src/as-provided.c:150 +msgid "Fonts" +msgstr "" + +#: src/as-provided.c:152 +msgid "Modaliases" +msgstr "" + +#: src/as-provided.c:154 +msgid "Python (Version 2)" +msgstr "" + +#: src/as-provided.c:156 +msgid "Python 3" +msgstr "" + +#: src/as-provided.c:158 +msgid "D-Bus System Services" +msgstr "" + +#: src/as-provided.c:160 +msgid "D-Bus Session Services" +msgstr "" + +#: src/as-provided.c:162 +msgid "Runtime Firmware" +msgstr "" + +#: src/as-provided.c:164 +msgid "Flashed Firmware" +msgstr "" + +#: src/as-provided.c:166 +msgid "Component" +msgstr "" + +#: src/as-validator-issue-tag.h:41 +msgid "This tag requires a type property." +msgstr "" + +#: src/as-validator-issue-tag.h:46 +msgid "Tags of this name are not permitted in this section." +msgstr "" + +#: src/as-validator-issue-tag.h:51 +msgid "" +"A tag must not be localized in metainfo files (upstream " +"metadata). Localize the individual paragraphs instead." +msgstr "" + +#: src/as-validator-issue-tag.h:57 +msgid "" +"This element (paragraph, list, etc.) of a tag must not be " +"localized individually in collection metadata. Localize the whole " +" tag instead. The AppStream collection metadata generator (e." +"g. `appstream-generator`) will already do the right thing when compiling the " +"data." +msgstr "" + +#: src/as-validator-issue-tag.h:63 +msgid "" +"AppStream descriptions support only a limited set of tags to format text: " +"Paragraphs (

                                                                                                                                                                                                                                                                                                                    ) and lists (

                                                                                                                                                                                                                                                                                                                      ,
                                                                                                                                                                                                                                                                                                                        ). This description markup contains " +"an invalid XML tag that would not be rendered correctly in applications " +"supporting the metainfo specification." +msgstr "" + +#: src/as-validator-issue-tag.h:69 +msgid "" +"This description paragraph contains invalid markup. Currently, only " +"and are permitted." +msgstr "" + +#: src/as-validator-issue-tag.h:74 +msgid "Enumerations must only have list items (
                                                                                                                                                                                                                                                                                                                      1. ) as children." +msgstr "" + +#: src/as-validator-issue-tag.h:79 +msgid "" +"The first `description/p` paragraph of this component might be too short (< " +"80 characters). Please consider starting with a longer paragraph to improve " +"how the description looks like in software centers and to provide more " +"detailed information on this component immediately in the first paragraph." +msgstr "" + +#: src/as-validator-issue-tag.h:86 +msgid "" +"The description contains a web URL in plain text. This is not allowed, " +"please use the tag instead to share links." +msgstr "" + +#: src/as-validator-issue-tag.h:91 +msgid "" +"As per AppStream specification, the mentioned tag must only appear once in " +"this context. Having multiple tags of this kind is not valid." +msgstr "" + +#: src/as-validator-issue-tag.h:96 +msgid "" +"The mentioned tag is empty, which is highly likely not intended as it should " +"have content." +msgstr "" + +#: src/as-validator-issue-tag.h:101 +msgid "" +"The component ID is required to follow a reverse domain-name scheme for its " +"name. See the AppStream specification for details." +msgstr "" + +#: src/as-validator-issue-tag.h:106 +msgid "" +"The component ID is not a reverse domain-name. Please update the ID to avoid " +"future issues and be compatible with all AppStream implementations.\n" +"You may also consider to update the name of the accompanying .desktop file " +"to follow the latest version of the Desktop-Entry specification and use a " +"rDNS name for it as well. In any case, do not forget to mention the new " +"desktop-entry in a tag for this component to keep the " +"application launchable from software centers and the .desktop file data " +"associated with the metainfo data." +msgstr "" + +#: src/as-validator-issue-tag.h:114 +msgid "" +"The component ID might not follow the reverse domain-name schema (the TLD " +"used by it is not known to the validator)." +msgstr "" + +#: src/as-validator-issue-tag.h:119 +msgid "" +"The component ID contains an invalid character. Only ASCII characters, dots " +"and numbers are permitted." +msgstr "" + +#: src/as-validator-issue-tag.h:124 +msgid "" +"The component ID contains a hyphen/minus. Using a hyphen is strongly " +"discouraged, to improve interoperability with other tools such as D-Bus. A " +"good option is to replace any hyphens with underscores (`_`)." +msgstr "" + +#: src/as-validator-issue-tag.h:130 +msgid "" +"The component ID contains a segment starting with a number. Starting a " +"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " +"interoperability with other tools such as D-Bus. Ideally, prefix these " +"segments with an underscore." +msgstr "" + +#: src/as-validator-issue-tag.h:136 +msgid "The component ID should only contain lowercase letters." +msgstr "" + +#: src/as-validator-issue-tag.h:141 +msgid "" +"The component is part of the Freedesktop project, but its ID does not start " +"with fd.o's reverse-DNS name (\"org.freedesktop\")." +msgstr "" + +#: src/as-validator-issue-tag.h:146 +msgid "" +"The component is part of the KDE project, but its ID does not start with " +"KDEs reverse-DNS name (\"org.kde\")." +msgstr "" + +#: src/as-validator-issue-tag.h:151 +msgid "" +"The component is part of the GNOME project, but its ID does not start with " +"GNOMEs reverse-DNS name (\"org.gnome\")." +msgstr "" + +#: src/as-validator-issue-tag.h:156 +msgid "The SPDX license expression is invalid and could not be parsed." +msgstr "" + +#: src/as-validator-issue-tag.h:161 +msgid "" +"The license ID was not found in the SPDX database. Please check that the " +"license ID is written in an SPDX-conformant way and is a valid free software " +"license." +msgstr "" + +#: src/as-validator-issue-tag.h:167 +msgid "" +"The metadata itself seems to be licensed under a complex collection of " +"licenses. Please license the data under a simple permissive license, like " +"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " +"collections without the risk of license violations due to mutually " +"incompatible licenses." +msgstr "" + +#: src/as-validator-issue-tag.h:173 +msgid "" +"The metadata itself does not seem to be licensed under a permissive license. " +"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " +"0BSD to allow distributors to include it in mixed data collections without " +"the risk of license violations due to mutually incompatible licenses." +msgstr "" + +#: src/as-validator-issue-tag.h:179 +msgid "" +"The update-contact does not appear to be a valid email address (escaping of " +"`@` is only allowed as `_at_` or `_AT_`)." +msgstr "" + +#: src/as-validator-issue-tag.h:184 +msgid "" +"Unable to reach the screenshot image on its remote location - does the image " +"exist?" +msgstr "" + +#: src/as-validator-issue-tag.h:189 +msgid "" +"Unable to reach the screenshot video on its remote location - does the video " +"file exist?" +msgstr "" + +#: src/as-validator-issue-tag.h:194 +msgid "" +"Consider using a secure (HTTPS) URL to reference this screenshot image or " +"video." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:200 +msgid "" +"A screenshot must contain at least one image or video in order to be useful. " +"Please add an to it." +msgstr "" + +#: src/as-validator-issue-tag.h:205 +msgid "" +"A screenshot must contain either images or videos, but not both at the same " +"time. Please use this screenshot exclusively for either static images or for " +"videos." +msgstr "" + +#: src/as-validator-issue-tag.h:211 +msgid "The screenshot does not have a caption text. Consider adding one." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:217 +msgid "" +"The screenshot video does not specify which video codec was used in a " +"`codec` property." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:223 +msgid "" +"The screenshot video does not specify which container format was used in a " +"`container` property." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:229 +msgid "" +"The selected video codec is not supported by AppStream and software centers " +"may not be able to play the video. Only the AV1 and VP9 codecs are currently " +"supported, using `av1` and `vp9` as values for the `codec` property." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:236 +msgid "" +"The selected video container format is not supported by AppStream and " +"software centers may not be able to play the video. Only the WebM and " +"Matroska video containers are currently supported, using `webm` and `mkv` as " +"values for the `container` property." +msgstr "" + +#: src/as-validator-issue-tag.h:242 +msgid "" +"For videos, only the WebM and Matroska (.mkv) container formats are " +"currently supported. The file extension of the referenced video does not " +"belong to either of these formats." +msgstr "" + +#: src/as-validator-issue-tag.h:248 +msgid "" +"The default screenshot of a software component must not be a video. Use a " +"static image as default screenshot and set the video as a secondary " +"screenshot." +msgstr "" + +#: src/as-validator-issue-tag.h:253 +msgid "" +"Found an unknown tag in a requires/recommends group. This is likely an " +"error, because a component relation of this type is unknown." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:259 +msgid "" +"A `requires` or `recommends` item requires a value to denote a valid " +"relation." +msgstr "" + +#. TRANSLATORS: `version` is an AppStream XML property. Please do not translate it. +#: src/as-validator-issue-tag.h:265 +msgid "" +"Found `version` property on required/recommended item of a type that should " +"not have or require a version." +msgstr "" + +#. TRANSLATORS: `version` and `compare` are AppStream XML properties. Please do not translate them. +#: src/as-validator-issue-tag.h:271 +msgid "" +"Found `version` property on this required/recommended item, but not " +"`compare` property. It is recommended to explicitly define a comparison " +"operation." +msgstr "" + +#: src/as-validator-issue-tag.h:276 +msgid "" +"Invalid comparison operation on relation item. Only eq/ne/lt/gt/le/ge are " +"permitted." +msgstr "" + +#: src/as-validator-issue-tag.h:281 +msgid "" +"The relation item has a comparison operation set, but does not support any " +"comparisons." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:287 +msgid "" +"Found a memory size relation in a `requires` tag. This means users will not " +"be able to even install the component without having enough RAM. This is " +"usually not intended and you want to use `memory` in the `recommends` tag " +"instead." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:294 +msgid "" +"Found a user input control relation in a `requires` tag. This means users " +"will not be able to even install the component without having the defined " +"input control available on the system. This is usually not intended and you " +"want to use `control` in the `recommends` tag instead." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:301 +msgid "" +"This `control` item defines an unknown input method and is invalid. Check " +"the specification for a list of permitted values." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:307 +msgid "" +"This `display_length` item contains an invalid display length. Its value " +"must either be a shorthand string, or positive integer value denoting " +"logical pixels. Please refer to the AppStream specification for more " +"information on this tag." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:314 +msgid "" +"This `side` property of this `display_length` item contains an invalid " +"value. It must either be `shortest` or `longest`, or unset to imply " +"`shortest` to make the item value refer to either the shortest or longest " +"side of the display." +msgstr "" + +#: src/as-validator-issue-tag.h:320 +msgid "" +"The set component type is not a recognized, valid AppStream component type." +msgstr "" + +#: src/as-validator-issue-tag.h:325 +msgid "" +"The component has a priority value set. This is not allowed in metainfo " +"files." +msgstr "" + +#: src/as-validator-issue-tag.h:330 +msgid "" +"The component has a `merge` method defined. This is not allowed in metainfo " +"files." +msgstr "" + +#: src/as-validator-issue-tag.h:335 +msgid "The component is missing an ID ( tag)." +msgstr "" + +#: src/as-validator-issue-tag.h:340 +msgid "The component is missing a name ( tag)." +msgstr "" + +#: src/as-validator-issue-tag.h:345 +msgid "The component is missing a summary ( tag)." +msgstr "" + +#: src/as-validator-issue-tag.h:350 +msgid "" +"The tag still contains a `type` property, probably from an old " +"conversion to the recent metainfo format." +msgstr "" + +#: src/as-validator-issue-tag.h:355 +msgid "" +"The `pkgname` tag appears multiple times. You should evaluate creating a " +"metapackage containing the metainfo and .desktop files in order to avoid " +"defining multiple package names per component." +msgstr "" + +#: src/as-validator-issue-tag.h:360 +msgid "The component name should (likely) not end with a dot (`.`)." +msgstr "" + +#: src/as-validator-issue-tag.h:365 +msgid "The component summary should not end with a dot (`.`)." +msgstr "" + +#: src/as-validator-issue-tag.h:370 +msgid "The component summary must not contain tabs or linebreaks." +msgstr "" + +#: src/as-validator-issue-tag.h:375 +msgid "The summary must not contain any URL. Use the tags for links." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:381 +msgid "" +"Icons of type `stock` or `cached` must not contain an URL, a full or an " +"relative path to the icon. Only file basenames or stock names are allowed." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:388 +msgid "Icons of type `remote` must contain an URL to the referenced icon." +msgstr "" + +#: src/as-validator-issue-tag.h:393 +msgid "Unable to reach remote icon at the given web location - does it exist?" +msgstr "" + +#: src/as-validator-issue-tag.h:398 +msgid "Consider using a secure (HTTPS) URL for the remote icon link." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:404 +msgid "" +"Metainfo files may only contain icons of type `stock` or `remote`, the set " +"type is not allowed." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:410 +msgid "" +"Invalid `type` property for this `url` tag. URLs of this type are not known " +"in the AppStream specification." +msgstr "" + +#: src/as-validator-issue-tag.h:415 +msgid "" +"Unable to reach remote location that this URL references - does it exist?" +msgstr "" + +#: src/as-validator-issue-tag.h:420 +msgid "Consider using a secure (HTTPS) URL for this web link." +msgstr "" + +#: src/as-validator-issue-tag.h:425 +msgid "A web URL was expected for this value." +msgstr "" + +#: src/as-validator-issue-tag.h:430 +msgid "" +"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." +msgstr "" + +#: src/as-validator-issue-tag.h:435 +msgid "The can not contain a hyperlink." +msgstr "" + +#: src/as-validator-issue-tag.h:440 +msgid "" +"The set value is not an identifier for a desktop environment as registered " +"with Freedesktop.org." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:446 +msgid "This `launchable` tag has an unknown type and can not be used." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:452 +msgid "This `bundle` tag has an unknown type and can not be used." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:458 +msgid "" +"The `update_contact` tag should not be included in collection AppStream XML." +msgstr "" + +#: src/as-validator-issue-tag.h:463 +msgid "" +"This tag is a GNOME-specific extension to AppStream and not part of the " +"official specification. Do not expect it to work in all implementations and " +"in all software centers." +msgstr "" + +#: src/as-validator-issue-tag.h:469 +msgid "" +"Found invalid tag. Non-standard tags should be prefixed with `x-`. AppStream " +"also provides the tag to add arbitrary custom data to metainfo " +"files. This tag is read by AppStream libraries and may be useful instead of " +"defining new custom toplevel or `x-`-prefixed tags if you just want to add " +"custom data to a metainfo file." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:477 +msgid "" +"The essential tag `metadata_license` is missing. A license for the metadata " +"itself always has to be defined." +msgstr "" + +#: src/as-validator-issue-tag.h:482 +msgid "" +"The component is missing a long description. Components of this type must " +"have a long description." +msgstr "" + +#: src/as-validator-issue-tag.h:487 +msgid "" +"It would be useful to add a long description to this font to present it " +"better to users." +msgstr "" + +#: src/as-validator-issue-tag.h:492 +msgid "" +"It is recommended to add a long description to this component to present it " +"better to users." +msgstr "" + +#: src/as-validator-issue-tag.h:497 +msgid "" +"This generic component is missing a long description. It may be useful to " +"add one." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:503 +msgid "" +"Type `console-application` component, but no information about binaries in " +"$PATH was provided via a `provides/binary` tag." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:509 +msgid "" +"This `web-application` component is missing a `launchable` tag of type `url`." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:515 +msgid "" +"This `web-application` component is missing a `icon` tag to specify a valid " +"icon." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:521 +msgid "" +"This `web-application` component is missing categorizations. A `categories` " +"block is likely missing." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:527 +msgid "" +"Type `font` component, but no font information was provided via a `provides/" +"font` tag." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:533 +msgid "" +"Type `driver` component, but no modalias information was provided via a " +"`provides/modalias` tag." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:539 +msgid "" +"An `extends` tag is specified, but the component is not of type `addon`, " +"`localization` or `repository`." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:545 +msgid "The component is an addon, but no `extends` tag was specified." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:551 +msgid "" +"This `localization` component is missing an `extends` tag, to specify the " +"components it adds localization to." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:557 +msgid "" +"This `localization` component does not define any languages this " +"localization is for." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:563 +msgid "" +"This `service` component is missing a `launchable` tag of type `service`." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:569 +msgid "" +"Suggestions of any type other than `upstream` are not allowed in metainfo " +"files." +msgstr "" + +#: src/as-validator-issue-tag.h:574 +msgid "" +"The category name is not valid. Refer to the XDG Menu Specification for a " +"list of valid category names." +msgstr "" + +#: src/as-validator-issue-tag.h:579 +msgid "The screenshot caption is too long (should be <= 80 characters)" +msgstr "" + +#: src/as-validator-issue-tag.h:584 +msgid "Unable to read file." +msgstr "" + +#: src/as-validator-issue-tag.h:589 +msgid "The XML of this file is malformed." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:595 +msgid "" +"Invalid tag found in collection metadata. Only `component` tags are " +"permitted." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:601 +msgid "" +"The metainfo file uses an ancient version of the AppStream specification, " +"which can not be validated. Please migrate it to version 0.6 (or higher)." +msgstr "" + +#: src/as-validator-issue-tag.h:606 +msgid "" +"This XML document has an unknown root tag. Maybe this file is not a metainfo " +"document?" +msgstr "" + +#: src/as-validator-issue-tag.h:611 +msgid "The metainfo filename does not match the component ID." +msgstr "" + +#: src/as-validator-issue-tag.h:616 +msgid "Unable to read the .desktop file associated with this component." +msgstr "" + +#: src/as-validator-issue-tag.h:621 +msgid "This component metadata refers to a non-existing .desktop file." +msgstr "" + +#: src/as-validator-issue-tag.h:626 +msgid "" +"The category defined in the .desktop file is not valid. Refer to the XDG " +"Menu Specification for a list of valid categories." +msgstr "" + +#: src/as-validator-issue-tag.h:631 +msgid "No AppStream metadata was found in this directory or directory tree." +msgstr "" + +#. pedantic because not everything which has metadata is an application +#: src/as-validator-issue-tag.h:636 +msgid "No XDG applications directory found." +msgstr "" + +#: src/as-validator-issue-tag.h:641 +msgid "" +"The metainfo file is stored in a legacy path. Please place it in `/usr/share/" +"metainfo/`." +msgstr "" + +#: src/as-validator-issue-tag.h:646 +msgid "The metainfo file specifies multiple components. This is not allowed." +msgstr "" + +#: src/as-validator-issue-tag.h:651 +msgid "" +"The releases are not sorted in a latest to oldest version order. This is " +"required as some tools will assume that the latest version is always at the " +"top. Sorting releases also increases overall readability of the metainfo " +"file." +msgstr "" + +#: src/as-validator-issue-tag.h:658 +msgid "The value set as release urgency is not a known urgency value." +msgstr "" + +#: src/as-validator-issue-tag.h:663 +msgid "The value set as release type is invalid." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:669 +msgid "" +"The value set as artifact type is invalid. Must be either `source` or " +"`binary`." +msgstr "" + +#: src/as-validator-issue-tag.h:674 +msgid "The value set as artifact bundle type is invalid." +msgstr "" + +#: src/as-validator-issue-tag.h:679 +msgid "" +"The platform triplet for this release is invalid. It must be in the form of " +"`architecture-oskernel-osenv` - refer to the AppStream documentation or " +"information on normalized GNU triplets for more information and valid fields." +msgstr "" + +#: src/as-validator-issue-tag.h:686 +msgid "The selected checksumming algorithm is unsupported or unknown." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:692 +msgid "The size type is unknown. Must be `download` or `installed`." +msgstr "" + +#: src/as-validator-issue-tag.h:697 +msgid "" +"The artifact filename must be a file basename, not a (relative or absolute) " +"path." +msgstr "" + +#: src/as-validator-issue-tag.h:702 +msgid "The value set as release issue type is invalid." +msgstr "" + +#: src/as-validator-issue-tag.h:707 +msgid "" +"The issue is tagged at security vulnerability with a CVE number, but its " +"value does not look like a valid CVE identifier." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:713 +msgid "" +"This component is missing information about releases. Consider adding a " +"`releases` tag to describe releases and their changes." +msgstr "" + +#: src/as-validator-issue-tag.h:718 +msgid "" +"The AppStream specification requires a complete, ISO 8601 date string with " +"at least day-granularity to denote dates. Please ensure the date string is " +"valid." +msgstr "" + +#: src/as-validator-issue-tag.h:724 +msgid "" +"This component extends, provides, requires or recommends itself, which is " +"certainly not intended and may confuse users or machines dealing with this " +"metadata." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:731 +msgid "" +"Licenses for `runtime` components are usually too complex to reflect them in " +"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " +"value for this component's `project_license`. E.g. `LicenseRef-free=https://" +"example.com/licenses.html`" +msgstr "" + +#: src/as-validator-issue-tag.h:737 +msgid "" +"Since a `runtime` component is comprised of multiple other software " +"components, their component-IDs may be listed in a `` section for " +"this runtime." +msgstr "" + +#: src/as-validator-issue-tag.h:742 +msgid "" +"The type of the item that the component provides is not known to AppStream." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:748 +msgid "" +"The toplevel `mimetypes` tag is deprecated. Please use `mediatype` tags in a " +"`provides` block instead to indicate that your software provides a media " +"handler for the given types." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks) and keep the URL intact. +#: src/as-validator-issue-tag.h:755 +msgid "" +"This component has no `content_rating` tag to provide age rating " +"information. You can generate the tag data online by answering a few " +"questions at https://hughsie.github.io/oars/" +msgstr "" + +#: src/as-validator.c:150 +msgid "" +"The emitted issue tag is unknown in the tag registry of AppStream. This is a " +"bug in the validator itself, please report this issue in our bugtracker." +msgstr "" + +#: src/as-validator.c:344 +msgid "URL format is invalid." +msgstr "" + +#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. +#: src/as-validator.c:522 src/as-validator.c:937 src/as-validator.c:1031 +#: src/as-validator.c:1428 src/as-validator.c:1448 src/as-validator.c:1481 +#, c-format +msgid "Found: %s - Allowed: %s" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --verbose +#: tools/appstream-compose.c:181 +msgid "Show extra debugging information" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --no-color +#. TRANSLATORS: ascli flag description for: --no-color +#: tools/appstream-compose.c:184 tools/appstreamcli.c:1087 +msgid "Don't show colored output." +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --version +#. TRANSLATORS: ascli flag description for: --version +#: tools/appstream-compose.c:187 tools/appstreamcli.c:1076 +msgid "Show the program version." +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --full-report +#: tools/appstream-compose.c:190 +msgid "Set mode of the issue report that is printed to the console" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --prefix +#: tools/appstream-compose.c:193 +msgid "Override the default prefix (`/usr` by default)" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --result-root +#: tools/appstream-compose.c:196 +msgid "Set the result output directory" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --data-dir, `collection metadata` is an AppStream term +#: tools/appstream-compose.c:199 +msgid "Override the collection metadata output directory" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --icons-dir +#: tools/appstream-compose.c:202 +msgid "Override the icon output directory" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --media-dir +#: tools/appstream-compose.c:205 +msgid "" +"Set the media output directory (for media data to be served by a webserver)" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --hints-dir +#: tools/appstream-compose.c:208 +msgid "Set a directory where HTML and text issue reports will be stored" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --origin +#. TRANSLATORS: ascompose flag description for: --media-baseurl +#: tools/appstream-compose.c:211 tools/appstream-compose.c:214 +msgid "Set the origin name" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --components +#: tools/appstream-compose.c:217 +msgid "A comma-separated list of component-IDs to accept" +msgstr "" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:231 +msgid "Failed to parse arguments" +msgstr "" + +#. TRANSLATORS: Output if appstreamcli --version is executed. +#: tools/appstream-compose.c:242 tools/appstreamcli.c:1230 +#, c-format +msgid "AppStream version: %s" +msgstr "" + +#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. +#: tools/appstream-compose.c:245 tools/appstreamcli.c:1233 +#, c-format +msgid "" +"AppStream CLI tool version: %s\n" +"AppStream library version: %s" +msgstr "" + +#. TRANSLATORS: invalid value for the --print-report CLI option +#: tools/appstream-compose.c:264 +#, c-format +msgid "" +"Invalid value for `--print-report` option: %s\n" +"Possible values are:\n" +"`on-error` - only prints a short report if the run failed (default)\n" +"`short` - generates an abridged report\n" +"`full` - a detailed report will be printed" +msgstr "" + +#: tools/appstream-compose.c:285 +#, c-format +msgid "Automatically selected '%s' as data output location." +msgstr "" + +#. TRANSLATORS: we don't have a destination directory for compose +#: tools/appstream-compose.c:288 +msgid "No destination directory set, please provide a data output location!" +msgstr "" + +#: tools/appstream-compose.c:298 tools/appstream-compose.c:300 +msgid "WARNING" +msgstr "" + +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:337 +#, c-format +msgid "Only accepting components: %s" +msgstr "" + +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:340 +#, c-format +msgid "Only accepting component: %s" +msgstr "" + +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:345 +msgid "Processing directories:" +msgstr "" + +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:348 +msgid "Processing directory:" +msgstr "" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:357 +msgid "Can not process invalid directory" +msgstr "" + +#. TRANSLATORS: information message +#: tools/appstream-compose.c:369 +msgid "Composing metadata..." +msgstr "" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:374 +msgid "Failed to compose AppStream metadata" +msgstr "" + +#. TRANSLATORS: appstream-compose failed to include all data +#: tools/appstream-compose.c:380 +msgid "Run failed, some data was ignored." +msgstr "" + +#. TRANSLATORS: information message of appstream-compose +#: tools/appstream-compose.c:382 +msgid "Errors were raised during this compose run:" +msgstr "" + +#: tools/appstream-compose.c:383 +msgid "" +"Refer to the generated issue report data for details on the individual " +"problems." +msgstr "" + +#: tools/appstream-compose.c:386 +msgid "Overview of generated hints:" +msgstr "" + +#. TRANSLATORS: information message +#: tools/appstream-compose.c:388 +msgid "Success!" +msgstr "" + +#. TRANSLATORS: ascli flag description for: --cachepath +#: tools/appstreamcli.c:59 +msgid "Manually selected location of AppStream cache." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --datapath +#: tools/appstreamcli.c:64 +msgid "Manually selected location of AppStream metadata to scan." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --no-cache +#: tools/appstreamcli.c:69 +msgid "Make request without any caching." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --format +#: tools/appstreamcli.c:85 +msgid "Default metadata format (valid values are 'xml' and 'yaml')." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --details +#: tools/appstreamcli.c:100 +msgid "Print detailed output about found components." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) +#: tools/appstreamcli.c:118 +msgid "Also show pedantic hints." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) +#: tools/appstreamcli.c:123 +msgid "Print detailed explanation for found issues." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) +#: tools/appstreamcli.c:128 +msgid "Do not use network access." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --format when validating XML files +#: tools/appstreamcli.c:133 +msgid "Format of the generated report (valid values are 'text' and 'yaml')." +msgstr "" + +#. TRANSLATORS: This is the header to the --help menu for subcommands +#. TRANSLATORS: This is the header to the --help menu +#: tools/appstreamcli.c:153 tools/appstreamcli.c:981 +msgid "AppStream command-line interface" +msgstr "" + +#: tools/appstreamcli.c:156 +#, c-format +msgid "'%s' command" +msgstr "I wanted monni" + +#. TRANSLATORS: An unknown option was passed to appstreamcli. +#: tools/appstreamcli.c:191 +#, c-format +msgid "Option '%s' is unknown." +msgstr "" + +#: tools/appstreamcli.c:195 tools/appstreamcli.c:1207 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options." +msgstr "" + +#: tools/appstreamcli.c:197 +#, c-format +msgid "" +"Run '%s --help' to see a list of available commands and options, and '%s %s " +"--help' to see a list of options specific for this subcommand." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --force +#: tools/appstreamcli.c:245 +msgid "Enforce a cache refresh." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --user +#: tools/appstreamcli.c:251 +msgid "Update the user-specific instead of the system-wide cache." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --origin (part of the "put" subcommand) +#: tools/appstreamcli.c:477 +msgid "Set the data origin for the installed metadata collection file." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --user (part of the "put" subcommand) +#: tools/appstreamcli.c:482 +msgid "Install the file for the current user, instead of globally." +msgstr "" + +#: tools/appstreamcli.c:631 +msgid "" +"You need to provide at least two version numbers to compare as parameters." +msgstr "" + +#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. +#: tools/appstreamcli.c:660 +#, c-format +msgid "Unknown compare relation '%s'. Valid values are:" +msgstr "" + +#: tools/appstreamcli.c:700 +msgid "" +"Too many parameters: Need two version numbers or version numbers and a " +"comparison operator." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) +#: tools/appstreamcli.c:726 +msgid "" +"Use the given .desktop file to fill in the basic values of the metainfo file." +msgstr "" + +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand +#: tools/appstreamcli.c:731 +msgid "" +"This command takes optional TYPE and FILE positional arguments, FILE being a " +"file to write to (or \"-\" for standard output)." +msgstr "" + +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows +#: tools/appstreamcli.c:734 +#, c-format +msgid "The TYPE must be a valid component-type, such as: %s" +msgstr "" + +#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) +#: tools/appstreamcli.c:775 +msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command +#: tools/appstreamcli.c:815 +msgid "Assume the input file is in the selected format ('yaml' or 'text')." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command +#: tools/appstreamcli.c:820 +msgid "" +"Limit the number of release entries that end up in the metainfo file (0 for " +"unlimited)." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command +#: tools/appstreamcli.c:862 +msgid "Generate the output in the selected format ('yaml' or 'text')." +msgstr "" + +#: tools/appstreamcli.c:894 +#, c-format +msgid "Compose binary '%s' was not found! Can not continue." +msgstr "" + +#. TRANSLATORS: this is a (usually shorter) command alias, shown after the command summary text +#: tools/appstreamcli.c:956 +#, c-format +msgid "(Alias: '%s')" +msgstr "" + +#. these are commands we can use with appstreamcli +#: tools/appstreamcli.c:983 +msgid "Subcommands:" +msgstr "" + +#: tools/appstreamcli.c:1029 +msgid "" +"You can find information about subcommand-specific options by passing \"--" +"help\" to the subcommand." +msgstr "" + +#. TRANSLATORS: ascli has been run with unknown command. '%s --help' is the command to receive help and should not be translated. +#: tools/appstreamcli.c:1052 +#, c-format +msgid "" +"Command '%s' is unknown. Run '%s --help' for a list of available commands." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --verbose +#: tools/appstreamcli.c:1082 +msgid "Show extra debugging information." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --profile +#: tools/appstreamcli.c:1090 +msgid "Enable profiling" +msgstr "" + +#. TRANSLATORS: `appstreamcli search` command description. +#: tools/appstreamcli.c:1102 +msgid "Search the component database." +msgstr "" + +#. TRANSLATORS: `appstreamcli get` command description. +#: tools/appstreamcli.c:1107 +msgid "Get information about a component by its ID." +msgstr "" + +#. TRANSLATORS: `appstreamcli what-provides` command description. +#: tools/appstreamcli.c:1112 +msgid "" +"Get components which provide the given item. Needs an item type (e.g. lib, " +"bin, python3, …) and item value as parameter." +msgstr "" + +#. TRANSLATORS: `appstreamcli dump` command description. +#: tools/appstreamcli.c:1118 +msgid "Dump raw XML metadata for a component matching the ID." +msgstr "" + +#. TRANSLATORS: `appstreamcli refresh-cache` command description. +#: tools/appstreamcli.c:1123 +msgid "Rebuild the component metadata cache." +msgstr "" + +#. TRANSLATORS: `appstreamcli validate` command description. +#: tools/appstreamcli.c:1129 +msgid "Validate AppStream XML files for issues." +msgstr "" + +#. TRANSLATORS: `appstreamcli validate-tree` command description. +#: tools/appstreamcli.c:1134 +msgid "Validate an installed file-tree of an application for valid metadata." +msgstr "" + +#. TRANSLATORS: `appstreamcli install` command description. +#: tools/appstreamcli.c:1140 +msgid "Install software matching the component-ID." +msgstr "" + +#. TRANSLATORS: `appstreamcli remove` command description. +#: tools/appstreamcli.c:1145 +msgid "Remove software matching the component-ID." +msgstr "" + +#. TRANSLATORS: `appstreamcli status` command description. +#: tools/appstreamcli.c:1151 +msgid "Display status information about available AppStream metadata." +msgstr "" + +#. TRANSLATORS: `appstreamcli os-info` command description. +#: tools/appstreamcli.c:1156 +msgid "" +"Show information about the current operating system from the metadata index." +msgstr "" + +#. TRANSLATORS: `appstreamcli put` command description. +#: tools/appstreamcli.c:1161 +msgid "Install a metadata file into the right location." +msgstr "" + +#. TRANSLATORS: `appstreamcli convert` command description. "Collection XML" is a term describing a specific type of AppStream XML data. +#: tools/appstreamcli.c:1166 +msgid "Convert collection XML to YAML or vice versa." +msgstr "" + +#. TRANSLATORS: `appstreamcli vercmp` command description. +#: tools/appstreamcli.c:1171 +msgid "Compare two version numbers." +msgstr "" + +#. TRANSLATORS: `appstreamcli new-template` command description. +#: tools/appstreamcli.c:1177 +msgid "" +"Create a template for a metainfo file (to be filled out by the upstream " +"project)." +msgstr "" + +#. TRANSLATORS: `appstreamcli make-desktop-file` command description. +#: tools/appstreamcli.c:1182 +msgid "Create a desktop-entry file from a metainfo file." +msgstr "" + +#. TRANSLATORS: `appstreamcli news-to-metainfo` command description. +#: tools/appstreamcli.c:1187 +msgid "Convert a YAML or text NEWS file into metainfo releases." +msgstr "" + +#. TRANSLATORS: `appstreamcli metainfo-to-news` command description. +#: tools/appstreamcli.c:1192 +msgid "Write NEWS text or YAML file with information from a metainfo file." +msgstr "" + +#. TRANSLATORS: `appstreamcli compose` command description. +#: tools/appstreamcli.c:1198 +msgid "Compose AppStream collection metadata from directory trees." +msgstr "" + +#. TRANSLATORS: ascli has been run without command. +#: tools/appstreamcli.c:1206 +msgid "You need to specify a command." +msgstr "" + +#. TRANSLATORS: In ascli: The requested action needs higher permissions. +#: tools/ascli-actions-mdata.c:70 +msgid "You might need superuser permissions to perform this action." +msgstr "" + +#. we performed a cache refresh +#. TRANSLATORS: Updating the metadata cache succeeded +#: tools/ascli-actions-mdata.c:80 +msgid "AppStream cache update completed successfully." +msgstr "" + +#. cache wasn't updated, so the update wasn't necessary +#: tools/ascli-actions-mdata.c:86 +msgid "AppStream cache update is not necessary." +msgstr "" + +#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments +#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. +#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:253 +#: tools/ascli-actions-pkgmgr.c:80 +msgid "You need to specify a component-ID." +msgstr "" + +#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:265 +#: tools/ascli-actions-pkgmgr.c:93 +#, c-format +msgid "Unable to find component with ID '%s'!" +msgstr "" + +#: tools/ascli-actions-mdata.c:164 +msgid "You need to specify a term to search for." +msgstr "" + +#. TRANSLATORS: We failed to find any component in the database, likely due to an error +#: tools/ascli-actions-mdata.c:177 +#, c-format +msgid "Unable to find component matching %s!" +msgstr "" + +#: tools/ascli-actions-mdata.c:182 +#, c-format +msgid "No component matching '%s' found." +msgstr "" + +#: tools/ascli-actions-mdata.c:206 +msgid "No value for the item to search for was defined." +msgstr "" + +#: tools/ascli-actions-mdata.c:212 +msgid "Invalid type for provided item selected. Valid values are:" +msgstr "" + +#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results +#: tools/ascli-actions-mdata.c:227 +#, c-format +msgid "Could not find component providing '%s::%s'." +msgstr "" + +#: tools/ascli-actions-mdata.c:306 +msgid "You need to specify a metadata file." +msgstr "" + +#: tools/ascli-actions-mdata.c:320 +#, c-format +msgid "Unable to install metadata file: %s" +msgstr "" + +#: tools/ascli-actions-mdata.c:340 +msgid "You need to specify an input and output file." +msgstr "" + +#: tools/ascli-actions-mdata.c:347 +#, c-format +msgid "Metadata file '%s' does not exist." +msgstr "" + +#. TRANSLATORS: User is trying to convert a file in ascli +#: tools/ascli-actions-mdata.c:387 +msgid "" +"Unable to convert file: Could not determine output format, please set it " +"explicitly using '--format='." +msgstr "" + +#: tools/ascli-actions-mdata.c:438 +#, c-format +msgid "Unable to find operating system component '%s'!" +msgstr "" + +#: tools/ascli-actions-mdata.c:443 +msgid "Version" +msgstr "" + +#: tools/ascli-actions-mdata.c:467 +msgid "" +"You need to give an AppStream software component type to generate a " +"template. Possible values are:" +msgstr "" + +#: tools/ascli-actions-mdata.c:469 +#, c-format +msgid "" +"The software component type '%s' is not valid in AppStream. Possible values " +"are:" +msgstr "" + +#: tools/ascli-actions-mdata.c:487 +#, c-format +msgid "The .desktop file '%s' does not exist." +msgstr "" + +#: tools/ascli-actions-mdata.c:493 +#, c-format +msgid "Unable to read the .desktop file: %s" +msgstr "" + +#: tools/ascli-actions-mdata.c:564 +#, c-format +msgid "Unable to build the template metainfo file: %s" +msgstr "" + +#: tools/ascli-actions-mdata.c:572 +#, c-format +msgid "Unable to save the template metainfo file: %s" +msgstr "" + +#. TRANSLATORS: In the status report of ascli: Header +#: tools/ascli-actions-misc.c:47 +msgid "AppStream Status:" +msgstr "" + +#: tools/ascli-actions-misc.c:48 +#, c-format +msgid "Version: %s" +msgstr "" + +#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions +#: tools/ascli-actions-misc.c:52 +msgid "Distribution metadata:" +msgstr "" + +#: tools/ascli-actions-misc.c:94 +msgid "Iconsets" +msgstr "" + +#: tools/ascli-actions-misc.c:105 +msgid "No icons." +msgstr "" + +#. TRANSLATORS: No metainfo files have been found +#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 +msgid "Empty." +msgstr "" + +#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report +#: tools/ascli-actions-misc.c:116 +msgid "Metainfo files:" +msgstr "" + +#: tools/ascli-actions-misc.c:123 +#, c-format +msgid "Found %i components." +msgstr "" + +#. TRANSLATORS: Found metainfo files in legacy directories +#: tools/ascli-actions-misc.c:138 +#, c-format +msgid "Found %i components in legacy paths." +msgstr "" + +#. TRANSLATORS: Status summary in ascli +#: tools/ascli-actions-misc.c:145 +msgid "Summary:" +msgstr "" + +#: tools/ascli-actions-misc.c:153 +#, c-format +msgid "We have information on %i software components." +msgstr "" + +#: tools/ascli-actions-misc.c:159 +#, c-format +msgid "Error while loading the metadata pool: %s" +msgstr "" + +#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 +msgid "You need to specify a metainfo file as input." +msgstr "" + +#: tools/ascli-actions-misc.c:188 +msgid "" +"You need to specify a desktop-entry file to create or augment as output." +msgstr "" + +#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 +#: tools/ascli-actions-misc.c:515 +#, c-format +msgid "Metainfo file '%s' does not exist." +msgstr "" + +#: tools/ascli-actions-misc.c:219 +#, c-format +msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." +msgstr "" + +#: tools/ascli-actions-misc.c:224 +#, c-format +msgid "Unable to load existing desktop-entry file template: %s" +msgstr "" + +#: tools/ascli-actions-misc.c:228 +#, c-format +msgid "Creating new desktop-entry file '%s' using data from '%s'" +msgstr "" + +#: tools/ascli-actions-misc.c:284 +msgid "No stock icon name was provided in the metainfo file. Can not continue." +msgstr "" + +#: tools/ascli-actions-misc.c:306 +msgid "" +"No provided binary specified in metainfo file, and no exec command specified " +"via '--exec'. Can not create 'Exec=' key." +msgstr "" + +#: tools/ascli-actions-misc.c:370 +#, c-format +msgid "Unable to save desktop entry file: %s" +msgstr "" + +#: tools/ascli-actions-misc.c:393 +msgid "You need to specify a NEWS file as input." +msgstr "" + +#: tools/ascli-actions-misc.c:397 +msgid "" +"You need to specify a metainfo file to augment, or '-' to print to stdout." +msgstr "" + +#: tools/ascli-actions-misc.c:402 +msgid "No output filename specified, modifying metainfo file directly." +msgstr "" + +#: tools/ascli-actions-misc.c:509 +msgid "You need to specify a NEWS file as output, or '-' to print to stdout." +msgstr "" + +#: tools/ascli-actions-misc.c:540 +msgid "You need to specify a NEWS format to write the output in." +msgstr "" + +#: tools/ascli-actions-pkgmgr.c:53 +msgid "" +"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" +"\" (part of PackageKit) is available." +msgstr "" + +#: tools/ascli-actions-pkgmgr.c:67 +#, c-format +msgid "Unable to spawn package manager: %s" +msgstr "" + +#. TRANSLATORS: We found no distribution package or bundle to install to make this software available +#: tools/ascli-actions-pkgmgr.c:106 +#, c-format +msgid "Component '%s' has no installation candidate." +msgstr "" + +#: tools/ascli-actions-validate.c:176 tools/ascli-actions-validate.c:354 +#, c-format +msgid "File '%s' does not exist." +msgstr "" + +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "error"-type hints +#: tools/ascli-actions-validate.c:228 +#, c-format +msgid "errors: %lu" +msgstr "" + +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "warning"-type hints +#: tools/ascli-actions-validate.c:235 +#, c-format +msgid "warnings: %lu" +msgstr "" + +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "info"-type hints +#: tools/ascli-actions-validate.c:242 +#, c-format +msgid "infos: %lu" +msgstr "" + +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "pedantic"-type hints +#: tools/ascli-actions-validate.c:249 +#, c-format +msgid "pedantic: %lu" +msgstr "" + +#: tools/ascli-actions-validate.c:268 tools/ascli-actions-validate.c:342 +msgid "You need to specify at least one file to validate!" +msgstr "" + +#: tools/ascli-actions-validate.c:294 tools/ascli-actions-validate.c:435 +msgid "Validation was successful." +msgstr "" + +#: tools/ascli-actions-validate.c:296 tools/ascli-actions-validate.c:437 +#, c-format +msgid "Validation was successful: %s" +msgstr "" + +#: tools/ascli-actions-validate.c:306 tools/ascli-actions-validate.c:447 +#, c-format +msgid "Validation failed: %s" +msgstr "" + +#: tools/ascli-actions-validate.c:368 tools/ascli-actions-validate.c:497 +#, c-format +msgid "" +"The validator can not create reports in the '%s' format. You may select " +"'yaml' or 'text' instead." +msgstr "" + +#: tools/ascli-actions-validate.c:390 tools/ascli-actions-validate.c:484 +msgid "You need to specify a root directory to start validation!" +msgstr "" + +#: tools/ascli-utils.c:266 +msgid "Identifier" +msgstr "" + +#: tools/ascli-utils.c:268 +msgid "Internal ID" +msgstr "" + +#: tools/ascli-utils.c:269 +msgid "Name" +msgstr "" + +#: tools/ascli-utils.c:270 +msgid "Summary" +msgstr "" + +#: tools/ascli-utils.c:271 +msgid "Package" +msgstr "" + +#: tools/ascli-utils.c:272 +msgid "Bundle" +msgstr "" + +#: tools/ascli-utils.c:273 +msgid "Homepage" +msgstr "" + +#: tools/ascli-utils.c:274 +msgid "Icon" +msgstr "" + +#. developer name +#: tools/ascli-utils.c:294 +msgid "Developer" +msgstr "" + +#: tools/ascli-utils.c:300 +msgid "Extends" +msgstr "" + +#: tools/ascli-utils.c:306 +msgid "Description" +msgstr "" + +#: tools/ascli-utils.c:326 +msgid "Default Screenshot URL" +msgstr "" + +#. project group +#: tools/ascli-utils.c:333 +msgid "Project Group" +msgstr "" + +#. license +#: tools/ascli-utils.c:336 +msgid "License" +msgstr "" + +#: tools/ascli-utils.c:342 +msgid "Categories" +msgstr "" + +#: tools/ascli-utils.c:350 +msgid "Compulsory for" +msgstr "" + +#: tools/ascli-utils.c:378 +msgid "Provided Items" +msgstr "" diff -Nru appstream-0.12.10/po/ro.po appstream-0.14.5/po/ro.po --- appstream-0.12.10/po/ro.po 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/po/ro.po 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,3078 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR Matthias Klumpp +# This file is distributed under the same license as the appstream package. +# Daniel Șerbănescu , 2020. +# Alecsa Maria , 2021. +msgid "" +msgstr "" +"Project-Id-Version: appstream\n" +"Report-Msgid-Bugs-To: appstream@lists.freedesktop.org\n" +"POT-Creation-Date: 2021-08-28 16:09+0200\n" +"PO-Revision-Date: 2021-02-12 09:50+0000\n" +"Last-Translator: Alecsa Maria \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " +"20)) ? 1 : 2;\n" +"X-Generator: Weblate 4.5-dev\n" + +#: data/org.freedesktop.appstream.cli.metainfo.xml:8 +msgid "AppStream CLI" +msgstr "CLI AppStream" + +#: data/org.freedesktop.appstream.cli.metainfo.xml:9 +msgid "An utility to work with AppStream metadata" +msgstr "O utilitate pentru a lucra cu datele meta AppStream" + +#: data/org.freedesktop.appstream.cli.metainfo.xml:12 +msgid "" +"AppStream is a metadata specification which permits software components to " +"provide information about themselves to automated systems and end-users " +"before the software is actually installed. The AppStream project provides " +"facilities to easily access and transform this metadata, as well as a few " +"additional services for building feature-rich software centers and similar " +"applications that make use of software metadata." +msgstr "" + +#: data/org.freedesktop.appstream.cli.metainfo.xml:18 +#, fuzzy +msgid "" +"The appstreamcli command-line tool allows to read, write, and " +"transform AppStream XML or YAML metadata as well as to validate it for " +"compliance with the specification. It also provides easy access to the " +"system metadata pool, for example to query for software that provides a " +"specific Mediatype handler or for installing software by its component " +"identifier." +msgstr "" +"Această unealtă permite citirea, scrierea, validarea și transformarea de " +"date meta XML sau YAML AppStream. De asemenea, oferă accesul la rezerva de " +"date meta a sistemului, de exemplu pentru a interoga pentru software care " +"furnizează un tip MIME specific, și instalarea lui prin identificatorul de " +"componentă software al acestuia." + +#: src/as-category.c:66 +msgctxt "Category of AudioVideo" +msgid "Featured" +msgstr "Recomandate" + +#: src/as-category.c:69 +msgctxt "Category of AudioVideo" +msgid "Audio Creation & Editing" +msgstr "Creare și editare audio" + +#: src/as-category.c:75 +msgctxt "Category of AudioVideo" +msgid "Music Players" +msgstr "Playere de muzică" + +#: src/as-category.c:84 +msgctxt "Category of Development" +msgid "Featured" +msgstr "Recomandate" + +#: src/as-category.c:87 +msgctxt "Category of Development" +msgid "Debuggers" +msgstr "Depanatoare" + +#: src/as-category.c:90 +msgctxt "Category of Development" +msgid "IDEs" +msgstr "Medii de dezvoltare integrate" + +#: src/as-category.c:99 +msgctxt "Category of Education" +msgid "Featured" +msgstr "Recomandate" + +#: src/as-category.c:102 +msgctxt "Category of Education" +msgid "Astronomy" +msgstr "Astronomie" + +#: src/as-category.c:105 +msgctxt "Category of Education" +msgid "Chemistry" +msgstr "Chimie" + +#: src/as-category.c:108 +msgctxt "Category of Education" +msgid "Languages" +msgstr "Limbi" + +#: src/as-category.c:112 +msgctxt "Category of Education" +msgid "Math" +msgstr "Matematică" + +#: src/as-category.c:121 +msgctxt "Category of Games" +msgid "Featured" +msgstr "Recomandate" + +#: src/as-category.c:124 +msgctxt "Category of Games" +msgid "Action" +msgstr "Acțiune" + +#: src/as-category.c:127 +msgctxt "Category of Games" +msgid "Adventure" +msgstr "Aventură" + +#: src/as-category.c:130 +msgctxt "Category of Games" +msgid "Arcade" +msgstr "Arcadă" + +#: src/as-category.c:133 +msgctxt "Category of Games" +msgid "Blocks" +msgstr "Blocuri" + +#: src/as-category.c:136 +msgctxt "Category of Games" +msgid "Board" +msgstr "De masă" + +#: src/as-category.c:139 +msgctxt "Category of Games" +msgid "Card" +msgstr "Cărți" + +#: src/as-category.c:142 +msgctxt "Category of Games" +msgid "Emulators" +msgstr "Emulatoare" + +#: src/as-category.c:145 +msgctxt "Category of Games" +msgid "Kids" +msgstr "Copii" + +#: src/as-category.c:148 +msgctxt "Category of Games" +msgid "Logic" +msgstr "Logică" + +#: src/as-category.c:151 +msgctxt "Category of Games" +msgid "Role Playing" +msgstr "Pe roluri" + +#: src/as-category.c:154 +msgctxt "Category of Games" +msgid "Sports" +msgstr "Sport" + +#: src/as-category.c:158 +msgctxt "Category of Games" +msgid "Strategy" +msgstr "Strategie" + +#: src/as-category.c:166 +msgctxt "Category of Graphics" +msgid "Featured" +msgstr "Recomandate" + +#: src/as-category.c:169 +msgctxt "Category of Graphics" +msgid "3D Graphics" +msgstr "Grafice 3D" + +#: src/as-category.c:172 +msgctxt "Category of Graphics" +msgid "Photography" +msgstr "Fotografie" + +#: src/as-category.c:175 +msgctxt "Category of Graphics" +msgid "Scanning" +msgstr "Scanare" + +#: src/as-category.c:178 +msgctxt "Category of Graphics" +msgid "Vector Graphics" +msgstr "Grafică vectorială" + +#: src/as-category.c:181 +msgctxt "Category of Graphics" +msgid "Viewers" +msgstr "Vizualizatoare" + +#: src/as-category.c:189 +msgctxt "Category of Office" +msgid "Featured" +msgstr "Recomandate" + +#: src/as-category.c:192 +msgctxt "Category of Office" +msgid "Calendar" +msgstr "Calendar" + +#: src/as-category.c:196 +msgctxt "Category of Office" +msgid "Database" +msgstr "Bază de date" + +#: src/as-category.c:199 +msgctxt "Category of Office" +msgid "Finance" +msgstr "Finanțe" + +#: src/as-category.c:203 +msgctxt "Category of Office" +msgid "Word Processor" +msgstr "Procesoare de text" + +#: src/as-category.c:212 +msgctxt "Category of Addons" +msgid "Fonts" +msgstr "Fonturi" + +#: src/as-category.c:215 +msgctxt "Category of Addons" +msgid "Codecs" +msgstr "Codecuri" + +#: src/as-category.c:218 +msgctxt "Category of Addons" +msgid "Input Sources" +msgstr "Surse de intrare" + +#: src/as-category.c:221 +msgctxt "Category of Addons" +msgid "Language Packs" +msgstr "Pachete de limbă" + +#: src/as-category.c:224 +msgctxt "Category of Addons" +msgid "Localization" +msgstr "Localizare" + +#: src/as-category.c:232 +msgctxt "Category of Science" +msgid "Featured" +msgstr "Recomandate" + +#: src/as-category.c:235 +msgctxt "Category of Science" +msgid "Artificial Intelligence" +msgstr "Inteligență artificială" + +#: src/as-category.c:238 +msgctxt "Category of Science" +msgid "Astronomy" +msgstr "Astronomie" + +#: src/as-category.c:241 +msgctxt "Category of Science" +msgid "Chemistry" +msgstr "Chimie" + +#: src/as-category.c:244 +msgctxt "Category of Science" +msgid "Math" +msgstr "Matematică" + +#: src/as-category.c:249 +msgctxt "Category of Science" +msgid "Robotics" +msgstr "Robotică" + +#: src/as-category.c:257 +msgctxt "Category of Communication" +msgid "Featured" +msgstr "Recomandate" + +#: src/as-category.c:260 +msgctxt "Category of Communication" +msgid "Chat" +msgstr "Conversație" + +#: src/as-category.c:267 +msgctxt "Category of Communication" +msgid "News" +msgstr "Știri" + +#: src/as-category.c:271 +msgctxt "Category of Communication" +msgid "Web Browsers" +msgstr "Navigatoare web" + +#: src/as-category.c:279 +msgctxt "Category of Utility" +msgid "Featured" +msgstr "Recomandate" + +#: src/as-category.c:282 +msgctxt "Category of Utility" +msgid "Text Editors" +msgstr "Editoare de text" + +#: src/as-category.c:285 +msgctxt "Category of Utility" +msgid "Terminal Emulators" +msgstr "Emulatoare de terminal" + +#: src/as-category.c:288 +msgctxt "Category of Utility" +msgid "File System" +msgstr "Sistem de fișiere" + +#: src/as-category.c:291 +msgctxt "Category of Utility" +msgid "System Monitoring" +msgstr "Monitorizare de sistem" + +#: src/as-category.c:294 +msgctxt "Category of Utility" +msgid "Security" +msgstr "Securitate" + +#. TRANSLATORS: this is the menu spec main category for Audio & Video +#: src/as-category.c:303 +msgid "Audio & Video" +msgstr "Audio și video" + +#. TRANSLATORS: this is the menu spec main category for Development +#: src/as-category.c:306 +msgid "Developer Tools" +msgstr "Instrumente pentru dezvoltatori" + +#. TRANSLATORS: this is the menu spec main category for Education +#: src/as-category.c:309 +msgid "Education" +msgstr "Educație" + +#. TRANSLATORS: this is the menu spec main category for Game +#: src/as-category.c:312 +msgid "Games" +msgstr "Jocuri" + +#. TRANSLATORS: this is the menu spec main category for Graphics +#: src/as-category.c:315 +msgid "Graphics & Photography" +msgstr "Grafică și fotografie" + +#. TRANSLATORS: this is the menu spec main category for Office +#: src/as-category.c:318 +msgid "Office" +msgstr "Birou" + +#. TRANSLATORS: this is the main category for Add-ons +#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor +#: src/as-category.c:321 tools/ascli-utils.c:371 +msgid "Add-ons" +msgstr "Suplimente" + +#. TRANSLATORS: this is the menu spec main category for Science +#: src/as-category.c:324 +msgid "Science" +msgstr "Știință" + +#. TRANSLATORS: this is the menu spec main category for Communication +#: src/as-category.c:327 +msgid "Communication & News" +msgstr "Comunicare și știri" + +#. TRANSLATORS: this is the menu spec main category for Utilities +#: src/as-category.c:330 +msgid "Utilities" +msgstr "Utilități" + +#. TRANSLATORS: This is the formatting of English and localized name +#. * of the rating e.g. "Adults Only (solo adultos)" +#: src/as-content-rating.c:298 +#, c-format +msgid "%s (%s)" +msgstr "" + +#: src/as-content-rating.c:444 +msgid "General" +msgstr "General" + +#: src/as-content-rating.c:453 +msgid "ALL" +msgstr "Toate" + +#: src/as-content-rating.c:457 src/as-content-rating.c:560 +msgid "Adults Only" +msgstr "Doar pentru adulți" + +#: src/as-content-rating.c:459 src/as-content-rating.c:559 +msgid "Mature" +msgstr "Adult" + +#: src/as-content-rating.c:461 src/as-content-rating.c:558 +msgid "Teen" +msgstr "Adolescenți" + +#: src/as-content-rating.c:463 src/as-content-rating.c:557 +msgid "Everyone 10+" +msgstr "De la 10 ani în sus" + +#: src/as-content-rating.c:465 src/as-content-rating.c:556 +msgid "Everyone" +msgstr "Toată lumea" + +#: src/as-content-rating.c:467 src/as-content-rating.c:555 +msgid "Early Childhood" +msgstr "Copii mici" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:839 +msgid "No cartoon violence" +msgstr "Desene animate fara violență" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:841 +msgid "Cartoon characters in unsafe situations" +msgstr "Personaje animate in situații de nesiguranță" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:843 +msgid "Cartoon characters in aggressive conflict" +msgstr "Personaje de desene animate în conflict agresiv" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:845 +msgid "Graphic violence involving cartoon characters" +msgstr "Violență grafică care implică personaje de desene animate" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:850 +msgid "No fantasy violence" +msgstr "Fără violență fantezistă" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:852 +msgid "Characters in unsafe situations easily distinguishable from reality" +msgstr "Personaje în situații nesigure, ușor de distins de realitate" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:854 +msgid "Characters in aggressive conflict easily distinguishable from reality" +msgstr "Personajele aflate în conflict agresiv se disting ușor de realitate" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:856 +msgid "Graphic violence easily distinguishable from reality" +msgstr "Violența grafică ușor de distins de realitate" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:861 +msgid "No realistic violence" +msgstr "Fără violență realistă" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:863 +msgid "Mildly realistic characters in unsafe situations" +msgstr "Personaje ușor realiste în situații nesigure" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:865 +msgid "Depictions of realistic characters in aggressive conflict" +msgstr "Prezentări ale personajelor realiste în conflict agresiv" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:867 +msgid "Graphic violence involving realistic characters" +msgstr "Violență grafică care implică personaje realiste" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:872 +msgid "No bloodshed" +msgstr "Fără vărsare de sânge" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:874 +msgid "Unrealistic bloodshed" +msgstr "Vărsare de sânge nerealistă" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:876 +msgid "Realistic bloodshed" +msgstr "Vărsare de sânge realistă" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:878 +msgid "Depictions of bloodshed and the mutilation of body parts" +msgstr "Reprezentarea vărsării de sânge și mutilarea părților corpului" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:883 +msgid "No sexual violence" +msgstr "Fără violență sexuală" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:885 +msgid "Rape or other violent sexual behavior" +msgstr "Viol sau alt comportament sexual violent" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:892 +msgid "No references to alcohol" +msgstr "Fără referiri la alcool" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:894 +msgid "References to alcoholic beverages" +msgstr "Cu referiri la băuturi alcoolice" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:896 +msgid "Use of alcoholic beverages" +msgstr "Utilizarea băuturilor alcoolice" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:902 +msgid "No references to illicit drugs" +msgstr "Fără referiri la drogurile ilicite" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:904 +msgid "References to illicit drugs" +msgstr "Cu referiri la droguri ilicite" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:906 +msgid "Use of illicit drugs" +msgstr "Utilizarea drogurilor ilicite" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:912 +msgid "No references to tobacco products" +msgstr "Nu există referiri la produsele din tutun" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:914 +msgid "References to tobacco products" +msgstr "Referiri la produsele din tutun" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:916 +msgid "Use of tobacco products" +msgstr "Utilizarea produselor din tutun" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:922 +msgid "No nudity of any sort" +msgstr "Niciun fel de nuditate" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:924 +msgid "Brief artistic nudity" +msgstr "Puțină nuditate artistică" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:926 +msgid "Prolonged nudity" +msgstr "Nuditate prelungită" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:932 +msgid "No references to or depictions of sexual nature" +msgstr "Fără referiri sau descrieri de natură sexuală" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:934 +msgid "Provocative references or depictions" +msgstr "Referințe provocatoare sau descrieri" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:936 +msgid "Sexual references or depictions" +msgstr "Referințe sau descrieri sexuale" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:938 +msgid "Graphic sexual behavior" +msgstr "Comportament sexual grafic" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:943 +msgid "No profanity of any kind" +msgstr "Niciun fel de blasfemie" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:945 +msgid "Mild or infrequent use of profanity" +msgstr "Utilizarea ușoară sau mai puțin frecventă a blasfemiei" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:947 +msgid "Moderate use of profanity" +msgstr "Utilizarea moderată a blasfemiei" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:949 +msgid "Strong or frequent use of profanity" +msgstr "Folosirea puternică sau frecventă a blasfemieii" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:954 +msgid "No inappropriate humor" +msgstr "Fără umor nepotrivit" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:956 +msgid "Slapstick humor" +msgstr "Umor infantil" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:958 +msgid "Vulgar or bathroom humor" +msgstr "Umor vulgar" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:960 +msgid "Mature or sexual humor" +msgstr "Umor matur sau sexual" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:965 +msgid "No discriminatory language of any kind" +msgstr "Nu există limbaj discriminatoriu de niciun fel" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:967 +msgid "Negativity towards a specific group of people" +msgstr "Negativitate față de un anumit grup de oameni" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:969 +msgid "Discrimination designed to cause emotional harm" +msgstr "Discriminare menită să provoace rău emoțional" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:971 +msgid "Explicit discrimination based on gender, sexuality, race or religion" +msgstr "Discriminare explicită bazată pe sex, sexualitate, rasă sau religie" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:976 +msgid "No advertising of any kind" +msgstr "Nu există publicitate de niciun fel" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:978 +msgid "Product placement" +msgstr "Plasare de produs" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:980 +msgid "Explicit references to specific brands or trademarked products" +msgstr "Referințe explicite la anumite mărci sau produse comerciale" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:982 +msgid "Users are encouraged to purchase specific real-world items" +msgstr "" +"Utilizatorii sunt încurajați să cumpere articole specifice din lumea reală" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:987 +msgid "No gambling of any kind" +msgstr "Fără jocuri de noroc" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:989 +msgid "Gambling on random events using tokens or credits" +msgstr "Jocuri de noroc pe evenimente aleatorii folosind jetoane sau credite" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:991 +msgid "Gambling using “play” money" +msgstr "Jocuri de noroc folosind bani „din joc”" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:993 +msgid "Gambling using real money" +msgstr "Jocuri de noroc folosind bani reali" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:998 +msgid "No ability to spend money" +msgstr "Nici o capacitate de a cheltui bani" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1000 +msgid "Users are encouraged to donate real money" +msgstr "Utilizatorii sunt încurajați să doneze bani reali" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1003 +msgid "Ability to spend real money in-app" +msgstr "Abilitatea de a cheltui bani reali în aplicație" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1008 +msgid "No way to chat with other users" +msgstr "Nici o modalitate de a discuta cu alți utilizatori" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1010 +msgid "User-to-user interactions without chat functionality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1012 +msgid "Moderated chat functionality between users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1014 +msgid "Uncontrolled chat functionality between users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1019 +msgid "No way to talk with other users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1021 +msgid "Uncontrolled audio or video chat functionality between users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1028 +msgid "No sharing of social network usernames or email addresses" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1030 +msgid "Sharing social network usernames or email addresses" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1037 +msgid "No sharing of user information with third parties" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1039 +msgid "Checking for the latest application version" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1041 +msgid "Sharing diagnostic data that does not let others identify the user" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1043 +msgid "Sharing information that lets others identify the user" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1048 +msgid "No sharing of physical location with other users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1050 +msgid "Sharing physical location with other users" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1073 +msgid "No references to homosexuality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1075 +msgid "Indirect references to homosexuality" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1077 +msgid "Kissing between people of the same gender" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1079 +msgid "Graphic sexual behavior between people of the same gender" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1084 +msgid "No references to prostitution" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1086 +msgid "Indirect references to prostitution" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1088 +msgid "Direct references to prostitution" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1090 +msgid "Graphic depictions of the act of prostitution" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1095 +msgid "No references to adultery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1097 +msgid "Indirect references to adultery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1099 +msgid "Direct references to adultery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1101 +msgid "Graphic depictions of the act of adultery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1106 +msgid "No sexualized characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1109 +msgid "Scantily clad human characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1111 +msgid "Overtly sexualized human characters" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1116 +msgid "No references to desecration" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1118 +msgid "Depictions of or references to historical desecration" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1120 +msgid "Depictions of modern-day human desecration" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1122 +msgid "Graphic depictions of modern-day desecration" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1127 +msgid "No visible dead human remains" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1129 +msgid "Visible dead human remains" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1131 +msgid "Dead human remains that are exposed to the elements" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1133 +msgid "Graphic depictions of desecration of human bodies" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1138 +msgid "No references to slavery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1140 +msgid "Depictions of or references to historical slavery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1142 +msgid "Depictions of modern-day slavery" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1144 +msgid "Graphic depictions of modern-day slavery" +msgstr "" + +#. TRANSLATORS: We got a 429 error while trying to download data +#: src/as-curl.c:134 +#, c-format +msgid "Failed to download due to server limit" +msgstr "" + +#: src/as-curl.c:141 src/as-curl.c:148 +#, fuzzy, c-format +msgid "Failed to download file: %s" +msgstr "Nu se poate salva fișierul de intrare desktop: %s" + +#. TRANSLATORS: We tried to download an URL, but received a 404 error code +#: src/as-curl.c:157 +#, c-format +msgid "URL was not found on the server." +msgstr "" + +#. TRANSLATORS: We received an uexpected HTTP status code while talking to a server, likely an error +#: src/as-curl.c:164 +#, c-format +msgid "Unexpected status code: %ld" +msgstr "" + +#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty +#: src/as-curl.c:247 +#, c-format +msgid "Retrieved file size was zero." +msgstr "Dimensiunea de fișier obținută a fost zero." + +#. TRANSLATORS: List of "grey-listed" words sperated with ";" +#. * Do not translate this list directly. Instead, +#. * provide a list of words in your language that people are likely +#. * to include in a search but that should normally be ignored in +#. * the search. +#. +#: src/as-pool.c:111 +msgid "app;application;package;program;programme;suite;tool" +msgstr "" +"app;application;package;program;programme;suite;tool;aplicație;pachet;suită;" +"unealtă" + +#: src/as-pool.c:620 +msgid "Unable to remove old cache." +msgstr "Nu se poate elimina cache-ul vechi." + +#: src/as-pool.c:963 +msgid "Metadata files have errors:" +msgstr "Fișierele de date meta au erori:" + +#: src/as-pool.c:1370 +msgid "" +"Many components have been recognized as invalid. See debug output for " +"details." +msgstr "" +"Multe componente au fost recunoscute ca nevalide. Vedeți ieșirea depanării " +"pentru detalii." + +#: src/as-pool.c:1996 +#, c-format +msgid "Cache location '%s' is not writable." +msgstr "Locația cache „%s” nu este inscriptibilă." + +#: src/as-pool.c:2109 +msgid "" +"The AppStream system cache was updated, but some components were ignored. " +"Refer to the verbose log for more information." +msgstr "" +"Cache-ul de sistem AppStream a fost actualizat, dar unele componente au fost " +"ignorate. Consultați istoricul detaliat pentru mai multe informații." + +#: src/as-pool.c:2111 +#, c-format +msgid "" +"The AppStream system cache was updated, but problems were found which " +"resulted in metadata being ignored: %s" +msgstr "" +"Cache-ul de sistem AppStream a fost actualizat, dar au fost găsite probleme " +"care au dus la ignorarea datelor meta: %s" + +#: src/as-pool.c:2125 +#, c-format +msgid "" +"AppStream system cache refresh failed. Turn on verbose mode to get detailed " +"issue information." +msgstr "" +"Reîmprospătarea cache-ului sistemului AppStream a eșuat. Activați modul " +"detaliat pentru a obține informații detaliate despre problemă." + +#: src/as-provided.c:144 +msgid "Libraries" +msgstr "Bibioteci" + +#: src/as-provided.c:146 +msgid "Binaries" +msgstr "Binare" + +#: src/as-provided.c:148 +msgid "Media types" +msgstr "Tipuri de media" + +#: src/as-provided.c:150 +msgid "Fonts" +msgstr "Fonturi" + +#: src/as-provided.c:152 +msgid "Modaliases" +msgstr "Aliasuri de mod" + +#: src/as-provided.c:154 +msgid "Python (Version 2)" +msgstr "Python (Versiunea 2)" + +#: src/as-provided.c:156 +msgid "Python 3" +msgstr "Python 3" + +#: src/as-provided.c:158 +msgid "D-Bus System Services" +msgstr "Servicii de sistem D-Bus" + +#: src/as-provided.c:160 +msgid "D-Bus Session Services" +msgstr "Servicii de sesiune D-Bus" + +#: src/as-provided.c:162 +msgid "Runtime Firmware" +msgstr "Firmware la executare" + +#: src/as-provided.c:164 +msgid "Flashed Firmware" +msgstr "Firmware formatat" + +#: src/as-provided.c:166 +msgid "Component" +msgstr "Componentă" + +#: src/as-validator-issue-tag.h:41 +msgid "This tag requires a type property." +msgstr "Această etichetă necesită o proprietate de tip." + +#: src/as-validator-issue-tag.h:46 +msgid "Tags of this name are not permitted in this section." +msgstr "Etichetele acestui nume nu sunt permise în această secțiune." + +#: src/as-validator-issue-tag.h:51 +msgid "" +"A tag must not be localized in metainfo files (upstream " +"metadata). Localize the individual paragraphs instead." +msgstr "" +"O etichetă nu trebuie să fie localizată în fișierele de " +"informații meta (date meta upstream). Localizați în schimb paragrafele " +"individuale." + +#: src/as-validator-issue-tag.h:57 +msgid "" +"This element (paragraph, list, etc.) of a tag must not be " +"localized individually in collection metadata. Localize the whole " +" tag instead. The AppStream collection metadata generator (e." +"g. `appstream-generator`) will already do the right thing when compiling the " +"data." +msgstr "" +"Acest element (paragraf, listă, etc.) a unei etichete nu " +"trebuie să fie localizată individual în datele meta de colecție. Localizați " +"în schimb întreaga etichetă . Generatorul de date meta de " +"colecție AppStream (de ex. „appstream-generator”) va face deja ceea ce " +"trebuie în timpul compilării datelor." + +#: src/as-validator-issue-tag.h:63 +msgid "" +"AppStream descriptions support only a limited set of tags to format text: " +"Paragraphs (

                                                                                                                                                                                                                                                                                                                        ) and lists (

                                                                                                                                                                                                                                                                                                                          ,
                                                                                                                                                                                                                                                                                                                            ). This description markup contains " +"an invalid XML tag that would not be rendered correctly in applications " +"supporting the metainfo specification." +msgstr "" +"Descrierile AppStream suportă doar un set limitat de etichete pentru a " +"formata textul: Paragrafele (

                                                                                                                                                                                                                                                                                                                            ) și listele (

                                                                                                                                                                                                                                                                                                                              ,
                                                                                                                                                                                                                                                                                                                                ). Această " +"marcare a descrierii conține o etichetă XML nevalidă care nu ar fi randată " +"corect în aplicațiile care suportă specificația de informații meta." + +#: src/as-validator-issue-tag.h:69 +msgid "" +"This description paragraph contains invalid markup. Currently, only " +"and are permitted." +msgstr "" +"Acest paragraf de descriere conține marcaj nevalid. În mod curent, doar și sunt permise." + +#: src/as-validator-issue-tag.h:74 +msgid "Enumerations must only have list items (
                                                                                                                                                                                                                                                                                                                              1. ) as children." +msgstr "" +"Enumerările trebuie să aibă doar elemente listă (
                                                                                                                                                                                                                                                                                                                              2. ) ca și inferiori." + +#: src/as-validator-issue-tag.h:79 +msgid "" +"The first `description/p` paragraph of this component might be too short (< " +"80 characters). Please consider starting with a longer paragraph to improve " +"how the description looks like in software centers and to provide more " +"detailed information on this component immediately in the first paragraph." +msgstr "" +"Primul paragraf „description/p” al acestei componente ar putea fi prea scurt " +"(< 80 de caractere). Considerați începerea cu un paragraf mai lung pentru a " +"îmbunătăți cum arată descrierea în centre de software și pentru a furniza " +"informații mai detaliate despre această componentă imediat în primul " +"paragraf." + +#: src/as-validator-issue-tag.h:86 +msgid "" +"The description contains a web URL in plain text. This is not allowed, " +"please use the tag instead to share links." +msgstr "" +"Descrierea conține un URL web în text simplu. Acest lucru nu este permis, " +"utilizați în schimb eticheta pentru a partaja legături." + +#: src/as-validator-issue-tag.h:91 +msgid "" +"As per AppStream specification, the mentioned tag must only appear once in " +"this context. Having multiple tags of this kind is not valid." +msgstr "" +"După specificarea AppStream, eticheta meționată trebuie să apară doar o dată " +"în acest context. A avea mai multe etichete de acest tip nu este valid." + +#: src/as-validator-issue-tag.h:96 +msgid "" +"The mentioned tag is empty, which is highly likely not intended as it should " +"have content." +msgstr "" +"Eticheta menționat este goală, ceea ce este foarte probabil neintenționat, " +"deoarece ar trebui să aibă conținut." + +#: src/as-validator-issue-tag.h:101 +msgid "" +"The component ID is required to follow a reverse domain-name scheme for its " +"name. See the AppStream specification for details." +msgstr "" +"ID-ul componentei este necesar pentru a urmări o schemă de nume de domeniu " +"inversat pentru numele acesteia. Vedeți specificația AppStream pentru " +"detalii." + +#: src/as-validator-issue-tag.h:106 +msgid "" +"The component ID is not a reverse domain-name. Please update the ID to avoid " +"future issues and be compatible with all AppStream implementations.\n" +"You may also consider to update the name of the accompanying .desktop file " +"to follow the latest version of the Desktop-Entry specification and use a " +"rDNS name for it as well. In any case, do not forget to mention the new " +"desktop-entry in a tag for this component to keep the " +"application launchable from software centers and the .desktop file data " +"associated with the metainfo data." +msgstr "" +"ID-ul componentei nu este un nume de domeniu inversat. Actualizați ID-ul " +"pentru a evita probleme viitoare și pentru a fi compatibil cu toate " +"implementările AppStream.\n" +"Puteți, de asemenea, să considerați actualizarea numelui și fișierului ." +"desktop însoțitor pentru a urma ultima versiune a specificației de intrare " +"desktop și pentru a utiliza un nume de rDNS și pentru aceasta. În orice caz, " +"nu uitați să menționați intrare de desktop nouă într-o etichetă pentru această componentă pentru a păstra aplicația lansabilă de la centre " +"de software și datele fișierului .desktop asociate cu datele de informații " +"meta." + +#: src/as-validator-issue-tag.h:114 +msgid "" +"The component ID might not follow the reverse domain-name schema (the TLD " +"used by it is not known to the validator)." +msgstr "" +"ID-ul componentei poate să nu urmeze schema de nume de domeniu inversat (TLD-" +"ul utilizat de aceasta nu este cunoscut de validator)." + +#: src/as-validator-issue-tag.h:119 +msgid "" +"The component ID contains an invalid character. Only ASCII characters, dots " +"and numbers are permitted." +msgstr "" +"ID-ul componentei conține un caracter nevalid. Doar caractere ASCII, puncte " +"și numere sunt permise." + +#: src/as-validator-issue-tag.h:124 +msgid "" +"The component ID contains a hyphen/minus. Using a hyphen is strongly " +"discouraged, to improve interoperability with other tools such as D-Bus. A " +"good option is to replace any hyphens with underscores (`_`)." +msgstr "" +"ID-ul componentei conține o cratimă/minus. Utilizarea unei cratime este " +"descurajată puternic, pentru a îmbunătăți interoperabilitatea cu alte unelte " +"precum D-Bus. O opțiune bună este să înlocuiți orice cratimă cu liniuțe de " +"subliniere („_”)." + +#: src/as-validator-issue-tag.h:130 +msgid "" +"The component ID contains a segment starting with a number. Starting a " +"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " +"interoperability with other tools such as D-Bus. Ideally, prefix these " +"segments with an underscore." +msgstr "" +"ID-ul componentei conține un segment care începe cu un număr. Începerea unui " +"segment al ID-ului DNS inversat cu un număr este descurajată puternic, " +"pentru a păstra interoperabilitatea cu alte unelte precum D-Bus. Ideal, " +"prefixați aceste segmente cu o liniuță de subliniere." + +#: src/as-validator-issue-tag.h:136 +msgid "The component ID should only contain lowercase letters." +msgstr "ID-ul componentei ar trebui să conțină doar litere minuscule." + +#: src/as-validator-issue-tag.h:141 +msgid "" +"The component is part of the Freedesktop project, but its ID does not start " +"with fd.o's reverse-DNS name (\"org.freedesktop\")." +msgstr "" +"Componenta este parte a proiectului Freedesktop, dar ID-ul acesteia nu " +"începe cu numele DNS inversat al fd.o („org.freedesktop”)." + +#: src/as-validator-issue-tag.h:146 +msgid "" +"The component is part of the KDE project, but its ID does not start with " +"KDEs reverse-DNS name (\"org.kde\")." +msgstr "" +"Componenta este parte a proiectului KDE, dar ID-ul acesteia nu începe cu " +"numele DNS inversat al KDE („org.kde”)." + +#: src/as-validator-issue-tag.h:151 +msgid "" +"The component is part of the GNOME project, but its ID does not start with " +"GNOMEs reverse-DNS name (\"org.gnome\")." +msgstr "" +"Componenta este parte a proiectului GNOME, dar ID-ul acesteia nu începe cu " +"numele DNS inversat al GNOME („org.gnome”)." + +#: src/as-validator-issue-tag.h:156 +msgid "The SPDX license expression is invalid and could not be parsed." +msgstr "Expresia de licență SPDX nu este validă și nu a putut fi parsată." + +#: src/as-validator-issue-tag.h:161 +msgid "" +"The license ID was not found in the SPDX database. Please check that the " +"license ID is written in an SPDX-conformant way and is a valid free software " +"license." +msgstr "" +"ID-ul de licență nu a fost găsit în baza de date SPDX. Verificați dacă ID-ul " +"licenței este scris într-un mod conform cu SPDX și dacă este o licență de " +"software gratuit validă." + +#: src/as-validator-issue-tag.h:167 +msgid "" +"The metadata itself seems to be licensed under a complex collection of " +"licenses. Please license the data under a simple permissive license, like " +"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " +"collections without the risk of license violations due to mutually " +"incompatible licenses." +msgstr "" +"Datele meta în sine par a fi licențiate sub o colecție completă de licențe. " +"Licențiați datele sub o licență permisivă simplă, cum ar fi FSFAP, MIT sau " +"CC0-1.0 pentru a permite distribuitorilor să le includă în colecții de date " +"amestecate fără riscul încălcării licenței din cauza licențelor " +"incompatibile reciproc." + +#: src/as-validator-issue-tag.h:173 +msgid "" +"The metadata itself does not seem to be licensed under a permissive license. " +"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " +"0BSD to allow distributors to include it in mixed data collections without " +"the risk of license violations due to mutually incompatible licenses." +msgstr "" +"Datele meta în sine nu par a fi licențiate sub o licență permisivă. " +"Licențiați datele sub o licență permisivă, precum FSFAP, CC0-1.0 sau 0BSD " +"pentru a permite distribuitorilor să le includă în colecții de date " +"amestecate fără riscul de încălcări de licență datorită licențelor " +"incompatibile reciproc." + +#: src/as-validator-issue-tag.h:179 +msgid "" +"The update-contact does not appear to be a valid email address (escaping of " +"`@` is only allowed as `_at_` or `_AT_`)." +msgstr "" +"Actualizarea contactului nu pare a fi o adresă de email validă (escaparea " +"lui „@” este permisă doar ca „_at_” sau „_AT_”)." + +#: src/as-validator-issue-tag.h:184 +msgid "" +"Unable to reach the screenshot image on its remote location - does the image " +"exist?" +msgstr "" +"Nu se poate ajunge la imaginea captură de ecran din locația sa de la " +"distanță - imaginea există?" + +#: src/as-validator-issue-tag.h:189 +msgid "" +"Unable to reach the screenshot video on its remote location - does the video " +"file exist?" +msgstr "" +"Nu se poate ajunge la video-ul captură de ecran din locația sa de la " +"distanță - fișierul video există?" + +#: src/as-validator-issue-tag.h:194 +msgid "" +"Consider using a secure (HTTPS) URL to reference this screenshot image or " +"video." +msgstr "" +"Luați în considerare utilizarea unui URL securizat (HTTPS) pentru a face " +"referire la această imagine captură de ecran sau video." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:200 +msgid "" +"A screenshot must contain at least one image or video in order to be useful. " +"Please add an to it." +msgstr "" +"O captură de ecran trebuie să conțină cel puțin o imagine sau video pentru a " +"fi utilă. Adăugați o la aceasta." + +#: src/as-validator-issue-tag.h:205 +msgid "" +"A screenshot must contain either images or videos, but not both at the same " +"time. Please use this screenshot exclusively for either static images or for " +"videos." +msgstr "" +"O captură de ecran trebuie să conțină imagini sau video-uri, dar nu amândouă " +"în același timp. Utilizați această captură de ecran exclusiv pentru " +"imaginile statice sau pentru video-uri." + +#: src/as-validator-issue-tag.h:211 +msgid "The screenshot does not have a caption text. Consider adding one." +msgstr "" +"Captura de ecran nu are un text de legendă. Luați în considerare adăugarea " +"unuia." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:217 +msgid "" +"The screenshot video does not specify which video codec was used in a " +"`codec` property." +msgstr "" +"Video-ul captură de ecran nu specifică care codec video a fost utilizat într-" +"o proprietate „codec”." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:223 +msgid "" +"The screenshot video does not specify which container format was used in a " +"`container` property." +msgstr "" +"Video-ul de captură de ecran nu specifică care format de conținător a fost " +"utilizat într-o proprietate „container”." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:229 +msgid "" +"The selected video codec is not supported by AppStream and software centers " +"may not be able to play the video. Only the AV1 and VP9 codecs are currently " +"supported, using `av1` and `vp9` as values for the `codec` property." +msgstr "" +"Codec-ul video selectat nu este suportat de AppStream și este posibil ca " +"centrele video să nu poată să redea video-ul. Doar codecurile AV1 și VP9 " +"sunt suportate curent, utilizând „av1” și „vp9” ca valori pentru " +"proprietatea „codec”." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:236 +msgid "" +"The selected video container format is not supported by AppStream and " +"software centers may not be able to play the video. Only the WebM and " +"Matroska video containers are currently supported, using `webm` and `mkv` as " +"values for the `container` property." +msgstr "" +"Formatul de conținător de video selectat nu este suportat de AppStream și " +"este posibil ca centrele software să nu poată reda video-ul. Doar " +"conținătoarele video WebM și Matroska sunt suportate curent, utilizând " +"„webm” și „mkv” ca valori pentru proprietatea „container”." + +#: src/as-validator-issue-tag.h:242 +msgid "" +"For videos, only the WebM and Matroska (.mkv) container formats are " +"currently supported. The file extension of the referenced video does not " +"belong to either of these formats." +msgstr "" +"Pentru video-uri, doar formatele de conținător WebM și Matroska (.mkv) sunt " +"suportate curent. Extensia de fișier a video-ului referit nu aparține " +"niciunui dintre aceste formate." + +#: src/as-validator-issue-tag.h:248 +msgid "" +"The default screenshot of a software component must not be a video. Use a " +"static image as default screenshot and set the video as a secondary " +"screenshot." +msgstr "" +"Captura de ecran implicită a unei componente software nu trebuie să fie un " +"video. Utilizați o imagine statică drept captură de ecran implicită și " +"stabiliți video-ul ca și captură de ecran secundară." + +#: src/as-validator-issue-tag.h:253 +msgid "" +"Found an unknown tag in a requires/recommends group. This is likely an " +"error, because a component relation of this type is unknown." +msgstr "" +"S-a găsit o etichetă necunoscută într-un grup de necesită/recomandă. Este " +"probabil o eroare, pentru că o relație de componentă de acest tip nu este " +"cunoscută." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:259 +msgid "" +"A `requires` or `recommends` item requires a value to denote a valid " +"relation." +msgstr "" +"Un element „necesită” sau „recomandă” necesită o valoare pentru a denota o " +"relație validă." + +#. TRANSLATORS: `version` is an AppStream XML property. Please do not translate it. +#: src/as-validator-issue-tag.h:265 +msgid "" +"Found `version` property on required/recommended item of a type that should " +"not have or require a version." +msgstr "" +"S-a găsit proprietatea `versiune` la elementul necesar/recomandat de un tip " +"care nu ar trebui să aibă sau nu necesită o versiune." + +#. TRANSLATORS: `version` and `compare` are AppStream XML properties. Please do not translate them. +#: src/as-validator-issue-tag.h:271 +msgid "" +"Found `version` property on this required/recommended item, but not " +"`compare` property. It is recommended to explicitly define a comparison " +"operation." +msgstr "" +"S-a găsit proprietatea „versiune” la elementul necesar/recomandat, dar nu și " +"proprietatea „compară”. Este recomandat să definiți explicit o operație de " +"comparație." + +#: src/as-validator-issue-tag.h:276 +#, fuzzy +msgid "" +"Invalid comparison operation on relation item. Only eq/ne/lt/gt/le/ge are " +"permitted." +msgstr "" +"Operațiune de comparare a versiunii nevalide la elementul relațional. Doar " +"eq/ne/lt/gt/le/ge sunt permise." + +#: src/as-validator-issue-tag.h:281 +msgid "" +"The relation item has a comparison operation set, but does not support any " +"comparisons." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:287 +msgid "" +"Found a memory size relation in a `requires` tag. This means users will not " +"be able to even install the component without having enough RAM. This is " +"usually not intended and you want to use `memory` in the `recommends` tag " +"instead." +msgstr "" +"S-a găsit o relație de dimensiune a memoriei într-o etichetă „necesită”. " +"Aceasta înseamnă că utilizatorii nu vor putea instala nici măcar componenta " +"fără a avea suficientă memorie RAM. În mod obișnuit acest lucru nu este " +"intenționat și vreți să utilizați „memorie” în eticheta „recomandă”." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:294 +msgid "" +"Found a user input control relation in a `requires` tag. This means users " +"will not be able to even install the component without having the defined " +"input control available on the system. This is usually not intended and you " +"want to use `control` in the `recommends` tag instead." +msgstr "" +"S-a găsit o relație de control a intrării utilizatorului într-o etichetă " +"„necesită”. Aceasta înseamnă că utilizatorii nu vor putea instala nici măcar " +"componenta fără să aibă controlul intrării definit disponibil pe sistem. În " +"mod obișnuit acest lucru nu este intenționat și vreți să utilizați „control” " +"în eticheta „recomandă”." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:301 +msgid "" +"This `control` item defines an unknown input method and is invalid. Check " +"the specification for a list of permitted values." +msgstr "" +"Acest element „control” definește o metodă de intrare necunoscută și nu este " +"valid. Verificați specificația pentru o listă de valori permise." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:307 +msgid "" +"This `display_length` item contains an invalid display length. Its value " +"must either be a shorthand string, or positive integer value denoting " +"logical pixels. Please refer to the AppStream specification for more " +"information on this tag." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:314 +msgid "" +"This `side` property of this `display_length` item contains an invalid " +"value. It must either be `shortest` or `longest`, or unset to imply " +"`shortest` to make the item value refer to either the shortest or longest " +"side of the display." +msgstr "" + +#: src/as-validator-issue-tag.h:320 +msgid "" +"The set component type is not a recognized, valid AppStream component type." +msgstr "" +"Tipul de componentă stabilit nu este un tip de componentă recunoscut, valid " +"AppStream." + +#: src/as-validator-issue-tag.h:325 +msgid "" +"The component has a priority value set. This is not allowed in metainfo " +"files." +msgstr "" +"Componenta are o valoare de prioritate stabilită. Acest lucru nu este permis " +"în fișiere de informații meta." + +#: src/as-validator-issue-tag.h:330 +msgid "" +"The component has a `merge` method defined. This is not allowed in metainfo " +"files." +msgstr "" +"Componenta are o metodă „merge” definită. Acest lucru nu este permis în " +"fișiere de informații meta." + +#: src/as-validator-issue-tag.h:335 +msgid "The component is missing an ID ( tag)." +msgstr "Componentei îi lipsește un ID (eticheta )." + +#: src/as-validator-issue-tag.h:340 +msgid "The component is missing a name ( tag)." +msgstr "Componentei îi lipsește un nume (eticheta )." + +#: src/as-validator-issue-tag.h:345 +msgid "The component is missing a summary ( tag)." +msgstr "Componentei îi lipsește un rezumat (eticheta )." + +#: src/as-validator-issue-tag.h:350 +msgid "" +"The tag still contains a `type` property, probably from an old " +"conversion to the recent metainfo format." +msgstr "" +"Eticheta conține încă o proprietae „tip”, probabil de la o conversie " +"veche la formatul de informații meta recent." + +#: src/as-validator-issue-tag.h:355 +msgid "" +"The `pkgname` tag appears multiple times. You should evaluate creating a " +"metapackage containing the metainfo and .desktop files in order to avoid " +"defining multiple package names per component." +msgstr "" +"Eticheta „pkgname” apare de mai multe ori. Ar trebui să evaluați crearea " +"unui pachet meta care conține informațiile meta și fișierul .desktop pentru " +"a evita definirea de nume de pachet multiple per componentă." + +#: src/as-validator-issue-tag.h:360 +msgid "The component name should (likely) not end with a dot (`.`)." +msgstr "" +"Numele componentei (probabil că) nu ar trebui să se termine cu un punct " +"(„.”)." + +#: src/as-validator-issue-tag.h:365 +msgid "The component summary should not end with a dot (`.`)." +msgstr "Rezumatul componentei nu ar trebui să se termine cu un punct („.”)." + +#: src/as-validator-issue-tag.h:370 +msgid "The component summary must not contain tabs or linebreaks." +msgstr "" +"Rezumatul componentei nu trebuie să conțină tab-uri sau sfârșituri de rând." + +#: src/as-validator-issue-tag.h:375 +msgid "The summary must not contain any URL. Use the tags for links." +msgstr "" +"Rezumatul nu trebuie să conțină URL-uri. Utilizați eticheta pentru " +"legături." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:381 +msgid "" +"Icons of type `stock` or `cached` must not contain an URL, a full or an " +"relative path to the icon. Only file basenames or stock names are allowed." +msgstr "" +"Iconițele de tip „stoc” sau „cache-uit” nu trebuie să conțină un URL, o cale " +"completă sau relativă la iconiță. Doar numele de bază de fișier sau numele " +"de stoc sunt permise." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:388 +msgid "Icons of type `remote` must contain an URL to the referenced icon." +msgstr "" +"Iconițele de tip „la distanță” trebuie să conțină un URL la iconița referită." + +#: src/as-validator-issue-tag.h:393 +msgid "Unable to reach remote icon at the given web location - does it exist?" +msgstr "" +"Nu se poate ajunge la iconița de la distanță la locația web dată - există?" + +#: src/as-validator-issue-tag.h:398 +msgid "Consider using a secure (HTTPS) URL for the remote icon link." +msgstr "" +"Luați în considerare utilizarea unui URL securizat (HTTPS) pentru legătura " +"iconiței de la distanță." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:404 +msgid "" +"Metainfo files may only contain icons of type `stock` or `remote`, the set " +"type is not allowed." +msgstr "" +"Fișierele de informații meta pot să conțină doar iconițe de tipul „stoc” sau " +"„la distanță”, tipul stabilit nu este permis." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:410 +msgid "" +"Invalid `type` property for this `url` tag. URLs of this type are not known " +"in the AppStream specification." +msgstr "" +"Proprietatea „tip” nu este validă pentru această etichetă „url”. URL-urile " +"de acest tip nu sunt cunoscute în specificația AppStream." + +#: src/as-validator-issue-tag.h:415 +msgid "" +"Unable to reach remote location that this URL references - does it exist?" +msgstr "" +"Nu se poate ajunge la locația de la distanță la care face referire acest URL " +"- există?" + +#: src/as-validator-issue-tag.h:420 +msgid "Consider using a secure (HTTPS) URL for this web link." +msgstr "" +"Luați în considerare utilizarea unui URL securizat (HTTPS) pentru această " +"legătură web." + +#: src/as-validator-issue-tag.h:425 +msgid "A web URL was expected for this value." +msgstr "" + +#: src/as-validator-issue-tag.h:430 +msgid "" +"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." +msgstr "" +"Această legătură web utilizează protocolul FTP. Luați în considerare " +"trecerea la HTTP(S)." + +#: src/as-validator-issue-tag.h:435 +msgid "The can not contain a hyperlink." +msgstr " nu poate să conțină o hiperlegătură." + +#: src/as-validator-issue-tag.h:440 +msgid "" +"The set value is not an identifier for a desktop environment as registered " +"with Freedesktop.org." +msgstr "" +"Valoarea stabilită nu este un identificator pentru un mediu de desktop, așa " +"cum este înregistrat la Freedesktop.org." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:446 +msgid "This `launchable` tag has an unknown type and can not be used." +msgstr "" +"Această etichetă „launchable” are un tip necunoscut și nu poate fi utilizată." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:452 +msgid "This `bundle` tag has an unknown type and can not be used." +msgstr "" +"Această etichetă „bundle” are un tip necunoscut și nu poate fi utilizată." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:458 +msgid "" +"The `update_contact` tag should not be included in collection AppStream XML." +msgstr "" +"Eticheta „update_contact” nu ar trebui să fie inclusă în colecția XML " +"AppStream." + +#: src/as-validator-issue-tag.h:463 +msgid "" +"This tag is a GNOME-specific extension to AppStream and not part of the " +"official specification. Do not expect it to work in all implementations and " +"in all software centers." +msgstr "" +"Această etichetă este o extensie specifică GNOME la AppStream și nu face " +"parte din specificația oficială. Nu vă așteptați să funcționeze în toate " +"implementările și în toate centrele de software." + +#: src/as-validator-issue-tag.h:469 +msgid "" +"Found invalid tag. Non-standard tags should be prefixed with `x-`. AppStream " +"also provides the tag to add arbitrary custom data to metainfo " +"files. This tag is read by AppStream libraries and may be useful instead of " +"defining new custom toplevel or `x-`-prefixed tags if you just want to add " +"custom data to a metainfo file." +msgstr "" +"S-a găsit o etichetă nevalidă. Etichetele care nu sunt standard ar trebui " +"prefixate cu „x-”. AppStream furnizează, de asemenea, eticheta " +"pentru a adăuga date personalizate arbitrare la fișierele de informații " +"meta. Această etichetă este citită de bibliotecile AppStream și poate fi " +"utilă în locul definirii unui nivel de top personalizat sau unor etichete " +"prefixate cu „x-” dacă doriți doar să adăugați date personalizate la un " +"fișier de informații meta." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:477 +msgid "" +"The essential tag `metadata_license` is missing. A license for the metadata " +"itself always has to be defined." +msgstr "" +"Eticheta esențială „metadata_license” lipsește. O licență pentru datele meta " +"în sine trebuie întotdeauna definită." + +#: src/as-validator-issue-tag.h:482 +msgid "" +"The component is missing a long description. Components of this type must " +"have a long description." +msgstr "" +"Componentei îi lipsește o descriere lungă. Componentele de acest tip trebuie " +"să aibă o descriere lungă." + +#: src/as-validator-issue-tag.h:487 +msgid "" +"It would be useful to add a long description to this font to present it " +"better to users." +msgstr "" +"Ar fi util să adăugați o descriere lungă la acest font pentru a-l prezenta " +"mai bine utilizatorilor." + +#: src/as-validator-issue-tag.h:492 +msgid "" +"It is recommended to add a long description to this component to present it " +"better to users." +msgstr "" +"Este recomandat să adăugați o descriere lungă la această componentă pentru a " +"o prezenta mai bine utilizatorilor." + +#: src/as-validator-issue-tag.h:497 +msgid "" +"This generic component is missing a long description. It may be useful to " +"add one." +msgstr "" +"Acestei componente generice îi lipsește o descriere lungă. Poate fi util să " +"adăugați una." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:503 +msgid "" +"Type `console-application` component, but no information about binaries in " +"$PATH was provided via a `provides/binary` tag." +msgstr "" +"Componentă de tip „console-application”, dar nicio informație despre binare " +"în $PATH nu a fost furnizată via unei etichete „provides/binary”." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:509 +msgid "" +"This `web-application` component is missing a `launchable` tag of type `url`." +msgstr "" +"Acestei componente „web-application” îi lipsește o etichetă „launchable” de " +"tipul „url”." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:515 +msgid "" +"This `web-application` component is missing a `icon` tag to specify a valid " +"icon." +msgstr "" +"Acestei componente „web-application” îi lipsește o etichetă „icon” pentru a " +"specifica o iconiță validă." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:521 +msgid "" +"This `web-application` component is missing categorizations. A `categories` " +"block is likely missing." +msgstr "" +"Acestei componente „web-application” îi lipsesc categoriile. Un bloc " +"„categories” probabil că lipsește." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:527 +msgid "" +"Type `font` component, but no font information was provided via a `provides/" +"font` tag." +msgstr "" +"Componentă de tip „font”, dar nicio informație de font nu a fost furnizată " +"via unei etichete „provides/font”." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:533 +msgid "" +"Type `driver` component, but no modalias information was provided via a " +"`provides/modalias` tag." +msgstr "" +"Componentă de tip „driver”, dar nicio informație de alias de mod nu a fost " +"furnizată via unei etichete „provides/modalias”." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:539 +msgid "" +"An `extends` tag is specified, but the component is not of type `addon`, " +"`localization` or `repository`." +msgstr "" +"O etichetă „extinde” este specificată, dar componenta nu este de tipul " +"„supliment”, „localizare” sau „depozit”." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:545 +msgid "The component is an addon, but no `extends` tag was specified." +msgstr "" +"Componenta este un supliment, dar nu s-a specificat nicio etichetă „extinde”." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:551 +msgid "" +"This `localization` component is missing an `extends` tag, to specify the " +"components it adds localization to." +msgstr "" +"Acestei componente „localization” îi lipsește o etichetă „extends”, pentru a " +"specifica componentele la care adaugă localizare." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:557 +msgid "" +"This `localization` component does not define any languages this " +"localization is for." +msgstr "" +"Componenta „localization” nu definește nicio limbă pentru care există " +"această localizare." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:563 +msgid "" +"This `service` component is missing a `launchable` tag of type `service`." +msgstr "" +"Acestei componente „service” îi lipsește o etichetă „launchable” de tipul " +"„service”." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:569 +msgid "" +"Suggestions of any type other than `upstream` are not allowed in metainfo " +"files." +msgstr "" +"Sugestiile de orice tip altele decât „upstream” nu sunt permise în fișiere " +"de informații meta." + +#: src/as-validator-issue-tag.h:574 +msgid "" +"The category name is not valid. Refer to the XDG Menu Specification for a " +"list of valid category names." +msgstr "" +"Numele categoriei nu este valid. Consultați specificația de meniu XDG pentru " +"o listă de nume de categorie valide." + +#: src/as-validator-issue-tag.h:579 +msgid "The screenshot caption is too long (should be <= 80 characters)" +msgstr "" +"Legenda capturii de ecran este prea lungă (ar trebui să fie <= 80 de " +"caractere)" + +#: src/as-validator-issue-tag.h:584 +msgid "Unable to read file." +msgstr "Nu se poate citi fișierul." + +#: src/as-validator-issue-tag.h:589 +msgid "The XML of this file is malformed." +msgstr "XML-ul acestui fișier deteriorat." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:595 +msgid "" +"Invalid tag found in collection metadata. Only `component` tags are " +"permitted." +msgstr "" +"Etichetă nevalidă găsită în datele meta ale colecției. Doar etichetele " +"„componentă” sunt permise." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:601 +msgid "" +"The metainfo file uses an ancient version of the AppStream specification, " +"which can not be validated. Please migrate it to version 0.6 (or higher)." +msgstr "" +"Fișierul de informații meta utilizează o versiune veche a specificației " +"AppStream, care nu poate fi validat. Migrați-l la versiunea 0.6 (sau mai " +"mare)." + +#: src/as-validator-issue-tag.h:606 +msgid "" +"This XML document has an unknown root tag. Maybe this file is not a metainfo " +"document?" +msgstr "" +"Documentul XML are o etichetă de rădăcină necunoscută. Poate că acest fișier " +"nu este un document de informații meta?" + +#: src/as-validator-issue-tag.h:611 +msgid "The metainfo filename does not match the component ID." +msgstr "" +"Numele de fișier de informații meta nu se potrivește cu ID-ul componentei." + +#: src/as-validator-issue-tag.h:616 +msgid "Unable to read the .desktop file associated with this component." +msgstr "Nu se poate citi fișierul .desktop asociat cu această componentă." + +#: src/as-validator-issue-tag.h:621 +msgid "This component metadata refers to a non-existing .desktop file." +msgstr "" +"Aceste date meta de componentă fac referire la un fișier .desktop care nu " +"există." + +#: src/as-validator-issue-tag.h:626 +msgid "" +"The category defined in the .desktop file is not valid. Refer to the XDG " +"Menu Specification for a list of valid categories." +msgstr "" +"Categoria definită în fișierul .desktop nu este validă. Consultați " +"specificația de meniu XDG pentru o listă de categorii valide." + +#: src/as-validator-issue-tag.h:631 +msgid "No AppStream metadata was found in this directory or directory tree." +msgstr "" +"Nu s-au găsit date meta AppStream în acest director sau arbore de directoare." + +#. pedantic because not everything which has metadata is an application +#: src/as-validator-issue-tag.h:636 +msgid "No XDG applications directory found." +msgstr "Nu s-a găsit directorul de aplicații XDG." + +#: src/as-validator-issue-tag.h:641 +msgid "" +"The metainfo file is stored in a legacy path. Please place it in `/usr/share/" +"metainfo/`." +msgstr "" +"Fișierul de informații meta este stocat într-o cale moștenită. Plasați-l în " +"„/usr/share/metainfo/”." + +#: src/as-validator-issue-tag.h:646 +msgid "The metainfo file specifies multiple components. This is not allowed." +msgstr "" +"Fișierul de informații meta specifică componente multiple. Acest lucru nu " +"este permis." + +#: src/as-validator-issue-tag.h:651 +msgid "" +"The releases are not sorted in a latest to oldest version order. This is " +"required as some tools will assume that the latest version is always at the " +"top. Sorting releases also increases overall readability of the metainfo " +"file." +msgstr "" +"Lansările nu sunt sortate într-o ordine de la cea mai recentă la cea mai " +"veche versiune. Acest lucru este necesar pentru că unele unelte vor " +"presupune că ultima versiune este întotdeauna la vârf. Sortarea lansărilor " +"crește, de asemenea, lizibilitatea în ansamblu a fișierului de informații " +"meta." + +#: src/as-validator-issue-tag.h:658 +msgid "The value set as release urgency is not a known urgency value." +msgstr "" + +#: src/as-validator-issue-tag.h:663 +msgid "The value set as release type is invalid." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:669 +msgid "" +"The value set as artifact type is invalid. Must be either `source` or " +"`binary`." +msgstr "" + +#: src/as-validator-issue-tag.h:674 +msgid "The value set as artifact bundle type is invalid." +msgstr "" + +#: src/as-validator-issue-tag.h:679 +msgid "" +"The platform triplet for this release is invalid. It must be in the form of " +"`architecture-oskernel-osenv` - refer to the AppStream documentation or " +"information on normalized GNU triplets for more information and valid fields." +msgstr "" + +#: src/as-validator-issue-tag.h:686 +msgid "The selected checksumming algorithm is unsupported or unknown." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:692 +msgid "The size type is unknown. Must be `download` or `installed`." +msgstr "" + +#: src/as-validator-issue-tag.h:697 +msgid "" +"The artifact filename must be a file basename, not a (relative or absolute) " +"path." +msgstr "" + +#: src/as-validator-issue-tag.h:702 +msgid "The value set as release issue type is invalid." +msgstr "" + +#: src/as-validator-issue-tag.h:707 +msgid "" +"The issue is tagged at security vulnerability with a CVE number, but its " +"value does not look like a valid CVE identifier." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:713 +msgid "" +"This component is missing information about releases. Consider adding a " +"`releases` tag to describe releases and their changes." +msgstr "" + +#: src/as-validator-issue-tag.h:718 +msgid "" +"The AppStream specification requires a complete, ISO 8601 date string with " +"at least day-granularity to denote dates. Please ensure the date string is " +"valid." +msgstr "" +"Specificația AppStream necesită un șir de dată ISO 8601 complet cu cel puțin " +"granularitatea zilei pentru a denota datele. Asigurați-vă că șirul datei " +"este valid." + +#: src/as-validator-issue-tag.h:724 +msgid "" +"This component extends, provides, requires or recommends itself, which is " +"certainly not intended and may confuse users or machines dealing with this " +"metadata." +msgstr "" +"Această componentă, extinde, furnizează, necesită sau se recomandă pe sine, " +"ceea ce cu siguranță nu este intenționat și poate confunda utilizatorii sau " +"mașinile care se vor ocupa de aceste date meta." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:731 +msgid "" +"Licenses for `runtime` components are usually too complex to reflect them in " +"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " +"value for this component's `project_license`. E.g. `LicenseRef-free=https://" +"example.com/licenses.html`" +msgstr "" +"Licențele pentru componentele „executare” sunt de obicei prea complexe " +"pentru a le reflecta într-o expresia SPDX simplă. Considerați utilizarea " +"unei „LicenceRef” și a unui URL web ca valoare pentru „project_license” a " +"acestei componente. De ex. „LicenseRef-free=https://example.com/licenses." +"html”" + +#: src/as-validator-issue-tag.h:737 +msgid "" +"Since a `runtime` component is comprised of multiple other software " +"components, their component-IDs may be listed in a `` section for " +"this runtime." +msgstr "" +"Deoarece o componentă „la executare” este alcătuită din multiple alte " +"componente de software, ID-urile lor de componente pot fi listate într-o " +"secțiune „” pentru această executare." + +#: src/as-validator-issue-tag.h:742 +msgid "" +"The type of the item that the component provides is not known to AppStream." +msgstr "" +"Tipul elementului pe care componenta îl furnizează nu este cunoscut în " +"AppStream." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:748 +msgid "" +"The toplevel `mimetypes` tag is deprecated. Please use `mediatype` tags in a " +"`provides` block instead to indicate that your software provides a media " +"handler for the given types." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks) and keep the URL intact. +#: src/as-validator-issue-tag.h:755 +msgid "" +"This component has no `content_rating` tag to provide age rating " +"information. You can generate the tag data online by answering a few " +"questions at https://hughsie.github.io/oars/" +msgstr "" + +#: src/as-validator.c:150 +msgid "" +"The emitted issue tag is unknown in the tag registry of AppStream. This is a " +"bug in the validator itself, please report this issue in our bugtracker." +msgstr "" +"Eticheta de problemă emisă nu este cunoscută în registrul de etichetă a " +"AppStream. Acest lucru este o defecțiune în validatorul în sine, raportați " +"această defecțiune la tracker-ul nostru de defecțiuni." + +#: src/as-validator.c:344 +msgid "URL format is invalid." +msgstr "Formatul URL-ului nu este valid." + +#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. +#: src/as-validator.c:522 src/as-validator.c:937 src/as-validator.c:1031 +#: src/as-validator.c:1428 src/as-validator.c:1448 src/as-validator.c:1481 +#, c-format +msgid "Found: %s - Allowed: %s" +msgstr "S-au găsit %s - Permise: %s" + +#. TRANSLATORS: ascompose flag description for: --verbose +#: tools/appstream-compose.c:181 +#, fuzzy +msgid "Show extra debugging information" +msgstr "Arată informații de depanare extra." + +#. TRANSLATORS: ascompose flag description for: --no-color +#. TRANSLATORS: ascli flag description for: --no-color +#: tools/appstream-compose.c:184 tools/appstreamcli.c:1087 +msgid "Don't show colored output." +msgstr "Nu arăta ieșirea colorată." + +#. TRANSLATORS: ascompose flag description for: --version +#. TRANSLATORS: ascli flag description for: --version +#: tools/appstream-compose.c:187 tools/appstreamcli.c:1076 +msgid "Show the program version." +msgstr "Arată versiunea programului." + +#. TRANSLATORS: ascompose flag description for: --full-report +#: tools/appstream-compose.c:190 +msgid "Set mode of the issue report that is printed to the console" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --prefix +#: tools/appstream-compose.c:193 +msgid "Override the default prefix (`/usr` by default)" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --result-root +#: tools/appstream-compose.c:196 +msgid "Set the result output directory" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --data-dir, `collection metadata` is an AppStream term +#: tools/appstream-compose.c:199 +msgid "Override the collection metadata output directory" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --icons-dir +#: tools/appstream-compose.c:202 +msgid "Override the icon output directory" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --media-dir +#: tools/appstream-compose.c:205 +msgid "" +"Set the media output directory (for media data to be served by a webserver)" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --hints-dir +#: tools/appstream-compose.c:208 +msgid "Set a directory where HTML and text issue reports will be stored" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --origin +#. TRANSLATORS: ascompose flag description for: --media-baseurl +#: tools/appstream-compose.c:211 tools/appstream-compose.c:214 +msgid "Set the origin name" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --components +#: tools/appstream-compose.c:217 +msgid "A comma-separated list of component-IDs to accept" +msgstr "" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:231 +msgid "Failed to parse arguments" +msgstr "" + +#. TRANSLATORS: Output if appstreamcli --version is executed. +#: tools/appstream-compose.c:242 tools/appstreamcli.c:1230 +#, c-format +msgid "AppStream version: %s" +msgstr "Versiune AppStream: %s" + +#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. +#: tools/appstream-compose.c:245 tools/appstreamcli.c:1233 +#, c-format +msgid "" +"AppStream CLI tool version: %s\n" +"AppStream library version: %s" +msgstr "" +"Versiunea de unealtă CLI AppStream: %s\n" +"Versiunea de bibliotecă AppStream: %s" + +#. TRANSLATORS: invalid value for the --print-report CLI option +#: tools/appstream-compose.c:264 +#, c-format +msgid "" +"Invalid value for `--print-report` option: %s\n" +"Possible values are:\n" +"`on-error` - only prints a short report if the run failed (default)\n" +"`short` - generates an abridged report\n" +"`full` - a detailed report will be printed" +msgstr "" + +#: tools/appstream-compose.c:285 +#, c-format +msgid "Automatically selected '%s' as data output location." +msgstr "" + +#. TRANSLATORS: we don't have a destination directory for compose +#: tools/appstream-compose.c:288 +msgid "No destination directory set, please provide a data output location!" +msgstr "" + +#: tools/appstream-compose.c:298 tools/appstream-compose.c:300 +msgid "WARNING" +msgstr "" + +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:337 +#, c-format +msgid "Only accepting components: %s" +msgstr "" + +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:340 +#, c-format +msgid "Only accepting component: %s" +msgstr "" + +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:345 +msgid "Processing directories:" +msgstr "" + +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:348 +msgid "Processing directory:" +msgstr "" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:357 +msgid "Can not process invalid directory" +msgstr "" + +#. TRANSLATORS: information message +#: tools/appstream-compose.c:369 +msgid "Composing metadata..." +msgstr "" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:374 +#, fuzzy +msgid "Failed to compose AppStream metadata" +msgstr "O utilitate pentru a lucra cu datele meta AppStream" + +#. TRANSLATORS: appstream-compose failed to include all data +#: tools/appstream-compose.c:380 +msgid "Run failed, some data was ignored." +msgstr "" + +#. TRANSLATORS: information message of appstream-compose +#: tools/appstream-compose.c:382 +msgid "Errors were raised during this compose run:" +msgstr "" + +#: tools/appstream-compose.c:383 +msgid "" +"Refer to the generated issue report data for details on the individual " +"problems." +msgstr "" + +#: tools/appstream-compose.c:386 +msgid "Overview of generated hints:" +msgstr "" + +#. TRANSLATORS: information message +#: tools/appstream-compose.c:388 +msgid "Success!" +msgstr "" + +#. TRANSLATORS: ascli flag description for: --cachepath +#: tools/appstreamcli.c:59 +msgid "Manually selected location of AppStream cache." +msgstr "Locație selectată manual a cache-ului AppStream." + +#. TRANSLATORS: ascli flag description for: --datapath +#: tools/appstreamcli.c:64 +msgid "Manually selected location of AppStream metadata to scan." +msgstr "Locație selectată manual a datelor meta AppStream de scanat." + +#. TRANSLATORS: ascli flag description for: --no-cache +#: tools/appstreamcli.c:69 +msgid "Make request without any caching." +msgstr "Faceți cererea fără cache-uire." + +#. TRANSLATORS: ascli flag description for: --format +#: tools/appstreamcli.c:85 +msgid "Default metadata format (valid values are 'xml' and 'yaml')." +msgstr "Format de date meta implicit (valorile valide sunt „xml” și „yaml”)." + +#. TRANSLATORS: ascli flag description for: --details +#: tools/appstreamcli.c:100 +msgid "Print detailed output about found components." +msgstr "Tipărește ieșirea detaliată despre componentele găsite." + +#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) +#: tools/appstreamcli.c:118 +msgid "Also show pedantic hints." +msgstr "Arată, de asemenea, indiciile pendante." + +#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) +#: tools/appstreamcli.c:123 +msgid "Print detailed explanation for found issues." +msgstr "Tipărește explicația detaliată pentru problemele găsite." + +#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) +#: tools/appstreamcli.c:128 +msgid "Do not use network access." +msgstr "Nu utiliza accesul la rețea." + +#. TRANSLATORS: ascli flag description for: --format when validating XML files +#: tools/appstreamcli.c:133 +msgid "Format of the generated report (valid values are 'text' and 'yaml')." +msgstr "Formatul raportului generat (valorile valide sunt „text” și „yaml”)." + +#. TRANSLATORS: This is the header to the --help menu for subcommands +#. TRANSLATORS: This is the header to the --help menu +#: tools/appstreamcli.c:153 tools/appstreamcli.c:981 +msgid "AppStream command-line interface" +msgstr "Interfață în linie de comandă AppStream" + +#: tools/appstreamcli.c:156 +#, c-format +msgid "'%s' command" +msgstr "comanda „%s”" + +#. TRANSLATORS: An unknown option was passed to appstreamcli. +#: tools/appstreamcli.c:191 +#, c-format +msgid "Option '%s' is unknown." +msgstr "Opțiunea „%s” nu este cunoscută." + +#: tools/appstreamcli.c:195 tools/appstreamcli.c:1207 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options." +msgstr "" +"Rulați „%s -- help” pentru a vedea o listă completă a opțiunilor în linie de " +"comandă disponibile." + +#: tools/appstreamcli.c:197 +#, c-format +msgid "" +"Run '%s --help' to see a list of available commands and options, and '%s %s " +"--help' to see a list of options specific for this subcommand." +msgstr "" +"Rulați „%s --help” pentru a vedea o listă a comenzilor și opțiunilor " +"disponibile, și „%s %s --help” pentru a vedea o listă a opțiunilor specifice " +"pentru această subcomandă." + +#. TRANSLATORS: ascli flag description for: --force +#: tools/appstreamcli.c:245 +msgid "Enforce a cache refresh." +msgstr "Impune o reîmprospătare a cache-ului." + +#. TRANSLATORS: ascli flag description for: --user +#: tools/appstreamcli.c:251 +msgid "Update the user-specific instead of the system-wide cache." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --origin (part of the "put" subcommand) +#: tools/appstreamcli.c:477 +msgid "Set the data origin for the installed metadata collection file." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --user (part of the "put" subcommand) +#: tools/appstreamcli.c:482 +msgid "Install the file for the current user, instead of globally." +msgstr "" + +#: tools/appstreamcli.c:631 +msgid "" +"You need to provide at least two version numbers to compare as parameters." +msgstr "" +"Trebuie să furnizați cel puțin două numere de versiune pentru a compara ca " +"parametri." + +#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. +#: tools/appstreamcli.c:660 +#, c-format +msgid "Unknown compare relation '%s'. Valid values are:" +msgstr "Relație de comparație necunoscută „%s”. Valorile valide sunt:" + +#: tools/appstreamcli.c:700 +msgid "" +"Too many parameters: Need two version numbers or version numbers and a " +"comparison operator." +msgstr "" +"Prea mulți parametri: Este nevoie de două numere de versiune sau de numere " +"de versiune și un operator de comparație." + +#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) +#: tools/appstreamcli.c:726 +msgid "" +"Use the given .desktop file to fill in the basic values of the metainfo file." +msgstr "" +"Utilizează fișierul .desktop dat pentru a completa valorile de bază a " +"fișierului de informații meta." + +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand +#: tools/appstreamcli.c:731 +msgid "" +"This command takes optional TYPE and FILE positional arguments, FILE being a " +"file to write to (or \"-\" for standard output)." +msgstr "" +"Această comandă ia argumentele poziționale TIP și FIȘIER, FIȘIER fiind un " +"fișier la care se scrie (sau „-” pentru ieșirea standard)." + +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows +#: tools/appstreamcli.c:734 +#, c-format +msgid "The TYPE must be a valid component-type, such as: %s" +msgstr "TIPUL trebuie să fie un tip de componentă validă, cum ar fi: %s" + +#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) +#: tools/appstreamcli.c:775 +msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." +msgstr "" +"Utilizează linia specificată pentru tasta „Exec=” al fișierului de intrare " +"desktop." + +#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command +#: tools/appstreamcli.c:815 +msgid "Assume the input file is in the selected format ('yaml' or 'text')." +msgstr "" +"Presupuneți că fișierul de intrare este în formatul selectat („yaml” sau " +"„text”)." + +#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command +#: tools/appstreamcli.c:820 +msgid "" +"Limit the number of release entries that end up in the metainfo file (0 for " +"unlimited)." +msgstr "" +"Limitează numărul de intrări ale lansării care ajung în fișierul de " +"informații meta (0 pentru nelimitat)." + +#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command +#: tools/appstreamcli.c:862 +msgid "Generate the output in the selected format ('yaml' or 'text')." +msgstr "Generează ieșirea în formatul selectat („yaml” sau „text”)." + +#: tools/appstreamcli.c:894 +#, c-format +msgid "Compose binary '%s' was not found! Can not continue." +msgstr "" + +#. TRANSLATORS: this is a (usually shorter) command alias, shown after the command summary text +#: tools/appstreamcli.c:956 +#, c-format +msgid "(Alias: '%s')" +msgstr "" + +#. these are commands we can use with appstreamcli +#: tools/appstreamcli.c:983 +msgid "Subcommands:" +msgstr "Subcomenzi:" + +#: tools/appstreamcli.c:1029 +msgid "" +"You can find information about subcommand-specific options by passing \"--" +"help\" to the subcommand." +msgstr "" +"Puteți găsi informații despre opțiunile specifice subcomenzii prin trecerea " +"„--help” subcomenzii." + +#. TRANSLATORS: ascli has been run with unknown command. '%s --help' is the command to receive help and should not be translated. +#: tools/appstreamcli.c:1052 +#, fuzzy, c-format +msgid "" +"Command '%s' is unknown. Run '%s --help' for a list of available commands." +msgstr "" +"Rulați „%s -- help” pentru a vedea o listă completă a opțiunilor în linie de " +"comandă disponibile." + +#. TRANSLATORS: ascli flag description for: --verbose +#: tools/appstreamcli.c:1082 +msgid "Show extra debugging information." +msgstr "Arată informații de depanare extra." + +#. TRANSLATORS: ascli flag description for: --profile +#: tools/appstreamcli.c:1090 +msgid "Enable profiling" +msgstr "" + +#. TRANSLATORS: `appstreamcli search` command description. +#: tools/appstreamcli.c:1102 +msgid "Search the component database." +msgstr "Caută baza de date a componentelor." + +#. TRANSLATORS: `appstreamcli get` command description. +#: tools/appstreamcli.c:1107 +msgid "Get information about a component by its ID." +msgstr "Obțineți informații despre o componentă după ID-ul acesteia." + +#. TRANSLATORS: `appstreamcli what-provides` command description. +#: tools/appstreamcli.c:1112 +msgid "" +"Get components which provide the given item. Needs an item type (e.g. lib, " +"bin, python3, …) and item value as parameter." +msgstr "" + +#. TRANSLATORS: `appstreamcli dump` command description. +#: tools/appstreamcli.c:1118 +msgid "Dump raw XML metadata for a component matching the ID." +msgstr "" +"Transferă datele meta XML brute pentru o componentă care se potrivește cu ID-" +"ul." + +#. TRANSLATORS: `appstreamcli refresh-cache` command description. +#: tools/appstreamcli.c:1123 +msgid "Rebuild the component metadata cache." +msgstr "Regenerează cache-ul de date meta de componentă." + +#. TRANSLATORS: `appstreamcli validate` command description. +#: tools/appstreamcli.c:1129 +msgid "Validate AppStream XML files for issues." +msgstr "Validează fișiere XML AppStream pentru probleme." + +#. TRANSLATORS: `appstreamcli validate-tree` command description. +#: tools/appstreamcli.c:1134 +msgid "Validate an installed file-tree of an application for valid metadata." +msgstr "" +"Validează un arbore de fișier instalat al unei aplicații pentru date meta " +"valide." + +#. TRANSLATORS: `appstreamcli install` command description. +#: tools/appstreamcli.c:1140 +msgid "Install software matching the component-ID." +msgstr "Instalați software care se potrivește cu ID-ul componentei." + +#. TRANSLATORS: `appstreamcli remove` command description. +#: tools/appstreamcli.c:1145 +msgid "Remove software matching the component-ID." +msgstr "Elimină software-ul care se potrivește ID-ului de componentă." + +#. TRANSLATORS: `appstreamcli status` command description. +#: tools/appstreamcli.c:1151 +msgid "Display status information about available AppStream metadata." +msgstr "Afișează informații de stare despre datele meta AppStream disponibile." + +#. TRANSLATORS: `appstreamcli os-info` command description. +#: tools/appstreamcli.c:1156 +msgid "" +"Show information about the current operating system from the metadata index." +msgstr "" + +#. TRANSLATORS: `appstreamcli put` command description. +#: tools/appstreamcli.c:1161 +msgid "Install a metadata file into the right location." +msgstr "Instalați un fișier de date meta în locația corectă." + +#. TRANSLATORS: `appstreamcli convert` command description. "Collection XML" is a term describing a specific type of AppStream XML data. +#: tools/appstreamcli.c:1166 +msgid "Convert collection XML to YAML or vice versa." +msgstr "Convertește colecția XML la YAML sau vice versa." + +#. TRANSLATORS: `appstreamcli vercmp` command description. +#: tools/appstreamcli.c:1171 +msgid "Compare two version numbers." +msgstr "Comparați două numere de versiune." + +#. TRANSLATORS: `appstreamcli new-template` command description. +#: tools/appstreamcli.c:1177 +msgid "" +"Create a template for a metainfo file (to be filled out by the upstream " +"project)." +msgstr "" +"Creează un șablon pentru un fișier de informații meta (de completat de " +"proiectul upstream)." + +#. TRANSLATORS: `appstreamcli make-desktop-file` command description. +#: tools/appstreamcli.c:1182 +#, fuzzy +msgid "Create a desktop-entry file from a metainfo file." +msgstr "" +"Creează un fișier de intrare desktop XDG de la un fișier de informații meta." + +#. TRANSLATORS: `appstreamcli news-to-metainfo` command description. +#: tools/appstreamcli.c:1187 +msgid "Convert a YAML or text NEWS file into metainfo releases." +msgstr "" +"Convertește un fișier YAML sau text ȘTIRI în lansări de informații meta." + +#. TRANSLATORS: `appstreamcli metainfo-to-news` command description. +#: tools/appstreamcli.c:1192 +msgid "Write NEWS text or YAML file with information from a metainfo file." +msgstr "" +"Scrie un fișier text ȘTIRI sau YAML cu informații de la un fișier de " +"informații meta." + +#. TRANSLATORS: `appstreamcli compose` command description. +#: tools/appstreamcli.c:1198 +#, fuzzy +msgid "Compose AppStream collection metadata from directory trees." +msgstr "" +"Nu s-au găsit date meta AppStream în acest director sau arbore de directoare." + +#. TRANSLATORS: ascli has been run without command. +#: tools/appstreamcli.c:1206 +msgid "You need to specify a command." +msgstr "Trebuie să specificați o comandă." + +#. TRANSLATORS: In ascli: The requested action needs higher permissions. +#: tools/ascli-actions-mdata.c:70 +msgid "You might need superuser permissions to perform this action." +msgstr "" +"S-ar putea să aveți nevoie de permisiunile superutilizator pentru a executa " +"această acțiune." + +#. we performed a cache refresh +#. TRANSLATORS: Updating the metadata cache succeeded +#: tools/ascli-actions-mdata.c:80 +msgid "AppStream cache update completed successfully." +msgstr "Actualizarea cache-ului AppStream a fost completată cu succes." + +#. cache wasn't updated, so the update wasn't necessary +#: tools/ascli-actions-mdata.c:86 +msgid "AppStream cache update is not necessary." +msgstr "Actualizarea cache-ului AppStream nu este necesară." + +#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments +#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. +#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:253 +#: tools/ascli-actions-pkgmgr.c:80 +msgid "You need to specify a component-ID." +msgstr "Trebuie să specificați un ID de componentă." + +#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:265 +#: tools/ascli-actions-pkgmgr.c:93 +#, c-format +msgid "Unable to find component with ID '%s'!" +msgstr "Nu se poate găsi componenta cu ID-ul „%s”!" + +#: tools/ascli-actions-mdata.c:164 +msgid "You need to specify a term to search for." +msgstr "Trebuie să specificați un termen pentru a căuta." + +#. TRANSLATORS: We failed to find any component in the database, likely due to an error +#: tools/ascli-actions-mdata.c:177 +#, c-format +msgid "Unable to find component matching %s!" +msgstr "Nu se poate găsi componenta care se potrivește cu „%s”!" + +#: tools/ascli-actions-mdata.c:182 +#, c-format +msgid "No component matching '%s' found." +msgstr "Nu s-a găsit nicio componentă care se potrivește cu „%s”." + +#: tools/ascli-actions-mdata.c:206 +msgid "No value for the item to search for was defined." +msgstr "Nu s-a definit nicio valoare pentru elementul de căutat." + +#: tools/ascli-actions-mdata.c:212 +msgid "Invalid type for provided item selected. Valid values are:" +msgstr "Tip nevalid pentru elementul furnizat selectat. Valorile valide sunt:" + +#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results +#: tools/ascli-actions-mdata.c:227 +#, c-format +msgid "Could not find component providing '%s::%s'." +msgstr "Nu s-a putut găsit componenta care furnizează „%s::%s”." + +#: tools/ascli-actions-mdata.c:306 +msgid "You need to specify a metadata file." +msgstr "Trebuie să specificați un fișier de informații meta." + +#: tools/ascli-actions-mdata.c:320 +#, fuzzy, c-format +msgid "Unable to install metadata file: %s" +msgstr "Nu se poate salva fișierul de intrare desktop: %s" + +#: tools/ascli-actions-mdata.c:340 +msgid "You need to specify an input and output file." +msgstr "Trebuie să specificați un fișier de intrare și unul de ieșire." + +#: tools/ascli-actions-mdata.c:347 +#, c-format +msgid "Metadata file '%s' does not exist." +msgstr "Fișierul de date meta „%s” nu există." + +#. TRANSLATORS: User is trying to convert a file in ascli +#: tools/ascli-actions-mdata.c:387 +msgid "" +"Unable to convert file: Could not determine output format, please set it " +"explicitly using '--format='." +msgstr "" +"Nu se poate converti fișierul. Nu s-a putut determina formatul ieșirii, " +"stabiliți-l explicit utilizând „--format=”." + +#: tools/ascli-actions-mdata.c:438 +#, fuzzy, c-format +msgid "Unable to find operating system component '%s'!" +msgstr "Nu se poate găsi componenta cu ID-ul „%s”!" + +#: tools/ascli-actions-mdata.c:443 +#, fuzzy +msgid "Version" +msgstr "Versiune: %s" + +#: tools/ascli-actions-mdata.c:467 +msgid "" +"You need to give an AppStream software component type to generate a " +"template. Possible values are:" +msgstr "" +"Trebuie să dați un tip de componentă de software AppStream pentru a genera " +"un șablon. Valorile posibile sunt:" + +#: tools/ascli-actions-mdata.c:469 +#, c-format +msgid "" +"The software component type '%s' is not valid in AppStream. Possible values " +"are:" +msgstr "" +"Tipul de componentă software „%s” nu este valid în AppStream. Valorile " +"posibile sunt:" + +#: tools/ascli-actions-mdata.c:487 +#, c-format +msgid "The .desktop file '%s' does not exist." +msgstr "Fișierul .desktop „%s” nu există." + +#: tools/ascli-actions-mdata.c:493 +#, c-format +msgid "Unable to read the .desktop file: %s" +msgstr "Nu se poate citi fișierul .desktop: %s" + +#: tools/ascli-actions-mdata.c:564 +#, c-format +msgid "Unable to build the template metainfo file: %s" +msgstr "Nu se poate genera fișierul de informații meta șablon: %s" + +#: tools/ascli-actions-mdata.c:572 +#, c-format +msgid "Unable to save the template metainfo file: %s" +msgstr "Nu se poate salva fișierul de informații meta șablon: %s" + +#. TRANSLATORS: In the status report of ascli: Header +#: tools/ascli-actions-misc.c:47 +msgid "AppStream Status:" +msgstr "Stare AppStream:" + +#: tools/ascli-actions-misc.c:48 +#, c-format +msgid "Version: %s" +msgstr "Versiune: %s" + +#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions +#: tools/ascli-actions-misc.c:52 +msgid "Distribution metadata:" +msgstr "Date meta de distribuție:" + +#: tools/ascli-actions-misc.c:94 +msgid "Iconsets" +msgstr "Seturi de iconițe" + +#: tools/ascli-actions-misc.c:105 +msgid "No icons." +msgstr "Nu sunt iconițe." + +#. TRANSLATORS: No metainfo files have been found +#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 +msgid "Empty." +msgstr "Gol." + +#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report +#: tools/ascli-actions-misc.c:116 +msgid "Metainfo files:" +msgstr "Fișiere de informații meta:" + +#: tools/ascli-actions-misc.c:123 +#, c-format +msgid "Found %i components." +msgstr "S-au găsit %i componente." + +#. TRANSLATORS: Found metainfo files in legacy directories +#: tools/ascli-actions-misc.c:138 +#, c-format +msgid "Found %i components in legacy paths." +msgstr "S-au găsit %i componente în căile moștenite." + +#. TRANSLATORS: Status summary in ascli +#: tools/ascli-actions-misc.c:145 +msgid "Summary:" +msgstr "Rezumat:" + +#: tools/ascli-actions-misc.c:153 +#, c-format +msgid "We have information on %i software components." +msgstr "Avem informații asupra componentelor software %i." + +#: tools/ascli-actions-misc.c:159 +#, c-format +msgid "Error while loading the metadata pool: %s" +msgstr "Eroare în timpul încărcării rezervei de date meta: %s" + +#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 +msgid "You need to specify a metainfo file as input." +msgstr "Trebuie să specificați un fișier de informații meta ca intrare." + +#: tools/ascli-actions-misc.c:188 +msgid "" +"You need to specify a desktop-entry file to create or augment as output." +msgstr "" +"Trebuie să specificați un fișier de intrare desktop pentru a-l crea sau " +"augmenta ca ieșire." + +#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 +#: tools/ascli-actions-misc.c:515 +#, c-format +msgid "Metainfo file '%s' does not exist." +msgstr "Fișierul de informații meta „%s” nu există." + +#: tools/ascli-actions-misc.c:219 +#, c-format +msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." +msgstr "" +"Se augmentează fișierul de intrare desktop existent „%s” cu datele de la " +"„%s”." + +#: tools/ascli-actions-misc.c:224 +#, c-format +msgid "Unable to load existing desktop-entry file template: %s" +msgstr "Nu se poate încărca șablonul de fișier de intrare desktop existent: %s" + +#: tools/ascli-actions-misc.c:228 +#, c-format +msgid "Creating new desktop-entry file '%s' using data from '%s'" +msgstr "" +"Creează un fișier de intrare desktop nou „%s” utilizând date de la „%s”" + +#: tools/ascli-actions-misc.c:284 +msgid "No stock icon name was provided in the metainfo file. Can not continue." +msgstr "" +"Nu s-a furnizat niciun nume de iconiță stoc în fișierul de informații meta. " +"Nu se poate continua." + +#: tools/ascli-actions-misc.c:306 +msgid "" +"No provided binary specified in metainfo file, and no exec command specified " +"via '--exec'. Can not create 'Exec=' key." +msgstr "" +"Nu s-a furnizat niciun binar specificat în fișierul de informații meta, și " +"nicio comandă exec specificată via „--exec”. Nu se poate crea cheia „Exec=”." + +#: tools/ascli-actions-misc.c:370 +#, c-format +msgid "Unable to save desktop entry file: %s" +msgstr "Nu se poate salva fișierul de intrare desktop: %s" + +#: tools/ascli-actions-misc.c:393 +msgid "You need to specify a NEWS file as input." +msgstr "Trebuie să specificați un fișier ȘTIRI ca intrare." + +#: tools/ascli-actions-misc.c:397 +msgid "" +"You need to specify a metainfo file to augment, or '-' to print to stdout." +msgstr "" +"Trebuie să specificați un fișier de informații meta pentru a augmenta, sau " +"„-” pentru a tipări la stdout." + +#: tools/ascli-actions-misc.c:402 +msgid "No output filename specified, modifying metainfo file directly." +msgstr "" +"Nu s-a specificat niciun nume de fișier de ieșire, se modifică direct " +"fișierul de informații meta." + +#: tools/ascli-actions-misc.c:509 +msgid "You need to specify a NEWS file as output, or '-' to print to stdout." +msgstr "" +"Trebuie să specificați un fișier ȘTIRI ca ieșire, sau „-” pentru a tipări la " +"stdout." + +#: tools/ascli-actions-misc.c:540 +msgid "You need to specify a NEWS format to write the output in." +msgstr "Trebuie să specificați un format de ȘTIRI în care să se scrie ieșire." + +#: tools/ascli-actions-pkgmgr.c:53 +msgid "" +"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" +"\" (part of PackageKit) is available." +msgstr "" +"Nu s-a găsit niciun CLI de gestionar de pachete. Asigurați-vă că de ex. " +"„pkcon” (parte a PackageKit) este disponibil." + +#: tools/ascli-actions-pkgmgr.c:67 +#, c-format +msgid "Unable to spawn package manager: %s" +msgstr "Nu se poate crea gestionarul de pachete: %s" + +#. TRANSLATORS: We found no distribution package or bundle to install to make this software available +#: tools/ascli-actions-pkgmgr.c:106 +#, c-format +msgid "Component '%s' has no installation candidate." +msgstr "Componenta „%s” nu are niciun candidat de instalare." + +#: tools/ascli-actions-validate.c:176 tools/ascli-actions-validate.c:354 +#, c-format +msgid "File '%s' does not exist." +msgstr "Fișierul „%s” nu există." + +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "error"-type hints +#: tools/ascli-actions-validate.c:228 +#, c-format +msgid "errors: %lu" +msgstr "erori: %lu" + +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "warning"-type hints +#: tools/ascli-actions-validate.c:235 +#, c-format +msgid "warnings: %lu" +msgstr "avertismente: %lu" + +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "info"-type hints +#: tools/ascli-actions-validate.c:242 +#, c-format +msgid "infos: %lu" +msgstr "informații: %lu" + +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "pedantic"-type hints +#: tools/ascli-actions-validate.c:249 +#, c-format +msgid "pedantic: %lu" +msgstr "pedant: %lu" + +#: tools/ascli-actions-validate.c:268 tools/ascli-actions-validate.c:342 +msgid "You need to specify at least one file to validate!" +msgstr "Trebuie să specificați cel puțin un fișier pentru a valida!" + +#: tools/ascli-actions-validate.c:294 tools/ascli-actions-validate.c:435 +msgid "Validation was successful." +msgstr "Validarea a fost cu succes." + +#: tools/ascli-actions-validate.c:296 tools/ascli-actions-validate.c:437 +#, c-format +msgid "Validation was successful: %s" +msgstr "Validarea a fost cu succes: %s" + +#: tools/ascli-actions-validate.c:306 tools/ascli-actions-validate.c:447 +#, c-format +msgid "Validation failed: %s" +msgstr "Validarea a eșuat: %s" + +#: tools/ascli-actions-validate.c:368 tools/ascli-actions-validate.c:497 +#, c-format +msgid "" +"The validator can not create reports in the '%s' format. You may select " +"'yaml' or 'text' instead." +msgstr "" +"Validatorul nu poate crea rapoarte în formatul „%s”. Puteți selecta în " +"schimb „yaml” sau „text”." + +#: tools/ascli-actions-validate.c:390 tools/ascli-actions-validate.c:484 +msgid "You need to specify a root directory to start validation!" +msgstr "Trebuie să specificați un director rădăcină pentru a începe validarea!" + +#: tools/ascli-utils.c:266 +msgid "Identifier" +msgstr "Identificator" + +#: tools/ascli-utils.c:268 +msgid "Internal ID" +msgstr "" + +#: tools/ascli-utils.c:269 +msgid "Name" +msgstr "Nume" + +#: tools/ascli-utils.c:270 +msgid "Summary" +msgstr "Rezumat" + +#: tools/ascli-utils.c:271 +msgid "Package" +msgstr "Pachet" + +#: tools/ascli-utils.c:272 +msgid "Bundle" +msgstr "Pachet" + +#: tools/ascli-utils.c:273 +msgid "Homepage" +msgstr "Pagină principală" + +#: tools/ascli-utils.c:274 +msgid "Icon" +msgstr "Iconiță" + +#. developer name +#: tools/ascli-utils.c:294 +msgid "Developer" +msgstr "Dezvoltator" + +#: tools/ascli-utils.c:300 +msgid "Extends" +msgstr "Extinde" + +#: tools/ascli-utils.c:306 +msgid "Description" +msgstr "Descriere" + +#: tools/ascli-utils.c:326 +msgid "Default Screenshot URL" +msgstr "URL de captură de ecran implicit" + +#. project group +#: tools/ascli-utils.c:333 +msgid "Project Group" +msgstr "Grup de proiect" + +#. license +#: tools/ascli-utils.c:336 +msgid "License" +msgstr "Licență" + +#: tools/ascli-utils.c:342 +msgid "Categories" +msgstr "Categorii" + +#: tools/ascli-utils.c:350 +msgid "Compulsory for" +msgstr "Obligatoriu pentru" + +#: tools/ascli-utils.c:378 +msgid "Provided Items" +msgstr "Elemente furnizate" + +#, fuzzy, c-format +#~ msgid "Unable to open new cache file: %s" +#~ msgstr "Nu se poate citi fișierul .desktop: %s" + +#~ msgid "" +#~ "AppStream is a cross-distribution specification to provide metadata about " +#~ "software components." +#~ msgstr "" +#~ "AppStream este o specificație de cross-distribuție care furnizează date " +#~ "meta despre componentele software." + +#, c-format +#~ msgid "Unable to write to '%s', can not install metainfo file." +#~ msgstr "" +#~ "Nu se poate scrie la „%s”, nu se poate instala fișierul de informații " +#~ "meta." + +#, c-format +#~ msgid "" +#~ "Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " +#~ "suffix." +#~ msgstr "" +#~ "Nu se poate copia „%s”: Fișierul nu are un sufix „.metainfo.xml” sau „." +#~ "appdata.xml”." + +#~ msgid "An item type (e.g. lib, bin, python3, …)" +#~ msgstr "Un tip de element (de ex. lib, bin, python3, …)" + +#~ msgid "Get components which provide the given item." +#~ msgstr "Obțineți componente care furnizează elementul dat." + +#, c-format +#~ msgid "Unknown command '%s'." +#~ msgstr "Comandă necunoscută „%s”." + +#~ msgid "Value of the item that should be found." +#~ msgstr "Valoare elementului care ar trebui să fie găsit." diff -Nru appstream-0.12.10/po/ru.po appstream-0.14.5/po/ru.po --- appstream-0.12.10/po/ru.po 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/po/ru.po 2021-08-28 20:15:28.000000000 +0000 @@ -1,1593 +1,2677 @@ +# #-#-#-#-# ru.po (AppStream) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Matthias Klumpp # This file is distributed under the same license as the appstream package. # Translators: # Serge Vylekzhanin , 2014-2016 # Igor , 2019. +# A , 2020. +# Yaroslav Malykh , 2020, 2021. +# Allan Nordhøy , 2020. +# Alex , 2020. +# Alexander , 2020. +# Alexander Klimenko , 2020. +# Shwady , 2020, 2021. +# kyanukovich , 2020. +# Irina , 2020. +# Nikita Epifanov , 2020. +# #-#-#-#-# ru.po (appstream-glib) #-#-#-#-# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Igor Gnatenko , 2014 +# Serge Vylekzhanin , 2014-2016 +# Richard Hughes , 2016. #zanata +# Melairz1237 , 2020. +# koffevar , 2020. +# asrelo , 2020. +# Чтабс , 2021. +# Anna Malinovskaia , 2021. +# Валентин Цыбин , 2021. +# +# Translators: msgid "" msgstr "" -"Project-Id-Version: AppStream\n" +"Project-Id-Version: appstream-glib\n" "Report-Msgid-Bugs-To: appstream@lists.freedesktop.org\n" -"POT-Creation-Date: 2020-01-14 01:44+0100\n" -"PO-Revision-Date: 2019-08-08 07:23+0000\n" -"Last-Translator: Igor \n" +"POT-Creation-Date: 2021-08-28 16:09+0200\n" +"PO-Revision-Date: 2021-07-18 22:35+0000\n" +"Last-Translator: Валентин Цыбин \n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 3.8-dev\n" - -#: tools/appstream-cli.c:157 -#, c-format -msgid "'%s' command" -msgstr "Команда «%s»" - -#: src/as-category.c:168 -msgctxt "Category of Graphics" -msgid "3D Graphics" -msgstr "3D-графика" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:254 -msgid "" -"A 'requires' or 'recommends' item requires a value to denote a valid " -"relation." -msgstr "" - -#: src/as-validator-issue-tag.h:51 -msgid "" -"A tag must not be localized in metainfo files (upstream " -"metadata). Localize the individual paragraphs instead." -msgstr "" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:195 -msgid "" -"A screenshot must contain at least one image or video in order to be useful. " -"Please add an to it." -msgstr "" - -#: src/as-validator-issue-tag.h:200 -msgid "" -"A screenshot must contain either images or videos, but not both at the same " -"time. Please use this screenshot exclusively for either static images or for " -"videos." -msgstr "" - -#: src/as-category.c:123 -msgctxt "Category of Games" -msgid "Action" -msgstr "Экшен" - -#. TRANSLATORS: this is the main category for Add-ons -#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor -#: src/as-category.c:320 tools/ascli-utils.c:398 -msgid "Add-ons" -msgstr "Дополнения" - -#: src/as-category.c:126 -msgctxt "Category of Games" -msgid "Adventure" -msgstr "Приключения" - -#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) -#: tools/appstream-cli.c:116 -msgid "Also show pedantic hints." -msgstr "Кроме того, выводить педантичные подсказки." - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:497 -msgid "" -"An 'extends' tag is specified, but the component is not of type 'addon', " -"'localization' or 'repository'." -msgstr "" - -#: tools/appstream-cli.c:850 -msgid "An item type (e.g. lib, bin, python3, …)" -msgstr "Тип элемента (например lib, bin, python3, ...)" - -#: data/org.freedesktop.appstream.cli.metainfo.xml:9 -msgid "An utility to work with AppStream metadata" -msgstr "Утилита для работы с метаданными AppStream" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" +"%100>=11 && n%100<=14)? 2 : 3);\n" +"X-Generator: Weblate 4.7.2-dev\n" #: data/org.freedesktop.appstream.cli.metainfo.xml:8 msgid "AppStream CLI" msgstr "Интерфейс командной строки AppStream" -#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. -#: tools/appstream-cli.c:947 -#, c-format -msgid "" -"AppStream CLI tool version: %s\n" -"AppStream library version: %s" -msgstr "" -"Версия CLI-программы AppStream: %s\n" -"Версия библиотеки AppStream: %s" - -#. TRANSLATORS: In the status report of ascli: Header -#: tools/ascli-actions-misc.c:47 -msgid "AppStream Status:" -msgstr "Статус AppStream:" - -#. we performed a cache refresh -#. TRANSLATORS: Updating the metadata cache succeeded -#: tools/ascli-actions-mdata.c:80 -msgid "AppStream cache update completed successfully." -msgstr "Обновление кэша AppStream завершено успешно." - -#. cache wasn't updated, so the update wasn't necessary -#: tools/ascli-actions-mdata.c:86 -msgid "AppStream cache update is not necessary." -msgstr "Обновление кэша AppStream необязательно." - -#. TRANSLATORS: This is the header to the --help menu for subcommands -#. TRANSLATORS: This is the header to the --help menu -#: tools/appstream-cli.c:154 tools/appstream-cli.c:843 -msgid "AppStream command-line interface" -msgstr "Интерфейс командной строки AppStream" - -#: src/as-validator-issue-tag.h:63 -msgid "" -"AppStream descriptions support only a limited set of tags to format text: " -"Paragraphs (

                                                                                                                                                                                                                                                                                                                                ) and lists (

                                                                                                                                                                                                                                                                                                                                  ,
                                                                                                                                                                                                                                                                                                                                    ). This description markup contains " -"an invalid XML tag that would not be rendered correctly in applications " -"supporting the metainfo specification." -msgstr "" +#: data/org.freedesktop.appstream.cli.metainfo.xml:9 +msgid "An utility to work with AppStream metadata" +msgstr "Утилита для работы с метаданными AppStream" #: data/org.freedesktop.appstream.cli.metainfo.xml:12 -#, fuzzy msgid "" -"AppStream is a cross-distribution specification to provide metadata about " -"software components." -msgstr "" -"AppStream — это кросс-платформенная спецификация предоставления метаданных о " -"программных компонентах." +"AppStream is a metadata specification which permits software components to " +"provide information about themselves to automated systems and end-users " +"before the software is actually installed. The AppStream project provides " +"facilities to easily access and transform this metadata, as well as a few " +"additional services for building feature-rich software centers and similar " +"applications that make use of software metadata." +msgstr "" +"AppStream - это спецификация метаданных, которая позволяет программным " +"компонентам предоставлять информацию о себе автоматизированным системам и " +"конечным пользователям еще до установки программного обеспечения. Проект " +"AppStream предоставляет средства для легкого доступа и преобразования этих " +"метаданных, а также несколько дополнительных сервисов для создания " +"многофункциональных программных центров и подобных приложений, использующих " +"метаданные программного обеспечения." + +#: data/org.freedesktop.appstream.cli.metainfo.xml:18 +msgid "" +"The appstreamcli command-line tool allows to read, write, and " +"transform AppStream XML or YAML metadata as well as to validate it for " +"compliance with the specification. It also provides easy access to the " +"system metadata pool, for example to query for software that provides a " +"specific Mediatype handler or for installing software by its component " +"identifier." +msgstr "" +"Инструмент командной строки appstreamcli позволяет читать, " +"записывать и преобразовывать метаданные AppStream XML или YAML, а также " +"проверять их на соответствие спецификации. Он также обеспечивает легкий " +"доступ к пулу метаданных системы, например, для запроса программного " +"обеспечения, предоставляющего определенный обработчик Mediatype, или для " +"установки программного обеспечения по идентификатору компонента." -#: src/as-pool.c:1937 -#, fuzzy, c-format -msgid "" -"AppStream system cache refresh failed. Turn on verbose mode to get detailed " -"issue information." -msgstr "" -"Не удалось обновить кэш AppStream. Включите подробный режим для получения " -"более детальной информации о проблеме." +#: src/as-category.c:66 +msgctxt "Category of AudioVideo" +msgid "Featured" +msgstr "Отмеченные" -#. TRANSLATORS: Output if appstreamcli --version is executed. -#: tools/appstream-cli.c:944 -#, c-format -msgid "AppStream version: %s" -msgstr "Версия AppStream: %s" +#: src/as-category.c:69 +msgctxt "Category of AudioVideo" +msgid "Audio Creation & Editing" +msgstr "Создание и редактирование аудио" -#: src/as-category.c:129 -msgctxt "Category of Games" -msgid "Arcade" -msgstr "Аркада" +#: src/as-category.c:75 +msgctxt "Category of AudioVideo" +msgid "Music Players" +msgstr "Музыкальные проигрыватели" -#: src/as-category.c:234 -msgctxt "Category of Science" -msgid "Artificial Intelligence" -msgstr "Искусственный интеллект" +#: src/as-category.c:84 +msgctxt "Category of Development" +msgid "Featured" +msgstr "Отмеченные" -#: src/as-validator-issue-tag.h:91 -msgid "" -"As per AppStream specification, the mentioned tag must only appear once in " -"this context. Having multiple tags of this kind is not valid." -msgstr "" +#: src/as-category.c:87 +msgctxt "Category of Development" +msgid "Debuggers" +msgstr "Отладчики" -#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command -#: tools/appstream-cli.c:766 -msgid "Assume the input file is in the selected format ('yaml' or 'text')." -msgstr "" +#: src/as-category.c:90 +msgctxt "Category of Development" +msgid "IDEs" +msgstr "Интегрированные среды разработки (IDE)" -#: src/as-category.c:101 +#: src/as-category.c:99 msgctxt "Category of Education" -msgid "Astronomy" -msgstr "Астрономия" +msgid "Featured" +msgstr "Отмеченные" -#: src/as-category.c:237 -msgctxt "Category of Science" +#: src/as-category.c:102 +msgctxt "Category of Education" msgid "Astronomy" msgstr "Астрономия" -#. TRANSLATORS: this is the menu spec main category for Audio & Video -#: src/as-category.c:302 -msgid "Audio & Video" -msgstr "Аудио и видео" +#: src/as-category.c:105 +msgctxt "Category of Education" +msgid "Chemistry" +msgstr "Химия" -#: src/as-category.c:68 -msgctxt "Category of AudioVideo" -msgid "Audio Creation & Editing" -msgstr "Создание и редактирование аудио" +#: src/as-category.c:108 +msgctxt "Category of Education" +msgid "Languages" +msgstr "Языки" -#: tools/ascli-actions-misc.c:219 -#, c-format -msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." -msgstr "" +#: src/as-category.c:112 +msgctxt "Category of Education" +msgid "Math" +msgstr "Математика" -#: src/as-provided.c:146 -msgid "Binaries" -msgstr "Исполняемые файлы" +#: src/as-category.c:121 +msgctxt "Category of Games" +msgid "Featured" +msgstr "Отмеченные" + +#: src/as-category.c:124 +msgctxt "Category of Games" +msgid "Action" +msgstr "Экшен" + +#: src/as-category.c:127 +msgctxt "Category of Games" +msgid "Adventure" +msgstr "Приключения" + +#: src/as-category.c:130 +msgctxt "Category of Games" +msgid "Arcade" +msgstr "Аркада" -#: src/as-category.c:132 +#: src/as-category.c:133 msgctxt "Category of Games" msgid "Blocks" msgstr "Блоки" -#: src/as-category.c:135 +#: src/as-category.c:136 msgctxt "Category of Games" msgid "Board" msgstr "Настольные" -#: tools/ascli-utils.c:299 -msgid "Bundle" -msgstr "Пакет" - -#: src/as-pool.c:1828 -#, c-format -msgid "Cache location '%s' is not writable." -msgstr "Кэш, расположенный в '%s', недоступен для записи." - -#: src/as-category.c:191 -msgctxt "Category of Office" -msgid "Calendar" -msgstr "Календарь" - -#: tools/ascli-actions-mdata.c:327 -#, c-format -msgid "" -"Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " -"suffix." -msgstr "" -"Не удается скопировать \"%s\": у файла нет '.metainfo.xml' или '.appdata." -"xml' окончания." - -#: src/as-category.c:138 +#: src/as-category.c:139 msgctxt "Category of Games" msgid "Card" msgstr "Карточные" -#: tools/ascli-utils.c:369 -msgid "Categories" -msgstr "Категории" +#: src/as-category.c:142 +msgctxt "Category of Games" +msgid "Emulators" +msgstr "Эмуляторы" -#: src/as-category.c:259 -msgctxt "Category of Communication" -msgid "Chat" -msgstr "Чат" +#: src/as-category.c:145 +msgctxt "Category of Games" +msgid "Kids" +msgstr "Детские" -#: src/as-category.c:104 -msgctxt "Category of Education" -msgid "Chemistry" -msgstr "Химия" +#: src/as-category.c:148 +msgctxt "Category of Games" +msgid "Logic" +msgstr "Логические" -#: src/as-category.c:240 -msgctxt "Category of Science" -msgid "Chemistry" -msgstr "Химия" +#: src/as-category.c:151 +msgctxt "Category of Games" +msgid "Role Playing" +msgstr "Ролевые" -#: src/as-category.c:214 -msgctxt "Category of Addons" -msgid "Codecs" -msgstr "Кодеки" +#: src/as-category.c:154 +msgctxt "Category of Games" +msgid "Sports" +msgstr "Спортивные" -#. TRANSLATORS: this is the menu spec main category for Communication -#: src/as-category.c:326 -msgid "Communication & News" -msgstr "Общение и новости" +#: src/as-category.c:158 +msgctxt "Category of Games" +msgid "Strategy" +msgstr "Стратегии" -#: tools/appstream-cli.c:866 -msgid "Compare two version numbers." -msgstr "Сравнить два номера версий." +#: src/as-category.c:166 +msgctxt "Category of Graphics" +msgid "Featured" +msgstr "Отмеченные" -#: src/as-provided.c:166 -msgid "Component" -msgstr "Компонент" +#: src/as-category.c:169 +msgctxt "Category of Graphics" +msgid "3D Graphics" +msgstr "3D-графика" -#. TRANSLATORS: We found no distribution package or bundle to install to make this software available -#: tools/ascli-actions-pkgmgr.c:106 -#, c-format -msgid "Component '%s' has no installation candidate." -msgstr "Компонент '%s' не имеет кандидата установки." +#: src/as-category.c:172 +msgctxt "Category of Graphics" +msgid "Photography" +msgstr "Фотография" -#: tools/ascli-utils.c:377 -msgid "Compulsory for" -msgstr "Обязательно для" +#: src/as-category.c:175 +msgctxt "Category of Graphics" +msgid "Scanning" +msgstr "Сканирование" -#: src/as-validator-issue-tag.h:361 -msgid "Consider using a secure (HTTPS) URL for the remote icon link." -msgstr "" +#: src/as-category.c:178 +msgctxt "Category of Graphics" +msgid "Vector Graphics" +msgstr "Векторная графика" -#: src/as-validator-issue-tag.h:383 -msgid "Consider using a secure (HTTPS) URL for this web link." -msgstr "" +#: src/as-category.c:181 +msgctxt "Category of Graphics" +msgid "Viewers" +msgstr "Просмотрщики" -#: src/as-validator-issue-tag.h:189 -msgid "" -"Consider using a secure (HTTPS) URL to reference this screenshot image or " -"video." -msgstr "" +#: src/as-category.c:189 +msgctxt "Category of Office" +msgid "Featured" +msgstr "Отмеченные" -#: tools/appstream-cli.c:870 -msgid "Convert a YAML or text NEWS file into metainfo releases." -msgstr "" +#: src/as-category.c:192 +msgctxt "Category of Office" +msgid "Calendar" +msgstr "Календарь" -#. TRANSLATORS: "convert" command in ascli. "Collection XML" is a term describing a specific type of AppStream XML data. -#: tools/appstream-cli.c:865 -msgid "Convert collection XML to YAML or vice versa." -msgstr "Конвертировать коллекцию из XML в YAML или наоборот." +#: src/as-category.c:196 +msgctxt "Category of Office" +msgid "Database" +msgstr "База данных" -#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results -#: tools/ascli-actions-mdata.c:228 -#, c-format -msgid "Could not find component providing '%s::%s'." -msgstr "Не удалось найти компоненту, предоставляющую \"%s::%s\"." +#: src/as-category.c:199 +msgctxt "Category of Office" +msgid "Finance" +msgstr "Финансы" -#: tools/appstream-cli.c:869 -msgid "Create a XDG desktop-entry file from a metainfo file." -msgstr "" +#: src/as-category.c:203 +msgctxt "Category of Office" +msgid "Word Processor" +msgstr "Текстовые процессоры" -#: tools/appstream-cli.c:868 -msgid "" -"Create a template for a metainfo file (to be filled out by the upstream " -"project)." -msgstr "" -"Создать шаблон для файла метаинформации (будет заполнен апстрим-проектом)." +#: src/as-category.c:212 +msgctxt "Category of Addons" +msgid "Fonts" +msgstr "Шрифты" -#: tools/ascli-actions-misc.c:228 -#, c-format -msgid "Creating new desktop-entry file '%s' using data from '%s'" -msgstr "" +#: src/as-category.c:215 +msgctxt "Category of Addons" +msgid "Codecs" +msgstr "Кодеки" -#: src/as-provided.c:160 -msgid "D-Bus Session Services" -msgstr "Службы сессии D-Bus" +#: src/as-category.c:218 +msgctxt "Category of Addons" +msgid "Input Sources" +msgstr "Источники" -#: src/as-provided.c:158 -msgid "D-Bus System Services" -msgstr "Системные службы D-Bus" +#: src/as-category.c:221 +msgctxt "Category of Addons" +msgid "Language Packs" +msgstr "Языковые пакеты" -#: src/as-category.c:195 -msgctxt "Category of Office" -msgid "Database" -msgstr "База данных" +#: src/as-category.c:224 +msgctxt "Category of Addons" +msgid "Localization" +msgstr "Локализация" -#: src/as-category.c:86 -msgctxt "Category of Development" -msgid "Debuggers" -msgstr "Отладчики" +#: src/as-category.c:232 +msgctxt "Category of Science" +msgid "Featured" +msgstr "Отмеченные" -#: tools/ascli-utils.c:353 -msgid "Default Screenshot URL" -msgstr "URL-адрес снимка экрана по умолчанию" +#: src/as-category.c:235 +msgctxt "Category of Science" +msgid "Artificial Intelligence" +msgstr "Искусственный интеллект" -#. TRANSLATORS: ascli flag description for: --format -#: tools/appstream-cli.c:83 -msgid "Default metadata format (valid values are 'xml' and 'yaml')." -msgstr "" -"Формат метаданных по умолчанию (допустимые значения: \"xml\" и \"yaml\")." +#: src/as-category.c:238 +msgctxt "Category of Science" +msgid "Astronomy" +msgstr "Астрономия" -#: tools/ascli-utils.c:333 -msgid "Description" -msgstr "Описание" +#: src/as-category.c:241 +msgctxt "Category of Science" +msgid "Chemistry" +msgstr "Химия" -#. developer name -#: tools/ascli-utils.c:321 -msgid "Developer" -msgstr "Разработчик" +#: src/as-category.c:244 +msgctxt "Category of Science" +msgid "Math" +msgstr "Математика" -#. TRANSLATORS: this is the menu spec main category for Development -#: src/as-category.c:305 -msgid "Developer Tools" -msgstr "Инструменты разработки" +#: src/as-category.c:249 +msgctxt "Category of Science" +msgid "Robotics" +msgstr "Роботы" -#: tools/appstream-cli.c:862 -msgid "Display status information about available AppStream metadata." -msgstr "Показать информацию о состоянии доступных метаданных AppStream." +#: src/as-category.c:257 +msgctxt "Category of Communication" +msgid "Featured" +msgstr "Отмеченные" -#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions -#: tools/ascli-actions-misc.c:52 -msgid "Distribution metadata:" -msgstr "Метаданные дистрибуции:" +#: src/as-category.c:260 +msgctxt "Category of Communication" +msgid "Chat" +msgstr "Чат" -#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) -#: tools/appstream-cli.c:126 -msgid "Do not use network access." -msgstr "Не использовать доступ к сети." +#: src/as-category.c:267 +msgctxt "Category of Communication" +msgid "News" +msgstr "Новости" -#. TRANSLATORS: ascli flag description for: --no-color -#: tools/appstream-cli.c:908 -msgid "Don't show colored output." -msgstr "Не показывать цветной вывод." +#: src/as-category.c:271 +msgctxt "Category of Communication" +msgid "Web Browsers" +msgstr "Веб-браузеры" -#: tools/appstream-cli.c:853 -msgid "Dump raw XML metadata for a component matching the ID." -msgstr "" -"Создать дамп необработанных метаданных XML для компоненты с соответствующим " -"идентификатором." +#: src/as-category.c:279 +msgctxt "Category of Utility" +msgid "Featured" +msgstr "Отмеченные" + +#: src/as-category.c:282 +msgctxt "Category of Utility" +msgid "Text Editors" +msgstr "Текстовые редакторы" + +#: src/as-category.c:285 +msgctxt "Category of Utility" +msgid "Terminal Emulators" +msgstr "Эмуляторы терминала" + +#: src/as-category.c:288 +msgctxt "Category of Utility" +msgid "File System" +msgstr "Файловая система" + +#: src/as-category.c:291 +msgctxt "Category of Utility" +msgid "System Monitoring" +msgstr "Мониторинг системы" + +#: src/as-category.c:294 +msgctxt "Category of Utility" +msgid "Security" +msgstr "Безопасность" + +#. TRANSLATORS: this is the menu spec main category for Audio & Video +#: src/as-category.c:303 +msgid "Audio & Video" +msgstr "Аудио и видео" + +#. TRANSLATORS: this is the menu spec main category for Development +#: src/as-category.c:306 +msgid "Developer Tools" +msgstr "Инструменты разработки" #. TRANSLATORS: this is the menu spec main category for Education -#: src/as-category.c:308 +#: src/as-category.c:309 msgid "Education" msgstr "Образование" -#. TRANSLATORS: No metainfo files have been found -#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 -msgid "Empty." -msgstr "Пусто." +#. TRANSLATORS: this is the menu spec main category for Game +#: src/as-category.c:312 +msgid "Games" +msgstr "Игры" -#: src/as-category.c:141 -msgctxt "Category of Games" -msgid "Emulators" -msgstr "Эмуляторы" +#. TRANSLATORS: this is the menu spec main category for Graphics +#: src/as-category.c:315 +msgid "Graphics & Photography" +msgstr "Графика и фотография" -#. TRANSLATORS: ascli flag description for: --force -#: tools/appstream-cli.c:245 -msgid "Enforce a cache refresh." -msgstr "Принудительно обновить кэш." +#. TRANSLATORS: this is the menu spec main category for Office +#: src/as-category.c:318 +msgid "Office" +msgstr "Офис" -#: src/as-validator-issue-tag.h:74 -msgid "Enumerations must only have list items (
                                                                                                                                                                                                                                                                                                                                  1. ) as children." +#. TRANSLATORS: this is the main category for Add-ons +#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor +#: src/as-category.c:321 tools/ascli-utils.c:371 +msgid "Add-ons" +msgstr "Дополнения" + +#. TRANSLATORS: this is the menu spec main category for Science +#: src/as-category.c:324 +msgid "Science" +msgstr "Наука" + +#. TRANSLATORS: this is the menu spec main category for Communication +#: src/as-category.c:327 +msgid "Communication & News" +msgstr "Общение и новости" + +#. TRANSLATORS: this is the menu spec main category for Utilities +#: src/as-category.c:330 +msgid "Utilities" +msgstr "Утилиты" + +#. TRANSLATORS: This is the formatting of English and localized name +#. * of the rating e.g. "Adults Only (solo adultos)" +#: src/as-content-rating.c:298 +#, c-format +msgid "%s (%s)" +msgstr "%s (%s)" + +#: src/as-content-rating.c:444 +msgid "General" +msgstr "Общее" + +#: src/as-content-rating.c:453 +msgid "ALL" +msgstr "ВСЕ" + +#: src/as-content-rating.c:457 src/as-content-rating.c:560 +msgid "Adults Only" +msgstr "Для взрослых" + +#: src/as-content-rating.c:459 src/as-content-rating.c:559 +msgid "Mature" +msgstr "Для взрослых" + +#: src/as-content-rating.c:461 src/as-content-rating.c:558 +msgid "Teen" +msgstr "Для подростков" + +#: src/as-content-rating.c:463 src/as-content-rating.c:557 +msgid "Everyone 10+" +msgstr "каждый 10+" + +#: src/as-content-rating.c:465 src/as-content-rating.c:556 +msgid "Everyone" +msgstr "Все" + +#: src/as-content-rating.c:467 src/as-content-rating.c:555 +msgid "Early Childhood" +msgstr "Раннее Детство" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:839 +msgid "No cartoon violence" +msgstr "Отсутствуют сцены мультипликационного насилия" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:841 +msgid "Cartoon characters in unsafe situations" +msgstr "Мультипликационные персонажи в опасных ситуациях" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:843 +msgid "Cartoon characters in aggressive conflict" +msgstr "Мультипликационные персонажи в агрессивных конфликтах" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:845 +msgid "Graphic violence involving cartoon characters" +msgstr "Насилие в отношении мультипликационных персонажей" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:850 +msgid "No fantasy violence" +msgstr "Отсутствуют сцены фэнтезийного насилия" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:852 +msgid "Characters in unsafe situations easily distinguishable from reality" +msgstr "Персонажи в опасных ситуациях легко отличимых от реальности" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:854 +msgid "Characters in aggressive conflict easily distinguishable from reality" +msgstr "Персонажи в агрессивных конфликтах легко отличимых от реальности" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:856 +msgid "Graphic violence easily distinguishable from reality" +msgstr "Насилие легко отличимое от реальности" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:861 +msgid "No realistic violence" +msgstr "Нереалистичное насилие" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:863 +msgid "Mildly realistic characters in unsafe situations" +msgstr "Умеренно-реалистичные персонажи в опасных ситуациях" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:865 +msgid "Depictions of realistic characters in aggressive conflict" +msgstr "Изображения реалистичных персонажей в агрессивных конфликтах" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:867 +msgid "Graphic violence involving realistic characters" +msgstr "Насилие в отношении реалистичных персонажей" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:872 +msgid "No bloodshed" +msgstr "Отсутствует кровопролитие" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:874 +msgid "Unrealistic bloodshed" +msgstr "Нереалистичное кровопролитие" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:876 +msgid "Realistic bloodshed" +msgstr "Реалистичное кровопролитие" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:878 +msgid "Depictions of bloodshed and the mutilation of body parts" +msgstr "Изображения крови и увечий" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:883 +msgid "No sexual violence" +msgstr "Отсутствует сексуальное насилие" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:885 +msgid "Rape or other violent sexual behavior" +msgstr "Изнасилование или другое сексуальное насилие" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:892 +msgid "No references to alcohol" +msgstr "Отсутствие упоминания алкоголя" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:894 +msgid "References to alcoholic beverages" +msgstr "Упоминание алкогольных напитков" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:896 +msgid "Use of alcoholic beverages" +msgstr "Употребление алкогольных напитков" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:902 +msgid "No references to illicit drugs" +msgstr "Отсутствуют упоминания запрещенных наркотиков" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:904 +msgid "References to illicit drugs" +msgstr "Упоминание запрещенных наркотиков" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:906 +msgid "Use of illicit drugs" +msgstr "Употребление запрещенных наркотиков" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:912 +msgid "No references to tobacco products" +msgstr "Нет упоминания табачных изделий" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:914 +msgid "References to tobacco products" +msgstr "Упоминание табачных изделий" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:916 +msgid "Use of tobacco products" +msgstr "Использование табачных изделий" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:922 +msgid "No nudity of any sort" +msgstr "Отсутствует обнажение в любом виде" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:924 +msgid "Brief artistic nudity" +msgstr "Короткие или неоткровенные сцены обнажения в художественных целях" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:926 +msgid "Prolonged nudity" +msgstr "Продолжительные сцены обнажения" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:932 +msgid "No references to or depictions of sexual nature" +msgstr "Отсутствуют отсылки или описания сексуального характера" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:934 +msgid "Provocative references or depictions" +msgstr "Содержание или упоминание провокационного характера" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:936 +msgid "Sexual references or depictions" +msgstr "Содержание или упоминание сексуального характера" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:938 +msgid "Graphic sexual behavior" +msgstr "Изображения сексуального поведения" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:943 +msgid "No profanity of any kind" +msgstr "Отсутствует ненормативная лексика в любом виде" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:945 +msgid "Mild or infrequent use of profanity" +msgstr "Незначительное или нечастое сквернословие" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:947 +msgid "Moderate use of profanity" +msgstr "Умеренное сквернословие" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:949 +msgid "Strong or frequent use of profanity" +msgstr "Очень грубое и частое сквернословие" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:954 +msgid "No inappropriate humor" +msgstr "Отсутствует неприемлемый юмор" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:956 +msgid "Slapstick humor" +msgstr "Грубый юмор" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:958 +msgid "Vulgar or bathroom humor" +msgstr "Вульгарный или непристойный юмор" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:960 +msgid "Mature or sexual humor" +msgstr "Юмор для взрослых или сексуального характера" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:965 +msgid "No discriminatory language of any kind" +msgstr "Отсутствуют фразы с дискриминацией любого типа" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:967 +msgid "Negativity towards a specific group of people" +msgstr "Негативное отношение к определенной группе людей" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:969 +msgid "Discrimination designed to cause emotional harm" +msgstr "Дискриминация с целью причинить моральный вред" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:971 +msgid "Explicit discrimination based on gender, sexuality, race or religion" +msgstr "" +"Явная дискриминация по признаку пола, сексуальной ориентации, расы или " +"религии" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:976 +msgid "No advertising of any kind" +msgstr "Отсутствует реклама в любом виде" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:978 +msgid "Product placement" +msgstr "Неявная реклама" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:980 +msgid "Explicit references to specific brands or trademarked products" +msgstr "Явные упоминания конкретных брендов или торговых марок" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:982 +msgid "Users are encouraged to purchase specific real-world items" +msgstr "" +"Пользователям предлагается приобрести определенные предметы реального мира" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:987 +msgid "No gambling of any kind" +msgstr "Отсутствуют азартные игры в любом виде" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:989 +msgid "Gambling on random events using tokens or credits" +msgstr "" +"Азартные игры с использованием жетонов, основанные на случайных событиях" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:991 +msgid "Gambling using “play” money" +msgstr "Азартные игры с использованием «игровой» валюты" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:993 +msgid "Gambling using real money" +msgstr "Азартные игры с использованием реальных денег" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:998 +msgid "No ability to spend money" +msgstr "Отсутствует возможность тратить деньги" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1000 +msgid "Users are encouraged to donate real money" +msgstr "Пользователям предлагается платить реальные деньги" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1003 +msgid "Ability to spend real money in-app" +msgstr "Присутствует возможность тратить реальные деньги в приложении" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1008 +msgid "No way to chat with other users" +msgstr "Отсутствует возможность общаться с другими игроками" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1010 +msgid "User-to-user interactions without chat functionality" +msgstr "Взаимодействие между игроками без использования чата" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1012 +msgid "Moderated chat functionality between users" +msgstr "Модерируемые функции чата между пользователями" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1014 +msgid "Uncontrolled chat functionality between users" +msgstr "Неконтролируемые функции чата между пользователями" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1019 +msgid "No way to talk with other users" +msgstr "Отсутствует возможность общаться с другими игроками" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1021 +msgid "Uncontrolled audio or video chat functionality between users" +msgstr "Неконтролируемые функции аудио или видеочата между пользователями" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1028 +msgid "No sharing of social network usernames or email addresses" +msgstr "Не распространяет имена пользователей или адреса электронной почты" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1030 +msgid "Sharing social network usernames or email addresses" +msgstr "Распространяет имена пользователей или адреса электронной почты" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1037 +msgid "No sharing of user information with third parties" +msgstr "Не передает информацию о пользователе третьим лицам" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1039 +msgid "Checking for the latest application version" +msgstr "Проверка последней версии приложения" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1041 +msgid "Sharing diagnostic data that does not let others identify the user" +msgstr "" +"Совместное использование диагностических данных, которые не позволяют другим " +"идентифицировать пользователя" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1043 +msgid "Sharing information that lets others identify the user" +msgstr "Обмен информацией, позволяющей другим идентифицировать пользователя" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1048 +msgid "No sharing of physical location with other users" +msgstr "Нет общего физического местоположения с другими пользователями" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1050 +msgid "Sharing physical location with other users" +msgstr "" +"Совместное использование физического местоположения с другими пользователями" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1073 +msgid "No references to homosexuality" +msgstr "Нет ссылок на гомосексуализм" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1075 +msgid "Indirect references to homosexuality" +msgstr "Косвенные ссылки на гомосексуализм" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1077 +msgid "Kissing between people of the same gender" +msgstr "Поцелуи между людьми одного пола" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1079 +msgid "Graphic sexual behavior between people of the same gender" +msgstr "Графическое сексуальное поведение между людьми одного пола" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1084 +msgid "No references to prostitution" +msgstr "Нет ссылок на проституцию" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1086 +msgid "Indirect references to prostitution" +msgstr "Косвенные ссылки на проституцию" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1088 +msgid "Direct references to prostitution" +msgstr "Прямые ссылки на проституцию" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1090 +msgid "Graphic depictions of the act of prostitution" +msgstr "Графические изображения акта проституции" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1095 +msgid "No references to adultery" +msgstr "Нет ссылок на прелюбодеяние" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1097 +msgid "Indirect references to adultery" +msgstr "Косвенные ссылки на прелюбодеяние" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1099 +msgid "Direct references to adultery" +msgstr "Прямые ссылки на прелюбодеяние" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1101 +msgid "Graphic depictions of the act of adultery" +msgstr "Графические изображения акта прелюбодеяния" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1106 +msgid "No sexualized characters" +msgstr "Нет сексуализированных персонажей" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1109 +msgid "Scantily clad human characters" +msgstr "Необычно одетые человеческие персонажи" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1111 +msgid "Overtly sexualized human characters" +msgstr "Чрезмерно сексуализированные человеческие персонажи" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1116 +msgid "No references to desecration" +msgstr "Нет упоминания осквернения" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1118 +msgid "Depictions of or references to historical desecration" +msgstr "Изображения или ссылки на историческое осквернение" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1120 +msgid "Depictions of modern-day human desecration" +msgstr "Изображения современного человеческого осквернения" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1122 +msgid "Graphic depictions of modern-day desecration" +msgstr "Графические изображения современного осквернения" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1127 +msgid "No visible dead human remains" +msgstr "Нет видимых мертвых человеческих останков" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1129 +msgid "Visible dead human remains" +msgstr "Видимые мертвые человеческие останки" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1131 +msgid "Dead human remains that are exposed to the elements" +msgstr "Мертвые человеческие останки, которые имеют неприкрытые части" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1133 +msgid "Graphic depictions of desecration of human bodies" +msgstr "Графические изображения осквернения человеческих тел" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1138 +msgid "No references to slavery" +msgstr "Отсутствие упоминания рабства" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1140 +msgid "Depictions of or references to historical slavery" +msgstr "Изображения или упоминания исторического рабства" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1142 +msgid "Depictions of modern-day slavery" +msgstr "Изображения современного рабства" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1144 +msgid "Graphic depictions of modern-day slavery" +msgstr "Графические изображения современного рабства" + +#. TRANSLATORS: We got a 429 error while trying to download data +#: src/as-curl.c:134 +#, c-format +msgid "Failed to download due to server limit" +msgstr "Не удалось загрузить из-за ограничения сервера" + +#: src/as-curl.c:141 src/as-curl.c:148 +#, c-format +msgid "Failed to download file: %s" +msgstr "Не удалось загрузить файл: %s" + +#. TRANSLATORS: We tried to download an URL, but received a 404 error code +#: src/as-curl.c:157 +#, c-format +msgid "URL was not found on the server." +msgstr "URL - адрес не был найден на сервере." + +#. TRANSLATORS: We received an uexpected HTTP status code while talking to a server, likely an error +#: src/as-curl.c:164 +#, c-format +msgid "Unexpected status code: %ld" +msgstr "Неожиданный код состояния: %ld" + +#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty +#: src/as-curl.c:247 +#, c-format +msgid "Retrieved file size was zero." +msgstr "Размер полученного файла был равен нулю." + +#. TRANSLATORS: List of "grey-listed" words sperated with ";" +#. * Do not translate this list directly. Instead, +#. * provide a list of words in your language that people are likely +#. * to include in a search but that should normally be ignored in +#. * the search. +#. +#: src/as-pool.c:111 +msgid "app;application;package;program;programme;suite;tool" +msgstr "приложение;приложения;пакет;программа;программы;комплект;инструмент" + +#: src/as-pool.c:620 +msgid "Unable to remove old cache." +msgstr "Невозможно удалить старый кэш." + +#: src/as-pool.c:963 +msgid "Metadata files have errors:" +msgstr "Файлы метаданных содержат ошибки:" + +#: src/as-pool.c:1370 +msgid "" +"Many components have been recognized as invalid. See debug output for " +"details." msgstr "" +"Многие компоненты были признаны недействительными. Смотрите подробности в " +"отладочном выводе." + +#: src/as-pool.c:1996 +#, c-format +msgid "Cache location '%s' is not writable." +msgstr "Кэш, расположенный в '%s', недоступен для записи." + +#: src/as-pool.c:2109 +msgid "" +"The AppStream system cache was updated, but some components were ignored. " +"Refer to the verbose log for more information." +msgstr "" +"Кэш системы AppStream был обновлен, но некоторые компоненты были " +"проигнорированы. Более подробная информация приведена в подробном журнале." + +#: src/as-pool.c:2111 +#, c-format +msgid "" +"The AppStream system cache was updated, but problems were found which " +"resulted in metadata being ignored: %s" +msgstr "" +"Кэш системы AppStream был обновлен, но были обнаружены проблемы, которые " +"привели к игнорированию метаданных: %s" + +#: src/as-pool.c:2125 +#, c-format +msgid "" +"AppStream system cache refresh failed. Turn on verbose mode to get detailed " +"issue information." +msgstr "" +"Обновление кэша системы AppStream вышло из строя. Включите подробный режим " +"для получения подробной информации о проблеме." + +#: src/as-provided.c:144 +msgid "Libraries" +msgstr "Библиотеки" + +#: src/as-provided.c:146 +msgid "Binaries" +msgstr "Исполняемые файлы" + +#: src/as-provided.c:148 +msgid "Media types" +msgstr "Типы медиа" + +#: src/as-provided.c:150 +msgid "Fonts" +msgstr "Шрифты" + +#: src/as-provided.c:152 +msgid "Modaliases" +msgstr "Modalias'ы" -#: tools/ascli-actions-misc.c:159 -#, c-format -msgid "Error while loading the metadata pool: %s" -msgstr "Ошибка при загрузке пула метаданных: %s" +#: src/as-provided.c:154 +msgid "Python (Version 2)" +msgstr "Python (версия 2)" -#: tools/ascli-utils.c:327 -msgid "Extends" -msgstr "Расширения" +#: src/as-provided.c:156 +msgid "Python 3" +msgstr "Python 3" -#: src/as-category.c:65 -msgctxt "Category of AudioVideo" -msgid "Featured" -msgstr "Отмеченные" +#: src/as-provided.c:158 +msgid "D-Bus System Services" +msgstr "Системные службы D-Bus" -#: src/as-category.c:256 -msgctxt "Category of Communication" -msgid "Featured" -msgstr "Отмеченные" +#: src/as-provided.c:160 +msgid "D-Bus Session Services" +msgstr "Службы сессии D-Bus" -#: src/as-category.c:83 -msgctxt "Category of Development" -msgid "Featured" -msgstr "Отмеченные" +#: src/as-provided.c:162 +msgid "Runtime Firmware" +msgstr "Выполняемая микропрограмма" -#: src/as-category.c:98 -msgctxt "Category of Education" -msgid "Featured" -msgstr "Отмеченные" +#: src/as-provided.c:164 +msgid "Flashed Firmware" +msgstr "Прошитая микропрограмма" -#: src/as-category.c:120 -msgctxt "Category of Games" -msgid "Featured" -msgstr "Отмеченные" +#: src/as-provided.c:166 +msgid "Component" +msgstr "Компонент" -#: src/as-category.c:165 -msgctxt "Category of Graphics" -msgid "Featured" -msgstr "Отмеченные" +#: src/as-validator-issue-tag.h:41 +msgid "This tag requires a type property." +msgstr "Эта метка требует свойства типа." -#: src/as-category.c:188 -msgctxt "Category of Office" -msgid "Featured" -msgstr "Отмеченные" +#: src/as-validator-issue-tag.h:46 +msgid "Tags of this name are not permitted in this section." +msgstr "Использование данного имени не разрешено в данном разделе." -#: src/as-category.c:231 -msgctxt "Category of Science" -msgid "Featured" -msgstr "Отмеченные" +#: src/as-validator-issue-tag.h:51 +msgid "" +"A tag must not be localized in metainfo files (upstream " +"metadata). Localize the individual paragraphs instead." +msgstr "" +"Тэг не должен быть локализован в метафайлах (метаданные вверх " +"по тегу). Вместо этого локализуйте отдельные абзацы." -#: src/as-category.c:278 -msgctxt "Category of Utility" -msgid "Featured" -msgstr "Отмеченные" +#: src/as-validator-issue-tag.h:57 +msgid "" +"This element (paragraph, list, etc.) of a tag must not be " +"localized individually in collection metadata. Localize the whole " +" tag instead. The AppStream collection metadata generator (e." +"g. `appstream-generator`) will already do the right thing when compiling the " +"data." +msgstr "" +"Этот элемент (параграф, список и т.д.) в теге должен быть " +"локализован отдельно в процессе сбора метаданных. Вместо этого полностью " +"локализовать тэг . AppStream обеспечивает генератор метаданных " +"(к примеру 'appstream-generator'), который сделает всё правильнов процессе " +"компиляции данных." -#: tools/ascli-actions-validate.c:171 tools/ascli-actions-validate.c:349 -#, fuzzy, c-format -msgid "File '%s' does not exist." -msgstr "Файл метаданных \"%s\" не существует." +#: src/as-validator-issue-tag.h:63 +msgid "" +"AppStream descriptions support only a limited set of tags to format text: " +"Paragraphs (

                                                                                                                                                                                                                                                                                                                                    ) and lists (

                                                                                                                                                                                                                                                                                                                                      ,
                                                                                                                                                                                                                                                                                                                                        ). This description markup contains " +"an invalid XML tag that would not be rendered correctly in applications " +"supporting the metainfo specification." +msgstr "" +"Описания AppStream поддерживают только ограниченный набор тегов для " +"форматирования текста: Параграфы (

                                                                                                                                                                                                                                                                                                                                        ) и списки (

                                                                                                                                                                                                                                                                                                                                          ,
                                                                                                                                                                                                                                                                                                                                            ). Эта " +"разметка описания содержит недействительный XML-тег, который будет " +"отображаться некорректно в приложениях, поддерживающих спецификацию " +"метаинформации." -#: src/as-category.c:287 -msgctxt "Category of Utility" -msgid "File System" -msgstr "Файловая система" +#: src/as-validator-issue-tag.h:69 +msgid "" +"This description paragraph contains invalid markup. Currently, only " +"and are permitted." +msgstr "" +"Данный параграф содержит некорректную разметку. Разрешены только и " +"." -#: src/as-category.c:198 -msgctxt "Category of Office" -msgid "Finance" -msgstr "Финансы" +#: src/as-validator-issue-tag.h:74 +msgid "Enumerations must only have list items (
                                                                                                                                                                                                                                                                                                                                          1. ) as children." +msgstr "" +"Перечисления должны иметь только элементы списка (
                                                                                                                                                                                                                                                                                                                                          2. ) в качестве дочерних." -#: src/as-provided.c:164 -msgid "Flashed Firmware" -msgstr "Прошитая микропрограмма" +#: src/as-validator-issue-tag.h:79 +msgid "" +"The first `description/p` paragraph of this component might be too short (< " +"80 characters). Please consider starting with a longer paragraph to improve " +"how the description looks like in software centers and to provide more " +"detailed information on this component immediately in the first paragraph." +msgstr "" +"Первый абзац описания компонента `description/p`должен быть достаточно " +"коротким (<80 символов). Пожалуйста учитывайте это для улучшения описания и " +"вносите больше деталей в описание компонента в первый абзац ." -#: src/as-provided.c:150 -msgid "Fonts" -msgstr "Шрифты" +#: src/as-validator-issue-tag.h:86 +msgid "" +"The description contains a web URL in plain text. This is not allowed, " +"please use the tag instead to share links." +msgstr "" +"Описание содержит ссылки в тексте. Это не допустимо, используйте тег " +"для вставки ссылок." -#: src/as-category.c:211 -msgctxt "Category of Addons" -msgid "Fonts" -msgstr "Шрифты" +#: src/as-validator-issue-tag.h:91 +msgid "" +"As per AppStream specification, the mentioned tag must only appear once in " +"this context. Having multiple tags of this kind is not valid." +msgstr "" +"Согласно спецификации AppStream, упомянутый тег должен появиться в этом " +"контексте только один раз. Наличие нескольких тегов такого рода " +"недействительно." -#: src/as-validator-issue-tag.h:237 +#: src/as-validator-issue-tag.h:96 msgid "" -"For videos, only the WebM and Matroska (.mkv) container formats are " -"currently supported. The file extension of the referenced video does not " -"belong to either of these formats." +"The mentioned tag is empty, which is highly likely not intended as it should " +"have content." msgstr "" +"Упомянутый тег пустой, что очень похоже что он не содержит контент, хотя " +"должен." -#. TRANSLATORS: ascli flag description for: --format when validating XML files -#: tools/appstream-cli.c:131 -#, fuzzy -msgid "Format of the generated report (valid values are 'text' and 'yaml')." +#: src/as-validator-issue-tag.h:101 +msgid "" +"The component ID is required to follow a reverse domain-name scheme for its " +"name. See the AppStream specification for details." msgstr "" -"Формат метаданных по умолчанию (допустимые значения: \"xml\" и \"yaml\")." +"Идентификатор компонента требуется для того, чтобы следовать обратной схеме " +"доменного имени. Подробности см. в спецификации AppStream." -#. TRANSLATORS: Found metainfo files in legacy directories -#: tools/ascli-actions-misc.c:138 -#, c-format -msgid "Found %i components in legacy paths." -msgstr "Найдено %i компонент в унаследованных путях." +#: src/as-validator-issue-tag.h:106 +msgid "" +"The component ID is not a reverse domain-name. Please update the ID to avoid " +"future issues and be compatible with all AppStream implementations.\n" +"You may also consider to update the name of the accompanying .desktop file " +"to follow the latest version of the Desktop-Entry specification and use a " +"rDNS name for it as well. In any case, do not forget to mention the new " +"desktop-entry in a tag for this component to keep the " +"application launchable from software centers and the .desktop file data " +"associated with the metainfo data." +msgstr "" +"Идентификатор компонента не является обратным доменным именем. Пожалуйста, " +"обновите ID, чтобы избежать будущих проблем и быть совместимым со всеми " +"реализациями AppStream.\n" +"Вы также можете обновить имя сопроводительного файла .desktop в соответствии " +"с последней версией спецификации Desktop-Entry, а также использовать для " +"него имя rDNS. В любом случае, не забудьте упомянуть новый ввод рабочего " +"стола в теге для этого компонента, чтобы сохранить возможность " +"запуска приложения из программных центров, а также .desktop-файл, связанный " +"с метаданными." -#: tools/ascli-actions-misc.c:123 -#, c-format -msgid "Found %i components." -msgstr "Найдено %i компонентов." +#: src/as-validator-issue-tag.h:114 +msgid "" +"The component ID might not follow the reverse domain-name schema (the TLD " +"used by it is not known to the validator)." +msgstr "" +"Идентификатор компонента может не следовать обратной схеме доменного имени " +"(используемый им ДВУ неизвестен валидатору)." -#. TRANSLATORS: 'version' is an AppStream XML property. Please do not translate it. -#: src/as-validator-issue-tag.h:260 +#: src/as-validator-issue-tag.h:119 msgid "" -"Found 'version' property on required/recommended item of a type that should " -"not have or require a version." +"The component ID contains an invalid character. Only ASCII characters, dots " +"and numbers are permitted." msgstr "" +"Идентификатор компонента содержит недопустимый символ. Допускаются только " +"ASCII-символы, точки и числа." -#. TRANSLATORS: 'version' and 'compare' are AppStream XML properties. Please do not translate them. -#: src/as-validator-issue-tag.h:266 +#: src/as-validator-issue-tag.h:124 msgid "" -"Found 'version' property on this required/recommended item, but not " -"'compare' property. It is recommended to explicitly define a comparison " -"operation." +"The component ID contains a hyphen/minus. Using a hyphen is strongly " +"discouraged, to improve interoperability with other tools such as D-Bus. A " +"good option is to replace any hyphens with underscores (`_`)." msgstr "" +"Идентификатор компонента содержит дефис/минус. Использование дефиса " +"настоятельно рекомендуется для улучшения совместимости с другими " +"инструментами, такими как D-Bus. Хорошим вариантом является замена любых " +"дефисов на подчеркивания (`_`)." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:277 +#: src/as-validator-issue-tag.h:130 msgid "" -"Found a memory size dependency in a 'requires' tag. This means users will " -"not be able to even install the component without having enough RAM. This is " -"usually not intended and you want to use 'memory' in the 'recommends' tag " -"instead." +"The component ID contains a segment starting with a number. Starting a " +"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " +"interoperability with other tools such as D-Bus. Ideally, prefix these " +"segments with an underscore." msgstr "" +"Идентификатор компонента содержит сегмент, начинающийся с числа. Запускать " +"сегмент обратно-DNS ID с номером категорически не рекомендуется, чтобы " +"сохранить функциональную совместимость с другими инструментами, такими как D-" +"Bus. В идеале, префикс этих сегментов должен быть подчеркнут." -#: src/as-validator-issue-tag.h:248 +#: src/as-validator-issue-tag.h:136 +msgid "The component ID should only contain lowercase letters." +msgstr "Идентификатор компонента должен содержать только строчные буквы." + +#: src/as-validator-issue-tag.h:141 msgid "" -"Found an unknown tag in a requires/recommends group. This is likely an " -"error, because a component relation of this type is unknown." +"The component is part of the Freedesktop project, but its ID does not start " +"with fd.o's reverse-DNS name (\"org.freedesktop\")." msgstr "" +"Компонент является частью проекта Freedesktop, но его ID не начинается с " +"имени fd.o's reverse-DNS (\"org.freedesktop\")." -#: src/as-validator-issue-tag.h:427 +#: src/as-validator-issue-tag.h:146 msgid "" -"Found invalid tag. Non-standard tags should be prefixed with 'x-'. AppStream " -"also provides the tag to add arbitrary custom data to metainfo " -"files. This tag is read by AppStream libraries and may be useful instead of " -"defining new custom toplevel or 'x-'-prefixed tags if you just want to add " -"custom data to a metainfo file." +"The component is part of the KDE project, but its ID does not start with " +"KDEs reverse-DNS name (\"org.kde\")." msgstr "" +"Компонент является частью KDE проекта, но его ID не начинается с имени KDEs " +"reverse-DNS (\"org.kde\")." -#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. -#: src/as-validator.c:526 src/as-validator.c:939 src/as-validator.c:1024 -#: src/as-validator.c:1237 -#, c-format -msgid "Found: %s - Allowed: %s" +#: src/as-validator-issue-tag.h:151 +msgid "" +"The component is part of the GNOME project, but its ID does not start with " +"GNOMEs reverse-DNS name (\"org.gnome\")." msgstr "" +"Компонент является частью проекта GNOME, но его ID не начинается с имени " +"GNOMEs reverse-DNS (\"org.gnome\")." -#. TRANSLATORS: this is the menu spec main category for Game -#: src/as-category.c:311 -msgid "Games" -msgstr "Игры" +#: src/as-validator-issue-tag.h:156 +msgid "The SPDX license expression is invalid and could not be parsed." +msgstr "" +"Лицензионное выражение SPDX является недействительным и не может быть " +"разобрано." -#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command -#: tools/appstream-cli.c:814 -msgid "Generate the output in the selected format ('yaml' or 'text')." +#: src/as-validator-issue-tag.h:161 +msgid "" +"The license ID was not found in the SPDX database. Please check that the " +"license ID is written in an SPDX-conformant way and is a valid free software " +"license." msgstr "" +"ID лицензии не найдет в SPDX базе. Пожалуйста убедитесь, что ID лицензии " +"прописан в SPDX-совместимом способе и это действительно свободная лицензия." -#: tools/appstream-cli.c:849 -msgid "Get components which provide the given item." -msgstr "Получить компоненты, которые предоставляют данный элемент." +#: src/as-validator-issue-tag.h:167 +msgid "" +"The metadata itself seems to be licensed under a complex collection of " +"licenses. Please license the data under a simple permissive license, like " +"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " +"collections without the risk of license violations due to mutually " +"incompatible licenses." +msgstr "" +"Метаданные, сами по себе, попадают под комплекс лицензий. Пожалуйста " +"лицензируйте данные под разрешающими лицензиями, такими как FSFAP, CC0-1.0 " +"или 0BSD, для разрешения распространителям включить весь набор данных без " +"риска нарушения наложения друг на друга несовместимых лицензий." -#: tools/appstream-cli.c:848 -msgid "Get information about a component by its ID." -msgstr "Получить информацию о компоненте по его идентификатору." +#: src/as-validator-issue-tag.h:173 +msgid "" +"The metadata itself does not seem to be licensed under a permissive license. " +"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " +"0BSD to allow distributors to include it in mixed data collections without " +"the risk of license violations due to mutually incompatible licenses." +msgstr "" +"Метаданные, сами по себе, не попадают по разрешающие лицензии. Пожалуйста " +"лицензируйте данные под разрешающими лицензиями, такими как FSFAP, CC0-1.0 " +"или 0BSD, для разрешения распространителям включить весь набор данных без " +"риска нарушения наложения друг на друга несовместимых лицензий." -#. TRANSLATORS: this is the menu spec main category for Graphics -#: src/as-category.c:314 -msgid "Graphics & Photography" -msgstr "Графика и фотография" +#: src/as-validator-issue-tag.h:179 +msgid "" +"The update-contact does not appear to be a valid email address (escaping of " +"`@` is only allowed as `_at_` or `_AT_`)." +msgstr "" +"Адрес не является корректным адресом электронной почты (вместо `@` " +"допускается только `_at_` или `_AT_`)." -#: tools/ascli-utils.c:300 -msgid "Homepage" -msgstr "Домашняя станица" +#: src/as-validator-issue-tag.h:184 +msgid "" +"Unable to reach the screenshot image on its remote location - does the image " +"exist?" +msgstr "" +"Невозможно получить снимок экрана в удаленном месте - существует ли " +"изображение?" -#: src/as-category.c:89 -msgctxt "Category of Development" -msgid "IDEs" -msgstr "Интегрированные среды разработки (IDE)" +#: src/as-validator-issue-tag.h:189 +msgid "" +"Unable to reach the screenshot video on its remote location - does the video " +"file exist?" +msgstr "" +"Невозможно получить доступ к снимку экрана видео в удаленном месте - " +"существует ли видеофайл?" -#: tools/ascli-utils.c:301 -msgid "Icon" -msgstr "Значок" +#: src/as-validator-issue-tag.h:194 +msgid "" +"Consider using a secure (HTTPS) URL to reference this screenshot image or " +"video." +msgstr "" +"Рассмотрим возможность использования безопасной ссылки (HTTPS) для " +"нахождения изображения или видео." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:351 -msgid "Icons of type 'remote' must contain an URL to the referenced icon." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:200 +msgid "" +"A screenshot must contain at least one image or video in order to be useful. " +"Please add an to it." msgstr "" +"Скриншот должен содержать как минимум одно видео или изображение чтобы быть " +"полезным. Пожалуйста добавьте к нему." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:344 +#: src/as-validator-issue-tag.h:205 msgid "" -"Icons of type 'stock' or 'cached' must not contain an URL, a full or an " -"relative path to the icon. Only file basenames or stock names are allowed." +"A screenshot must contain either images or videos, but not both at the same " +"time. Please use this screenshot exclusively for either static images or for " +"videos." msgstr "" +"Скриншот должен содержать либо изображения либо видео, но не может содержать " +"и то и другое одновременно. Пожалуйста используйте этот скриншот только для " +"неподвижных изображений или видео." -#: tools/ascli-actions-misc.c:94 -msgid "Iconsets" -msgstr "Наборы значков" - -#: tools/ascli-utils.c:295 -msgid "Identifier" -msgstr "Идентификатор" +#: src/as-validator-issue-tag.h:211 +msgid "The screenshot does not have a caption text. Consider adding one." +msgstr "Скриншот не имеет заголовка. Необходимо добавить." -#: src/as-category.c:217 -msgctxt "Category of Addons" -msgid "Input Sources" -msgstr "Источники" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:217 +msgid "" +"The screenshot video does not specify which video codec was used in a " +"`codec` property." +msgstr "Видео не соответствует кодеку указанному в свойстве `codec`." -#: tools/appstream-cli.c:863 -msgid "Install a metadata file into the right location." -msgstr "Установить файл метаданных в нужное место." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:223 +msgid "" +"The screenshot video does not specify which container format was used in a " +"`container` property." +msgstr "Видео не соответствует формату указанному в свойстве `container`." -#: tools/appstream-cli.c:859 -msgid "Install software matching the component-ID." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:229 +msgid "" +"The selected video codec is not supported by AppStream and software centers " +"may not be able to play the video. Only the AV1 and VP9 codecs are currently " +"supported, using `av1` and `vp9` as values for the `codec` property." msgstr "" -"Установить программное обеспечение, соответствующее идентификатору " -"компоненты." +"Выбранный видео кодек не поддерживается AppStream и программное обеспечение " +"не способно его воспроизвести. Только AV1 и VP9 кодеки корректно " +"поддерживаются, используйте `av1` и `vp9` значения для свойства `codec`." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:373 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:236 msgid "" -"Invalid 'type' property for this 'url' tag. URLs of this type are not known " -"in the AppStream specification." +"The selected video container format is not supported by AppStream and " +"software centers may not be able to play the video. Only the WebM and " +"Matroska video containers are currently supported, using `webm` and `mkv` as " +"values for the `container` property." msgstr "" +"Выбранный видео формат не поддерживается AppStream и программное обеспечение " +"не способно его воспроизвести. Только WebM и Matroska кодеки корректно " +"поддерживаются, используйте `webm` и `mkv` значения для свойства `container`." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:553 +#: src/as-validator-issue-tag.h:242 msgid "" -"Invalid tag found in collection metadata. Only 'component' tags are " -"permitted." +"For videos, only the WebM and Matroska (.mkv) container formats are " +"currently supported. The file extension of the referenced video does not " +"belong to either of these formats." msgstr "" +"Для видео в настоящее время поддерживаются только форматы WebM и Matroska (." +"mkv). Расширение файла упомянутого видео не принадлежит ни к одному из этих " +"форматов." -#: tools/ascli-actions-mdata.c:213 -msgid "Invalid type for provided item selected. Valid values are:" +#: src/as-validator-issue-tag.h:248 +msgid "" +"The default screenshot of a software component must not be a video. Use a " +"static image as default screenshot and set the video as a secondary " +"screenshot." msgstr "" -"Выбран неверный тип для предоставленного элемента. Допустимые значения:" +"Скриншот по умолчанию для компонента не должен быть в видео формате. " +"Используйте статическое изображение и установите видео как вторичный " +"скриншот." -#: src/as-validator-issue-tag.h:271 +#: src/as-validator-issue-tag.h:253 msgid "" -"Invalid version comparison operation on relation item. Only eq/ne/lt/gt/le/" -"ge are permitted." +"Found an unknown tag in a requires/recommends group. This is likely an " +"error, because a component relation of this type is unknown." msgstr "" +"Найден неизвестный тег в группе \"Требования/рекомендации\". Скорее всего, " +"это ошибка, так как компонентное отношение данного типа неизвестно." -#: src/as-validator-issue-tag.h:450 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:259 msgid "" -"It is recommended to add a long description to this component to present it " -"better to users." +"A `requires` or `recommends` item requires a value to denote a valid " +"relation." msgstr "" +"Элемент 'requires или 'recommends' требует значения для обозначения " +"действительного отношения." -#: src/as-validator-issue-tag.h:445 +#. TRANSLATORS: `version` is an AppStream XML property. Please do not translate it. +#: src/as-validator-issue-tag.h:265 msgid "" -"It would be useful to add a long description to this font to present it " -"better to users." +"Found `version` property on required/recommended item of a type that should " +"not have or require a version." msgstr "" +"Найдено свойство `version` на требуемом/рекомендованном элементе типа, " +"который не должен иметь или требовать версию." -#: src/as-category.c:144 -msgctxt "Category of Games" -msgid "Kids" -msgstr "Детские" - -#: src/as-category.c:220 -msgctxt "Category of Addons" -msgid "Language Packs" -msgstr "Языковые пакеты" - -#: src/as-category.c:107 -msgctxt "Category of Education" -msgid "Languages" -msgstr "Языки" - -#: src/as-provided.c:144 -msgid "Libraries" -msgstr "Библиотеки" - -#. license -#: tools/ascli-utils.c:363 -msgid "License" -msgstr "Лицензия" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:629 +#. TRANSLATORS: `version` and `compare` are AppStream XML properties. Please do not translate them. +#: src/as-validator-issue-tag.h:271 msgid "" -"Licenses for 'runtime' components are usually too complex to reflect them in " -"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " -"value for this component's 'project_license'. E.g. `LicenseRef-free=https://" -"example.com/licenses.html`" +"Found `version` property on this required/recommended item, but not " +"`compare` property. It is recommended to explicitly define a comparison " +"operation." msgstr "" +"Найдено `version` собственности на этот требуемый/рекомендованный объект, но " +"не `compare` собственности. Рекомендуется явно определить операцию сравнения." -#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command -#: tools/appstream-cli.c:771 +#: src/as-validator-issue-tag.h:276 msgid "" -"Limit the number of release entries that end up in the metainfo file (0 for " -"unlimited)." +"Invalid comparison operation on relation item. Only eq/ne/lt/gt/le/ge are " +"permitted." msgstr "" +"Недопустимая операция сравнения элемента отношения. Допускаются только eq/ne/" +"lt/gt/le/ge." -#: src/as-category.c:223 -msgctxt "Category of Addons" -msgid "Localization" -msgstr "Локализация" - -#: src/as-category.c:147 -msgctxt "Category of Games" -msgid "Logic" -msgstr "Логические" - -#. TRANSLATORS: ascli flag description for: --no-cache -#: tools/appstream-cli.c:67 -msgid "Make request without any caching." -msgstr "Сделать запрос без кэширования." - -#. TRANSLATORS: ascli flag description for: --cachepath -#: tools/appstream-cli.c:57 -msgid "Manually selected location of AppStream cache." -msgstr "Установить вручную местоположение кэша AppStream." - -#. TRANSLATORS: ascli flag description for: --datapath -#: tools/appstream-cli.c:62 -msgid "Manually selected location of AppStream metadata to scan." +#: src/as-validator-issue-tag.h:281 +msgid "" +"The relation item has a comparison operation set, but does not support any " +"comparisons." msgstr "" -"Установить вручную местоположение метаданных AppStream для сканирования." +"Элемент связи имеет набор операций сравнения, но не поддерживает никаких " +"сравнений." -#: src/as-pool.c:1280 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:287 msgid "" -"Many components have been recognized as invalid. See debug output for " -"details." +"Found a memory size relation in a `requires` tag. This means users will not " +"be able to even install the component without having enough RAM. This is " +"usually not intended and you want to use `memory` in the `recommends` tag " +"instead." msgstr "" -"Многие компоненты были признаны недействительными. Смотрите подробности в " -"отладочном выводе." +"Найдено отношение размера памяти в теге `requires`. Это означает, что " +"пользователи не смогут даже установить компонент, не имея достаточного " +"количества оперативной памяти. Обычно это не предполагается, и вы хотите " +"использовать `memory` в теге `recommends` вместо этого." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:294 +msgid "" +"Found a user input control relation in a `requires` tag. This means users " +"will not be able to even install the component without having the defined " +"input control available on the system. This is usually not intended and you " +"want to use `control` in the `recommends` tag instead." +msgstr "" +"Найдено пользовательское отношение управления входом в теге `requires`. Это " +"означает, что пользователи не смогут даже установить компонент, не имея " +"определенного входного управления, доступного в системе. Обычно это не " +"предназначено, и Вы хотите использовать `control` в теге `recommends` вместо " +"этого." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:301 +msgid "" +"This `control` item defines an unknown input method and is invalid. Check " +"the specification for a list of permitted values." +msgstr "" +"Элемент `control` определяет неизвестный метод и некорректен. Проверьте " +"спецификацию на список разрешенных значений." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:307 +msgid "" +"This `display_length` item contains an invalid display length. Its value " +"must either be a shorthand string, or positive integer value denoting " +"logical pixels. Please refer to the AppStream specification for more " +"information on this tag." +msgstr "" +"Этот элемент \" display_length` содержит недопустимую длину отображения. Его " +"значение должно быть либо сокращенной строкой, либо целочисленным " +"положительным значением, обозначающим логические пиксели. Пожалуйста, " +"обратитесь к спецификации AppStream для получения дополнительной информации " +"об этом теге." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:314 +msgid "" +"This `side` property of this `display_length` item contains an invalid " +"value. It must either be `shortest` or `longest`, or unset to imply " +"`shortest` to make the item value refer to either the shortest or longest " +"side of the display." +msgstr "" +"Свойство `side` элемента `display_length` содержит недопустимое значение. " +"Оно должен быть `shortest`, `longest`, либо не установлено, что " +"подразумевает `shortest`, чтобы значение элемента указывало на самую " +"короткую, либо на самую длинную сторону дисплея." -#: src/as-category.c:111 -msgctxt "Category of Education" -msgid "Math" -msgstr "Математика" +#: src/as-validator-issue-tag.h:320 +msgid "" +"The set component type is not a recognized, valid AppStream component type." +msgstr "" +"Указанный тип компонента не распознан, возможные типы компонент AppStream." -#: src/as-category.c:243 -msgctxt "Category of Science" -msgid "Math" -msgstr "Математика" +#: src/as-validator-issue-tag.h:325 +msgid "" +"The component has a priority value set. This is not allowed in metainfo " +"files." +msgstr "" +"Компонент имеет установленное значение приоритета. Это недопустимо в файлах " +"с метаинформацией." -#: src/as-provided.c:148 -msgid "Media types" -msgstr "Типы медиа" +#: src/as-validator-issue-tag.h:330 +msgid "" +"The component has a `merge` method defined. This is not allowed in metainfo " +"files." +msgstr "" +"Компонент имеет заданный метод `merge`. Это не разрешено в файлах metainfo." -#: tools/ascli-actions-mdata.c:364 -#, c-format -msgid "Metadata file '%s' does not exist." -msgstr "Файл метаданных \"%s\" не существует." +#: src/as-validator-issue-tag.h:335 +msgid "The component is missing an ID ( tag)." +msgstr "В компоненте отсутствует идентификатор ( тег)." -#: src/as-pool.c:881 -msgid "Metadata files have errors:" -msgstr "Файлы метаданных содержат ошибки:" +#: src/as-validator-issue-tag.h:340 +msgid "The component is missing a name ( tag)." +msgstr "Компоненту не хватает имени (тег )." -#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 -#: tools/ascli-actions-misc.c:515 -#, fuzzy, c-format -msgid "Metainfo file '%s' does not exist." -msgstr "Файл метаданных \"%s\" не существует." +#: src/as-validator-issue-tag.h:345 +msgid "The component is missing a summary ( tag)." +msgstr "Отсутствует краткое описание компонента (тег )." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:367 +#: src/as-validator-issue-tag.h:350 msgid "" -"Metainfo files may only contain icons of type 'stock' or 'remote', the set " -"type is not allowed." +"The tag still contains a `type` property, probably from an old " +"conversion to the recent metainfo format." msgstr "" +"Тэг по-прежнему содержит свойство `type`, вероятно, из старого " +"преобразования в недавний формат metainfo." -#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report -#: tools/ascli-actions-misc.c:116 -msgid "Metainfo files:" -msgstr "Файлы метаинформации:" - -#: src/as-provided.c:152 -msgid "Modaliases" -msgstr "Modalias'ы" - -#: src/as-category.c:74 -msgctxt "Category of AudioVideo" -msgid "Music Players" -msgstr "Музыкальные проигрыватели" - -#: tools/ascli-utils.c:296 -msgid "Name" -msgstr "Имя" +#: src/as-validator-issue-tag.h:355 +msgid "" +"The `pkgname` tag appears multiple times. You should evaluate creating a " +"metapackage containing the metainfo and .desktop files in order to avoid " +"defining multiple package names per component." +msgstr "" +"Тэг `pkgname` появляется несколько раз. Вы должны оценить создание " +"метапакета, содержащего файлы metainfo и .desktop, чтобы избежать " +"определения нескольких имен пакетов на компонент." + +#: src/as-validator-issue-tag.h:360 +msgid "The component name should (likely) not end with a dot (`.`)." +msgstr "Имя компонента не должно заканчиваться точкой." + +#: src/as-validator-issue-tag.h:365 +msgid "The component summary should not end with a dot (`.`)." +msgstr "Описание компонента не должно заканчиваться точкой." -#: src/as-category.c:266 -msgctxt "Category of Communication" -msgid "News" -msgstr "Новости" +#: src/as-validator-issue-tag.h:370 +msgid "The component summary must not contain tabs or linebreaks." +msgstr "Описание компонента не должно содержать табуляции и разрывы строк." -#: src/as-validator-issue-tag.h:589 -msgid "No AppStream metadata was found in this directory or directory tree." +#: src/as-validator-issue-tag.h:375 +msgid "The summary must not contain any URL. Use the tags for links." msgstr "" +"Краткое описание не должно содержать ссылок. Используйте тег для " +"ссылок." -#. pedantic because not everything which has metadata is an application -#: src/as-validator-issue-tag.h:594 -msgid "No XDG applications directory found." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:381 +msgid "" +"Icons of type `stock` or `cached` must not contain an URL, a full or an " +"relative path to the icon. Only file basenames or stock names are allowed." msgstr "" +"Иконки типа `stock` или `cached` не должны содержать URL, полный или " +"относительный путь к иконке. Допускаются только базовые имена файлов или " +"биржевые имена." -#: tools/ascli-actions-mdata.c:182 -#, c-format -msgid "No component matching '%s' found." -msgstr "Не найдено компоненты, соответствующей '%s'." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:388 +msgid "Icons of type `remote` must contain an URL to the referenced icon." +msgstr "Иконки типа `remote` должны содержать URL к соответствующей иконке." -#: tools/ascli-actions-misc.c:105 -msgid "No icons." -msgstr "Нет значков." +#: src/as-validator-issue-tag.h:393 +msgid "Unable to reach remote icon at the given web location - does it exist?" +msgstr "" +"Невозможно получить доступ к удалённому значку в указанном веб-" +"местоположении - существует ли он?" -#: tools/ascli-actions-misc.c:402 -msgid "No output filename specified, modifying metainfo file directly." +#: src/as-validator-issue-tag.h:398 +msgid "Consider using a secure (HTTPS) URL for the remote icon link." msgstr "" +"Рассмотрим возможность использования безопасного (HTTPS) URL для ссылки на " +"удаленную иконку." -#: tools/ascli-actions-misc.c:306 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:404 msgid "" -"No provided binary specified in metainfo file, and no exec command specified " -"via '--exec'. Can not create 'Exec=' key." +"Metainfo files may only contain icons of type `stock` or `remote`, the set " +"type is not allowed." msgstr "" +"Файлы Metainfo могут содержать только иконки типа `stock` или `remote`, " +"заданный тип не допускается." -#: tools/ascli-actions-misc.c:284 -msgid "No stock icon name was provided in the metainfo file. Can not continue." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:410 +msgid "" +"Invalid `type` property for this `url` tag. URLs of this type are not known " +"in the AppStream specification." msgstr "" +"Недействительное свойство `type` для этого тега `url`. URL этого типа в " +"спецификации AppStream не известны." -#: tools/ascli-actions-pkgmgr.c:53 +#: src/as-validator-issue-tag.h:415 msgid "" -"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" -"\" (part of PackageKit) is available." +"Unable to reach remote location that this URL references - does it exist?" msgstr "" -"Не найден подходящий CLI-менеджер пакетов. Пожалуйста, убедитесь, что, " -"например, «pkcon» (часть PackageKit) доступен." - -#: tools/ascli-actions-mdata.c:206 -msgid "No value for the item to search for was defined." -msgstr "Не определено значение элемента для поиска." - -#. TRANSLATORS: this is the menu spec main category for Office -#: src/as-category.c:317 -msgid "Office" -msgstr "Офис" - -#. TRANSLATORS: An unknown option was passed to appstreamcli. -#: tools/appstream-cli.c:192 -#, c-format -msgid "Option '%s' is unknown." -msgstr "Опция \"%s 1\" неизвестна." +"Невозможно достичь удаленного местоположения, на которое ссылается этот URL-" +"адрес - существует ли оно?" -#: tools/ascli-utils.c:298 -msgid "Package" -msgstr "Пакет" +#: src/as-validator-issue-tag.h:420 +msgid "Consider using a secure (HTTPS) URL for this web link." +msgstr "" +"Рассмотрим возможность использования безопасного (HTTPS) URL для этой веб-" +"ссылки." -#: src/as-category.c:171 -msgctxt "Category of Graphics" -msgid "Photography" -msgstr "Фотография" +#: src/as-validator-issue-tag.h:425 +msgid "A web URL was expected for this value." +msgstr "Для этого значения ожидался веб-адрес." -#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) -#: tools/appstream-cli.c:121 -#, fuzzy -msgid "Print detailed explanation for found issues." -msgstr "Напечатать подробный вывод о найденных компонентах." +#: src/as-validator-issue-tag.h:430 +msgid "" +"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." +msgstr "" +"Эта веб ссылка использует FTP протокол. Рассмотрите возможность замены на " +"HTTP(S)." -#. TRANSLATORS: ascli flag description for: --details -#: tools/appstream-cli.c:98 -msgid "Print detailed output about found components." -msgstr "Напечатать подробный вывод о найденных компонентах." +#: src/as-validator-issue-tag.h:435 +msgid "The can not contain a hyperlink." +msgstr " не может содержать ссылку." -#. project group -#: tools/ascli-utils.c:360 -msgid "Project Group" -msgstr "Проектная группа" +#: src/as-validator-issue-tag.h:440 +msgid "" +"The set value is not an identifier for a desktop environment as registered " +"with Freedesktop.org." +msgstr "" +"Указанное значение не является идентификатором рабочего стола " +"зарегистрированным с помощью Freedesktop.org." -#: tools/ascli-utils.c:405 -msgid "Provided Items" -msgstr "Предоставленные элементы" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:446 +msgid "This `launchable` tag has an unknown type and can not be used." +msgstr "Тег `launchable` имеет неизвестный тип и не может быть использован." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:452 +msgid "This `bundle` tag has an unknown type and can not be used." +msgstr "Этот `bundle` тег имеет неизвестный тип и не может быть использован." -#: src/as-provided.c:154 -msgid "Python (Version 2)" -msgstr "Python (версия 2)" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:458 +msgid "" +"The `update_contact` tag should not be included in collection AppStream XML." +msgstr "Тэг `update_contact` не должен быть включен в коллекцию AppStream XML." -#: src/as-provided.c:156 -msgid "Python 3" -msgstr "Python 3" +#: src/as-validator-issue-tag.h:463 +msgid "" +"This tag is a GNOME-specific extension to AppStream and not part of the " +"official specification. Do not expect it to work in all implementations and " +"in all software centers." +msgstr "" +"Этот тег является специфичным для GNOME расширением AppStream и не является " +"частью официальной спецификации. Не ожидайте, что он будет работать во всех " +"реализациях и во всех центрах программного обеспечения." -#: tools/appstream-cli.c:854 -msgid "Rebuild the component metadata cache." -msgstr "Перестроить кэш метаданных компонентах." +#: src/as-validator-issue-tag.h:469 +msgid "" +"Found invalid tag. Non-standard tags should be prefixed with `x-`. AppStream " +"also provides the tag to add arbitrary custom data to metainfo " +"files. This tag is read by AppStream libraries and may be useful instead of " +"defining new custom toplevel or `x-`-prefixed tags if you just want to add " +"custom data to a metainfo file." +msgstr "" +"Нашли недействительный тег. Нестандартные тэги должны иметь префикс `x-`. " +"AppStream также предоставляет тег для добавления произвольных " +"пользовательских данных в метафайлы. Этот тег читается библиотеками " +"AppStream и может быть полезен вместо определения новых пользовательских " +"тегов топ-уровня или `x-`префиксации, если вы просто хотите добавить " +"пользовательские данные в метафайл." -#: tools/appstream-cli.c:860 -msgid "Remove software matching the component-ID." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:477 +msgid "" +"The essential tag `metadata_license` is missing. A license for the metadata " +"itself always has to be defined." msgstr "" -"Удалить программное обеспечение, соответствующее идентификатору компоненты." +"Основной тег `metadata_license`пропущен. Разрешение на метаданные всегда " +"должно быть определено." -#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty -#: src/as-validator.c:364 -msgid "Retrieved file size was zero." +#: src/as-validator-issue-tag.h:482 +msgid "" +"The component is missing a long description. Components of this type must " +"have a long description." msgstr "" +"Отсутствует полное описание компонента. Компоненты этого типа должны иметь " +"длинное полное описание." -#: src/as-category.c:248 -msgctxt "Category of Science" -msgid "Robotics" -msgstr "Роботы" +#: src/as-validator-issue-tag.h:487 +msgid "" +"It would be useful to add a long description to this font to present it " +"better to users." +msgstr "" +"Было бы полезно добавить к этому шрифту длинное описание, чтобы лучше " +"представить его пользователям." -#: src/as-category.c:150 -msgctxt "Category of Games" -msgid "Role Playing" -msgstr "Ролевые" +#: src/as-validator-issue-tag.h:492 +msgid "" +"It is recommended to add a long description to this component to present it " +"better to users." +msgstr "" +"Рекомендуется добавить длинное описание к этому компоненту, чтобы лучше " +"представить его пользователям." -#: tools/appstream-cli.c:196 tools/appstream-cli.c:926 -#, c-format -msgid "Run '%s --help' to see a full list of available command line options." +#: src/as-validator-issue-tag.h:497 +msgid "" +"This generic component is missing a long description. It may be useful to " +"add one." msgstr "" -"Запустите '%s --help' чтоб увидеть полный список доступных параметров " -"командной строки." +"У этого общего компонента отсутствует длинное описание. Возможно будет " +"полезным расширить его." -#: tools/appstream-cli.c:198 -#, c-format +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:503 msgid "" -"Run '%s --help' to see a list of available commands and options, and '%s %s " -"--help' to see a list of options specific for this subcommand." +"Type `console-application` component, but no information about binaries in " +"$PATH was provided via a `provides/binary` tag." msgstr "" -"Запустите \"%s --help\", чтобы увидеть список доступных команд и опций, или " -"\"%s %s --help\", чтобы увидеть список опций для конкретной команды." +"Тип компонента `console-application`, но никакой информации об исполняемых " +"файлах в $PATH не было получено через тэг `provides/binary`." -#: src/as-provided.c:162 -msgid "Runtime Firmware" -msgstr "Выполняемая микропрограмма" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:509 +msgid "" +"This `web-application` component is missing a `launchable` tag of type `url`." +msgstr "" +"У компонента `web-application` отсутствует тег `launchable` с типом `url`." -#: src/as-category.c:174 -msgctxt "Category of Graphics" -msgid "Scanning" -msgstr "Сканирование" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:515 +msgid "" +"This `web-application` component is missing a `icon` tag to specify a valid " +"icon." +msgstr "" +"У компонента `web-application` отсутствует тег `icon` для использования " +"иконки." -#. TRANSLATORS: this is the menu spec main category for Science -#: src/as-category.c:323 -msgid "Science" -msgstr "Наука" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:521 +msgid "" +"This `web-application` component is missing categorizations. A `categories` " +"block is likely missing." +msgstr "" +"У компонента `web-application` отсутствует категоризация. Похоже пропущен " +"блок `categories`." -#: tools/appstream-cli.c:847 -msgid "Search the component database." -msgstr "Поиск по базе данных компонентов." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:527 +msgid "" +"Type `font` component, but no font information was provided via a `provides/" +"font` tag." +msgstr "" +"Тип компонента `font`, но никакой информации о шрифте не было получено через " +"тэг `provides/font`." -#: src/as-category.c:293 -msgctxt "Category of Utility" -msgid "Security" -msgstr "Безопасность" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:533 +msgid "" +"Type `driver` component, but no modalias information was provided via a " +"`provides/modalias` tag." +msgstr "" +"Тип компонента`драйвер`, но информация о модалиях не была предоставлена с " +"помощью тега \"предоставляет/модалии\"." -#. TRANSLATORS: ascli flag description for: --verbose -#: tools/appstream-cli.c:903 -msgid "Show extra debugging information." -msgstr "Показывать дополнительную отладочную информацию." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:539 +msgid "" +"An `extends` tag is specified, but the component is not of type `addon`, " +"`localization` or `repository`." +msgstr "" +"Тэг `extends` указан, но компонент не имеет типа `addon`, `localization` или " +"`repository`." -#. TRANSLATORS: ascli flag description for: --version -#: tools/appstream-cli.c:897 -msgid "Show the program version." -msgstr "Показать версию программы." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:545 +msgid "The component is an addon, but no `extends` tag was specified." +msgstr "Компонент является аддоном, но тэг `extends` не был указан." -#: src/as-validator-issue-tag.h:635 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:551 msgid "" -"Since a 'runtime' component is comprised of multiple other software " -"components, their component-IDs may be listed in a `` section for " -"this runtime." +"This `localization` component is missing an `extends` tag, to specify the " +"components it adds localization to." msgstr "" +"У компонента `localization` отсутствует тег `extends`. Для работы компонента " +"укажите локализацию." -#: src/as-category.c:153 -msgctxt "Category of Games" -msgid "Sports" -msgstr "Спортивные" - -#: src/as-category.c:157 -msgctxt "Category of Games" -msgid "Strategy" -msgstr "Стратегии" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:557 +msgid "" +"This `localization` component does not define any languages this " +"localization is for." +msgstr "Компонент `localization` не определяет ни один язык локализации." -#. these are commands we can use with appstreamcli -#: tools/appstream-cli.c:845 -msgid "Subcommands:" -msgstr "Подкоманды:" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:563 +msgid "" +"This `service` component is missing a `launchable` tag of type `service`." +msgstr "У компонента `service` отсутствует тег `launchable` с типом `service`." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:527 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:569 msgid "" -"Suggestions of any type other than 'upstream' are not allowed in metainfo " +"Suggestions of any type other than `upstream` are not allowed in metainfo " "files." msgstr "" +"Предложения любого типа, кроме `upstream`, не допускаются в файлах metainfo." -#: tools/ascli-utils.c:297 -msgid "Summary" -msgstr "Сводка" - -#. TRANSLATORS: Status summary in ascli -#: tools/ascli-actions-misc.c:145 -msgid "Summary:" -msgstr "Сводка:" +#: src/as-validator-issue-tag.h:574 +msgid "" +"The category name is not valid. Refer to the XDG Menu Specification for a " +"list of valid category names." +msgstr "" +"Название категории недействительно. Список действительных названий категорий " +"см. в разделе \"Спецификация меню XDG\"." -#: src/as-category.c:290 -msgctxt "Category of Utility" -msgid "System Monitoring" -msgstr "Мониторинг системы" +#: src/as-validator-issue-tag.h:579 +msgid "The screenshot caption is too long (should be <= 80 characters)" +msgstr "Заголовок скриншота слишком длинный (должен быть <= 80 символов)" -#: src/as-validator-issue-tag.h:46 -msgid "Tags of this name are not permitted in this section." -msgstr "" +#: src/as-validator-issue-tag.h:584 +msgid "Unable to read file." +msgstr "Невозможно прочитать файл." -#: src/as-category.c:284 -msgctxt "Category of Utility" -msgid "Terminal Emulators" -msgstr "Эмуляторы терминала" +#: src/as-validator-issue-tag.h:589 +msgid "The XML of this file is malformed." +msgstr "XML этого файла является некорректным." -#: src/as-category.c:281 -msgctxt "Category of Utility" -msgid "Text Editors" -msgstr "Текстовые редакторы" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:595 +msgid "" +"Invalid tag found in collection metadata. Only `component` tags are " +"permitted." +msgstr "" +"Недействительный тег, найденный в метаданных коллекции. Разрешены только " +"теги `component`." -#: src/as-validator-issue-tag.h:318 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:601 msgid "" -"The 'pkgname' tag appears multiple times. You should evaluate creating a " -"metapackage containing the metainfo and .desktop files in order to avoid " -"defining multiple package names per component." +"The metainfo file uses an ancient version of the AppStream specification, " +"which can not be validated. Please migrate it to version 0.6 (or higher)." msgstr "" +"Файл с метаинформацией использует устаревшую версию спецификации AppStream, " +"которая не может быть валидирована. Пожалуйста перейдите на версию 0.6 (или " +"выше)." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:416 +#: src/as-validator-issue-tag.h:606 msgid "" -"The 'update_contact' tag should not be included in collection AppStream XML." +"This XML document has an unknown root tag. Maybe this file is not a metainfo " +"document?" msgstr "" +"XML документ имеет неизвестный корневой тег. Может быть файл не содержит " +"корректные данные?" -#: tools/ascli-actions-mdata.c:467 -#, c-format -msgid "The .desktop file '%s' does not exist." -msgstr ".desktop файл \"%s\" не существует." +#: src/as-validator-issue-tag.h:611 +msgid "The metainfo filename does not match the component ID." +msgstr "Файл метаинформации не сопоставим ни с одним ID компоненты." -#: src/as-validator-issue-tag.h:393 -msgid "The can not contain a hyperlink." -msgstr "" +#: src/as-validator-issue-tag.h:616 +msgid "Unable to read the .desktop file associated with this component." +msgstr "Невозможно прочитать файл .desktop, связанный с этим компонентом." -#: src/as-validator-issue-tag.h:313 +#: src/as-validator-issue-tag.h:621 +msgid "This component metadata refers to a non-existing .desktop file." +msgstr "Этот компонент метаданных ссылается на несуществующий файл .desktop." + +#: src/as-validator-issue-tag.h:626 msgid "" -"The tag still contains a 'type' property, probably from an old " -"conversion to the recent metainfo format." +"The category defined in the .desktop file is not valid. Refer to the XDG " +"Menu Specification for a list of valid categories." msgstr "" +"Категория, определенная в файле .desktop, недействительна. Список " +"действительных категорий см. в меню XDG Menu Specification." -#: src/as-validator-issue-tag.h:616 -msgid "" -"The AppStream specification requires a complete, ISO 8601 date string with " -"at least day-granularity to denote dates. Please ensure the date string is " -"valid." +#: src/as-validator-issue-tag.h:631 +msgid "No AppStream metadata was found in this directory or directory tree." msgstr "" +"Метаданные AppStream не были найдены в этом каталоге или дереве каталогов." -#: src/as-pool.c:1924 -#, fuzzy, c-format +#. pedantic because not everything which has metadata is an application +#: src/as-validator-issue-tag.h:636 +msgid "No XDG applications directory found." +msgstr "Каталог приложений XDG не найден." + +#: src/as-validator-issue-tag.h:641 msgid "" -"The AppStream system cache was updated, but problems were found which " -"resulted in metadata being ignored: %s" -msgstr "Системный кэш AppStream обновлён, но найдены проблемы: %s" +"The metainfo file is stored in a legacy path. Please place it in `/usr/share/" +"metainfo/`." +msgstr "" +"Файл с метаинформацией расположен в наследуемом пути. Пожалуйста поместите " +"его в `/usr/share/metainfo/`." -#: src/as-pool.c:1922 -#, fuzzy +#: src/as-validator-issue-tag.h:646 +msgid "The metainfo file specifies multiple components. This is not allowed." +msgstr "Файл метаинформации указывает на несколько компонент. Это недопустимо." + +#: src/as-validator-issue-tag.h:651 msgid "" -"The AppStream system cache was updated, but some components were ignored. " -"Refer to the verbose log for more information." +"The releases are not sorted in a latest to oldest version order. This is " +"required as some tools will assume that the latest version is always at the " +"top. Sorting releases also increases overall readability of the metainfo " +"file." msgstr "" -"Системный кэш AppStream был обновлён, однако обнаружены некоторые ошибки, " -"которые могут привести к повреждённым метаданным. Обратитесь к подробному " -"логу для информации." +"Выпуски (релизы) не отсортированы в порядке от более новых к более старым. " +"Это требование необходимо так как некоторые инструменты предполагают что " +"наиболее свежие выпуски (релизы) находятся сверху. Сортировка выпусков " +"(релизов) также увеличивает читабельность файлов." -#: src/as-validator-issue-tag.h:151 -msgid "The SPDX license expression is invalid and could not be parsed." +#: src/as-validator-issue-tag.h:658 +msgid "The value set as release urgency is not a known urgency value." msgstr "" +"Значение, установленное в качестве срочности выпуска, не является известным " +"значением срочности." -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows -#: tools/appstream-cli.c:683 -#, c-format -msgid "The TYPE must be a valid component-type, such as: %s" -msgstr "TYPE должен быть типом программного компонента, таким как: %s" +#: src/as-validator-issue-tag.h:663 +msgid "The value set as release type is invalid." +msgstr "Значение, заданное в качестве типа выпуска, недопустимо." -#: src/as-validator-issue-tag.h:547 -msgid "The XML of this file is malformed." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:669 +msgid "" +"The value set as artifact type is invalid. Must be either `source` or " +"`binary`." msgstr "" +"Значение, заданное в качестве типа артефакта, недопустимо. Должно быть либо " +"\"исходное`, либо\" двоичное`." -#: src/as-validator-issue-tag.h:584 +#: src/as-validator-issue-tag.h:674 +msgid "The value set as artifact bundle type is invalid." +msgstr "Значение, заданное в качестве типа пакета артефактов, недопустимо." + +#: src/as-validator-issue-tag.h:679 msgid "" -"The category defined in the .desktop file is not valid. Refer to the XDG " -"Menu Specification for a list of valid categories." +"The platform triplet for this release is invalid. It must be in the form of " +"`architecture-oskernel-osenv` - refer to the AppStream documentation or " +"information on normalized GNU triplets for more information and valid fields." msgstr "" +"Триплет платформы для этого выпуска недействителен. Он должен быть в форме " +"\"architecture-oskernel-osenv\" - обратитесь к документации AppStream или " +"информации о нормализованных триплетах GNU для получения дополнительной " +"информации и допустимых полей." + +#: src/as-validator-issue-tag.h:686 +msgid "The selected checksumming algorithm is unsupported or unknown." +msgstr "Выбранный алгоритм контрольной суммы не поддерживается или неизвестен." -#: src/as-validator-issue-tag.h:532 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:692 +msgid "The size type is unknown. Must be `download` or `installed`." +msgstr "Тип размера неизвестен. Должно быть \"загрузить` или `установить\"." + +#: src/as-validator-issue-tag.h:697 msgid "" -"The category name is not valid. Refer to the XDG Menu Specification for a " -"list of valid category names." +"The artifact filename must be a file basename, not a (relative or absolute) " +"path." msgstr "" +"Имя файла артефакта должно быть базовым именем файла, а не (относительным " +"или абсолютным) путем." -#: src/as-validator-issue-tag.h:124 -msgid "" -"The component ID contains a hyphen/minus. Using a hyphen is strongly " -"discouraged, to improve interoperability with other tools such as D-Bus. A " -"good option is to replace any hyphens with underscores ('_')." +#: src/as-validator-issue-tag.h:702 +msgid "The value set as release issue type is invalid." msgstr "" +"Значение, установленное в качестве типа выпуска релиза, недействительно." -#: src/as-validator-issue-tag.h:130 +#: src/as-validator-issue-tag.h:707 msgid "" -"The component ID contains a segment starting with a number. Starting a " -"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " -"interoperability with other tools such as D-Bus. Ideally, prefix these " -"segments with an underscore." +"The issue is tagged at security vulnerability with a CVE number, but its " +"value does not look like a valid CVE identifier." msgstr "" +"Проблема помечена в уязвимости безопасности номером CVE, но ее значение не " +"похоже на действительный идентификатор CVE." -#: src/as-validator-issue-tag.h:119 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:713 msgid "" -"The component ID contains an invalid character. Only ASCII characters, dots " -"and numbers are permitted." +"This component is missing information about releases. Consider adding a " +"`releases` tag to describe releases and their changes." msgstr "" -#: src/as-validator-issue-tag.h:106 +#: src/as-validator-issue-tag.h:718 msgid "" -"The component ID is not a reverse domain-name. Please update the ID to avoid " -"future issues and be compatible with all AppStream implementations.\n" -"You may also consider to update the name of the accompanying .desktop file " -"to follow the latest version of the Desktop-Entry specification and use a " -"rDNS name for it as well. In any case, do not forget to mention the new " -"desktop-entry in a tag for this component to keep the " -"application launchable from software centers and the .desktop file data " -"associated with the metainfo data." +"The AppStream specification requires a complete, ISO 8601 date string with " +"at least day-granularity to denote dates. Please ensure the date string is " +"valid." msgstr "" +"Для обозначения дат в спецификации AppStream требуется полная строка даты в " +"соответствии со стандартом ISO 8601 с гранулярностью как минимум по дням. " +"Пожалуйста, убедитесь, что строка даты действительна." -#: src/as-validator-issue-tag.h:101 +#: src/as-validator-issue-tag.h:724 msgid "" -"The component ID is required to follow a reverse domain-name scheme for its " -"name. See the AppStream specification for details." +"This component extends, provides, requires or recommends itself, which is " +"certainly not intended and may confuse users or machines dealing with this " +"metadata." msgstr "" +"Этот компонент расширяет, обеспечивает, требует или рекомендует себя, чего " +"естественно не должно быть и может вызвать сбой." -#: src/as-validator-issue-tag.h:114 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:731 msgid "" -"The component ID might not follow the reverse domain-name schema (the TLD " -"used by it is not known to the validator)." +"Licenses for `runtime` components are usually too complex to reflect them in " +"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " +"value for this component's `project_license`. E.g. `LicenseRef-free=https://" +"example.com/licenses.html`" msgstr "" +"Лицензии на `runtime` компоненты, как правило, слишком сложны, чтобы " +"отразить их в простом выражении SPDX. Рассмотрим возможность использования " +"`LicenseRef` и web URL в качестве значения для `project_license` этого " +"компонента. Например, `LicenseRef-free=https://example.com/licenses.html`" -#: src/as-validator-issue-tag.h:293 +#: src/as-validator-issue-tag.h:737 msgid "" -"The component has a 'merge' method defined. This is not allowed in metainfo " -"files." +"Since a `runtime` component is comprised of multiple other software " +"components, their component-IDs may be listed in a `` section for " +"this runtime." msgstr "" +"Так как компонент `runtime` состоит из множества других программных " +"компонентов, их идентификаторы компонентов могут быть перечислены в разделе " +"`` для этого времени выполнения." -#: src/as-validator-issue-tag.h:288 +#: src/as-validator-issue-tag.h:742 msgid "" -"The component has a priority value set. This is not allowed in metainfo " -"files." +"The type of the item that the component provides is not known to AppStream." +msgstr "Тип элемента, который предоставляет компонент, неизвестен AppStream." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:748 +msgid "" +"The toplevel `mimetypes` tag is deprecated. Please use `mediatype` tags in a " +"`provides` block instead to indicate that your software provides a media " +"handler for the given types." msgstr "" +"Топлеуровневый тег `mimetypes` устарел. Вместо этого используйте теги " +"`mediatype` в блоке `provides`, чтобы указать, что ваше программное " +"обеспечение предоставляет обработчик медиа для заданных типов." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:503 -msgid "The component is an addon, but no 'extends' tag was specified." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks) and keep the URL intact. +#: src/as-validator-issue-tag.h:755 +msgid "" +"This component has no `content_rating` tag to provide age rating " +"information. You can generate the tag data online by answering a few " +"questions at https://hughsie.github.io/oars/" msgstr "" -#: src/as-validator-issue-tag.h:440 +#: src/as-validator.c:150 msgid "" -"The component is missing a long description. Components of this type must " -"have a long description." +"The emitted issue tag is unknown in the tag registry of AppStream. This is a " +"bug in the validator itself, please report this issue in our bugtracker." msgstr "" +"Случившаяся проблему неизвестна реестру AppStream. Это ошибка в нашем " +"валидаторе, пожалуйста сообщите о данной проблеме в наш багтрекер." -#: src/as-validator-issue-tag.h:303 -msgid "The component is missing a name ( tag)." +#: src/as-validator.c:344 +msgid "URL format is invalid." +msgstr "Недопустимый URL формат." + +#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. +#: src/as-validator.c:522 src/as-validator.c:937 src/as-validator.c:1031 +#: src/as-validator.c:1428 src/as-validator.c:1448 src/as-validator.c:1481 +#, c-format +msgid "Found: %s - Allowed: %s" +msgstr "Найдено: %s - разрешено: %s" + +#. TRANSLATORS: ascompose flag description for: --verbose +#: tools/appstream-compose.c:181 +#, fuzzy +msgid "Show extra debugging information" +msgstr "Показывать дополнительную отладочную информацию." + +#. TRANSLATORS: ascompose flag description for: --no-color +#. TRANSLATORS: ascli flag description for: --no-color +#: tools/appstream-compose.c:184 tools/appstreamcli.c:1087 +msgid "Don't show colored output." +msgstr "Не показывать цветной вывод." + +#. TRANSLATORS: ascompose flag description for: --version +#. TRANSLATORS: ascli flag description for: --version +#: tools/appstream-compose.c:187 tools/appstreamcli.c:1076 +msgid "Show the program version." +msgstr "Показать версию программы." + +#. TRANSLATORS: ascompose flag description for: --full-report +#: tools/appstream-compose.c:190 +msgid "Set mode of the issue report that is printed to the console" msgstr "" -#: src/as-validator-issue-tag.h:308 -msgid "The component is missing a summary ( tag)." +#. TRANSLATORS: ascompose flag description for: --prefix +#: tools/appstream-compose.c:193 +msgid "Override the default prefix (`/usr` by default)" msgstr "" -#: src/as-validator-issue-tag.h:298 -msgid "The component is missing an ID ( tag)." +#. TRANSLATORS: ascompose flag description for: --result-root +#: tools/appstream-compose.c:196 +msgid "Set the result output directory" msgstr "" -#: src/as-validator-issue-tag.h:136 -msgid "" -"The component is part of the Freedesktop project, but its ID does not start " -"with fd.o's reverse-DNS name (\"org.freedesktop\")." +#. TRANSLATORS: ascompose flag description for: --data-dir, `collection metadata` is an AppStream term +#: tools/appstream-compose.c:199 +msgid "Override the collection metadata output directory" msgstr "" -#: src/as-validator-issue-tag.h:146 -msgid "" -"The component is part of the GNOME project, but its ID does not start with " -"GNOMEs reverse-DNS name (\"org.gnome\")." +#. TRANSLATORS: ascompose flag description for: --icons-dir +#: tools/appstream-compose.c:202 +msgid "Override the icon output directory" msgstr "" -#: src/as-validator-issue-tag.h:141 +#. TRANSLATORS: ascompose flag description for: --media-dir +#: tools/appstream-compose.c:205 msgid "" -"The component is part of the KDE project, but its ID does not start with " -"KDEs reverse-DNS name (\"org.kde\")." +"Set the media output directory (for media data to be served by a webserver)" msgstr "" -#: src/as-validator-issue-tag.h:323 -msgid "The component name should (likely) not end with a dot ('.')." +#. TRANSLATORS: ascompose flag description for: --hints-dir +#: tools/appstream-compose.c:208 +msgid "Set a directory where HTML and text issue reports will be stored" msgstr "" -#: src/as-validator-issue-tag.h:333 -msgid "The component summary must not contain tabs or linebreaks." +#. TRANSLATORS: ascompose flag description for: --origin +#. TRANSLATORS: ascompose flag description for: --media-baseurl +#: tools/appstream-compose.c:211 tools/appstream-compose.c:214 +msgid "Set the origin name" msgstr "" -#: src/as-validator-issue-tag.h:328 -msgid "The component summary should not end with a dot ('.')." +#. TRANSLATORS: ascompose flag description for: --components +#: tools/appstream-compose.c:217 +msgid "A comma-separated list of component-IDs to accept" msgstr "" -#: src/as-validator-issue-tag.h:243 -msgid "" -"The default screenshot of a software component must not be a video. Use a " -"static image as default screenshot and set the video as a secondary " -"screenshot." +#. TRANSLATORS: error message +#: tools/appstream-compose.c:231 +msgid "Failed to parse arguments" msgstr "" -#: src/as-validator-issue-tag.h:86 +#. TRANSLATORS: Output if appstreamcli --version is executed. +#: tools/appstream-compose.c:242 tools/appstreamcli.c:1230 +#, c-format +msgid "AppStream version: %s" +msgstr "Версия AppStream: %s" + +#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. +#: tools/appstream-compose.c:245 tools/appstreamcli.c:1233 +#, c-format msgid "" -"The description contains a web URL in plain text. This is not allowed, " -"please use the tag instead to share links." +"AppStream CLI tool version: %s\n" +"AppStream library version: %s" msgstr "" +"Версия CLI-программы AppStream: %s\n" +"Версия библиотеки AppStream: %s" -#: src/as-validator.c:152 +#. TRANSLATORS: invalid value for the --print-report CLI option +#: tools/appstream-compose.c:264 +#, c-format msgid "" -"The emitted issue tag is unknown in the tag registry of AppStream. This is a " -"bug in the validator itself, please report this issue in our bugtracker." +"Invalid value for `--print-report` option: %s\n" +"Possible values are:\n" +"`on-error` - only prints a short report if the run failed (default)\n" +"`short` - generates an abridged report\n" +"`full` - a detailed report will be printed" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:435 -msgid "" -"The essential tag 'metadata_license' is missing. A license for the metadata " -"itself always has to be defined." +#: tools/appstream-compose.c:285 +#, c-format +msgid "Automatically selected '%s' as data output location." msgstr "" -#: src/as-validator-issue-tag.h:79 -msgid "" -"The first 'description/p' paragraph of this component might be too short (< " -"80 characters). Please consider starting with a longer paragraph to improve " -"how the description looks like in software centers and to provide more " -"detailed information on this component immediately in the first paragraph." +#. TRANSLATORS: we don't have a destination directory for compose +#: tools/appstream-compose.c:288 +msgid "No destination directory set, please provide a data output location!" msgstr "" -#: src/as-validator-issue-tag.h:156 -msgid "" -"The license ID was not found in the SPDX database. Please check that the " -"license ID is written in an SPDX-conformant way and is a valid free software " -"license." +#: tools/appstream-compose.c:298 tools/appstream-compose.c:300 +msgid "WARNING" msgstr "" -#: src/as-validator-issue-tag.h:96 -msgid "" -"The mentioned tag is empty, which is highly likely not intended as it should " -"have content." +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:337 +#, c-format +msgid "Only accepting components: %s" msgstr "" -#: src/as-validator-issue-tag.h:168 -msgid "" -"The metadata itself does not seem to be licensed under a permissive license. " -"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " -"0BSD to allow distributors to include it in mixed data collections without " -"the risk of license violations due to mutually incompatible licenses." +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:340 +#, c-format +msgid "Only accepting component: %s" msgstr "" -#: src/as-validator-issue-tag.h:162 -msgid "" -"The metadata itself seems to be licensed under a complex collection of " -"licenses. Please license the data under a simple permissive license, like " -"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " -"collections without the risk of license violations due to mutually " -"incompatible licenses." +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:345 +msgid "Processing directories:" msgstr "" -#: src/as-validator-issue-tag.h:599 -msgid "" -"The metainfo file is stored in a legacy path. Please place it in '/usr/share/" -"metainfo'." +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:348 +msgid "Processing directory:" msgstr "" -#: src/as-validator-issue-tag.h:604 -msgid "The metainfo file specifies multiple components. This is not allowed." +#. TRANSLATORS: error message +#: tools/appstream-compose.c:357 +msgid "Can not process invalid directory" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:559 -msgid "" -"The metainfo file uses an ancient version of the AppStream specification, " -"which can not be validated. Please migrate it to version 0.6 (or higher)." +#. TRANSLATORS: information message +#: tools/appstream-compose.c:369 +msgid "Composing metadata..." msgstr "" -#: src/as-validator-issue-tag.h:569 +#. TRANSLATORS: error message +#: tools/appstream-compose.c:374 #, fuzzy -msgid "The metainfo filename does not match the component ID." +msgid "Failed to compose AppStream metadata" +msgstr "Утилита для работы с метаданными AppStream" + +#. TRANSLATORS: appstream-compose failed to include all data +#: tools/appstream-compose.c:380 +msgid "Run failed, some data was ignored." +msgstr "" + +#. TRANSLATORS: information message of appstream-compose +#: tools/appstream-compose.c:382 +msgid "Errors were raised during this compose run:" msgstr "" -"Удалить программное обеспечение, соответствующее идентификатору компоненты." -#: src/as-validator-issue-tag.h:609 +#: tools/appstream-compose.c:383 msgid "" -"The releases are not sorted in a latest to oldest version order. This is " -"required as some tools will assume that the latest version is always at the " -"top. Sorting releases also increases overall readability of the metainfo " -"file." +"Refer to the generated issue report data for details on the individual " +"problems." msgstr "" -#: src/as-validator-issue-tag.h:537 -msgid "The screenshot caption is too long (should be <= 80 characters)" +#: tools/appstream-compose.c:386 +msgid "Overview of generated hints:" msgstr "" -#: src/as-validator-issue-tag.h:206 -msgid "The screenshot does not have a caption text. Consider adding one." +#. TRANSLATORS: information message +#: tools/appstream-compose.c:388 +msgid "Success!" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:218 -msgid "" -"The screenshot video does not specify which container format was used in a " -"'container' property." +#. TRANSLATORS: ascli flag description for: --cachepath +#: tools/appstreamcli.c:59 +msgid "Manually selected location of AppStream cache." +msgstr "Установить вручную местоположение кэша AppStream." + +#. TRANSLATORS: ascli flag description for: --datapath +#: tools/appstreamcli.c:64 +msgid "Manually selected location of AppStream metadata to scan." msgstr "" +"Установить вручную местоположение метаданных AppStream для сканирования." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:212 -msgid "" -"The screenshot video does not specify which video codec was used in a " -"'codec' property." +#. TRANSLATORS: ascli flag description for: --no-cache +#: tools/appstreamcli.c:69 +msgid "Make request without any caching." +msgstr "Сделать запрос без кэширования." + +#. TRANSLATORS: ascli flag description for: --format +#: tools/appstreamcli.c:85 +msgid "Default metadata format (valid values are 'xml' and 'yaml')." msgstr "" +"Формат метаданных по умолчанию (допустимые значения: \"xml\" и \"yaml\")." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:224 -msgid "" -"The selected video codec is not supported by AppStream and software centers " -"may not be able to play the video. Only the AV1 and VP9 codecs are currently " -"supported, using 'av1' and 'vp9' as values for the 'codec' property." +#. TRANSLATORS: ascli flag description for: --details +#: tools/appstreamcli.c:100 +msgid "Print detailed output about found components." +msgstr "Напечатать подробный вывод о найденных компонентах." + +#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) +#: tools/appstreamcli.c:118 +msgid "Also show pedantic hints." +msgstr "Кроме того, выводить педантичные подсказки." + +#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) +#: tools/appstreamcli.c:123 +msgid "Print detailed explanation for found issues." +msgstr "Распечатайте подробное объяснение по найденным вопросам." + +#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) +#: tools/appstreamcli.c:128 +msgid "Do not use network access." +msgstr "Не использовать доступ к сети." + +#. TRANSLATORS: ascli flag description for: --format when validating XML files +#: tools/appstreamcli.c:133 +msgid "Format of the generated report (valid values are 'text' and 'yaml')." msgstr "" +"Формат генерируемого отчета (действительными значениями являются 'text' и " +"'yaml')." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:231 -msgid "" -"The selected video container format is not supported by AppStream and " -"software centers may not be able to play the video. Only the WebM and " -"Matroska video containers are currently supported, using 'webm' and 'mkv' as " -"values for the 'container' property." +#. TRANSLATORS: This is the header to the --help menu for subcommands +#. TRANSLATORS: This is the header to the --help menu +#: tools/appstreamcli.c:153 tools/appstreamcli.c:981 +msgid "AppStream command-line interface" +msgstr "Интерфейс командной строки AppStream" + +#: tools/appstreamcli.c:156 +#, c-format +msgid "'%s' command" +msgstr "Команда «%s»" + +#. TRANSLATORS: An unknown option was passed to appstreamcli. +#: tools/appstreamcli.c:191 +#, c-format +msgid "Option '%s' is unknown." +msgstr "Опция \"%s 1\" неизвестна." + +#: tools/appstreamcli.c:195 tools/appstreamcli.c:1207 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options." msgstr "" +"Запустите '%s --help' чтоб увидеть полный список доступных параметров " +"командной строки." -#: src/as-validator-issue-tag.h:283 -#, fuzzy +#: tools/appstreamcli.c:197 +#, c-format msgid "" -"The set component type is not a recognized, valid AppStream component type." +"Run '%s --help' to see a list of available commands and options, and '%s %s " +"--help' to see a list of options specific for this subcommand." msgstr "" -"Тип программного компонента \"%s\" не является допустимым в AppStream. " -"Возможные значения:" +"Запустите \"%s --help\", чтобы увидеть список доступных команд и опций, или " +"\"%s %s --help\", чтобы увидеть список опций для конкретной команды." -#: src/as-validator-issue-tag.h:398 +#. TRANSLATORS: ascli flag description for: --force +#: tools/appstreamcli.c:245 +msgid "Enforce a cache refresh." +msgstr "Принудительно обновить кэш." + +#. TRANSLATORS: ascli flag description for: --user +#: tools/appstreamcli.c:251 +msgid "Update the user-specific instead of the system-wide cache." +msgstr "Обновите пользовательский, а не общесистемный кэш." + +#. TRANSLATORS: ascli flag description for: --origin (part of the "put" subcommand) +#: tools/appstreamcli.c:477 +msgid "Set the data origin for the installed metadata collection file." +msgstr "Установите источник данных для установленного файла сбора метаданных." + +#. TRANSLATORS: ascli flag description for: --user (part of the "put" subcommand) +#: tools/appstreamcli.c:482 +msgid "Install the file for the current user, instead of globally." +msgstr "Установите файл для текущего пользователя, а не глобально." + +#: tools/appstreamcli.c:631 msgid "" -"The set value is not an identifier for a desktop environment as registered " -"with Freedesktop.org." +"You need to provide at least two version numbers to compare as parameters." msgstr "" +"Вам необходимо представить как минимум два номера версий для сравнения как " +"параметры." -#: tools/ascli-actions-mdata.c:449 +#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. +#: tools/appstreamcli.c:660 #, c-format -msgid "" -"The software component type '%s' is not valid in AppStream. Possible values " -"are:" -msgstr "" -"Тип программного компонента \"%s\" не является допустимым в AppStream. " -"Возможные значения:" +msgid "Unknown compare relation '%s'. Valid values are:" +msgstr "Неизвестный оператор сравнения: \"%s\". Правильные значения:" -#: src/as-validator-issue-tag.h:338 -msgid "The summary must not contain any URL. Use the tags for links." +#: tools/appstreamcli.c:700 +msgid "" +"Too many parameters: Need two version numbers or version numbers and a " +"comparison operator." msgstr "" +"Слишком много параметров: нужно два номера версий или номера версий и " +"оператор сравнения." -#: src/as-validator-issue-tag.h:640 +#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) +#: tools/appstreamcli.c:726 msgid "" -"The type of the item that the component provides is not known to AppStream." +"Use the given .desktop file to fill in the basic values of the metainfo file." msgstr "" +"Использовать заданный файл .desktop, чтобы заполнить основные поля в файле " +"метаинформации." -#: src/as-validator-issue-tag.h:174 +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand +#: tools/appstreamcli.c:731 msgid "" -"The update-contact does not appear to be a valid email address (escaping of " -"'@' is only allowed as '_at_' or '_AT_')." +"This command takes optional TYPE and FILE positional arguments, FILE being a " +"file to write to (or \"-\" for standard output)." msgstr "" +"Эта команда принимает необязательные позиционные аргументы TYPE и FILE, FILE " +"- файл для записи (или \"-\" для стандартного вывода)." -#: tools/ascli-actions-validate.c:363 tools/ascli-actions-validate.c:492 +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows +#: tools/appstreamcli.c:734 #, c-format -msgid "" -"The validator can not create reports in the '%s' format. You may select " -"'yaml' or 'text' instead." -msgstr "" +msgid "The TYPE must be a valid component-type, such as: %s" +msgstr "TYPE должен быть типом программного компонента, таким как: %s" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:410 -msgid "This 'bundle' tag has an unknown type and can not be used." +#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) +#: tools/appstreamcli.c:775 +msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." msgstr "" +"Используйте указанную строку для ключа \"Exec=\" файла записи рабочего стола." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:404 -msgid "This 'launchable' tag has an unknown type and can not be used." +#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command +#: tools/appstreamcli.c:815 +msgid "Assume the input file is in the selected format ('yaml' or 'text')." msgstr "" +"Предположим, что входной файл находится в выбранном формате ('yaml' или " +"'text')." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:515 +#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command +#: tools/appstreamcli.c:820 msgid "" -"This 'localization' component does not define any languages this " -"localization is for." +"Limit the number of release entries that end up in the metainfo file (0 for " +"unlimited)." msgstr "" +"Ограничить количество записей о выпуске, которые заканчиваются в файле " +"metainfo (0 для неограниченного числа)." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:509 -msgid "" -"This 'localization' component is missing an 'extends' tag, to specify the " -"components it adds localization to." -msgstr "" +#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command +#: tools/appstreamcli.c:862 +msgid "Generate the output in the selected format ('yaml' or 'text')." +msgstr "Сгенерируйте вывод в выбранном формате ('yaml' или 'text')." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:521 -msgid "" -"This 'service' component is missing a 'launchable' tag of type 'service'." +#: tools/appstreamcli.c:894 +#, c-format +msgid "Compose binary '%s' was not found! Can not continue." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:473 -msgid "" -"This 'web-application' component is missing a 'icon' tag to specify a valid " -"icon." -msgstr "" +#. TRANSLATORS: this is a (usually shorter) command alias, shown after the command summary text +#: tools/appstreamcli.c:956 +#, c-format +msgid "(Alias: '%s')" +msgstr "(Alias: '%s')" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:467 -msgid "" -"This 'web-application' component is missing a 'launchable' tag of type 'url'." -msgstr "" +#. these are commands we can use with appstreamcli +#: tools/appstreamcli.c:983 +msgid "Subcommands:" +msgstr "Подкоманды:" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:479 +#: tools/appstreamcli.c:1029 msgid "" -"This 'web-application' component is missing categorizations. A 'categories' " -"block is likely missing." +"You can find information about subcommand-specific options by passing \"--" +"help\" to the subcommand." msgstr "" +"Вы можете получить информацию об опциях команды, запустив её с параметром " +"\"--help\"." -#: src/as-validator-issue-tag.h:564 +#. TRANSLATORS: ascli has been run with unknown command. '%s --help' is the command to receive help and should not be translated. +#: tools/appstreamcli.c:1052 +#, c-format msgid "" -"This XML document has an unknown root tag. Maybe this file is not a metainfo " -"document?" +"Command '%s' is unknown. Run '%s --help' for a list of available commands." msgstr "" +"Команда '%s' неизвестна. Выполните '%s --help' для получения списка " +"доступных команд." -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand -#: tools/appstream-cli.c:680 +#. TRANSLATORS: ascli flag description for: --verbose +#: tools/appstreamcli.c:1082 +msgid "Show extra debugging information." +msgstr "Показывать дополнительную отладочную информацию." + +#. TRANSLATORS: ascli flag description for: --profile +#: tools/appstreamcli.c:1090 +msgid "Enable profiling" +msgstr "Включить профилирование" + +#. TRANSLATORS: `appstreamcli search` command description. +#: tools/appstreamcli.c:1102 +msgid "Search the component database." +msgstr "Поиск по базе данных компонентов." + +#. TRANSLATORS: `appstreamcli get` command description. +#: tools/appstreamcli.c:1107 +msgid "Get information about a component by its ID." +msgstr "Получить информацию о компоненте по его идентификатору." + +#. TRANSLATORS: `appstreamcli what-provides` command description. +#: tools/appstreamcli.c:1112 msgid "" -"This command takes optional TYPE and FILE positional arguments, FILE being a " -"file to write to (or \"-\" for standard output)." +"Get components which provide the given item. Needs an item type (e.g. lib, " +"bin, python3, …) and item value as parameter." msgstr "" -"Эта команда принимает опциональные аргументы TYPE и FILE, FILE является " -"файлом для вывода (или \"-\" для стандартного потока вывода)." +"Получите компоненты, которые обеспечивают данный элемент. Требуется тип " +"элемента (например, lib, bin, python3, ...) и значение элемента в качестве " +"параметра." -#: src/as-validator-issue-tag.h:622 -msgid "" -"This component extends, provides, requires or recommends itself, which is " -"certainly not intended and may confuse users or machines dealing with this " -"metadata." +#. TRANSLATORS: `appstreamcli dump` command description. +#: tools/appstreamcli.c:1118 +msgid "Dump raw XML metadata for a component matching the ID." msgstr "" +"Создать дамп необработанных метаданных XML для компоненты с соответствующим " +"идентификатором." + +#. TRANSLATORS: `appstreamcli refresh-cache` command description. +#: tools/appstreamcli.c:1123 +msgid "Rebuild the component metadata cache." +msgstr "Перестроить кэш метаданных компонентах." + +#. TRANSLATORS: `appstreamcli validate` command description. +#: tools/appstreamcli.c:1129 +msgid "Validate AppStream XML files for issues." +msgstr "Проверить файлы XML AppStream на недостатки." -#: src/as-validator-issue-tag.h:579 -msgid "This component metadata refers to a non-existing .desktop file." +#. TRANSLATORS: `appstreamcli validate-tree` command description. +#: tools/appstreamcli.c:1134 +msgid "Validate an installed file-tree of an application for valid metadata." msgstr "" +"Проверить установленную иерархию файлов приложения на корректность " +"метаданных." -#: src/as-validator-issue-tag.h:69 -msgid "" -"This description paragraph contains invalid markup. Currently, only " -"and are permitted." +#. TRANSLATORS: `appstreamcli install` command description. +#: tools/appstreamcli.c:1140 +msgid "Install software matching the component-ID." msgstr "" +"Установить программное обеспечение, соответствующее идентификатору " +"компоненты." -#: src/as-validator-issue-tag.h:57 -msgid "" -"This element (paragraph, list, etc.) of a tag must not be " -"localized individually in collection metadata. Localize the whole " -" tag instead. The AppStream collection metadata generator (e." -"g. `appstream-generator`) will already do the right thing when compiling the " -"data." +#. TRANSLATORS: `appstreamcli remove` command description. +#: tools/appstreamcli.c:1145 +msgid "Remove software matching the component-ID." msgstr "" +"Удалить программное обеспечение, соответствующее идентификатору компоненты." -#: src/as-validator-issue-tag.h:455 -msgid "" -"This generic component is missing a long description. It may be useful to " -"add one." -msgstr "" +#. TRANSLATORS: `appstreamcli status` command description. +#: tools/appstreamcli.c:1151 +msgid "Display status information about available AppStream metadata." +msgstr "Показать информацию о состоянии доступных метаданных AppStream." -#: src/as-validator-issue-tag.h:421 +#. TRANSLATORS: `appstreamcli os-info` command description. +#: tools/appstreamcli.c:1156 msgid "" -"This tag is a GNOME-specific extension to AppStream and not part of the " -"official specification. Do not expect it to work in all implementations and " -"in all software centers." +"Show information about the current operating system from the metadata index." msgstr "" +"Отображение информации о текущей операционной системе из индекса метаданных." -#: src/as-validator-issue-tag.h:41 -msgid "This tag requires a type property." -msgstr "" +#. TRANSLATORS: `appstreamcli put` command description. +#: tools/appstreamcli.c:1161 +msgid "Install a metadata file into the right location." +msgstr "Установить файл метаданных в нужное место." -#: data/org.freedesktop.appstream.cli.metainfo.xml:15 -msgid "" -"This tool allows for reading, writing, validating and transformation of " -"AppStream XML or YAML metadata. It also gives access to the system metadata " -"pool, for example to query for software that provides a specific MIME-type, " -"and installing it by its software component identifier." -msgstr "" -"Эта утилита позволяет читать, записывать, проверять и преобразовывать " -"метаданные AppStream в формате XML или YAML. Она также даёт доступ к " -"системному пулу метаданных, например, для запроса ПО, работающего с " -"определённым типом файлов, и его установки по идентификатору программного " -"компонента." +#. TRANSLATORS: `appstreamcli convert` command description. "Collection XML" is a term describing a specific type of AppStream XML data. +#: tools/appstreamcli.c:1166 +msgid "Convert collection XML to YAML or vice versa." +msgstr "Конвертировать коллекцию из XML в YAML или наоборот." -#: src/as-validator-issue-tag.h:388 -msgid "" -"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." -msgstr "" +#. TRANSLATORS: `appstreamcli vercmp` command description. +#: tools/appstreamcli.c:1171 +msgid "Compare two version numbers." +msgstr "Сравнить два номера версий." -#: tools/appstream-cli.c:648 +#. TRANSLATORS: `appstreamcli new-template` command description. +#: tools/appstreamcli.c:1177 msgid "" -"Too many parameters: Need two version numbers or version numbers and a " -"comparison operator." +"Create a template for a metainfo file (to be filled out by the upstream " +"project)." msgstr "" -"Слишком много параметров: нужно два номера версий или номера версий и " -"оператор сравнения." +"Создать шаблон для файла метаинформации (будет заполнен апстрим-проектом)." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:461 -msgid "" -"Type 'console-application' component, but no information about binaries in " -"$PATH was provided via a 'provides/binary' tag." -msgstr "" +#. TRANSLATORS: `appstreamcli make-desktop-file` command description. +#: tools/appstreamcli.c:1182 +msgid "Create a desktop-entry file from a metainfo file." +msgstr "Создайте файл записи рабочего стола из файла metainfo." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:491 -msgid "" -"Type 'driver' component, but no modalias information was provided via a " -"provides/modalias tag." -msgstr "" +#. TRANSLATORS: `appstreamcli news-to-metainfo` command description. +#: tools/appstreamcli.c:1187 +msgid "Convert a YAML or text NEWS file into metainfo releases." +msgstr "Преобразование YAML или текстового файла NEWS в выпуски мета-файлов." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:485 -msgid "" -"Type 'font' component, but no font information was provided via a 'provides/" -"font' tag." +#. TRANSLATORS: `appstreamcli metainfo-to-news` command description. +#: tools/appstreamcli.c:1192 +msgid "Write NEWS text or YAML file with information from a metainfo file." +msgstr "Напишите текст NEWS или файл YAML с информацией из файла metainfo." + +#. TRANSLATORS: `appstreamcli compose` command description. +#: tools/appstreamcli.c:1198 +#, fuzzy +msgid "Compose AppStream collection metadata from directory trees." msgstr "" +"Метаданные AppStream не были найдены в этом каталоге или дереве каталогов." -#: src/as-validator.c:333 -msgid "URL format is invalid." +#. TRANSLATORS: ascli has been run without command. +#: tools/appstreamcli.c:1206 +msgid "You need to specify a command." +msgstr "Вам необходимо указать команду." + +#. TRANSLATORS: In ascli: The requested action needs higher permissions. +#: tools/ascli-actions-mdata.c:70 +msgid "You might need superuser permissions to perform this action." msgstr "" +"Для выполнения этого действия Вам могут понадобиться права администратора." + +#. we performed a cache refresh +#. TRANSLATORS: Updating the metadata cache succeeded +#: tools/ascli-actions-mdata.c:80 +msgid "AppStream cache update completed successfully." +msgstr "Обновление кэша AppStream завершено успешно." + +#. cache wasn't updated, so the update wasn't necessary +#: tools/ascli-actions-mdata.c:86 +msgid "AppStream cache update is not necessary." +msgstr "Обновление кэша AppStream необязательно." + +#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments +#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. +#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:253 +#: tools/ascli-actions-pkgmgr.c:80 +msgid "You need to specify a component-ID." +msgstr "Вам необходимо указать идентификатор компоненты." -#: tools/ascli-actions-mdata.c:544 +#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:265 +#: tools/ascli-actions-pkgmgr.c:93 #, c-format -msgid "Unable to build the template metainfo file: %s" -msgstr "Не удаётся создать файл шаблона метаданных: %s" +msgid "Unable to find component with ID '%s'!" +msgstr "Не удаётся найти компоненту с идентификатором \"%s\"!" -#. TRANSLATORS: User is trying to convert a file in ascli -#: tools/ascli-actions-mdata.c:400 -msgid "" -"Unable to convert file: Could not determine output format, please set it " -"explicitly using '--format='." -msgstr "" -"Невозможно конвертировать файл: не удалось определить выходной формат, " -"пожалуйста, укажите его явно, используя \"--format=\"." +#: tools/ascli-actions-mdata.c:164 +msgid "You need to specify a term to search for." +msgstr "Вам необходимо указать термин для поиска." #. TRANSLATORS: We failed to find any component in the database, likely due to an error #: tools/ascli-actions-mdata.c:177 @@ -1595,338 +2679,420 @@ msgid "Unable to find component matching %s!" msgstr "Не удаётся найти компоненту, соответствующую %s!" -#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:266 -#: tools/ascli-actions-pkgmgr.c:93 +#: tools/ascli-actions-mdata.c:182 #, c-format -msgid "Unable to find component with ID '%s'!" -msgstr "Не удаётся найти компоненту с идентификатором \"%s\"!" +msgid "No component matching '%s' found." +msgstr "Не найдено компоненты, соответствующей '%s'." -#: tools/ascli-actions-misc.c:224 -#, fuzzy, c-format -msgid "Unable to load existing desktop-entry file template: %s" -msgstr "Не удаётся прочитать файл .desktop: %s" +#: tools/ascli-actions-mdata.c:206 +msgid "No value for the item to search for was defined." +msgstr "Не определено значение элемента для поиска." -#: src/as-validator-issue-tag.h:356 -msgid "Unable to reach remote icon at the given web location - does it exist?" +#: tools/ascli-actions-mdata.c:212 +msgid "Invalid type for provided item selected. Valid values are:" msgstr "" +"Выбран неверный тип для предоставленного элемента. Допустимые значения:" + +#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results +#: tools/ascli-actions-mdata.c:227 +#, c-format +msgid "Could not find component providing '%s::%s'." +msgstr "Не удалось найти компоненту, предоставляющую \"%s::%s\"." + +#: tools/ascli-actions-mdata.c:306 +msgid "You need to specify a metadata file." +msgstr "Вам необходимо указать файл метаданных." + +#: tools/ascli-actions-mdata.c:320 +#, c-format +msgid "Unable to install metadata file: %s" +msgstr "Не удалось установить файл метаданных: %s" -#: src/as-validator-issue-tag.h:378 +#: tools/ascli-actions-mdata.c:340 +msgid "You need to specify an input and output file." +msgstr "Вам необходимо указать входной и выходной файлы." + +#: tools/ascli-actions-mdata.c:347 +#, c-format +msgid "Metadata file '%s' does not exist." +msgstr "Файл метаданных \"%s\" не существует." + +#. TRANSLATORS: User is trying to convert a file in ascli +#: tools/ascli-actions-mdata.c:387 msgid "" -"Unable to reach remote location that this URL references - does it exist?" +"Unable to convert file: Could not determine output format, please set it " +"explicitly using '--format='." msgstr "" +"Невозможно конвертировать файл: не удалось определить выходной формат, " +"пожалуйста, укажите его явно, используя \"--format=\"." -#: src/as-validator-issue-tag.h:179 +#: tools/ascli-actions-mdata.c:438 +#, c-format +msgid "Unable to find operating system component '%s'!" +msgstr "Невозможно найти компонент операционной системы '%s'!" + +#: tools/ascli-actions-mdata.c:443 +msgid "Version" +msgstr "Версия" + +#: tools/ascli-actions-mdata.c:467 msgid "" -"Unable to reach the screenshot image on its remote location - does the image " -"exist?" +"You need to give an AppStream software component type to generate a " +"template. Possible values are:" msgstr "" +"Вам необходимо указать тип программного компонента AppStream для генерации " +"шаблона. Возможные значения:" -#: src/as-validator-issue-tag.h:184 +#: tools/ascli-actions-mdata.c:469 +#, c-format msgid "" -"Unable to reach the screenshot video on its remote location - does the video " -"file exist?" +"The software component type '%s' is not valid in AppStream. Possible values " +"are:" msgstr "" +"Тип программного компонента \"%s\" не является допустимым в AppStream. " +"Возможные значения:" -#: src/as-validator-issue-tag.h:542 -#, fuzzy -msgid "Unable to read file." -msgstr "Невозможно удалить старый кэш." - -#: src/as-validator-issue-tag.h:574 -#, fuzzy -msgid "Unable to read the .desktop file associated with this component." -msgstr "Не удаётся прочитать файл .desktop: %s" +#: tools/ascli-actions-mdata.c:487 +#, c-format +msgid "The .desktop file '%s' does not exist." +msgstr ".desktop файл \"%s\" не существует." -#: tools/ascli-actions-mdata.c:473 +#: tools/ascli-actions-mdata.c:493 #, c-format msgid "Unable to read the .desktop file: %s" msgstr "Не удаётся прочитать файл .desktop: %s" -#: src/as-pool.c:606 -msgid "Unable to remove old cache." -msgstr "Невозможно удалить старый кэш." +#: tools/ascli-actions-mdata.c:564 +#, c-format +msgid "Unable to build the template metainfo file: %s" +msgstr "Не удаётся создать файл шаблона метаданных: %s" -#: tools/ascli-actions-misc.c:370 -#, fuzzy, c-format -msgid "Unable to save desktop entry file: %s" -msgstr "Не удаётся прочитать файл .desktop: %s" +#: tools/ascli-actions-mdata.c:572 +#, c-format +msgid "Unable to save the template metainfo file: %s" +msgstr "Не удаётся сохранить файл шаблона метаданных: %s" + +#. TRANSLATORS: In the status report of ascli: Header +#: tools/ascli-actions-misc.c:47 +msgid "AppStream Status:" +msgstr "Статус AppStream:" + +#: tools/ascli-actions-misc.c:48 +#, c-format +msgid "Version: %s" +msgstr "Версия: %s" + +#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions +#: tools/ascli-actions-misc.c:52 +msgid "Distribution metadata:" +msgstr "Метаданные дистрибуции:" + +#: tools/ascli-actions-misc.c:94 +msgid "Iconsets" +msgstr "Наборы значков" + +#: tools/ascli-actions-misc.c:105 +msgid "No icons." +msgstr "Нет значков." + +#. TRANSLATORS: No metainfo files have been found +#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 +msgid "Empty." +msgstr "Пусто." + +#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report +#: tools/ascli-actions-misc.c:116 +msgid "Metainfo files:" +msgstr "Файлы метаинформации:" + +#: tools/ascli-actions-misc.c:123 +#, c-format +msgid "Found %i components." +msgstr "Найдено %i компонентов." + +#. TRANSLATORS: Found metainfo files in legacy directories +#: tools/ascli-actions-misc.c:138 +#, c-format +msgid "Found %i components in legacy paths." +msgstr "Найдено %i компонент в унаследованных путях." + +#. TRANSLATORS: Status summary in ascli +#: tools/ascli-actions-misc.c:145 +msgid "Summary:" +msgstr "Сводка:" + +#: tools/ascli-actions-misc.c:153 +#, c-format +msgid "We have information on %i software components." +msgstr "У нас есть информация о %i компонентах программного обеспечения." + +#: tools/ascli-actions-misc.c:159 +#, c-format +msgid "Error while loading the metadata pool: %s" +msgstr "Ошибка при загрузке пула метаданных: %s" + +#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 +msgid "You need to specify a metainfo file as input." +msgstr "Вам необходимо указать файл metainfo в качестве входных данных." + +#: tools/ascli-actions-misc.c:188 +msgid "" +"You need to specify a desktop-entry file to create or augment as output." +msgstr "" +"Вам необходимо указать файл записи рабочего стола для создания или " +"дополнения в качестве вывода." + +#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 +#: tools/ascli-actions-misc.c:515 +#, c-format +msgid "Metainfo file '%s' does not exist." +msgstr "Файл Metainfo '%s' не существует." -#: tools/ascli-actions-mdata.c:552 +#: tools/ascli-actions-misc.c:219 #, c-format -msgid "Unable to save the template metainfo file: %s" -msgstr "Не удаётся сохранить файл шаблона метаданных: %s" +msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." +msgstr "" +"Дополнение существующего файла для входа в рабочий стол '%s' данными из '%s'." -#: tools/ascli-actions-pkgmgr.c:67 +#: tools/ascli-actions-misc.c:224 #, c-format -msgid "Unable to spawn package manager: %s" -msgstr "Не удаётся запустить процесс менеджера пакетов: %s" +msgid "Unable to load existing desktop-entry file template: %s" +msgstr "Невозможно загрузить существующий шаблон файла .desktop: %s" -#: tools/ascli-actions-mdata.c:322 +#: tools/ascli-actions-misc.c:228 #, c-format -msgid "Unable to write to '%s', can not install metainfo file." +msgid "Creating new desktop-entry file '%s' using data from '%s'" msgstr "" -"Не удаётся записать в \"%s\", невозможно установить файл метаинформации." +"Создание нового файла для входа в рабочий стол '%s' с использованием данных " +"из '%s'" -#. TRANSLATORS: ascli has been run with unknown command. -#: tools/appstream-cli.c:1009 -#, c-format -msgid "Unknown command '%s'." -msgstr "Неизвестная команда \"%s\"." +#: tools/ascli-actions-misc.c:284 +msgid "No stock icon name was provided in the metainfo file. Can not continue." +msgstr "" +"В файле metainfo не было указано название иконки. Продолжение невозможно." -#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. -#: tools/appstream-cli.c:608 +#: tools/ascli-actions-misc.c:306 +msgid "" +"No provided binary specified in metainfo file, and no exec command specified " +"via '--exec'. Can not create 'Exec=' key." +msgstr "" +"В файле metainfo не указан ни один бинарный файл, ни одна команда " +"выполнения, указанная через '--exec'. Не может создать ключ 'Exec='." + +#: tools/ascli-actions-misc.c:370 #, c-format -msgid "Unknown compare relation '%s'. Valid values are:" -msgstr "Неизвестный оператор сравнения: \"%s\". Правильные значения:" +msgid "Unable to save desktop entry file: %s" +msgstr "Не удалось создать входной файл рабочего стола: %s" -#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) -#: tools/appstream-cli.c:675 +#: tools/ascli-actions-misc.c:393 +msgid "You need to specify a NEWS file as input." +msgstr "Вам необходимо указать файл НОВОСТЕЙ в качестве входных данных." + +#: tools/ascli-actions-misc.c:397 msgid "" -"Use the given .desktop file to fill in the basic values of the metainfo file." +"You need to specify a metainfo file to augment, or '-' to print to stdout." msgstr "" -"Использовать заданный файл .desktop, чтобы заполнить основные поля в файле " -"метаинформации." +"Вам необходимо указать файл metainfo для дополнения или '-' для вывода в " +"stdout." -#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) -#: tools/appstream-cli.c:725 -msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." +#: tools/ascli-actions-misc.c:402 +msgid "No output filename specified, modifying metainfo file directly." msgstr "" +"Имя выходного файла не указано, непосредственно изменяя файл метаинформации." -#. TRANSLATORS: this is the menu spec main category for Utilities -#: src/as-category.c:329 -msgid "Utilities" -msgstr "Утилиты" +#: tools/ascli-actions-misc.c:509 +msgid "You need to specify a NEWS file as output, or '-' to print to stdout." +msgstr "" +"Вам необходимо указать файл NEWS в качестве выходного, или '-' для печати в " +"stdout." -#: tools/appstream-cli.c:856 -msgid "Validate AppStream XML files for issues." -msgstr "Проверить файлы XML AppStream на недостатки." +#: tools/ascli-actions-misc.c:540 +msgid "You need to specify a NEWS format to write the output in." +msgstr "Вам необходимо указать формат NEWS для записи вывода." -#: tools/appstream-cli.c:857 -msgid "Validate an installed file-tree of an application for valid metadata." +#: tools/ascli-actions-pkgmgr.c:53 +msgid "" +"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" +"\" (part of PackageKit) is available." msgstr "" -"Проверить установленную иерархию файлов приложения на корректность " -"метаданных." +"Не найден подходящий CLI-менеджер пакетов. Пожалуйста, убедитесь, что, " +"например, «pkcon» (часть PackageKit) доступен." -#: tools/ascli-actions-validate.c:301 tools/ascli-actions-validate.c:442 +#: tools/ascli-actions-pkgmgr.c:67 #, c-format -msgid "Validation failed: %s" -msgstr "Проверка прошла неудачно: %s" - -#: tools/ascli-actions-validate.c:289 tools/ascli-actions-validate.c:430 -msgid "Validation was successful." -msgstr "Проверка успешно пройдена." +msgid "Unable to spawn package manager: %s" +msgstr "Не удаётся запустить процесс менеджера пакетов: %s" -#: tools/ascli-actions-validate.c:291 tools/ascli-actions-validate.c:432 +#. TRANSLATORS: We found no distribution package or bundle to install to make this software available +#: tools/ascli-actions-pkgmgr.c:106 #, c-format -msgid "Validation was successful: %s" -msgstr "Проверка успешно пройдена: %s" - -#: tools/appstream-cli.c:851 -msgid "Value of the item that should be found." -msgstr "Значение элемента, который должен быть найден." - -#: src/as-category.c:177 -msgctxt "Category of Graphics" -msgid "Vector Graphics" -msgstr "Векторная графика" +msgid "Component '%s' has no installation candidate." +msgstr "Компонент '%s' не имеет кандидата установки." -#: tools/ascli-actions-misc.c:48 +#: tools/ascli-actions-validate.c:176 tools/ascli-actions-validate.c:354 #, c-format -msgid "Version: %s" -msgstr "Версия: %s" +msgid "File '%s' does not exist." +msgstr "Файл '%s' не существует." -#: src/as-category.c:180 -msgctxt "Category of Graphics" -msgid "Viewers" -msgstr "Просмотрщики" +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "error"-type hints +#: tools/ascli-actions-validate.c:228 +#, c-format +msgid "errors: %lu" +msgstr "ошибки: %lu" -#: tools/ascli-actions-misc.c:153 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "warning"-type hints +#: tools/ascli-actions-validate.c:235 #, c-format -msgid "We have information on %i software components." -msgstr "У нас есть информация о %i компонентах программного обеспечения." +msgid "warnings: %lu" +msgstr "предупреждения: %lu" -#: src/as-category.c:270 -msgctxt "Category of Communication" -msgid "Web Browsers" -msgstr "Веб-браузеры" +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "info"-type hints +#: tools/ascli-actions-validate.c:242 +#, c-format +msgid "infos: %lu" +msgstr "инфо: %lu" -#: src/as-category.c:202 -msgctxt "Category of Office" -msgid "Word Processor" -msgstr "Текстовые процессоры" +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "pedantic"-type hints +#: tools/ascli-actions-validate.c:249 +#, c-format +msgid "pedantic: %lu" +msgstr "строгие: %lu" -#: tools/appstream-cli.c:871 -msgid "Write NEWS text or YAML file with information from a metainfo file." -msgstr "" +#: tools/ascli-actions-validate.c:268 tools/ascli-actions-validate.c:342 +msgid "You need to specify at least one file to validate!" +msgstr "Вам необходимо указать хотя бы один файл для проверки!" -#: tools/appstream-cli.c:874 -msgid "" -"You can find information about subcommand-specific options by passing \"--" -"help\" to the subcommand." -msgstr "" -"Вы можете получить информацию об опциях команды, запустив её с параметром " -"\"--help\"." +#: tools/ascli-actions-validate.c:294 tools/ascli-actions-validate.c:435 +msgid "Validation was successful." +msgstr "Проверка успешно пройдена." -#. TRANSLATORS: In ascli: The requested action needs higher permissions. -#: tools/ascli-actions-mdata.c:70 -msgid "You might need superuser permissions to perform this action." -msgstr "" -"Для выполнения этого действия Вам могут понадобиться права администратора." +#: tools/ascli-actions-validate.c:296 tools/ascli-actions-validate.c:437 +#, c-format +msgid "Validation was successful: %s" +msgstr "Проверка успешно пройдена: %s" -#: tools/ascli-actions-mdata.c:447 -msgid "" -"You need to give an AppStream software component type to generate a " -"template. Possible values are:" -msgstr "" -"Вам необходимо указать тип программного компонента AppStream для генерации " -"шаблона. Возможные значения:" +#: tools/ascli-actions-validate.c:306 tools/ascli-actions-validate.c:447 +#, c-format +msgid "Validation failed: %s" +msgstr "Проверка прошла неудачно: %s" -#: tools/appstream-cli.c:579 +#: tools/ascli-actions-validate.c:368 tools/ascli-actions-validate.c:497 +#, c-format msgid "" -"You need to provide at least two version numbers to compare as parameters." +"The validator can not create reports in the '%s' format. You may select " +"'yaml' or 'text' instead." msgstr "" -"Вам необходимо представить как минимум два номера версий для сравнения как " -"параметры." - -#: tools/ascli-actions-misc.c:393 -#, fuzzy -msgid "You need to specify a NEWS file as input." -msgstr "Вам необходимо указать файл метаданных." - -#: tools/ascli-actions-misc.c:509 -#, fuzzy -msgid "You need to specify a NEWS file as output, or '-' to print to stdout." -msgstr "Вам необходимо указать файл метаданных." +"Валидатор не может создать отчет в формате '%s'. Вы можете выбрать 'yaml' " +"или 'text'." -#: tools/ascli-actions-misc.c:540 -#, fuzzy -msgid "You need to specify a NEWS format to write the output in." -msgstr "Вам необходимо указать входной и выходной файлы." +#: tools/ascli-actions-validate.c:390 tools/ascli-actions-validate.c:484 +msgid "You need to specify a root directory to start validation!" +msgstr "Вам необходимо указать корневой каталог для начала проверки!" -#. TRANSLATORS: ascli has been run without command. -#: tools/appstream-cli.c:925 -msgid "You need to specify a command." -msgstr "Вам необходимо указать команду." +#: tools/ascli-utils.c:266 +msgid "Identifier" +msgstr "Идентификатор" -#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments -#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. -#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:254 -#: tools/ascli-actions-pkgmgr.c:80 -msgid "You need to specify a component-ID." -msgstr "Вам необходимо указать идентификатор компоненты." +#: tools/ascli-utils.c:268 +msgid "Internal ID" +msgstr "Внутренний ID" -#: tools/ascli-actions-misc.c:188 -#, fuzzy -msgid "" -"You need to specify a desktop-entry file to create or augment as output." -msgstr "Вам необходимо указать файл для проверки!" +#: tools/ascli-utils.c:269 +msgid "Name" +msgstr "Имя" -#: tools/ascli-actions-mdata.c:309 -msgid "You need to specify a metadata file." -msgstr "Вам необходимо указать файл метаданных." +#: tools/ascli-utils.c:270 +msgid "Summary" +msgstr "Сводка" -#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 -#, fuzzy -msgid "You need to specify a metainfo file as input." -msgstr "Вам необходимо указать файл метаданных." +#: tools/ascli-utils.c:271 +msgid "Package" +msgstr "Пакет" -#: tools/ascli-actions-misc.c:397 -#, fuzzy -msgid "" -"You need to specify a metainfo file to augment, or '-' to print to stdout." -msgstr "Вам необходимо указать файл метаданных." +#: tools/ascli-utils.c:272 +msgid "Bundle" +msgstr "Пакет" -#: tools/ascli-actions-validate.c:385 tools/ascli-actions-validate.c:479 -msgid "You need to specify a root directory to start validation!" -msgstr "Вам необходимо указать корневой каталог для начала проверки!" +#: tools/ascli-utils.c:273 +msgid "Homepage" +msgstr "Домашняя станица" -#: tools/ascli-actions-mdata.c:164 -msgid "You need to specify a term to search for." -msgstr "Вам необходимо указать термин для поиска." +#: tools/ascli-utils.c:274 +msgid "Icon" +msgstr "Значок" -#: tools/ascli-actions-mdata.c:357 -msgid "You need to specify an input and output file." -msgstr "Вам необходимо указать входной и выходной файлы." +#. developer name +#: tools/ascli-utils.c:294 +msgid "Developer" +msgstr "Разработчик" -#: tools/ascli-actions-validate.c:263 tools/ascli-actions-validate.c:337 -#, fuzzy -msgid "You need to specify at least one file to validate!" -msgstr "Вам необходимо указать файл для проверки!" +#: tools/ascli-utils.c:300 +msgid "Extends" +msgstr "Расширения" -#. TRANSLATORS: List of "grey-listed" words sperated with ";" -#. * Do not translate this list directly. Instead, -#. * provide a list of words in your language that people are likely -#. * to include in a search but that should normally be ignored in -#. * the search. -#. -#: src/as-pool.c:107 -msgid "app;application;package;program;programme;suite;tool" -msgstr "приложение;приложения;пакет;программа;программы;комплект;инструмент" +#: tools/ascli-utils.c:306 +msgid "Description" +msgstr "Описание" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:223 -#, c-format -msgid "errors: %lu" -msgstr "ошибки: %lu" +#: tools/ascli-utils.c:326 +msgid "Default Screenshot URL" +msgstr "URL-адрес снимка экрана по умолчанию" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:237 -#, c-format -msgid "infos: %lu" -msgstr "инфо: %lu" +#. project group +#: tools/ascli-utils.c:333 +msgid "Project Group" +msgstr "Проектная группа" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:244 -#, c-format -msgid "pedantic: %lu" -msgstr "строгие: %lu" +#. license +#: tools/ascli-utils.c:336 +msgid "License" +msgstr "Лицензия" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:230 -#, c-format -msgid "warnings: %lu" -msgstr "предупреждения: %lu" +#: tools/ascli-utils.c:342 +msgid "Categories" +msgstr "Категории" -#~ msgid "Command '%s' is unknown." -#~ msgstr "Команда \"%s\" неизвестна." +#: tools/ascli-utils.c:350 +msgid "Compulsory for" +msgstr "Обязательно для" -#~ msgid "Do not use any caches when performing the request." -#~ msgstr "Не использовать кэши при выполнении запроса." +#: tools/ascli-utils.c:378 +msgid "Provided Items" +msgstr "Предоставленные элементы" -#~ msgid "AppStream cache update failed." -#~ msgstr "Обновление кэша AppStream прошло неудачно." +#, fuzzy, c-format +#~ msgid "Unable to open new cache file: %s" +#~ msgstr "Не удаётся прочитать файл .desktop: %s" #~ msgid "" -#~ "AppStream data pool was loaded, but some metadata was ignored due to " -#~ "errors." +#~ "AppStream is a cross-distribution specification to provide metadata about " +#~ "software components." #~ msgstr "" -#~ "Пул данных AppStream был загружен, но некоторые метаданные были " -#~ "проигнорированы из-за ошибок." +#~ "AppStream - это кросс-дистрибутивная спецификация для предоставления " +#~ "метаданных о программных компонентах." -#~ msgid "Can not search for unknown component type." -#~ msgstr "Не удается найти неизвестный тип компоненты." - -#, fuzzy -#~ msgid "Category of Games" -#~ msgstr "Категории" - -#, fuzzy -#~ msgid "Category of Office" -#~ msgstr "Категории" +#, c-format +#~ msgid "Unable to write to '%s', can not install metainfo file." +#~ msgstr "" +#~ "Не удаётся записать в \"%s\", невозможно установить файл метаинформации." -#, fuzzy -#~ msgid "Category of Science" -#~ msgstr "Категории" +#, c-format +#~ msgid "" +#~ "Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " +#~ "suffix." +#~ msgstr "" +#~ "Не удается скопировать \"%s\": у файла нет '.metainfo.xml' или '.appdata." +#~ "xml' окончания." -#~ msgid "Extensions" -#~ msgstr "Расширения" +#~ msgid "An item type (e.g. lib, bin, python3, …)" +#~ msgstr "Тип элемента (например lib, bin, python3, ...)" -#~ msgid "File %s not found or permission denied!" -#~ msgstr "Файл %s не найден или доступ к нему запрещён!" +#~ msgid "Get components which provide the given item." +#~ msgstr "Получить компоненты, которые предоставляют данный элемент." -#, fuzzy -#~ msgid "No component providing '%s::%s' found." -#~ msgstr "Не найдены компоненты, предоставляющие '%s 1;%s 2'." +#, c-format +#~ msgid "Unknown command '%s'." +#~ msgstr "Неизвестная команда \"%s\"." -#~ msgid "XDG Menu XML file '%s' is damaged." -#~ msgstr "XML файл меню XDG '%s' повреждён." +#~ msgid "Value of the item that should be found." +#~ msgstr "Значение элемента, который должен быть найден." diff -Nru appstream-0.12.10/po/sk.po appstream-0.14.5/po/sk.po --- appstream-0.12.10/po/sk.po 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/po/sk.po 2021-08-28 20:15:28.000000000 +0000 @@ -1,3 +1,4 @@ +# #-#-#-#-# sk.po (AppStream) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Matthias Klumpp # This file is distributed under the same license as the appstream package. @@ -5,1581 +6,2464 @@ # Dušan Kazik , 2015-2016 # helix84 , 2015 # Matúš Baňas , 2019. +# Peter Marenčík , 2020. +# Katarína Kasalová , 2020. +# #-#-#-#-# sk.po (appstream-glib) #-#-#-#-# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Dušan Kazik , 2015-2016 +# helix84 , 2015 +# Richard Hughes , 2016. #zanata +#, fuzzy msgid "" msgstr "" -"Project-Id-Version: AppStream\n" +"Project-Id-Version: appstream-glib\n" "Report-Msgid-Bugs-To: appstream@lists.freedesktop.org\n" -"POT-Creation-Date: 2020-01-14 01:44+0100\n" -"PO-Revision-Date: 2019-08-05 00:22+0000\n" -"Last-Translator: Matúš Baňas \n" -"Language-Team: Slovak \n" +"POT-Creation-Date: 2021-08-28 16:09+0200\n" +"PO-Revision-Date: 2016-08-06 03:00+0000\n" +"Last-Translator: Copied by Zanata \n" +"Language-Team: Slovak (http://www.transifex.com/freedesktop/appstream-glib/" +"language/sk/)\n" "Language: sk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"#-#-#-#-# sk.po (AppStream) #-#-#-#-#\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -"X-Generator: Weblate 3.8-dev\n" - -#: tools/appstream-cli.c:157 -#, c-format -msgid "'%s' command" -msgstr "Príkaz „%s“" - -#: src/as-category.c:168 -msgctxt "Category of Graphics" -msgid "3D Graphics" -msgstr "3D Grafika" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:254 -msgid "" -"A 'requires' or 'recommends' item requires a value to denote a valid " -"relation." -msgstr "" - -#: src/as-validator-issue-tag.h:51 -msgid "" -"A tag must not be localized in metainfo files (upstream " -"metadata). Localize the individual paragraphs instead." -msgstr "" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:195 -msgid "" -"A screenshot must contain at least one image or video in order to be useful. " -"Please add an to it." -msgstr "" - -#: src/as-validator-issue-tag.h:200 -msgid "" -"A screenshot must contain either images or videos, but not both at the same " -"time. Please use this screenshot exclusively for either static images or for " -"videos." -msgstr "" - -#: src/as-category.c:123 -msgctxt "Category of Games" -msgid "Action" -msgstr "Činnosť" - -#. TRANSLATORS: this is the main category for Add-ons -#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor -#: src/as-category.c:320 tools/ascli-utils.c:398 -msgid "Add-ons" -msgstr "Doplnky" - -#: src/as-category.c:126 -msgctxt "Category of Games" -msgid "Adventure" -msgstr "Dobrodružstvo" - -#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) -#: tools/appstream-cli.c:116 -msgid "Also show pedantic hints." -msgstr "Pri overovaní ukazovať aj nájdené drobnosti." - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:497 -msgid "" -"An 'extends' tag is specified, but the component is not of type 'addon', " -"'localization' or 'repository'." -msgstr "" - -#: tools/appstream-cli.c:850 -msgid "An item type (e.g. lib, bin, python3, …)" -msgstr "Typ položky (napr. lib, bin, python3, ...)" - -#: data/org.freedesktop.appstream.cli.metainfo.xml:9 -msgid "An utility to work with AppStream metadata" -msgstr "Nástroj pre prácu s AppStream mataúdajmi" +"X-Generator: Weblate 4.2-dev\n" +"#-#-#-#-# sk.po (appstream-glib) #-#-#-#-#\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +"X-Generator: Zanata 4.6.2\n" #: data/org.freedesktop.appstream.cli.metainfo.xml:8 msgid "AppStream CLI" -msgstr "Textové používateľské rozhranie pre AppStream" - -#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. -#: tools/appstream-cli.c:947 -#, c-format -msgid "" -"AppStream CLI tool version: %s\n" -"AppStream library version: %s" -msgstr "" -"Verzia nástroja AppStream pre textové používateľské rozhranie: %s\n" -"Verzia knižnice AppStream: %s" - -#. TRANSLATORS: In the status report of ascli: Header -#: tools/ascli-actions-misc.c:47 -msgid "AppStream Status:" -msgstr "Stav nástroja AppStream:" - -#. we performed a cache refresh -#. TRANSLATORS: Updating the metadata cache succeeded -#: tools/ascli-actions-mdata.c:80 -msgid "AppStream cache update completed successfully." -msgstr "Aktualizácia vyrovnávacej pamäti AppStream bola úspešne dokončená." - -#. cache wasn't updated, so the update wasn't necessary -#: tools/ascli-actions-mdata.c:86 -msgid "AppStream cache update is not necessary." -msgstr "Aktualizácia vyrovnávacej pamäte nástroja AppStream nie je potrebná." +msgstr "Textové užívateľské rozhranie pre AppStream" -#. TRANSLATORS: This is the header to the --help menu for subcommands -#. TRANSLATORS: This is the header to the --help menu -#: tools/appstream-cli.c:154 tools/appstream-cli.c:843 -msgid "AppStream command-line interface" -msgstr "Rozhranie príkazového riadku AppStream" +#: data/org.freedesktop.appstream.cli.metainfo.xml:9 +msgid "An utility to work with AppStream metadata" +msgstr "Nástroj pre prácu s AppStream metadátami" -#: src/as-validator-issue-tag.h:63 +#: data/org.freedesktop.appstream.cli.metainfo.xml:12 msgid "" -"AppStream descriptions support only a limited set of tags to format text: " -"Paragraphs (

                                                                                                                                                                                                                                                                                                                                            ) and lists (

                                                                                                                                                                                                                                                                                                                                              ,
                                                                                                                                                                                                                                                                                                                                                ). This description markup contains " -"an invalid XML tag that would not be rendered correctly in applications " -"supporting the metainfo specification." +"AppStream is a metadata specification which permits software components to " +"provide information about themselves to automated systems and end-users " +"before the software is actually installed. The AppStream project provides " +"facilities to easily access and transform this metadata, as well as a few " +"additional services for building feature-rich software centers and similar " +"applications that make use of software metadata." msgstr "" -#: data/org.freedesktop.appstream.cli.metainfo.xml:12 +#: data/org.freedesktop.appstream.cli.metainfo.xml:18 #, fuzzy msgid "" -"AppStream is a cross-distribution specification to provide metadata about " -"software components." +"The appstreamcli command-line tool allows to read, write, and " +"transform AppStream XML or YAML metadata as well as to validate it for " +"compliance with the specification. It also provides easy access to the " +"system metadata pool, for example to query for software that provides a " +"specific Mediatype handler or for installing software by its component " +"identifier." msgstr "" -"AppStream je štandard pre poskytovanie metaúdajov o programovom vybavení, " -"používaný cez linuxové distribúcie." +"Tento nástroj umožňuje čítanie, zápis, overovanie a premenu AppStream XML " +"alebo Yamli metaúdajov. Tiež sprístupňuje systémový fond metaúdajov " +"napríklad pre dotazovanie sa na softvér, poskytujúci konkrétny MIME typ a " +"jeho inštaláciu na základe identifikátora softvérovej súčasti." -#: src/as-pool.c:1937 -#, fuzzy, c-format -msgid "" -"AppStream system cache refresh failed. Turn on verbose mode to get detailed " -"issue information." -msgstr "" -"Aktualizácie vyrovnávacej pamäti AppStream sa nepodarila. Zapnite výrečnejší " -"režim, z ktorého dostanete podrobnejšie informácie." +#: src/as-category.c:66 +msgctxt "Category of AudioVideo" +msgid "Featured" +msgstr "Zaujímavé" -#. TRANSLATORS: Output if appstreamcli --version is executed. -#: tools/appstream-cli.c:944 -#, c-format -msgid "AppStream version: %s" -msgstr "Verzia nástroja AppStream CLI: %s" +#: src/as-category.c:69 +msgctxt "Category of AudioVideo" +msgid "Audio Creation & Editing" +msgstr "Vytváranie a úprava zvuku" -#: src/as-category.c:129 -msgctxt "Category of Games" -msgid "Arcade" -msgstr "Arkáda" +#: src/as-category.c:75 +msgctxt "Category of AudioVideo" +msgid "Music Players" +msgstr "Prehrávače hudby" -#: src/as-category.c:234 -msgctxt "Category of Science" -msgid "Artificial Intelligence" -msgstr "Umelá inteligencia" +#: src/as-category.c:84 +msgctxt "Category of Development" +msgid "Featured" +msgstr "Zaujímavé" -#: src/as-validator-issue-tag.h:91 -msgid "" -"As per AppStream specification, the mentioned tag must only appear once in " -"this context. Having multiple tags of this kind is not valid." -msgstr "" +#: src/as-category.c:87 +msgctxt "Category of Development" +msgid "Debuggers" +msgstr "Ladiace nástroje" -#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command -#: tools/appstream-cli.c:766 -msgid "Assume the input file is in the selected format ('yaml' or 'text')." -msgstr "" +#: src/as-category.c:90 +msgctxt "Category of Development" +msgid "IDEs" +msgstr "Integrované vývojové prostredie" -#: src/as-category.c:101 +#: src/as-category.c:99 msgctxt "Category of Education" -msgid "Astronomy" -msgstr "Astronómia" +msgid "Featured" +msgstr "Zaujímavé" -#: src/as-category.c:237 -msgctxt "Category of Science" +#: src/as-category.c:102 +msgctxt "Category of Education" msgid "Astronomy" msgstr "Astronómia" -#. TRANSLATORS: this is the menu spec main category for Audio & Video -#: src/as-category.c:302 -msgid "Audio & Video" -msgstr "Zvuk a video" +#: src/as-category.c:105 +msgctxt "Category of Education" +msgid "Chemistry" +msgstr "Chémia" -#: src/as-category.c:68 -msgctxt "Category of AudioVideo" -msgid "Audio Creation & Editing" -msgstr "Vytváranie a úprava zvuku" +#: src/as-category.c:108 +msgctxt "Category of Education" +msgid "Languages" +msgstr "Jazyky" -#: tools/ascli-actions-misc.c:219 -#, c-format -msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." -msgstr "" +#: src/as-category.c:112 +msgctxt "Category of Education" +msgid "Math" +msgstr "Matematika" -#: src/as-provided.c:146 -msgid "Binaries" -msgstr "Spustiteľné súbory" +#: src/as-category.c:121 +msgctxt "Category of Games" +msgid "Featured" +msgstr "Zaujímavé" + +#: src/as-category.c:124 +msgctxt "Category of Games" +msgid "Action" +msgstr "Akcia" -#: src/as-category.c:132 +#: src/as-category.c:127 +msgctxt "Category of Games" +msgid "Adventure" +msgstr "Dobrodružstvo" + +#: src/as-category.c:130 +msgctxt "Category of Games" +msgid "Arcade" +msgstr "Arkáda" + +#: src/as-category.c:133 msgctxt "Category of Games" msgid "Blocks" msgstr "Bloky" -#: src/as-category.c:135 +#: src/as-category.c:136 msgctxt "Category of Games" msgid "Board" msgstr "Stolové" -#: tools/ascli-utils.c:299 -msgid "Bundle" -msgstr "Balík" - -#: src/as-pool.c:1828 -#, c-format -msgid "Cache location '%s' is not writable." -msgstr "Umiestnenie vyrovnávacej pamäte „%s“ nie je zapisovateľné." - -#: src/as-category.c:191 -msgctxt "Category of Office" -msgid "Calendar" -msgstr "Kalendár" - -#: tools/ascli-actions-mdata.c:327 -#, c-format -msgid "" -"Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " -"suffix." -msgstr "" -"Nepodarilo sa skopírovať „%s“: Súbor nemá príponu „.metainfo.xml“ alebo " -"„appdata.xml“." - -#: src/as-category.c:138 +#: src/as-category.c:139 msgctxt "Category of Games" msgid "Card" msgstr "Kartové" -#: tools/ascli-utils.c:369 -msgid "Categories" -msgstr "Kategórie" - -#: src/as-category.c:259 -msgctxt "Category of Communication" -msgid "Chat" -msgstr "Okamžitá textová komunikácia" +#: src/as-category.c:142 +msgctxt "Category of Games" +msgid "Emulators" +msgstr "Emulátory" -#: src/as-category.c:104 -msgctxt "Category of Education" -msgid "Chemistry" -msgstr "Chémia" +#: src/as-category.c:145 +msgctxt "Category of Games" +msgid "Kids" +msgstr "Detské" -#: src/as-category.c:240 -msgctxt "Category of Science" -msgid "Chemistry" -msgstr "Chémia" +#: src/as-category.c:148 +msgctxt "Category of Games" +msgid "Logic" +msgstr "Logické" -#: src/as-category.c:214 -msgctxt "Category of Addons" -msgid "Codecs" -msgstr "Kodeky" +#: src/as-category.c:151 +msgctxt "Category of Games" +msgid "Role Playing" +msgstr "RPG" -#. TRANSLATORS: this is the menu spec main category for Communication -#: src/as-category.c:326 -msgid "Communication & News" -msgstr "Komunikácia a novinky" +#: src/as-category.c:154 +msgctxt "Category of Games" +msgid "Sports" +msgstr "Športy" -#: tools/appstream-cli.c:866 -msgid "Compare two version numbers." -msgstr "Porovnať dve čísla verzií." +#: src/as-category.c:158 +msgctxt "Category of Games" +msgid "Strategy" +msgstr "Stratégie" -#: src/as-provided.c:166 -msgid "Component" -msgstr "Súčasť" +#: src/as-category.c:166 +msgctxt "Category of Graphics" +msgid "Featured" +msgstr "Zaujímavé" -#. TRANSLATORS: We found no distribution package or bundle to install to make this software available -#: tools/ascli-actions-pkgmgr.c:106 -#, c-format -msgid "Component '%s' has no installation candidate." -msgstr "Komponent „%s“ nemá kandidáta na inštaláciu." +#: src/as-category.c:169 +msgctxt "Category of Graphics" +msgid "3D Graphics" +msgstr "3D Grafika" -#: tools/ascli-utils.c:377 -msgid "Compulsory for" -msgstr "Povinné pre" +#: src/as-category.c:172 +msgctxt "Category of Graphics" +msgid "Photography" +msgstr "Fotografie" -#: src/as-validator-issue-tag.h:361 -msgid "Consider using a secure (HTTPS) URL for the remote icon link." +#: src/as-category.c:175 +msgctxt "Category of Graphics" +msgid "Scanning" +msgstr "Skenovanie" + +#: src/as-category.c:178 +msgctxt "Category of Graphics" +msgid "Vector Graphics" +msgstr "Vektorová grafika" + +#: src/as-category.c:181 +msgctxt "Category of Graphics" +msgid "Viewers" +msgstr "Diváci" + +#: src/as-category.c:189 +msgctxt "Category of Office" +msgid "Featured" +msgstr "Zaujímavé" + +#: src/as-category.c:192 +msgctxt "Category of Office" +msgid "Calendar" +msgstr "Kalendár" + +#: src/as-category.c:196 +msgctxt "Category of Office" +msgid "Database" +msgstr "Databáza" + +#: src/as-category.c:199 +msgctxt "Category of Office" +msgid "Finance" +msgstr "Financie" + +#: src/as-category.c:203 +msgctxt "Category of Office" +msgid "Word Processor" +msgstr "Textový procesor" + +#: src/as-category.c:212 +msgctxt "Category of Addons" +msgid "Fonts" +msgstr "Písma" + +#: src/as-category.c:215 +msgctxt "Category of Addons" +msgid "Codecs" +msgstr "Kodeky" + +#: src/as-category.c:218 +msgctxt "Category of Addons" +msgid "Input Sources" +msgstr "Vstupné zdroje" + +#: src/as-category.c:221 +msgctxt "Category of Addons" +msgid "Language Packs" +msgstr "Jazykové balíky" + +#: src/as-category.c:224 +msgctxt "Category of Addons" +msgid "Localization" +msgstr "Preklady" + +#: src/as-category.c:232 +msgctxt "Category of Science" +msgid "Featured" +msgstr "Zaujímavé" + +#: src/as-category.c:235 +msgctxt "Category of Science" +msgid "Artificial Intelligence" +msgstr "Umelá inteligencia" + +#: src/as-category.c:238 +msgctxt "Category of Science" +msgid "Astronomy" +msgstr "Astronómia" + +#: src/as-category.c:241 +msgctxt "Category of Science" +msgid "Chemistry" +msgstr "Chémia" + +#: src/as-category.c:244 +msgctxt "Category of Science" +msgid "Math" +msgstr "Matematika" + +#: src/as-category.c:249 +msgctxt "Category of Science" +msgid "Robotics" +msgstr "Robotika" + +#: src/as-category.c:257 +msgctxt "Category of Communication" +msgid "Featured" +msgstr "Zaujímavé" + +#: src/as-category.c:260 +msgctxt "Category of Communication" +msgid "Chat" +msgstr "Okamžitá textová komunikácia" + +#: src/as-category.c:267 +msgctxt "Category of Communication" +msgid "News" +msgstr "Novinky" + +#: src/as-category.c:271 +msgctxt "Category of Communication" +msgid "Web Browsers" +msgstr "Webové prehliadače" + +#: src/as-category.c:279 +msgctxt "Category of Utility" +msgid "Featured" +msgstr "Zaujímavé" + +#: src/as-category.c:282 +msgctxt "Category of Utility" +msgid "Text Editors" +msgstr "Textové editory" + +#: src/as-category.c:285 +msgctxt "Category of Utility" +msgid "Terminal Emulators" +msgstr "Emulátory terminálu" + +#: src/as-category.c:288 +msgctxt "Category of Utility" +msgid "File System" +msgstr "Súborový systém" + +#: src/as-category.c:291 +msgctxt "Category of Utility" +msgid "System Monitoring" +msgstr "Monitorovanie systému" + +#: src/as-category.c:294 +msgctxt "Category of Utility" +msgid "Security" +msgstr "Zabezpečenie" + +#. TRANSLATORS: this is the menu spec main category for Audio & Video +#: src/as-category.c:303 +msgid "Audio & Video" +msgstr "Zvuk a video" + +#. TRANSLATORS: this is the menu spec main category for Development +#: src/as-category.c:306 +msgid "Developer Tools" +msgstr "Nástroje pre vývojárov" + +#. TRANSLATORS: this is the menu spec main category for Education +#: src/as-category.c:309 +msgid "Education" +msgstr "Výuka" + +#. TRANSLATORS: this is the menu spec main category for Game +#: src/as-category.c:312 +msgid "Games" +msgstr "Hry" + +#. TRANSLATORS: this is the menu spec main category for Graphics +#: src/as-category.c:315 +msgid "Graphics & Photography" +msgstr "Grafika a fotografie" + +#. TRANSLATORS: this is the menu spec main category for Office +#: src/as-category.c:318 +msgid "Office" +msgstr "Kancelár" + +#. TRANSLATORS: this is the main category for Add-ons +#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor +#: src/as-category.c:321 tools/ascli-utils.c:371 +msgid "Add-ons" +msgstr "Doplnky" + +#. TRANSLATORS: this is the menu spec main category for Science +#: src/as-category.c:324 +msgid "Science" +msgstr "Veda" + +#. TRANSLATORS: this is the menu spec main category for Communication +#: src/as-category.c:327 +msgid "Communication & News" +msgstr "Komunikácia a novinky" + +#. TRANSLATORS: this is the menu spec main category for Utilities +#: src/as-category.c:330 +msgid "Utilities" +msgstr "Nástroje" + +#. TRANSLATORS: This is the formatting of English and localized name +#. * of the rating e.g. "Adults Only (solo adultos)" +#: src/as-content-rating.c:298 +#, c-format +msgid "%s (%s)" +msgstr "%s (%s)" + +#: src/as-content-rating.c:444 +msgid "General" +msgstr "Všeobecné" + +#: src/as-content-rating.c:453 +msgid "ALL" +msgstr "VŠETCI" + +#: src/as-content-rating.c:457 src/as-content-rating.c:560 +msgid "Adults Only" +msgstr "Iba dospelí" + +# GtkLabel +#: src/as-content-rating.c:459 src/as-content-rating.c:559 +msgid "Mature" +msgstr "Dospievajúci" + +#: src/as-content-rating.c:461 src/as-content-rating.c:558 +msgid "Teen" +msgstr "Mladiství" + +#: src/as-content-rating.c:463 src/as-content-rating.c:557 +msgid "Everyone 10+" +msgstr "Každý s vekom nad 10 rokov" + +#: src/as-content-rating.c:465 src/as-content-rating.c:556 +msgid "Everyone" +msgstr "Každý" + +#: src/as-content-rating.c:467 src/as-content-rating.c:555 +msgid "Early Childhood" +msgstr "Skoré detstvo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:839 +msgid "No cartoon violence" +msgstr "Žiadne kreslené násilie" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:841 +msgid "Cartoon characters in unsafe situations" +msgstr "Kreslené postavy v nebezpečných situáciách" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:843 +msgid "Cartoon characters in aggressive conflict" +msgstr "Kreslené postavy v agresívnom konflikte" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:845 +msgid "Graphic violence involving cartoon characters" +msgstr "Vyobrazené násilie zahŕňajúce kreslené postavy" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:850 +msgid "No fantasy violence" +msgstr "Žiadne fiktívne násilie" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:852 +msgid "Characters in unsafe situations easily distinguishable from reality" +msgstr "Postavy v nebezpečných situáciach ľahko odlíšiteľných od reality" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:854 +msgid "Characters in aggressive conflict easily distinguishable from reality" +msgstr "Postavy v agresívnom konflikte ľahko odlíšiteľnom od reality" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:856 +msgid "Graphic violence easily distinguishable from reality" +msgstr "Vyobrazené násilie ľahko odlíšiteľné od reality" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:861 +msgid "No realistic violence" +msgstr "Žiadne realistické násilie" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:863 +msgid "Mildly realistic characters in unsafe situations" +msgstr "Mierne skutočné postavy v nebezpečných situáciách" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:865 +msgid "Depictions of realistic characters in aggressive conflict" +msgstr "Vyobrazenia skutočných postáv v agresívnom konflikte" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:867 +msgid "Graphic violence involving realistic characters" +msgstr "Vyobrazené násilie zahŕňajúce skutočné postavy" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:872 +msgid "No bloodshed" +msgstr "Žiadne krviprelievanie" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:874 +msgid "Unrealistic bloodshed" +msgstr "Neskutočné krviprelievanie" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:876 +msgid "Realistic bloodshed" +msgstr "Skutočné krviprelievanie" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:878 +msgid "Depictions of bloodshed and the mutilation of body parts" +msgstr "Vyobrazenia krviprelievania a zohavených častí tiel" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:883 +msgid "No sexual violence" +msgstr "Žiadne sexuálne násilie" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:885 +msgid "Rape or other violent sexual behavior" +msgstr "Znásilnenie alebo iné násilné sexuálne správanie" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:892 +msgid "No references to alcohol" +msgstr "Žiadne odkazy na alkohol" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:894 +msgid "References to alcoholic beverages" +msgstr "Odkazy na alkoholické nápoje" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:896 +msgid "Use of alcoholic beverages" +msgstr "Požívanie alkoholických nápojov" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:902 +msgid "No references to illicit drugs" +msgstr "Žiadne odkazy na zakázané drogy" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:904 +msgid "References to illicit drugs" +msgstr "Odkazy na zakázané drogy" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:906 +msgid "Use of illicit drugs" +msgstr "Požívanie zakázaných drog" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:912 +msgid "No references to tobacco products" +msgstr "Bez odkazov na tabakové výrobky" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:914 +msgid "References to tobacco products" +msgstr "Odkazy na tabakové výrobky" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:916 +msgid "Use of tobacco products" +msgstr "Požívanie tabakových výrobkov" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:922 +msgid "No nudity of any sort" +msgstr "Žiadna nahota akéhokoľvek druhu" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:924 +msgid "Brief artistic nudity" +msgstr "Občasná umelecká nahota" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:926 +msgid "Prolonged nudity" +msgstr "Dlhotrvajúca nahota" + +# cmdline description +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:932 +msgid "No references to or depictions of sexual nature" +msgstr "Bez sexuálnych odkazov alebo vyobrazení" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:934 +msgid "Provocative references or depictions" +msgstr "Provokačné odkazy alebo vyobrazenia" + +# cmdline description +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:936 +msgid "Sexual references or depictions" +msgstr "Sexuálne odkazy alebo vyobrazenia" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:938 +msgid "Graphic sexual behavior" +msgstr "Vyobrazené sexuálne správanie" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:943 +msgid "No profanity of any kind" +msgstr "Žiadne zneuctenie akéhokoľvek druhu" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:945 +msgid "Mild or infrequent use of profanity" +msgstr "Mierne alebo časte zneuctenie" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:947 +msgid "Moderate use of profanity" +msgstr "Stredne silné zneuctenie" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:949 +msgid "Strong or frequent use of profanity" +msgstr "Silné alebo časté zneuctenie" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:954 +msgid "No inappropriate humor" +msgstr "Žiadny nevhodný humor" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:956 +msgid "Slapstick humor" +msgstr "Drsný humor" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:958 +msgid "Vulgar or bathroom humor" +msgstr "Vulgárny alebo kúpeľňový humor" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:960 +msgid "Mature or sexual humor" +msgstr "Sexuálny humor alebo humor pre dospelých" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:965 +msgid "No discriminatory language of any kind" +msgstr "Žiadny diskriminačný jazyk akéhokoľvek druhu" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:967 +msgid "Negativity towards a specific group of people" +msgstr "Odpor voči špecifickej skupine ľudí" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:969 +msgid "Discrimination designed to cause emotional harm" +msgstr "Diskriminácia s následkami emočnej ujmy" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:971 +msgid "Explicit discrimination based on gender, sexuality, race or religion" +msgstr "" +"Jednoznačná diskriminácia založená na pohlaví, sexuálnej orientácii, rase " +"alebo náboženstve" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:976 +msgid "No advertising of any kind" +msgstr "Žiadne reklamy akéhokoľvek druhu" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:978 +msgid "Product placement" +msgstr "Umiestnenie výrobku" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:980 +msgid "Explicit references to specific brands or trademarked products" +msgstr "" +"Jednoznačné odkazy na produkty špecifických značiek alebo označené obchodnou " +"známkou" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:982 +msgid "Users are encouraged to purchase specific real-world items" +msgstr "" +"Používatelia sú vyzývaní na nákup špecifických položiek v skutočnom svete" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:987 +msgid "No gambling of any kind" +msgstr "Žiadne hazardovanie akéhokoľvek druhu" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:989 +msgid "Gambling on random events using tokens or credits" +msgstr "Hazardovanie na náhodných podujatiach použitím žetónov alebo kreditov" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:991 +msgid "Gambling using “play” money" +msgstr "Hazardovanie s fiktívnymi peniazmi" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:993 +msgid "Gambling using real money" +msgstr "Hazardovanie so skutočnými peniazmi" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:998 +msgid "No ability to spend money" +msgstr "Žiadne možnosti míňania peňazí" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1000 +msgid "Users are encouraged to donate real money" +msgstr "Používatelia sú vyzývaní na darovanie skutočných peňazí" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1003 +msgid "Ability to spend real money in-app" +msgstr "Možnosť míňania skutočných peňazí v aplikácii" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1008 +msgid "No way to chat with other users" +msgstr "Žiadne možnosti textovej komunikácie s ostatnými používateľmi" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1010 +#, fuzzy +msgid "User-to-user interactions without chat functionality" msgstr "" +"#-#-#-#-# sk.po (AppStream) #-#-#-#-#\n" +"#-#-#-#-# sk.po (appstream-glib) #-#-#-#-#\n" +"Herné interakcie medzi hráčmi bez možnosti rozhovoru" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1012 +msgid "Moderated chat functionality between users" +msgstr "Moderované rozhovory medzi používateľmi" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1014 +msgid "Uncontrolled chat functionality between users" +msgstr "Nekontrolovateľné rozhovory medzi používateľmi" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1019 +msgid "No way to talk with other users" +msgstr "Žiadne možnosti hovoriť s ostatnými používateľmi" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1021 +msgid "Uncontrolled audio or video chat functionality between users" +msgstr "Nekontrolovateľné zvukové alebo video rozhovory medzi používateľmi" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1028 +msgid "No sharing of social network usernames or email addresses" +msgstr "" +"Žiadne zdieľanie používateľských mien alebo emailových adries zo sociálnych " +"sietí" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1030 +msgid "Sharing social network usernames or email addresses" +msgstr "" +"Zdieľanie používateľských mien alebo emailových adries zo sociálnych sietí" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1037 +msgid "No sharing of user information with third parties" +msgstr "Žiadne zdieľanie informácií o používateľoch s tretími stranami" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1039 +msgid "Checking for the latest application version" +msgstr "Kontroluje sa najnovšia verzia aplikácie" -#: src/as-validator-issue-tag.h:383 -msgid "Consider using a secure (HTTPS) URL for this web link." +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1041 +#, fuzzy +msgid "Sharing diagnostic data that does not let others identify the user" msgstr "" +"#-#-#-#-# sk.po (AppStream) #-#-#-#-#\n" +"#-#-#-#-# sk.po (appstream-glib) #-#-#-#-#\n" +"Zdieľanie informácií, ktoré umožňujú ostatným identifikovať používateľa" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1043 +msgid "Sharing information that lets others identify the user" +msgstr "" +"Zdieľanie informácií, ktoré umožňujú ostatným identifikovať používateľa" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1048 +msgid "No sharing of physical location with other users" +msgstr "Žiadne zdieľanie fyzickej lokality ostatným používateľom" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1050 +msgid "Sharing physical location with other users" +msgstr "Zdieľanie fyzickej lokality ostatným používateľom" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1073 +msgid "No references to homosexuality" +msgstr "Žiadne odkazy na homosexualitu" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1075 +msgid "Indirect references to homosexuality" +msgstr "Nepriame odkazy na homosexualitu" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1077 +msgid "Kissing between people of the same gender" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1079 +msgid "Graphic sexual behavior between people of the same gender" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1084 +msgid "No references to prostitution" +msgstr "Žiadne odkazy na prostitúciu" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1086 +msgid "Indirect references to prostitution" +msgstr "Nepriame odkazy na prostitúciu" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1088 +msgid "Direct references to prostitution" +msgstr "Priame odkazy na prostitúciu" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1090 +msgid "Graphic depictions of the act of prostitution" +msgstr "Grafické vyobrazenia aktu prostitúcie" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1095 +msgid "No references to adultery" +msgstr "Žiadne odkazy na cudzoložstvo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1097 +msgid "Indirect references to adultery" +msgstr "Nepriame odkazy na cudzoložstvo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1099 +msgid "Direct references to adultery" +msgstr "Priame odkazy na cudzoložstvo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1101 +msgid "Graphic depictions of the act of adultery" +msgstr "Grafické vyobrazenia aktu cudzoložstva" -#: src/as-validator-issue-tag.h:189 -msgid "" -"Consider using a secure (HTTPS) URL to reference this screenshot image or " -"video." +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1106 +#, fuzzy +msgid "No sexualized characters" msgstr "" +"#-#-#-#-# sk.po (AppStream) #-#-#-#-#\n" +"#-#-#-#-# sk.po (appstream-glib) #-#-#-#-#\n" +"Žiadne sexuálne násilie" -#: tools/appstream-cli.c:870 -msgid "Convert a YAML or text NEWS file into metainfo releases." +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1109 +msgid "Scantily clad human characters" msgstr "" -#. TRANSLATORS: "convert" command in ascli. "Collection XML" is a term describing a specific type of AppStream XML data. -#: tools/appstream-cli.c:865 -msgid "Convert collection XML to YAML or vice versa." -msgstr "Prevádza z XML na YAML formát a obrátene." +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1111 +#, fuzzy +msgid "Overtly sexualized human characters" +msgstr "" +"#-#-#-#-# sk.po (AppStream) #-#-#-#-#\n" +"#-#-#-#-# sk.po (appstream-glib) #-#-#-#-#\n" +"Žiadne sexuálne násilie" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1116 +msgid "No references to desecration" +msgstr "Žiadne odkazy na znesvätenie" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1118 +msgid "Depictions of or references to historical desecration" +msgstr "Vyobrazenia alebo odkazy na historické znesvätenie" -#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results -#: tools/ascli-actions-mdata.c:228 +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1120 +#, fuzzy +msgid "Depictions of modern-day human desecration" +msgstr "" +"#-#-#-#-# sk.po (AppStream) #-#-#-#-#\n" +"#-#-#-#-# sk.po (appstream-glib) #-#-#-#-#\n" +"Vyobrazenia alebo odkazy na historické znesvätenie" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1122 +#, fuzzy +msgid "Graphic depictions of modern-day desecration" +msgstr "" +"#-#-#-#-# sk.po (AppStream) #-#-#-#-#\n" +"#-#-#-#-# sk.po (appstream-glib) #-#-#-#-#\n" +"Grafické vyobrazenia znesvätenia ľudských tiel" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1127 +msgid "No visible dead human remains" +msgstr "Bez viditeľných pozostatkov mŕtvych ľudí" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1129 +msgid "Visible dead human remains" +msgstr "Viditeľné pozostatky mŕtvych ľudí" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1131 +msgid "Dead human remains that are exposed to the elements" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1133 +msgid "Graphic depictions of desecration of human bodies" +msgstr "Grafické vyobrazenia znesvätenia ľudských tiel" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1138 +msgid "No references to slavery" +msgstr "Žiadne odkazy na otroctvo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1140 +msgid "Depictions of or references to historical slavery" +msgstr "Vyobrazenia alebo odkazy na historické otroctvo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1142 +#, fuzzy +msgid "Depictions of modern-day slavery" +msgstr "" +"#-#-#-#-# sk.po (AppStream) #-#-#-#-#\n" +"#-#-#-#-# sk.po (appstream-glib) #-#-#-#-#\n" +"Vyobrazenia alebo odkazy na historické otroctvo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1144 +#, fuzzy +msgid "Graphic depictions of modern-day slavery" +msgstr "" +"#-#-#-#-# sk.po (AppStream) #-#-#-#-#\n" +"#-#-#-#-# sk.po (appstream-glib) #-#-#-#-#\n" +"Grafické vyobrazenia aktu cudzoložstva" + +#. TRANSLATORS: We got a 429 error while trying to download data +#: src/as-curl.c:134 #, c-format -msgid "Could not find component providing '%s::%s'." -msgstr "Nie je možné nájsť komponent poskytujúci „%s;%s“." +msgid "Failed to download due to server limit" +msgstr "" -#: tools/appstream-cli.c:869 -msgid "Create a XDG desktop-entry file from a metainfo file." +#: src/as-curl.c:141 src/as-curl.c:148 +#, fuzzy, c-format +msgid "Failed to download file: %s" +msgstr "Nepodarilo sa načítať .desktop súbor: %s" + +#. TRANSLATORS: We tried to download an URL, but received a 404 error code +#: src/as-curl.c:157 +#, c-format +msgid "URL was not found on the server." +msgstr "" + +#. TRANSLATORS: We received an uexpected HTTP status code while talking to a server, likely an error +#: src/as-curl.c:164 +#, c-format +msgid "Unexpected status code: %ld" msgstr "" -#: tools/appstream-cli.c:868 +#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty +#: src/as-curl.c:247 +#, c-format +msgid "Retrieved file size was zero." +msgstr "" + +#. TRANSLATORS: List of "grey-listed" words sperated with ";" +#. * Do not translate this list directly. Instead, +#. * provide a list of words in your language that people are likely +#. * to include in a search but that should normally be ignored in +#. * the search. +#. +#: src/as-pool.c:111 +msgid "app;application;package;program;programme;suite;tool" +msgstr "app;aplikácia;balík;program;balík;nástroj" + +#: src/as-pool.c:620 +msgid "Unable to remove old cache." +msgstr "Nie je možné odstrániť starú vyrovnávaciu pamäť." + +#: src/as-pool.c:963 +msgid "Metadata files have errors:" +msgstr "Súbory s metaúdajmi obsahujú chyby:" + +#: src/as-pool.c:1370 msgid "" -"Create a template for a metainfo file (to be filled out by the upstream " -"project)." +"Many components have been recognized as invalid. See debug output for " +"details." msgstr "" -"Vytvoriť šablónu pre metainfo súbor (pre vyplnenie v upstream projektu)." +"Mnohé súčasti boli uznané ako neplatné. Pozri debug výstup pre detaily." -#: tools/ascli-actions-misc.c:228 +#: src/as-pool.c:1996 #, c-format -msgid "Creating new desktop-entry file '%s' using data from '%s'" +msgid "Cache location '%s' is not writable." +msgstr "Umiestnenie vyrovnávacej pamäte „%s“ nie je zapisovateľné." + +#: src/as-pool.c:2109 +#, fuzzy +msgid "" +"The AppStream system cache was updated, but some components were ignored. " +"Refer to the verbose log for more information." msgstr "" +"Vyrovnávacia pamäť systému AppStream bola aktualizovaná, ale boli zistené " +"niektoré chyby, čo môže viesť k chýbajúcim metaúdajom. Podrobnejšie " +"informácie nájdete v podrobnejšom zázname udalostí." -#: src/as-provided.c:160 -msgid "D-Bus Session Services" -msgstr "Služby relácie DBus" +#: src/as-pool.c:2111 +#, fuzzy, c-format +msgid "" +"The AppStream system cache was updated, but problems were found which " +"resulted in metadata being ignored: %s" +msgstr "" +"Systémová vyrovnávacia pamäť AppStream bola aktualizovaná, ale boli zistené " +"problémy: %s" -#: src/as-provided.c:158 -msgid "D-Bus System Services" -msgstr "Služby relácie systému DBus" +#: src/as-pool.c:2125 +#, c-format +msgid "" +"AppStream system cache refresh failed. Turn on verbose mode to get detailed " +"issue information." +msgstr "" +"Obnovenie AppStream vyrovnávacej pamäte zlyhalo. Ak chcete získať podrobné " +"informácie, zapnite podrobný režim." -#: src/as-category.c:195 -msgctxt "Category of Office" -msgid "Database" -msgstr "Databáza" +#: src/as-provided.c:144 +msgid "Libraries" +msgstr "Knižnice" -#: src/as-category.c:86 -msgctxt "Category of Development" -msgid "Debuggers" -msgstr "Ladiace nástroje" +#: src/as-provided.c:146 +msgid "Binaries" +msgstr "Spustiteľné súbory" -#: tools/ascli-utils.c:353 -msgid "Default Screenshot URL" -msgstr "URL predvolenej snímky obrazovky" +#: src/as-provided.c:148 +msgid "Media types" +msgstr "Typy médií" -#. TRANSLATORS: ascli flag description for: --format -#: tools/appstream-cli.c:83 -msgid "Default metadata format (valid values are 'xml' and 'yaml')." -msgstr "Predvolený metaúdajoví formát (platné hodnoty sú „xml“ a „yaml“)." +#: src/as-provided.c:150 +msgid "Fonts" +msgstr "Písma" -#: tools/ascli-utils.c:333 -msgid "Description" -msgstr "Popis" +#: src/as-provided.c:152 +msgid "Modaliases" +msgstr "Alternatívne názvy modulov" -#. developer name -#: tools/ascli-utils.c:321 -msgid "Developer" -msgstr "Vývojár" +#: src/as-provided.c:154 +msgid "Python (Version 2)" +msgstr "Python (verzia 2)" -#. TRANSLATORS: this is the menu spec main category for Development -#: src/as-category.c:305 -msgid "Developer Tools" -msgstr "Nástroje pre vývojárov" +#: src/as-provided.c:156 +msgid "Python 3" +msgstr "Python 3" -#: tools/appstream-cli.c:862 -msgid "Display status information about available AppStream metadata." -msgstr "Zobraziť stavové informácie o dostupných AppStream metaúdajoch." +#: src/as-provided.c:158 +msgid "D-Bus System Services" +msgstr "Služby relácie systému DBus" -#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions -#: tools/ascli-actions-misc.c:52 -msgid "Distribution metadata:" -msgstr "Metaúdaje distribúcie:" +#: src/as-provided.c:160 +msgid "D-Bus Session Services" +msgstr "Služby relácie DBus" -#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) -#: tools/appstream-cli.c:126 -msgid "Do not use network access." -msgstr "Nepoužívať sieť." +#: src/as-provided.c:162 +msgid "Runtime Firmware" +msgstr "Dočasne nahrávaný firmware" -#. TRANSLATORS: ascli flag description for: --no-color -#: tools/appstream-cli.c:908 -msgid "Don't show colored output." -msgstr "Nezobrazovať farebný výstup." +#: src/as-provided.c:164 +msgid "Flashed Firmware" +msgstr "Nainštalovaný firmvér" -#: tools/appstream-cli.c:853 -msgid "Dump raw XML metadata for a component matching the ID." -msgstr "Vypísať surové XML metaúdaje súčasti s týmto identifikátorom." +#: src/as-provided.c:166 +msgid "Component" +msgstr "Súčasť" -#. TRANSLATORS: this is the menu spec main category for Education -#: src/as-category.c:308 -msgid "Education" -msgstr "Výuka" +#: src/as-validator-issue-tag.h:41 +msgid "This tag requires a type property." +msgstr "" -#. TRANSLATORS: No metainfo files have been found -#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 -msgid "Empty." -msgstr "Prázdne." +#: src/as-validator-issue-tag.h:46 +msgid "Tags of this name are not permitted in this section." +msgstr "" -#: src/as-category.c:141 -msgctxt "Category of Games" -msgid "Emulators" -msgstr "Emulátory" +#: src/as-validator-issue-tag.h:51 +msgid "" +"A tag must not be localized in metainfo files (upstream " +"metadata). Localize the individual paragraphs instead." +msgstr "" +" Označenie nesmie byť lokalizované v súboroch metainfo " +"(upstream metadata). Radšej lokalizujte odstavce samostatne." + +#: src/as-validator-issue-tag.h:57 +msgid "" +"This element (paragraph, list, etc.) of a tag must not be " +"localized individually in collection metadata. Localize the whole " +" tag instead. The AppStream collection metadata generator (e." +"g. `appstream-generator`) will already do the right thing when compiling the " +"data." +msgstr "" + +#: src/as-validator-issue-tag.h:63 +msgid "" +"AppStream descriptions support only a limited set of tags to format text: " +"Paragraphs (

                                                                                                                                                                                                                                                                                                                                                ) and lists (

                                                                                                                                                                                                                                                                                                                                                  ,
                                                                                                                                                                                                                                                                                                                                                    ). This description markup contains " +"an invalid XML tag that would not be rendered correctly in applications " +"supporting the metainfo specification." +msgstr "" +"Popisy AppStream podporujú iba obmedzené množstvo tagov na formátovanie " +"textu: Odstavce (

                                                                                                                                                                                                                                                                                                                                                    ) a zoznamy (

                                                                                                                                                                                                                                                                                                                                                      ,
                                                                                                                                                                                                                                                                                                                                                        ). Tento popisný markup " +"obsahuje neplatný XML tag, ktorý by nebol správne vyrenderovaný v " +"aplikáciách podporujúcich špecifikáciu metainfo." -#. TRANSLATORS: ascli flag description for: --force -#: tools/appstream-cli.c:245 -msgid "Enforce a cache refresh." -msgstr "Vynútiť aktualizáciu vyrovnávacej pamäte." +#: src/as-validator-issue-tag.h:69 +msgid "" +"This description paragraph contains invalid markup. Currently, only " +"and are permitted." +msgstr "" #: src/as-validator-issue-tag.h:74 msgid "Enumerations must only have list items (
                                                                                                                                                                                                                                                                                                                                                      1. ) as children." msgstr "" -#: tools/ascli-actions-misc.c:159 -#, c-format -msgid "Error while loading the metadata pool: %s" -msgstr "Chyba pri načítaní fondu metaúdajov: %s" - -#: tools/ascli-utils.c:327 -msgid "Extends" -msgstr "Rozširuje" - -#: src/as-category.c:65 -msgctxt "Category of AudioVideo" -msgid "Featured" -msgstr "Zaujímavé" +#: src/as-validator-issue-tag.h:79 +msgid "" +"The first `description/p` paragraph of this component might be too short (< " +"80 characters). Please consider starting with a longer paragraph to improve " +"how the description looks like in software centers and to provide more " +"detailed information on this component immediately in the first paragraph." +msgstr "" -#: src/as-category.c:256 -msgctxt "Category of Communication" -msgid "Featured" -msgstr "Zaujímavé" +#: src/as-validator-issue-tag.h:86 +msgid "" +"The description contains a web URL in plain text. This is not allowed, " +"please use the tag instead to share links." +msgstr "" -#: src/as-category.c:83 -msgctxt "Category of Development" -msgid "Featured" -msgstr "Zaujímavé" +#: src/as-validator-issue-tag.h:91 +msgid "" +"As per AppStream specification, the mentioned tag must only appear once in " +"this context. Having multiple tags of this kind is not valid." +msgstr "" +"Podľa AppStream špecifikácie sa musí spomenutý tag objaviť v tomto kontexte " +"iba raz. Nie je opodstatnené mať viacero tagov tohto druhu." -#: src/as-category.c:98 -msgctxt "Category of Education" -msgid "Featured" -msgstr "Zaujímavé" +#: src/as-validator-issue-tag.h:96 +msgid "" +"The mentioned tag is empty, which is highly likely not intended as it should " +"have content." +msgstr "" -#: src/as-category.c:120 -msgctxt "Category of Games" -msgid "Featured" -msgstr "Zaujímavé" +#: src/as-validator-issue-tag.h:101 +msgid "" +"The component ID is required to follow a reverse domain-name scheme for its " +"name. See the AppStream specification for details." +msgstr "" -#: src/as-category.c:165 -msgctxt "Category of Graphics" -msgid "Featured" -msgstr "Zaujímavé" +#: src/as-validator-issue-tag.h:106 +msgid "" +"The component ID is not a reverse domain-name. Please update the ID to avoid " +"future issues and be compatible with all AppStream implementations.\n" +"You may also consider to update the name of the accompanying .desktop file " +"to follow the latest version of the Desktop-Entry specification and use a " +"rDNS name for it as well. In any case, do not forget to mention the new " +"desktop-entry in a tag for this component to keep the " +"application launchable from software centers and the .desktop file data " +"associated with the metainfo data." +msgstr "" -#: src/as-category.c:188 -msgctxt "Category of Office" -msgid "Featured" -msgstr "Zaujímavé" +#: src/as-validator-issue-tag.h:114 +msgid "" +"The component ID might not follow the reverse domain-name schema (the TLD " +"used by it is not known to the validator)." +msgstr "" -#: src/as-category.c:231 -msgctxt "Category of Science" -msgid "Featured" -msgstr "Zaujímavé" +#: src/as-validator-issue-tag.h:119 +msgid "" +"The component ID contains an invalid character. Only ASCII characters, dots " +"and numbers are permitted." +msgstr "" -#: src/as-category.c:278 -msgctxt "Category of Utility" -msgid "Featured" -msgstr "Zaujímavé" +#: src/as-validator-issue-tag.h:124 +msgid "" +"The component ID contains a hyphen/minus. Using a hyphen is strongly " +"discouraged, to improve interoperability with other tools such as D-Bus. A " +"good option is to replace any hyphens with underscores (`_`)." +msgstr "" -#: tools/ascli-actions-validate.c:171 tools/ascli-actions-validate.c:349 -#, fuzzy, c-format -msgid "File '%s' does not exist." -msgstr "Súbor s metaúdajmi „%s“ neexistuje." +#: src/as-validator-issue-tag.h:130 +msgid "" +"The component ID contains a segment starting with a number. Starting a " +"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " +"interoperability with other tools such as D-Bus. Ideally, prefix these " +"segments with an underscore." +msgstr "" -#: src/as-category.c:287 -msgctxt "Category of Utility" -msgid "File System" -msgstr "Súborový systém" +#: src/as-validator-issue-tag.h:136 +msgid "The component ID should only contain lowercase letters." +msgstr "" -#: src/as-category.c:198 -msgctxt "Category of Office" -msgid "Finance" -msgstr "Financie" +#: src/as-validator-issue-tag.h:141 +msgid "" +"The component is part of the Freedesktop project, but its ID does not start " +"with fd.o's reverse-DNS name (\"org.freedesktop\")." +msgstr "" -#: src/as-provided.c:164 -msgid "Flashed Firmware" -msgstr "Nainštalovaný firmvér" +#: src/as-validator-issue-tag.h:146 +msgid "" +"The component is part of the KDE project, but its ID does not start with " +"KDEs reverse-DNS name (\"org.kde\")." +msgstr "" -#: src/as-provided.c:150 -msgid "Fonts" -msgstr "Písma" +#: src/as-validator-issue-tag.h:151 +msgid "" +"The component is part of the GNOME project, but its ID does not start with " +"GNOMEs reverse-DNS name (\"org.gnome\")." +msgstr "" -#: src/as-category.c:211 -msgctxt "Category of Addons" -msgid "Fonts" -msgstr "Písma" +#: src/as-validator-issue-tag.h:156 +msgid "The SPDX license expression is invalid and could not be parsed." +msgstr "" -#: src/as-validator-issue-tag.h:237 +#: src/as-validator-issue-tag.h:161 msgid "" -"For videos, only the WebM and Matroska (.mkv) container formats are " -"currently supported. The file extension of the referenced video does not " -"belong to either of these formats." +"The license ID was not found in the SPDX database. Please check that the " +"license ID is written in an SPDX-conformant way and is a valid free software " +"license." msgstr "" -#. TRANSLATORS: ascli flag description for: --format when validating XML files -#: tools/appstream-cli.c:131 -#, fuzzy -msgid "Format of the generated report (valid values are 'text' and 'yaml')." -msgstr "Predvolený metaúdajoví formát (platné hodnoty sú „xml“ a „yaml“)." - -#. TRANSLATORS: Found metainfo files in legacy directories -#: tools/ascli-actions-misc.c:138 -#, c-format -msgid "Found %i components in legacy paths." -msgstr "Nájdené %i súčasti v umiestneniach, ako sa už nové nepoužívajú." +#: src/as-validator-issue-tag.h:167 +msgid "" +"The metadata itself seems to be licensed under a complex collection of " +"licenses. Please license the data under a simple permissive license, like " +"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " +"collections without the risk of license violations due to mutually " +"incompatible licenses." +msgstr "" -#: tools/ascli-actions-misc.c:123 -#, c-format -msgid "Found %i components." -msgstr "Nájdené %i súčastí." +#: src/as-validator-issue-tag.h:173 +msgid "" +"The metadata itself does not seem to be licensed under a permissive license. " +"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " +"0BSD to allow distributors to include it in mixed data collections without " +"the risk of license violations due to mutually incompatible licenses." +msgstr "" -#. TRANSLATORS: 'version' is an AppStream XML property. Please do not translate it. -#: src/as-validator-issue-tag.h:260 +#: src/as-validator-issue-tag.h:179 msgid "" -"Found 'version' property on required/recommended item of a type that should " -"not have or require a version." +"The update-contact does not appear to be a valid email address (escaping of " +"`@` is only allowed as `_at_` or `_AT_`)." msgstr "" -#. TRANSLATORS: 'version' and 'compare' are AppStream XML properties. Please do not translate them. -#: src/as-validator-issue-tag.h:266 +#: src/as-validator-issue-tag.h:184 msgid "" -"Found 'version' property on this required/recommended item, but not " -"'compare' property. It is recommended to explicitly define a comparison " -"operation." +"Unable to reach the screenshot image on its remote location - does the image " +"exist?" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:277 +#: src/as-validator-issue-tag.h:189 msgid "" -"Found a memory size dependency in a 'requires' tag. This means users will " -"not be able to even install the component without having enough RAM. This is " -"usually not intended and you want to use 'memory' in the 'recommends' tag " -"instead." +"Unable to reach the screenshot video on its remote location - does the video " +"file exist?" msgstr "" -#: src/as-validator-issue-tag.h:248 +#: src/as-validator-issue-tag.h:194 msgid "" -"Found an unknown tag in a requires/recommends group. This is likely an " -"error, because a component relation of this type is unknown." +"Consider using a secure (HTTPS) URL to reference this screenshot image or " +"video." msgstr "" -#: src/as-validator-issue-tag.h:427 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:200 msgid "" -"Found invalid tag. Non-standard tags should be prefixed with 'x-'. AppStream " -"also provides the tag to add arbitrary custom data to metainfo " -"files. This tag is read by AppStream libraries and may be useful instead of " -"defining new custom toplevel or 'x-'-prefixed tags if you just want to add " -"custom data to a metainfo file." +"A screenshot must contain at least one image or video in order to be useful. " +"Please add an to it." msgstr "" +"Screenshot musí obsahovať aspoň jeden obrázok alebo video ak má byť " +"užitočný. Prosíme pridajte ." -#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. -#: src/as-validator.c:526 src/as-validator.c:939 src/as-validator.c:1024 -#: src/as-validator.c:1237 -#, c-format -msgid "Found: %s - Allowed: %s" +#: src/as-validator-issue-tag.h:205 +#, fuzzy +msgid "" +"A screenshot must contain either images or videos, but not both at the same " +"time. Please use this screenshot exclusively for either static images or for " +"videos." msgstr "" +"Screenshot musí obsahovať buď obrázky alebo videá, nie ale obe naraz. Prosím " +"použi tento screenshot výhradne pre buď statické obrázky alebo videá." -#. TRANSLATORS: this is the menu spec main category for Game -#: src/as-category.c:311 -msgid "Games" -msgstr "Hry" +#: src/as-validator-issue-tag.h:211 +msgid "The screenshot does not have a caption text. Consider adding one." +msgstr "" -#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command -#: tools/appstream-cli.c:814 -msgid "Generate the output in the selected format ('yaml' or 'text')." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:217 +msgid "" +"The screenshot video does not specify which video codec was used in a " +"`codec` property." msgstr "" -#: tools/appstream-cli.c:849 -msgid "Get components which provide the given item." -msgstr "Získať komponenty, ktoré poskytujú zadanú položku." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:223 +msgid "" +"The screenshot video does not specify which container format was used in a " +"`container` property." +msgstr "" -#: tools/appstream-cli.c:848 -msgid "Get information about a component by its ID." -msgstr "Získať informácie o komponente podľa jeho identifikátora." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:229 +msgid "" +"The selected video codec is not supported by AppStream and software centers " +"may not be able to play the video. Only the AV1 and VP9 codecs are currently " +"supported, using `av1` and `vp9` as values for the `codec` property." +msgstr "" -#. TRANSLATORS: this is the menu spec main category for Graphics -#: src/as-category.c:314 -msgid "Graphics & Photography" -msgstr "Grafika a fotografie" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:236 +msgid "" +"The selected video container format is not supported by AppStream and " +"software centers may not be able to play the video. Only the WebM and " +"Matroska video containers are currently supported, using `webm` and `mkv` as " +"values for the `container` property." +msgstr "" -#: tools/ascli-utils.c:300 -msgid "Homepage" -msgstr "Domovská stránka" +#: src/as-validator-issue-tag.h:242 +msgid "" +"For videos, only the WebM and Matroska (.mkv) container formats are " +"currently supported. The file extension of the referenced video does not " +"belong to either of these formats." +msgstr "" -#: src/as-category.c:89 -msgctxt "Category of Development" -msgid "IDEs" -msgstr "Integrované vývojové prostredie" +#: src/as-validator-issue-tag.h:248 +msgid "" +"The default screenshot of a software component must not be a video. Use a " +"static image as default screenshot and set the video as a secondary " +"screenshot." +msgstr "" -#: tools/ascli-utils.c:301 -msgid "Icon" -msgstr "Ikona" +#: src/as-validator-issue-tag.h:253 +msgid "" +"Found an unknown tag in a requires/recommends group. This is likely an " +"error, because a component relation of this type is unknown." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:351 -msgid "Icons of type 'remote' must contain an URL to the referenced icon." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:259 +msgid "" +"A `requires` or `recommends` item requires a value to denote a valid " +"relation." msgstr "" +"`requires` alebo `recommends` položka si vyžaduje hodnotu na indikovanie " +"platnej súvislosti." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:344 +#. TRANSLATORS: `version` is an AppStream XML property. Please do not translate it. +#: src/as-validator-issue-tag.h:265 msgid "" -"Icons of type 'stock' or 'cached' must not contain an URL, a full or an " -"relative path to the icon. Only file basenames or stock names are allowed." +"Found `version` property on required/recommended item of a type that should " +"not have or require a version." msgstr "" -#: tools/ascli-actions-misc.c:94 -msgid "Iconsets" -msgstr "Sady ikôn" - -#: tools/ascli-utils.c:295 -msgid "Identifier" -msgstr "Identifikátor" - -#: src/as-category.c:217 -msgctxt "Category of Addons" -msgid "Input Sources" -msgstr "Vstupné zdroje" +#. TRANSLATORS: `version` and `compare` are AppStream XML properties. Please do not translate them. +#: src/as-validator-issue-tag.h:271 +msgid "" +"Found `version` property on this required/recommended item, but not " +"`compare` property. It is recommended to explicitly define a comparison " +"operation." +msgstr "" -#: tools/appstream-cli.c:863 -msgid "Install a metadata file into the right location." -msgstr "Nainštalovať súbor s metaúdajmi na správne miesto." +#: src/as-validator-issue-tag.h:276 +msgid "" +"Invalid comparison operation on relation item. Only eq/ne/lt/gt/le/ge are " +"permitted." +msgstr "" -#: tools/appstream-cli.c:859 -msgid "Install software matching the component-ID." -msgstr "Nainštalovať softvér zodpovedajúci identifikátoru súčasti." +#: src/as-validator-issue-tag.h:281 +msgid "" +"The relation item has a comparison operation set, but does not support any " +"comparisons." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:373 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:287 msgid "" -"Invalid 'type' property for this 'url' tag. URLs of this type are not known " -"in the AppStream specification." +"Found a memory size relation in a `requires` tag. This means users will not " +"be able to even install the component without having enough RAM. This is " +"usually not intended and you want to use `memory` in the `recommends` tag " +"instead." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:553 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:294 msgid "" -"Invalid tag found in collection metadata. Only 'component' tags are " -"permitted." +"Found a user input control relation in a `requires` tag. This means users " +"will not be able to even install the component without having the defined " +"input control available on the system. This is usually not intended and you " +"want to use `control` in the `recommends` tag instead." msgstr "" -#: tools/ascli-actions-mdata.c:213 -msgid "Invalid type for provided item selected. Valid values are:" -msgstr "Vybratý neplatný typ pre poskytnutú položku. Platné hodnoty sú:" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:301 +msgid "" +"This `control` item defines an unknown input method and is invalid. Check " +"the specification for a list of permitted values." +msgstr "" -#: src/as-validator-issue-tag.h:271 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:307 msgid "" -"Invalid version comparison operation on relation item. Only eq/ne/lt/gt/le/" -"ge are permitted." +"This `display_length` item contains an invalid display length. Its value " +"must either be a shorthand string, or positive integer value denoting " +"logical pixels. Please refer to the AppStream specification for more " +"information on this tag." msgstr "" -#: src/as-validator-issue-tag.h:450 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:314 msgid "" -"It is recommended to add a long description to this component to present it " -"better to users." +"This `side` property of this `display_length` item contains an invalid " +"value. It must either be `shortest` or `longest`, or unset to imply " +"`shortest` to make the item value refer to either the shortest or longest " +"side of the display." msgstr "" -#: src/as-validator-issue-tag.h:445 +#: src/as-validator-issue-tag.h:320 +#, fuzzy msgid "" -"It would be useful to add a long description to this font to present it " -"better to users." +"The set component type is not a recognized, valid AppStream component type." msgstr "" +"Typ „%s“ softvérovej súčasti nie je platný pre AppStream. Možné hodnoty sú:" -#: src/as-category.c:144 -msgctxt "Category of Games" -msgid "Kids" -msgstr "Detské" +#: src/as-validator-issue-tag.h:325 +msgid "" +"The component has a priority value set. This is not allowed in metainfo " +"files." +msgstr "" -#: src/as-category.c:220 -msgctxt "Category of Addons" -msgid "Language Packs" -msgstr "Jazykové balíky" +#: src/as-validator-issue-tag.h:330 +msgid "" +"The component has a `merge` method defined. This is not allowed in metainfo " +"files." +msgstr "" -#: src/as-category.c:107 -msgctxt "Category of Education" -msgid "Languages" -msgstr "Jazyky" +#: src/as-validator-issue-tag.h:335 +msgid "The component is missing an ID ( tag)." +msgstr "" -#: src/as-provided.c:144 -msgid "Libraries" -msgstr "Knižnice" +#: src/as-validator-issue-tag.h:340 +msgid "The component is missing a name ( tag)." +msgstr "" -#. license -#: tools/ascli-utils.c:363 -msgid "License" -msgstr "Licencia" +#: src/as-validator-issue-tag.h:345 +msgid "The component is missing a summary ( tag)." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:629 +#: src/as-validator-issue-tag.h:350 msgid "" -"Licenses for 'runtime' components are usually too complex to reflect them in " -"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " -"value for this component's 'project_license'. E.g. `LicenseRef-free=https://" -"example.com/licenses.html`" +"The tag still contains a `type` property, probably from an old " +"conversion to the recent metainfo format." msgstr "" -#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command -#: tools/appstream-cli.c:771 +#: src/as-validator-issue-tag.h:355 msgid "" -"Limit the number of release entries that end up in the metainfo file (0 for " -"unlimited)." +"The `pkgname` tag appears multiple times. You should evaluate creating a " +"metapackage containing the metainfo and .desktop files in order to avoid " +"defining multiple package names per component." msgstr "" -#: src/as-category.c:223 -msgctxt "Category of Addons" -msgid "Localization" -msgstr "Preklady" - -#: src/as-category.c:147 -msgctxt "Category of Games" -msgid "Logic" -msgstr "Logické" +#: src/as-validator-issue-tag.h:360 +msgid "The component name should (likely) not end with a dot (`.`)." +msgstr "" -#. TRANSLATORS: ascli flag description for: --no-cache -#: tools/appstream-cli.c:67 -msgid "Make request without any caching." -msgstr "Vytvárať požiadavky bez použitia vyrovnávacej pamäte." +#: src/as-validator-issue-tag.h:365 +msgid "The component summary should not end with a dot (`.`)." +msgstr "" -#. TRANSLATORS: ascli flag description for: --cachepath -#: tools/appstream-cli.c:57 -msgid "Manually selected location of AppStream cache." -msgstr "Ručne nastavené umiestnenie vyrovnávacej pamäte AppStream." +#: src/as-validator-issue-tag.h:370 +msgid "The component summary must not contain tabs or linebreaks." +msgstr "" -#. TRANSLATORS: ascli flag description for: --datapath -#: tools/appstream-cli.c:62 -msgid "Manually selected location of AppStream metadata to scan." +#: src/as-validator-issue-tag.h:375 +msgid "The summary must not contain any URL. Use the tags for links." msgstr "" -"Ručne nastavené umiestnenie metaúdajov AppStream na znovu vytvorenie " -"vyrovnávacej pamäte." -#: src/as-pool.c:1280 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:381 msgid "" -"Many components have been recognized as invalid. See debug output for " -"details." +"Icons of type `stock` or `cached` must not contain an URL, a full or an " +"relative path to the icon. Only file basenames or stock names are allowed." msgstr "" -"Mnohé súčasti boli uznané ako neplatné. Pozri debug výstup pre detaily." - -#: src/as-category.c:111 -msgctxt "Category of Education" -msgid "Math" -msgstr "Matematika" - -#: src/as-category.c:243 -msgctxt "Category of Science" -msgid "Math" -msgstr "Matematika" - -#: src/as-provided.c:148 -msgid "Media types" -msgstr "Typy médií" -#: tools/ascli-actions-mdata.c:364 -#, c-format -msgid "Metadata file '%s' does not exist." -msgstr "Súbor s metaúdajmi „%s“ neexistuje." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:388 +msgid "Icons of type `remote` must contain an URL to the referenced icon." +msgstr "" -#: src/as-pool.c:881 -msgid "Metadata files have errors:" -msgstr "Súbory s metaúdajmi obsahujú chyby:" +#: src/as-validator-issue-tag.h:393 +msgid "Unable to reach remote icon at the given web location - does it exist?" +msgstr "" -#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 -#: tools/ascli-actions-misc.c:515 -#, fuzzy, c-format -msgid "Metainfo file '%s' does not exist." -msgstr "Súbor s metaúdajmi „%s“ neexistuje." +#: src/as-validator-issue-tag.h:398 +msgid "Consider using a secure (HTTPS) URL for the remote icon link." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:367 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:404 msgid "" -"Metainfo files may only contain icons of type 'stock' or 'remote', the set " +"Metainfo files may only contain icons of type `stock` or `remote`, the set " "type is not allowed." msgstr "" -#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report -#: tools/ascli-actions-misc.c:116 -msgid "Metainfo files:" -msgstr "Súbory s metainfomáciami:" - -#: src/as-provided.c:152 -msgid "Modaliases" -msgstr "Alternatívne názvy modulov" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:410 +msgid "" +"Invalid `type` property for this `url` tag. URLs of this type are not known " +"in the AppStream specification." +msgstr "" -#: src/as-category.c:74 -msgctxt "Category of AudioVideo" -msgid "Music Players" -msgstr "Prehrávače hudby" +#: src/as-validator-issue-tag.h:415 +msgid "" +"Unable to reach remote location that this URL references - does it exist?" +msgstr "" -#: tools/ascli-utils.c:296 -msgid "Name" -msgstr "Názov" +#: src/as-validator-issue-tag.h:420 +msgid "Consider using a secure (HTTPS) URL for this web link." +msgstr "" -#: src/as-category.c:266 -msgctxt "Category of Communication" -msgid "News" -msgstr "Novinky" +#: src/as-validator-issue-tag.h:425 +msgid "A web URL was expected for this value." +msgstr "" -#: src/as-validator-issue-tag.h:589 -msgid "No AppStream metadata was found in this directory or directory tree." +#: src/as-validator-issue-tag.h:430 +msgid "" +"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." msgstr "" -#. pedantic because not everything which has metadata is an application -#: src/as-validator-issue-tag.h:594 -msgid "No XDG applications directory found." +#: src/as-validator-issue-tag.h:435 +msgid "The can not contain a hyperlink." msgstr "" -#: tools/ascli-actions-mdata.c:182 -#, c-format -msgid "No component matching '%s' found." -msgstr "Nebola nájdená súčasť zodpovedajúca „%s“." +#: src/as-validator-issue-tag.h:440 +msgid "" +"The set value is not an identifier for a desktop environment as registered " +"with Freedesktop.org." +msgstr "" -#: tools/ascli-actions-misc.c:105 -msgid "No icons." -msgstr "Žiadne ikony." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:446 +msgid "This `launchable` tag has an unknown type and can not be used." +msgstr "" -#: tools/ascli-actions-misc.c:402 -msgid "No output filename specified, modifying metainfo file directly." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:452 +msgid "This `bundle` tag has an unknown type and can not be used." msgstr "" -#: tools/ascli-actions-misc.c:306 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:458 msgid "" -"No provided binary specified in metainfo file, and no exec command specified " -"via '--exec'. Can not create 'Exec=' key." +"The `update_contact` tag should not be included in collection AppStream XML." msgstr "" -#: tools/ascli-actions-misc.c:284 -msgid "No stock icon name was provided in the metainfo file. Can not continue." +#: src/as-validator-issue-tag.h:463 +msgid "" +"This tag is a GNOME-specific extension to AppStream and not part of the " +"official specification. Do not expect it to work in all implementations and " +"in all software centers." msgstr "" -#: tools/ascli-actions-pkgmgr.c:53 +#: src/as-validator-issue-tag.h:469 msgid "" -"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" -"\" (part of PackageKit) is available." +"Found invalid tag. Non-standard tags should be prefixed with `x-`. AppStream " +"also provides the tag to add arbitrary custom data to metainfo " +"files. This tag is read by AppStream libraries and may be useful instead of " +"defining new custom toplevel or `x-`-prefixed tags if you just want to add " +"custom data to a metainfo file." msgstr "" -"Nenašiel sa vhodný CLI správca balíkov. Prosím, uistite sa, že máte " -"dostupného napr. klienta „pkcon“ (je súčasťou nástroja PackageKit)." - -#: tools/ascli-actions-mdata.c:206 -msgid "No value for the item to search for was defined." -msgstr "Nebola definovaná hodnota položky, ktorá sa má hľadať." - -#. TRANSLATORS: this is the menu spec main category for Office -#: src/as-category.c:317 -msgid "Office" -msgstr "Kancelár" - -#. TRANSLATORS: An unknown option was passed to appstreamcli. -#: tools/appstream-cli.c:192 -#, c-format -msgid "Option '%s' is unknown." -msgstr "Príkaz „%s“ je neznámy." -#: tools/ascli-utils.c:298 -msgid "Package" -msgstr "Balík" - -#: src/as-category.c:171 -msgctxt "Category of Graphics" -msgid "Photography" -msgstr "Fotografie" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:477 +msgid "" +"The essential tag `metadata_license` is missing. A license for the metadata " +"itself always has to be defined." +msgstr "" -#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) -#: tools/appstream-cli.c:121 -#, fuzzy -msgid "Print detailed explanation for found issues." -msgstr "Vytlačiť podrobnosti o nájdených súčastiach." +#: src/as-validator-issue-tag.h:482 +msgid "" +"The component is missing a long description. Components of this type must " +"have a long description." +msgstr "" -#. TRANSLATORS: ascli flag description for: --details -#: tools/appstream-cli.c:98 -msgid "Print detailed output about found components." -msgstr "Vytlačiť podrobnosti o nájdených súčastiach." +#: src/as-validator-issue-tag.h:487 +msgid "" +"It would be useful to add a long description to this font to present it " +"better to users." +msgstr "" -#. project group -#: tools/ascli-utils.c:360 -msgid "Project Group" -msgstr "Skupina projektu" +#: src/as-validator-issue-tag.h:492 +msgid "" +"It is recommended to add a long description to this component to present it " +"better to users." +msgstr "" -#: tools/ascli-utils.c:405 -msgid "Provided Items" -msgstr "Poskytované položky" +#: src/as-validator-issue-tag.h:497 +msgid "" +"This generic component is missing a long description. It may be useful to " +"add one." +msgstr "" -#: src/as-provided.c:154 -msgid "Python (Version 2)" -msgstr "Python (verzia 2)" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:503 +msgid "" +"Type `console-application` component, but no information about binaries in " +"$PATH was provided via a `provides/binary` tag." +msgstr "" -#: src/as-provided.c:156 -msgid "Python 3" -msgstr "Python 3" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:509 +msgid "" +"This `web-application` component is missing a `launchable` tag of type `url`." +msgstr "" -#: tools/appstream-cli.c:854 -msgid "Rebuild the component metadata cache." -msgstr "Znovu vytvoriť súčasť vyrovnávacej pamäti metaúdajov." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:515 +msgid "" +"This `web-application` component is missing a `icon` tag to specify a valid " +"icon." +msgstr "" -#: tools/appstream-cli.c:860 -msgid "Remove software matching the component-ID." -msgstr "Odobrať softvér zodpovedajúci identifikátora súčasti." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:521 +msgid "" +"This `web-application` component is missing categorizations. A `categories` " +"block is likely missing." +msgstr "" -#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty -#: src/as-validator.c:364 -msgid "Retrieved file size was zero." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:527 +msgid "" +"Type `font` component, but no font information was provided via a `provides/" +"font` tag." msgstr "" -#: src/as-category.c:248 -msgctxt "Category of Science" -msgid "Robotics" -msgstr "Robotika" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:533 +msgid "" +"Type `driver` component, but no modalias information was provided via a " +"`provides/modalias` tag." +msgstr "" -#: src/as-category.c:150 -msgctxt "Category of Games" -msgid "Role Playing" -msgstr "RPG" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:539 +msgid "" +"An `extends` tag is specified, but the component is not of type `addon`, " +"`localization` or `repository`." +msgstr "" +"`extends` označenie je špecifikované, ale komponent nie je `addon`, " +"`localization` alebo `repository`." -#: tools/appstream-cli.c:196 tools/appstream-cli.c:926 -#, c-format -msgid "Run '%s --help' to see a full list of available command line options." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:545 +msgid "The component is an addon, but no `extends` tag was specified." msgstr "" -"Spustením „%s --help“ zobrazíte úplný zoznam dostupných volieb príkazového " -"riadka." -#: tools/appstream-cli.c:198 -#, c-format +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:551 msgid "" -"Run '%s --help' to see a list of available commands and options, and '%s %s " -"--help' to see a list of options specific for this subcommand." +"This `localization` component is missing an `extends` tag, to specify the " +"components it adds localization to." msgstr "" -"Spustením „%s --help“ zobrazíte úplný zoznam dostupných volieb príkazového " -"riadka a možností, a „%s %s --help“ tých pre konkrétny rozdieloví príkaz." -#: src/as-provided.c:162 -msgid "Runtime Firmware" -msgstr "Dočasne nahrávaný firmware" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:557 +msgid "" +"This `localization` component does not define any languages this " +"localization is for." +msgstr "" -#: src/as-category.c:174 -msgctxt "Category of Graphics" -msgid "Scanning" -msgstr "Skenovanie" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:563 +msgid "" +"This `service` component is missing a `launchable` tag of type `service`." +msgstr "" -#. TRANSLATORS: this is the menu spec main category for Science -#: src/as-category.c:323 -msgid "Science" -msgstr "Veda" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:569 +msgid "" +"Suggestions of any type other than `upstream` are not allowed in metainfo " +"files." +msgstr "" -#: tools/appstream-cli.c:847 -msgid "Search the component database." -msgstr "Prehľadať databázu komponentov." +#: src/as-validator-issue-tag.h:574 +msgid "" +"The category name is not valid. Refer to the XDG Menu Specification for a " +"list of valid category names." +msgstr "" -#: src/as-category.c:293 -msgctxt "Category of Utility" -msgid "Security" -msgstr "Zabezpečenie" +#: src/as-validator-issue-tag.h:579 +msgid "The screenshot caption is too long (should be <= 80 characters)" +msgstr "" -#. TRANSLATORS: ascli flag description for: --verbose -#: tools/appstream-cli.c:903 -msgid "Show extra debugging information." -msgstr "Zobrazovať doplňujúce informácie pre ladenie." +#: src/as-validator-issue-tag.h:584 +#, fuzzy +msgid "Unable to read file." +msgstr "Nie je možné odstrániť starú vyrovnávaciu pamäť." -#. TRANSLATORS: ascli flag description for: --version -#: tools/appstream-cli.c:897 -msgid "Show the program version." -msgstr "Zobraziť verziu programu." +#: src/as-validator-issue-tag.h:589 +msgid "The XML of this file is malformed." +msgstr "" -#: src/as-validator-issue-tag.h:635 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:595 msgid "" -"Since a 'runtime' component is comprised of multiple other software " -"components, their component-IDs may be listed in a `` section for " -"this runtime." +"Invalid tag found in collection metadata. Only `component` tags are " +"permitted." msgstr "" -#: src/as-category.c:153 -msgctxt "Category of Games" -msgid "Sports" -msgstr "Športy" - -#: src/as-category.c:157 -msgctxt "Category of Games" -msgid "Strategy" -msgstr "Stratégie" - -#. these are commands we can use with appstreamcli -#: tools/appstream-cli.c:845 -msgid "Subcommands:" -msgstr "Čiastkové príkazy:" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:601 +msgid "" +"The metainfo file uses an ancient version of the AppStream specification, " +"which can not be validated. Please migrate it to version 0.6 (or higher)." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:527 +#: src/as-validator-issue-tag.h:606 msgid "" -"Suggestions of any type other than 'upstream' are not allowed in metainfo " -"files." +"This XML document has an unknown root tag. Maybe this file is not a metainfo " +"document?" msgstr "" -#: tools/ascli-utils.c:297 -msgid "Summary" -msgstr "Zhrnutie" +#: src/as-validator-issue-tag.h:611 +#, fuzzy +msgid "The metainfo filename does not match the component ID." +msgstr "Odobrať softvér zodpovedajúci identifikátora súčasti." -#. TRANSLATORS: Status summary in ascli -#: tools/ascli-actions-misc.c:145 -msgid "Summary:" -msgstr "Zhrnutie:" +#: src/as-validator-issue-tag.h:616 +#, fuzzy +msgid "Unable to read the .desktop file associated with this component." +msgstr "Nepodarilo sa načítať .desktop súbor: %s" -#: src/as-category.c:290 -msgctxt "Category of Utility" -msgid "System Monitoring" -msgstr "Monitorovanie systému" +#: src/as-validator-issue-tag.h:621 +msgid "This component metadata refers to a non-existing .desktop file." +msgstr "" -#: src/as-validator-issue-tag.h:46 -msgid "Tags of this name are not permitted in this section." +#: src/as-validator-issue-tag.h:626 +msgid "" +"The category defined in the .desktop file is not valid. Refer to the XDG " +"Menu Specification for a list of valid categories." msgstr "" -#: src/as-category.c:284 -msgctxt "Category of Utility" -msgid "Terminal Emulators" -msgstr "Emulátory terminálu" +#: src/as-validator-issue-tag.h:631 +msgid "No AppStream metadata was found in this directory or directory tree." +msgstr "" -#: src/as-category.c:281 -msgctxt "Category of Utility" -msgid "Text Editors" -msgstr "Textové editory" +#. pedantic because not everything which has metadata is an application +#: src/as-validator-issue-tag.h:636 +msgid "No XDG applications directory found." +msgstr "" -#: src/as-validator-issue-tag.h:318 +#: src/as-validator-issue-tag.h:641 msgid "" -"The 'pkgname' tag appears multiple times. You should evaluate creating a " -"metapackage containing the metainfo and .desktop files in order to avoid " -"defining multiple package names per component." +"The metainfo file is stored in a legacy path. Please place it in `/usr/share/" +"metainfo/`." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:416 +#: src/as-validator-issue-tag.h:646 +msgid "The metainfo file specifies multiple components. This is not allowed." +msgstr "" + +#: src/as-validator-issue-tag.h:651 msgid "" -"The 'update_contact' tag should not be included in collection AppStream XML." +"The releases are not sorted in a latest to oldest version order. This is " +"required as some tools will assume that the latest version is always at the " +"top. Sorting releases also increases overall readability of the metainfo " +"file." msgstr "" -#: tools/ascli-actions-mdata.c:467 -#, c-format -msgid "The .desktop file '%s' does not exist." -msgstr "Súbor .desktop pre „%s“ neexistuje." +#: src/as-validator-issue-tag.h:658 +msgid "The value set as release urgency is not a known urgency value." +msgstr "" -#: src/as-validator-issue-tag.h:393 -msgid "The can not contain a hyperlink." +#: src/as-validator-issue-tag.h:663 +msgid "The value set as release type is invalid." msgstr "" -#: src/as-validator-issue-tag.h:313 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:669 msgid "" -"The tag still contains a 'type' property, probably from an old " -"conversion to the recent metainfo format." +"The value set as artifact type is invalid. Must be either `source` or " +"`binary`." msgstr "" -#: src/as-validator-issue-tag.h:616 -msgid "" -"The AppStream specification requires a complete, ISO 8601 date string with " -"at least day-granularity to denote dates. Please ensure the date string is " -"valid." +#: src/as-validator-issue-tag.h:674 +msgid "The value set as artifact bundle type is invalid." msgstr "" -#: src/as-pool.c:1924 -#, fuzzy, c-format +#: src/as-validator-issue-tag.h:679 msgid "" -"The AppStream system cache was updated, but problems were found which " -"resulted in metadata being ignored: %s" +"The platform triplet for this release is invalid. It must be in the form of " +"`architecture-oskernel-osenv` - refer to the AppStream documentation or " +"information on normalized GNU triplets for more information and valid fields." msgstr "" -"Systémová vyrovnávacia pamäť AppStream bola aktualizovaná, ale boli zistené " -"problémy: %s" -#: src/as-pool.c:1922 -#, fuzzy -msgid "" -"The AppStream system cache was updated, but some components were ignored. " -"Refer to the verbose log for more information." +#: src/as-validator-issue-tag.h:686 +msgid "The selected checksumming algorithm is unsupported or unknown." msgstr "" -"Vyrovnávacia pamäť systému AppStream bola aktualizovaná, ale boli zistené " -"niektoré chyby, čo môže viesť k chýbajúcim metaúdajom. Podrobnejšie " -"informácie nájdete v podrobnejšom zázname udalostí." -#: src/as-validator-issue-tag.h:151 -msgid "The SPDX license expression is invalid and could not be parsed." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:692 +msgid "The size type is unknown. Must be `download` or `installed`." msgstr "" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows -#: tools/appstream-cli.c:683 -#, c-format -msgid "The TYPE must be a valid component-type, such as: %s" +#: src/as-validator-issue-tag.h:697 +msgid "" +"The artifact filename must be a file basename, not a (relative or absolute) " +"path." msgstr "" -"Je potrebné, aby TYPE (typ) bol platný typ komponentu, ako napríklad: %s" -#: src/as-validator-issue-tag.h:547 -msgid "The XML of this file is malformed." +#: src/as-validator-issue-tag.h:702 +msgid "The value set as release issue type is invalid." msgstr "" -#: src/as-validator-issue-tag.h:584 +#: src/as-validator-issue-tag.h:707 msgid "" -"The category defined in the .desktop file is not valid. Refer to the XDG " -"Menu Specification for a list of valid categories." +"The issue is tagged at security vulnerability with a CVE number, but its " +"value does not look like a valid CVE identifier." msgstr "" -#: src/as-validator-issue-tag.h:532 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:713 msgid "" -"The category name is not valid. Refer to the XDG Menu Specification for a " -"list of valid category names." +"This component is missing information about releases. Consider adding a " +"`releases` tag to describe releases and their changes." msgstr "" -#: src/as-validator-issue-tag.h:124 +#: src/as-validator-issue-tag.h:718 msgid "" -"The component ID contains a hyphen/minus. Using a hyphen is strongly " -"discouraged, to improve interoperability with other tools such as D-Bus. A " -"good option is to replace any hyphens with underscores ('_')." +"The AppStream specification requires a complete, ISO 8601 date string with " +"at least day-granularity to denote dates. Please ensure the date string is " +"valid." msgstr "" -#: src/as-validator-issue-tag.h:130 +#: src/as-validator-issue-tag.h:724 msgid "" -"The component ID contains a segment starting with a number. Starting a " -"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " -"interoperability with other tools such as D-Bus. Ideally, prefix these " -"segments with an underscore." +"This component extends, provides, requires or recommends itself, which is " +"certainly not intended and may confuse users or machines dealing with this " +"metadata." msgstr "" -#: src/as-validator-issue-tag.h:119 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:731 msgid "" -"The component ID contains an invalid character. Only ASCII characters, dots " -"and numbers are permitted." +"Licenses for `runtime` components are usually too complex to reflect them in " +"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " +"value for this component's `project_license`. E.g. `LicenseRef-free=https://" +"example.com/licenses.html`" msgstr "" -#: src/as-validator-issue-tag.h:106 +#: src/as-validator-issue-tag.h:737 msgid "" -"The component ID is not a reverse domain-name. Please update the ID to avoid " -"future issues and be compatible with all AppStream implementations.\n" -"You may also consider to update the name of the accompanying .desktop file " -"to follow the latest version of the Desktop-Entry specification and use a " -"rDNS name for it as well. In any case, do not forget to mention the new " -"desktop-entry in a tag for this component to keep the " -"application launchable from software centers and the .desktop file data " -"associated with the metainfo data." +"Since a `runtime` component is comprised of multiple other software " +"components, their component-IDs may be listed in a `` section for " +"this runtime." msgstr "" -#: src/as-validator-issue-tag.h:101 +#: src/as-validator-issue-tag.h:742 msgid "" -"The component ID is required to follow a reverse domain-name scheme for its " -"name. See the AppStream specification for details." +"The type of the item that the component provides is not known to AppStream." msgstr "" -#: src/as-validator-issue-tag.h:114 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:748 msgid "" -"The component ID might not follow the reverse domain-name schema (the TLD " -"used by it is not known to the validator)." +"The toplevel `mimetypes` tag is deprecated. Please use `mediatype` tags in a " +"`provides` block instead to indicate that your software provides a media " +"handler for the given types." msgstr "" -#: src/as-validator-issue-tag.h:293 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks) and keep the URL intact. +#: src/as-validator-issue-tag.h:755 msgid "" -"The component has a 'merge' method defined. This is not allowed in metainfo " -"files." +"This component has no `content_rating` tag to provide age rating " +"information. You can generate the tag data online by answering a few " +"questions at https://hughsie.github.io/oars/" msgstr "" -#: src/as-validator-issue-tag.h:288 +#: src/as-validator.c:150 msgid "" -"The component has a priority value set. This is not allowed in metainfo " -"files." +"The emitted issue tag is unknown in the tag registry of AppStream. This is a " +"bug in the validator itself, please report this issue in our bugtracker." +msgstr "" + +#: src/as-validator.c:344 +msgid "URL format is invalid." +msgstr "" + +#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. +#: src/as-validator.c:522 src/as-validator.c:937 src/as-validator.c:1031 +#: src/as-validator.c:1428 src/as-validator.c:1448 src/as-validator.c:1481 +#, c-format +msgid "Found: %s - Allowed: %s" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --verbose +#: tools/appstream-compose.c:181 +#, fuzzy +msgid "Show extra debugging information" +msgstr "Zobrazovať doplňujúce informácie pre ladenie." + +#. TRANSLATORS: ascompose flag description for: --no-color +#. TRANSLATORS: ascli flag description for: --no-color +#: tools/appstream-compose.c:184 tools/appstreamcli.c:1087 +msgid "Don't show colored output." +msgstr "Nezobrazovať farebný výstup." + +#. TRANSLATORS: ascompose flag description for: --version +#. TRANSLATORS: ascli flag description for: --version +#: tools/appstream-compose.c:187 tools/appstreamcli.c:1076 +msgid "Show the program version." +msgstr "Zobraziť verziu programu." + +#. TRANSLATORS: ascompose flag description for: --full-report +#: tools/appstream-compose.c:190 +msgid "Set mode of the issue report that is printed to the console" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --prefix +#: tools/appstream-compose.c:193 +msgid "Override the default prefix (`/usr` by default)" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --result-root +#: tools/appstream-compose.c:196 +msgid "Set the result output directory" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:503 -msgid "The component is an addon, but no 'extends' tag was specified." +#. TRANSLATORS: ascompose flag description for: --data-dir, `collection metadata` is an AppStream term +#: tools/appstream-compose.c:199 +msgid "Override the collection metadata output directory" msgstr "" -#: src/as-validator-issue-tag.h:440 +#. TRANSLATORS: ascompose flag description for: --icons-dir +#: tools/appstream-compose.c:202 +msgid "Override the icon output directory" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --media-dir +#: tools/appstream-compose.c:205 msgid "" -"The component is missing a long description. Components of this type must " -"have a long description." +"Set the media output directory (for media data to be served by a webserver)" msgstr "" -#: src/as-validator-issue-tag.h:303 -msgid "The component is missing a name ( tag)." +#. TRANSLATORS: ascompose flag description for: --hints-dir +#: tools/appstream-compose.c:208 +msgid "Set a directory where HTML and text issue reports will be stored" msgstr "" -#: src/as-validator-issue-tag.h:308 -msgid "The component is missing a summary ( tag)." +#. TRANSLATORS: ascompose flag description for: --origin +#. TRANSLATORS: ascompose flag description for: --media-baseurl +#: tools/appstream-compose.c:211 tools/appstream-compose.c:214 +msgid "Set the origin name" msgstr "" -#: src/as-validator-issue-tag.h:298 -msgid "The component is missing an ID ( tag)." +#. TRANSLATORS: ascompose flag description for: --components +#: tools/appstream-compose.c:217 +msgid "A comma-separated list of component-IDs to accept" msgstr "" -#: src/as-validator-issue-tag.h:136 -msgid "" -"The component is part of the Freedesktop project, but its ID does not start " -"with fd.o's reverse-DNS name (\"org.freedesktop\")." +#. TRANSLATORS: error message +#: tools/appstream-compose.c:231 +msgid "Failed to parse arguments" msgstr "" -#: src/as-validator-issue-tag.h:146 +#. TRANSLATORS: Output if appstreamcli --version is executed. +#: tools/appstream-compose.c:242 tools/appstreamcli.c:1230 +#, c-format +msgid "AppStream version: %s" +msgstr "Verzia nástroja AppStream CLI: %s" + +#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. +#: tools/appstream-compose.c:245 tools/appstreamcli.c:1233 +#, c-format msgid "" -"The component is part of the GNOME project, but its ID does not start with " -"GNOMEs reverse-DNS name (\"org.gnome\")." +"AppStream CLI tool version: %s\n" +"AppStream library version: %s" msgstr "" +"Verzia nástroja AppStream pre textové užívateľské rozhranie: %s\n" +"Verzia knižnice AppStream: %s" -#: src/as-validator-issue-tag.h:141 +#. TRANSLATORS: invalid value for the --print-report CLI option +#: tools/appstream-compose.c:264 +#, c-format msgid "" -"The component is part of the KDE project, but its ID does not start with " -"KDEs reverse-DNS name (\"org.kde\")." +"Invalid value for `--print-report` option: %s\n" +"Possible values are:\n" +"`on-error` - only prints a short report if the run failed (default)\n" +"`short` - generates an abridged report\n" +"`full` - a detailed report will be printed" msgstr "" -#: src/as-validator-issue-tag.h:323 -msgid "The component name should (likely) not end with a dot ('.')." +#: tools/appstream-compose.c:285 +#, c-format +msgid "Automatically selected '%s' as data output location." msgstr "" -#: src/as-validator-issue-tag.h:333 -msgid "The component summary must not contain tabs or linebreaks." +#. TRANSLATORS: we don't have a destination directory for compose +#: tools/appstream-compose.c:288 +msgid "No destination directory set, please provide a data output location!" msgstr "" -#: src/as-validator-issue-tag.h:328 -msgid "The component summary should not end with a dot ('.')." +#: tools/appstream-compose.c:298 tools/appstream-compose.c:300 +msgid "WARNING" msgstr "" -#: src/as-validator-issue-tag.h:243 -msgid "" -"The default screenshot of a software component must not be a video. Use a " -"static image as default screenshot and set the video as a secondary " -"screenshot." +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:337 +#, c-format +msgid "Only accepting components: %s" msgstr "" -#: src/as-validator-issue-tag.h:86 -msgid "" -"The description contains a web URL in plain text. This is not allowed, " -"please use the tag instead to share links." +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:340 +#, c-format +msgid "Only accepting component: %s" msgstr "" -#: src/as-validator.c:152 -msgid "" -"The emitted issue tag is unknown in the tag registry of AppStream. This is a " -"bug in the validator itself, please report this issue in our bugtracker." +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:345 +msgid "Processing directories:" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:435 -msgid "" -"The essential tag 'metadata_license' is missing. A license for the metadata " -"itself always has to be defined." +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:348 +msgid "Processing directory:" msgstr "" -#: src/as-validator-issue-tag.h:79 -msgid "" -"The first 'description/p' paragraph of this component might be too short (< " -"80 characters). Please consider starting with a longer paragraph to improve " -"how the description looks like in software centers and to provide more " -"detailed information on this component immediately in the first paragraph." +#. TRANSLATORS: error message +#: tools/appstream-compose.c:357 +msgid "Can not process invalid directory" msgstr "" -#: src/as-validator-issue-tag.h:156 -msgid "" -"The license ID was not found in the SPDX database. Please check that the " -"license ID is written in an SPDX-conformant way and is a valid free software " -"license." +#. TRANSLATORS: information message +#: tools/appstream-compose.c:369 +msgid "Composing metadata..." msgstr "" -#: src/as-validator-issue-tag.h:96 -msgid "" -"The mentioned tag is empty, which is highly likely not intended as it should " -"have content." +#. TRANSLATORS: error message +#: tools/appstream-compose.c:374 +#, fuzzy +msgid "Failed to compose AppStream metadata" +msgstr "Nástroj pre prácu s AppStream metadátami" + +#. TRANSLATORS: appstream-compose failed to include all data +#: tools/appstream-compose.c:380 +msgid "Run failed, some data was ignored." msgstr "" -#: src/as-validator-issue-tag.h:168 -msgid "" -"The metadata itself does not seem to be licensed under a permissive license. " -"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " -"0BSD to allow distributors to include it in mixed data collections without " -"the risk of license violations due to mutually incompatible licenses." +#. TRANSLATORS: information message of appstream-compose +#: tools/appstream-compose.c:382 +msgid "Errors were raised during this compose run:" msgstr "" -#: src/as-validator-issue-tag.h:162 +#: tools/appstream-compose.c:383 msgid "" -"The metadata itself seems to be licensed under a complex collection of " -"licenses. Please license the data under a simple permissive license, like " -"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " -"collections without the risk of license violations due to mutually " -"incompatible licenses." +"Refer to the generated issue report data for details on the individual " +"problems." msgstr "" -#: src/as-validator-issue-tag.h:599 -msgid "" -"The metainfo file is stored in a legacy path. Please place it in '/usr/share/" -"metainfo'." +#: tools/appstream-compose.c:386 +msgid "Overview of generated hints:" msgstr "" -#: src/as-validator-issue-tag.h:604 -msgid "The metainfo file specifies multiple components. This is not allowed." +#. TRANSLATORS: information message +#: tools/appstream-compose.c:388 +msgid "Success!" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:559 -msgid "" -"The metainfo file uses an ancient version of the AppStream specification, " -"which can not be validated. Please migrate it to version 0.6 (or higher)." +#. TRANSLATORS: ascli flag description for: --cachepath +#: tools/appstreamcli.c:59 +msgid "Manually selected location of AppStream cache." +msgstr "Ručne nastavené umiestnenie vyrovnávacej pamäte AppStream." + +#. TRANSLATORS: ascli flag description for: --datapath +#: tools/appstreamcli.c:64 +msgid "Manually selected location of AppStream metadata to scan." msgstr "" +"Ručne nastavené umiestnenie metaúdajov AppStream na znovu vytvorenie " +"vyrovnávacej pamäte." -#: src/as-validator-issue-tag.h:569 +#. TRANSLATORS: ascli flag description for: --no-cache +#: tools/appstreamcli.c:69 +msgid "Make request without any caching." +msgstr "Vytvárať požiadavky bez použitia vyrovnávacej pamäte." + +#. TRANSLATORS: ascli flag description for: --format +#: tools/appstreamcli.c:85 +msgid "Default metadata format (valid values are 'xml' and 'yaml')." +msgstr "Predvolený metaúdajoví formát (platné hodnoty sú „xml“ a „yaml“)." + +#. TRANSLATORS: ascli flag description for: --details +#: tools/appstreamcli.c:100 +msgid "Print detailed output about found components." +msgstr "Vytlačiť podrobnosti o nájdených súčastiach." + +#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) +#: tools/appstreamcli.c:118 +msgid "Also show pedantic hints." +msgstr "Pri overovaní ukazovať aj nájdené drobnosti." + +#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) +#: tools/appstreamcli.c:123 #, fuzzy -msgid "The metainfo filename does not match the component ID." -msgstr "Odobrať softvér zodpovedajúci identifikátora súčasti." +msgid "Print detailed explanation for found issues." +msgstr "Vytlačiť podrobnosti o nájdených súčastiach." -#: src/as-validator-issue-tag.h:609 -msgid "" -"The releases are not sorted in a latest to oldest version order. This is " -"required as some tools will assume that the latest version is always at the " -"top. Sorting releases also increases overall readability of the metainfo " -"file." -msgstr "" +#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) +#: tools/appstreamcli.c:128 +msgid "Do not use network access." +msgstr "Nepoužívať sieť." -#: src/as-validator-issue-tag.h:537 -msgid "The screenshot caption is too long (should be <= 80 characters)" -msgstr "" +#. TRANSLATORS: ascli flag description for: --format when validating XML files +#: tools/appstreamcli.c:133 +#, fuzzy +msgid "Format of the generated report (valid values are 'text' and 'yaml')." +msgstr "Predvolený metaúdajoví formát (platné hodnoty sú „xml“ a „yaml“)." -#: src/as-validator-issue-tag.h:206 -msgid "The screenshot does not have a caption text. Consider adding one." -msgstr "" +#. TRANSLATORS: This is the header to the --help menu for subcommands +#. TRANSLATORS: This is the header to the --help menu +#: tools/appstreamcli.c:153 tools/appstreamcli.c:981 +msgid "AppStream command-line interface" +msgstr "Rozhranie príkazového riadku AppStream" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:218 -msgid "" -"The screenshot video does not specify which container format was used in a " -"'container' property." +#: tools/appstreamcli.c:156 +#, c-format +msgid "'%s' command" +msgstr "Príkaz „%s“" + +#. TRANSLATORS: An unknown option was passed to appstreamcli. +#: tools/appstreamcli.c:191 +#, c-format +msgid "Option '%s' is unknown." +msgstr "Príkaz „%s“ je neznámy." + +#: tools/appstreamcli.c:195 tools/appstreamcli.c:1207 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options." msgstr "" +"Spustením „%s --help“ zobrazíte úplný zoznam dostupných volieb príkazového " +"riadka." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:212 +#: tools/appstreamcli.c:197 +#, c-format msgid "" -"The screenshot video does not specify which video codec was used in a " -"'codec' property." +"Run '%s --help' to see a list of available commands and options, and '%s %s " +"--help' to see a list of options specific for this subcommand." msgstr "" +"Spustením „%s --help“ zobrazíte úplný zoznam dostupných volieb príkazového " +"riadka a možností, a „%s %s --help“ tých pre konkrétny rozdieloví príkaz." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:224 -msgid "" -"The selected video codec is not supported by AppStream and software centers " -"may not be able to play the video. Only the AV1 and VP9 codecs are currently " -"supported, using 'av1' and 'vp9' as values for the 'codec' property." +#. TRANSLATORS: ascli flag description for: --force +#: tools/appstreamcli.c:245 +msgid "Enforce a cache refresh." +msgstr "Vynútiť aktualizáciu vyrovnávacej pamäte." + +#. TRANSLATORS: ascli flag description for: --user +#: tools/appstreamcli.c:251 +msgid "Update the user-specific instead of the system-wide cache." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:231 -msgid "" -"The selected video container format is not supported by AppStream and " -"software centers may not be able to play the video. Only the WebM and " -"Matroska video containers are currently supported, using 'webm' and 'mkv' as " -"values for the 'container' property." +#. TRANSLATORS: ascli flag description for: --origin (part of the "put" subcommand) +#: tools/appstreamcli.c:477 +msgid "Set the data origin for the installed metadata collection file." msgstr "" -#: src/as-validator-issue-tag.h:283 -#, fuzzy -msgid "" -"The set component type is not a recognized, valid AppStream component type." +#. TRANSLATORS: ascli flag description for: --user (part of the "put" subcommand) +#: tools/appstreamcli.c:482 +msgid "Install the file for the current user, instead of globally." msgstr "" -"Typ „%s“ softvérovej súčasti nie je platný pre AppStream. Možné hodnoty sú:" -#: src/as-validator-issue-tag.h:398 +#: tools/appstreamcli.c:631 msgid "" -"The set value is not an identifier for a desktop environment as registered " -"with Freedesktop.org." -msgstr "" +"You need to provide at least two version numbers to compare as parameters." +msgstr "Ak chcete porovnať parametre, musíte poskytnúť aspoň dve čísla verzií." -#: tools/ascli-actions-mdata.c:449 +#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. +#: tools/appstreamcli.c:660 #, c-format -msgid "" -"The software component type '%s' is not valid in AppStream. Possible values " -"are:" -msgstr "" -"Typ „%s“ softvérovej súčasti nie je platný pre AppStream. Možné hodnoty sú:" +msgid "Unknown compare relation '%s'. Valid values are:" +msgstr "Neznámy vzťah porovnania „%s“ Platné hodnoty sú:" -#: src/as-validator-issue-tag.h:338 -msgid "The summary must not contain any URL. Use the tags for links." +#: tools/appstreamcli.c:700 +msgid "" +"Too many parameters: Need two version numbers or version numbers and a " +"comparison operator." msgstr "" +"Príliš veľa parametrov: potrebujete dve čísla verzií alebo čísla verzií a " +"operátor porovnania." -#: src/as-validator-issue-tag.h:640 +#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) +#: tools/appstreamcli.c:726 msgid "" -"The type of the item that the component provides is not known to AppStream." +"Use the given .desktop file to fill in the basic values of the metainfo file." msgstr "" +"Použiť daný .desktop súbor pre vyplnenie základných hodnôt do súboru s " +"metainformáciami." -#: src/as-validator-issue-tag.h:174 +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand +#: tools/appstreamcli.c:731 msgid "" -"The update-contact does not appear to be a valid email address (escaping of " -"'@' is only allowed as '_at_' or '_AT_')." +"This command takes optional TYPE and FILE positional arguments, FILE being a " +"file to write to (or \"-\" for standard output)." msgstr "" +"Tento príkaz prijíma voliteľné pozičné parametre TYPE (typ) a FILE (súbor), " +"kde FILE je súbor do ktorého je potrebné zapísať (alebo '-' pre štandardný " +"výstup)." -#: tools/ascli-actions-validate.c:363 tools/ascli-actions-validate.c:492 +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows +#: tools/appstreamcli.c:734 #, c-format -msgid "" -"The validator can not create reports in the '%s' format. You may select " -"'yaml' or 'text' instead." +msgid "The TYPE must be a valid component-type, such as: %s" msgstr "" +"Je potrebné, aby TYPE (typ) bol platný typ komponentu, ako napríklad: %s" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:410 -msgid "This 'bundle' tag has an unknown type and can not be used." +#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) +#: tools/appstreamcli.c:775 +msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:404 -msgid "This 'launchable' tag has an unknown type and can not be used." +#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command +#: tools/appstreamcli.c:815 +msgid "Assume the input file is in the selected format ('yaml' or 'text')." msgstr "" +"Predpokladajme, že vstupný súbor je vo vybranom formáte ('yaml' alebo " +"'text')." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:515 +#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command +#: tools/appstreamcli.c:820 msgid "" -"This 'localization' component does not define any languages this " -"localization is for." +"Limit the number of release entries that end up in the metainfo file (0 for " +"unlimited)." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:509 -msgid "" -"This 'localization' component is missing an 'extends' tag, to specify the " -"components it adds localization to." +#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command +#: tools/appstreamcli.c:862 +msgid "Generate the output in the selected format ('yaml' or 'text')." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:521 -msgid "" -"This 'service' component is missing a 'launchable' tag of type 'service'." +#: tools/appstreamcli.c:894 +#, c-format +msgid "Compose binary '%s' was not found! Can not continue." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:473 -msgid "" -"This 'web-application' component is missing a 'icon' tag to specify a valid " -"icon." +#. TRANSLATORS: this is a (usually shorter) command alias, shown after the command summary text +#: tools/appstreamcli.c:956 +#, c-format +msgid "(Alias: '%s')" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:467 -msgid "" -"This 'web-application' component is missing a 'launchable' tag of type 'url'." -msgstr "" +#. these are commands we can use with appstreamcli +#: tools/appstreamcli.c:983 +msgid "Subcommands:" +msgstr "Čiastkové príkazy:" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:479 +#: tools/appstreamcli.c:1029 msgid "" -"This 'web-application' component is missing categorizations. A 'categories' " -"block is likely missing." +"You can find information about subcommand-specific options by passing \"--" +"help\" to the subcommand." msgstr "" +"Informácie o prepínačoch pre konkrétne čiastkové príkazy obdržíte pripojením " +"'--help' (nápoveda) k čiastkovému príkazu." -#: src/as-validator-issue-tag.h:564 +#. TRANSLATORS: ascli has been run with unknown command. '%s --help' is the command to receive help and should not be translated. +#: tools/appstreamcli.c:1052 +#, fuzzy, c-format msgid "" -"This XML document has an unknown root tag. Maybe this file is not a metainfo " -"document?" +"Command '%s' is unknown. Run '%s --help' for a list of available commands." msgstr "" +"Spustením „%s --help“ zobrazíte úplný zoznam dostupných volieb príkazového " +"riadka." -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand -#: tools/appstream-cli.c:680 -msgid "" -"This command takes optional TYPE and FILE positional arguments, FILE being a " -"file to write to (or \"-\" for standard output)." +#. TRANSLATORS: ascli flag description for: --verbose +#: tools/appstreamcli.c:1082 +msgid "Show extra debugging information." +msgstr "Zobrazovať doplňujúce informácie pre ladenie." + +#. TRANSLATORS: ascli flag description for: --profile +#: tools/appstreamcli.c:1090 +msgid "Enable profiling" msgstr "" -"Tento príkaz prijíma voliteľné pozičné parametre TYPE (typ) a FILE (súbor), " -"kde FILE je súbor do ktorého je potrebné zapísať (alebo '-' pre štandardný " -"výstup)." -#: src/as-validator-issue-tag.h:622 +#. TRANSLATORS: `appstreamcli search` command description. +#: tools/appstreamcli.c:1102 +msgid "Search the component database." +msgstr "Prehľadať databázu komponentov." + +#. TRANSLATORS: `appstreamcli get` command description. +#: tools/appstreamcli.c:1107 +msgid "Get information about a component by its ID." +msgstr "Získať informácie o komponente podľa jeho identifikátora." + +#. TRANSLATORS: `appstreamcli what-provides` command description. +#: tools/appstreamcli.c:1112 msgid "" -"This component extends, provides, requires or recommends itself, which is " -"certainly not intended and may confuse users or machines dealing with this " -"metadata." +"Get components which provide the given item. Needs an item type (e.g. lib, " +"bin, python3, …) and item value as parameter." msgstr "" -#: src/as-validator-issue-tag.h:579 -msgid "This component metadata refers to a non-existing .desktop file." -msgstr "" +#. TRANSLATORS: `appstreamcli dump` command description. +#: tools/appstreamcli.c:1118 +msgid "Dump raw XML metadata for a component matching the ID." +msgstr "Vypísať surové XML metaúdaje súčasti s týmto identifikátorom." -#: src/as-validator-issue-tag.h:69 -msgid "" -"This description paragraph contains invalid markup. Currently, only " -"and are permitted." -msgstr "" +#. TRANSLATORS: `appstreamcli refresh-cache` command description. +#: tools/appstreamcli.c:1123 +msgid "Rebuild the component metadata cache." +msgstr "Znovu vytvoriť súčasť vyrovnávacej pamäti metaúdajov." -#: src/as-validator-issue-tag.h:57 -msgid "" -"This element (paragraph, list, etc.) of a tag must not be " -"localized individually in collection metadata. Localize the whole " -" tag instead. The AppStream collection metadata generator (e." -"g. `appstream-generator`) will already do the right thing when compiling the " -"data." -msgstr "" +#. TRANSLATORS: `appstreamcli validate` command description. +#: tools/appstreamcli.c:1129 +msgid "Validate AppStream XML files for issues." +msgstr "Overiť či XML AppStream súbor neobsahuje chyby." -#: src/as-validator-issue-tag.h:455 -msgid "" -"This generic component is missing a long description. It may be useful to " -"add one." +#. TRANSLATORS: `appstreamcli validate-tree` command description. +#: tools/appstreamcli.c:1134 +msgid "Validate an installed file-tree of an application for valid metadata." msgstr "" +"Overiť či nainštalovaný strom súborov programu obsahuje platné metaúdaje." -#: src/as-validator-issue-tag.h:421 -msgid "" -"This tag is a GNOME-specific extension to AppStream and not part of the " -"official specification. Do not expect it to work in all implementations and " -"in all software centers." -msgstr "" +#. TRANSLATORS: `appstreamcli install` command description. +#: tools/appstreamcli.c:1140 +msgid "Install software matching the component-ID." +msgstr "Nainštalovať softvér zodpovedajúci identifikátoru súčasti." -#: src/as-validator-issue-tag.h:41 -msgid "This tag requires a type property." -msgstr "" +#. TRANSLATORS: `appstreamcli remove` command description. +#: tools/appstreamcli.c:1145 +msgid "Remove software matching the component-ID." +msgstr "Odobrať softvér zodpovedajúci identifikátora súčasti." + +#. TRANSLATORS: `appstreamcli status` command description. +#: tools/appstreamcli.c:1151 +msgid "Display status information about available AppStream metadata." +msgstr "Zobraziť stavové informácie o dostupných AppStream metaúdajoch." -#: data/org.freedesktop.appstream.cli.metainfo.xml:15 +#. TRANSLATORS: `appstreamcli os-info` command description. +#: tools/appstreamcli.c:1156 msgid "" -"This tool allows for reading, writing, validating and transformation of " -"AppStream XML or YAML metadata. It also gives access to the system metadata " -"pool, for example to query for software that provides a specific MIME-type, " -"and installing it by its software component identifier." +"Show information about the current operating system from the metadata index." msgstr "" -"Tento nástroj umožňuje čítanie, zápis, overovanie a premenu AppStream XML " -"alebo Yamli metaúdajov. Tiež sprístupňuje systémový fond metaúdajov " -"napríklad pre dotazovanie sa na softvér, poskytujúci konkrétny MIME typ a " -"jeho inštaláciu na základe identifikátora softvérovej súčasti." -#: src/as-validator-issue-tag.h:388 +#. TRANSLATORS: `appstreamcli put` command description. +#: tools/appstreamcli.c:1161 +msgid "Install a metadata file into the right location." +msgstr "Nainštalovať súbor s metaúdajmi na správne miesto." + +#. TRANSLATORS: `appstreamcli convert` command description. "Collection XML" is a term describing a specific type of AppStream XML data. +#: tools/appstreamcli.c:1166 +msgid "Convert collection XML to YAML or vice versa." +msgstr "Prevádza z XML na YAML formát a obrátene." + +#. TRANSLATORS: `appstreamcli vercmp` command description. +#: tools/appstreamcli.c:1171 +msgid "Compare two version numbers." +msgstr "Porovnať dve čísla verzií." + +#. TRANSLATORS: `appstreamcli new-template` command description. +#: tools/appstreamcli.c:1177 msgid "" -"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." +"Create a template for a metainfo file (to be filled out by the upstream " +"project)." msgstr "" +"Vytvoriť šablónu pre metainfo súbor (pre vyplnenie v upstream projektu)." -#: tools/appstream-cli.c:648 -msgid "" -"Too many parameters: Need two version numbers or version numbers and a " -"comparison operator." +#. TRANSLATORS: `appstreamcli make-desktop-file` command description. +#: tools/appstreamcli.c:1182 +msgid "Create a desktop-entry file from a metainfo file." msgstr "" -"Príliš veľa parametrov: potrebujete dve čísla verzií alebo čísla verzií a " -"operátor porovnania." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:461 -msgid "" -"Type 'console-application' component, but no information about binaries in " -"$PATH was provided via a 'provides/binary' tag." +#. TRANSLATORS: `appstreamcli news-to-metainfo` command description. +#: tools/appstreamcli.c:1187 +msgid "Convert a YAML or text NEWS file into metainfo releases." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:491 -msgid "" -"Type 'driver' component, but no modalias information was provided via a " -"provides/modalias tag." +#. TRANSLATORS: `appstreamcli metainfo-to-news` command description. +#: tools/appstreamcli.c:1192 +msgid "Write NEWS text or YAML file with information from a metainfo file." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:485 -msgid "" -"Type 'font' component, but no font information was provided via a 'provides/" -"font' tag." +#. TRANSLATORS: `appstreamcli compose` command description. +#: tools/appstreamcli.c:1198 +msgid "Compose AppStream collection metadata from directory trees." msgstr "" -#: src/as-validator.c:333 -msgid "URL format is invalid." +#. TRANSLATORS: ascli has been run without command. +#: tools/appstreamcli.c:1206 +msgid "You need to specify a command." +msgstr "Musíte uviesť príkaz." + +#. TRANSLATORS: In ascli: The requested action needs higher permissions. +#: tools/ascli-actions-mdata.c:70 +msgid "You might need superuser permissions to perform this action." msgstr "" +"Na vykonanie tejto akcie možno budete potrebovať oprávnenia administrátora " +"systému." + +#. we performed a cache refresh +#. TRANSLATORS: Updating the metadata cache succeeded +#: tools/ascli-actions-mdata.c:80 +msgid "AppStream cache update completed successfully." +msgstr "Aktualizácia vyrovnávacej pamäti AppStream bola úspešne dokončená." + +#. cache wasn't updated, so the update wasn't necessary +#: tools/ascli-actions-mdata.c:86 +msgid "AppStream cache update is not necessary." +msgstr "Aktualizácia vyrovnávacej pamäte nástroja AppStream nie je potrebná." + +#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments +#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. +#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:253 +#: tools/ascli-actions-pkgmgr.c:80 +msgid "You need to specify a component-ID." +msgstr "Musíte uviesť identifikátor súčasti." -#: tools/ascli-actions-mdata.c:544 +#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:265 +#: tools/ascli-actions-pkgmgr.c:93 #, c-format -msgid "Unable to build the template metainfo file: %s" -msgstr "Nepodarilo sa vytvoriť súbor so šablónou metainfomacií: „%s“" +msgid "Unable to find component with ID '%s'!" +msgstr "Nepodarilo sa nájsť súčasť s identifikátorom „%s“!" -#. TRANSLATORS: User is trying to convert a file in ascli -#: tools/ascli-actions-mdata.c:400 -msgid "" -"Unable to convert file: Could not determine output format, please set it " -"explicitly using '--format='." -msgstr "" -"Nedarí sa previesť súbor: Nepodarilo sa zistiť výstupný formát, nastavte ho " -"výslovne pomocou prepínača '--format'." +#: tools/ascli-actions-mdata.c:164 +msgid "You need to specify a term to search for." +msgstr "Musíte uviesť, čo chcete hľadať." #. TRANSLATORS: We failed to find any component in the database, likely due to an error #: tools/ascli-actions-mdata.c:177 @@ -1587,203 +2471,219 @@ msgid "Unable to find component matching %s!" msgstr "Nepodarilo sa nájsť súčasť zodpovedajúcu %s!" -#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:266 -#: tools/ascli-actions-pkgmgr.c:93 +#: tools/ascli-actions-mdata.c:182 #, c-format -msgid "Unable to find component with ID '%s'!" -msgstr "Nepodarilo sa nájsť súčasť s identifikátorom „%s“!" +msgid "No component matching '%s' found." +msgstr "Nebola nájdená súčasť zodpovedajúca „%s“." -#: tools/ascli-actions-misc.c:224 +#: tools/ascli-actions-mdata.c:206 +msgid "No value for the item to search for was defined." +msgstr "Nebola definovaná hodnota položky, ktorá sa má hľadať." + +#: tools/ascli-actions-mdata.c:212 +msgid "Invalid type for provided item selected. Valid values are:" +msgstr "Vybratý neplatný typ pre poskytnutú položku. Platné hodnoty sú:" + +#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results +#: tools/ascli-actions-mdata.c:227 +#, c-format +msgid "Could not find component providing '%s::%s'." +msgstr "Nie je možné nájsť komponent poskytujúci „%s;%s“." + +#: tools/ascli-actions-mdata.c:306 +msgid "You need to specify a metadata file." +msgstr "Musíte určiť súbor metaúdajov." + +#: tools/ascli-actions-mdata.c:320 #, fuzzy, c-format -msgid "Unable to load existing desktop-entry file template: %s" +msgid "Unable to install metadata file: %s" msgstr "Nepodarilo sa načítať .desktop súbor: %s" -#: src/as-validator-issue-tag.h:356 -msgid "Unable to reach remote icon at the given web location - does it exist?" -msgstr "" +#: tools/ascli-actions-mdata.c:340 +msgid "You need to specify an input and output file." +msgstr "Musíte určiť súbor metaúdajov." + +#: tools/ascli-actions-mdata.c:347 +#, c-format +msgid "Metadata file '%s' does not exist." +msgstr "Súbor s metaúdajmi „%s“ neexistuje." -#: src/as-validator-issue-tag.h:378 +#. TRANSLATORS: User is trying to convert a file in ascli +#: tools/ascli-actions-mdata.c:387 msgid "" -"Unable to reach remote location that this URL references - does it exist?" +"Unable to convert file: Could not determine output format, please set it " +"explicitly using '--format='." msgstr "" +"Nedarí sa previesť súbor: Nepodarilo sa zistiť výstupný formát, nastavte ho " +"výslovne pomocou prepínača '--format'." -#: src/as-validator-issue-tag.h:179 +#: tools/ascli-actions-mdata.c:438 +#, fuzzy, c-format +msgid "Unable to find operating system component '%s'!" +msgstr "Nepodarilo sa nájsť súčasť s identifikátorom „%s“!" + +#: tools/ascli-actions-mdata.c:443 +#, fuzzy +msgid "Version" +msgstr "Verzia: %s" + +#: tools/ascli-actions-mdata.c:467 msgid "" -"Unable to reach the screenshot image on its remote location - does the image " -"exist?" +"You need to give an AppStream software component type to generate a " +"template. Possible values are:" msgstr "" +"Aby bolo možné vytvoriť šablónu, je potrebné zadať typ softvérovej súčasti " +"AppStream. Možné hodnoty sú:" -#: src/as-validator-issue-tag.h:184 +#: tools/ascli-actions-mdata.c:469 +#, c-format msgid "" -"Unable to reach the screenshot video on its remote location - does the video " -"file exist?" +"The software component type '%s' is not valid in AppStream. Possible values " +"are:" msgstr "" +"Typ „%s“ softvérovej súčasti nie je platný pre AppStream. Možné hodnoty sú:" -#: src/as-validator-issue-tag.h:542 -#, fuzzy -msgid "Unable to read file." -msgstr "Nie je možné odstrániť starú vyrovnávaciu pamäť." - -#: src/as-validator-issue-tag.h:574 -#, fuzzy -msgid "Unable to read the .desktop file associated with this component." -msgstr "Nepodarilo sa načítať .desktop súbor: %s" +#: tools/ascli-actions-mdata.c:487 +#, c-format +msgid "The .desktop file '%s' does not exist." +msgstr "Súbor .desktop pre „%s“ neexistuje." -#: tools/ascli-actions-mdata.c:473 +#: tools/ascli-actions-mdata.c:493 #, c-format msgid "Unable to read the .desktop file: %s" msgstr "Nepodarilo sa načítať .desktop súbor: %s" -#: src/as-pool.c:606 -msgid "Unable to remove old cache." -msgstr "Nie je možné odstrániť starú vyrovnávaciu pamäť." - -#: tools/ascli-actions-misc.c:370 -#, fuzzy, c-format -msgid "Unable to save desktop entry file: %s" -msgstr "Nepodarilo sa načítať .desktop súbor: %s" +#: tools/ascli-actions-mdata.c:564 +#, c-format +msgid "Unable to build the template metainfo file: %s" +msgstr "Nepodarilo sa vytvoriť súbor so šablónou metainfomacií: „%s“" -#: tools/ascli-actions-mdata.c:552 +#: tools/ascli-actions-mdata.c:572 #, c-format msgid "Unable to save the template metainfo file: %s" msgstr "Nepodarilo sa uložiť súbor s metainfomáciami šablóny: %s" -#: tools/ascli-actions-pkgmgr.c:67 -#, c-format -msgid "Unable to spawn package manager: %s" -msgstr "Nepodarilo sa spustiť správcu balíkov: %s" - -#: tools/ascli-actions-mdata.c:322 -#, c-format -msgid "Unable to write to '%s', can not install metainfo file." -msgstr "" -"Nedarí sa zapisovať do „% s“, preto nie je možné nainštalovať súbor s " -"metainformáciami." - -#. TRANSLATORS: ascli has been run with unknown command. -#: tools/appstream-cli.c:1009 -#, c-format -msgid "Unknown command '%s'." -msgstr "Neznámi príkaz „%s“." +#. TRANSLATORS: In the status report of ascli: Header +#: tools/ascli-actions-misc.c:47 +msgid "AppStream Status:" +msgstr "Stav nástroja AppStream:" -#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. -#: tools/appstream-cli.c:608 +#: tools/ascli-actions-misc.c:48 #, c-format -msgid "Unknown compare relation '%s'. Valid values are:" -msgstr "Neznámy vzťah porovnania „%s“ Platné hodnoty sú:" - -#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) -#: tools/appstream-cli.c:675 -msgid "" -"Use the given .desktop file to fill in the basic values of the metainfo file." -msgstr "" -"Použiť daný .desktop súbor pre vyplnenie základných hodnôt do súboru s " -"metainformáciami." - -#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) -#: tools/appstream-cli.c:725 -msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." -msgstr "" - -#. TRANSLATORS: this is the menu spec main category for Utilities -#: src/as-category.c:329 -msgid "Utilities" -msgstr "Nástroje" - -#: tools/appstream-cli.c:856 -msgid "Validate AppStream XML files for issues." -msgstr "Overiť či XML AppStream súbor neobsahuje chyby." +msgid "Version: %s" +msgstr "Verzia: %s" -#: tools/appstream-cli.c:857 -msgid "Validate an installed file-tree of an application for valid metadata." -msgstr "" -"Overiť či nainštalovaný strom súborov programu obsahuje platné metaúdaje." +#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions +#: tools/ascli-actions-misc.c:52 +msgid "Distribution metadata:" +msgstr "Metaúdaje distribúcie:" -#: tools/ascli-actions-validate.c:301 tools/ascli-actions-validate.c:442 -#, c-format -msgid "Validation failed: %s" -msgstr "Overenie zlyhalo: %s" +#: tools/ascli-actions-misc.c:94 +msgid "Iconsets" +msgstr "Sady ikôn" -#: tools/ascli-actions-validate.c:289 tools/ascli-actions-validate.c:430 -msgid "Validation was successful." -msgstr "Overenie bolo úspešné." +#: tools/ascli-actions-misc.c:105 +msgid "No icons." +msgstr "Žiadne ikony." -#: tools/ascli-actions-validate.c:291 tools/ascli-actions-validate.c:432 -#, c-format -msgid "Validation was successful: %s" -msgstr "Overenie bolo úspešné: %s" +#. TRANSLATORS: No metainfo files have been found +#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 +msgid "Empty." +msgstr "Prázdne." -#: tools/appstream-cli.c:851 -msgid "Value of the item that should be found." -msgstr "Hodnota položky, ktorá by sa mala nájsť." +#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report +#: tools/ascli-actions-misc.c:116 +msgid "Metainfo files:" +msgstr "Súbory s metainfomáciami:" -#: src/as-category.c:177 -msgctxt "Category of Graphics" -msgid "Vector Graphics" -msgstr "Vektorová grafika" +#: tools/ascli-actions-misc.c:123 +#, c-format +msgid "Found %i components." +msgstr "Nájdené %i súčastí." -#: tools/ascli-actions-misc.c:48 +#. TRANSLATORS: Found metainfo files in legacy directories +#: tools/ascli-actions-misc.c:138 #, c-format -msgid "Version: %s" -msgstr "Verzia: %s" +msgid "Found %i components in legacy paths." +msgstr "Nájdené %i súčasti v umiestneniach, ako sa už nové nepoužívajú." -#: src/as-category.c:180 -msgctxt "Category of Graphics" -msgid "Viewers" -msgstr "Diváci" +#. TRANSLATORS: Status summary in ascli +#: tools/ascli-actions-misc.c:145 +msgid "Summary:" +msgstr "Zhrnutie:" #: tools/ascli-actions-misc.c:153 #, c-format msgid "We have information on %i software components." msgstr "Je k dispozícii informácie o %i softvérovej súčasti." -#: src/as-category.c:270 -msgctxt "Category of Communication" -msgid "Web Browsers" -msgstr "Webové prehliadače" - -#: src/as-category.c:202 -msgctxt "Category of Office" -msgid "Word Processor" -msgstr "Textový procesor" +#: tools/ascli-actions-misc.c:159 +#, c-format +msgid "Error while loading the metadata pool: %s" +msgstr "Chyba pri načítaní fondu metaúdajov: %s" -#: tools/appstream-cli.c:871 -msgid "Write NEWS text or YAML file with information from a metainfo file." -msgstr "" +#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 +#, fuzzy +msgid "You need to specify a metainfo file as input." +msgstr "Musíte určiť súbor metaúdajov." -#: tools/appstream-cli.c:874 +#: tools/ascli-actions-misc.c:188 +#, fuzzy msgid "" -"You can find information about subcommand-specific options by passing \"--" -"help\" to the subcommand." +"You need to specify a desktop-entry file to create or augment as output." +msgstr "Musíte uviesť súbor, ktorý chcete overiť!" + +#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 +#: tools/ascli-actions-misc.c:515 +#, fuzzy, c-format +msgid "Metainfo file '%s' does not exist." +msgstr "Súbor s metaúdajmi „%s“ neexistuje." + +#: tools/ascli-actions-misc.c:219 +#, c-format +msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." +msgstr "Rozšírenie existujúceho desktop-entry file '1%s' dátami z '2%s'." + +#: tools/ascli-actions-misc.c:224 +#, fuzzy, c-format +msgid "Unable to load existing desktop-entry file template: %s" +msgstr "Nepodarilo sa načítať .desktop súbor: %s" + +#: tools/ascli-actions-misc.c:228 +#, c-format +msgid "Creating new desktop-entry file '%s' using data from '%s'" msgstr "" -"Informácie o prepínačoch pre konkrétne čiastkové príkazy obdržíte pripojením " -"'--help' (nápoveda) k čiastkovému príkazu." -#. TRANSLATORS: In ascli: The requested action needs higher permissions. -#: tools/ascli-actions-mdata.c:70 -msgid "You might need superuser permissions to perform this action." +#: tools/ascli-actions-misc.c:284 +msgid "No stock icon name was provided in the metainfo file. Can not continue." msgstr "" -"Na vykonanie tejto akcie možno budete potrebovať oprávnenia administrátora " -"systému." -#: tools/ascli-actions-mdata.c:447 +#: tools/ascli-actions-misc.c:306 msgid "" -"You need to give an AppStream software component type to generate a " -"template. Possible values are:" +"No provided binary specified in metainfo file, and no exec command specified " +"via '--exec'. Can not create 'Exec=' key." msgstr "" -"Aby bolo možné vytvoriť šablónu, je potrebné zadať typ softvérovej súčasti " -"AppStream. Možné hodnoty sú:" -#: tools/appstream-cli.c:579 -msgid "" -"You need to provide at least two version numbers to compare as parameters." -msgstr "Ak chcete porovnať parametre, musíte poskytnúť aspoň dve čísla verzií." +#: tools/ascli-actions-misc.c:370 +#, fuzzy, c-format +msgid "Unable to save desktop entry file: %s" +msgstr "Nepodarilo sa načítať .desktop súbor: %s" #: tools/ascli-actions-misc.c:393 #, fuzzy msgid "You need to specify a NEWS file as input." msgstr "Musíte určiť súbor metaúdajov." +#: tools/ascli-actions-misc.c:397 +#, fuzzy +msgid "" +"You need to specify a metainfo file to augment, or '-' to print to stdout." +msgstr "Musíte určiť súbor metaúdajov." + +#: tools/ascli-actions-misc.c:402 +msgid "No output filename specified, modifying metainfo file directly." +msgstr "" + #: tools/ascli-actions-misc.c:509 #, fuzzy msgid "You need to specify a NEWS file as output, or '-' to print to stdout." @@ -1794,121 +2694,189 @@ msgid "You need to specify a NEWS format to write the output in." msgstr "Musíte určiť súbor metaúdajov." -#. TRANSLATORS: ascli has been run without command. -#: tools/appstream-cli.c:925 -msgid "You need to specify a command." -msgstr "Musíte uviesť príkaz." - -#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments -#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. -#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:254 -#: tools/ascli-actions-pkgmgr.c:80 -msgid "You need to specify a component-ID." -msgstr "Musíte uviesť identifikátor súčasti." - -#: tools/ascli-actions-misc.c:188 -#, fuzzy +#: tools/ascli-actions-pkgmgr.c:53 msgid "" -"You need to specify a desktop-entry file to create or augment as output." -msgstr "Musíte uviesť súbor, ktorý chcete overiť!" +"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" +"\" (part of PackageKit) is available." +msgstr "" +"Nenašiel sa vhodný CLI správca balíkov. Prosím, uistite sa, že máte " +"dostupného napr. klienta „pkcon“ (je súčasťou nástroja PackageKit)." -#: tools/ascli-actions-mdata.c:309 -msgid "You need to specify a metadata file." -msgstr "Musíte určiť súbor metaúdajov." +#: tools/ascli-actions-pkgmgr.c:67 +#, c-format +msgid "Unable to spawn package manager: %s" +msgstr "Nepodarilo sa spustiť správcu balíkov: %s" -#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 -#, fuzzy -msgid "You need to specify a metainfo file as input." -msgstr "Musíte určiť súbor metaúdajov." +#. TRANSLATORS: We found no distribution package or bundle to install to make this software available +#: tools/ascli-actions-pkgmgr.c:106 +#, c-format +msgid "Component '%s' has no installation candidate." +msgstr "Komponent „%s“ nemá kandidáta na inštaláciu." -#: tools/ascli-actions-misc.c:397 -#, fuzzy -msgid "" -"You need to specify a metainfo file to augment, or '-' to print to stdout." -msgstr "Musíte určiť súbor metaúdajov." +#: tools/ascli-actions-validate.c:176 tools/ascli-actions-validate.c:354 +#, fuzzy, c-format +msgid "File '%s' does not exist." +msgstr "Súbor s metaúdajmi „%s“ neexistuje." -#: tools/ascli-actions-validate.c:385 tools/ascli-actions-validate.c:479 -msgid "You need to specify a root directory to start validation!" -msgstr "Na zahájenie overovania musíte určiť koreňový adresár!" +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "error"-type hints +#: tools/ascli-actions-validate.c:228 +#, c-format +msgid "errors: %lu" +msgstr "chyby: %lu" -#: tools/ascli-actions-mdata.c:164 -msgid "You need to specify a term to search for." -msgstr "Musíte uviesť, čo chcete hľadať." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "warning"-type hints +#: tools/ascli-actions-validate.c:235 +#, c-format +msgid "warnings: %lu" +msgstr "varovania: %lu" -#: tools/ascli-actions-mdata.c:357 -msgid "You need to specify an input and output file." -msgstr "Musíte určiť súbor metaúdajov." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "info"-type hints +#: tools/ascli-actions-validate.c:242 +#, c-format +msgid "infos: %lu" +msgstr "informácie: %lu" + +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "pedantic"-type hints +#: tools/ascli-actions-validate.c:249 +#, c-format +msgid "pedantic: %lu" +msgstr "drobnosti: %lu" -#: tools/ascli-actions-validate.c:263 tools/ascli-actions-validate.c:337 +#: tools/ascli-actions-validate.c:268 tools/ascli-actions-validate.c:342 #, fuzzy msgid "You need to specify at least one file to validate!" msgstr "Musíte uviesť súbor, ktorý chcete overiť!" -#. TRANSLATORS: List of "grey-listed" words sperated with ";" -#. * Do not translate this list directly. Instead, -#. * provide a list of words in your language that people are likely -#. * to include in a search but that should normally be ignored in -#. * the search. -#. -#: src/as-pool.c:107 -msgid "app;application;package;program;programme;suite;tool" -msgstr "app;aplikácia;balík;program;balík;nástroj" +#: tools/ascli-actions-validate.c:294 tools/ascli-actions-validate.c:435 +msgid "Validation was successful." +msgstr "Overenie bolo úspešné." -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:223 +#: tools/ascli-actions-validate.c:296 tools/ascli-actions-validate.c:437 #, c-format -msgid "errors: %lu" -msgstr "chyby: %lu" +msgid "Validation was successful: %s" +msgstr "Overenie bolo úspešné: %s" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:237 +#: tools/ascli-actions-validate.c:306 tools/ascli-actions-validate.c:447 #, c-format -msgid "infos: %lu" -msgstr "informácie: %lu" +msgid "Validation failed: %s" +msgstr "Overenie zlyhalo: %s" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:244 +#: tools/ascli-actions-validate.c:368 tools/ascli-actions-validate.c:497 #, c-format -msgid "pedantic: %lu" -msgstr "drobnosti: %lu" +msgid "" +"The validator can not create reports in the '%s' format. You may select " +"'yaml' or 'text' instead." +msgstr "" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:230 -#, c-format -msgid "warnings: %lu" -msgstr "varovania: %lu" +#: tools/ascli-actions-validate.c:390 tools/ascli-actions-validate.c:484 +msgid "You need to specify a root directory to start validation!" +msgstr "Na zahájenie overovania musíte určiť koreňový adresár!" -#~ msgid "Command '%s' is unknown." -#~ msgstr "Príkaz „%s“ je neznámy." +#: tools/ascli-utils.c:266 +msgid "Identifier" +msgstr "Identifikátor" -#, fuzzy -#~ msgid "Do not use any caches when performing the request." -#~ msgstr "Nepoužije vyrovnávaciu pamäť Xapian pri vykonávaní požiadavky" +#: tools/ascli-utils.c:268 +msgid "Internal ID" +msgstr "" -#~ msgid "AppStream cache update failed." -#~ msgstr "Aktualizácia vyrovnávacej pamäte AppStream zlyhala." +#: tools/ascli-utils.c:269 +msgid "Name" +msgstr "Názov" -#, fuzzy -#~ msgid "Category of Games" -#~ msgstr "Kategórie" +#: tools/ascli-utils.c:270 +msgid "Summary" +msgstr "Zhrnutie" -#, fuzzy -#~ msgid "Category of Office" -#~ msgstr "Kategórie" +#: tools/ascli-utils.c:271 +msgid "Package" +msgstr "Balík" -#, fuzzy -#~ msgid "Category of Science" -#~ msgstr "Kategórie" +#: tools/ascli-utils.c:272 +msgid "Bundle" +msgstr "Balík" -#~ msgid "Extensions" -#~ msgstr "Rozšírenia" +#: tools/ascli-utils.c:273 +msgid "Homepage" +msgstr "Domovská stránka" -#~ msgid "File %s not found or permission denied!" -#~ msgstr "Súbor %s nebol nájdený alebo bolo zamietnuté oprávnenie." +#: tools/ascli-utils.c:274 +msgid "Icon" +msgstr "Ikona" -#, fuzzy -#~ msgid "No component providing '%s::%s' found." -#~ msgstr "Nebol nájdený komponent poskytujúci „%s;%s“." +#. developer name +#: tools/ascli-utils.c:294 +msgid "Developer" +msgstr "Vývojár" + +#: tools/ascli-utils.c:300 +msgid "Extends" +msgstr "Rozširuje" + +#: tools/ascli-utils.c:306 +msgid "Description" +msgstr "Popis" + +#: tools/ascli-utils.c:326 +msgid "Default Screenshot URL" +msgstr "URL predvolenej snímky obrazovky" + +#. project group +#: tools/ascli-utils.c:333 +msgid "Project Group" +msgstr "Skupina projektu" + +#. license +#: tools/ascli-utils.c:336 +msgid "License" +msgstr "Licencia" + +#: tools/ascli-utils.c:342 +msgid "Categories" +msgstr "Kategórie" + +#: tools/ascli-utils.c:350 +msgid "Compulsory for" +msgstr "Povinné pre" + +#: tools/ascli-utils.c:378 +msgid "Provided Items" +msgstr "Poskytované položky" + +#, fuzzy, c-format +#~ msgid "Unable to open new cache file: %s" +#~ msgstr "Nepodarilo sa načítať .desktop súbor: %s" + +#~ msgid "" +#~ "AppStream is a cross-distribution specification to provide metadata about " +#~ "software components." +#~ msgstr "" +#~ "AppStream je štandard na krížovú distribúciu pri poskytovaní metadát o " +#~ "softvérových komponentoch." + +#, c-format +#~ msgid "Unable to write to '%s', can not install metainfo file." +#~ msgstr "" +#~ "Nedarí sa zapisovať do „% s“, preto nie je možné nainštalovať súbor s " +#~ "metainformáciami." + +#, c-format +#~ msgid "" +#~ "Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " +#~ "suffix." +#~ msgstr "" +#~ "Nepodarilo sa skopírovať „%s“: Súbor nemá príponu „.metainfo.xml“ alebo " +#~ "„appdata.xml“." + +#~ msgid "An item type (e.g. lib, bin, python3, …)" +#~ msgstr "Typ položky (napr. lib, bin, python3, ...)" + +#~ msgid "Get components which provide the given item." +#~ msgstr "Získať komponenty, ktoré poskytujú zadanú položku." + +#, c-format +#~ msgid "Unknown command '%s'." +#~ msgstr "Neznámi príkaz „%s“." -#~ msgid "XDG Menu XML file '%s' is damaged." -#~ msgstr "XML súbor XDG Menu „%s“ je poškodený." +#~ msgid "Value of the item that should be found." +#~ msgstr "Hodnota položky, ktorá by sa mala nájsť." diff -Nru appstream-0.12.10/po/sl.po appstream-0.14.5/po/sl.po --- appstream-0.12.10/po/sl.po 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/po/sl.po 2021-08-28 20:15:28.000000000 +0000 @@ -1,3 +1,4 @@ +# #-#-#-#-# sl.po (AppStream) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Matthias Klumpp # This file is distributed under the same license as the appstream package. @@ -5,1766 +6,2538 @@ # Martin Srebotnjak , 2015 # Bojan , 2019. # Klemen Skerbiš , 2020. +# #-#-#-#-# sl.po (appstream-glib) #-#-#-#-# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Martin Srebotnjak , 2015 +# Richard Hughes , 2016. #zanata +#, fuzzy msgid "" msgstr "" -"Project-Id-Version: AppStream\n" +"Project-Id-Version: appstream-glib\n" "Report-Msgid-Bugs-To: appstream@lists.freedesktop.org\n" -"POT-Creation-Date: 2020-01-14 01:44+0100\n" -"PO-Revision-Date: 2020-01-10 14:21+0000\n" -"Last-Translator: Klemen Skerbiš \n" -"Language-Team: Slovenian \n" +"POT-Creation-Date: 2021-08-28 16:09+0200\n" +"PO-Revision-Date: 2016-08-06 03:00+0000\n" +"Last-Translator: Copied by Zanata \n" +"Language-Team: Slovenian (http://www.transifex.com/freedesktop/appstream-" +"glib/language/sl/)\n" "Language: sl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"#-#-#-#-# sl.po (AppStream) #-#-#-#-#\n" "Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" "%100==4 ? 2 : 3;\n" "X-Generator: Weblate 3.10.1\n" +"#-#-#-#-# sl.po (appstream-glib) #-#-#-#-#\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" +"X-Generator: Zanata 4.6.2\n" -#: tools/appstream-cli.c:157 -#, c-format -msgid "'%s' command" -msgstr "%s ukaz" - -#: src/as-category.c:168 -msgctxt "Category of Graphics" -msgid "3D Graphics" -msgstr "3D Grafika" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:254 -msgid "" -"A 'requires' or 'recommends' item requires a value to denote a valid " -"relation." +#: data/org.freedesktop.appstream.cli.metainfo.xml:8 +msgid "AppStream CLI" msgstr "" -#: src/as-validator-issue-tag.h:51 -msgid "" -"A tag must not be localized in metainfo files (upstream " -"metadata). Localize the individual paragraphs instead." +#: data/org.freedesktop.appstream.cli.metainfo.xml:9 +msgid "An utility to work with AppStream metadata" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:195 +#: data/org.freedesktop.appstream.cli.metainfo.xml:12 msgid "" -"A screenshot must contain at least one image or video in order to be useful. " -"Please add an to it." +"AppStream is a metadata specification which permits software components to " +"provide information about themselves to automated systems and end-users " +"before the software is actually installed. The AppStream project provides " +"facilities to easily access and transform this metadata, as well as a few " +"additional services for building feature-rich software centers and similar " +"applications that make use of software metadata." msgstr "" -#: src/as-validator-issue-tag.h:200 +#: data/org.freedesktop.appstream.cli.metainfo.xml:18 msgid "" -"A screenshot must contain either images or videos, but not both at the same " -"time. Please use this screenshot exclusively for either static images or for " -"videos." +"The appstreamcli command-line tool allows to read, write, and " +"transform AppStream XML or YAML metadata as well as to validate it for " +"compliance with the specification. It also provides easy access to the " +"system metadata pool, for example to query for software that provides a " +"specific Mediatype handler or for installing software by its component " +"identifier." msgstr "" -#: src/as-category.c:123 -msgctxt "Category of Games" -msgid "Action" -msgstr "Dejanje" - -#. TRANSLATORS: this is the main category for Add-ons -#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor -#: src/as-category.c:320 tools/ascli-utils.c:398 -msgid "Add-ons" -msgstr "Dodatki" - -#: src/as-category.c:126 -msgctxt "Category of Games" -msgid "Adventure" -msgstr "Pustolovščina" - -#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) -#: tools/appstream-cli.c:116 -msgid "Also show pedantic hints." +#: src/as-category.c:66 +msgctxt "Category of AudioVideo" +msgid "Featured" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:497 -msgid "" -"An 'extends' tag is specified, but the component is not of type 'addon', " -"'localization' or 'repository'." +#: src/as-category.c:69 +msgctxt "Category of AudioVideo" +msgid "Audio Creation & Editing" msgstr "" -#: tools/appstream-cli.c:850 -msgid "An item type (e.g. lib, bin, python3, …)" +#: src/as-category.c:75 +msgctxt "Category of AudioVideo" +msgid "Music Players" msgstr "" -#: data/org.freedesktop.appstream.cli.metainfo.xml:9 -msgid "An utility to work with AppStream metadata" +#: src/as-category.c:84 +msgctxt "Category of Development" +msgid "Featured" msgstr "" -#: data/org.freedesktop.appstream.cli.metainfo.xml:8 -msgid "AppStream CLI" +#: src/as-category.c:87 +msgctxt "Category of Development" +msgid "Debuggers" msgstr "" -#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. -#: tools/appstream-cli.c:947 -#, c-format -msgid "" -"AppStream CLI tool version: %s\n" -"AppStream library version: %s" +#: src/as-category.c:90 +msgctxt "Category of Development" +msgid "IDEs" msgstr "" -#. TRANSLATORS: In the status report of ascli: Header -#: tools/ascli-actions-misc.c:47 -msgid "AppStream Status:" +#: src/as-category.c:99 +msgctxt "Category of Education" +msgid "Featured" msgstr "" -#. we performed a cache refresh -#. TRANSLATORS: Updating the metadata cache succeeded -#: tools/ascli-actions-mdata.c:80 -msgid "AppStream cache update completed successfully." -msgstr "Posodobitev predpomnilnika AppStream uspešno dokončana." - -#. cache wasn't updated, so the update wasn't necessary -#: tools/ascli-actions-mdata.c:86 -msgid "AppStream cache update is not necessary." +#: src/as-category.c:102 +msgctxt "Category of Education" +msgid "Astronomy" msgstr "" -#. TRANSLATORS: This is the header to the --help menu for subcommands -#. TRANSLATORS: This is the header to the --help menu -#: tools/appstream-cli.c:154 tools/appstream-cli.c:843 -msgid "AppStream command-line interface" +#: src/as-category.c:105 +msgctxt "Category of Education" +msgid "Chemistry" msgstr "" -#: src/as-validator-issue-tag.h:63 -msgid "" -"AppStream descriptions support only a limited set of tags to format text: " -"Paragraphs (

                                                                                                                                                                                                                                                                                                                                                        ) and lists (

                                                                                                                                                                                                                                                                                                                                                          ,
                                                                                                                                                                                                                                                                                                                                                            ). This description markup contains " -"an invalid XML tag that would not be rendered correctly in applications " -"supporting the metainfo specification." +#: src/as-category.c:108 +msgctxt "Category of Education" +msgid "Languages" msgstr "" -#: data/org.freedesktop.appstream.cli.metainfo.xml:12 -msgid "" -"AppStream is a cross-distribution specification to provide metadata about " -"software components." +#: src/as-category.c:112 +msgctxt "Category of Education" +msgid "Math" msgstr "" -#: src/as-pool.c:1937 -#, c-format -msgid "" -"AppStream system cache refresh failed. Turn on verbose mode to get detailed " -"issue information." +#: src/as-category.c:121 +msgctxt "Category of Games" +msgid "Featured" msgstr "" -#. TRANSLATORS: Output if appstreamcli --version is executed. -#: tools/appstream-cli.c:944 -#, c-format -msgid "AppStream version: %s" -msgstr "" +#: src/as-category.c:124 +msgctxt "Category of Games" +msgid "Action" +msgstr "Dejanje" + +#: src/as-category.c:127 +msgctxt "Category of Games" +msgid "Adventure" +msgstr "Pustolovščina" -#: src/as-category.c:129 +#: src/as-category.c:130 msgctxt "Category of Games" msgid "Arcade" msgstr "" -#: src/as-category.c:234 -msgctxt "Category of Science" -msgid "Artificial Intelligence" +#: src/as-category.c:133 +msgctxt "Category of Games" +msgid "Blocks" msgstr "" -#: src/as-validator-issue-tag.h:91 -msgid "" -"As per AppStream specification, the mentioned tag must only appear once in " -"this context. Having multiple tags of this kind is not valid." +#: src/as-category.c:136 +msgctxt "Category of Games" +msgid "Board" msgstr "" -#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command -#: tools/appstream-cli.c:766 -msgid "Assume the input file is in the selected format ('yaml' or 'text')." +#: src/as-category.c:139 +msgctxt "Category of Games" +msgid "Card" msgstr "" -#: src/as-category.c:101 -msgctxt "Category of Education" -msgid "Astronomy" +#: src/as-category.c:142 +msgctxt "Category of Games" +msgid "Emulators" msgstr "" -#: src/as-category.c:237 -msgctxt "Category of Science" -msgid "Astronomy" +#: src/as-category.c:145 +msgctxt "Category of Games" +msgid "Kids" msgstr "" -#. TRANSLATORS: this is the menu spec main category for Audio & Video -#: src/as-category.c:302 -msgid "Audio & Video" +#: src/as-category.c:148 +msgctxt "Category of Games" +msgid "Logic" msgstr "" -#: src/as-category.c:68 -msgctxt "Category of AudioVideo" -msgid "Audio Creation & Editing" +#: src/as-category.c:151 +msgctxt "Category of Games" +msgid "Role Playing" msgstr "" -#: tools/ascli-actions-misc.c:219 -#, c-format -msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." +#: src/as-category.c:154 +msgctxt "Category of Games" +msgid "Sports" msgstr "" -#: src/as-provided.c:146 -msgid "Binaries" +#: src/as-category.c:158 +msgctxt "Category of Games" +msgid "Strategy" msgstr "" -#: src/as-category.c:132 -msgctxt "Category of Games" -msgid "Blocks" +#: src/as-category.c:166 +msgctxt "Category of Graphics" +msgid "Featured" msgstr "" -#: src/as-category.c:135 -msgctxt "Category of Games" -msgid "Board" +#: src/as-category.c:169 +msgctxt "Category of Graphics" +msgid "3D Graphics" +msgstr "3D Grafika" + +#: src/as-category.c:172 +msgctxt "Category of Graphics" +msgid "Photography" msgstr "" -#: tools/ascli-utils.c:299 -msgid "Bundle" -msgstr "Sveženj" +#: src/as-category.c:175 +msgctxt "Category of Graphics" +msgid "Scanning" +msgstr "" -#: src/as-pool.c:1828 -#, c-format -msgid "Cache location '%s' is not writable." +#: src/as-category.c:178 +#, fuzzy +msgctxt "Category of Graphics" +msgid "Vector Graphics" +msgstr "Kategorije" + +#: src/as-category.c:181 +msgctxt "Category of Graphics" +msgid "Viewers" msgstr "" -#: src/as-category.c:191 +#: src/as-category.c:189 msgctxt "Category of Office" -msgid "Calendar" +msgid "Featured" msgstr "" -#: tools/ascli-actions-mdata.c:327 -#, c-format -msgid "" -"Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " -"suffix." +#: src/as-category.c:192 +msgctxt "Category of Office" +msgid "Calendar" msgstr "" -#: src/as-category.c:138 -msgctxt "Category of Games" -msgid "Card" +#: src/as-category.c:196 +msgctxt "Category of Office" +msgid "Database" msgstr "" -#: tools/ascli-utils.c:369 -msgid "Categories" -msgstr "Kategorije" - -#: src/as-category.c:259 -msgctxt "Category of Communication" -msgid "Chat" +#: src/as-category.c:199 +msgctxt "Category of Office" +msgid "Finance" msgstr "" -#: src/as-category.c:104 -msgctxt "Category of Education" -msgid "Chemistry" +#: src/as-category.c:203 +msgctxt "Category of Office" +msgid "Word Processor" msgstr "" -#: src/as-category.c:240 -msgctxt "Category of Science" -msgid "Chemistry" +#: src/as-category.c:212 +msgctxt "Category of Addons" +msgid "Fonts" msgstr "" -#: src/as-category.c:214 +#: src/as-category.c:215 msgctxt "Category of Addons" msgid "Codecs" msgstr "" -#. TRANSLATORS: this is the menu spec main category for Communication -#: src/as-category.c:326 -msgid "Communication & News" +#: src/as-category.c:218 +msgctxt "Category of Addons" +msgid "Input Sources" msgstr "" -#: tools/appstream-cli.c:866 -msgid "Compare two version numbers." +#: src/as-category.c:221 +msgctxt "Category of Addons" +msgid "Language Packs" msgstr "" -#: src/as-provided.c:166 -msgid "Component" +#: src/as-category.c:224 +msgctxt "Category of Addons" +msgid "Localization" msgstr "" -#. TRANSLATORS: We found no distribution package or bundle to install to make this software available -#: tools/ascli-actions-pkgmgr.c:106 -#, c-format -msgid "Component '%s' has no installation candidate." +#: src/as-category.c:232 +msgctxt "Category of Science" +msgid "Featured" msgstr "" -#: tools/ascli-utils.c:377 -msgid "Compulsory for" -msgstr "Obvezno za" +#: src/as-category.c:235 +msgctxt "Category of Science" +msgid "Artificial Intelligence" +msgstr "" -#: src/as-validator-issue-tag.h:361 -msgid "Consider using a secure (HTTPS) URL for the remote icon link." +#: src/as-category.c:238 +msgctxt "Category of Science" +msgid "Astronomy" msgstr "" -#: src/as-validator-issue-tag.h:383 -msgid "Consider using a secure (HTTPS) URL for this web link." +#: src/as-category.c:241 +msgctxt "Category of Science" +msgid "Chemistry" msgstr "" -#: src/as-validator-issue-tag.h:189 -msgid "" -"Consider using a secure (HTTPS) URL to reference this screenshot image or " -"video." +#: src/as-category.c:244 +msgctxt "Category of Science" +msgid "Math" msgstr "" -#: tools/appstream-cli.c:870 -msgid "Convert a YAML or text NEWS file into metainfo releases." +#: src/as-category.c:249 +msgctxt "Category of Science" +msgid "Robotics" msgstr "" -#. TRANSLATORS: "convert" command in ascli. "Collection XML" is a term describing a specific type of AppStream XML data. -#: tools/appstream-cli.c:865 -msgid "Convert collection XML to YAML or vice versa." +#: src/as-category.c:257 +msgctxt "Category of Communication" +msgid "Featured" msgstr "" -#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results -#: tools/ascli-actions-mdata.c:228 -#, fuzzy, c-format -msgid "Could not find component providing '%s::%s'." -msgstr "Komponente z id »%s« ni mogoče najti!" +#: src/as-category.c:260 +msgctxt "Category of Communication" +msgid "Chat" +msgstr "" -#: tools/appstream-cli.c:869 -msgid "Create a XDG desktop-entry file from a metainfo file." +#: src/as-category.c:267 +msgctxt "Category of Communication" +msgid "News" msgstr "" -#: tools/appstream-cli.c:868 -msgid "" -"Create a template for a metainfo file (to be filled out by the upstream " -"project)." +#: src/as-category.c:271 +msgctxt "Category of Communication" +msgid "Web Browsers" msgstr "" -#: tools/ascli-actions-misc.c:228 -#, c-format -msgid "Creating new desktop-entry file '%s' using data from '%s'" +#: src/as-category.c:279 +msgctxt "Category of Utility" +msgid "Featured" msgstr "" -#: src/as-provided.c:160 -msgid "D-Bus Session Services" +#: src/as-category.c:282 +msgctxt "Category of Utility" +msgid "Text Editors" msgstr "" -#: src/as-provided.c:158 -msgid "D-Bus System Services" +#: src/as-category.c:285 +msgctxt "Category of Utility" +msgid "Terminal Emulators" msgstr "" -#: src/as-category.c:195 -msgctxt "Category of Office" -msgid "Database" +#: src/as-category.c:288 +msgctxt "Category of Utility" +msgid "File System" msgstr "" -#: src/as-category.c:86 -msgctxt "Category of Development" -msgid "Debuggers" +#: src/as-category.c:291 +msgctxt "Category of Utility" +msgid "System Monitoring" msgstr "" -#: tools/ascli-utils.c:353 -#, fuzzy -msgid "Default Screenshot URL" -msgstr "Vzorec naslova URL zaslonske slike" - -#. TRANSLATORS: ascli flag description for: --format -#: tools/appstream-cli.c:83 -msgid "Default metadata format (valid values are 'xml' and 'yaml')." +#: src/as-category.c:294 +msgctxt "Category of Utility" +msgid "Security" msgstr "" -#: tools/ascli-utils.c:333 -msgid "Description" -msgstr "Opis" - -#. developer name -#: tools/ascli-utils.c:321 -msgid "Developer" -msgstr "Razvijalec" +#. TRANSLATORS: this is the menu spec main category for Audio & Video +#: src/as-category.c:303 +msgid "Audio & Video" +msgstr "" #. TRANSLATORS: this is the menu spec main category for Development -#: src/as-category.c:305 +#: src/as-category.c:306 #, fuzzy msgid "Developer Tools" msgstr "Razvijalec" -#: tools/appstream-cli.c:862 -msgid "Display status information about available AppStream metadata." +#. TRANSLATORS: this is the menu spec main category for Education +#: src/as-category.c:309 +msgid "Education" msgstr "" -#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions -#: tools/ascli-actions-misc.c:52 -msgid "Distribution metadata:" +#. TRANSLATORS: this is the menu spec main category for Game +#: src/as-category.c:312 +msgid "Games" msgstr "" -#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) -#: tools/appstream-cli.c:126 -msgid "Do not use network access." +#. TRANSLATORS: this is the menu spec main category for Graphics +#: src/as-category.c:315 +msgid "Graphics & Photography" msgstr "" -#. TRANSLATORS: ascli flag description for: --no-color -#: tools/appstream-cli.c:908 -#, fuzzy -msgid "Don't show colored output." -msgstr "Ne pokaži izpisa v barvah" +#. TRANSLATORS: this is the menu spec main category for Office +#: src/as-category.c:318 +msgid "Office" +msgstr "" -#: tools/appstream-cli.c:853 -msgid "Dump raw XML metadata for a component matching the ID." +#. TRANSLATORS: this is the main category for Add-ons +#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor +#: src/as-category.c:321 tools/ascli-utils.c:371 +msgid "Add-ons" +msgstr "Dodatki" + +#. TRANSLATORS: this is the menu spec main category for Science +#: src/as-category.c:324 +msgid "Science" msgstr "" -#. TRANSLATORS: this is the menu spec main category for Education -#: src/as-category.c:308 -msgid "Education" +#. TRANSLATORS: this is the menu spec main category for Communication +#: src/as-category.c:327 +msgid "Communication & News" msgstr "" -#. TRANSLATORS: No metainfo files have been found -#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 -msgid "Empty." +#. TRANSLATORS: this is the menu spec main category for Utilities +#: src/as-category.c:330 +msgid "Utilities" msgstr "" -#: src/as-category.c:141 -msgctxt "Category of Games" -msgid "Emulators" +#. TRANSLATORS: This is the formatting of English and localized name +#. * of the rating e.g. "Adults Only (solo adultos)" +#: src/as-content-rating.c:298 +#, c-format +msgid "%s (%s)" +msgstr "%s (%s)" + +#: src/as-content-rating.c:444 +msgid "General" +msgstr "Splošno" + +#: src/as-content-rating.c:453 +msgid "ALL" +msgstr "Vse" + +#: src/as-content-rating.c:457 src/as-content-rating.c:560 +msgid "Adults Only" +msgstr "Le za odrasle" + +#: src/as-content-rating.c:459 src/as-content-rating.c:559 +#, fuzzy +msgid "Mature" +msgstr "" +"#-#-#-#-# sl.po (AppStream) #-#-#-#-#\n" +"#-#-#-#-# sl.po (appstream-glib) #-#-#-#-#\n" +"Novosti v ospredju" + +#: src/as-content-rating.c:461 src/as-content-rating.c:558 +msgid "Teen" +msgstr "Najstniki" + +#: src/as-content-rating.c:463 src/as-content-rating.c:557 +msgid "Everyone 10+" +msgstr "Kdorkoli nad 10" + +#: src/as-content-rating.c:465 src/as-content-rating.c:556 +msgid "Everyone" +msgstr "Vsi" + +#: src/as-content-rating.c:467 src/as-content-rating.c:555 +msgid "Early Childhood" +msgstr "Zgodnje otroštvo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:839 +msgid "No cartoon violence" +msgstr "Brez nasilja v risani seriji" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:841 +msgid "Cartoon characters in unsafe situations" +msgstr "Risani liki v nevarnih situacijah" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:843 +msgid "Cartoon characters in aggressive conflict" +msgstr "Risani liki v nasilnih konfliktih" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:845 +msgid "Graphic violence involving cartoon characters" +msgstr "Nazorno nasilje med risanimi liki" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:850 +msgid "No fantasy violence" +msgstr "Brez fantazijskega nasilja" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:852 +msgid "Characters in unsafe situations easily distinguishable from reality" +msgstr "" +"Liki v nevarnih situacijah, ki jih je mogoče zlahka razlikovati od realnosti" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:854 +msgid "Characters in aggressive conflict easily distinguishable from reality" +msgstr "" +"Liki v nasilnem konfliktu, ki ga je mogoče zlahka razlikovati od realnosti" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:856 +msgid "Graphic violence easily distinguishable from reality" +msgstr "Nazorno nasilje, ki ga je mogoče zlahka razlikovati od realnosti" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:861 +msgid "No realistic violence" +msgstr "Brez realističnega nasilja" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:863 +msgid "Mildly realistic characters in unsafe situations" +msgstr "Napol realistični liki v nevarnih situacijah" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:865 +msgid "Depictions of realistic characters in aggressive conflict" +msgstr "Prikazovanje realističnih likov v nasilnih konfliktih" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:867 +msgid "Graphic violence involving realistic characters" +msgstr "Nazorno nasilje, ki vključuje realistične like" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:872 +msgid "No bloodshed" +msgstr "Brez prelivanja krvi" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:874 +msgid "Unrealistic bloodshed" +msgstr "Nerealistično prelivanje krvi" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:876 +msgid "Realistic bloodshed" +msgstr "Realistično prelivanje krvi" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:878 +msgid "Depictions of bloodshed and the mutilation of body parts" +msgstr "Prikazi prelivanja krvi in pohabljanje delov telesa" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:883 +msgid "No sexual violence" +msgstr "Brez spolnega nasilja" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:885 +msgid "Rape or other violent sexual behavior" +msgstr "Posilstvo ali drugo nasilno vedenje" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:892 +msgid "No references to alcohol" +msgstr "Brez omenjanja alkoholnih pijač" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:894 +msgid "References to alcoholic beverages" +msgstr "Omenjanje alkoholnih pijač" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:896 +msgid "Use of alcoholic beverages" +msgstr "Uporaba alkoholnih pijač" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:902 +msgid "No references to illicit drugs" +msgstr "Ni omenjanja prepovedanih drog" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:904 +msgid "References to illicit drugs" +msgstr "Omenjanje prepovedanih drog" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:906 +msgid "Use of illicit drugs" +msgstr "Uporaba prepovedanih drog" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:912 +msgid "No references to tobacco products" +msgstr "Ni sklicevanja na tobačne izdelke" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:914 +msgid "References to tobacco products" +msgstr "Sklici na tobačne izdelke" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:916 +msgid "Use of tobacco products" +msgstr "Uporaba tobačnih izdelkov" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:922 +msgid "No nudity of any sort" +msgstr "Brez vsakršne golote" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:924 +msgid "Brief artistic nudity" +msgstr "Krajše umetniško ponazorjena spolnost" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:926 +msgid "Prolonged nudity" +msgstr "Daljši prikazi golote" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:932 +msgid "No references to or depictions of sexual nature" +msgstr "Ni omenjanja in prikazov spolne narave" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:934 +msgid "Provocative references or depictions" +msgstr "Izzivalno obnašanje ali upodobljanje" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:936 +msgid "Sexual references or depictions" +msgstr "Prikrit spolni akt" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:938 +msgid "Graphic sexual behavior" +msgstr "Nazorno seksualno vedenje" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:943 +msgid "No profanity of any kind" +msgstr "Brez kakršnegakoli preklinjanja" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:945 +msgid "Mild or infrequent use of profanity" +msgstr "Nežno ali redko preklinjanje" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:947 +msgid "Moderate use of profanity" +msgstr "Zmerno preklinjanje" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:949 +msgid "Strong or frequent use of profanity" +msgstr "Izrazito ali pogosto preklinjanje" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:954 +msgid "No inappropriate humor" +msgstr "Brez neustreznega humorja" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:956 +msgid "Slapstick humor" +msgstr "Situacijski humor" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:958 +msgid "Vulgar or bathroom humor" +msgstr "Vulgaren humor" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:960 +msgid "Mature or sexual humor" +msgstr "Humor za odrasle" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:965 +msgid "No discriminatory language of any kind" +msgstr "Brez vsakršnega diskriminatornega namigovanja" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:967 +msgid "Negativity towards a specific group of people" +msgstr "Negativen odnos do specifične skupine ljudi" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:969 +msgid "Discrimination designed to cause emotional harm" +msgstr "Diskriminatorno delovanje, ki lahko sproži močan čustven odziv" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:971 +msgid "Explicit discrimination based on gender, sexuality, race or religion" +msgstr "Izrecna diskriminacija na podlagi spola, spolnosti, rase ali vere" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:976 +msgid "No advertising of any kind" +msgstr "Brez kakršnegakoli oglaševanja" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:978 +msgid "Product placement" +msgstr "Opredelitev izdelka" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:980 +msgid "Explicit references to specific brands or trademarked products" +msgstr "Izrecna sklicevanja na določene blagovne znamke ali izdelke" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:982 +msgid "Users are encouraged to purchase specific real-world items" +msgstr "Uporabnike spodbuja k nakupu določenih fizičnih predmetov" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:987 +msgid "No gambling of any kind" +msgstr "Brez kakršnegakoli igranja na srečo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:989 +msgid "Gambling on random events using tokens or credits" +msgstr "" +"Igranje na srečo na naključnih dogodkih z uporabo žetonov ali kreditnih točk" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:991 +msgid "Gambling using “play” money" +msgstr "Igranje na srečo s namišljenim denarjem" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:993 +msgid "Gambling using real money" +msgstr "Igranje na srečo s pravim denarjem" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:998 +msgid "No ability to spend money" +msgstr "Možnost uporabe pravega denarja" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1000 +msgid "Users are encouraged to donate real money" +msgstr "Uporabnike spodbuja k donaciji uradnih denarnih valut" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1003 +msgid "Ability to spend real money in-app" +msgstr "Možnost uporabe pravega denarja v programu" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1008 +msgid "No way to chat with other users" +msgstr "Ni možnosti klepeta z drugimi uporabniki" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1010 +msgid "User-to-user interactions without chat functionality" +msgstr "Interakcije med uporabniki brez funkcije za klepet" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1012 +msgid "Moderated chat functionality between users" +msgstr "Nadzorovana možnost klepeta med uporabniki" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1014 +msgid "Uncontrolled chat functionality between users" +msgstr "Nenadzorovana možnost klepeta med uporabniki" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1019 +msgid "No way to talk with other users" +msgstr "Ni možnosti klepeta ali pogovora z drugimi uporabniki" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1021 +msgid "Uncontrolled audio or video chat functionality between users" +msgstr "Nenadzorovana možnost zvočnega ali video klepeta med uporabniki" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1028 +msgid "No sharing of social network usernames or email addresses" +msgstr "Ni objavljanja uporabniških imen ali elektronskih naslovov" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1030 +msgid "Sharing social network usernames or email addresses" +msgstr "" +"Objavljanje uporabniškega imena ali elektronskega naslova socialnega omrežja" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1037 +msgid "No sharing of user information with third parties" +msgstr "Podrobnosti o uporabniku se ne objavljajo tretjim osebam" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1039 +msgid "Checking for the latest application version" +msgstr "Poteka preverjanje najnovejše različice programa" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1041 +msgid "Sharing diagnostic data that does not let others identify the user" +msgstr "" +"Objavljanje podatkov diagnostike, ki ne vključuje podatkov o istovetnosti " +"uporabnika" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1043 +msgid "Sharing information that lets others identify the user" +msgstr "Objavljanje podrobnosti o uporabniku" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1048 +msgid "No sharing of physical location with other users" +msgstr "Trenutno mesto se ne objavlja drugim uporabnikom" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1050 +msgid "Sharing physical location with other users" +msgstr "Omogočeno je objavljanje trenutnega mesta drugim uporabnikom" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1073 +msgid "No references to homosexuality" +msgstr "Brez sklicevanja na homoseksualnost" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1075 +msgid "Indirect references to homosexuality" +msgstr "Posredno namigovanje na homoseksualnost" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1077 +msgid "Kissing between people of the same gender" +msgstr "Poljubljanje med osebami istega spola" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1079 +msgid "Graphic sexual behavior between people of the same gender" +msgstr "Nazorno spolno obnašanje med osebami istega spola" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1084 +msgid "No references to prostitution" +msgstr "Brez sklicevanja na prostitucijo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1086 +msgid "Indirect references to prostitution" +msgstr "Posredno namigovanje na prostitucijo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1088 +msgid "Direct references to prostitution" +msgstr "Neposredno omenjanje prostitucije" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1090 +msgid "Graphic depictions of the act of prostitution" +msgstr "Nazoren prikaz prostitucije" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1095 +msgid "No references to adultery" +msgstr "Brez sklicevanja na nezvestobo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1097 +msgid "Indirect references to adultery" +msgstr "Posredno namigovanje na nezvestobo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1099 +msgid "Direct references to adultery" +msgstr "Neposredno omenjanje nezvestobe" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1101 +msgid "Graphic depictions of the act of adultery" +msgstr "Nazoren prikaz prešuštva" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1106 +msgid "No sexualized characters" +msgstr "Brez izrazitega spolnega izražanja" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1109 +msgid "Scantily clad human characters" +msgstr "Pomanjkljivo oblečeni človeški liki" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1111 +msgid "Overtly sexualized human characters" +msgstr "Prekomerno spolno izraženi človeški liki" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1116 +msgid "No references to desecration" +msgstr "Brez sklicevanja na skrunjenje človeškega telesa" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1118 +msgid "Depictions of or references to historical desecration" +msgstr "Prikazovanje ali sklicevanja na zgodovinsko skrunitev" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1120 +msgid "Depictions of modern-day human desecration" +msgstr "Prikazovanje sodobnega skrunjenja človeškega telesa" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1122 +msgid "Graphic depictions of modern-day desecration" +msgstr "Nazorno prikazovanje sodobnega skrunjenja človeškega telesa" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1127 +msgid "No visible dead human remains" +msgstr "Brez vidnih ostankov mrtvih ljudi" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1129 +msgid "Visible dead human remains" +msgstr "Vidni deli mrtvih ljudi" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1131 +msgid "Dead human remains that are exposed to the elements" +msgstr "Izpostavljanje ostankov človeških teles" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1133 +msgid "Graphic depictions of desecration of human bodies" +msgstr "Nazorno prikazovanje oskrunjenja človeškega telesa" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1138 +msgid "No references to slavery" +msgstr "Brez sklicevanja na suženjstvo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1140 +msgid "Depictions of or references to historical slavery" +msgstr "Prikazovanje suženjstva v preteklosti" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1142 +msgid "Depictions of modern-day slavery" +msgstr "Prikazovanje sodobnega suženjstva" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1144 +msgid "Graphic depictions of modern-day slavery" +msgstr "Nazorno prikazovanje sodobnega suženjstva" + +#. TRANSLATORS: We got a 429 error while trying to download data +#: src/as-curl.c:134 +#, c-format +msgid "Failed to download due to server limit" msgstr "" -#. TRANSLATORS: ascli flag description for: --force -#: tools/appstream-cli.c:245 -#, fuzzy -msgid "Enforce a cache refresh." -msgstr "Vsili osvežitev predpomnilnika" +#: src/as-curl.c:141 src/as-curl.c:148 +#, fuzzy, c-format +msgid "Failed to download file: %s" +msgstr "Komponente, ki se ujema z %s, ni mogoče najti." -#: src/as-validator-issue-tag.h:74 -msgid "Enumerations must only have list items (
                                                                                                                                                                                                                                                                                                                                                          1. ) as children." +#. TRANSLATORS: We tried to download an URL, but received a 404 error code +#: src/as-curl.c:157 +#, c-format +msgid "URL was not found on the server." msgstr "" -#: tools/ascli-actions-misc.c:159 +#. TRANSLATORS: We received an uexpected HTTP status code while talking to a server, likely an error +#: src/as-curl.c:164 #, c-format -msgid "Error while loading the metadata pool: %s" +msgid "Unexpected status code: %ld" msgstr "" -#: tools/ascli-utils.c:327 -msgid "Extends" +#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty +#: src/as-curl.c:247 +#, c-format +msgid "Retrieved file size was zero." msgstr "" -#: src/as-category.c:65 -msgctxt "Category of AudioVideo" -msgid "Featured" +#. TRANSLATORS: List of "grey-listed" words sperated with ";" +#. * Do not translate this list directly. Instead, +#. * provide a list of words in your language that people are likely +#. * to include in a search but that should normally be ignored in +#. * the search. +#. +#: src/as-pool.c:111 +msgid "app;application;package;program;programme;suite;tool" +msgstr "app;aplikacija;paket;program;programček;programje;orodje" + +#: src/as-pool.c:620 +msgid "Unable to remove old cache." msgstr "" -#: src/as-category.c:256 -msgctxt "Category of Communication" -msgid "Featured" +#: src/as-pool.c:963 +msgid "Metadata files have errors:" msgstr "" -#: src/as-category.c:83 -msgctxt "Category of Development" -msgid "Featured" +#: src/as-pool.c:1370 +msgid "" +"Many components have been recognized as invalid. See debug output for " +"details." msgstr "" -#: src/as-category.c:98 -msgctxt "Category of Education" -msgid "Featured" +#: src/as-pool.c:1996 +#, c-format +msgid "Cache location '%s' is not writable." msgstr "" -#: src/as-category.c:120 -msgctxt "Category of Games" -msgid "Featured" +#: src/as-pool.c:2109 +msgid "" +"The AppStream system cache was updated, but some components were ignored. " +"Refer to the verbose log for more information." msgstr "" -#: src/as-category.c:165 -msgctxt "Category of Graphics" -msgid "Featured" +#: src/as-pool.c:2111 +#, c-format +msgid "" +"The AppStream system cache was updated, but problems were found which " +"resulted in metadata being ignored: %s" msgstr "" -#: src/as-category.c:188 -msgctxt "Category of Office" -msgid "Featured" +#: src/as-pool.c:2125 +#, c-format +msgid "" +"AppStream system cache refresh failed. Turn on verbose mode to get detailed " +"issue information." msgstr "" -#: src/as-category.c:231 -msgctxt "Category of Science" -msgid "Featured" +#: src/as-provided.c:144 +msgid "Libraries" msgstr "" -#: src/as-category.c:278 -msgctxt "Category of Utility" -msgid "Featured" +#: src/as-provided.c:146 +msgid "Binaries" msgstr "" -#: tools/ascli-actions-validate.c:171 tools/ascli-actions-validate.c:349 -#, c-format -msgid "File '%s' does not exist." +#: src/as-provided.c:148 +msgid "Media types" msgstr "" -#: src/as-category.c:287 -msgctxt "Category of Utility" -msgid "File System" +#: src/as-provided.c:150 +msgid "Fonts" msgstr "" -#: src/as-category.c:198 -msgctxt "Category of Office" -msgid "Finance" +#: src/as-provided.c:152 +msgid "Modaliases" msgstr "" -#: src/as-provided.c:164 -msgid "Flashed Firmware" +#: src/as-provided.c:154 +msgid "Python (Version 2)" msgstr "" -#: src/as-provided.c:150 -msgid "Fonts" +#: src/as-provided.c:156 +msgid "Python 3" msgstr "" -#: src/as-category.c:211 -msgctxt "Category of Addons" -msgid "Fonts" +#: src/as-provided.c:158 +msgid "D-Bus System Services" msgstr "" -#: src/as-validator-issue-tag.h:237 -msgid "" -"For videos, only the WebM and Matroska (.mkv) container formats are " -"currently supported. The file extension of the referenced video does not " -"belong to either of these formats." +#: src/as-provided.c:160 +msgid "D-Bus Session Services" msgstr "" -#. TRANSLATORS: ascli flag description for: --format when validating XML files -#: tools/appstream-cli.c:131 -msgid "Format of the generated report (valid values are 'text' and 'yaml')." +#: src/as-provided.c:162 +msgid "Runtime Firmware" msgstr "" -#. TRANSLATORS: Found metainfo files in legacy directories -#: tools/ascli-actions-misc.c:138 -#, c-format -msgid "Found %i components in legacy paths." +#: src/as-provided.c:164 +msgid "Flashed Firmware" msgstr "" -#: tools/ascli-actions-misc.c:123 -#, c-format -msgid "Found %i components." +#: src/as-provided.c:166 +msgid "Component" msgstr "" -#. TRANSLATORS: 'version' is an AppStream XML property. Please do not translate it. -#: src/as-validator-issue-tag.h:260 -msgid "" -"Found 'version' property on required/recommended item of a type that should " -"not have or require a version." +#: src/as-validator-issue-tag.h:41 +msgid "This tag requires a type property." msgstr "" -#. TRANSLATORS: 'version' and 'compare' are AppStream XML properties. Please do not translate them. -#: src/as-validator-issue-tag.h:266 -msgid "" -"Found 'version' property on this required/recommended item, but not " -"'compare' property. It is recommended to explicitly define a comparison " -"operation." +#: src/as-validator-issue-tag.h:46 +msgid "Tags of this name are not permitted in this section." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:277 +#: src/as-validator-issue-tag.h:51 msgid "" -"Found a memory size dependency in a 'requires' tag. This means users will " -"not be able to even install the component without having enough RAM. This is " -"usually not intended and you want to use 'memory' in the 'recommends' tag " -"instead." +"A tag must not be localized in metainfo files (upstream " +"metadata). Localize the individual paragraphs instead." msgstr "" -#: src/as-validator-issue-tag.h:248 +#: src/as-validator-issue-tag.h:57 msgid "" -"Found an unknown tag in a requires/recommends group. This is likely an " -"error, because a component relation of this type is unknown." +"This element (paragraph, list, etc.) of a tag must not be " +"localized individually in collection metadata. Localize the whole " +" tag instead. The AppStream collection metadata generator (e." +"g. `appstream-generator`) will already do the right thing when compiling the " +"data." msgstr "" -#: src/as-validator-issue-tag.h:427 +#: src/as-validator-issue-tag.h:63 msgid "" -"Found invalid tag. Non-standard tags should be prefixed with 'x-'. AppStream " -"also provides the tag to add arbitrary custom data to metainfo " -"files. This tag is read by AppStream libraries and may be useful instead of " -"defining new custom toplevel or 'x-'-prefixed tags if you just want to add " -"custom data to a metainfo file." +"AppStream descriptions support only a limited set of tags to format text: " +"Paragraphs (

                                                                                                                                                                                                                                                                                                                                                            ) and lists (

                                                                                                                                                                                                                                                                                                                                                              ,
                                                                                                                                                                                                                                                                                                                                                                ). This description markup contains " +"an invalid XML tag that would not be rendered correctly in applications " +"supporting the metainfo specification." msgstr "" -#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. -#: src/as-validator.c:526 src/as-validator.c:939 src/as-validator.c:1024 -#: src/as-validator.c:1237 -#, c-format -msgid "Found: %s - Allowed: %s" +#: src/as-validator-issue-tag.h:69 +msgid "" +"This description paragraph contains invalid markup. Currently, only " +"and are permitted." msgstr "" -#. TRANSLATORS: this is the menu spec main category for Game -#: src/as-category.c:311 -msgid "Games" +#: src/as-validator-issue-tag.h:74 +msgid "Enumerations must only have list items (
                                                                                                                                                                                                                                                                                                                                                              1. ) as children." msgstr "" -#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command -#: tools/appstream-cli.c:814 -msgid "Generate the output in the selected format ('yaml' or 'text')." +#: src/as-validator-issue-tag.h:79 +msgid "" +"The first `description/p` paragraph of this component might be too short (< " +"80 characters). Please consider starting with a longer paragraph to improve " +"how the description looks like in software centers and to provide more " +"detailed information on this component immediately in the first paragraph." msgstr "" -#: tools/appstream-cli.c:849 -msgid "Get components which provide the given item." +#: src/as-validator-issue-tag.h:86 +msgid "" +"The description contains a web URL in plain text. This is not allowed, " +"please use the tag instead to share links." msgstr "" -#: tools/appstream-cli.c:848 -msgid "Get information about a component by its ID." +#: src/as-validator-issue-tag.h:91 +msgid "" +"As per AppStream specification, the mentioned tag must only appear once in " +"this context. Having multiple tags of this kind is not valid." msgstr "" -#. TRANSLATORS: this is the menu spec main category for Graphics -#: src/as-category.c:314 -msgid "Graphics & Photography" +#: src/as-validator-issue-tag.h:96 +msgid "" +"The mentioned tag is empty, which is highly likely not intended as it should " +"have content." msgstr "" -#: tools/ascli-utils.c:300 -msgid "Homepage" -msgstr "Domača stran" - -#: src/as-category.c:89 -msgctxt "Category of Development" -msgid "IDEs" +#: src/as-validator-issue-tag.h:101 +msgid "" +"The component ID is required to follow a reverse domain-name scheme for its " +"name. See the AppStream specification for details." msgstr "" -#: tools/ascli-utils.c:301 -msgid "Icon" -msgstr "Ikona" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:351 -msgid "Icons of type 'remote' must contain an URL to the referenced icon." +#: src/as-validator-issue-tag.h:106 +msgid "" +"The component ID is not a reverse domain-name. Please update the ID to avoid " +"future issues and be compatible with all AppStream implementations.\n" +"You may also consider to update the name of the accompanying .desktop file " +"to follow the latest version of the Desktop-Entry specification and use a " +"rDNS name for it as well. In any case, do not forget to mention the new " +"desktop-entry in a tag for this component to keep the " +"application launchable from software centers and the .desktop file data " +"associated with the metainfo data." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:344 +#: src/as-validator-issue-tag.h:114 msgid "" -"Icons of type 'stock' or 'cached' must not contain an URL, a full or an " -"relative path to the icon. Only file basenames or stock names are allowed." +"The component ID might not follow the reverse domain-name schema (the TLD " +"used by it is not known to the validator)." msgstr "" -#: tools/ascli-actions-misc.c:94 -msgid "Iconsets" +#: src/as-validator-issue-tag.h:119 +msgid "" +"The component ID contains an invalid character. Only ASCII characters, dots " +"and numbers are permitted." msgstr "" -#: tools/ascli-utils.c:295 -msgid "Identifier" -msgstr "Identifikator" +#: src/as-validator-issue-tag.h:124 +msgid "" +"The component ID contains a hyphen/minus. Using a hyphen is strongly " +"discouraged, to improve interoperability with other tools such as D-Bus. A " +"good option is to replace any hyphens with underscores (`_`)." +msgstr "" -#: src/as-category.c:217 -msgctxt "Category of Addons" -msgid "Input Sources" +#: src/as-validator-issue-tag.h:130 +msgid "" +"The component ID contains a segment starting with a number. Starting a " +"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " +"interoperability with other tools such as D-Bus. Ideally, prefix these " +"segments with an underscore." msgstr "" -#: tools/appstream-cli.c:863 -msgid "Install a metadata file into the right location." +#: src/as-validator-issue-tag.h:136 +msgid "The component ID should only contain lowercase letters." msgstr "" -#: tools/appstream-cli.c:859 -msgid "Install software matching the component-ID." +#: src/as-validator-issue-tag.h:141 +msgid "" +"The component is part of the Freedesktop project, but its ID does not start " +"with fd.o's reverse-DNS name (\"org.freedesktop\")." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:373 +#: src/as-validator-issue-tag.h:146 msgid "" -"Invalid 'type' property for this 'url' tag. URLs of this type are not known " -"in the AppStream specification." +"The component is part of the KDE project, but its ID does not start with " +"KDEs reverse-DNS name (\"org.kde\")." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:553 +#: src/as-validator-issue-tag.h:151 msgid "" -"Invalid tag found in collection metadata. Only 'component' tags are " -"permitted." +"The component is part of the GNOME project, but its ID does not start with " +"GNOMEs reverse-DNS name (\"org.gnome\")." msgstr "" -#: tools/ascli-actions-mdata.c:213 -msgid "Invalid type for provided item selected. Valid values are:" +#: src/as-validator-issue-tag.h:156 +msgid "The SPDX license expression is invalid and could not be parsed." msgstr "" -#: src/as-validator-issue-tag.h:271 +#: src/as-validator-issue-tag.h:161 msgid "" -"Invalid version comparison operation on relation item. Only eq/ne/lt/gt/le/" -"ge are permitted." +"The license ID was not found in the SPDX database. Please check that the " +"license ID is written in an SPDX-conformant way and is a valid free software " +"license." msgstr "" -#: src/as-validator-issue-tag.h:450 +#: src/as-validator-issue-tag.h:167 msgid "" -"It is recommended to add a long description to this component to present it " -"better to users." +"The metadata itself seems to be licensed under a complex collection of " +"licenses. Please license the data under a simple permissive license, like " +"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " +"collections without the risk of license violations due to mutually " +"incompatible licenses." msgstr "" -#: src/as-validator-issue-tag.h:445 +#: src/as-validator-issue-tag.h:173 msgid "" -"It would be useful to add a long description to this font to present it " -"better to users." +"The metadata itself does not seem to be licensed under a permissive license. " +"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " +"0BSD to allow distributors to include it in mixed data collections without " +"the risk of license violations due to mutually incompatible licenses." msgstr "" -#: src/as-category.c:144 -msgctxt "Category of Games" -msgid "Kids" +#: src/as-validator-issue-tag.h:179 +msgid "" +"The update-contact does not appear to be a valid email address (escaping of " +"`@` is only allowed as `_at_` or `_AT_`)." msgstr "" -#: src/as-category.c:220 -msgctxt "Category of Addons" -msgid "Language Packs" +#: src/as-validator-issue-tag.h:184 +msgid "" +"Unable to reach the screenshot image on its remote location - does the image " +"exist?" msgstr "" -#: src/as-category.c:107 -msgctxt "Category of Education" -msgid "Languages" +#: src/as-validator-issue-tag.h:189 +msgid "" +"Unable to reach the screenshot video on its remote location - does the video " +"file exist?" msgstr "" -#: src/as-provided.c:144 -msgid "Libraries" +#: src/as-validator-issue-tag.h:194 +msgid "" +"Consider using a secure (HTTPS) URL to reference this screenshot image or " +"video." msgstr "" -#. license -#: tools/ascli-utils.c:363 -msgid "License" -msgstr "Dovoljenje" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:629 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:200 msgid "" -"Licenses for 'runtime' components are usually too complex to reflect them in " -"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " -"value for this component's 'project_license'. E.g. `LicenseRef-free=https://" -"example.com/licenses.html`" +"A screenshot must contain at least one image or video in order to be useful. " +"Please add an to it." msgstr "" -#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command -#: tools/appstream-cli.c:771 +#: src/as-validator-issue-tag.h:205 msgid "" -"Limit the number of release entries that end up in the metainfo file (0 for " -"unlimited)." +"A screenshot must contain either images or videos, but not both at the same " +"time. Please use this screenshot exclusively for either static images or for " +"videos." msgstr "" -#: src/as-category.c:223 -msgctxt "Category of Addons" -msgid "Localization" +#: src/as-validator-issue-tag.h:211 +msgid "The screenshot does not have a caption text. Consider adding one." msgstr "" -#: src/as-category.c:147 -msgctxt "Category of Games" -msgid "Logic" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:217 +msgid "" +"The screenshot video does not specify which video codec was used in a " +"`codec` property." msgstr "" -#. TRANSLATORS: ascli flag description for: --no-cache -#: tools/appstream-cli.c:67 -msgid "Make request without any caching." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:223 +msgid "" +"The screenshot video does not specify which container format was used in a " +"`container` property." msgstr "" -#. TRANSLATORS: ascli flag description for: --cachepath -#: tools/appstream-cli.c:57 -#, fuzzy -msgid "Manually selected location of AppStream cache." -msgstr "Ročno določite mesto predpomnilnika AppStream" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:229 +msgid "" +"The selected video codec is not supported by AppStream and software centers " +"may not be able to play the video. Only the AV1 and VP9 codecs are currently " +"supported, using `av1` and `vp9` as values for the `codec` property." +msgstr "" -#. TRANSLATORS: ascli flag description for: --datapath -#: tools/appstream-cli.c:62 -#, fuzzy -msgid "Manually selected location of AppStream metadata to scan." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:236 +msgid "" +"The selected video container format is not supported by AppStream and " +"software centers may not be able to play the video. Only the WebM and " +"Matroska video containers are currently supported, using `webm` and `mkv` as " +"values for the `container` property." msgstr "" -"Ročno določite mesto metapodatkov AppStream za regeneracijo predpomnilnika" -#: src/as-pool.c:1280 +#: src/as-validator-issue-tag.h:242 msgid "" -"Many components have been recognized as invalid. See debug output for " -"details." +"For videos, only the WebM and Matroska (.mkv) container formats are " +"currently supported. The file extension of the referenced video does not " +"belong to either of these formats." msgstr "" -#: src/as-category.c:111 -msgctxt "Category of Education" -msgid "Math" +#: src/as-validator-issue-tag.h:248 +msgid "" +"The default screenshot of a software component must not be a video. Use a " +"static image as default screenshot and set the video as a secondary " +"screenshot." msgstr "" -#: src/as-category.c:243 -msgctxt "Category of Science" -msgid "Math" +#: src/as-validator-issue-tag.h:253 +msgid "" +"Found an unknown tag in a requires/recommends group. This is likely an " +"error, because a component relation of this type is unknown." msgstr "" -#: src/as-provided.c:148 -msgid "Media types" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:259 +msgid "" +"A `requires` or `recommends` item requires a value to denote a valid " +"relation." msgstr "" -#: tools/ascli-actions-mdata.c:364 -#, c-format -msgid "Metadata file '%s' does not exist." +#. TRANSLATORS: `version` is an AppStream XML property. Please do not translate it. +#: src/as-validator-issue-tag.h:265 +msgid "" +"Found `version` property on required/recommended item of a type that should " +"not have or require a version." msgstr "" -#: src/as-pool.c:881 -msgid "Metadata files have errors:" +#. TRANSLATORS: `version` and `compare` are AppStream XML properties. Please do not translate them. +#: src/as-validator-issue-tag.h:271 +msgid "" +"Found `version` property on this required/recommended item, but not " +"`compare` property. It is recommended to explicitly define a comparison " +"operation." msgstr "" -#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 -#: tools/ascli-actions-misc.c:515 -#, c-format -msgid "Metainfo file '%s' does not exist." +#: src/as-validator-issue-tag.h:276 +msgid "" +"Invalid comparison operation on relation item. Only eq/ne/lt/gt/le/ge are " +"permitted." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:367 +#: src/as-validator-issue-tag.h:281 msgid "" -"Metainfo files may only contain icons of type 'stock' or 'remote', the set " -"type is not allowed." +"The relation item has a comparison operation set, but does not support any " +"comparisons." msgstr "" -#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report -#: tools/ascli-actions-misc.c:116 -msgid "Metainfo files:" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:287 +msgid "" +"Found a memory size relation in a `requires` tag. This means users will not " +"be able to even install the component without having enough RAM. This is " +"usually not intended and you want to use `memory` in the `recommends` tag " +"instead." msgstr "" -#: src/as-provided.c:152 -msgid "Modaliases" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:294 +msgid "" +"Found a user input control relation in a `requires` tag. This means users " +"will not be able to even install the component without having the defined " +"input control available on the system. This is usually not intended and you " +"want to use `control` in the `recommends` tag instead." msgstr "" -#: src/as-category.c:74 -msgctxt "Category of AudioVideo" -msgid "Music Players" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:301 +msgid "" +"This `control` item defines an unknown input method and is invalid. Check " +"the specification for a list of permitted values." msgstr "" -#: tools/ascli-utils.c:296 -msgid "Name" -msgstr "Ime" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:307 +msgid "" +"This `display_length` item contains an invalid display length. Its value " +"must either be a shorthand string, or positive integer value denoting " +"logical pixels. Please refer to the AppStream specification for more " +"information on this tag." +msgstr "" -#: src/as-category.c:266 -msgctxt "Category of Communication" -msgid "News" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:314 +msgid "" +"This `side` property of this `display_length` item contains an invalid " +"value. It must either be `shortest` or `longest`, or unset to imply " +"`shortest` to make the item value refer to either the shortest or longest " +"side of the display." msgstr "" -#: src/as-validator-issue-tag.h:589 -msgid "No AppStream metadata was found in this directory or directory tree." +#: src/as-validator-issue-tag.h:320 +msgid "" +"The set component type is not a recognized, valid AppStream component type." msgstr "" -#. pedantic because not everything which has metadata is an application -#: src/as-validator-issue-tag.h:594 -msgid "No XDG applications directory found." +#: src/as-validator-issue-tag.h:325 +msgid "" +"The component has a priority value set. This is not allowed in metainfo " +"files." msgstr "" -#: tools/ascli-actions-mdata.c:182 -#, c-format -msgid "No component matching '%s' found." -msgstr "Komponente, ki se ujema z »%s«, ni mogoče najti." +#: src/as-validator-issue-tag.h:330 +msgid "" +"The component has a `merge` method defined. This is not allowed in metainfo " +"files." +msgstr "" -#: tools/ascli-actions-misc.c:105 -msgid "No icons." +#: src/as-validator-issue-tag.h:335 +msgid "The component is missing an ID ( tag)." msgstr "" -#: tools/ascli-actions-misc.c:402 -msgid "No output filename specified, modifying metainfo file directly." +#: src/as-validator-issue-tag.h:340 +msgid "The component is missing a name ( tag)." msgstr "" -#: tools/ascli-actions-misc.c:306 -msgid "" -"No provided binary specified in metainfo file, and no exec command specified " -"via '--exec'. Can not create 'Exec=' key." +#: src/as-validator-issue-tag.h:345 +msgid "The component is missing a summary ( tag)." msgstr "" -#: tools/ascli-actions-misc.c:284 -msgid "No stock icon name was provided in the metainfo file. Can not continue." +#: src/as-validator-issue-tag.h:350 +msgid "" +"The tag still contains a `type` property, probably from an old " +"conversion to the recent metainfo format." msgstr "" -#: tools/ascli-actions-pkgmgr.c:53 +#: src/as-validator-issue-tag.h:355 msgid "" -"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" -"\" (part of PackageKit) is available." +"The `pkgname` tag appears multiple times. You should evaluate creating a " +"metapackage containing the metainfo and .desktop files in order to avoid " +"defining multiple package names per component." msgstr "" -#: tools/ascli-actions-mdata.c:206 -msgid "No value for the item to search for was defined." +#: src/as-validator-issue-tag.h:360 +msgid "The component name should (likely) not end with a dot (`.`)." msgstr "" -#. TRANSLATORS: this is the menu spec main category for Office -#: src/as-category.c:317 -msgid "Office" +#: src/as-validator-issue-tag.h:365 +msgid "The component summary should not end with a dot (`.`)." msgstr "" -#. TRANSLATORS: An unknown option was passed to appstreamcli. -#: tools/appstream-cli.c:192 -#, fuzzy, c-format -msgid "Option '%s' is unknown." -msgstr "Ukaz »%s« ni znan." +#: src/as-validator-issue-tag.h:370 +msgid "The component summary must not contain tabs or linebreaks." +msgstr "" -#: tools/ascli-utils.c:298 -msgid "Package" -msgstr "Paket" +#: src/as-validator-issue-tag.h:375 +msgid "The summary must not contain any URL. Use the tags for links." +msgstr "" -#: src/as-category.c:171 -msgctxt "Category of Graphics" -msgid "Photography" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:381 +msgid "" +"Icons of type `stock` or `cached` must not contain an URL, a full or an " +"relative path to the icon. Only file basenames or stock names are allowed." msgstr "" -#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) -#: tools/appstream-cli.c:121 -#, fuzzy -msgid "Print detailed explanation for found issues." -msgstr "Natisni podroben izpis o najdenih komponentah" - -#. TRANSLATORS: ascli flag description for: --details -#: tools/appstream-cli.c:98 -#, fuzzy -msgid "Print detailed output about found components." -msgstr "Natisni podroben izpis o najdenih komponentah" - -#. project group -#: tools/ascli-utils.c:360 -msgid "Project Group" -msgstr "Projektna skupina" - -#: tools/ascli-utils.c:405 -msgid "Provided Items" -msgstr "Ponujeni elementi" - -#: src/as-provided.c:154 -msgid "Python (Version 2)" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:388 +msgid "Icons of type `remote` must contain an URL to the referenced icon." msgstr "" -#: src/as-provided.c:156 -msgid "Python 3" +#: src/as-validator-issue-tag.h:393 +msgid "Unable to reach remote icon at the given web location - does it exist?" msgstr "" -#: tools/appstream-cli.c:854 -msgid "Rebuild the component metadata cache." +#: src/as-validator-issue-tag.h:398 +msgid "Consider using a secure (HTTPS) URL for the remote icon link." msgstr "" -#: tools/appstream-cli.c:860 -msgid "Remove software matching the component-ID." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:404 +msgid "" +"Metainfo files may only contain icons of type `stock` or `remote`, the set " +"type is not allowed." msgstr "" -#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty -#: src/as-validator.c:364 -msgid "Retrieved file size was zero." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:410 +msgid "" +"Invalid `type` property for this `url` tag. URLs of this type are not known " +"in the AppStream specification." msgstr "" -#: src/as-category.c:248 -msgctxt "Category of Science" -msgid "Robotics" +#: src/as-validator-issue-tag.h:415 +msgid "" +"Unable to reach remote location that this URL references - does it exist?" msgstr "" -#: src/as-category.c:150 -msgctxt "Category of Games" -msgid "Role Playing" +#: src/as-validator-issue-tag.h:420 +msgid "Consider using a secure (HTTPS) URL for this web link." msgstr "" -#: tools/appstream-cli.c:196 tools/appstream-cli.c:926 -#, c-format -msgid "Run '%s --help' to see a full list of available command line options." +#: src/as-validator-issue-tag.h:425 +msgid "A web URL was expected for this value." msgstr "" -"Zaženite »%s --help«, da se izpiše poln seznam možnosti ukazne vrstice." -#: tools/appstream-cli.c:198 -#, fuzzy, c-format +#: src/as-validator-issue-tag.h:430 msgid "" -"Run '%s --help' to see a list of available commands and options, and '%s %s " -"--help' to see a list of options specific for this subcommand." +"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." msgstr "" -"Zaženite »%s --help«, da se izpiše poln seznam možnosti ukazne vrstice." -#: src/as-provided.c:162 -msgid "Runtime Firmware" +#: src/as-validator-issue-tag.h:435 +msgid "The can not contain a hyperlink." msgstr "" -#: src/as-category.c:174 -msgctxt "Category of Graphics" -msgid "Scanning" +#: src/as-validator-issue-tag.h:440 +msgid "" +"The set value is not an identifier for a desktop environment as registered " +"with Freedesktop.org." msgstr "" -#. TRANSLATORS: this is the menu spec main category for Science -#: src/as-category.c:323 -msgid "Science" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:446 +msgid "This `launchable` tag has an unknown type and can not be used." msgstr "" -#: tools/appstream-cli.c:847 -msgid "Search the component database." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:452 +msgid "This `bundle` tag has an unknown type and can not be used." msgstr "" -#: src/as-category.c:293 -msgctxt "Category of Utility" -msgid "Security" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:458 +msgid "" +"The `update_contact` tag should not be included in collection AppStream XML." msgstr "" -#. TRANSLATORS: ascli flag description for: --verbose -#: tools/appstream-cli.c:903 -#, fuzzy -msgid "Show extra debugging information." -msgstr "Pokaži dodatne podatke razhroščevanja" - -#. TRANSLATORS: ascli flag description for: --version -#: tools/appstream-cli.c:897 -#, fuzzy -msgid "Show the program version." -msgstr "Pokaži različico programa" +#: src/as-validator-issue-tag.h:463 +msgid "" +"This tag is a GNOME-specific extension to AppStream and not part of the " +"official specification. Do not expect it to work in all implementations and " +"in all software centers." +msgstr "" -#: src/as-validator-issue-tag.h:635 +#: src/as-validator-issue-tag.h:469 msgid "" -"Since a 'runtime' component is comprised of multiple other software " -"components, their component-IDs may be listed in a `` section for " -"this runtime." +"Found invalid tag. Non-standard tags should be prefixed with `x-`. AppStream " +"also provides the tag to add arbitrary custom data to metainfo " +"files. This tag is read by AppStream libraries and may be useful instead of " +"defining new custom toplevel or `x-`-prefixed tags if you just want to add " +"custom data to a metainfo file." msgstr "" -#: src/as-category.c:153 -msgctxt "Category of Games" -msgid "Sports" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:477 +msgid "" +"The essential tag `metadata_license` is missing. A license for the metadata " +"itself always has to be defined." msgstr "" -#: src/as-category.c:157 -msgctxt "Category of Games" -msgid "Strategy" +#: src/as-validator-issue-tag.h:482 +msgid "" +"The component is missing a long description. Components of this type must " +"have a long description." msgstr "" -#. these are commands we can use with appstreamcli -#: tools/appstream-cli.c:845 -msgid "Subcommands:" -msgstr "Podukazi:" +#: src/as-validator-issue-tag.h:487 +msgid "" +"It would be useful to add a long description to this font to present it " +"better to users." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:527 +#: src/as-validator-issue-tag.h:492 msgid "" -"Suggestions of any type other than 'upstream' are not allowed in metainfo " -"files." +"It is recommended to add a long description to this component to present it " +"better to users." msgstr "" -#: tools/ascli-utils.c:297 -msgid "Summary" -msgstr "Povzetek" +#: src/as-validator-issue-tag.h:497 +msgid "" +"This generic component is missing a long description. It may be useful to " +"add one." +msgstr "" -#. TRANSLATORS: Status summary in ascli -#: tools/ascli-actions-misc.c:145 -msgid "Summary:" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:503 +msgid "" +"Type `console-application` component, but no information about binaries in " +"$PATH was provided via a `provides/binary` tag." msgstr "" -#: src/as-category.c:290 -msgctxt "Category of Utility" -msgid "System Monitoring" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:509 +msgid "" +"This `web-application` component is missing a `launchable` tag of type `url`." msgstr "" -#: src/as-validator-issue-tag.h:46 -msgid "Tags of this name are not permitted in this section." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:515 +msgid "" +"This `web-application` component is missing a `icon` tag to specify a valid " +"icon." msgstr "" -#: src/as-category.c:284 -msgctxt "Category of Utility" -msgid "Terminal Emulators" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:521 +msgid "" +"This `web-application` component is missing categorizations. A `categories` " +"block is likely missing." msgstr "" -#: src/as-category.c:281 -msgctxt "Category of Utility" -msgid "Text Editors" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:527 +msgid "" +"Type `font` component, but no font information was provided via a `provides/" +"font` tag." msgstr "" -#: src/as-validator-issue-tag.h:318 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:533 msgid "" -"The 'pkgname' tag appears multiple times. You should evaluate creating a " -"metapackage containing the metainfo and .desktop files in order to avoid " -"defining multiple package names per component." +"Type `driver` component, but no modalias information was provided via a " +"`provides/modalias` tag." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:416 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:539 msgid "" -"The 'update_contact' tag should not be included in collection AppStream XML." +"An `extends` tag is specified, but the component is not of type `addon`, " +"`localization` or `repository`." msgstr "" -#: tools/ascli-actions-mdata.c:467 -#, c-format -msgid "The .desktop file '%s' does not exist." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:545 +msgid "The component is an addon, but no `extends` tag was specified." msgstr "" -#: src/as-validator-issue-tag.h:393 -msgid "The can not contain a hyperlink." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:551 +msgid "" +"This `localization` component is missing an `extends` tag, to specify the " +"components it adds localization to." msgstr "" -#: src/as-validator-issue-tag.h:313 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:557 msgid "" -"The tag still contains a 'type' property, probably from an old " -"conversion to the recent metainfo format." +"This `localization` component does not define any languages this " +"localization is for." msgstr "" -#: src/as-validator-issue-tag.h:616 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:563 msgid "" -"The AppStream specification requires a complete, ISO 8601 date string with " -"at least day-granularity to denote dates. Please ensure the date string is " -"valid." +"This `service` component is missing a `launchable` tag of type `service`." msgstr "" -#: src/as-pool.c:1924 -#, c-format +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:569 msgid "" -"The AppStream system cache was updated, but problems were found which " -"resulted in metadata being ignored: %s" +"Suggestions of any type other than `upstream` are not allowed in metainfo " +"files." msgstr "" -#: src/as-pool.c:1922 +#: src/as-validator-issue-tag.h:574 msgid "" -"The AppStream system cache was updated, but some components were ignored. " -"Refer to the verbose log for more information." +"The category name is not valid. Refer to the XDG Menu Specification for a " +"list of valid category names." msgstr "" -#: src/as-validator-issue-tag.h:151 -msgid "The SPDX license expression is invalid and could not be parsed." +#: src/as-validator-issue-tag.h:579 +msgid "The screenshot caption is too long (should be <= 80 characters)" msgstr "" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows -#: tools/appstream-cli.c:683 -#, c-format -msgid "The TYPE must be a valid component-type, such as: %s" +#: src/as-validator-issue-tag.h:584 +msgid "Unable to read file." msgstr "" -#: src/as-validator-issue-tag.h:547 +#: src/as-validator-issue-tag.h:589 msgid "The XML of this file is malformed." msgstr "" -#: src/as-validator-issue-tag.h:584 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:595 msgid "" -"The category defined in the .desktop file is not valid. Refer to the XDG " -"Menu Specification for a list of valid categories." +"Invalid tag found in collection metadata. Only `component` tags are " +"permitted." msgstr "" -#: src/as-validator-issue-tag.h:532 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:601 msgid "" -"The category name is not valid. Refer to the XDG Menu Specification for a " -"list of valid category names." +"The metainfo file uses an ancient version of the AppStream specification, " +"which can not be validated. Please migrate it to version 0.6 (or higher)." msgstr "" -#: src/as-validator-issue-tag.h:124 +#: src/as-validator-issue-tag.h:606 msgid "" -"The component ID contains a hyphen/minus. Using a hyphen is strongly " -"discouraged, to improve interoperability with other tools such as D-Bus. A " -"good option is to replace any hyphens with underscores ('_')." +"This XML document has an unknown root tag. Maybe this file is not a metainfo " +"document?" msgstr "" -#: src/as-validator-issue-tag.h:130 -msgid "" -"The component ID contains a segment starting with a number. Starting a " -"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " -"interoperability with other tools such as D-Bus. Ideally, prefix these " -"segments with an underscore." +#: src/as-validator-issue-tag.h:611 +msgid "The metainfo filename does not match the component ID." msgstr "" -#: src/as-validator-issue-tag.h:119 -msgid "" -"The component ID contains an invalid character. Only ASCII characters, dots " -"and numbers are permitted." +#: src/as-validator-issue-tag.h:616 +msgid "Unable to read the .desktop file associated with this component." msgstr "" -#: src/as-validator-issue-tag.h:106 -msgid "" -"The component ID is not a reverse domain-name. Please update the ID to avoid " -"future issues and be compatible with all AppStream implementations.\n" -"You may also consider to update the name of the accompanying .desktop file " -"to follow the latest version of the Desktop-Entry specification and use a " -"rDNS name for it as well. In any case, do not forget to mention the new " -"desktop-entry in a tag for this component to keep the " -"application launchable from software centers and the .desktop file data " -"associated with the metainfo data." +#: src/as-validator-issue-tag.h:621 +msgid "This component metadata refers to a non-existing .desktop file." msgstr "" -#: src/as-validator-issue-tag.h:101 +#: src/as-validator-issue-tag.h:626 msgid "" -"The component ID is required to follow a reverse domain-name scheme for its " -"name. See the AppStream specification for details." +"The category defined in the .desktop file is not valid. Refer to the XDG " +"Menu Specification for a list of valid categories." msgstr "" -#: src/as-validator-issue-tag.h:114 -msgid "" -"The component ID might not follow the reverse domain-name schema (the TLD " -"used by it is not known to the validator)." +#: src/as-validator-issue-tag.h:631 +msgid "No AppStream metadata was found in this directory or directory tree." msgstr "" -#: src/as-validator-issue-tag.h:293 -msgid "" -"The component has a 'merge' method defined. This is not allowed in metainfo " -"files." +#. pedantic because not everything which has metadata is an application +#: src/as-validator-issue-tag.h:636 +msgid "No XDG applications directory found." msgstr "" -#: src/as-validator-issue-tag.h:288 +#: src/as-validator-issue-tag.h:641 msgid "" -"The component has a priority value set. This is not allowed in metainfo " -"files." +"The metainfo file is stored in a legacy path. Please place it in `/usr/share/" +"metainfo/`." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:503 -msgid "The component is an addon, but no 'extends' tag was specified." +#: src/as-validator-issue-tag.h:646 +msgid "The metainfo file specifies multiple components. This is not allowed." msgstr "" -#: src/as-validator-issue-tag.h:440 +#: src/as-validator-issue-tag.h:651 msgid "" -"The component is missing a long description. Components of this type must " -"have a long description." -msgstr "" - -#: src/as-validator-issue-tag.h:303 -msgid "The component is missing a name ( tag)." +"The releases are not sorted in a latest to oldest version order. This is " +"required as some tools will assume that the latest version is always at the " +"top. Sorting releases also increases overall readability of the metainfo " +"file." msgstr "" -#: src/as-validator-issue-tag.h:308 -msgid "The component is missing a summary ( tag)." +#: src/as-validator-issue-tag.h:658 +msgid "The value set as release urgency is not a known urgency value." msgstr "" -#: src/as-validator-issue-tag.h:298 -msgid "The component is missing an ID ( tag)." +#: src/as-validator-issue-tag.h:663 +msgid "The value set as release type is invalid." msgstr "" -#: src/as-validator-issue-tag.h:136 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:669 msgid "" -"The component is part of the Freedesktop project, but its ID does not start " -"with fd.o's reverse-DNS name (\"org.freedesktop\")." +"The value set as artifact type is invalid. Must be either `source` or " +"`binary`." msgstr "" -#: src/as-validator-issue-tag.h:146 -msgid "" -"The component is part of the GNOME project, but its ID does not start with " -"GNOMEs reverse-DNS name (\"org.gnome\")." +#: src/as-validator-issue-tag.h:674 +msgid "The value set as artifact bundle type is invalid." msgstr "" -#: src/as-validator-issue-tag.h:141 +#: src/as-validator-issue-tag.h:679 msgid "" -"The component is part of the KDE project, but its ID does not start with " -"KDEs reverse-DNS name (\"org.kde\")." +"The platform triplet for this release is invalid. It must be in the form of " +"`architecture-oskernel-osenv` - refer to the AppStream documentation or " +"information on normalized GNU triplets for more information and valid fields." msgstr "" -#: src/as-validator-issue-tag.h:323 -msgid "The component name should (likely) not end with a dot ('.')." +#: src/as-validator-issue-tag.h:686 +msgid "The selected checksumming algorithm is unsupported or unknown." msgstr "" -#: src/as-validator-issue-tag.h:333 -msgid "The component summary must not contain tabs or linebreaks." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:692 +msgid "The size type is unknown. Must be `download` or `installed`." msgstr "" -#: src/as-validator-issue-tag.h:328 -msgid "The component summary should not end with a dot ('.')." +#: src/as-validator-issue-tag.h:697 +msgid "" +"The artifact filename must be a file basename, not a (relative or absolute) " +"path." msgstr "" -#: src/as-validator-issue-tag.h:243 -msgid "" -"The default screenshot of a software component must not be a video. Use a " -"static image as default screenshot and set the video as a secondary " -"screenshot." +#: src/as-validator-issue-tag.h:702 +msgid "The value set as release issue type is invalid." msgstr "" -#: src/as-validator-issue-tag.h:86 +#: src/as-validator-issue-tag.h:707 msgid "" -"The description contains a web URL in plain text. This is not allowed, " -"please use the tag instead to share links." +"The issue is tagged at security vulnerability with a CVE number, but its " +"value does not look like a valid CVE identifier." msgstr "" -#: src/as-validator.c:152 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:713 msgid "" -"The emitted issue tag is unknown in the tag registry of AppStream. This is a " -"bug in the validator itself, please report this issue in our bugtracker." +"This component is missing information about releases. Consider adding a " +"`releases` tag to describe releases and their changes." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:435 +#: src/as-validator-issue-tag.h:718 msgid "" -"The essential tag 'metadata_license' is missing. A license for the metadata " -"itself always has to be defined." +"The AppStream specification requires a complete, ISO 8601 date string with " +"at least day-granularity to denote dates. Please ensure the date string is " +"valid." msgstr "" -#: src/as-validator-issue-tag.h:79 +#: src/as-validator-issue-tag.h:724 msgid "" -"The first 'description/p' paragraph of this component might be too short (< " -"80 characters). Please consider starting with a longer paragraph to improve " -"how the description looks like in software centers and to provide more " -"detailed information on this component immediately in the first paragraph." +"This component extends, provides, requires or recommends itself, which is " +"certainly not intended and may confuse users or machines dealing with this " +"metadata." msgstr "" -#: src/as-validator-issue-tag.h:156 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:731 msgid "" -"The license ID was not found in the SPDX database. Please check that the " -"license ID is written in an SPDX-conformant way and is a valid free software " -"license." +"Licenses for `runtime` components are usually too complex to reflect them in " +"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " +"value for this component's `project_license`. E.g. `LicenseRef-free=https://" +"example.com/licenses.html`" msgstr "" -#: src/as-validator-issue-tag.h:96 +#: src/as-validator-issue-tag.h:737 msgid "" -"The mentioned tag is empty, which is highly likely not intended as it should " -"have content." +"Since a `runtime` component is comprised of multiple other software " +"components, their component-IDs may be listed in a `` section for " +"this runtime." msgstr "" -#: src/as-validator-issue-tag.h:168 +#: src/as-validator-issue-tag.h:742 msgid "" -"The metadata itself does not seem to be licensed under a permissive license. " -"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " -"0BSD to allow distributors to include it in mixed data collections without " -"the risk of license violations due to mutually incompatible licenses." +"The type of the item that the component provides is not known to AppStream." msgstr "" -#: src/as-validator-issue-tag.h:162 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:748 msgid "" -"The metadata itself seems to be licensed under a complex collection of " -"licenses. Please license the data under a simple permissive license, like " -"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " -"collections without the risk of license violations due to mutually " -"incompatible licenses." +"The toplevel `mimetypes` tag is deprecated. Please use `mediatype` tags in a " +"`provides` block instead to indicate that your software provides a media " +"handler for the given types." msgstr "" -#: src/as-validator-issue-tag.h:599 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks) and keep the URL intact. +#: src/as-validator-issue-tag.h:755 msgid "" -"The metainfo file is stored in a legacy path. Please place it in '/usr/share/" -"metainfo'." -msgstr "" - -#: src/as-validator-issue-tag.h:604 -msgid "The metainfo file specifies multiple components. This is not allowed." +"This component has no `content_rating` tag to provide age rating " +"information. You can generate the tag data online by answering a few " +"questions at https://hughsie.github.io/oars/" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:559 +#: src/as-validator.c:150 msgid "" -"The metainfo file uses an ancient version of the AppStream specification, " -"which can not be validated. Please migrate it to version 0.6 (or higher)." +"The emitted issue tag is unknown in the tag registry of AppStream. This is a " +"bug in the validator itself, please report this issue in our bugtracker." msgstr "" -#: src/as-validator-issue-tag.h:569 -msgid "The metainfo filename does not match the component ID." +#: src/as-validator.c:344 +msgid "URL format is invalid." msgstr "" -#: src/as-validator-issue-tag.h:609 -msgid "" -"The releases are not sorted in a latest to oldest version order. This is " -"required as some tools will assume that the latest version is always at the " -"top. Sorting releases also increases overall readability of the metainfo " -"file." +#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. +#: src/as-validator.c:522 src/as-validator.c:937 src/as-validator.c:1031 +#: src/as-validator.c:1428 src/as-validator.c:1448 src/as-validator.c:1481 +#, c-format +msgid "Found: %s - Allowed: %s" msgstr "" -#: src/as-validator-issue-tag.h:537 -msgid "The screenshot caption is too long (should be <= 80 characters)" -msgstr "" +#. TRANSLATORS: ascompose flag description for: --verbose +#: tools/appstream-compose.c:181 +#, fuzzy +msgid "Show extra debugging information" +msgstr "Pokaži dodatne podatke razhroščevanja" -#: src/as-validator-issue-tag.h:206 -msgid "The screenshot does not have a caption text. Consider adding one." +#. TRANSLATORS: ascompose flag description for: --no-color +#. TRANSLATORS: ascli flag description for: --no-color +#: tools/appstream-compose.c:184 tools/appstreamcli.c:1087 +#, fuzzy +msgid "Don't show colored output." +msgstr "Ne pokaži izpisa v barvah" + +#. TRANSLATORS: ascompose flag description for: --version +#. TRANSLATORS: ascli flag description for: --version +#: tools/appstream-compose.c:187 tools/appstreamcli.c:1076 +#, fuzzy +msgid "Show the program version." +msgstr "Pokaži različico programa" + +#. TRANSLATORS: ascompose flag description for: --full-report +#: tools/appstream-compose.c:190 +msgid "Set mode of the issue report that is printed to the console" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:218 -msgid "" -"The screenshot video does not specify which container format was used in a " -"'container' property." +#. TRANSLATORS: ascompose flag description for: --prefix +#: tools/appstream-compose.c:193 +msgid "Override the default prefix (`/usr` by default)" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:212 -msgid "" -"The screenshot video does not specify which video codec was used in a " -"'codec' property." +#. TRANSLATORS: ascompose flag description for: --result-root +#: tools/appstream-compose.c:196 +msgid "Set the result output directory" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:224 -msgid "" -"The selected video codec is not supported by AppStream and software centers " -"may not be able to play the video. Only the AV1 and VP9 codecs are currently " -"supported, using 'av1' and 'vp9' as values for the 'codec' property." +#. TRANSLATORS: ascompose flag description for: --data-dir, `collection metadata` is an AppStream term +#: tools/appstream-compose.c:199 +msgid "Override the collection metadata output directory" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:231 -msgid "" -"The selected video container format is not supported by AppStream and " -"software centers may not be able to play the video. Only the WebM and " -"Matroska video containers are currently supported, using 'webm' and 'mkv' as " -"values for the 'container' property." +#. TRANSLATORS: ascompose flag description for: --icons-dir +#: tools/appstream-compose.c:202 +msgid "Override the icon output directory" msgstr "" -#: src/as-validator-issue-tag.h:283 +#. TRANSLATORS: ascompose flag description for: --media-dir +#: tools/appstream-compose.c:205 msgid "" -"The set component type is not a recognized, valid AppStream component type." +"Set the media output directory (for media data to be served by a webserver)" msgstr "" -#: src/as-validator-issue-tag.h:398 -msgid "" -"The set value is not an identifier for a desktop environment as registered " -"with Freedesktop.org." +#. TRANSLATORS: ascompose flag description for: --hints-dir +#: tools/appstream-compose.c:208 +msgid "Set a directory where HTML and text issue reports will be stored" msgstr "" -#: tools/ascli-actions-mdata.c:449 -#, c-format -msgid "" -"The software component type '%s' is not valid in AppStream. Possible values " -"are:" +#. TRANSLATORS: ascompose flag description for: --origin +#. TRANSLATORS: ascompose flag description for: --media-baseurl +#: tools/appstream-compose.c:211 tools/appstream-compose.c:214 +msgid "Set the origin name" msgstr "" -#: src/as-validator-issue-tag.h:338 -msgid "The summary must not contain any URL. Use the tags for links." +#. TRANSLATORS: ascompose flag description for: --components +#: tools/appstream-compose.c:217 +msgid "A comma-separated list of component-IDs to accept" msgstr "" -#: src/as-validator-issue-tag.h:640 -msgid "" -"The type of the item that the component provides is not known to AppStream." +#. TRANSLATORS: error message +#: tools/appstream-compose.c:231 +msgid "Failed to parse arguments" msgstr "" -#: src/as-validator-issue-tag.h:174 -msgid "" -"The update-contact does not appear to be a valid email address (escaping of " -"'@' is only allowed as '_at_' or '_AT_')." +#. TRANSLATORS: Output if appstreamcli --version is executed. +#: tools/appstream-compose.c:242 tools/appstreamcli.c:1230 +#, c-format +msgid "AppStream version: %s" msgstr "" -#: tools/ascli-actions-validate.c:363 tools/ascli-actions-validate.c:492 +#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. +#: tools/appstream-compose.c:245 tools/appstreamcli.c:1233 #, c-format msgid "" -"The validator can not create reports in the '%s' format. You may select " -"'yaml' or 'text' instead." +"AppStream CLI tool version: %s\n" +"AppStream library version: %s" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:410 -msgid "This 'bundle' tag has an unknown type and can not be used." +#. TRANSLATORS: invalid value for the --print-report CLI option +#: tools/appstream-compose.c:264 +#, c-format +msgid "" +"Invalid value for `--print-report` option: %s\n" +"Possible values are:\n" +"`on-error` - only prints a short report if the run failed (default)\n" +"`short` - generates an abridged report\n" +"`full` - a detailed report will be printed" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:404 -msgid "This 'launchable' tag has an unknown type and can not be used." +#: tools/appstream-compose.c:285 +#, c-format +msgid "Automatically selected '%s' as data output location." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:515 -msgid "" -"This 'localization' component does not define any languages this " -"localization is for." +#. TRANSLATORS: we don't have a destination directory for compose +#: tools/appstream-compose.c:288 +msgid "No destination directory set, please provide a data output location!" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:509 -msgid "" -"This 'localization' component is missing an 'extends' tag, to specify the " -"components it adds localization to." +#: tools/appstream-compose.c:298 tools/appstream-compose.c:300 +msgid "WARNING" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:521 -msgid "" -"This 'service' component is missing a 'launchable' tag of type 'service'." +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:337 +#, c-format +msgid "Only accepting components: %s" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:473 -msgid "" -"This 'web-application' component is missing a 'icon' tag to specify a valid " -"icon." +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:340 +#, c-format +msgid "Only accepting component: %s" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:467 -msgid "" -"This 'web-application' component is missing a 'launchable' tag of type 'url'." +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:345 +msgid "Processing directories:" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:479 -msgid "" -"This 'web-application' component is missing categorizations. A 'categories' " -"block is likely missing." +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:348 +msgid "Processing directory:" msgstr "" -#: src/as-validator-issue-tag.h:564 -msgid "" -"This XML document has an unknown root tag. Maybe this file is not a metainfo " -"document?" +#. TRANSLATORS: error message +#: tools/appstream-compose.c:357 +msgid "Can not process invalid directory" msgstr "" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand -#: tools/appstream-cli.c:680 -msgid "" -"This command takes optional TYPE and FILE positional arguments, FILE being a " -"file to write to (or \"-\" for standard output)." +#. TRANSLATORS: information message +#: tools/appstream-compose.c:369 +msgid "Composing metadata..." msgstr "" -#: src/as-validator-issue-tag.h:622 -msgid "" -"This component extends, provides, requires or recommends itself, which is " -"certainly not intended and may confuse users or machines dealing with this " -"metadata." +#. TRANSLATORS: error message +#: tools/appstream-compose.c:374 +#, fuzzy +msgid "Failed to compose AppStream metadata" msgstr "" +"Ročno določite mesto metapodatkov AppStream za regeneracijo predpomnilnika" -#: src/as-validator-issue-tag.h:579 -msgid "This component metadata refers to a non-existing .desktop file." +#. TRANSLATORS: appstream-compose failed to include all data +#: tools/appstream-compose.c:380 +msgid "Run failed, some data was ignored." msgstr "" -#: src/as-validator-issue-tag.h:69 -msgid "" -"This description paragraph contains invalid markup. Currently, only " -"and are permitted." +#. TRANSLATORS: information message of appstream-compose +#: tools/appstream-compose.c:382 +msgid "Errors were raised during this compose run:" msgstr "" -#: src/as-validator-issue-tag.h:57 +#: tools/appstream-compose.c:383 msgid "" -"This element (paragraph, list, etc.) of a tag must not be " -"localized individually in collection metadata. Localize the whole " -" tag instead. The AppStream collection metadata generator (e." -"g. `appstream-generator`) will already do the right thing when compiling the " -"data." +"Refer to the generated issue report data for details on the individual " +"problems." msgstr "" -#: src/as-validator-issue-tag.h:455 -msgid "" -"This generic component is missing a long description. It may be useful to " -"add one." +#: tools/appstream-compose.c:386 +msgid "Overview of generated hints:" msgstr "" -#: src/as-validator-issue-tag.h:421 -msgid "" -"This tag is a GNOME-specific extension to AppStream and not part of the " -"official specification. Do not expect it to work in all implementations and " -"in all software centers." +#. TRANSLATORS: information message +#: tools/appstream-compose.c:388 +msgid "Success!" msgstr "" -#: src/as-validator-issue-tag.h:41 -msgid "This tag requires a type property." -msgstr "" +#. TRANSLATORS: ascli flag description for: --cachepath +#: tools/appstreamcli.c:59 +#, fuzzy +msgid "Manually selected location of AppStream cache." +msgstr "Ročno določite mesto predpomnilnika AppStream" -#: data/org.freedesktop.appstream.cli.metainfo.xml:15 -msgid "" -"This tool allows for reading, writing, validating and transformation of " -"AppStream XML or YAML metadata. It also gives access to the system metadata " -"pool, for example to query for software that provides a specific MIME-type, " -"and installing it by its software component identifier." +#. TRANSLATORS: ascli flag description for: --datapath +#: tools/appstreamcli.c:64 +#, fuzzy +msgid "Manually selected location of AppStream metadata to scan." msgstr "" +"Ročno določite mesto metapodatkov AppStream za regeneracijo predpomnilnika" -#: src/as-validator-issue-tag.h:388 -msgid "" -"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." +#. TRANSLATORS: ascli flag description for: --no-cache +#: tools/appstreamcli.c:69 +msgid "Make request without any caching." msgstr "" -#: tools/appstream-cli.c:648 -msgid "" -"Too many parameters: Need two version numbers or version numbers and a " -"comparison operator." +#. TRANSLATORS: ascli flag description for: --format +#: tools/appstreamcli.c:85 +msgid "Default metadata format (valid values are 'xml' and 'yaml')." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:461 -msgid "" -"Type 'console-application' component, but no information about binaries in " -"$PATH was provided via a 'provides/binary' tag." -msgstr "" +#. TRANSLATORS: ascli flag description for: --details +#: tools/appstreamcli.c:100 +#, fuzzy +msgid "Print detailed output about found components." +msgstr "Natisni podroben izpis o najdenih komponentah" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:491 -msgid "" -"Type 'driver' component, but no modalias information was provided via a " -"provides/modalias tag." +#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) +#: tools/appstreamcli.c:118 +msgid "Also show pedantic hints." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:485 -msgid "" -"Type 'font' component, but no font information was provided via a 'provides/" -"font' tag." -msgstr "" +#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) +#: tools/appstreamcli.c:123 +#, fuzzy +msgid "Print detailed explanation for found issues." +msgstr "Natisni podroben izpis o najdenih komponentah" -#: src/as-validator.c:333 -msgid "URL format is invalid." +#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) +#: tools/appstreamcli.c:128 +msgid "Do not use network access." msgstr "" -#: tools/ascli-actions-mdata.c:544 -#, c-format -msgid "Unable to build the template metainfo file: %s" +#. TRANSLATORS: ascli flag description for: --format when validating XML files +#: tools/appstreamcli.c:133 +msgid "Format of the generated report (valid values are 'text' and 'yaml')." msgstr "" -#. TRANSLATORS: User is trying to convert a file in ascli -#: tools/ascli-actions-mdata.c:400 -msgid "" -"Unable to convert file: Could not determine output format, please set it " -"explicitly using '--format='." +#. TRANSLATORS: This is the header to the --help menu for subcommands +#. TRANSLATORS: This is the header to the --help menu +#: tools/appstreamcli.c:153 tools/appstreamcli.c:981 +msgid "AppStream command-line interface" msgstr "" -#. TRANSLATORS: We failed to find any component in the database, likely due to an error -#: tools/ascli-actions-mdata.c:177 +#: tools/appstreamcli.c:156 #, c-format -msgid "Unable to find component matching %s!" -msgstr "Komponente, ki se ujema z %s, ni mogoče najti." +msgid "'%s' command" +msgstr "%s ukaz" -#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:266 -#: tools/ascli-actions-pkgmgr.c:93 +#. TRANSLATORS: An unknown option was passed to appstreamcli. +#: tools/appstreamcli.c:191 #, fuzzy, c-format -msgid "Unable to find component with ID '%s'!" -msgstr "Komponente z id »%s« ni mogoče najti!" +msgid "Option '%s' is unknown." +msgstr "Ukaz »%s« ni znan." -#: tools/ascli-actions-misc.c:224 +#: tools/appstreamcli.c:195 tools/appstreamcli.c:1207 #, c-format -msgid "Unable to load existing desktop-entry file template: %s" -msgstr "" - -#: src/as-validator-issue-tag.h:356 -msgid "Unable to reach remote icon at the given web location - does it exist?" +msgid "Run '%s --help' to see a full list of available command line options." msgstr "" +"Zaženite »%s --help«, da se izpiše poln seznam možnosti ukazne vrstice." -#: src/as-validator-issue-tag.h:378 +#: tools/appstreamcli.c:197 +#, fuzzy, c-format msgid "" -"Unable to reach remote location that this URL references - does it exist?" +"Run '%s --help' to see a list of available commands and options, and '%s %s " +"--help' to see a list of options specific for this subcommand." msgstr "" +"Zaženite »%s --help«, da se izpiše poln seznam možnosti ukazne vrstice." -#: src/as-validator-issue-tag.h:179 -msgid "" -"Unable to reach the screenshot image on its remote location - does the image " -"exist?" +#. TRANSLATORS: ascli flag description for: --force +#: tools/appstreamcli.c:245 +#, fuzzy +msgid "Enforce a cache refresh." +msgstr "Vsili osvežitev predpomnilnika" + +#. TRANSLATORS: ascli flag description for: --user +#: tools/appstreamcli.c:251 +msgid "Update the user-specific instead of the system-wide cache." msgstr "" -#: src/as-validator-issue-tag.h:184 -msgid "" -"Unable to reach the screenshot video on its remote location - does the video " -"file exist?" +#. TRANSLATORS: ascli flag description for: --origin (part of the "put" subcommand) +#: tools/appstreamcli.c:477 +msgid "Set the data origin for the installed metadata collection file." msgstr "" -#: src/as-validator-issue-tag.h:542 -msgid "Unable to read file." +#. TRANSLATORS: ascli flag description for: --user (part of the "put" subcommand) +#: tools/appstreamcli.c:482 +msgid "Install the file for the current user, instead of globally." msgstr "" -#: src/as-validator-issue-tag.h:574 -msgid "Unable to read the .desktop file associated with this component." +#: tools/appstreamcli.c:631 +msgid "" +"You need to provide at least two version numbers to compare as parameters." msgstr "" -#: tools/ascli-actions-mdata.c:473 +#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. +#: tools/appstreamcli.c:660 #, c-format -msgid "Unable to read the .desktop file: %s" +msgid "Unknown compare relation '%s'. Valid values are:" msgstr "" -#: src/as-pool.c:606 -msgid "Unable to remove old cache." +#: tools/appstreamcli.c:700 +msgid "" +"Too many parameters: Need two version numbers or version numbers and a " +"comparison operator." msgstr "" -#: tools/ascli-actions-misc.c:370 -#, c-format -msgid "Unable to save desktop entry file: %s" +#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) +#: tools/appstreamcli.c:726 +msgid "" +"Use the given .desktop file to fill in the basic values of the metainfo file." msgstr "" -#: tools/ascli-actions-mdata.c:552 -#, c-format -msgid "Unable to save the template metainfo file: %s" +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand +#: tools/appstreamcli.c:731 +msgid "" +"This command takes optional TYPE and FILE positional arguments, FILE being a " +"file to write to (or \"-\" for standard output)." msgstr "" -#: tools/ascli-actions-pkgmgr.c:67 +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows +#: tools/appstreamcli.c:734 #, c-format -msgid "Unable to spawn package manager: %s" +msgid "The TYPE must be a valid component-type, such as: %s" msgstr "" -#: tools/ascli-actions-mdata.c:322 -#, c-format -msgid "Unable to write to '%s', can not install metainfo file." +#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) +#: tools/appstreamcli.c:775 +msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command +#: tools/appstreamcli.c:815 +msgid "Assume the input file is in the selected format ('yaml' or 'text')." +msgstr "" + +#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command +#: tools/appstreamcli.c:820 +msgid "" +"Limit the number of release entries that end up in the metainfo file (0 for " +"unlimited)." msgstr "" -#. TRANSLATORS: ascli has been run with unknown command. -#: tools/appstream-cli.c:1009 +#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command +#: tools/appstreamcli.c:862 +msgid "Generate the output in the selected format ('yaml' or 'text')." +msgstr "" + +#: tools/appstreamcli.c:894 #, c-format -msgid "Unknown command '%s'." +msgid "Compose binary '%s' was not found! Can not continue." msgstr "" -#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. -#: tools/appstream-cli.c:608 +#. TRANSLATORS: this is a (usually shorter) command alias, shown after the command summary text +#: tools/appstreamcli.c:956 #, c-format -msgid "Unknown compare relation '%s'. Valid values are:" +msgid "(Alias: '%s')" msgstr "" -#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) -#: tools/appstream-cli.c:675 +#. these are commands we can use with appstreamcli +#: tools/appstreamcli.c:983 +msgid "Subcommands:" +msgstr "Podukazi:" + +#: tools/appstreamcli.c:1029 msgid "" -"Use the given .desktop file to fill in the basic values of the metainfo file." +"You can find information about subcommand-specific options by passing \"--" +"help\" to the subcommand." msgstr "" -#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) -#: tools/appstream-cli.c:725 -msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." +#. TRANSLATORS: ascli has been run with unknown command. '%s --help' is the command to receive help and should not be translated. +#: tools/appstreamcli.c:1052 +#, fuzzy, c-format +msgid "" +"Command '%s' is unknown. Run '%s --help' for a list of available commands." msgstr "" +"Zaženite »%s --help«, da se izpiše poln seznam možnosti ukazne vrstice." -#. TRANSLATORS: this is the menu spec main category for Utilities -#: src/as-category.c:329 -msgid "Utilities" +#. TRANSLATORS: ascli flag description for: --verbose +#: tools/appstreamcli.c:1082 +#, fuzzy +msgid "Show extra debugging information." +msgstr "Pokaži dodatne podatke razhroščevanja" + +#. TRANSLATORS: ascli flag description for: --profile +#: tools/appstreamcli.c:1090 +msgid "Enable profiling" +msgstr "" + +#. TRANSLATORS: `appstreamcli search` command description. +#: tools/appstreamcli.c:1102 +msgid "Search the component database." +msgstr "" + +#. TRANSLATORS: `appstreamcli get` command description. +#: tools/appstreamcli.c:1107 +msgid "Get information about a component by its ID." msgstr "" -#: tools/appstream-cli.c:856 +#. TRANSLATORS: `appstreamcli what-provides` command description. +#: tools/appstreamcli.c:1112 +msgid "" +"Get components which provide the given item. Needs an item type (e.g. lib, " +"bin, python3, …) and item value as parameter." +msgstr "" + +#. TRANSLATORS: `appstreamcli dump` command description. +#: tools/appstreamcli.c:1118 +msgid "Dump raw XML metadata for a component matching the ID." +msgstr "" + +#. TRANSLATORS: `appstreamcli refresh-cache` command description. +#: tools/appstreamcli.c:1123 +msgid "Rebuild the component metadata cache." +msgstr "" + +#. TRANSLATORS: `appstreamcli validate` command description. +#: tools/appstreamcli.c:1129 msgid "Validate AppStream XML files for issues." msgstr "" -#: tools/appstream-cli.c:857 +#. TRANSLATORS: `appstreamcli validate-tree` command description. +#: tools/appstreamcli.c:1134 msgid "Validate an installed file-tree of an application for valid metadata." msgstr "" -#: tools/ascli-actions-validate.c:301 tools/ascli-actions-validate.c:442 -#, fuzzy, c-format -msgid "Validation failed: %s" -msgstr "Preverjanje je spodletelo." +#. TRANSLATORS: `appstreamcli install` command description. +#: tools/appstreamcli.c:1140 +msgid "Install software matching the component-ID." +msgstr "" -#: tools/ascli-actions-validate.c:289 tools/ascli-actions-validate.c:430 -msgid "Validation was successful." +#. TRANSLATORS: `appstreamcli remove` command description. +#: tools/appstreamcli.c:1145 +msgid "Remove software matching the component-ID." msgstr "" -#: tools/ascli-actions-validate.c:291 tools/ascli-actions-validate.c:432 -#, c-format -msgid "Validation was successful: %s" +#. TRANSLATORS: `appstreamcli status` command description. +#: tools/appstreamcli.c:1151 +msgid "Display status information about available AppStream metadata." msgstr "" -#: tools/appstream-cli.c:851 -msgid "Value of the item that should be found." +#. TRANSLATORS: `appstreamcli os-info` command description. +#: tools/appstreamcli.c:1156 +msgid "" +"Show information about the current operating system from the metadata index." msgstr "" -#: src/as-category.c:177 -#, fuzzy -msgctxt "Category of Graphics" -msgid "Vector Graphics" -msgstr "Kategorije" +#. TRANSLATORS: `appstreamcli put` command description. +#: tools/appstreamcli.c:1161 +msgid "Install a metadata file into the right location." +msgstr "" -#: tools/ascli-actions-misc.c:48 -#, c-format -msgid "Version: %s" +#. TRANSLATORS: `appstreamcli convert` command description. "Collection XML" is a term describing a specific type of AppStream XML data. +#: tools/appstreamcli.c:1166 +msgid "Convert collection XML to YAML or vice versa." msgstr "" -#: src/as-category.c:180 -msgctxt "Category of Graphics" -msgid "Viewers" +#. TRANSLATORS: `appstreamcli vercmp` command description. +#: tools/appstreamcli.c:1171 +msgid "Compare two version numbers." msgstr "" -#: tools/ascli-actions-misc.c:153 -#, c-format -msgid "We have information on %i software components." +#. TRANSLATORS: `appstreamcli new-template` command description. +#: tools/appstreamcli.c:1177 +msgid "" +"Create a template for a metainfo file (to be filled out by the upstream " +"project)." msgstr "" -#: src/as-category.c:270 -msgctxt "Category of Communication" -msgid "Web Browsers" +#. TRANSLATORS: `appstreamcli make-desktop-file` command description. +#: tools/appstreamcli.c:1182 +msgid "Create a desktop-entry file from a metainfo file." msgstr "" -#: src/as-category.c:202 -msgctxt "Category of Office" -msgid "Word Processor" +#. TRANSLATORS: `appstreamcli news-to-metainfo` command description. +#: tools/appstreamcli.c:1187 +msgid "Convert a YAML or text NEWS file into metainfo releases." msgstr "" -#: tools/appstream-cli.c:871 +#. TRANSLATORS: `appstreamcli metainfo-to-news` command description. +#: tools/appstreamcli.c:1192 msgid "Write NEWS text or YAML file with information from a metainfo file." msgstr "" -#: tools/appstream-cli.c:874 -msgid "" -"You can find information about subcommand-specific options by passing \"--" -"help\" to the subcommand." +#. TRANSLATORS: `appstreamcli compose` command description. +#: tools/appstreamcli.c:1198 +msgid "Compose AppStream collection metadata from directory trees." msgstr "" +#. TRANSLATORS: ascli has been run without command. +#: tools/appstreamcli.c:1206 +msgid "You need to specify a command." +msgstr "Navesti morate ukaz." + #. TRANSLATORS: In ascli: The requested action needs higher permissions. #: tools/ascli-actions-mdata.c:70 msgid "You might need superuser permissions to perform this action." msgstr "" -#: tools/ascli-actions-mdata.c:447 +#. we performed a cache refresh +#. TRANSLATORS: Updating the metadata cache succeeded +#: tools/ascli-actions-mdata.c:80 +msgid "AppStream cache update completed successfully." +msgstr "Posodobitev predpomnilnika AppStream uspešno dokončana." + +#. cache wasn't updated, so the update wasn't necessary +#: tools/ascli-actions-mdata.c:86 +msgid "AppStream cache update is not necessary." +msgstr "" + +#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments +#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. +#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:253 +#: tools/ascli-actions-pkgmgr.c:80 +#, fuzzy +msgid "You need to specify a component-ID." +msgstr "Navesti morate id komponente." + +#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:265 +#: tools/ascli-actions-pkgmgr.c:93 +#, fuzzy, c-format +msgid "Unable to find component with ID '%s'!" +msgstr "Komponente z id »%s« ni mogoče najti!" + +#: tools/ascli-actions-mdata.c:164 +msgid "You need to specify a term to search for." +msgstr "Določiti morate pojem, ki ga iščete." + +#. TRANSLATORS: We failed to find any component in the database, likely due to an error +#: tools/ascli-actions-mdata.c:177 +#, c-format +msgid "Unable to find component matching %s!" +msgstr "Komponente, ki se ujema z %s, ni mogoče najti." + +#: tools/ascli-actions-mdata.c:182 +#, c-format +msgid "No component matching '%s' found." +msgstr "Komponente, ki se ujema z »%s«, ni mogoče najti." + +#: tools/ascli-actions-mdata.c:206 +msgid "No value for the item to search for was defined." +msgstr "" + +#: tools/ascli-actions-mdata.c:212 +msgid "Invalid type for provided item selected. Valid values are:" +msgstr "" + +#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results +#: tools/ascli-actions-mdata.c:227 +#, fuzzy, c-format +msgid "Could not find component providing '%s::%s'." +msgstr "Komponente z id »%s« ni mogoče najti!" + +#: tools/ascli-actions-mdata.c:306 +msgid "You need to specify a metadata file." +msgstr "" + +#: tools/ascli-actions-mdata.c:320 +#, fuzzy, c-format +msgid "Unable to install metadata file: %s" +msgstr "Komponente, ki se ujema z %s, ni mogoče najti." + +#: tools/ascli-actions-mdata.c:340 +#, fuzzy +msgid "You need to specify an input and output file." +msgstr "Navesti morate ukaz." + +#: tools/ascli-actions-mdata.c:347 +#, c-format +msgid "Metadata file '%s' does not exist." +msgstr "" + +#. TRANSLATORS: User is trying to convert a file in ascli +#: tools/ascli-actions-mdata.c:387 +msgid "" +"Unable to convert file: Could not determine output format, please set it " +"explicitly using '--format='." +msgstr "" + +#: tools/ascli-actions-mdata.c:438 +#, fuzzy, c-format +msgid "Unable to find operating system component '%s'!" +msgstr "Komponente z id »%s« ni mogoče najti!" + +#: tools/ascli-actions-mdata.c:443 +msgid "Version" +msgstr "" + +#: tools/ascli-actions-mdata.c:467 msgid "" "You need to give an AppStream software component type to generate a " "template. Possible values are:" msgstr "" -#: tools/appstream-cli.c:579 +#: tools/ascli-actions-mdata.c:469 +#, c-format msgid "" -"You need to provide at least two version numbers to compare as parameters." +"The software component type '%s' is not valid in AppStream. Possible values " +"are:" msgstr "" -#: tools/ascli-actions-misc.c:393 -#, fuzzy -msgid "You need to specify a NEWS file as input." -msgstr "Navesti morate datoteko za preverjanje!" +#: tools/ascli-actions-mdata.c:487 +#, c-format +msgid "The .desktop file '%s' does not exist." +msgstr "" -#: tools/ascli-actions-misc.c:509 -#, fuzzy -msgid "You need to specify a NEWS file as output, or '-' to print to stdout." -msgstr "Navesti morate datoteko za preverjanje!" +#: tools/ascli-actions-mdata.c:493 +#, c-format +msgid "Unable to read the .desktop file: %s" +msgstr "" -#: tools/ascli-actions-misc.c:540 -#, fuzzy -msgid "You need to specify a NEWS format to write the output in." -msgstr "Navesti morate ukaz." +#: tools/ascli-actions-mdata.c:564 +#, c-format +msgid "Unable to build the template metainfo file: %s" +msgstr "" -#. TRANSLATORS: ascli has been run without command. -#: tools/appstream-cli.c:925 -msgid "You need to specify a command." -msgstr "Navesti morate ukaz." +#: tools/ascli-actions-mdata.c:572 +#, c-format +msgid "Unable to save the template metainfo file: %s" +msgstr "" -#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments -#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. -#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:254 -#: tools/ascli-actions-pkgmgr.c:80 +#. TRANSLATORS: In the status report of ascli: Header +#: tools/ascli-actions-misc.c:47 +msgid "AppStream Status:" +msgstr "" + +#: tools/ascli-actions-misc.c:48 +#, c-format +msgid "Version: %s" +msgstr "" + +#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions +#: tools/ascli-actions-misc.c:52 +msgid "Distribution metadata:" +msgstr "" + +#: tools/ascli-actions-misc.c:94 +msgid "Iconsets" +msgstr "" + +#: tools/ascli-actions-misc.c:105 +msgid "No icons." +msgstr "" + +#. TRANSLATORS: No metainfo files have been found +#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 +msgid "Empty." +msgstr "" + +#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report +#: tools/ascli-actions-misc.c:116 +msgid "Metainfo files:" +msgstr "" + +#: tools/ascli-actions-misc.c:123 +#, c-format +msgid "Found %i components." +msgstr "" + +#. TRANSLATORS: Found metainfo files in legacy directories +#: tools/ascli-actions-misc.c:138 +#, c-format +msgid "Found %i components in legacy paths." +msgstr "" + +#. TRANSLATORS: Status summary in ascli +#: tools/ascli-actions-misc.c:145 +msgid "Summary:" +msgstr "" + +#: tools/ascli-actions-misc.c:153 +#, c-format +msgid "We have information on %i software components." +msgstr "" + +#: tools/ascli-actions-misc.c:159 +#, c-format +msgid "Error while loading the metadata pool: %s" +msgstr "" + +#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 #, fuzzy -msgid "You need to specify a component-ID." -msgstr "Navesti morate id komponente." +msgid "You need to specify a metainfo file as input." +msgstr "Navesti morate datoteko za preverjanje!" #: tools/ascli-actions-misc.c:188 #, fuzzy @@ -1772,13 +2545,45 @@ "You need to specify a desktop-entry file to create or augment as output." msgstr "Navesti morate datoteko za preverjanje!" -#: tools/ascli-actions-mdata.c:309 -msgid "You need to specify a metadata file." +#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 +#: tools/ascli-actions-misc.c:515 +#, c-format +msgid "Metainfo file '%s' does not exist." msgstr "" -#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 +#: tools/ascli-actions-misc.c:219 +#, c-format +msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." +msgstr "" + +#: tools/ascli-actions-misc.c:224 +#, c-format +msgid "Unable to load existing desktop-entry file template: %s" +msgstr "" + +#: tools/ascli-actions-misc.c:228 +#, c-format +msgid "Creating new desktop-entry file '%s' using data from '%s'" +msgstr "" + +#: tools/ascli-actions-misc.c:284 +msgid "No stock icon name was provided in the metainfo file. Can not continue." +msgstr "" + +#: tools/ascli-actions-misc.c:306 +msgid "" +"No provided binary specified in metainfo file, and no exec command specified " +"via '--exec'. Can not create 'Exec=' key." +msgstr "" + +#: tools/ascli-actions-misc.c:370 +#, c-format +msgid "Unable to save desktop entry file: %s" +msgstr "" + +#: tools/ascli-actions-misc.c:393 #, fuzzy -msgid "You need to specify a metainfo file as input." +msgid "You need to specify a NEWS file as input." msgstr "Navesti morate datoteko za preverjanje!" #: tools/ascli-actions-misc.c:397 @@ -1787,82 +2592,168 @@ "You need to specify a metainfo file to augment, or '-' to print to stdout." msgstr "Navesti morate datoteko za preverjanje!" -#: tools/ascli-actions-validate.c:385 tools/ascli-actions-validate.c:479 -msgid "You need to specify a root directory to start validation!" +#: tools/ascli-actions-misc.c:402 +msgid "No output filename specified, modifying metainfo file directly." msgstr "" -#: tools/ascli-actions-mdata.c:164 -msgid "You need to specify a term to search for." -msgstr "Določiti morate pojem, ki ga iščete." +#: tools/ascli-actions-misc.c:509 +#, fuzzy +msgid "You need to specify a NEWS file as output, or '-' to print to stdout." +msgstr "Navesti morate datoteko za preverjanje!" -#: tools/ascli-actions-mdata.c:357 +#: tools/ascli-actions-misc.c:540 #, fuzzy -msgid "You need to specify an input and output file." +msgid "You need to specify a NEWS format to write the output in." msgstr "Navesti morate ukaz." -#: tools/ascli-actions-validate.c:263 tools/ascli-actions-validate.c:337 -#, fuzzy -msgid "You need to specify at least one file to validate!" -msgstr "Navesti morate datoteko za preverjanje!" +#: tools/ascli-actions-pkgmgr.c:53 +msgid "" +"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" +"\" (part of PackageKit) is available." +msgstr "" -#. TRANSLATORS: List of "grey-listed" words sperated with ";" -#. * Do not translate this list directly. Instead, -#. * provide a list of words in your language that people are likely -#. * to include in a search but that should normally be ignored in -#. * the search. -#. -#: src/as-pool.c:107 -msgid "app;application;package;program;programme;suite;tool" -msgstr "app;aplikacija;paket;program;programček;programje;orodje" +#: tools/ascli-actions-pkgmgr.c:67 +#, c-format +msgid "Unable to spawn package manager: %s" +msgstr "" + +#. TRANSLATORS: We found no distribution package or bundle to install to make this software available +#: tools/ascli-actions-pkgmgr.c:106 +#, c-format +msgid "Component '%s' has no installation candidate." +msgstr "" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:223 +#: tools/ascli-actions-validate.c:176 tools/ascli-actions-validate.c:354 +#, c-format +msgid "File '%s' does not exist." +msgstr "" + +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "error"-type hints +#: tools/ascli-actions-validate.c:228 #, c-format msgid "errors: %lu" msgstr "" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:237 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "warning"-type hints +#: tools/ascli-actions-validate.c:235 +#, c-format +msgid "warnings: %lu" +msgstr "" + +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "info"-type hints +#: tools/ascli-actions-validate.c:242 #, c-format msgid "infos: %lu" msgstr "" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:244 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "pedantic"-type hints +#: tools/ascli-actions-validate.c:249 #, c-format msgid "pedantic: %lu" msgstr "" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:230 +#: tools/ascli-actions-validate.c:268 tools/ascli-actions-validate.c:342 +#, fuzzy +msgid "You need to specify at least one file to validate!" +msgstr "Navesti morate datoteko za preverjanje!" + +#: tools/ascli-actions-validate.c:294 tools/ascli-actions-validate.c:435 +msgid "Validation was successful." +msgstr "" + +#: tools/ascli-actions-validate.c:296 tools/ascli-actions-validate.c:437 #, c-format -msgid "warnings: %lu" +msgid "Validation was successful: %s" msgstr "" -#~ msgid "Command '%s' is unknown." -#~ msgstr "Ukaz »%s« ni znan." +#: tools/ascli-actions-validate.c:306 tools/ascli-actions-validate.c:447 +#, fuzzy, c-format +msgid "Validation failed: %s" +msgstr "Preverjanje je spodletelo." -#~ msgid "AppStream cache update failed." -#~ msgstr "Posodobitev predpomnilnika AppStream je spodletela." +#: tools/ascli-actions-validate.c:368 tools/ascli-actions-validate.c:497 +#, c-format +msgid "" +"The validator can not create reports in the '%s' format. You may select " +"'yaml' or 'text' instead." +msgstr "" -#, fuzzy -#~ msgid "Category of Games" -#~ msgstr "Kategorije" +#: tools/ascli-actions-validate.c:390 tools/ascli-actions-validate.c:484 +msgid "You need to specify a root directory to start validation!" +msgstr "" -#, fuzzy -#~ msgid "Category of Office" -#~ msgstr "Kategorije" +#: tools/ascli-utils.c:266 +msgid "Identifier" +msgstr "Identifikator" -#, fuzzy -#~ msgid "Category of Science" -#~ msgstr "Kategorije" +#: tools/ascli-utils.c:268 +msgid "Internal ID" +msgstr "" + +#: tools/ascli-utils.c:269 +msgid "Name" +msgstr "Ime" + +#: tools/ascli-utils.c:270 +msgid "Summary" +msgstr "Povzetek" + +#: tools/ascli-utils.c:271 +msgid "Package" +msgstr "Paket" + +#: tools/ascli-utils.c:272 +msgid "Bundle" +msgstr "Sveženj" + +#: tools/ascli-utils.c:273 +msgid "Homepage" +msgstr "Domača stran" -#~ msgid "File %s not found or permission denied!" -#~ msgstr "Datoteke %s ni mogoče najti ali dostop zaradi pravic zavrnjen!" +#: tools/ascli-utils.c:274 +msgid "Icon" +msgstr "Ikona" +#. developer name +#: tools/ascli-utils.c:294 +msgid "Developer" +msgstr "Razvijalec" + +#: tools/ascli-utils.c:300 +msgid "Extends" +msgstr "" + +#: tools/ascli-utils.c:306 +msgid "Description" +msgstr "Opis" + +#: tools/ascli-utils.c:326 #, fuzzy -#~ msgid "No component providing '%s::%s' found." -#~ msgstr "Komponente, ki se ujema z »%s«, ni mogoče najti." +msgid "Default Screenshot URL" +msgstr "Vzorec naslova URL zaslonske slike" -#~ msgid "XDG Menu XML file '%s' is damaged." -#~ msgstr "Datoteka XML menija XDG »%s« je okvarjena." +#. project group +#: tools/ascli-utils.c:333 +msgid "Project Group" +msgstr "Projektna skupina" + +#. license +#: tools/ascli-utils.c:336 +msgid "License" +msgstr "Dovoljenje" + +#: tools/ascli-utils.c:342 +msgid "Categories" +msgstr "Kategorije" + +#: tools/ascli-utils.c:350 +msgid "Compulsory for" +msgstr "Obvezno za" + +#: tools/ascli-utils.c:378 +msgid "Provided Items" +msgstr "Ponujeni elementi" + +#, fuzzy, c-format +#~ msgid "Unable to open new cache file: %s" +#~ msgstr "Komponente, ki se ujema z %s, ni mogoče najti." diff -Nru appstream-0.12.10/po/sr@latin.po appstream-0.14.5/po/sr@latin.po --- appstream-0.12.10/po/sr@latin.po 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/po/sr@latin.po 2021-08-28 20:15:28.000000000 +0000 @@ -1,3 +1,4 @@ +# #-#-#-#-# sr@latin.po (AppStream) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Matthias Klumpp # This file is distributed under the same license as the appstream package. @@ -6,1568 +7,2439 @@ # Marko M. Kostić (Marko M. Kostić) , 2015 # Miroslav Nikolić , 2014,2016 # Mihajlo Djordjevic , 2019. +# #-#-#-#-# sr@latin.po (appstream-glib) #-#-#-#-# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Марко М. Костић (Marko M. Kostić) , 2015 +# Miloš Popović , 2015 +# Мирослав Николић , 2014 +# Richard Hughes , 2016. #zanata +#, fuzzy msgid "" msgstr "" -"Project-Id-Version: AppStream\n" +"Project-Id-Version: appstream-glib\n" "Report-Msgid-Bugs-To: appstream@lists.freedesktop.org\n" -"POT-Creation-Date: 2020-01-14 01:44+0100\n" -"PO-Revision-Date: 2019-12-11 16:44+0000\n" -"Last-Translator: Mihajlo Djordjevic \n" -"Language-Team: Serbian (latin) \n" +"POT-Creation-Date: 2021-08-28 16:09+0200\n" +"PO-Revision-Date: 2016-08-06 03:00+0000\n" +"Last-Translator: Copied by Zanata \n" +"Language-Team: Serbian (Latin) (http://www.transifex.com/freedesktop/" +"appstream-glib/language/sr@latin/)\n" "Language: sr@latin\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"#-#-#-#-# sr@latin.po (AppStream) #-#-#-#-#\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Generator: Weblate 3.10-dev\n" - -#: tools/appstream-cli.c:157 -#, c-format -msgid "'%s' command" -msgstr "„%s“ naredba" - -#: src/as-category.c:168 -msgctxt "Category of Graphics" -msgid "3D Graphics" -msgstr "3D grafika" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:254 -msgid "" -"A 'requires' or 'recommends' item requires a value to denote a valid " -"relation." -msgstr "" -"'requires' ili 'recommends' stavka zahteva vrednost da bi ukazala na važeći " -"odnos." - -#: src/as-validator-issue-tag.h:51 -msgid "" -"A tag must not be localized in metainfo files (upstream " -"metadata). Localize the individual paragraphs instead." -msgstr "" -" bedž ne sme biti lokalizovan u metainfo fajlovima (upstream " -"metadata). Lokalizujte individualne paragrafe umesto toga." - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:195 -msgid "" -"A screenshot must contain at least one image or video in order to be useful. " -"Please add an to it." -msgstr "" -"Snimak ekrana mora imati barem jednu sliku ili video snimak da bi bio " -"uspešan. Molim Vas dodajte ka njemu." - -#: src/as-validator-issue-tag.h:200 -msgid "" -"A screenshot must contain either images or videos, but not both at the same " -"time. Please use this screenshot exclusively for either static images or for " -"videos." -msgstr "" -"Snimak ekrana mora imati ili slike ili video snimke, ali ne oba u isto " -"vreme. Molim Vas koristite ovaj snimak ekrana isključivo za ili statične " -"slike ili video snimke." - -#: src/as-category.c:123 -msgctxt "Category of Games" -msgid "Action" -msgstr "Radnja" - -#. TRANSLATORS: this is the main category for Add-ons -#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor -#: src/as-category.c:320 tools/ascli-utils.c:398 -msgid "Add-ons" -msgstr "Dodaci" - -#: src/as-category.c:126 -msgctxt "Category of Games" -msgid "Adventure" -msgstr "Avantura" - -#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) -#: tools/appstream-cli.c:116 -#, fuzzy -msgid "Also show pedantic hints." -msgstr "Izbacuje pedantne savete pri proveri." - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:497 -msgid "" -"An 'extends' tag is specified, but the component is not of type 'addon', " -"'localization' or 'repository'." -msgstr "" -"'extends' bedž je specificiran, ali deo nije tipa 'addon', 'localization' or " -"'repository'." - -#: tools/appstream-cli.c:850 -#, fuzzy -msgid "An item type (e.g. lib, bin, python3, …)" -msgstr "Tip stavke (npr. lib, bin, python3, ...)" - -#: data/org.freedesktop.appstream.cli.metainfo.xml:9 -msgid "An utility to work with AppStream metadata" -msgstr "" +"#-#-#-#-# sr@latin.po (appstream-glib) #-#-#-#-#\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Generator: Zanata 4.6.2\n" #: data/org.freedesktop.appstream.cli.metainfo.xml:8 msgid "AppStream CLI" msgstr "CLI za Programski tok" -#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. -#: tools/appstream-cli.c:947 -#, fuzzy, c-format -msgid "" -"AppStream CLI tool version: %s\n" -"AppStream library version: %s" -msgstr "Izdanje CLI za Programski tok: %s" - -#. TRANSLATORS: In the status report of ascli: Header -#: tools/ascli-actions-misc.c:47 -msgid "AppStream Status:" -msgstr "Stanje Programskog toka:" - -#. we performed a cache refresh -#. TRANSLATORS: Updating the metadata cache succeeded -#: tools/ascli-actions-mdata.c:80 -msgid "AppStream cache update completed successfully." -msgstr "Osvežavanje keša Programskog toka je uspešno obavljeno." - -#. cache wasn't updated, so the update wasn't necessary -#: tools/ascli-actions-mdata.c:86 -msgid "AppStream cache update is not necessary." -msgstr "Osvežavanje keša Programskog toka nije potrebno." - -#. TRANSLATORS: This is the header to the --help menu for subcommands -#. TRANSLATORS: This is the header to the --help menu -#: tools/appstream-cli.c:154 tools/appstream-cli.c:843 -msgid "AppStream command-line interface" -msgstr "Sučelje komandne linije za Programski tok" - -#: src/as-validator-issue-tag.h:63 -msgid "" -"AppStream descriptions support only a limited set of tags to format text: " -"Paragraphs (

                                                                                                                                                                                                                                                                                                                                                                ) and lists (

                                                                                                                                                                                                                                                                                                                                                                  ,
                                                                                                                                                                                                                                                                                                                                                                    ). This description markup contains " -"an invalid XML tag that would not be rendered correctly in applications " -"supporting the metainfo specification." +#: data/org.freedesktop.appstream.cli.metainfo.xml:9 +msgid "An utility to work with AppStream metadata" msgstr "" #: data/org.freedesktop.appstream.cli.metainfo.xml:12 msgid "" -"AppStream is a cross-distribution specification to provide metadata about " -"software components." +"AppStream is a metadata specification which permits software components to " +"provide information about themselves to automated systems and end-users " +"before the software is actually installed. The AppStream project provides " +"facilities to easily access and transform this metadata, as well as a few " +"additional services for building feature-rich software centers and similar " +"applications that make use of software metadata." msgstr "" -#: src/as-pool.c:1937 -#, c-format +#: data/org.freedesktop.appstream.cli.metainfo.xml:18 msgid "" -"AppStream system cache refresh failed. Turn on verbose mode to get detailed " -"issue information." +"The appstreamcli command-line tool allows to read, write, and " +"transform AppStream XML or YAML metadata as well as to validate it for " +"compliance with the specification. It also provides easy access to the " +"system metadata pool, for example to query for software that provides a " +"specific Mediatype handler or for installing software by its component " +"identifier." msgstr "" -#. TRANSLATORS: Output if appstreamcli --version is executed. -#: tools/appstream-cli.c:944 -#, fuzzy, c-format -msgid "AppStream version: %s" -msgstr "Izdanje CLI za Programski tok: %s" +#: src/as-category.c:66 +msgctxt "Category of AudioVideo" +msgid "Featured" +msgstr "Izdvojeno" -#: src/as-category.c:129 -msgctxt "Category of Games" -msgid "Arcade" -msgstr "Arkadne" +#: src/as-category.c:69 +msgctxt "Category of AudioVideo" +msgid "Audio Creation & Editing" +msgstr "Kreiranje i uređivanje zvuka" -#: src/as-category.c:234 -msgctxt "Category of Science" -msgid "Artificial Intelligence" -msgstr "Veštačka inteligencija" +#: src/as-category.c:75 +msgctxt "Category of AudioVideo" +msgid "Music Players" +msgstr "Muzički plejeri" -#: src/as-validator-issue-tag.h:91 -msgid "" -"As per AppStream specification, the mentioned tag must only appear once in " -"this context. Having multiple tags of this kind is not valid." -msgstr "" +#: src/as-category.c:84 +msgctxt "Category of Development" +msgid "Featured" +msgstr "Izdvojeno" -#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command -#: tools/appstream-cli.c:766 -msgid "Assume the input file is in the selected format ('yaml' or 'text')." -msgstr "" +#: src/as-category.c:87 +msgctxt "Category of Development" +msgid "Debuggers" +msgstr "Otklanjanje grešaka" + +#: src/as-category.c:90 +msgctxt "Category of Development" +msgid "IDEs" +msgstr "Razvojna okruženja" -#: src/as-category.c:101 +#: src/as-category.c:99 msgctxt "Category of Education" -msgid "Astronomy" -msgstr "Astronomija" +msgid "Featured" +msgstr "Izdvojeno" -#: src/as-category.c:237 -msgctxt "Category of Science" +#: src/as-category.c:102 +msgctxt "Category of Education" msgid "Astronomy" msgstr "Astronomija" -#. TRANSLATORS: this is the menu spec main category for Audio & Video -#: src/as-category.c:302 -msgid "Audio & Video" -msgstr "Audio i video" +#: src/as-category.c:105 +msgctxt "Category of Education" +msgid "Chemistry" +msgstr "Hemija" -#: src/as-category.c:68 -msgctxt "Category of AudioVideo" -msgid "Audio Creation & Editing" -msgstr "Kreiranje i uređivanje zvuka" +#: src/as-category.c:108 +msgctxt "Category of Education" +msgid "Languages" +msgstr "Jezici" -#: tools/ascli-actions-misc.c:219 -#, c-format -msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." -msgstr "" +#: src/as-category.c:112 +msgctxt "Category of Education" +msgid "Math" +msgstr "Matematika" -#: src/as-provided.c:146 -msgid "Binaries" -msgstr "Izvršni" +#: src/as-category.c:121 +msgctxt "Category of Games" +msgid "Featured" +msgstr "Izdvojeno" + +#: src/as-category.c:124 +msgctxt "Category of Games" +msgid "Action" +msgstr "Radnja" + +#: src/as-category.c:127 +msgctxt "Category of Games" +msgid "Adventure" +msgstr "Avantura" + +#: src/as-category.c:130 +msgctxt "Category of Games" +msgid "Arcade" +msgstr "Arkadne" -#: src/as-category.c:132 +#: src/as-category.c:133 msgctxt "Category of Games" msgid "Blocks" msgstr "Blokovi" -#: src/as-category.c:135 +#: src/as-category.c:136 msgctxt "Category of Games" msgid "Board" msgstr "Na tabli" -#: tools/ascli-utils.c:299 -msgid "Bundle" -msgstr "Komplet" - -#: src/as-pool.c:1828 -#, c-format -msgid "Cache location '%s' is not writable." -msgstr "Lokacija keša „%s“ nije upisiva." - -#: src/as-category.c:191 -msgctxt "Category of Office" -msgid "Calendar" -msgstr "Kalendar" - -#: tools/ascli-actions-mdata.c:327 -#, c-format -msgid "" -"Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " -"suffix." -msgstr "" - -#: src/as-category.c:138 +#: src/as-category.c:139 msgctxt "Category of Games" msgid "Card" msgstr "Karte" -#: tools/ascli-utils.c:369 -msgid "Categories" -msgstr "Kategorije" +#: src/as-category.c:142 +msgctxt "Category of Games" +msgid "Emulators" +msgstr "Emulatori" -#: src/as-category.c:259 -msgctxt "Category of Communication" -msgid "Chat" -msgstr "Ćaskanje" +#: src/as-category.c:145 +msgctxt "Category of Games" +msgid "Kids" +msgstr "Dečije" -#: src/as-category.c:104 -msgctxt "Category of Education" -msgid "Chemistry" -msgstr "Hemija" +#: src/as-category.c:148 +msgctxt "Category of Games" +msgid "Logic" +msgstr "Logičke" -#: src/as-category.c:240 -msgctxt "Category of Science" -msgid "Chemistry" -msgstr "Hemija" +#: src/as-category.c:151 +msgctxt "Category of Games" +msgid "Role Playing" +msgstr "Igranje uloge" -#: src/as-category.c:214 -msgctxt "Category of Addons" -msgid "Codecs" -msgstr "Kodeci" +#: src/as-category.c:154 +msgctxt "Category of Games" +msgid "Sports" +msgstr "Sport" -#. TRANSLATORS: this is the menu spec main category for Communication -#: src/as-category.c:326 -msgid "Communication & News" -msgstr "Komunikacije i vesti" +#: src/as-category.c:158 +msgctxt "Category of Games" +msgid "Strategy" +msgstr "Strategija" -#: tools/appstream-cli.c:866 -msgid "Compare two version numbers." -msgstr "" +#: src/as-category.c:166 +msgctxt "Category of Graphics" +msgid "Featured" +msgstr "Izdvojeno" -#: src/as-provided.c:166 -msgid "Component" -msgstr "" +#: src/as-category.c:169 +msgctxt "Category of Graphics" +msgid "3D Graphics" +msgstr "3D grafika" -#. TRANSLATORS: We found no distribution package or bundle to install to make this software available -#: tools/ascli-actions-pkgmgr.c:106 -#, c-format -msgid "Component '%s' has no installation candidate." -msgstr "Komponenta „%s“ nema kandidata za instalaciju." +#: src/as-category.c:172 +msgctxt "Category of Graphics" +msgid "Photography" +msgstr "Fotografija" -#: tools/ascli-utils.c:377 -msgid "Compulsory for" -msgstr "Neophodan za" +#: src/as-category.c:175 +msgctxt "Category of Graphics" +msgid "Scanning" +msgstr "Skeniranje" -#: src/as-validator-issue-tag.h:361 -msgid "Consider using a secure (HTTPS) URL for the remote icon link." -msgstr "" +#: src/as-category.c:178 +msgctxt "Category of Graphics" +msgid "Vector Graphics" +msgstr "Vektorska grafika" -#: src/as-validator-issue-tag.h:383 -msgid "Consider using a secure (HTTPS) URL for this web link." -msgstr "" +#: src/as-category.c:181 +msgctxt "Category of Graphics" +msgid "Viewers" +msgstr "Pregledači" -#: src/as-validator-issue-tag.h:189 -msgid "" -"Consider using a secure (HTTPS) URL to reference this screenshot image or " -"video." -msgstr "" +#: src/as-category.c:189 +msgctxt "Category of Office" +msgid "Featured" +msgstr "Izdvojeno" -#: tools/appstream-cli.c:870 -msgid "Convert a YAML or text NEWS file into metainfo releases." -msgstr "" +#: src/as-category.c:192 +msgctxt "Category of Office" +msgid "Calendar" +msgstr "Kalendar" -#. TRANSLATORS: "convert" command in ascli. "Collection XML" is a term describing a specific type of AppStream XML data. -#: tools/appstream-cli.c:865 -msgid "Convert collection XML to YAML or vice versa." -msgstr "Pretvara zbirku XML u YAML ili obrnuto." +#: src/as-category.c:196 +msgctxt "Category of Office" +msgid "Database" +msgstr "Baze podataka" -#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results -#: tools/ascli-actions-mdata.c:228 -#, c-format -msgid "Could not find component providing '%s::%s'." -msgstr "Ne mogu da nađem komponentu koja omogućava „%s::%s“." +#: src/as-category.c:199 +msgctxt "Category of Office" +msgid "Finance" +msgstr "Finansije" -#: tools/appstream-cli.c:869 -msgid "Create a XDG desktop-entry file from a metainfo file." -msgstr "" +#: src/as-category.c:203 +msgctxt "Category of Office" +msgid "Word Processor" +msgstr "Obrada teksta" -#: tools/appstream-cli.c:868 -msgid "" -"Create a template for a metainfo file (to be filled out by the upstream " -"project)." -msgstr "" +#: src/as-category.c:212 +msgctxt "Category of Addons" +msgid "Fonts" +msgstr "Fontovi" -#: tools/ascli-actions-misc.c:228 -#, c-format -msgid "Creating new desktop-entry file '%s' using data from '%s'" -msgstr "" +#: src/as-category.c:215 +msgctxt "Category of Addons" +msgid "Codecs" +msgstr "Kodeci" -#: src/as-provided.c:160 -#, fuzzy -msgid "D-Bus Session Services" -msgstr "D-Bus servisi sesije" +#: src/as-category.c:218 +msgctxt "Category of Addons" +msgid "Input Sources" +msgstr "Ulazni izvori" -#: src/as-provided.c:158 -#, fuzzy -msgid "D-Bus System Services" -msgstr "D-Bus sistemski servisi" +#: src/as-category.c:221 +msgctxt "Category of Addons" +msgid "Language Packs" +msgstr "Jezički paketi" -#: src/as-category.c:195 -msgctxt "Category of Office" -msgid "Database" -msgstr "Baze podataka" +#: src/as-category.c:224 +msgctxt "Category of Addons" +msgid "Localization" +msgstr "Lokalizacije" -#: src/as-category.c:86 -msgctxt "Category of Development" -msgid "Debuggers" -msgstr "Otklanjanje grešaka" +#: src/as-category.c:232 +msgctxt "Category of Science" +msgid "Featured" +msgstr "Izdvojeno" -#: tools/ascli-utils.c:353 -msgid "Default Screenshot URL" -msgstr "URL podrazumevanog snimka ekrana" +#: src/as-category.c:235 +msgctxt "Category of Science" +msgid "Artificial Intelligence" +msgstr "Veštačka inteligencija" -#. TRANSLATORS: ascli flag description for: --format -#: tools/appstream-cli.c:83 -msgid "Default metadata format (valid values are 'xml' and 'yaml')." -msgstr "" +#: src/as-category.c:238 +msgctxt "Category of Science" +msgid "Astronomy" +msgstr "Astronomija" -#: tools/ascli-utils.c:333 -msgid "Description" -msgstr "Opis" +#: src/as-category.c:241 +msgctxt "Category of Science" +msgid "Chemistry" +msgstr "Hemija" -#. developer name -#: tools/ascli-utils.c:321 -msgid "Developer" -msgstr "Programer" +#: src/as-category.c:244 +msgctxt "Category of Science" +msgid "Math" +msgstr "Matematika" -#. TRANSLATORS: this is the menu spec main category for Development -#: src/as-category.c:305 -msgid "Developer Tools" -msgstr "Programerske alatke" +#: src/as-category.c:249 +msgctxt "Category of Science" +msgid "Robotics" +msgstr "Robotika" -#: tools/appstream-cli.c:862 -msgid "Display status information about available AppStream metadata." -msgstr "" +#: src/as-category.c:257 +msgctxt "Category of Communication" +msgid "Featured" +msgstr "Izdvojeno" -#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions -#: tools/ascli-actions-misc.c:52 -msgid "Distribution metadata:" -msgstr "" +#: src/as-category.c:260 +msgctxt "Category of Communication" +msgid "Chat" +msgstr "Ćaskanje" -#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) -#: tools/appstream-cli.c:126 -msgid "Do not use network access." -msgstr "" +#: src/as-category.c:267 +msgctxt "Category of Communication" +msgid "News" +msgstr "Vesti" -#. TRANSLATORS: ascli flag description for: --no-color -#: tools/appstream-cli.c:908 -msgid "Don't show colored output." -msgstr "Ne prikazuj obojeni izlaz." +#: src/as-category.c:271 +msgctxt "Category of Communication" +msgid "Web Browsers" +msgstr "Web pregledači" -#: tools/appstream-cli.c:853 -msgid "Dump raw XML metadata for a component matching the ID." -msgstr "Izbacuje sirove XML metapodatke za komponentu odgovarajućeg ID-a." +#: src/as-category.c:279 +msgctxt "Category of Utility" +msgid "Featured" +msgstr "Izdvojeno" + +#: src/as-category.c:282 +msgctxt "Category of Utility" +msgid "Text Editors" +msgstr "Uređivači teksta" + +#: src/as-category.c:285 +msgctxt "Category of Utility" +msgid "Terminal Emulators" +msgstr "Emulatori terminala" + +#: src/as-category.c:288 +msgctxt "Category of Utility" +msgid "File System" +msgstr "Fajl sistem" + +#: src/as-category.c:291 +msgctxt "Category of Utility" +msgid "System Monitoring" +msgstr "Nadgledanje sistema" + +#: src/as-category.c:294 +msgctxt "Category of Utility" +msgid "Security" +msgstr "Bezbednost" + +#. TRANSLATORS: this is the menu spec main category for Audio & Video +#: src/as-category.c:303 +msgid "Audio & Video" +msgstr "Audio i video" + +#. TRANSLATORS: this is the menu spec main category for Development +#: src/as-category.c:306 +msgid "Developer Tools" +msgstr "Programerske alatke" #. TRANSLATORS: this is the menu spec main category for Education -#: src/as-category.c:308 +#: src/as-category.c:309 msgid "Education" msgstr "Obrazovanje" -#. TRANSLATORS: No metainfo files have been found -#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 -msgid "Empty." -msgstr "Prazno." +#. TRANSLATORS: this is the menu spec main category for Game +#: src/as-category.c:312 +msgid "Games" +msgstr "Igre" -#: src/as-category.c:141 -msgctxt "Category of Games" -msgid "Emulators" -msgstr "Emulatori" +#. TRANSLATORS: this is the menu spec main category for Graphics +#: src/as-category.c:315 +msgid "Graphics & Photography" +msgstr "Grafika i fotografija" -#. TRANSLATORS: ascli flag description for: --force -#: tools/appstream-cli.c:245 -msgid "Enforce a cache refresh." -msgstr "Primorava osvežavanje keša." +#. TRANSLATORS: this is the menu spec main category for Office +#: src/as-category.c:318 +msgid "Office" +msgstr "Kancelarija" -#: src/as-validator-issue-tag.h:74 -msgid "Enumerations must only have list items (
                                                                                                                                                                                                                                                                                                                                                                  1. ) as children." -msgstr "" +#. TRANSLATORS: this is the main category for Add-ons +#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor +#: src/as-category.c:321 tools/ascli-utils.c:371 +msgid "Add-ons" +msgstr "Dodaci" -#: tools/ascli-actions-misc.c:159 +#. TRANSLATORS: this is the menu spec main category for Science +#: src/as-category.c:324 +msgid "Science" +msgstr "Nauka" + +#. TRANSLATORS: this is the menu spec main category for Communication +#: src/as-category.c:327 +msgid "Communication & News" +msgstr "Komunikacije i vesti" + +#. TRANSLATORS: this is the menu spec main category for Utilities +#: src/as-category.c:330 +msgid "Utilities" +msgstr "Pomoćne alatke" + +#. TRANSLATORS: This is the formatting of English and localized name +#. * of the rating e.g. "Adults Only (solo adultos)" +#: src/as-content-rating.c:298 #, c-format -msgid "Error while loading the metadata pool: %s" +msgid "%s (%s)" msgstr "" -#: tools/ascli-utils.c:327 -msgid "Extends" -msgstr "Proširuje" +#: src/as-content-rating.c:444 +msgid "General" +msgstr "" -#: src/as-category.c:65 -msgctxt "Category of AudioVideo" -msgid "Featured" -msgstr "Izdvojeno" +#: src/as-content-rating.c:453 +msgid "ALL" +msgstr "" -#: src/as-category.c:256 -msgctxt "Category of Communication" -msgid "Featured" -msgstr "Izdvojeno" +#: src/as-content-rating.c:457 src/as-content-rating.c:560 +msgid "Adults Only" +msgstr "" -#: src/as-category.c:83 -msgctxt "Category of Development" -msgid "Featured" +#: src/as-content-rating.c:459 src/as-content-rating.c:559 +#, fuzzy +msgid "Mature" msgstr "Izdvojeno" -#: src/as-category.c:98 -msgctxt "Category of Education" -msgid "Featured" -msgstr "Izdvojeno" +#: src/as-content-rating.c:461 src/as-content-rating.c:558 +msgid "Teen" +msgstr "" -#: src/as-category.c:120 -msgctxt "Category of Games" -msgid "Featured" -msgstr "Izdvojeno" +#: src/as-content-rating.c:463 src/as-content-rating.c:557 +msgid "Everyone 10+" +msgstr "" -#: src/as-category.c:165 -msgctxt "Category of Graphics" -msgid "Featured" -msgstr "Izdvojeno" +#: src/as-content-rating.c:465 src/as-content-rating.c:556 +msgid "Everyone" +msgstr "" + +#: src/as-content-rating.c:467 src/as-content-rating.c:555 +msgid "Early Childhood" +msgstr "" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:839 +msgid "No cartoon violence" +msgstr "Nema crtanog nasilja" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:841 +msgid "Cartoon characters in unsafe situations" +msgstr "Likovi iz crtaća u nepoželjnim situacijama" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:843 +msgid "Cartoon characters in aggressive conflict" +msgstr "Likovi iz crtaća u agresivnom sukobu" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:845 +msgid "Graphic violence involving cartoon characters" +msgstr "Grafičko nasilje koje uključuje likove iz crtaća" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:850 +msgid "No fantasy violence" +msgstr "Nema fantazijskog nasilja" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:852 +msgid "Characters in unsafe situations easily distinguishable from reality" +msgstr "Likovi u nesigurnim situacijama koje se lako razlikuju od stvarnosti" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:854 +msgid "Characters in aggressive conflict easily distinguishable from reality" +msgstr "Likovi u agresivnom sukobu koji se lako razlikuje od stvarnosti" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:856 +msgid "Graphic violence easily distinguishable from reality" +msgstr "Grafičko nasilje koje se lako razlikuje od stvarnosti" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:861 +msgid "No realistic violence" +msgstr "Nema realističnog nasilja" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:863 +msgid "Mildly realistic characters in unsafe situations" +msgstr "Blago stvarni likovi u nesigurnim situacijama" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:865 +msgid "Depictions of realistic characters in aggressive conflict" +msgstr "Prikaz stvarnih likova u agresivnom sukobu" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:867 +msgid "Graphic violence involving realistic characters" +msgstr "Grafičko nasilje koje uključuje stvarne likove" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:872 +msgid "No bloodshed" +msgstr "Nema krvoprolića" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:874 +msgid "Unrealistic bloodshed" +msgstr "Nerealno krvoproliće" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:876 +msgid "Realistic bloodshed" +msgstr "Realno krvoproliće" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:878 +msgid "Depictions of bloodshed and the mutilation of body parts" +msgstr "Prikaz krvoprolića i sakaćenje delova tela" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:883 +msgid "No sexual violence" +msgstr "Nema seksualnog nasilja" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:885 +msgid "Rape or other violent sexual behavior" +msgstr "Silovanje ili drugo nasilno seksualno ponašanje" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:892 +msgid "No references to alcohol" +msgstr "Nema upućivanja na alkohol" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:894 +msgid "References to alcoholic beverages" +msgstr "Upućivanje na alkoholna pića" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:896 +msgid "Use of alcoholic beverages" +msgstr "Upotreba alkoholnih pića" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:902 +msgid "No references to illicit drugs" +msgstr "Nema upućivanja na zabranjene droge" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:904 +msgid "References to illicit drugs" +msgstr "Upućivanje na zabranjene droge" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:906 +msgid "Use of illicit drugs" +msgstr "Upotreba zabranjenih droga" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:912 +#, fuzzy +msgid "No references to tobacco products" +msgstr "" +"#-#-#-#-# sr@latin.po (AppStream) #-#-#-#-#\n" +"#-#-#-#-# sr@latin.po (appstream-glib) #-#-#-#-#\n" +"Upućivanje na duvanske proizvode" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:914 +msgid "References to tobacco products" +msgstr "Upućivanje na duvanske proizvode" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:916 +msgid "Use of tobacco products" +msgstr "Upotreba duvanskih proizvoda" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:922 +msgid "No nudity of any sort" +msgstr "Nema bilo kakve nagosti" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:924 +msgid "Brief artistic nudity" +msgstr "Kratka umetnička golotinja" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:926 +msgid "Prolonged nudity" +msgstr "Produžena golotinja" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:932 +#, fuzzy +msgid "No references to or depictions of sexual nature" +msgstr "" +"#-#-#-#-# sr@latin.po (AppStream) #-#-#-#-#\n" +"#-#-#-#-# sr@latin.po (appstream-glib) #-#-#-#-#\n" +"Nema seksualnih prikaza ili upućivanja" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:934 +msgid "Provocative references or depictions" +msgstr "Provokativne upute ili prikazi" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:936 +msgid "Sexual references or depictions" +msgstr "Seksualne upute ili prikazi" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:938 +msgid "Graphic sexual behavior" +msgstr "Grafičko seksualno ponašanje" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:943 +msgid "No profanity of any kind" +msgstr "Nema bilo kakve vulgarnosti" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:945 +msgid "Mild or infrequent use of profanity" +msgstr "Blaga ili retka upotreba psovki" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:947 +msgid "Moderate use of profanity" +msgstr "Umerena upotreba psovki" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:949 +msgid "Strong or frequent use of profanity" +msgstr "Jaka ili česta upotreba psovki" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:954 +msgid "No inappropriate humor" +msgstr "Nema neumesnog humora" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:956 +msgid "Slapstick humor" +msgstr "Urnebesna komedija" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:958 +msgid "Vulgar or bathroom humor" +msgstr "Vulgaran ili neumesni humor" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:960 +msgid "Mature or sexual humor" +msgstr "Erotski i humor za odrasle" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:965 +msgid "No discriminatory language of any kind" +msgstr "Nema bilo kakvog diskriminacionog govora" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:967 +msgid "Negativity towards a specific group of people" +msgstr "Negativnost prema određenoj grupi ljudi" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:969 +msgid "Discrimination designed to cause emotional harm" +msgstr "Diskriminacija osmišljena da izazove emotivnu povredu" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:971 +msgid "Explicit discrimination based on gender, sexuality, race or religion" +msgstr "" +"Eksplicitna diskriminacija na osnovu pola, seksualnosti, rase ili " +"veroispovesti" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:976 +msgid "No advertising of any kind" +msgstr "Nema bilo kakvog oglašavanja" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:978 +msgid "Product placement" +msgstr "Plasman proizvoda" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:980 +msgid "Explicit references to specific brands or trademarked products" +msgstr "Eksplicitno upućivanje na naročite robne marke ili zaštićene proizvode" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:982 +msgid "Users are encouraged to purchase specific real-world items" +msgstr "Korisnici se ohrabruju da kupuju određene stavke u stvarnom svetu" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:987 +msgid "No gambling of any kind" +msgstr "Nema bilo kakvog kockanja" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:989 +msgid "Gambling on random events using tokens or credits" +msgstr "Kockanje na nasumičnim događajima koji koriste žetone ili kredite" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:991 +msgid "Gambling using “play” money" +msgstr "Kockanje koje koristi „igrački“ novac (play)" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:993 +msgid "Gambling using real money" +msgstr "Kockanje koje koristi stvarni novac" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:998 +msgid "No ability to spend money" +msgstr "Ne može se trošiti stvaran novac" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1000 +msgid "Users are encouraged to donate real money" +msgstr "Korisnici se ohrabruju da doniraju stvarni novac" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1003 +#, fuzzy +msgid "Ability to spend real money in-app" +msgstr "" +"#-#-#-#-# sr@latin.po (AppStream) #-#-#-#-#\n" +"#-#-#-#-# sr@latin.po (appstream-glib) #-#-#-#-#\n" +"Sposobnost potrošnje stvarnog novca u igri" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1008 +msgid "No way to chat with other users" +msgstr "Nema načina za ćaskanje sa drugim korisnicima" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1010 +#, fuzzy +msgid "User-to-user interactions without chat functionality" +msgstr "" +"#-#-#-#-# sr@latin.po (AppStream) #-#-#-#-#\n" +"#-#-#-#-# sr@latin.po (appstream-glib) #-#-#-#-#\n" +"Međudejstvo između korisnika bez mogućnosti ćaskanja" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1012 +msgid "Moderated chat functionality between users" +msgstr "Umerena mogućnost ćaskanja između korisnika" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1014 +msgid "Uncontrolled chat functionality between users" +msgstr "Nekontrolisana mogućnost ćaskanja između korisnika" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1019 +msgid "No way to talk with other users" +msgstr "Nema načina za razgovor sa drugim korisnicima" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1021 +msgid "Uncontrolled audio or video chat functionality between users" +msgstr "Nekontrolisana mogućnost zvučnog i video ćaskanja između korisnika" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1028 +msgid "No sharing of social network usernames or email addresses" +msgstr "" +"Nema razmene korisničkih imena društvenih mreža ili adresa elektronske pošte" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1030 +msgid "Sharing social network usernames or email addresses" +msgstr "" +"Razmena korisničkih imena društvenih mreža ili adresa elektronske pošte" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1037 +#, fuzzy +msgid "No sharing of user information with third parties" +msgstr "" +"#-#-#-#-# sr@latin.po (AppStream) #-#-#-#-#\n" +"#-#-#-#-# sr@latin.po (appstream-glib) #-#-#-#-#\n" +"Nema razmene korisničkih podataka sa trećim stranama" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1039 +msgid "Checking for the latest application version" +msgstr "Proverava poslednje izdanje programa" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1041 +msgid "Sharing diagnostic data that does not let others identify the user" +msgstr "" +"Dele se dijagnostički podaci preko kojih drugi ne mogu prepoznati korisnika" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1043 +msgid "Sharing information that lets others identify the user" +msgstr "" +"Dele se dijagnostički podaci preko kojih drugi mogu prepoznati korisnika" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1048 +#, fuzzy +msgid "No sharing of physical location with other users" +msgstr "" +"#-#-#-#-# sr@latin.po (AppStream) #-#-#-#-#\n" +"#-#-#-#-# sr@latin.po (appstream-glib) #-#-#-#-#\n" +"Nema razmene fizičke lokacije sa drugim korisnicima" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1050 +#, fuzzy +msgid "Sharing physical location with other users" +msgstr "" +"#-#-#-#-# sr@latin.po (AppStream) #-#-#-#-#\n" +"#-#-#-#-# sr@latin.po (appstream-glib) #-#-#-#-#\n" +"Razmena stvarnih lokacija sa drugim korisnicima" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1073 +msgid "No references to homosexuality" +msgstr "Nema upućivanja na homoseksualnost" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1075 +msgid "Indirect references to homosexuality" +msgstr "Posredna upućivanja na homoseksualnost" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1077 +msgid "Kissing between people of the same gender" +msgstr "Ljubljenje između osoba istog pola" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1079 +msgid "Graphic sexual behavior between people of the same gender" +msgstr "Grafičko seksualno ponašanje između osoba istog pola" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1084 +msgid "No references to prostitution" +msgstr "Nema upućivanja na prostituciju" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1086 +msgid "Indirect references to prostitution" +msgstr "Posredna upućivanja na prostituciju" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1088 +#, fuzzy +msgid "Direct references to prostitution" +msgstr "" +"#-#-#-#-# sr@latin.po (AppStream) #-#-#-#-#\n" +"#-#-#-#-# sr@latin.po (appstream-glib) #-#-#-#-#\n" +"Neposredna upućivanja na prostituciju" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1090 +msgid "Graphic depictions of the act of prostitution" +msgstr "Grafički prikazi čina prostitucije" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1095 +msgid "No references to adultery" +msgstr "Nema upućivanja na preljubu" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1097 +msgid "Indirect references to adultery" +msgstr "Posredna upućivanja na preljubu" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1099 +#, fuzzy +msgid "Direct references to adultery" +msgstr "" +"#-#-#-#-# sr@latin.po (AppStream) #-#-#-#-#\n" +"#-#-#-#-# sr@latin.po (appstream-glib) #-#-#-#-#\n" +"Neposredna upućivanja na preljubu" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1101 +msgid "Graphic depictions of the act of adultery" +msgstr "Grafički prikazi čina preljube" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1106 +msgid "No sexualized characters" +msgstr "Nema seksualizovanih karaktera" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1109 +msgid "Scantily clad human characters" +msgstr "Oskudno obučeni ljudski karakteri" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1111 +msgid "Overtly sexualized human characters" +msgstr "Preterano seksualizovani ljudski karakteri" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1116 +msgid "No references to desecration" +msgstr "Nema upućivanja na skrnavljenje" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1118 +#, fuzzy +msgid "Depictions of or references to historical desecration" +msgstr "" +"#-#-#-#-# sr@latin.po (AppStream) #-#-#-#-#\n" +"#-#-#-#-# sr@latin.po (appstream-glib) #-#-#-#-#\n" +"Prikazi ili upućivanja ka istorijskim skrnavljenjima" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1120 +msgid "Depictions of modern-day human desecration" +msgstr "Prikazi savremenog ljudskog skrnavljenja" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1122 +msgid "Graphic depictions of modern-day desecration" +msgstr "Grafički prikazi savremenog skrnavljenja" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1127 +msgid "No visible dead human remains" +msgstr "Bez vidljivih ljudskih posmrtnih ostataka" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1129 +msgid "Visible dead human remains" +msgstr "Sa vidljivim ljudskim posmrtnim ostacima" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1131 +msgid "Dead human remains that are exposed to the elements" +msgstr "Posmrtni ostaci ljudi koji su izloženi vremenskim prilikama" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1133 +msgid "Graphic depictions of desecration of human bodies" +msgstr "Grafički prikazi skrnavljenja ljudskih tela" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1138 +msgid "No references to slavery" +msgstr "Nema upućivanja na robovlasništvo" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1140 +#, fuzzy +msgid "Depictions of or references to historical slavery" +msgstr "" +"#-#-#-#-# sr@latin.po (AppStream) #-#-#-#-#\n" +"#-#-#-#-# sr@latin.po (appstream-glib) #-#-#-#-#\n" +"Prikazi ili upućivanja ka istorijskom robovlasništvu" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1142 +msgid "Depictions of modern-day slavery" +msgstr "Prikazi savremenog robovlasništva" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1144 +msgid "Graphic depictions of modern-day slavery" +msgstr "Grafički prikazi savremenog robovlasništva" -#: src/as-category.c:188 -msgctxt "Category of Office" -msgid "Featured" -msgstr "Izdvojeno" +#. TRANSLATORS: We got a 429 error while trying to download data +#: src/as-curl.c:134 +#, c-format +msgid "Failed to download due to server limit" +msgstr "" -#: src/as-category.c:231 -msgctxt "Category of Science" -msgid "Featured" -msgstr "Izdvojeno" +#: src/as-curl.c:141 src/as-curl.c:148 +#, fuzzy, c-format +msgid "Failed to download file: %s" +msgstr "Ne mogu da sačuvam fajl meta-info šablona: %s" -#: src/as-category.c:278 -msgctxt "Category of Utility" -msgid "Featured" -msgstr "Izdvojeno" +#. TRANSLATORS: We tried to download an URL, but received a 404 error code +#: src/as-curl.c:157 +#, c-format +msgid "URL was not found on the server." +msgstr "" -#: tools/ascli-actions-validate.c:171 tools/ascli-actions-validate.c:349 -#, fuzzy, c-format -msgid "File '%s' does not exist." -msgstr ".desktop fajl „%s“ ne postoji." +#. TRANSLATORS: We received an uexpected HTTP status code while talking to a server, likely an error +#: src/as-curl.c:164 +#, c-format +msgid "Unexpected status code: %ld" +msgstr "" + +#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty +#: src/as-curl.c:247 +#, c-format +msgid "Retrieved file size was zero." +msgstr "" + +#. TRANSLATORS: List of "grey-listed" words sperated with ";" +#. * Do not translate this list directly. Instead, +#. * provide a list of words in your language that people are likely +#. * to include in a search but that should normally be ignored in +#. * the search. +#. +#: src/as-pool.c:111 +msgid "app;application;package;program;programme;suite;tool" +msgstr "" +"app;application;package;program;programme;suite;tool;app;апликација;пакет;" +"program;комплет;алат;aplikacija;komplet;alat;paket" + +#: src/as-pool.c:620 +msgid "Unable to remove old cache." +msgstr "" + +#: src/as-pool.c:963 +msgid "Metadata files have errors:" +msgstr "" + +#: src/as-pool.c:1370 +msgid "" +"Many components have been recognized as invalid. See debug output for " +"details." +msgstr "" + +#: src/as-pool.c:1996 +#, c-format +msgid "Cache location '%s' is not writable." +msgstr "Lokacija keša „%s“ nije upisiva." + +#: src/as-pool.c:2109 +msgid "" +"The AppStream system cache was updated, but some components were ignored. " +"Refer to the verbose log for more information." +msgstr "" + +#: src/as-pool.c:2111 +#, c-format +msgid "" +"The AppStream system cache was updated, but problems were found which " +"resulted in metadata being ignored: %s" +msgstr "" + +#: src/as-pool.c:2125 +#, c-format +msgid "" +"AppStream system cache refresh failed. Turn on verbose mode to get detailed " +"issue information." +msgstr "" + +#: src/as-provided.c:144 +msgid "Libraries" +msgstr "Biblioteke" + +#: src/as-provided.c:146 +msgid "Binaries" +msgstr "Izvršni" + +#: src/as-provided.c:148 +#, fuzzy +msgid "Media types" +msgstr "Mime-tipovi" + +#: src/as-provided.c:150 +msgid "Fonts" +msgstr "Fontovi" + +#: src/as-provided.c:152 +msgid "Modaliases" +msgstr "Modalijasi" + +#: src/as-provided.c:154 +msgid "Python (Version 2)" +msgstr "Python (ver. 2)" + +#: src/as-provided.c:156 +msgid "Python 3" +msgstr "Python 3" + +#: src/as-provided.c:158 +#, fuzzy +msgid "D-Bus System Services" +msgstr "D-Bus sistemski servisi" + +#: src/as-provided.c:160 +#, fuzzy +msgid "D-Bus Session Services" +msgstr "D-Bus servisi sesije" + +#: src/as-provided.c:162 +msgid "Runtime Firmware" +msgstr "Runtime firmver" + +#: src/as-provided.c:164 +msgid "Flashed Firmware" +msgstr "Flešovani firmver" + +#: src/as-provided.c:166 +msgid "Component" +msgstr "" + +#: src/as-validator-issue-tag.h:41 +msgid "This tag requires a type property." +msgstr "" + +#: src/as-validator-issue-tag.h:46 +msgid "Tags of this name are not permitted in this section." +msgstr "" + +#: src/as-validator-issue-tag.h:51 +msgid "" +"A tag must not be localized in metainfo files (upstream " +"metadata). Localize the individual paragraphs instead." +msgstr "" +" bedž ne sme biti lokalizovan u metainfo fajlovima (upstream " +"metadata). Lokalizujte individualne paragrafe umesto toga." + +#: src/as-validator-issue-tag.h:57 +msgid "" +"This element (paragraph, list, etc.) of a tag must not be " +"localized individually in collection metadata. Localize the whole " +" tag instead. The AppStream collection metadata generator (e." +"g. `appstream-generator`) will already do the right thing when compiling the " +"data." +msgstr "" + +#: src/as-validator-issue-tag.h:63 +msgid "" +"AppStream descriptions support only a limited set of tags to format text: " +"Paragraphs (

                                                                                                                                                                                                                                                                                                                                                                    ) and lists (

                                                                                                                                                                                                                                                                                                                                                                      ,
                                                                                                                                                                                                                                                                                                                                                                        ). This description markup contains " +"an invalid XML tag that would not be rendered correctly in applications " +"supporting the metainfo specification." +msgstr "" + +#: src/as-validator-issue-tag.h:69 +msgid "" +"This description paragraph contains invalid markup. Currently, only " +"and are permitted." +msgstr "" + +#: src/as-validator-issue-tag.h:74 +msgid "Enumerations must only have list items (
                                                                                                                                                                                                                                                                                                                                                                      1. ) as children." +msgstr "" + +#: src/as-validator-issue-tag.h:79 +msgid "" +"The first `description/p` paragraph of this component might be too short (< " +"80 characters). Please consider starting with a longer paragraph to improve " +"how the description looks like in software centers and to provide more " +"detailed information on this component immediately in the first paragraph." +msgstr "" + +#: src/as-validator-issue-tag.h:86 +msgid "" +"The description contains a web URL in plain text. This is not allowed, " +"please use the tag instead to share links." +msgstr "" + +#: src/as-validator-issue-tag.h:91 +msgid "" +"As per AppStream specification, the mentioned tag must only appear once in " +"this context. Having multiple tags of this kind is not valid." +msgstr "" + +#: src/as-validator-issue-tag.h:96 +msgid "" +"The mentioned tag is empty, which is highly likely not intended as it should " +"have content." +msgstr "" + +#: src/as-validator-issue-tag.h:101 +msgid "" +"The component ID is required to follow a reverse domain-name scheme for its " +"name. See the AppStream specification for details." +msgstr "" + +#: src/as-validator-issue-tag.h:106 +msgid "" +"The component ID is not a reverse domain-name. Please update the ID to avoid " +"future issues and be compatible with all AppStream implementations.\n" +"You may also consider to update the name of the accompanying .desktop file " +"to follow the latest version of the Desktop-Entry specification and use a " +"rDNS name for it as well. In any case, do not forget to mention the new " +"desktop-entry in a tag for this component to keep the " +"application launchable from software centers and the .desktop file data " +"associated with the metainfo data." +msgstr "" + +#: src/as-validator-issue-tag.h:114 +msgid "" +"The component ID might not follow the reverse domain-name schema (the TLD " +"used by it is not known to the validator)." +msgstr "" + +#: src/as-validator-issue-tag.h:119 +msgid "" +"The component ID contains an invalid character. Only ASCII characters, dots " +"and numbers are permitted." +msgstr "" + +#: src/as-validator-issue-tag.h:124 +msgid "" +"The component ID contains a hyphen/minus. Using a hyphen is strongly " +"discouraged, to improve interoperability with other tools such as D-Bus. A " +"good option is to replace any hyphens with underscores (`_`)." +msgstr "" + +#: src/as-validator-issue-tag.h:130 +msgid "" +"The component ID contains a segment starting with a number. Starting a " +"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " +"interoperability with other tools such as D-Bus. Ideally, prefix these " +"segments with an underscore." +msgstr "" + +#: src/as-validator-issue-tag.h:136 +msgid "The component ID should only contain lowercase letters." +msgstr "" + +#: src/as-validator-issue-tag.h:141 +msgid "" +"The component is part of the Freedesktop project, but its ID does not start " +"with fd.o's reverse-DNS name (\"org.freedesktop\")." +msgstr "" + +#: src/as-validator-issue-tag.h:146 +msgid "" +"The component is part of the KDE project, but its ID does not start with " +"KDEs reverse-DNS name (\"org.kde\")." +msgstr "" + +#: src/as-validator-issue-tag.h:151 +msgid "" +"The component is part of the GNOME project, but its ID does not start with " +"GNOMEs reverse-DNS name (\"org.gnome\")." +msgstr "" + +#: src/as-validator-issue-tag.h:156 +msgid "The SPDX license expression is invalid and could not be parsed." +msgstr "" + +#: src/as-validator-issue-tag.h:161 +msgid "" +"The license ID was not found in the SPDX database. Please check that the " +"license ID is written in an SPDX-conformant way and is a valid free software " +"license." +msgstr "" + +#: src/as-validator-issue-tag.h:167 +msgid "" +"The metadata itself seems to be licensed under a complex collection of " +"licenses. Please license the data under a simple permissive license, like " +"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " +"collections without the risk of license violations due to mutually " +"incompatible licenses." +msgstr "" + +#: src/as-validator-issue-tag.h:173 +msgid "" +"The metadata itself does not seem to be licensed under a permissive license. " +"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " +"0BSD to allow distributors to include it in mixed data collections without " +"the risk of license violations due to mutually incompatible licenses." +msgstr "" + +#: src/as-validator-issue-tag.h:179 +msgid "" +"The update-contact does not appear to be a valid email address (escaping of " +"`@` is only allowed as `_at_` or `_AT_`)." +msgstr "" + +#: src/as-validator-issue-tag.h:184 +msgid "" +"Unable to reach the screenshot image on its remote location - does the image " +"exist?" +msgstr "" + +#: src/as-validator-issue-tag.h:189 +msgid "" +"Unable to reach the screenshot video on its remote location - does the video " +"file exist?" +msgstr "" + +#: src/as-validator-issue-tag.h:194 +msgid "" +"Consider using a secure (HTTPS) URL to reference this screenshot image or " +"video." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:200 +msgid "" +"A screenshot must contain at least one image or video in order to be useful. " +"Please add an to it." +msgstr "" +"Snimak ekrana mora imati barem jednu sliku ili video snimak da bi bio " +"uspešan. Molim Vas dodajte ka njemu." + +#: src/as-validator-issue-tag.h:205 +msgid "" +"A screenshot must contain either images or videos, but not both at the same " +"time. Please use this screenshot exclusively for either static images or for " +"videos." +msgstr "" +"Snimak ekrana mora imati ili slike ili video snimke, ali ne oba u isto " +"vreme. Molim Vas koristite ovaj snimak ekrana isključivo za ili statične " +"slike ili video snimke." -#: src/as-category.c:287 -msgctxt "Category of Utility" -msgid "File System" -msgstr "Fajl sistem" +#: src/as-validator-issue-tag.h:211 +msgid "The screenshot does not have a caption text. Consider adding one." +msgstr "" -#: src/as-category.c:198 -msgctxt "Category of Office" -msgid "Finance" -msgstr "Finansije" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:217 +msgid "" +"The screenshot video does not specify which video codec was used in a " +"`codec` property." +msgstr "" -#: src/as-provided.c:164 -msgid "Flashed Firmware" -msgstr "Flešovani firmver" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:223 +msgid "" +"The screenshot video does not specify which container format was used in a " +"`container` property." +msgstr "" -#: src/as-provided.c:150 -msgid "Fonts" -msgstr "Fontovi" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:229 +msgid "" +"The selected video codec is not supported by AppStream and software centers " +"may not be able to play the video. Only the AV1 and VP9 codecs are currently " +"supported, using `av1` and `vp9` as values for the `codec` property." +msgstr "" -#: src/as-category.c:211 -msgctxt "Category of Addons" -msgid "Fonts" -msgstr "Fontovi" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:236 +msgid "" +"The selected video container format is not supported by AppStream and " +"software centers may not be able to play the video. Only the WebM and " +"Matroska video containers are currently supported, using `webm` and `mkv` as " +"values for the `container` property." +msgstr "" -#: src/as-validator-issue-tag.h:237 +#: src/as-validator-issue-tag.h:242 msgid "" "For videos, only the WebM and Matroska (.mkv) container formats are " "currently supported. The file extension of the referenced video does not " "belong to either of these formats." msgstr "" -#. TRANSLATORS: ascli flag description for: --format when validating XML files -#: tools/appstream-cli.c:131 -msgid "Format of the generated report (valid values are 'text' and 'yaml')." +#: src/as-validator-issue-tag.h:248 +msgid "" +"The default screenshot of a software component must not be a video. Use a " +"static image as default screenshot and set the video as a secondary " +"screenshot." msgstr "" -#. TRANSLATORS: Found metainfo files in legacy directories -#: tools/ascli-actions-misc.c:138 -#, c-format -msgid "Found %i components in legacy paths." +#: src/as-validator-issue-tag.h:253 +msgid "" +"Found an unknown tag in a requires/recommends group. This is likely an " +"error, because a component relation of this type is unknown." msgstr "" -#: tools/ascli-actions-misc.c:123 -#, c-format -msgid "Found %i components." -msgstr "Nađeno komponenti: %i." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:259 +#, fuzzy +msgid "" +"A `requires` or `recommends` item requires a value to denote a valid " +"relation." +msgstr "" +"'requires' ili 'recommends' stavka zahteva vrednost da bi ukazala na važeći " +"odnos." -#. TRANSLATORS: 'version' is an AppStream XML property. Please do not translate it. -#: src/as-validator-issue-tag.h:260 +#. TRANSLATORS: `version` is an AppStream XML property. Please do not translate it. +#: src/as-validator-issue-tag.h:265 msgid "" -"Found 'version' property on required/recommended item of a type that should " +"Found `version` property on required/recommended item of a type that should " "not have or require a version." msgstr "" -#. TRANSLATORS: 'version' and 'compare' are AppStream XML properties. Please do not translate them. -#: src/as-validator-issue-tag.h:266 +#. TRANSLATORS: `version` and `compare` are AppStream XML properties. Please do not translate them. +#: src/as-validator-issue-tag.h:271 msgid "" -"Found 'version' property on this required/recommended item, but not " -"'compare' property. It is recommended to explicitly define a comparison " +"Found `version` property on this required/recommended item, but not " +"`compare` property. It is recommended to explicitly define a comparison " "operation." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:277 +#: src/as-validator-issue-tag.h:276 msgid "" -"Found a memory size dependency in a 'requires' tag. This means users will " -"not be able to even install the component without having enough RAM. This is " -"usually not intended and you want to use 'memory' in the 'recommends' tag " -"instead." +"Invalid comparison operation on relation item. Only eq/ne/lt/gt/le/ge are " +"permitted." msgstr "" -#: src/as-validator-issue-tag.h:248 +#: src/as-validator-issue-tag.h:281 msgid "" -"Found an unknown tag in a requires/recommends group. This is likely an " -"error, because a component relation of this type is unknown." +"The relation item has a comparison operation set, but does not support any " +"comparisons." msgstr "" -#: src/as-validator-issue-tag.h:427 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:287 msgid "" -"Found invalid tag. Non-standard tags should be prefixed with 'x-'. AppStream " -"also provides the tag to add arbitrary custom data to metainfo " -"files. This tag is read by AppStream libraries and may be useful instead of " -"defining new custom toplevel or 'x-'-prefixed tags if you just want to add " -"custom data to a metainfo file." +"Found a memory size relation in a `requires` tag. This means users will not " +"be able to even install the component without having enough RAM. This is " +"usually not intended and you want to use `memory` in the `recommends` tag " +"instead." msgstr "" -#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. -#: src/as-validator.c:526 src/as-validator.c:939 src/as-validator.c:1024 -#: src/as-validator.c:1237 -#, c-format -msgid "Found: %s - Allowed: %s" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:294 +msgid "" +"Found a user input control relation in a `requires` tag. This means users " +"will not be able to even install the component without having the defined " +"input control available on the system. This is usually not intended and you " +"want to use `control` in the `recommends` tag instead." msgstr "" -#. TRANSLATORS: this is the menu spec main category for Game -#: src/as-category.c:311 -msgid "Games" -msgstr "Igre" - -#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command -#: tools/appstream-cli.c:814 -msgid "Generate the output in the selected format ('yaml' or 'text')." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:301 +msgid "" +"This `control` item defines an unknown input method and is invalid. Check " +"the specification for a list of permitted values." msgstr "" -#: tools/appstream-cli.c:849 -msgid "Get components which provide the given item." -msgstr "Dobavlja komponente koji omogućavaju datu stavku." - -#: tools/appstream-cli.c:848 -msgid "Get information about a component by its ID." -msgstr "Dobavlja podatke o komponenti prema ID-u." - -#. TRANSLATORS: this is the menu spec main category for Graphics -#: src/as-category.c:314 -msgid "Graphics & Photography" -msgstr "Grafika i fotografija" - -#: tools/ascli-utils.c:300 -msgid "Homepage" -msgstr "Matična stranica" - -#: src/as-category.c:89 -msgctxt "Category of Development" -msgid "IDEs" -msgstr "Razvojna okruženja" - -#: tools/ascli-utils.c:301 -msgid "Icon" -msgstr "Ikona" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:307 +msgid "" +"This `display_length` item contains an invalid display length. Its value " +"must either be a shorthand string, or positive integer value denoting " +"logical pixels. Please refer to the AppStream specification for more " +"information on this tag." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:351 -msgid "Icons of type 'remote' must contain an URL to the referenced icon." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:314 +msgid "" +"This `side` property of this `display_length` item contains an invalid " +"value. It must either be `shortest` or `longest`, or unset to imply " +"`shortest` to make the item value refer to either the shortest or longest " +"side of the display." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:344 +#: src/as-validator-issue-tag.h:320 msgid "" -"Icons of type 'stock' or 'cached' must not contain an URL, a full or an " -"relative path to the icon. Only file basenames or stock names are allowed." +"The set component type is not a recognized, valid AppStream component type." msgstr "" -#: tools/ascli-actions-misc.c:94 -msgid "Iconsets" -msgstr "Kompleti ikona" +#: src/as-validator-issue-tag.h:325 +msgid "" +"The component has a priority value set. This is not allowed in metainfo " +"files." +msgstr "" -#: tools/ascli-utils.c:295 -msgid "Identifier" -msgstr "Identifikator" +#: src/as-validator-issue-tag.h:330 +msgid "" +"The component has a `merge` method defined. This is not allowed in metainfo " +"files." +msgstr "" -#: src/as-category.c:217 -msgctxt "Category of Addons" -msgid "Input Sources" -msgstr "Ulazni izvori" +#: src/as-validator-issue-tag.h:335 +msgid "The component is missing an ID ( tag)." +msgstr "" -#: tools/appstream-cli.c:863 -msgid "Install a metadata file into the right location." +#: src/as-validator-issue-tag.h:340 +msgid "The component is missing a name ( tag)." msgstr "" -#: tools/appstream-cli.c:859 -#, fuzzy -msgid "Install software matching the component-ID." -msgstr "Instalira softver koji odgovara ID-u komponente." +#: src/as-validator-issue-tag.h:345 +msgid "The component is missing a summary ( tag)." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:373 +#: src/as-validator-issue-tag.h:350 msgid "" -"Invalid 'type' property for this 'url' tag. URLs of this type are not known " -"in the AppStream specification." +"The tag still contains a `type` property, probably from an old " +"conversion to the recent metainfo format." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:553 +#: src/as-validator-issue-tag.h:355 msgid "" -"Invalid tag found in collection metadata. Only 'component' tags are " -"permitted." +"The `pkgname` tag appears multiple times. You should evaluate creating a " +"metapackage containing the metainfo and .desktop files in order to avoid " +"defining multiple package names per component." msgstr "" -#: tools/ascli-actions-mdata.c:213 -msgid "Invalid type for provided item selected. Valid values are:" +#: src/as-validator-issue-tag.h:360 +msgid "The component name should (likely) not end with a dot (`.`)." msgstr "" -"Izabran je neispravan tip za dostavljenu stavku. Ispravne vrednosti su:" -#: src/as-validator-issue-tag.h:271 -msgid "" -"Invalid version comparison operation on relation item. Only eq/ne/lt/gt/le/" -"ge are permitted." +#: src/as-validator-issue-tag.h:365 +msgid "The component summary should not end with a dot (`.`)." msgstr "" -#: src/as-validator-issue-tag.h:450 -msgid "" -"It is recommended to add a long description to this component to present it " -"better to users." +#: src/as-validator-issue-tag.h:370 +msgid "The component summary must not contain tabs or linebreaks." msgstr "" -#: src/as-validator-issue-tag.h:445 -msgid "" -"It would be useful to add a long description to this font to present it " -"better to users." +#: src/as-validator-issue-tag.h:375 +msgid "The summary must not contain any URL. Use the tags for links." msgstr "" -#: src/as-category.c:144 -msgctxt "Category of Games" -msgid "Kids" -msgstr "Dečije" - -#: src/as-category.c:220 -msgctxt "Category of Addons" -msgid "Language Packs" -msgstr "Jezički paketi" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:381 +msgid "" +"Icons of type `stock` or `cached` must not contain an URL, a full or an " +"relative path to the icon. Only file basenames or stock names are allowed." +msgstr "" -#: src/as-category.c:107 -msgctxt "Category of Education" -msgid "Languages" -msgstr "Jezici" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:388 +msgid "Icons of type `remote` must contain an URL to the referenced icon." +msgstr "" -#: src/as-provided.c:144 -msgid "Libraries" -msgstr "Biblioteke" +#: src/as-validator-issue-tag.h:393 +msgid "Unable to reach remote icon at the given web location - does it exist?" +msgstr "" -#. license -#: tools/ascli-utils.c:363 -msgid "License" -msgstr "Licenca" +#: src/as-validator-issue-tag.h:398 +msgid "Consider using a secure (HTTPS) URL for the remote icon link." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:629 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:404 msgid "" -"Licenses for 'runtime' components are usually too complex to reflect them in " -"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " -"value for this component's 'project_license'. E.g. `LicenseRef-free=https://" -"example.com/licenses.html`" +"Metainfo files may only contain icons of type `stock` or `remote`, the set " +"type is not allowed." msgstr "" -#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command -#: tools/appstream-cli.c:771 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:410 msgid "" -"Limit the number of release entries that end up in the metainfo file (0 for " -"unlimited)." +"Invalid `type` property for this `url` tag. URLs of this type are not known " +"in the AppStream specification." msgstr "" -#: src/as-category.c:223 -msgctxt "Category of Addons" -msgid "Localization" -msgstr "Lokalizacije" - -#: src/as-category.c:147 -msgctxt "Category of Games" -msgid "Logic" -msgstr "Logičke" - -#. TRANSLATORS: ascli flag description for: --no-cache -#: tools/appstream-cli.c:67 -msgid "Make request without any caching." +#: src/as-validator-issue-tag.h:415 +msgid "" +"Unable to reach remote location that this URL references - does it exist?" msgstr "" -#. TRANSLATORS: ascli flag description for: --cachepath -#: tools/appstream-cli.c:57 -#, fuzzy -msgid "Manually selected location of AppStream cache." -msgstr "Ručno postavlja mesto keša Programskog toka." +#: src/as-validator-issue-tag.h:420 +msgid "Consider using a secure (HTTPS) URL for this web link." +msgstr "" -#. TRANSLATORS: ascli flag description for: --datapath -#: tools/appstream-cli.c:62 -#, fuzzy -msgid "Manually selected location of AppStream metadata to scan." -msgstr "Ručno postavlja lokaciju metapodataka Programskog toka za obradu." +#: src/as-validator-issue-tag.h:425 +msgid "A web URL was expected for this value." +msgstr "" -#: src/as-pool.c:1280 +#: src/as-validator-issue-tag.h:430 msgid "" -"Many components have been recognized as invalid. See debug output for " -"details." +"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." msgstr "" -#: src/as-category.c:111 -msgctxt "Category of Education" -msgid "Math" -msgstr "Matematika" - -#: src/as-category.c:243 -msgctxt "Category of Science" -msgid "Math" -msgstr "Matematika" - -#: src/as-provided.c:148 -#, fuzzy -msgid "Media types" -msgstr "Mime-tipovi" +#: src/as-validator-issue-tag.h:435 +msgid "The can not contain a hyperlink." +msgstr "" -#: tools/ascli-actions-mdata.c:364 -#, c-format -msgid "Metadata file '%s' does not exist." +#: src/as-validator-issue-tag.h:440 +msgid "" +"The set value is not an identifier for a desktop environment as registered " +"with Freedesktop.org." msgstr "" -#: src/as-pool.c:881 -msgid "Metadata files have errors:" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:446 +msgid "This `launchable` tag has an unknown type and can not be used." msgstr "" -#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 -#: tools/ascli-actions-misc.c:515 -#, fuzzy, c-format -msgid "Metainfo file '%s' does not exist." -msgstr ".desktop fajl „%s“ ne postoji." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:452 +msgid "This `bundle` tag has an unknown type and can not be used." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:367 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:458 msgid "" -"Metainfo files may only contain icons of type 'stock' or 'remote', the set " -"type is not allowed." +"The `update_contact` tag should not be included in collection AppStream XML." msgstr "" -#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report -#: tools/ascli-actions-misc.c:116 -msgid "Metainfo files:" +#: src/as-validator-issue-tag.h:463 +msgid "" +"This tag is a GNOME-specific extension to AppStream and not part of the " +"official specification. Do not expect it to work in all implementations and " +"in all software centers." msgstr "" -#: src/as-provided.c:152 -msgid "Modaliases" -msgstr "Modalijasi" +#: src/as-validator-issue-tag.h:469 +msgid "" +"Found invalid tag. Non-standard tags should be prefixed with `x-`. AppStream " +"also provides the tag to add arbitrary custom data to metainfo " +"files. This tag is read by AppStream libraries and may be useful instead of " +"defining new custom toplevel or `x-`-prefixed tags if you just want to add " +"custom data to a metainfo file." +msgstr "" -#: src/as-category.c:74 -msgctxt "Category of AudioVideo" -msgid "Music Players" -msgstr "Muzički plejeri" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:477 +msgid "" +"The essential tag `metadata_license` is missing. A license for the metadata " +"itself always has to be defined." +msgstr "" -#: tools/ascli-utils.c:296 -msgid "Name" -msgstr "Naziv" +#: src/as-validator-issue-tag.h:482 +msgid "" +"The component is missing a long description. Components of this type must " +"have a long description." +msgstr "" -#: src/as-category.c:266 -msgctxt "Category of Communication" -msgid "News" -msgstr "Vesti" +#: src/as-validator-issue-tag.h:487 +msgid "" +"It would be useful to add a long description to this font to present it " +"better to users." +msgstr "" -#: src/as-validator-issue-tag.h:589 -msgid "No AppStream metadata was found in this directory or directory tree." +#: src/as-validator-issue-tag.h:492 +msgid "" +"It is recommended to add a long description to this component to present it " +"better to users." msgstr "" -#. pedantic because not everything which has metadata is an application -#: src/as-validator-issue-tag.h:594 -msgid "No XDG applications directory found." +#: src/as-validator-issue-tag.h:497 +msgid "" +"This generic component is missing a long description. It may be useful to " +"add one." msgstr "" -#: tools/ascli-actions-mdata.c:182 -#, c-format -msgid "No component matching '%s' found." -msgstr "Nisam našao komponentu koja se poklapa sa „%s“." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:503 +msgid "" +"Type `console-application` component, but no information about binaries in " +"$PATH was provided via a `provides/binary` tag." +msgstr "" -#: tools/ascli-actions-misc.c:105 -msgid "No icons." -msgstr "Nema ikona." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:509 +msgid "" +"This `web-application` component is missing a `launchable` tag of type `url`." +msgstr "" -#: tools/ascli-actions-misc.c:402 -msgid "No output filename specified, modifying metainfo file directly." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:515 +msgid "" +"This `web-application` component is missing a `icon` tag to specify a valid " +"icon." msgstr "" -#: tools/ascli-actions-misc.c:306 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:521 msgid "" -"No provided binary specified in metainfo file, and no exec command specified " -"via '--exec'. Can not create 'Exec=' key." +"This `web-application` component is missing categorizations. A `categories` " +"block is likely missing." msgstr "" -#: tools/ascli-actions-misc.c:284 -msgid "No stock icon name was provided in the metainfo file. Can not continue." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:527 +msgid "" +"Type `font` component, but no font information was provided via a `provides/" +"font` tag." msgstr "" -#: tools/ascli-actions-pkgmgr.c:53 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:533 msgid "" -"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" -"\" (part of PackageKit) is available." +"Type `driver` component, but no modalias information was provided via a " +"`provides/modalias` tag." msgstr "" -"Nema odgovarajućeg menadžera paketa iz komandne linije. Proverite da je npr. " -"„pkcon“ dostupan (deo „PackageKit“)." -#: tools/ascli-actions-mdata.c:206 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:539 #, fuzzy -msgid "No value for the item to search for was defined." -msgstr "Nema vrednosti stavke za traženje definisanog." +msgid "" +"An `extends` tag is specified, but the component is not of type `addon`, " +"`localization` or `repository`." +msgstr "" +"'extends' bedž je specificiran, ali deo nije tipa 'addon', 'localization' or " +"'repository'." -#. TRANSLATORS: this is the menu spec main category for Office -#: src/as-category.c:317 -msgid "Office" -msgstr "Kancelarija" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:545 +msgid "The component is an addon, but no `extends` tag was specified." +msgstr "" -#. TRANSLATORS: An unknown option was passed to appstreamcli. -#: tools/appstream-cli.c:192 -#, c-format -msgid "Option '%s' is unknown." -msgstr "Opcija „%s“ nije poznata." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:551 +msgid "" +"This `localization` component is missing an `extends` tag, to specify the " +"components it adds localization to." +msgstr "" -#: tools/ascli-utils.c:298 -msgid "Package" -msgstr "Paket" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:557 +msgid "" +"This `localization` component does not define any languages this " +"localization is for." +msgstr "" -#: src/as-category.c:171 -msgctxt "Category of Graphics" -msgid "Photography" -msgstr "Fotografija" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:563 +msgid "" +"This `service` component is missing a `launchable` tag of type `service`." +msgstr "" -#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) -#: tools/appstream-cli.c:121 -#, fuzzy -msgid "Print detailed explanation for found issues." -msgstr "Ispisuje opširni izlaz o nađenim komponentama." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:569 +msgid "" +"Suggestions of any type other than `upstream` are not allowed in metainfo " +"files." +msgstr "" -#. TRANSLATORS: ascli flag description for: --details -#: tools/appstream-cli.c:98 -msgid "Print detailed output about found components." -msgstr "Ispisuje opširni izlaz o nađenim komponentama." +#: src/as-validator-issue-tag.h:574 +msgid "" +"The category name is not valid. Refer to the XDG Menu Specification for a " +"list of valid category names." +msgstr "" -#. project group -#: tools/ascli-utils.c:360 -msgid "Project Group" -msgstr "Grupa projekta" +#: src/as-validator-issue-tag.h:579 +msgid "The screenshot caption is too long (should be <= 80 characters)" +msgstr "" -#: tools/ascli-utils.c:405 -msgid "Provided Items" -msgstr "Omogućene stavke" +#: src/as-validator-issue-tag.h:584 +msgid "Unable to read file." +msgstr "" -#: src/as-provided.c:154 -msgid "Python (Version 2)" -msgstr "Python (ver. 2)" +#: src/as-validator-issue-tag.h:589 +msgid "The XML of this file is malformed." +msgstr "" -#: src/as-provided.c:156 -msgid "Python 3" -msgstr "Python 3" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:595 +msgid "" +"Invalid tag found in collection metadata. Only `component` tags are " +"permitted." +msgstr "" -#: tools/appstream-cli.c:854 -msgid "Rebuild the component metadata cache." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:601 +msgid "" +"The metainfo file uses an ancient version of the AppStream specification, " +"which can not be validated. Please migrate it to version 0.6 (or higher)." msgstr "" -#: tools/appstream-cli.c:860 +#: src/as-validator-issue-tag.h:606 +msgid "" +"This XML document has an unknown root tag. Maybe this file is not a metainfo " +"document?" +msgstr "" + +#: src/as-validator-issue-tag.h:611 #, fuzzy -msgid "Remove software matching the component-ID." +msgid "The metainfo filename does not match the component ID." msgstr "Instalira softver koji odgovara ID-u komponente." -#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty -#: src/as-validator.c:364 -msgid "Retrieved file size was zero." +#: src/as-validator-issue-tag.h:616 +msgid "Unable to read the .desktop file associated with this component." msgstr "" -#: src/as-category.c:248 -msgctxt "Category of Science" -msgid "Robotics" -msgstr "Robotika" - -#: src/as-category.c:150 -msgctxt "Category of Games" -msgid "Role Playing" -msgstr "Igranje uloge" - -#: tools/appstream-cli.c:196 tools/appstream-cli.c:926 -#, c-format -msgid "Run '%s --help' to see a full list of available command line options." +#: src/as-validator-issue-tag.h:621 +msgid "This component metadata refers to a non-existing .desktop file." msgstr "" -"Pokrenite „%s --help“ da vidite spisak dostupnih opcija komandne linije." -#: tools/appstream-cli.c:198 -#, c-format +#: src/as-validator-issue-tag.h:626 msgid "" -"Run '%s --help' to see a list of available commands and options, and '%s %s " -"--help' to see a list of options specific for this subcommand." +"The category defined in the .desktop file is not valid. Refer to the XDG " +"Menu Specification for a list of valid categories." msgstr "" -"Pokrenite „%s --help“ da vidite spisak dostupnih naredbi i opcija i „%s%s --" -"help“ da vidite spisak opcija za tu pod-naredbu." -#: src/as-provided.c:162 -msgid "Runtime Firmware" -msgstr "Runtime firmver" +#: src/as-validator-issue-tag.h:631 +msgid "No AppStream metadata was found in this directory or directory tree." +msgstr "" -#: src/as-category.c:174 -msgctxt "Category of Graphics" -msgid "Scanning" -msgstr "Skeniranje" +#. pedantic because not everything which has metadata is an application +#: src/as-validator-issue-tag.h:636 +msgid "No XDG applications directory found." +msgstr "" -#. TRANSLATORS: this is the menu spec main category for Science -#: src/as-category.c:323 -msgid "Science" -msgstr "Nauka" +#: src/as-validator-issue-tag.h:641 +msgid "" +"The metainfo file is stored in a legacy path. Please place it in `/usr/share/" +"metainfo/`." +msgstr "" -#: tools/appstream-cli.c:847 -msgid "Search the component database." -msgstr "Pretražuje bazu podataka komponenti." +#: src/as-validator-issue-tag.h:646 +msgid "The metainfo file specifies multiple components. This is not allowed." +msgstr "" -#: src/as-category.c:293 -msgctxt "Category of Utility" -msgid "Security" -msgstr "Bezbednost" +#: src/as-validator-issue-tag.h:651 +msgid "" +"The releases are not sorted in a latest to oldest version order. This is " +"required as some tools will assume that the latest version is always at the " +"top. Sorting releases also increases overall readability of the metainfo " +"file." +msgstr "" -#. TRANSLATORS: ascli flag description for: --verbose -#: tools/appstream-cli.c:903 -msgid "Show extra debugging information." -msgstr "Prikazuje dodatne podatke za otkanjanje grešaka." +#: src/as-validator-issue-tag.h:658 +msgid "The value set as release urgency is not a known urgency value." +msgstr "" -#. TRANSLATORS: ascli flag description for: --version -#: tools/appstream-cli.c:897 -msgid "Show the program version." -msgstr "Prikazuje izdanje programa." +#: src/as-validator-issue-tag.h:663 +msgid "The value set as release type is invalid." +msgstr "" -#: src/as-validator-issue-tag.h:635 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:669 msgid "" -"Since a 'runtime' component is comprised of multiple other software " -"components, their component-IDs may be listed in a `` section for " -"this runtime." +"The value set as artifact type is invalid. Must be either `source` or " +"`binary`." msgstr "" -#: src/as-category.c:153 -msgctxt "Category of Games" -msgid "Sports" -msgstr "Sport" - -#: src/as-category.c:157 -msgctxt "Category of Games" -msgid "Strategy" -msgstr "Strategija" - -#. these are commands we can use with appstreamcli -#: tools/appstream-cli.c:845 -msgid "Subcommands:" -msgstr "Podnaredbe:" +#: src/as-validator-issue-tag.h:674 +msgid "The value set as artifact bundle type is invalid." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:527 +#: src/as-validator-issue-tag.h:679 msgid "" -"Suggestions of any type other than 'upstream' are not allowed in metainfo " -"files." +"The platform triplet for this release is invalid. It must be in the form of " +"`architecture-oskernel-osenv` - refer to the AppStream documentation or " +"information on normalized GNU triplets for more information and valid fields." msgstr "" -#: tools/ascli-utils.c:297 -msgid "Summary" -msgstr "Sažetak" +#: src/as-validator-issue-tag.h:686 +msgid "The selected checksumming algorithm is unsupported or unknown." +msgstr "" -#. TRANSLATORS: Status summary in ascli -#: tools/ascli-actions-misc.c:145 -msgid "Summary:" -msgstr "Sažetak:" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:692 +msgid "The size type is unknown. Must be `download` or `installed`." +msgstr "" -#: src/as-category.c:290 -msgctxt "Category of Utility" -msgid "System Monitoring" -msgstr "Nadgledanje sistema" +#: src/as-validator-issue-tag.h:697 +msgid "" +"The artifact filename must be a file basename, not a (relative or absolute) " +"path." +msgstr "" -#: src/as-validator-issue-tag.h:46 -msgid "Tags of this name are not permitted in this section." +#: src/as-validator-issue-tag.h:702 +msgid "The value set as release issue type is invalid." msgstr "" -#: src/as-category.c:284 -msgctxt "Category of Utility" -msgid "Terminal Emulators" -msgstr "Emulatori terminala" +#: src/as-validator-issue-tag.h:707 +msgid "" +"The issue is tagged at security vulnerability with a CVE number, but its " +"value does not look like a valid CVE identifier." +msgstr "" -#: src/as-category.c:281 -msgctxt "Category of Utility" -msgid "Text Editors" -msgstr "Uređivači teksta" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:713 +msgid "" +"This component is missing information about releases. Consider adding a " +"`releases` tag to describe releases and their changes." +msgstr "" -#: src/as-validator-issue-tag.h:318 +#: src/as-validator-issue-tag.h:718 msgid "" -"The 'pkgname' tag appears multiple times. You should evaluate creating a " -"metapackage containing the metainfo and .desktop files in order to avoid " -"defining multiple package names per component." +"The AppStream specification requires a complete, ISO 8601 date string with " +"at least day-granularity to denote dates. Please ensure the date string is " +"valid." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:416 +#: src/as-validator-issue-tag.h:724 msgid "" -"The 'update_contact' tag should not be included in collection AppStream XML." +"This component extends, provides, requires or recommends itself, which is " +"certainly not intended and may confuse users or machines dealing with this " +"metadata." msgstr "" -#: tools/ascli-actions-mdata.c:467 -#, c-format -msgid "The .desktop file '%s' does not exist." -msgstr ".desktop fajl „%s“ ne postoji." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:731 +msgid "" +"Licenses for `runtime` components are usually too complex to reflect them in " +"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " +"value for this component's `project_license`. E.g. `LicenseRef-free=https://" +"example.com/licenses.html`" +msgstr "" -#: src/as-validator-issue-tag.h:393 -msgid "The can not contain a hyperlink." +#: src/as-validator-issue-tag.h:737 +msgid "" +"Since a `runtime` component is comprised of multiple other software " +"components, their component-IDs may be listed in a `` section for " +"this runtime." msgstr "" -#: src/as-validator-issue-tag.h:313 +#: src/as-validator-issue-tag.h:742 msgid "" -"The tag still contains a 'type' property, probably from an old " -"conversion to the recent metainfo format." +"The type of the item that the component provides is not known to AppStream." msgstr "" -#: src/as-validator-issue-tag.h:616 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:748 msgid "" -"The AppStream specification requires a complete, ISO 8601 date string with " -"at least day-granularity to denote dates. Please ensure the date string is " -"valid." +"The toplevel `mimetypes` tag is deprecated. Please use `mediatype` tags in a " +"`provides` block instead to indicate that your software provides a media " +"handler for the given types." msgstr "" -#: src/as-pool.c:1924 -#, c-format +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks) and keep the URL intact. +#: src/as-validator-issue-tag.h:755 msgid "" -"The AppStream system cache was updated, but problems were found which " -"resulted in metadata being ignored: %s" +"This component has no `content_rating` tag to provide age rating " +"information. You can generate the tag data online by answering a few " +"questions at https://hughsie.github.io/oars/" msgstr "" -#: src/as-pool.c:1922 +#: src/as-validator.c:150 msgid "" -"The AppStream system cache was updated, but some components were ignored. " -"Refer to the verbose log for more information." +"The emitted issue tag is unknown in the tag registry of AppStream. This is a " +"bug in the validator itself, please report this issue in our bugtracker." msgstr "" -#: src/as-validator-issue-tag.h:151 -msgid "The SPDX license expression is invalid and could not be parsed." +#: src/as-validator.c:344 +msgid "URL format is invalid." msgstr "" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows -#: tools/appstream-cli.c:683 +#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. +#: src/as-validator.c:522 src/as-validator.c:937 src/as-validator.c:1031 +#: src/as-validator.c:1428 src/as-validator.c:1448 src/as-validator.c:1481 #, c-format -msgid "The TYPE must be a valid component-type, such as: %s" +msgid "Found: %s - Allowed: %s" msgstr "" -#: src/as-validator-issue-tag.h:547 -msgid "The XML of this file is malformed." -msgstr "" +#. TRANSLATORS: ascompose flag description for: --verbose +#: tools/appstream-compose.c:181 +#, fuzzy +msgid "Show extra debugging information" +msgstr "Prikazuje dodatne podatke za otkanjanje grešaka." -#: src/as-validator-issue-tag.h:584 -msgid "" -"The category defined in the .desktop file is not valid. Refer to the XDG " -"Menu Specification for a list of valid categories." -msgstr "" +#. TRANSLATORS: ascompose flag description for: --no-color +#. TRANSLATORS: ascli flag description for: --no-color +#: tools/appstream-compose.c:184 tools/appstreamcli.c:1087 +msgid "Don't show colored output." +msgstr "Ne prikazuj obojeni izlaz." -#: src/as-validator-issue-tag.h:532 -msgid "" -"The category name is not valid. Refer to the XDG Menu Specification for a " -"list of valid category names." +#. TRANSLATORS: ascompose flag description for: --version +#. TRANSLATORS: ascli flag description for: --version +#: tools/appstream-compose.c:187 tools/appstreamcli.c:1076 +msgid "Show the program version." +msgstr "Prikazuje izdanje programa." + +#. TRANSLATORS: ascompose flag description for: --full-report +#: tools/appstream-compose.c:190 +msgid "Set mode of the issue report that is printed to the console" msgstr "" -#: src/as-validator-issue-tag.h:124 -msgid "" -"The component ID contains a hyphen/minus. Using a hyphen is strongly " -"discouraged, to improve interoperability with other tools such as D-Bus. A " -"good option is to replace any hyphens with underscores ('_')." +#. TRANSLATORS: ascompose flag description for: --prefix +#: tools/appstream-compose.c:193 +msgid "Override the default prefix (`/usr` by default)" msgstr "" -#: src/as-validator-issue-tag.h:130 -msgid "" -"The component ID contains a segment starting with a number. Starting a " -"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " -"interoperability with other tools such as D-Bus. Ideally, prefix these " -"segments with an underscore." +#. TRANSLATORS: ascompose flag description for: --result-root +#: tools/appstream-compose.c:196 +msgid "Set the result output directory" msgstr "" -#: src/as-validator-issue-tag.h:119 -msgid "" -"The component ID contains an invalid character. Only ASCII characters, dots " -"and numbers are permitted." +#. TRANSLATORS: ascompose flag description for: --data-dir, `collection metadata` is an AppStream term +#: tools/appstream-compose.c:199 +msgid "Override the collection metadata output directory" msgstr "" -#: src/as-validator-issue-tag.h:106 -msgid "" -"The component ID is not a reverse domain-name. Please update the ID to avoid " -"future issues and be compatible with all AppStream implementations.\n" -"You may also consider to update the name of the accompanying .desktop file " -"to follow the latest version of the Desktop-Entry specification and use a " -"rDNS name for it as well. In any case, do not forget to mention the new " -"desktop-entry in a tag for this component to keep the " -"application launchable from software centers and the .desktop file data " -"associated with the metainfo data." +#. TRANSLATORS: ascompose flag description for: --icons-dir +#: tools/appstream-compose.c:202 +msgid "Override the icon output directory" msgstr "" -#: src/as-validator-issue-tag.h:101 +#. TRANSLATORS: ascompose flag description for: --media-dir +#: tools/appstream-compose.c:205 msgid "" -"The component ID is required to follow a reverse domain-name scheme for its " -"name. See the AppStream specification for details." +"Set the media output directory (for media data to be served by a webserver)" msgstr "" -#: src/as-validator-issue-tag.h:114 -msgid "" -"The component ID might not follow the reverse domain-name schema (the TLD " -"used by it is not known to the validator)." +#. TRANSLATORS: ascompose flag description for: --hints-dir +#: tools/appstream-compose.c:208 +msgid "Set a directory where HTML and text issue reports will be stored" msgstr "" -#: src/as-validator-issue-tag.h:293 -msgid "" -"The component has a 'merge' method defined. This is not allowed in metainfo " -"files." +#. TRANSLATORS: ascompose flag description for: --origin +#. TRANSLATORS: ascompose flag description for: --media-baseurl +#: tools/appstream-compose.c:211 tools/appstream-compose.c:214 +msgid "Set the origin name" msgstr "" -#: src/as-validator-issue-tag.h:288 -msgid "" -"The component has a priority value set. This is not allowed in metainfo " -"files." +#. TRANSLATORS: ascompose flag description for: --components +#: tools/appstream-compose.c:217 +msgid "A comma-separated list of component-IDs to accept" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:503 -msgid "The component is an addon, but no 'extends' tag was specified." +#. TRANSLATORS: error message +#: tools/appstream-compose.c:231 +msgid "Failed to parse arguments" msgstr "" -#: src/as-validator-issue-tag.h:440 +#. TRANSLATORS: Output if appstreamcli --version is executed. +#: tools/appstream-compose.c:242 tools/appstreamcli.c:1230 +#, fuzzy, c-format +msgid "AppStream version: %s" +msgstr "Izdanje CLI za Programski tok: %s" + +#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. +#: tools/appstream-compose.c:245 tools/appstreamcli.c:1233 +#, fuzzy, c-format msgid "" -"The component is missing a long description. Components of this type must " -"have a long description." -msgstr "" +"AppStream CLI tool version: %s\n" +"AppStream library version: %s" +msgstr "Izdanje CLI za Programski tok: %s" -#: src/as-validator-issue-tag.h:303 -msgid "The component is missing a name ( tag)." +#. TRANSLATORS: invalid value for the --print-report CLI option +#: tools/appstream-compose.c:264 +#, c-format +msgid "" +"Invalid value for `--print-report` option: %s\n" +"Possible values are:\n" +"`on-error` - only prints a short report if the run failed (default)\n" +"`short` - generates an abridged report\n" +"`full` - a detailed report will be printed" msgstr "" -#: src/as-validator-issue-tag.h:308 -msgid "The component is missing a summary ( tag)." +#: tools/appstream-compose.c:285 +#, c-format +msgid "Automatically selected '%s' as data output location." msgstr "" -#: src/as-validator-issue-tag.h:298 -msgid "The component is missing an ID ( tag)." +#. TRANSLATORS: we don't have a destination directory for compose +#: tools/appstream-compose.c:288 +msgid "No destination directory set, please provide a data output location!" msgstr "" -#: src/as-validator-issue-tag.h:136 -msgid "" -"The component is part of the Freedesktop project, but its ID does not start " -"with fd.o's reverse-DNS name (\"org.freedesktop\")." +#: tools/appstream-compose.c:298 tools/appstream-compose.c:300 +msgid "WARNING" msgstr "" -#: src/as-validator-issue-tag.h:146 -msgid "" -"The component is part of the GNOME project, but its ID does not start with " -"GNOMEs reverse-DNS name (\"org.gnome\")." +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:337 +#, c-format +msgid "Only accepting components: %s" msgstr "" -#: src/as-validator-issue-tag.h:141 -msgid "" -"The component is part of the KDE project, but its ID does not start with " -"KDEs reverse-DNS name (\"org.kde\")." +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:340 +#, c-format +msgid "Only accepting component: %s" msgstr "" -#: src/as-validator-issue-tag.h:323 -msgid "The component name should (likely) not end with a dot ('.')." +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:345 +msgid "Processing directories:" msgstr "" -#: src/as-validator-issue-tag.h:333 -msgid "The component summary must not contain tabs or linebreaks." +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:348 +msgid "Processing directory:" msgstr "" -#: src/as-validator-issue-tag.h:328 -msgid "The component summary should not end with a dot ('.')." +#. TRANSLATORS: error message +#: tools/appstream-compose.c:357 +msgid "Can not process invalid directory" msgstr "" -#: src/as-validator-issue-tag.h:243 -msgid "" -"The default screenshot of a software component must not be a video. Use a " -"static image as default screenshot and set the video as a secondary " -"screenshot." +#. TRANSLATORS: information message +#: tools/appstream-compose.c:369 +msgid "Composing metadata..." msgstr "" -#: src/as-validator-issue-tag.h:86 -msgid "" -"The description contains a web URL in plain text. This is not allowed, " -"please use the tag instead to share links." +#. TRANSLATORS: error message +#: tools/appstream-compose.c:374 +#, fuzzy +msgid "Failed to compose AppStream metadata" +msgstr "Ručno postavlja lokaciju metapodataka Programskog toka za obradu." + +#. TRANSLATORS: appstream-compose failed to include all data +#: tools/appstream-compose.c:380 +msgid "Run failed, some data was ignored." msgstr "" -#: src/as-validator.c:152 -msgid "" -"The emitted issue tag is unknown in the tag registry of AppStream. This is a " -"bug in the validator itself, please report this issue in our bugtracker." +#. TRANSLATORS: information message of appstream-compose +#: tools/appstream-compose.c:382 +msgid "Errors were raised during this compose run:" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:435 +#: tools/appstream-compose.c:383 msgid "" -"The essential tag 'metadata_license' is missing. A license for the metadata " -"itself always has to be defined." +"Refer to the generated issue report data for details on the individual " +"problems." msgstr "" -#: src/as-validator-issue-tag.h:79 -msgid "" -"The first 'description/p' paragraph of this component might be too short (< " -"80 characters). Please consider starting with a longer paragraph to improve " -"how the description looks like in software centers and to provide more " -"detailed information on this component immediately in the first paragraph." +#: tools/appstream-compose.c:386 +msgid "Overview of generated hints:" msgstr "" -#: src/as-validator-issue-tag.h:156 -msgid "" -"The license ID was not found in the SPDX database. Please check that the " -"license ID is written in an SPDX-conformant way and is a valid free software " -"license." +#. TRANSLATORS: information message +#: tools/appstream-compose.c:388 +msgid "Success!" msgstr "" -#: src/as-validator-issue-tag.h:96 -msgid "" -"The mentioned tag is empty, which is highly likely not intended as it should " -"have content." +#. TRANSLATORS: ascli flag description for: --cachepath +#: tools/appstreamcli.c:59 +#, fuzzy +msgid "Manually selected location of AppStream cache." +msgstr "Ručno postavlja mesto keša Programskog toka." + +#. TRANSLATORS: ascli flag description for: --datapath +#: tools/appstreamcli.c:64 +#, fuzzy +msgid "Manually selected location of AppStream metadata to scan." +msgstr "Ručno postavlja lokaciju metapodataka Programskog toka za obradu." + +#. TRANSLATORS: ascli flag description for: --no-cache +#: tools/appstreamcli.c:69 +msgid "Make request without any caching." msgstr "" -#: src/as-validator-issue-tag.h:168 -msgid "" -"The metadata itself does not seem to be licensed under a permissive license. " -"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " -"0BSD to allow distributors to include it in mixed data collections without " -"the risk of license violations due to mutually incompatible licenses." +#. TRANSLATORS: ascli flag description for: --format +#: tools/appstreamcli.c:85 +msgid "Default metadata format (valid values are 'xml' and 'yaml')." msgstr "" -#: src/as-validator-issue-tag.h:162 -msgid "" -"The metadata itself seems to be licensed under a complex collection of " -"licenses. Please license the data under a simple permissive license, like " -"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " -"collections without the risk of license violations due to mutually " -"incompatible licenses." +#. TRANSLATORS: ascli flag description for: --details +#: tools/appstreamcli.c:100 +msgid "Print detailed output about found components." +msgstr "Ispisuje opširni izlaz o nađenim komponentama." + +#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) +#: tools/appstreamcli.c:118 +#, fuzzy +msgid "Also show pedantic hints." +msgstr "Izbacuje pedantne savete pri proveri." + +#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) +#: tools/appstreamcli.c:123 +#, fuzzy +msgid "Print detailed explanation for found issues." +msgstr "Ispisuje opširni izlaz o nađenim komponentama." + +#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) +#: tools/appstreamcli.c:128 +msgid "Do not use network access." msgstr "" -#: src/as-validator-issue-tag.h:599 -msgid "" -"The metainfo file is stored in a legacy path. Please place it in '/usr/share/" -"metainfo'." +#. TRANSLATORS: ascli flag description for: --format when validating XML files +#: tools/appstreamcli.c:133 +msgid "Format of the generated report (valid values are 'text' and 'yaml')." msgstr "" -#: src/as-validator-issue-tag.h:604 -msgid "The metainfo file specifies multiple components. This is not allowed." +#. TRANSLATORS: This is the header to the --help menu for subcommands +#. TRANSLATORS: This is the header to the --help menu +#: tools/appstreamcli.c:153 tools/appstreamcli.c:981 +msgid "AppStream command-line interface" +msgstr "Sučelje komandne linije za Programski tok" + +#: tools/appstreamcli.c:156 +#, c-format +msgid "'%s' command" +msgstr "„%s“ naredba" + +#. TRANSLATORS: An unknown option was passed to appstreamcli. +#: tools/appstreamcli.c:191 +#, c-format +msgid "Option '%s' is unknown." +msgstr "Opcija „%s“ nije poznata." + +#: tools/appstreamcli.c:195 tools/appstreamcli.c:1207 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options." msgstr "" +"Pokrenite „%s --help“ da vidite spisak dostupnih opcija komandne linije." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:559 +#: tools/appstreamcli.c:197 +#, c-format msgid "" -"The metainfo file uses an ancient version of the AppStream specification, " -"which can not be validated. Please migrate it to version 0.6 (or higher)." +"Run '%s --help' to see a list of available commands and options, and '%s %s " +"--help' to see a list of options specific for this subcommand." msgstr "" +"Pokrenite „%s --help“ da vidite spisak dostupnih naredbi i opcija i „%s%s --" +"help“ da vidite spisak opcija za tu pod-naredbu." -#: src/as-validator-issue-tag.h:569 -#, fuzzy -msgid "The metainfo filename does not match the component ID." -msgstr "Instalira softver koji odgovara ID-u komponente." +#. TRANSLATORS: ascli flag description for: --force +#: tools/appstreamcli.c:245 +msgid "Enforce a cache refresh." +msgstr "Primorava osvežavanje keša." -#: src/as-validator-issue-tag.h:609 -msgid "" -"The releases are not sorted in a latest to oldest version order. This is " -"required as some tools will assume that the latest version is always at the " -"top. Sorting releases also increases overall readability of the metainfo " -"file." +#. TRANSLATORS: ascli flag description for: --user +#: tools/appstreamcli.c:251 +msgid "Update the user-specific instead of the system-wide cache." msgstr "" -#: src/as-validator-issue-tag.h:537 -msgid "The screenshot caption is too long (should be <= 80 characters)" +#. TRANSLATORS: ascli flag description for: --origin (part of the "put" subcommand) +#: tools/appstreamcli.c:477 +msgid "Set the data origin for the installed metadata collection file." msgstr "" -#: src/as-validator-issue-tag.h:206 -msgid "The screenshot does not have a caption text. Consider adding one." +#. TRANSLATORS: ascli flag description for: --user (part of the "put" subcommand) +#: tools/appstreamcli.c:482 +msgid "Install the file for the current user, instead of globally." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:218 +#: tools/appstreamcli.c:631 msgid "" -"The screenshot video does not specify which container format was used in a " -"'container' property." +"You need to provide at least two version numbers to compare as parameters." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:212 -msgid "" -"The screenshot video does not specify which video codec was used in a " -"'codec' property." +#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. +#: tools/appstreamcli.c:660 +#, c-format +msgid "Unknown compare relation '%s'. Valid values are:" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:224 +#: tools/appstreamcli.c:700 msgid "" -"The selected video codec is not supported by AppStream and software centers " -"may not be able to play the video. Only the AV1 and VP9 codecs are currently " -"supported, using 'av1' and 'vp9' as values for the 'codec' property." +"Too many parameters: Need two version numbers or version numbers and a " +"comparison operator." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:231 +#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) +#: tools/appstreamcli.c:726 msgid "" -"The selected video container format is not supported by AppStream and " -"software centers may not be able to play the video. Only the WebM and " -"Matroska video containers are currently supported, using 'webm' and 'mkv' as " -"values for the 'container' property." +"Use the given .desktop file to fill in the basic values of the metainfo file." msgstr "" -#: src/as-validator-issue-tag.h:283 +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand +#: tools/appstreamcli.c:731 msgid "" -"The set component type is not a recognized, valid AppStream component type." +"This command takes optional TYPE and FILE positional arguments, FILE being a " +"file to write to (or \"-\" for standard output)." msgstr "" -#: src/as-validator-issue-tag.h:398 -msgid "" -"The set value is not an identifier for a desktop environment as registered " -"with Freedesktop.org." +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows +#: tools/appstreamcli.c:734 +#, c-format +msgid "The TYPE must be a valid component-type, such as: %s" msgstr "" -#: tools/ascli-actions-mdata.c:449 -#, c-format -msgid "" -"The software component type '%s' is not valid in AppStream. Possible values " -"are:" +#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) +#: tools/appstreamcli.c:775 +msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." msgstr "" -#: src/as-validator-issue-tag.h:338 -msgid "The summary must not contain any URL. Use the tags for links." +#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command +#: tools/appstreamcli.c:815 +msgid "Assume the input file is in the selected format ('yaml' or 'text')." msgstr "" -#: src/as-validator-issue-tag.h:640 +#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command +#: tools/appstreamcli.c:820 msgid "" -"The type of the item that the component provides is not known to AppStream." +"Limit the number of release entries that end up in the metainfo file (0 for " +"unlimited)." msgstr "" -#: src/as-validator-issue-tag.h:174 -msgid "" -"The update-contact does not appear to be a valid email address (escaping of " -"'@' is only allowed as '_at_' or '_AT_')." +#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command +#: tools/appstreamcli.c:862 +msgid "Generate the output in the selected format ('yaml' or 'text')." msgstr "" -#: tools/ascli-actions-validate.c:363 tools/ascli-actions-validate.c:492 +#: tools/appstreamcli.c:894 #, c-format -msgid "" -"The validator can not create reports in the '%s' format. You may select " -"'yaml' or 'text' instead." +msgid "Compose binary '%s' was not found! Can not continue." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:410 -msgid "This 'bundle' tag has an unknown type and can not be used." +#. TRANSLATORS: this is a (usually shorter) command alias, shown after the command summary text +#: tools/appstreamcli.c:956 +#, c-format +msgid "(Alias: '%s')" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:404 -msgid "This 'launchable' tag has an unknown type and can not be used." -msgstr "" +#. these are commands we can use with appstreamcli +#: tools/appstreamcli.c:983 +msgid "Subcommands:" +msgstr "Podnaredbe:" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:515 +#: tools/appstreamcli.c:1029 msgid "" -"This 'localization' component does not define any languages this " -"localization is for." +"You can find information about subcommand-specific options by passing \"--" +"help\" to the subcommand." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:509 +#. TRANSLATORS: ascli has been run with unknown command. '%s --help' is the command to receive help and should not be translated. +#: tools/appstreamcli.c:1052 +#, fuzzy, c-format msgid "" -"This 'localization' component is missing an 'extends' tag, to specify the " -"components it adds localization to." +"Command '%s' is unknown. Run '%s --help' for a list of available commands." msgstr "" +"Pokrenite „%s --help“ da vidite spisak dostupnih opcija komandne linije." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:521 -msgid "" -"This 'service' component is missing a 'launchable' tag of type 'service'." -msgstr "" +#. TRANSLATORS: ascli flag description for: --verbose +#: tools/appstreamcli.c:1082 +msgid "Show extra debugging information." +msgstr "Prikazuje dodatne podatke za otkanjanje grešaka." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:473 -msgid "" -"This 'web-application' component is missing a 'icon' tag to specify a valid " -"icon." +#. TRANSLATORS: ascli flag description for: --profile +#: tools/appstreamcli.c:1090 +msgid "Enable profiling" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:467 -msgid "" -"This 'web-application' component is missing a 'launchable' tag of type 'url'." -msgstr "" +#. TRANSLATORS: `appstreamcli search` command description. +#: tools/appstreamcli.c:1102 +msgid "Search the component database." +msgstr "Pretražuje bazu podataka komponenti." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:479 -msgid "" -"This 'web-application' component is missing categorizations. A 'categories' " -"block is likely missing." -msgstr "" +#. TRANSLATORS: `appstreamcli get` command description. +#: tools/appstreamcli.c:1107 +msgid "Get information about a component by its ID." +msgstr "Dobavlja podatke o komponenti prema ID-u." -#: src/as-validator-issue-tag.h:564 +#. TRANSLATORS: `appstreamcli what-provides` command description. +#: tools/appstreamcli.c:1112 msgid "" -"This XML document has an unknown root tag. Maybe this file is not a metainfo " -"document?" +"Get components which provide the given item. Needs an item type (e.g. lib, " +"bin, python3, …) and item value as parameter." msgstr "" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand -#: tools/appstream-cli.c:680 -msgid "" -"This command takes optional TYPE and FILE positional arguments, FILE being a " -"file to write to (or \"-\" for standard output)." -msgstr "" +#. TRANSLATORS: `appstreamcli dump` command description. +#: tools/appstreamcli.c:1118 +msgid "Dump raw XML metadata for a component matching the ID." +msgstr "Izbacuje sirove XML metapodatke za komponentu odgovarajućeg ID-a." -#: src/as-validator-issue-tag.h:622 -msgid "" -"This component extends, provides, requires or recommends itself, which is " -"certainly not intended and may confuse users or machines dealing with this " -"metadata." +#. TRANSLATORS: `appstreamcli refresh-cache` command description. +#: tools/appstreamcli.c:1123 +msgid "Rebuild the component metadata cache." msgstr "" -#: src/as-validator-issue-tag.h:579 -msgid "This component metadata refers to a non-existing .desktop file." -msgstr "" +#. TRANSLATORS: `appstreamcli validate` command description. +#: tools/appstreamcli.c:1129 +msgid "Validate AppStream XML files for issues." +msgstr "Potvrdite XML fajlove Programskog toka za problemima." -#: src/as-validator-issue-tag.h:69 -msgid "" -"This description paragraph contains invalid markup. Currently, only " -"and are permitted." +#. TRANSLATORS: `appstreamcli validate-tree` command description. +#: tools/appstreamcli.c:1134 +msgid "Validate an installed file-tree of an application for valid metadata." msgstr "" +"Potvrdite instalirano stablo fajlova programa za ispravnim metapodacima." -#: src/as-validator-issue-tag.h:57 -msgid "" -"This element (paragraph, list, etc.) of a tag must not be " -"localized individually in collection metadata. Localize the whole " -" tag instead. The AppStream collection metadata generator (e." -"g. `appstream-generator`) will already do the right thing when compiling the " -"data." -msgstr "" +#. TRANSLATORS: `appstreamcli install` command description. +#: tools/appstreamcli.c:1140 +#, fuzzy +msgid "Install software matching the component-ID." +msgstr "Instalira softver koji odgovara ID-u komponente." -#: src/as-validator-issue-tag.h:455 -msgid "" -"This generic component is missing a long description. It may be useful to " -"add one." +#. TRANSLATORS: `appstreamcli remove` command description. +#: tools/appstreamcli.c:1145 +#, fuzzy +msgid "Remove software matching the component-ID." +msgstr "Instalira softver koji odgovara ID-u komponente." + +#. TRANSLATORS: `appstreamcli status` command description. +#: tools/appstreamcli.c:1151 +msgid "Display status information about available AppStream metadata." msgstr "" -#: src/as-validator-issue-tag.h:421 +#. TRANSLATORS: `appstreamcli os-info` command description. +#: tools/appstreamcli.c:1156 msgid "" -"This tag is a GNOME-specific extension to AppStream and not part of the " -"official specification. Do not expect it to work in all implementations and " -"in all software centers." +"Show information about the current operating system from the metadata index." msgstr "" -#: src/as-validator-issue-tag.h:41 -msgid "This tag requires a type property." +#. TRANSLATORS: `appstreamcli put` command description. +#: tools/appstreamcli.c:1161 +msgid "Install a metadata file into the right location." msgstr "" -#: data/org.freedesktop.appstream.cli.metainfo.xml:15 -msgid "" -"This tool allows for reading, writing, validating and transformation of " -"AppStream XML or YAML metadata. It also gives access to the system metadata " -"pool, for example to query for software that provides a specific MIME-type, " -"and installing it by its software component identifier." +#. TRANSLATORS: `appstreamcli convert` command description. "Collection XML" is a term describing a specific type of AppStream XML data. +#: tools/appstreamcli.c:1166 +msgid "Convert collection XML to YAML or vice versa." +msgstr "Pretvara zbirku XML u YAML ili obrnuto." + +#. TRANSLATORS: `appstreamcli vercmp` command description. +#: tools/appstreamcli.c:1171 +msgid "Compare two version numbers." msgstr "" -#: src/as-validator-issue-tag.h:388 +#. TRANSLATORS: `appstreamcli new-template` command description. +#: tools/appstreamcli.c:1177 msgid "" -"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." +"Create a template for a metainfo file (to be filled out by the upstream " +"project)." msgstr "" -#: tools/appstream-cli.c:648 -msgid "" -"Too many parameters: Need two version numbers or version numbers and a " -"comparison operator." +#. TRANSLATORS: `appstreamcli make-desktop-file` command description. +#: tools/appstreamcli.c:1182 +msgid "Create a desktop-entry file from a metainfo file." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:461 -msgid "" -"Type 'console-application' component, but no information about binaries in " -"$PATH was provided via a 'provides/binary' tag." +#. TRANSLATORS: `appstreamcli news-to-metainfo` command description. +#: tools/appstreamcli.c:1187 +msgid "Convert a YAML or text NEWS file into metainfo releases." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:491 -msgid "" -"Type 'driver' component, but no modalias information was provided via a " -"provides/modalias tag." +#. TRANSLATORS: `appstreamcli metainfo-to-news` command description. +#: tools/appstreamcli.c:1192 +msgid "Write NEWS text or YAML file with information from a metainfo file." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:485 -msgid "" -"Type 'font' component, but no font information was provided via a 'provides/" -"font' tag." +#. TRANSLATORS: `appstreamcli compose` command description. +#: tools/appstreamcli.c:1198 +msgid "Compose AppStream collection metadata from directory trees." msgstr "" -#: src/as-validator.c:333 -msgid "URL format is invalid." +#. TRANSLATORS: ascli has been run without command. +#: tools/appstreamcli.c:1206 +msgid "You need to specify a command." +msgstr "Morate da navedete naredbu." + +#. TRANSLATORS: In ascli: The requested action needs higher permissions. +#: tools/ascli-actions-mdata.c:70 +msgid "You might need superuser permissions to perform this action." msgstr "" +"Biće vam potrebna administratorska ovlašćenja za obavljanje ove radnje." + +#. we performed a cache refresh +#. TRANSLATORS: Updating the metadata cache succeeded +#: tools/ascli-actions-mdata.c:80 +msgid "AppStream cache update completed successfully." +msgstr "Osvežavanje keša Programskog toka je uspešno obavljeno." + +#. cache wasn't updated, so the update wasn't necessary +#: tools/ascli-actions-mdata.c:86 +msgid "AppStream cache update is not necessary." +msgstr "Osvežavanje keša Programskog toka nije potrebno." + +#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments +#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. +#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:253 +#: tools/ascli-actions-pkgmgr.c:80 +msgid "You need to specify a component-ID." +msgstr "Morate da navedete ID komponente." -#: tools/ascli-actions-mdata.c:544 +#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:265 +#: tools/ascli-actions-pkgmgr.c:93 #, c-format -msgid "Unable to build the template metainfo file: %s" -msgstr "" +msgid "Unable to find component with ID '%s'!" +msgstr "Ne mogu da pronađem komponentu sa ID „%s“!" -#. TRANSLATORS: User is trying to convert a file in ascli -#: tools/ascli-actions-mdata.c:400 -msgid "" -"Unable to convert file: Could not determine output format, please set it " -"explicitly using '--format='." -msgstr "" +#: tools/ascli-actions-mdata.c:164 +msgid "You need to specify a term to search for." +msgstr "Morate da navedete pojam za traženje." #. TRANSLATORS: We failed to find any component in the database, likely due to an error #: tools/ascli-actions-mdata.c:177 @@ -1575,192 +2447,216 @@ msgid "Unable to find component matching %s!" msgstr "Ne mogu da pronađem komponentu koja se poklapa sa „%s“!" -#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:266 -#: tools/ascli-actions-pkgmgr.c:93 -#, c-format -msgid "Unable to find component with ID '%s'!" -msgstr "Ne mogu da pronađem komponentu sa ID „%s“!" - -#: tools/ascli-actions-misc.c:224 +#: tools/ascli-actions-mdata.c:182 #, c-format -msgid "Unable to load existing desktop-entry file template: %s" -msgstr "" +msgid "No component matching '%s' found." +msgstr "Nisam našao komponentu koja se poklapa sa „%s“." -#: src/as-validator-issue-tag.h:356 -msgid "Unable to reach remote icon at the given web location - does it exist?" -msgstr "" +#: tools/ascli-actions-mdata.c:206 +#, fuzzy +msgid "No value for the item to search for was defined." +msgstr "Nema vrednosti stavke za traženje definisanog." -#: src/as-validator-issue-tag.h:378 -msgid "" -"Unable to reach remote location that this URL references - does it exist?" +#: tools/ascli-actions-mdata.c:212 +msgid "Invalid type for provided item selected. Valid values are:" msgstr "" +"Izabran je neispravan tip za dostavljenu stavku. Ispravne vrednosti su:" -#: src/as-validator-issue-tag.h:179 -msgid "" -"Unable to reach the screenshot image on its remote location - does the image " -"exist?" -msgstr "" +#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results +#: tools/ascli-actions-mdata.c:227 +#, c-format +msgid "Could not find component providing '%s::%s'." +msgstr "Ne mogu da nađem komponentu koja omogućava „%s::%s“." -#: src/as-validator-issue-tag.h:184 -msgid "" -"Unable to reach the screenshot video on its remote location - does the video " -"file exist?" +#: tools/ascli-actions-mdata.c:306 +msgid "You need to specify a metadata file." msgstr "" -#: src/as-validator-issue-tag.h:542 -msgid "Unable to read file." -msgstr "" +#: tools/ascli-actions-mdata.c:320 +#, fuzzy, c-format +msgid "Unable to install metadata file: %s" +msgstr "Ne mogu da sačuvam fajl meta-info šablona: %s" -#: src/as-validator-issue-tag.h:574 -msgid "Unable to read the .desktop file associated with this component." -msgstr "" +#: tools/ascli-actions-mdata.c:340 +msgid "You need to specify an input and output file." +msgstr "Morate da navedete ulazni i izlazni fajl." -#: tools/ascli-actions-mdata.c:473 +#: tools/ascli-actions-mdata.c:347 #, c-format -msgid "Unable to read the .desktop file: %s" +msgid "Metadata file '%s' does not exist." msgstr "" -#: src/as-pool.c:606 -msgid "Unable to remove old cache." +#. TRANSLATORS: User is trying to convert a file in ascli +#: tools/ascli-actions-mdata.c:387 +msgid "" +"Unable to convert file: Could not determine output format, please set it " +"explicitly using '--format='." msgstr "" -#: tools/ascli-actions-misc.c:370 +#: tools/ascli-actions-mdata.c:438 #, fuzzy, c-format -msgid "Unable to save desktop entry file: %s" -msgstr "Ne mogu da sačuvam fajl meta-info šablona: %s" +msgid "Unable to find operating system component '%s'!" +msgstr "Ne mogu da pronađem komponentu sa ID „%s“!" -#: tools/ascli-actions-mdata.c:552 -#, c-format -msgid "Unable to save the template metainfo file: %s" -msgstr "Ne mogu da sačuvam fajl meta-info šablona: %s" +#: tools/ascli-actions-mdata.c:443 +#, fuzzy +msgid "Version" +msgstr "Verzija: %s" -#: tools/ascli-actions-pkgmgr.c:67 -#, c-format -msgid "Unable to spawn package manager: %s" -msgstr "Ne mogu da podignem menadžer paketa: %s" +#: tools/ascli-actions-mdata.c:467 +msgid "" +"You need to give an AppStream software component type to generate a " +"template. Possible values are:" +msgstr "" -#: tools/ascli-actions-mdata.c:322 +#: tools/ascli-actions-mdata.c:469 #, c-format -msgid "Unable to write to '%s', can not install metainfo file." +msgid "" +"The software component type '%s' is not valid in AppStream. Possible values " +"are:" msgstr "" -#. TRANSLATORS: ascli has been run with unknown command. -#: tools/appstream-cli.c:1009 +#: tools/ascli-actions-mdata.c:487 #, c-format -msgid "Unknown command '%s'." -msgstr "" +msgid "The .desktop file '%s' does not exist." +msgstr ".desktop fajl „%s“ ne postoji." -#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. -#: tools/appstream-cli.c:608 +#: tools/ascli-actions-mdata.c:493 #, c-format -msgid "Unknown compare relation '%s'. Valid values are:" +msgid "Unable to read the .desktop file: %s" msgstr "" -#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) -#: tools/appstream-cli.c:675 -msgid "" -"Use the given .desktop file to fill in the basic values of the metainfo file." +#: tools/ascli-actions-mdata.c:564 +#, c-format +msgid "Unable to build the template metainfo file: %s" msgstr "" -#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) -#: tools/appstream-cli.c:725 -msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." -msgstr "" +#: tools/ascli-actions-mdata.c:572 +#, c-format +msgid "Unable to save the template metainfo file: %s" +msgstr "Ne mogu da sačuvam fajl meta-info šablona: %s" -#. TRANSLATORS: this is the menu spec main category for Utilities -#: src/as-category.c:329 -msgid "Utilities" -msgstr "Pomoćne alatke" +#. TRANSLATORS: In the status report of ascli: Header +#: tools/ascli-actions-misc.c:47 +msgid "AppStream Status:" +msgstr "Stanje Programskog toka:" -#: tools/appstream-cli.c:856 -msgid "Validate AppStream XML files for issues." -msgstr "Potvrdite XML fajlove Programskog toka za problemima." +#: tools/ascli-actions-misc.c:48 +#, c-format +msgid "Version: %s" +msgstr "Verzija: %s" -#: tools/appstream-cli.c:857 -msgid "Validate an installed file-tree of an application for valid metadata." +#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions +#: tools/ascli-actions-misc.c:52 +msgid "Distribution metadata:" msgstr "" -"Potvrdite instalirano stablo fajlova programa za ispravnim metapodacima." -#: tools/ascli-actions-validate.c:301 tools/ascli-actions-validate.c:442 -#, c-format -msgid "Validation failed: %s" -msgstr "Overavanje nije uspelo: %s" +#: tools/ascli-actions-misc.c:94 +msgid "Iconsets" +msgstr "Kompleti ikona" -#: tools/ascli-actions-validate.c:289 tools/ascli-actions-validate.c:430 -msgid "Validation was successful." -msgstr "Potvrđivanje je uspelo." +#: tools/ascli-actions-misc.c:105 +msgid "No icons." +msgstr "Nema ikona." -#: tools/ascli-actions-validate.c:291 tools/ascli-actions-validate.c:432 -#, c-format -msgid "Validation was successful: %s" -msgstr "Potvrđivanje je uspelo: %s" +#. TRANSLATORS: No metainfo files have been found +#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 +msgid "Empty." +msgstr "Prazno." -#: tools/appstream-cli.c:851 -msgid "Value of the item that should be found." +#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report +#: tools/ascli-actions-misc.c:116 +msgid "Metainfo files:" msgstr "" -#: src/as-category.c:177 -msgctxt "Category of Graphics" -msgid "Vector Graphics" -msgstr "Vektorska grafika" +#: tools/ascli-actions-misc.c:123 +#, c-format +msgid "Found %i components." +msgstr "Nađeno komponenti: %i." -#: tools/ascli-actions-misc.c:48 +#. TRANSLATORS: Found metainfo files in legacy directories +#: tools/ascli-actions-misc.c:138 #, c-format -msgid "Version: %s" -msgstr "Verzija: %s" +msgid "Found %i components in legacy paths." +msgstr "" -#: src/as-category.c:180 -msgctxt "Category of Graphics" -msgid "Viewers" -msgstr "Pregledači" +#. TRANSLATORS: Status summary in ascli +#: tools/ascli-actions-misc.c:145 +msgid "Summary:" +msgstr "Sažetak:" #: tools/ascli-actions-misc.c:153 #, c-format msgid "We have information on %i software components." msgstr "" -#: src/as-category.c:270 -msgctxt "Category of Communication" -msgid "Web Browsers" -msgstr "Web pregledači" +#: tools/ascli-actions-misc.c:159 +#, c-format +msgid "Error while loading the metadata pool: %s" +msgstr "" -#: src/as-category.c:202 -msgctxt "Category of Office" -msgid "Word Processor" -msgstr "Obrada teksta" +#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 +#, fuzzy +msgid "You need to specify a metainfo file as input." +msgstr "Morate da navedete fajl za potvrđivanje!" -#: tools/appstream-cli.c:871 -msgid "Write NEWS text or YAML file with information from a metainfo file." +#: tools/ascli-actions-misc.c:188 +#, fuzzy +msgid "" +"You need to specify a desktop-entry file to create or augment as output." +msgstr "Morate da navedete fajl za potvrđivanje!" + +#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 +#: tools/ascli-actions-misc.c:515 +#, fuzzy, c-format +msgid "Metainfo file '%s' does not exist." +msgstr ".desktop fajl „%s“ ne postoji." + +#: tools/ascli-actions-misc.c:219 +#, c-format +msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." msgstr "" -#: tools/appstream-cli.c:874 -msgid "" -"You can find information about subcommand-specific options by passing \"--" -"help\" to the subcommand." +#: tools/ascli-actions-misc.c:224 +#, c-format +msgid "Unable to load existing desktop-entry file template: %s" msgstr "" -#. TRANSLATORS: In ascli: The requested action needs higher permissions. -#: tools/ascli-actions-mdata.c:70 -msgid "You might need superuser permissions to perform this action." +#: tools/ascli-actions-misc.c:228 +#, c-format +msgid "Creating new desktop-entry file '%s' using data from '%s'" msgstr "" -"Biće vam potrebna administratorska ovlašćenja za obavljanje ove radnje." -#: tools/ascli-actions-mdata.c:447 -msgid "" -"You need to give an AppStream software component type to generate a " -"template. Possible values are:" +#: tools/ascli-actions-misc.c:284 +msgid "No stock icon name was provided in the metainfo file. Can not continue." msgstr "" -#: tools/appstream-cli.c:579 +#: tools/ascli-actions-misc.c:306 msgid "" -"You need to provide at least two version numbers to compare as parameters." +"No provided binary specified in metainfo file, and no exec command specified " +"via '--exec'. Can not create 'Exec=' key." msgstr "" +#: tools/ascli-actions-misc.c:370 +#, fuzzy, c-format +msgid "Unable to save desktop entry file: %s" +msgstr "Ne mogu da sačuvam fajl meta-info šablona: %s" + #: tools/ascli-actions-misc.c:393 #, fuzzy msgid "You need to specify a NEWS file as input." msgstr "Morate da navedete fajl za potvrđivanje!" +#: tools/ascli-actions-misc.c:397 +#, fuzzy +msgid "" +"You need to specify a metainfo file to augment, or '-' to print to stdout." +msgstr "Morate da navedete fajl za potvrđivanje!" + +#: tools/ascli-actions-misc.c:402 +msgid "No output filename specified, modifying metainfo file directly." +msgstr "" + #: tools/ascli-actions-misc.c:509 #, fuzzy msgid "You need to specify a NEWS file as output, or '-' to print to stdout." @@ -1771,119 +2667,162 @@ msgid "You need to specify a NEWS format to write the output in." msgstr "Morate da navedete ulazni i izlazni fajl." -#. TRANSLATORS: ascli has been run without command. -#: tools/appstream-cli.c:925 -msgid "You need to specify a command." -msgstr "Morate da navedete naredbu." - -#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments -#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. -#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:254 -#: tools/ascli-actions-pkgmgr.c:80 -msgid "You need to specify a component-ID." -msgstr "Morate da navedete ID komponente." - -#: tools/ascli-actions-misc.c:188 -#, fuzzy +#: tools/ascli-actions-pkgmgr.c:53 msgid "" -"You need to specify a desktop-entry file to create or augment as output." -msgstr "Morate da navedete fajl za potvrđivanje!" - -#: tools/ascli-actions-mdata.c:309 -msgid "You need to specify a metadata file." +"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" +"\" (part of PackageKit) is available." msgstr "" +"Nema odgovarajućeg menadžera paketa iz komandne linije. Proverite da je npr. " +"„pkcon“ dostupan (deo „PackageKit“)." -#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 -#, fuzzy -msgid "You need to specify a metainfo file as input." -msgstr "Morate da navedete fajl za potvrđivanje!" - -#: tools/ascli-actions-misc.c:397 -#, fuzzy -msgid "" -"You need to specify a metainfo file to augment, or '-' to print to stdout." -msgstr "Morate da navedete fajl za potvrđivanje!" - -#: tools/ascli-actions-validate.c:385 tools/ascli-actions-validate.c:479 -msgid "You need to specify a root directory to start validation!" -msgstr "Morate navesti korenu fasciklu za počinjanje potvrđivanja!" - -#: tools/ascli-actions-mdata.c:164 -msgid "You need to specify a term to search for." -msgstr "Morate da navedete pojam za traženje." +#: tools/ascli-actions-pkgmgr.c:67 +#, c-format +msgid "Unable to spawn package manager: %s" +msgstr "Ne mogu da podignem menadžer paketa: %s" -#: tools/ascli-actions-mdata.c:357 -msgid "You need to specify an input and output file." -msgstr "Morate da navedete ulazni i izlazni fajl." +#. TRANSLATORS: We found no distribution package or bundle to install to make this software available +#: tools/ascli-actions-pkgmgr.c:106 +#, c-format +msgid "Component '%s' has no installation candidate." +msgstr "Komponenta „%s“ nema kandidata za instalaciju." -#: tools/ascli-actions-validate.c:263 tools/ascli-actions-validate.c:337 -#, fuzzy -msgid "You need to specify at least one file to validate!" -msgstr "Morate da navedete fajl za potvrđivanje!" +#: tools/ascli-actions-validate.c:176 tools/ascli-actions-validate.c:354 +#, fuzzy, c-format +msgid "File '%s' does not exist." +msgstr ".desktop fajl „%s“ ne postoji." -#. TRANSLATORS: List of "grey-listed" words sperated with ";" -#. * Do not translate this list directly. Instead, -#. * provide a list of words in your language that people are likely -#. * to include in a search but that should normally be ignored in -#. * the search. -#. -#: src/as-pool.c:107 -msgid "app;application;package;program;programme;suite;tool" +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "error"-type hints +#: tools/ascli-actions-validate.c:228 +#, c-format +msgid "errors: %lu" msgstr "" -"app;application;package;program;programme;suite;tool;app;апликација;пакет;" -"program;комплет;алат;aplikacija;komplet;alat;paket" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:223 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "warning"-type hints +#: tools/ascli-actions-validate.c:235 #, c-format -msgid "errors: %lu" +msgid "warnings: %lu" msgstr "" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:237 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "info"-type hints +#: tools/ascli-actions-validate.c:242 #, c-format msgid "infos: %lu" msgstr "" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:244 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "pedantic"-type hints +#: tools/ascli-actions-validate.c:249 #, c-format msgid "pedantic: %lu" msgstr "" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:230 +#: tools/ascli-actions-validate.c:268 tools/ascli-actions-validate.c:342 +#, fuzzy +msgid "You need to specify at least one file to validate!" +msgstr "Morate da navedete fajl za potvrđivanje!" + +#: tools/ascli-actions-validate.c:294 tools/ascli-actions-validate.c:435 +msgid "Validation was successful." +msgstr "Potvrđivanje je uspelo." + +#: tools/ascli-actions-validate.c:296 tools/ascli-actions-validate.c:437 #, c-format -msgid "warnings: %lu" +msgid "Validation was successful: %s" +msgstr "Potvrđivanje je uspelo: %s" + +#: tools/ascli-actions-validate.c:306 tools/ascli-actions-validate.c:447 +#, c-format +msgid "Validation failed: %s" +msgstr "Overavanje nije uspelo: %s" + +#: tools/ascli-actions-validate.c:368 tools/ascli-actions-validate.c:497 +#, c-format +msgid "" +"The validator can not create reports in the '%s' format. You may select " +"'yaml' or 'text' instead." msgstr "" -#~ msgid "Command '%s' is unknown." -#~ msgstr "Naredba „%s“ nije poznata." +#: tools/ascli-actions-validate.c:390 tools/ascli-actions-validate.c:484 +msgid "You need to specify a root directory to start validation!" +msgstr "Morate navesti korenu fasciklu za počinjanje potvrđivanja!" -#~ msgid "Do not use any caches when performing the request." -#~ msgstr "Ne koristi keš pri obradi zahteva." +#: tools/ascli-utils.c:266 +msgid "Identifier" +msgstr "Identifikator" -#~ msgid "AppStream cache update failed." -#~ msgstr "Osvežavanje ostave Programskog toka nije uspelo." +#: tools/ascli-utils.c:268 +msgid "Internal ID" +msgstr "" -#, fuzzy -#~ msgid "Category of Games" -#~ msgstr "Kategorije" +#: tools/ascli-utils.c:269 +msgid "Name" +msgstr "Naziv" -#, fuzzy -#~ msgid "Category of Office" -#~ msgstr "Kategorije" +#: tools/ascli-utils.c:270 +msgid "Summary" +msgstr "Sažetak" -#, fuzzy -#~ msgid "Category of Science" -#~ msgstr "Kategorije" +#: tools/ascli-utils.c:271 +msgid "Package" +msgstr "Paket" + +#: tools/ascli-utils.c:272 +msgid "Bundle" +msgstr "Komplet" + +#: tools/ascli-utils.c:273 +msgid "Homepage" +msgstr "Matična stranica" + +#: tools/ascli-utils.c:274 +msgid "Icon" +msgstr "Ikona" + +#. developer name +#: tools/ascli-utils.c:294 +msgid "Developer" +msgstr "Programer" + +#: tools/ascli-utils.c:300 +msgid "Extends" +msgstr "Proširuje" + +#: tools/ascli-utils.c:306 +msgid "Description" +msgstr "Opis" + +#: tools/ascli-utils.c:326 +msgid "Default Screenshot URL" +msgstr "URL podrazumevanog snimka ekrana" + +#. project group +#: tools/ascli-utils.c:333 +msgid "Project Group" +msgstr "Grupa projekta" + +#. license +#: tools/ascli-utils.c:336 +msgid "License" +msgstr "Licenca" + +#: tools/ascli-utils.c:342 +msgid "Categories" +msgstr "Kategorije" + +#: tools/ascli-utils.c:350 +msgid "Compulsory for" +msgstr "Neophodan za" -#~ msgid "File %s not found or permission denied!" -#~ msgstr "Nisam pronašao datoteku „%s“ ili su ovlašćenja odbijena!" +#: tools/ascli-utils.c:378 +msgid "Provided Items" +msgstr "Omogućene stavke" + +#, fuzzy, c-format +#~ msgid "Unable to open new cache file: %s" +#~ msgstr "Ne mogu da sačuvam fajl meta-info šablona: %s" #, fuzzy -#~ msgid "No component providing '%s::%s' found." -#~ msgstr "Nisam našao sastojak koji odgovara „%s“." +#~ msgid "An item type (e.g. lib, bin, python3, …)" +#~ msgstr "Tip stavke (npr. lib, bin, python3, ...)" -#~ msgid "XDG Menu XML file '%s' is damaged." -#~ msgstr "IksML datoteka „%s“ IksDG izbornika je oštećena." +#~ msgid "Get components which provide the given item." +#~ msgstr "Dobavlja komponente koji omogućavaju datu stavku." diff -Nru appstream-0.12.10/po/sr.po appstream-0.14.5/po/sr.po --- appstream-0.12.10/po/sr.po 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/po/sr.po 2021-08-28 20:15:28.000000000 +0000 @@ -1,3 +1,4 @@ +# #-#-#-#-# sr.po (AppStream) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Matthias Klumpp # This file is distributed under the same license as the appstream package. @@ -5,14 +6,24 @@ # Translators: # Miloš Popović , 2015 # Марко М. Костић (Marko M. Kostić) , 2015 -# Мирослав Николић , 2014,2016 +# Мирослав Николић , 2014,2016, 2021. +# #-#-#-#-# sr.po (appstream-glib) #-#-#-#-# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Miloš Popović , 2015 +# Марко М. Костић (Marko M. Kostić) , 2015 +# Мирослав Николић , 2014,2016, 2021. +# Richard Hughes , 2016. #zanata +# +# Translators: msgid "" msgstr "" -"Project-Id-Version: AppStream\n" +"Project-Id-Version: appstream-glib\n" "Report-Msgid-Bugs-To: appstream@lists.freedesktop.org\n" -"POT-Creation-Date: 2020-01-14 01:44+0100\n" -"PO-Revision-Date: 2017-04-29 20:03+0000\n" -"Last-Translator: Слободан Симић(Slobodan Simić) \n" +"POT-Creation-Date: 2021-08-28 16:09+0200\n" +"PO-Revision-Date: 2021-03-11 21:02+0000\n" +"Last-Translator: Мирослав Николић \n" "Language-Team: Serbian \n" "Language: sr\n" @@ -21,1859 +32,3010 @@ "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 2.14-dev\n" - -#: tools/appstream-cli.c:157 -#, c-format -msgid "'%s' command" -msgstr "„%s“ наредба" - -#: src/as-category.c:168 -msgctxt "Category of Graphics" -msgid "3D Graphics" -msgstr "3Д графика" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:254 -msgid "" -"A 'requires' or 'recommends' item requires a value to denote a valid " -"relation." -msgstr "" +"X-Generator: Weblate 4.5.2-dev\n" -#: src/as-validator-issue-tag.h:51 -msgid "" -"A tag must not be localized in metainfo files (upstream " -"metadata). Localize the individual paragraphs instead." -msgstr "" +#: data/org.freedesktop.appstream.cli.metainfo.xml:8 +msgid "AppStream CLI" +msgstr "КЛИ за Програмски ток" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:195 -msgid "" -"A screenshot must contain at least one image or video in order to be useful. " -"Please add an to it." -msgstr "" +#: data/org.freedesktop.appstream.cli.metainfo.xml:9 +msgid "An utility to work with AppStream metadata" +msgstr "Помагало за рад са метаподацима Програмског тока" -#: src/as-validator-issue-tag.h:200 +#: data/org.freedesktop.appstream.cli.metainfo.xml:12 msgid "" -"A screenshot must contain either images or videos, but not both at the same " -"time. Please use this screenshot exclusively for either static images or for " -"videos." -msgstr "" +"AppStream is a metadata specification which permits software components to " +"provide information about themselves to automated systems and end-users " +"before the software is actually installed. The AppStream project provides " +"facilities to easily access and transform this metadata, as well as a few " +"additional services for building feature-rich software centers and similar " +"applications that make use of software metadata." +msgstr "" +"Програмски ток је спецификација метаподатака која омогућава софтверским " +"компонентама да пружају информације о себи аутоматизованим системима и " +"крајњим корисницима пре него што се софтвер заиста инсталира. Пројекат " +"Програмског тока пружа могућности лаког приступа и преображаја ових " +"метаподатака, као и неколико додатних услуга за изградњу софтверских центара " +"богатих карактеристикама и сличних апликација које користе софтверске " +"метаподатке." + +#: data/org.freedesktop.appstream.cli.metainfo.xml:18 +msgid "" +"The appstreamcli command-line tool allows to read, write, and " +"transform AppStream XML or YAML metadata as well as to validate it for " +"compliance with the specification. It also provides easy access to the " +"system metadata pool, for example to query for software that provides a " +"specific Mediatype handler or for installing software by its component " +"identifier." +msgstr "" +"Алат линије наредби „appstreamcli“ омогућава читање, писање и " +"преображај „XML“ или „YAML“ метаподатака Програмског тока, као и потврђивање " +"њихове усклађености са спецификацијом. Такође пружа једноставан приступ " +"системском спремишту метаподатака, на пример, за упит за софтвер који пружа " +"одређени обрађивач врсте медија или за инсталирање софтвера помоћу његовог " +"одредника компоненте." -#: src/as-category.c:123 -msgctxt "Category of Games" -msgid "Action" -msgstr "Радња" +#: src/as-category.c:66 +msgctxt "Category of AudioVideo" +msgid "Featured" +msgstr "Издвојено" -#. TRANSLATORS: this is the main category for Add-ons -#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor -#: src/as-category.c:320 tools/ascli-utils.c:398 -msgid "Add-ons" -msgstr "Додатак" +#: src/as-category.c:69 +msgctxt "Category of AudioVideo" +msgid "Audio Creation & Editing" +msgstr "Стварање и уређивање звука" -#: src/as-category.c:126 -msgctxt "Category of Games" -msgid "Adventure" -msgstr "Авантура" +#: src/as-category.c:75 +msgctxt "Category of AudioVideo" +msgid "Music Players" +msgstr "Програми за пуштање музике" -#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) -#: tools/appstream-cli.c:116 -#, fuzzy -msgid "Also show pedantic hints." -msgstr "Избацује педантне савете при провери." +#: src/as-category.c:84 +msgctxt "Category of Development" +msgid "Featured" +msgstr "Издвојени" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:497 -msgid "" -"An 'extends' tag is specified, but the component is not of type 'addon', " -"'localization' or 'repository'." -msgstr "" +#: src/as-category.c:87 +msgctxt "Category of Development" +msgid "Debuggers" +msgstr "Уклањање грешака" -#: tools/appstream-cli.c:850 -#, fuzzy -msgid "An item type (e.g. lib, bin, python3, …)" -msgstr "Тип ставке (нпр. lib, bin, python3, ...)" +#: src/as-category.c:90 +msgctxt "Category of Development" +msgid "IDEs" +msgstr "Развојна окружења" -#: data/org.freedesktop.appstream.cli.metainfo.xml:9 -msgid "An utility to work with AppStream metadata" -msgstr "" +#: src/as-category.c:99 +msgctxt "Category of Education" +msgid "Featured" +msgstr "Издвојени" -#: data/org.freedesktop.appstream.cli.metainfo.xml:8 -msgid "AppStream CLI" -msgstr "ЦЛИ за Програмски ток" +#: src/as-category.c:102 +msgctxt "Category of Education" +msgid "Astronomy" +msgstr "Астрономија" -#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. -#: tools/appstream-cli.c:947 -#, fuzzy, c-format -msgid "" -"AppStream CLI tool version: %s\n" -"AppStream library version: %s" -msgstr "Издање ЦЛИ за Програмски ток: %s" +#: src/as-category.c:105 +msgctxt "Category of Education" +msgid "Chemistry" +msgstr "Хемија" -#. TRANSLATORS: In the status report of ascli: Header -#: tools/ascli-actions-misc.c:47 -msgid "AppStream Status:" -msgstr "Стање Програмског тока:" +#: src/as-category.c:108 +msgctxt "Category of Education" +msgid "Languages" +msgstr "Језици" -#. we performed a cache refresh -#. TRANSLATORS: Updating the metadata cache succeeded -#: tools/ascli-actions-mdata.c:80 -msgid "AppStream cache update completed successfully." -msgstr "Освежавање кеша Програмског тока је успешно обављено." +#: src/as-category.c:112 +msgctxt "Category of Education" +msgid "Math" +msgstr "Математика" -#. cache wasn't updated, so the update wasn't necessary -#: tools/ascli-actions-mdata.c:86 -msgid "AppStream cache update is not necessary." -msgstr "Освежавање кеша Програмског тока није потребно." +#: src/as-category.c:121 +msgctxt "Category of Games" +msgid "Featured" +msgstr "Издвојени" -#. TRANSLATORS: This is the header to the --help menu for subcommands -#. TRANSLATORS: This is the header to the --help menu -#: tools/appstream-cli.c:154 tools/appstream-cli.c:843 -msgid "AppStream command-line interface" -msgstr "Сучеље командне линије за Програмски ток" +#: src/as-category.c:124 +msgctxt "Category of Games" +msgid "Action" +msgstr "Радња" -#: src/as-validator-issue-tag.h:63 -msgid "" -"AppStream descriptions support only a limited set of tags to format text: " -"Paragraphs (

                                                                                                                                                                                                                                                                                                                                                                        ) and lists (

                                                                                                                                                                                                                                                                                                                                                                          ,
                                                                                                                                                                                                                                                                                                                                                                            ). This description markup contains " -"an invalid XML tag that would not be rendered correctly in applications " -"supporting the metainfo specification." -msgstr "" +#: src/as-category.c:127 +msgctxt "Category of Games" +msgid "Adventure" +msgstr "Авантура" -#: data/org.freedesktop.appstream.cli.metainfo.xml:12 -msgid "" -"AppStream is a cross-distribution specification to provide metadata about " -"software components." -msgstr "" +#: src/as-category.c:130 +msgctxt "Category of Games" +msgid "Arcade" +msgstr "Аркадне" -#: src/as-pool.c:1937 -#, c-format -msgid "" -"AppStream system cache refresh failed. Turn on verbose mode to get detailed " -"issue information." -msgstr "" +#: src/as-category.c:133 +msgctxt "Category of Games" +msgid "Blocks" +msgstr "Блокови" -#. TRANSLATORS: Output if appstreamcli --version is executed. -#: tools/appstream-cli.c:944 -#, fuzzy, c-format -msgid "AppStream version: %s" -msgstr "Издање ЦЛИ за Програмски ток: %s" +#: src/as-category.c:136 +msgctxt "Category of Games" +msgid "Board" +msgstr "На табли" -#: src/as-category.c:129 +#: src/as-category.c:139 msgctxt "Category of Games" -msgid "Arcade" -msgstr "Аркадне" +msgid "Card" +msgstr "Карте" -#: src/as-category.c:234 -msgctxt "Category of Science" -msgid "Artificial Intelligence" -msgstr "Вештачка интелигенција" +#: src/as-category.c:142 +msgctxt "Category of Games" +msgid "Emulators" +msgstr "Емулатори" -#: src/as-validator-issue-tag.h:91 -msgid "" -"As per AppStream specification, the mentioned tag must only appear once in " -"this context. Having multiple tags of this kind is not valid." -msgstr "" +#: src/as-category.c:145 +msgctxt "Category of Games" +msgid "Kids" +msgstr "Дечије" -#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command -#: tools/appstream-cli.c:766 -msgid "Assume the input file is in the selected format ('yaml' or 'text')." -msgstr "" +#: src/as-category.c:148 +msgctxt "Category of Games" +msgid "Logic" +msgstr "Логичке" -#: src/as-category.c:101 -msgctxt "Category of Education" -msgid "Astronomy" -msgstr "Астрономија" +#: src/as-category.c:151 +msgctxt "Category of Games" +msgid "Role Playing" +msgstr "Играње улоге" -#: src/as-category.c:237 -msgctxt "Category of Science" -msgid "Astronomy" -msgstr "Астрономија" +#: src/as-category.c:154 +msgctxt "Category of Games" +msgid "Sports" +msgstr "Спорт" -#. TRANSLATORS: this is the menu spec main category for Audio & Video -#: src/as-category.c:302 -msgid "Audio & Video" -msgstr "Аудио и видео" +#: src/as-category.c:158 +msgctxt "Category of Games" +msgid "Strategy" +msgstr "Стратегија" -#: src/as-category.c:68 -msgctxt "Category of AudioVideo" -msgid "Audio Creation & Editing" -msgstr "Креирање и уређивање звука" +#: src/as-category.c:166 +msgctxt "Category of Graphics" +msgid "Featured" +msgstr "Издвојени" -#: tools/ascli-actions-misc.c:219 -#, c-format -msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." -msgstr "" +#: src/as-category.c:169 +msgctxt "Category of Graphics" +msgid "3D Graphics" +msgstr "3Д графика" -#: src/as-provided.c:146 -msgid "Binaries" -msgstr "Извршни" +#: src/as-category.c:172 +msgctxt "Category of Graphics" +msgid "Photography" +msgstr "Фотографија" -#: src/as-category.c:132 -msgctxt "Category of Games" -msgid "Blocks" -msgstr "Блокови" +#: src/as-category.c:175 +msgctxt "Category of Graphics" +msgid "Scanning" +msgstr "Скенирање" -#: src/as-category.c:135 -msgctxt "Category of Games" -msgid "Board" -msgstr "На табли" +#: src/as-category.c:178 +msgctxt "Category of Graphics" +msgid "Vector Graphics" +msgstr "Векторска графика" -#: tools/ascli-utils.c:299 -msgid "Bundle" -msgstr "Комплет" +#: src/as-category.c:181 +msgctxt "Category of Graphics" +msgid "Viewers" +msgstr "Прегледачи" -#: src/as-pool.c:1828 -#, c-format -msgid "Cache location '%s' is not writable." -msgstr "Локација кеша „%s“ није уписива." +#: src/as-category.c:189 +msgctxt "Category of Office" +msgid "Featured" +msgstr "Издвојени" -#: src/as-category.c:191 +#: src/as-category.c:192 msgctxt "Category of Office" msgid "Calendar" msgstr "Календар" -#: tools/ascli-actions-mdata.c:327 -#, c-format -msgid "" -"Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " -"suffix." -msgstr "" - -#: src/as-category.c:138 -msgctxt "Category of Games" -msgid "Card" -msgstr "Карте" - -#: tools/ascli-utils.c:369 -msgid "Categories" -msgstr "Категорије" +#: src/as-category.c:196 +msgctxt "Category of Office" +msgid "Database" +msgstr "Базе података" -#: src/as-category.c:259 -msgctxt "Category of Communication" -msgid "Chat" -msgstr "Ћаскање" +#: src/as-category.c:199 +msgctxt "Category of Office" +msgid "Finance" +msgstr "Финансије" -#: src/as-category.c:104 -msgctxt "Category of Education" -msgid "Chemistry" -msgstr "Хемија" +#: src/as-category.c:203 +msgctxt "Category of Office" +msgid "Word Processor" +msgstr "Обрада текста" -#: src/as-category.c:240 -msgctxt "Category of Science" -msgid "Chemistry" -msgstr "Хемија" +#: src/as-category.c:212 +msgctxt "Category of Addons" +msgid "Fonts" +msgstr "Врсте слова" -#: src/as-category.c:214 +#: src/as-category.c:215 msgctxt "Category of Addons" msgid "Codecs" msgstr "Кодеци" -#. TRANSLATORS: this is the menu spec main category for Communication -#: src/as-category.c:326 -msgid "Communication & News" -msgstr "Комуникације и вести" +#: src/as-category.c:218 +msgctxt "Category of Addons" +msgid "Input Sources" +msgstr "Улазни извори" -#: tools/appstream-cli.c:866 -msgid "Compare two version numbers." -msgstr "" +#: src/as-category.c:221 +msgctxt "Category of Addons" +msgid "Language Packs" +msgstr "Језички пакети" -#: src/as-provided.c:166 -msgid "Component" -msgstr "" +#: src/as-category.c:224 +msgctxt "Category of Addons" +msgid "Localization" +msgstr "Локализације" -#. TRANSLATORS: We found no distribution package or bundle to install to make this software available -#: tools/ascli-actions-pkgmgr.c:106 +#: src/as-category.c:232 +msgctxt "Category of Science" +msgid "Featured" +msgstr "Издвојени" + +#: src/as-category.c:235 +msgctxt "Category of Science" +msgid "Artificial Intelligence" +msgstr "Вештачка интелигенција" + +#: src/as-category.c:238 +msgctxt "Category of Science" +msgid "Astronomy" +msgstr "Астрономија" + +#: src/as-category.c:241 +msgctxt "Category of Science" +msgid "Chemistry" +msgstr "Хемија" + +#: src/as-category.c:244 +msgctxt "Category of Science" +msgid "Math" +msgstr "Математика" + +#: src/as-category.c:249 +msgctxt "Category of Science" +msgid "Robotics" +msgstr "Роботика" + +#: src/as-category.c:257 +msgctxt "Category of Communication" +msgid "Featured" +msgstr "Издвојени" + +#: src/as-category.c:260 +msgctxt "Category of Communication" +msgid "Chat" +msgstr "Ћаскање" + +#: src/as-category.c:267 +msgctxt "Category of Communication" +msgid "News" +msgstr "Вести" + +#: src/as-category.c:271 +msgctxt "Category of Communication" +msgid "Web Browsers" +msgstr "Веб прегледачи" + +#: src/as-category.c:279 +msgctxt "Category of Utility" +msgid "Featured" +msgstr "Издвојени" + +#: src/as-category.c:282 +msgctxt "Category of Utility" +msgid "Text Editors" +msgstr "Уређивачи текста" + +#: src/as-category.c:285 +msgctxt "Category of Utility" +msgid "Terminal Emulators" +msgstr "Емулатори терминала" + +#: src/as-category.c:288 +msgctxt "Category of Utility" +msgid "File System" +msgstr "Систем датотека" + +#: src/as-category.c:291 +msgctxt "Category of Utility" +msgid "System Monitoring" +msgstr "Праћење система" + +#: src/as-category.c:294 +msgctxt "Category of Utility" +msgid "Security" +msgstr "Безбедност" + +#. TRANSLATORS: this is the menu spec main category for Audio & Video +#: src/as-category.c:303 +msgid "Audio & Video" +msgstr "Аудио и видео" + +#. TRANSLATORS: this is the menu spec main category for Development +#: src/as-category.c:306 +msgid "Developer Tools" +msgstr "Програмерање" + +#. TRANSLATORS: this is the menu spec main category for Education +#: src/as-category.c:309 +msgid "Education" +msgstr "Образовање" + +#. TRANSLATORS: this is the menu spec main category for Game +#: src/as-category.c:312 +msgid "Games" +msgstr "Игре" + +#. TRANSLATORS: this is the menu spec main category for Graphics +#: src/as-category.c:315 +msgid "Graphics & Photography" +msgstr "Графика и фотографија" + +#. TRANSLATORS: this is the menu spec main category for Office +#: src/as-category.c:318 +msgid "Office" +msgstr "Канцеларија" + +#. TRANSLATORS: this is the main category for Add-ons +#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor +#: src/as-category.c:321 tools/ascli-utils.c:371 +msgid "Add-ons" +msgstr "Додаци" + +#. TRANSLATORS: this is the menu spec main category for Science +#: src/as-category.c:324 +msgid "Science" +msgstr "Наука" + +#. TRANSLATORS: this is the menu spec main category for Communication +#: src/as-category.c:327 +msgid "Communication & News" +msgstr "Комуникације и вести" + +#. TRANSLATORS: this is the menu spec main category for Utilities +#: src/as-category.c:330 +msgid "Utilities" +msgstr "Помоћни алати" + +#. TRANSLATORS: This is the formatting of English and localized name +#. * of the rating e.g. "Adults Only (solo adultos)" +#: src/as-content-rating.c:298 +#, c-format +msgid "%s (%s)" +msgstr "%s (%s)" + +#: src/as-content-rating.c:444 +msgid "General" +msgstr "Опште" + +#: src/as-content-rating.c:453 +msgid "ALL" +msgstr "СВЕ" + +#: src/as-content-rating.c:457 src/as-content-rating.c:560 +msgid "Adults Only" +msgstr "Само за одрасле" + +#: src/as-content-rating.c:459 src/as-content-rating.c:559 +msgid "Mature" +msgstr "За одрасле" + +#: src/as-content-rating.c:461 src/as-content-rating.c:558 +msgid "Teen" +msgstr "Тинејџери" + +#: src/as-content-rating.c:463 src/as-content-rating.c:557 +msgid "Everyone 10+" +msgstr "Сви 10+ година" + +#: src/as-content-rating.c:465 src/as-content-rating.c:556 +msgid "Everyone" +msgstr "Сви" + +#: src/as-content-rating.c:467 src/as-content-rating.c:555 +msgid "Early Childhood" +msgstr "Рано детињство" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:839 +msgid "No cartoon violence" +msgstr "Без насиља у цртаћима" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:841 +msgid "Cartoon characters in unsafe situations" +msgstr "Ликови из цртаћа у непожељним ситуацијама" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:843 +msgid "Cartoon characters in aggressive conflict" +msgstr "Ликови из цртаћа у агресивном сукобу" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:845 +msgid "Graphic violence involving cartoon characters" +msgstr "Графичко насиље које укључује ликове из цртаћа" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:850 +msgid "No fantasy violence" +msgstr "Без фантазијског насиља" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:852 +msgid "Characters in unsafe situations easily distinguishable from reality" +msgstr "Ликови у несигурним ситуацијама које се лако разликују од стварности" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:854 +msgid "Characters in aggressive conflict easily distinguishable from reality" +msgstr "Ликови у агресивном сукобу који се лако разликује од стварности" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:856 +msgid "Graphic violence easily distinguishable from reality" +msgstr "Графичко насиље које се лако разликује од стварности" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:861 +msgid "No realistic violence" +msgstr "Без реалистичног насиља" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:863 +msgid "Mildly realistic characters in unsafe situations" +msgstr "Благо стварни ликови у несигурним ситуацијама" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:865 +msgid "Depictions of realistic characters in aggressive conflict" +msgstr "Приказ стварних ликова у агресивном сукобу" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:867 +msgid "Graphic violence involving realistic characters" +msgstr "Графичко насиље које укључује стварне ликове" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:872 +msgid "No bloodshed" +msgstr "Без крвопролића" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:874 +msgid "Unrealistic bloodshed" +msgstr "Нереално крвопролиће" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:876 +msgid "Realistic bloodshed" +msgstr "Реално крвопролиће" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:878 +msgid "Depictions of bloodshed and the mutilation of body parts" +msgstr "Приказ крвопролића и сакаћење делова тела" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:883 +msgid "No sexual violence" +msgstr "Без сексуалног насиља" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:885 +msgid "Rape or other violent sexual behavior" +msgstr "Силовање или друго насилно сексуално понашање" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:892 +msgid "No references to alcohol" +msgstr "Без упућивања на алкохол" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:894 +msgid "References to alcoholic beverages" +msgstr "Упућивање на алкохолна пића" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:896 +msgid "Use of alcoholic beverages" +msgstr "Употреба алкохолних пића" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:902 +msgid "No references to illicit drugs" +msgstr "Без упућивања на забрањене дроге" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:904 +msgid "References to illicit drugs" +msgstr "Упућивање на забрањене дроге" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:906 +msgid "Use of illicit drugs" +msgstr "Употреба забрањених дрога" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:912 +msgid "No references to tobacco products" +msgstr "Без упућивања на дуванске производе" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:914 +msgid "References to tobacco products" +msgstr "Упућивање на дуванске производе" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:916 +msgid "Use of tobacco products" +msgstr "Употреба дуванских производа" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:922 +msgid "No nudity of any sort" +msgstr "Без било какве нагости" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:924 +msgid "Brief artistic nudity" +msgstr "Кратка уметничка голотиња" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:926 +msgid "Prolonged nudity" +msgstr "Продужена голотиња" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:932 +msgid "No references to or depictions of sexual nature" +msgstr "Без сексуалних приказа или упућивања" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:934 +msgid "Provocative references or depictions" +msgstr "Провокативне упуте или прикази" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:936 +msgid "Sexual references or depictions" +msgstr "Сексуалне упуте или прикази" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:938 +msgid "Graphic sexual behavior" +msgstr "Графичко сексуално понашање" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:943 +msgid "No profanity of any kind" +msgstr "Без било какве вулгарности" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:945 +msgid "Mild or infrequent use of profanity" +msgstr "Блага или ретка употреба псовки" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:947 +msgid "Moderate use of profanity" +msgstr "Умерена употреба псовки" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:949 +msgid "Strong or frequent use of profanity" +msgstr "Јака или честа употреба псовки" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:954 +msgid "No inappropriate humor" +msgstr "Без неумесног хумора" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:956 +msgid "Slapstick humor" +msgstr "Урнебесна комедија" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:958 +msgid "Vulgar or bathroom humor" +msgstr "Вулгаран или неумесни хумор" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:960 +msgid "Mature or sexual humor" +msgstr "Еротски или хумор за одрасле" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:965 +msgid "No discriminatory language of any kind" +msgstr "Без било каквог дискриминационог говора" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:967 +msgid "Negativity towards a specific group of people" +msgstr "Негативност према одређеној групи људи" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:969 +msgid "Discrimination designed to cause emotional harm" +msgstr "Дискриминација осмишљена да изазове емотивну повреду" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:971 +msgid "Explicit discrimination based on gender, sexuality, race or religion" +msgstr "" +"Експлицитна дискриминација на основу пола, сексуалности, расе или " +"вероисповести" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:976 +msgid "No advertising of any kind" +msgstr "Без било каквог оглашавања" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:978 +msgid "Product placement" +msgstr "Пласман производа" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:980 +msgid "Explicit references to specific brands or trademarked products" +msgstr "Експлицитно упућивање на нарочите робне марке или заштићене производе" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:982 +msgid "Users are encouraged to purchase specific real-world items" +msgstr "Корисници се охрабрују да купују одређене ставке у стварном свету" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:987 +msgid "No gambling of any kind" +msgstr "Без било каквог коцкања" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:989 +msgid "Gambling on random events using tokens or credits" +msgstr "Коцкање на насумичним догађајима који користе жетоне или кредите" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:991 +msgid "Gambling using “play” money" +msgstr "Коцкање које користи „играчки“ новац (play)" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:993 +msgid "Gambling using real money" +msgstr "Коцкање које користи стварни новац" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:998 +msgid "No ability to spend money" +msgstr "Без могућности трошења стварног новца" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1000 +msgid "Users are encouraged to donate real money" +msgstr "Корисници се охрабрују да донирају стварни новац" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1003 +msgid "Ability to spend real money in-app" +msgstr "Могућност трошења стварног новца у програму" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1008 +msgid "No way to chat with other users" +msgstr "Без начина за ћаскање са другим корисницима" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1010 +msgid "User-to-user interactions without chat functionality" +msgstr "Међудејство између корисника без могућности ћаскања" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1012 +msgid "Moderated chat functionality between users" +msgstr "Умерена могућност ћаскања између корисника" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1014 +msgid "Uncontrolled chat functionality between users" +msgstr "Неконтролисана могућност ћаскања између корисника" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1019 +msgid "No way to talk with other users" +msgstr "Без начина за разговор са другим корисницима" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1021 +msgid "Uncontrolled audio or video chat functionality between users" +msgstr "Неконтролисана могућност звучног и видео ћаскања између корисника" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1028 +msgid "No sharing of social network usernames or email addresses" +msgstr "" +"Без дељења корисничких имена на друштвеним мрежама или адреса електронске " +"поште" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1030 +msgid "Sharing social network usernames or email addresses" +msgstr "" +"Дељење корисничких имена на друштвеним мрежама или адреса електронске поште" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1037 +msgid "No sharing of user information with third parties" +msgstr "Без дељења корисничких података са трећим странама" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1039 +msgid "Checking for the latest application version" +msgstr "Проверавање последње издање програма" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1041 +msgid "Sharing diagnostic data that does not let others identify the user" +msgstr "" +"Деле се дијагностички подаци преко којих други не могу препознати корисника" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1043 +msgid "Sharing information that lets others identify the user" +msgstr "" +"Деле се дијагностички подаци преко којих други могу препознати корисника" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1048 +msgid "No sharing of physical location with other users" +msgstr "Без дељења стварне локације са другим корисницима" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1050 +msgid "Sharing physical location with other users" +msgstr "Дељење стварне локације са другим корисницима" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1073 +msgid "No references to homosexuality" +msgstr "Без упућивања на хомосексуалност" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1075 +msgid "Indirect references to homosexuality" +msgstr "Посредна упућивања на хомосексуалност" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1077 +msgid "Kissing between people of the same gender" +msgstr "Љубљење између особа истог пола" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1079 +msgid "Graphic sexual behavior between people of the same gender" +msgstr "Графичко сексуално понашање између особа истог пола" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1084 +msgid "No references to prostitution" +msgstr "Без упућивања на проституцију" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1086 +msgid "Indirect references to prostitution" +msgstr "Посредна упућивања на проституцију" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1088 +msgid "Direct references to prostitution" +msgstr "Непосредна упућивања на проституцију" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1090 +msgid "Graphic depictions of the act of prostitution" +msgstr "Графички прикази чина проституције" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1095 +msgid "No references to adultery" +msgstr "Без упућивања на прељубу" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1097 +msgid "Indirect references to adultery" +msgstr "Посредна упућивања на прељубу" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1099 +msgid "Direct references to adultery" +msgstr "Непосредна упућивања на прељубу" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1101 +msgid "Graphic depictions of the act of adultery" +msgstr "Графички прикази чина прељубе" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1106 +msgid "No sexualized characters" +msgstr "Без сексуализованих ликова" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1109 +msgid "Scantily clad human characters" +msgstr "Оскудно обучени људски ликови" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1111 +msgid "Overtly sexualized human characters" +msgstr "Претерано сексуализовани људски ликови" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1116 +msgid "No references to desecration" +msgstr "Без упућивања на скрнављење" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1118 +msgid "Depictions of or references to historical desecration" +msgstr "Прикази или упућивања ка историјским скрнављењима" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1120 +msgid "Depictions of modern-day human desecration" +msgstr "Прикази савременог људског скрнављења" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1122 +msgid "Graphic depictions of modern-day desecration" +msgstr "Графички прикази савременог скрнављења" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1127 +msgid "No visible dead human remains" +msgstr "Без видљивих људских посмртних остатака" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1129 +msgid "Visible dead human remains" +msgstr "Са видљивим људским посмртним остацима" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1131 +msgid "Dead human remains that are exposed to the elements" +msgstr "Посмртни остаци људи који су изложени временским приликама" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1133 +msgid "Graphic depictions of desecration of human bodies" +msgstr "Графички прикази скрнављења људских тела" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1138 +msgid "No references to slavery" +msgstr "Без упућивања на робовласништво" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1140 +msgid "Depictions of or references to historical slavery" +msgstr "Прикази или упућивања ка историјском робовласништву" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1142 +msgid "Depictions of modern-day slavery" +msgstr "Прикази савременог робовласништва" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1144 +msgid "Graphic depictions of modern-day slavery" +msgstr "Графички прикази савременог робовласништва" + +#. TRANSLATORS: We got a 429 error while trying to download data +#: src/as-curl.c:134 +#, c-format +msgid "Failed to download due to server limit" +msgstr "Нисам успео да преузмем због ограничења ервера" + +#: src/as-curl.c:141 src/as-curl.c:148 +#, c-format +msgid "Failed to download file: %s" +msgstr "Нисам успео да преузмем датотеку: %s" + +#. TRANSLATORS: We tried to download an URL, but received a 404 error code +#: src/as-curl.c:157 #, c-format -msgid "Component '%s' has no installation candidate." -msgstr "Компонента „%s“ нема кандидата за инсталацију." +msgid "URL was not found on the server." +msgstr "Нисам нашао адресу на серверу." -#: tools/ascli-utils.c:377 -msgid "Compulsory for" -msgstr "Неопходан за" +#. TRANSLATORS: We received an uexpected HTTP status code while talking to a server, likely an error +#: src/as-curl.c:164 +#, c-format +msgid "Unexpected status code: %ld" +msgstr "Неочекивани код стања: %ld" -#: src/as-validator-issue-tag.h:361 -msgid "Consider using a secure (HTTPS) URL for the remote icon link." -msgstr "" +#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty +#: src/as-curl.c:247 +#, c-format +msgid "Retrieved file size was zero." +msgstr "Величина довучене датотеке беше нула." -#: src/as-validator-issue-tag.h:383 -msgid "Consider using a secure (HTTPS) URL for this web link." +#. TRANSLATORS: List of "grey-listed" words sperated with ";" +#. * Do not translate this list directly. Instead, +#. * provide a list of words in your language that people are likely +#. * to include in a search but that should normally be ignored in +#. * the search. +#. +#: src/as-pool.c:111 +msgid "app;application;package;program;programme;suite;tool" msgstr "" +"app;application;package;program;programme;suite;tool;апп;апликација;пакет;" +"програм;комплет;алат;aplikacija;komplet;alat;paket" -#: src/as-validator-issue-tag.h:189 -msgid "" -"Consider using a secure (HTTPS) URL to reference this screenshot image or " -"video." -msgstr "" +#: src/as-pool.c:620 +msgid "Unable to remove old cache." +msgstr "Не могу да уклоним стару оставу." -#: tools/appstream-cli.c:870 -msgid "Convert a YAML or text NEWS file into metainfo releases." -msgstr "" +#: src/as-pool.c:963 +msgid "Metadata files have errors:" +msgstr "Датотеке метаподатака имају грешке:" -#. TRANSLATORS: "convert" command in ascli. "Collection XML" is a term describing a specific type of AppStream XML data. -#: tools/appstream-cli.c:865 -msgid "Convert collection XML to YAML or vice versa." -msgstr "Претвара збирку XML у YAML или обрнуто." +#: src/as-pool.c:1370 +msgid "" +"Many components have been recognized as invalid. See debug output for " +"details." +msgstr "" +"Многе компоненте су препознате као неисправне. Видите излаз прочишћавања за " +"појединостима." -#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results -#: tools/ascli-actions-mdata.c:228 +#: src/as-pool.c:1996 #, c-format -msgid "Could not find component providing '%s::%s'." -msgstr "Не могу да нађем компоненту која омогућава „%s::%s“." +msgid "Cache location '%s' is not writable." +msgstr "Место оставе „%s“ није уписиво." -#: tools/appstream-cli.c:869 -msgid "Create a XDG desktop-entry file from a metainfo file." +#: src/as-pool.c:2109 +msgid "" +"The AppStream system cache was updated, but some components were ignored. " +"Refer to the verbose log for more information." msgstr "" +"Остава система Програмског тока је освежена, али неке компоненте су " +"занемарене. Погледајте дневник исписа за више информација." -#: tools/appstream-cli.c:868 +#: src/as-pool.c:2111 +#, c-format msgid "" -"Create a template for a metainfo file (to be filled out by the upstream " -"project)." +"The AppStream system cache was updated, but problems were found which " +"resulted in metadata being ignored: %s" msgstr "" +"Остава система Програмског тока је освежена, али је било проблема што је " +"довело до занемаривања метаподатака: %s" -#: tools/ascli-actions-misc.c:228 +#: src/as-pool.c:2125 #, c-format -msgid "Creating new desktop-entry file '%s' using data from '%s'" +msgid "" +"AppStream system cache refresh failed. Turn on verbose mode to get detailed " +"issue information." msgstr "" +"Освежавање оставе система Програмског тока није успело. Пребаците на режим " +"опширности да набавите детаљније информације о проблему." -#: src/as-provided.c:160 -#, fuzzy -msgid "D-Bus Session Services" -msgstr "Д-Бус сервиси сесије" +#: src/as-provided.c:144 +msgid "Libraries" +msgstr "Библиотеке" -#: src/as-provided.c:158 -#, fuzzy -msgid "D-Bus System Services" -msgstr "Д-Бус системски сервиси" +#: src/as-provided.c:146 +msgid "Binaries" +msgstr "Извршне" -#: src/as-category.c:195 -msgctxt "Category of Office" -msgid "Database" -msgstr "Базе података" +#: src/as-provided.c:148 +msgid "Media types" +msgstr "Врсте медија" -#: src/as-category.c:86 -msgctxt "Category of Development" -msgid "Debuggers" -msgstr "Отклањање грешака" +#: src/as-provided.c:150 +msgid "Fonts" +msgstr "Врсте слова" -#: tools/ascli-utils.c:353 -msgid "Default Screenshot URL" -msgstr "УРЛ подразумеваног снимка екрана" +#: src/as-provided.c:152 +msgid "Modaliases" +msgstr "Модалијаси" -#. TRANSLATORS: ascli flag description for: --format -#: tools/appstream-cli.c:83 -msgid "Default metadata format (valid values are 'xml' and 'yaml')." -msgstr "" +#: src/as-provided.c:154 +msgid "Python (Version 2)" +msgstr "Питон (вер. 2)" -#: tools/ascli-utils.c:333 -msgid "Description" -msgstr "Опис" +#: src/as-provided.c:156 +msgid "Python 3" +msgstr "Питон 3" -#. developer name -#: tools/ascli-utils.c:321 -msgid "Developer" -msgstr "Програмер" +#: src/as-provided.c:158 +msgid "D-Bus System Services" +msgstr "Услуге система Д-сабирнице" -#. TRANSLATORS: this is the menu spec main category for Development -#: src/as-category.c:305 -msgid "Developer Tools" -msgstr "Програмерске алатке" +#: src/as-provided.c:160 +msgid "D-Bus Session Services" +msgstr "Д-Бус сервиси сесије" -#: tools/appstream-cli.c:862 -msgid "Display status information about available AppStream metadata." -msgstr "" +#: src/as-provided.c:162 +msgid "Runtime Firmware" +msgstr "Уграђени програм времена извршавања" -#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions -#: tools/ascli-actions-misc.c:52 -msgid "Distribution metadata:" -msgstr "" +#: src/as-provided.c:164 +msgid "Flashed Firmware" +msgstr "Испрани уграђени програм" -#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) -#: tools/appstream-cli.c:126 -msgid "Do not use network access." -msgstr "" +#: src/as-provided.c:166 +msgid "Component" +msgstr "Састојак" -#. TRANSLATORS: ascli flag description for: --no-color -#: tools/appstream-cli.c:908 -msgid "Don't show colored output." -msgstr "Не приказуј обојени излаз." +#: src/as-validator-issue-tag.h:41 +msgid "This tag requires a type property." +msgstr "Ова ознака захтева својство врсте." -#: tools/appstream-cli.c:853 -msgid "Dump raw XML metadata for a component matching the ID." -msgstr "Избацује сирове ИксМЛ метаподатке за компоненту одговарајућег ИД-а." +#: src/as-validator-issue-tag.h:46 +msgid "Tags of this name are not permitted in this section." +msgstr "Ознаке под овим називом нису дозвољене у овом одељку." -#. TRANSLATORS: this is the menu spec main category for Education -#: src/as-category.c:308 -msgid "Education" -msgstr "Образовање" +#: src/as-validator-issue-tag.h:51 +msgid "" +"A tag must not be localized in metainfo files (upstream " +"metadata). Localize the individual paragraphs instead." +msgstr "" +"Ознака „“ не сме бити локализована у датотекама " +"метаинформација (узводни метаподаци). Локализујте засебне пасусе." -#. TRANSLATORS: No metainfo files have been found -#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 -msgid "Empty." -msgstr "Празно." +#: src/as-validator-issue-tag.h:57 +msgid "" +"This element (paragraph, list, etc.) of a tag must not be " +"localized individually in collection metadata. Localize the whole " +" tag instead. The AppStream collection metadata generator (e." +"g. `appstream-generator`) will already do the right thing when compiling the " +"data." +msgstr "" +"Овај елемент (пасус, списак, итд.) ознаке „“ не сме бити " +"локализован појединачно у метаподацима збирке. Локализујте целу ознаку " +"„“ уместо тога. Стваралац метаподатака збирке Програмског тока " +"(нпр. „appstream-generator“) ће већ учинити праву ствар приликом превођења " +"података." -#: src/as-category.c:141 -msgctxt "Category of Games" -msgid "Emulators" -msgstr "Емулатори" +#: src/as-validator-issue-tag.h:63 +msgid "" +"AppStream descriptions support only a limited set of tags to format text: " +"Paragraphs (

                                                                                                                                                                                                                                                                                                                                                                            ) and lists (

                                                                                                                                                                                                                                                                                                                                                                              ,
                                                                                                                                                                                                                                                                                                                                                                                ). This description markup contains " +"an invalid XML tag that would not be rendered correctly in applications " +"supporting the metainfo specification." +msgstr "" +"Описи Програмског тока подржавају само ограничени скуп ознака за форматирање " +"текста: Пасусе (

                                                                                                                                                                                                                                                                                                                                                                                ) и спискове (

                                                                                                                                                                                                                                                                                                                                                                                  ,
                                                                                                                                                                                                                                                                                                                                                                                    ). Ова ознака описа садржи " +"неисправну ХМЛ ознаку која се не би приказивала исправно у апликацијама које " +"подржавају метаинфо спецификацију." -#. TRANSLATORS: ascli flag description for: --force -#: tools/appstream-cli.c:245 -msgid "Enforce a cache refresh." -msgstr "Приморава освежавање кеша." +#: src/as-validator-issue-tag.h:69 +msgid "" +"This description paragraph contains invalid markup. Currently, only " +"and are permitted." +msgstr "" +"Овај пасус описа садржи неисправно означавање. Тренутно су допуштена само " +"„“ и „“." #: src/as-validator-issue-tag.h:74 msgid "Enumerations must only have list items (
                                                                                                                                                                                                                                                                                                                                                                                  1. ) as children." -msgstr "" +msgstr "Набрајања морају имати само ставке списка (
                                                                                                                                                                                                                                                                                                                                                                                  2. ) као садржане." -#: tools/ascli-actions-misc.c:159 -#, c-format -msgid "Error while loading the metadata pool: %s" +#: src/as-validator-issue-tag.h:79 +msgid "" +"The first `description/p` paragraph of this component might be too short (< " +"80 characters). Please consider starting with a longer paragraph to improve " +"how the description looks like in software centers and to provide more " +"detailed information on this component immediately in the first paragraph." msgstr "" +"Први пасус „description/p“ ове компоненте може бити прекратак (< 80 " +"знакова). Размислите о томе да започнете са дужим пасусом да бисте побољшали " +"како опис изгледа у софтверским центрима и да бисте пружили детаљније " +"информације о овој компоненти одмах у првом пасусу." -#: tools/ascli-utils.c:327 -msgid "Extends" -msgstr "Проширује" - -#: src/as-category.c:65 -msgctxt "Category of AudioVideo" -msgid "Featured" -msgstr "Издвојено" - -#: src/as-category.c:256 -msgctxt "Category of Communication" -msgid "Featured" -msgstr "Издвојено" - -#: src/as-category.c:83 -msgctxt "Category of Development" -msgid "Featured" -msgstr "Издвојено" - -#: src/as-category.c:98 -msgctxt "Category of Education" -msgid "Featured" -msgstr "Издвојено" - -#: src/as-category.c:120 -msgctxt "Category of Games" -msgid "Featured" -msgstr "Издвојено" - -#: src/as-category.c:165 -msgctxt "Category of Graphics" -msgid "Featured" -msgstr "Издвојено" +#: src/as-validator-issue-tag.h:86 +msgid "" +"The description contains a web URL in plain text. This is not allowed, " +"please use the tag instead to share links." +msgstr "" +"Опис садржи веб адресу као обичан текст. То није допуштено, користите ознаку " +"„“ да бисте делили везе." -#: src/as-category.c:188 -msgctxt "Category of Office" -msgid "Featured" -msgstr "Издвојено" +#: src/as-validator-issue-tag.h:91 +msgid "" +"As per AppStream specification, the mentioned tag must only appear once in " +"this context. Having multiple tags of this kind is not valid." +msgstr "" +"За одредбу Програмског тока, поменута ознака мора да да се појави само " +"једном у овом контексту. Више ознака ове врсте није исправно." -#: src/as-category.c:231 -msgctxt "Category of Science" -msgid "Featured" -msgstr "Издвојено" +#: src/as-validator-issue-tag.h:96 +msgid "" +"The mentioned tag is empty, which is highly likely not intended as it should " +"have content." +msgstr "" +"Поменута ознака је празна, што највероватније није намеравано јер треба да " +"има садржај." -#: src/as-category.c:278 -msgctxt "Category of Utility" -msgid "Featured" -msgstr "Издвојено" +#: src/as-validator-issue-tag.h:101 +msgid "" +"The component ID is required to follow a reverse domain-name scheme for its " +"name. See the AppStream specification for details." +msgstr "" +"ИД компоненте је потребан да прати обрнуту шему домен-назив за његовим " +"називом. Погледајте одредбу Програмског тока за детаљима." -#: tools/ascli-actions-validate.c:171 tools/ascli-actions-validate.c:349 -#, fuzzy, c-format -msgid "File '%s' does not exist." -msgstr ".desktop фајл „%s“ не постоји." +#: src/as-validator-issue-tag.h:106 +msgid "" +"The component ID is not a reverse domain-name. Please update the ID to avoid " +"future issues and be compatible with all AppStream implementations.\n" +"You may also consider to update the name of the accompanying .desktop file " +"to follow the latest version of the Desktop-Entry specification and use a " +"rDNS name for it as well. In any case, do not forget to mention the new " +"desktop-entry in a tag for this component to keep the " +"application launchable from software centers and the .desktop file data " +"associated with the metainfo data." +msgstr "" +"ИБ компоненте није обрнути назив домена. Ажурирајте ИБ да избегнете будуће " +"проблеме и да будете сагласни са свим применама Програмског тока.\n" +"Такође можете узети у обзир ажурирање назива пратеће „.desktop“ датотеке " +"како би пратила најновије издање спецификације уноса радне површи и да за њу " +"такође користите рДНС назив. У сваком случају, не заборавите да поменете " +"нови унос радне површи у ознаци „“ за ову компоненту како би " +"програм могао да се покреће из софтверских центара и података „.desktop“ " +"датотеке придружених са метаинфо подацима." -#: src/as-category.c:287 -msgctxt "Category of Utility" -msgid "File System" -msgstr "Фајл систем" +#: src/as-validator-issue-tag.h:114 +msgid "" +"The component ID might not follow the reverse domain-name schema (the TLD " +"used by it is not known to the validator)." +msgstr "" +"ИБ компоненте не може да прати шему обрнутог назива додмена (ТЛД који " +"користи није познат потврђивачу)." -#: src/as-category.c:198 -msgctxt "Category of Office" -msgid "Finance" -msgstr "Финансије" +#: src/as-validator-issue-tag.h:119 +msgid "" +"The component ID contains an invalid character. Only ASCII characters, dots " +"and numbers are permitted." +msgstr "" +"ИБ компоненте садржи неисправан знак. Допуштени су само АСКРИ знакови, тачке " +"и бројеви." -#: src/as-provided.c:164 -msgid "Flashed Firmware" -msgstr "Флешовани фирмвер" +#: src/as-validator-issue-tag.h:124 +msgid "" +"The component ID contains a hyphen/minus. Using a hyphen is strongly " +"discouraged, to improve interoperability with other tools such as D-Bus. A " +"good option is to replace any hyphens with underscores (`_`)." +msgstr "" +"ИБ компоненте садржи цртицу/минус. Коришћење цртице се строго не препоручује " +"да би се побољшала међудејственост са другим алатима као што је Д-сабирница. " +"Добра опција је да замените све цртице доњим цртама „_“." -#: src/as-provided.c:150 -msgid "Fonts" -msgstr "Фонтови" +#: src/as-validator-issue-tag.h:130 +msgid "" +"The component ID contains a segment starting with a number. Starting a " +"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " +"interoperability with other tools such as D-Bus. Ideally, prefix these " +"segments with an underscore." +msgstr "" +"ИБ компоненте садржи сегмент који почиње бројем. Покретање сегмента ИБ-а " +"обрнутог ДНС-а бројем се строго не препоручује да би се задржала " +"међудејственост са другим алатима као што је Д-сабирница. Идеално би било да " +"ове сегменте префиксирате подвлаком." -#: src/as-category.c:211 -msgctxt "Category of Addons" -msgid "Fonts" -msgstr "Фонтови" +#: src/as-validator-issue-tag.h:136 +msgid "The component ID should only contain lowercase letters." +msgstr "ИБ компоненте треба да садржи само мала слова." -#: src/as-validator-issue-tag.h:237 +#: src/as-validator-issue-tag.h:141 msgid "" -"For videos, only the WebM and Matroska (.mkv) container formats are " -"currently supported. The file extension of the referenced video does not " -"belong to either of these formats." +"The component is part of the Freedesktop project, but its ID does not start " +"with fd.o's reverse-DNS name (\"org.freedesktop\")." msgstr "" +"Компонента је део „Freedesktop“ пројекта, али њен ИБ не почиње обрнутим ДНС " +"називом „fd.o“-а („org.freedesktop“)." -#. TRANSLATORS: ascli flag description for: --format when validating XML files -#: tools/appstream-cli.c:131 -msgid "Format of the generated report (valid values are 'text' and 'yaml')." +#: src/as-validator-issue-tag.h:146 +msgid "" +"The component is part of the KDE project, but its ID does not start with " +"KDEs reverse-DNS name (\"org.kde\")." msgstr "" +"Компонента је део КДЕ пројекта, али њен ИБ не почиње обрнутим ДНС називом " +"КДЕ-а („org.kde“)." -#. TRANSLATORS: Found metainfo files in legacy directories -#: tools/ascli-actions-misc.c:138 -#, c-format -msgid "Found %i components in legacy paths." +#: src/as-validator-issue-tag.h:151 +msgid "" +"The component is part of the GNOME project, but its ID does not start with " +"GNOMEs reverse-DNS name (\"org.gnome\")." msgstr "" +"Компонента је део Гномовог пројекта, али њен ИБ не почиње обрнутим ДНС " +"називом Гнома („org.gnome“)." -#: tools/ascli-actions-misc.c:123 -#, c-format -msgid "Found %i components." -msgstr "Нађено компоненти: %i." +#: src/as-validator-issue-tag.h:156 +msgid "The SPDX license expression is invalid and could not be parsed." +msgstr "Израз СПДХ дозволе је неисправан и не може се обрадити." -#. TRANSLATORS: 'version' is an AppStream XML property. Please do not translate it. -#: src/as-validator-issue-tag.h:260 +#: src/as-validator-issue-tag.h:161 msgid "" -"Found 'version' property on required/recommended item of a type that should " -"not have or require a version." +"The license ID was not found in the SPDX database. Please check that the " +"license ID is written in an SPDX-conformant way and is a valid free software " +"license." msgstr "" +"Нисам нашао ИБ дозволе у СПДХ бази података. Проверите да ли је ИБ дозволе " +"записан на СПДХ прикладан начин и да ли је исправна дозвола слободног " +"софтвера." -#. TRANSLATORS: 'version' and 'compare' are AppStream XML properties. Please do not translate them. -#: src/as-validator-issue-tag.h:266 +#: src/as-validator-issue-tag.h:167 msgid "" -"Found 'version' property on this required/recommended item, but not " -"'compare' property. It is recommended to explicitly define a comparison " -"operation." +"The metadata itself seems to be licensed under a complex collection of " +"licenses. Please license the data under a simple permissive license, like " +"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " +"collections without the risk of license violations due to mutually " +"incompatible licenses." msgstr "" +"Чини се да су сами метаподаци лиценцирани под сложеном збирком дозвола. " +"Лиценцирајте податке под једноставном допустивом дозволом, као што је ФСФАП, " +"МИТ или ЦЦ0-1.0, како бисте дистрибутерима омогућили да их укључе у мешовите " +"збирке података без ризика од кршења лиценци због међусобно несагласних " +"дозвола." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:277 +#: src/as-validator-issue-tag.h:173 msgid "" -"Found a memory size dependency in a 'requires' tag. This means users will " -"not be able to even install the component without having enough RAM. This is " -"usually not intended and you want to use 'memory' in the 'recommends' tag " -"instead." +"The metadata itself does not seem to be licensed under a permissive license. " +"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " +"0BSD to allow distributors to include it in mixed data collections without " +"the risk of license violations due to mutually incompatible licenses." msgstr "" +"Чини се да сами метаподаци нису лиценцирани под допустивом дозвола. " +"Лиценцирајте податке под допустивом дозволом, као што је ФСФАП, ЦЦ0-1.0 или " +"0БСД, како бисте дистрибутерима омогућили да их укључе у мешовите збирке " +"података без ризика од кршења лиценци због међусобно несагласних дозвола." -#: src/as-validator-issue-tag.h:248 +#: src/as-validator-issue-tag.h:179 msgid "" -"Found an unknown tag in a requires/recommends group. This is likely an " -"error, because a component relation of this type is unknown." +"The update-contact does not appear to be a valid email address (escaping of " +"`@` is only allowed as `_at_` or `_AT_`)." msgstr "" +"Контакт ажурирања не изгледа да је исправна адреса е-поште (замена за „@“ је " +"допуштена само као „_at_“ или „_AT_“)." -#: src/as-validator-issue-tag.h:427 +#: src/as-validator-issue-tag.h:184 msgid "" -"Found invalid tag. Non-standard tags should be prefixed with 'x-'. AppStream " -"also provides the tag to add arbitrary custom data to metainfo " -"files. This tag is read by AppStream libraries and may be useful instead of " -"defining new custom toplevel or 'x-'-prefixed tags if you just want to add " -"custom data to a metainfo file." +"Unable to reach the screenshot image on its remote location - does the image " +"exist?" msgstr "" +"Не могу да нађем слику снимка екрана на њеном удаљеном месту – да ли слика " +"постоји?" -#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. -#: src/as-validator.c:526 src/as-validator.c:939 src/as-validator.c:1024 -#: src/as-validator.c:1237 -#, c-format -msgid "Found: %s - Allowed: %s" +#: src/as-validator-issue-tag.h:189 +msgid "" +"Unable to reach the screenshot video on its remote location - does the video " +"file exist?" msgstr "" +"Не могу да нађем видео снимак екрана на његовом удаљеном месту – да ли видео " +"постоји?" -#. TRANSLATORS: this is the menu spec main category for Game -#: src/as-category.c:311 -msgid "Games" -msgstr "Игре" - -#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command -#: tools/appstream-cli.c:814 -msgid "Generate the output in the selected format ('yaml' or 'text')." +#: src/as-validator-issue-tag.h:194 +msgid "" +"Consider using a secure (HTTPS) URL to reference this screenshot image or " +"video." msgstr "" +"Размотрите коришћење безбедне (HTTPS) адресе да упутите слику или видео овог " +"снимка екрана." -#: tools/appstream-cli.c:849 -msgid "Get components which provide the given item." -msgstr "Добавља компоненте који омогућавају дату ставку." - -#: tools/appstream-cli.c:848 -msgid "Get information about a component by its ID." -msgstr "Добавља податке о компоненти према ИД-у." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:200 +msgid "" +"A screenshot must contain at least one image or video in order to be useful. " +"Please add an to it." +msgstr "" +"Снимак екрана мора да садржи барем једну слику или снимак да би био " +"користан. Додајте му „“." -#. TRANSLATORS: this is the menu spec main category for Graphics -#: src/as-category.c:314 -msgid "Graphics & Photography" -msgstr "Графика и фотографија" +#: src/as-validator-issue-tag.h:205 +msgid "" +"A screenshot must contain either images or videos, but not both at the same " +"time. Please use this screenshot exclusively for either static images or for " +"videos." +msgstr "" +"Снимак екрана мора да садржи или слике или видео записе, али не обоје " +"истовремено. Користите овај снимак екрана искључиво за статичне слике или за " +"видео записе." -#: tools/ascli-utils.c:300 -msgid "Homepage" -msgstr "Матична страница" +#: src/as-validator-issue-tag.h:211 +msgid "The screenshot does not have a caption text. Consider adding one." +msgstr "Снимак екрана нема текст описа. Размислите о додавању истог." -#: src/as-category.c:89 -msgctxt "Category of Development" -msgid "IDEs" -msgstr "Развојна окружења" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:217 +msgid "" +"The screenshot video does not specify which video codec was used in a " +"`codec` property." +msgstr "" +"Видео запис нимак екрана не наводи који видео кодек је коришћен у својству " +"„codec“." -#: tools/ascli-utils.c:301 -msgid "Icon" -msgstr "Икона" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:223 +msgid "" +"The screenshot video does not specify which container format was used in a " +"`container` property." +msgstr "" +"Видео запис нимак екрана не наводи који формат контејнера је коришћен у " +"својству „container“." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:351 -msgid "Icons of type 'remote' must contain an URL to the referenced icon." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:229 +msgid "" +"The selected video codec is not supported by AppStream and software centers " +"may not be able to play the video. Only the AV1 and VP9 codecs are currently " +"supported, using `av1` and `vp9` as values for the `codec` property." msgstr "" +"Програмски ток не подржава изабрани видео кодек и софтверски центри неће " +"бити у могућности да пуштају видео запис. Само АВ1 и ВП9 кодеци су тренутно " +"подржани, користећи „av1“ и „vp9“ као вредности за својство „codec“." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:344 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:236 msgid "" -"Icons of type 'stock' or 'cached' must not contain an URL, a full or an " -"relative path to the icon. Only file basenames or stock names are allowed." +"The selected video container format is not supported by AppStream and " +"software centers may not be able to play the video. Only the WebM and " +"Matroska video containers are currently supported, using `webm` and `mkv` as " +"values for the `container` property." msgstr "" +"Програмски ток не подржава изабрани видео контејнер и софтверски центри неће " +"бити у могућности да пуштају видео запис. Само ВебМ и Матроска видео " +"контејнери су тренутно подржани, користећи „webm“ и „mkv“ као вредности за " +"својство „container“." -#: tools/ascli-actions-misc.c:94 -msgid "Iconsets" -msgstr "Комплети икона" +#: src/as-validator-issue-tag.h:242 +msgid "" +"For videos, only the WebM and Matroska (.mkv) container formats are " +"currently supported. The file extension of the referenced video does not " +"belong to either of these formats." +msgstr "" +"За видео записе, само ВебМ и Матроска (.mkv) формати контејнера су тренутно " +"подржани. Проширење датотеке упутног видео записа не припада ни једном од " +"ових формата." -#: tools/ascli-utils.c:295 -msgid "Identifier" -msgstr "Идентификатор" +#: src/as-validator-issue-tag.h:248 +msgid "" +"The default screenshot of a software component must not be a video. Use a " +"static image as default screenshot and set the video as a secondary " +"screenshot." +msgstr "" +"Основни снимак екрана софтверске компоненте не сме бити видео запис. " +"Користите статичку слику као основни снимак екрана и поставите видео запис " +"као други снимак екрана." -#: src/as-category.c:217 -msgctxt "Category of Addons" -msgid "Input Sources" -msgstr "Улазни извори" +#: src/as-validator-issue-tag.h:253 +msgid "" +"Found an unknown tag in a requires/recommends group. This is likely an " +"error, because a component relation of this type is unknown." +msgstr "" +"Нађох непознату ознаку у групи захтева/препоручује. Ово је вероватно грешка, " +"јер је однос компоненте ове врсте непознат." -#: tools/appstream-cli.c:863 -msgid "Install a metadata file into the right location." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:259 +msgid "" +"A `requires` or `recommends` item requires a value to denote a valid " +"relation." msgstr "" +"Ставка „requires“ или „recommends“ захтева вредност да означи исправан однос." -#: tools/appstream-cli.c:859 -#, fuzzy -msgid "Install software matching the component-ID." -msgstr "Инсталира софтвер који одговара ИД-у компоненте." +#. TRANSLATORS: `version` is an AppStream XML property. Please do not translate it. +#: src/as-validator-issue-tag.h:265 +msgid "" +"Found `version` property on required/recommended item of a type that should " +"not have or require a version." +msgstr "" +"Нађох својство „version“ у ставци захтевано/препоручено врсте која не треба " +"да има или захтева издање." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:373 +#. TRANSLATORS: `version` and `compare` are AppStream XML properties. Please do not translate them. +#: src/as-validator-issue-tag.h:271 msgid "" -"Invalid 'type' property for this 'url' tag. URLs of this type are not known " -"in the AppStream specification." +"Found `version` property on this required/recommended item, but not " +"`compare` property. It is recommended to explicitly define a comparison " +"operation." msgstr "" +"Нађох својство „version“ за ову захтевану/препоручену ставку, али не и " +"својство „compare“. Препоручује се да изричито дефинишете радњу поређења." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:553 +#: src/as-validator-issue-tag.h:276 msgid "" -"Invalid tag found in collection metadata. Only 'component' tags are " +"Invalid comparison operation on relation item. Only eq/ne/lt/gt/le/ge are " "permitted." msgstr "" +"Неисправна радња поређења над ставком односа. Само „eq/ne/lt/gt/le/ge“ је " +"дозвољено." -#: tools/ascli-actions-mdata.c:213 -msgid "Invalid type for provided item selected. Valid values are:" -msgstr "Изабран је неисправан тип за достављену ставку. Исправне вредности су:" +#: src/as-validator-issue-tag.h:281 +msgid "" +"The relation item has a comparison operation set, but does not support any " +"comparisons." +msgstr "" +"Ставка односа има постављену радњу поређења, али не подржава никакво " +"поређење." -#: src/as-validator-issue-tag.h:271 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:287 msgid "" -"Invalid version comparison operation on relation item. Only eq/ne/lt/gt/le/" -"ge are permitted." +"Found a memory size relation in a `requires` tag. This means users will not " +"be able to even install the component without having enough RAM. This is " +"usually not intended and you want to use `memory` in the `recommends` tag " +"instead." msgstr "" +"Нађох однос величине меморије у ознаци „requires“. То значи да корисници " +"неће моћи ни да инсталирају компоненту, а да немају довољно меморије. То " +"обично није намеравано и уместо тога треба да користите „memory“ у ознаци " +"„recommends“." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:294 +msgid "" +"Found a user input control relation in a `requires` tag. This means users " +"will not be able to even install the component without having the defined " +"input control available on the system. This is usually not intended and you " +"want to use `control` in the `recommends` tag instead." +msgstr "" +"Нађох однос контроле уноса корисника у ознаци „requires“. То значи да " +"корисници неће моћи ни да инсталирају компоненту, а да нису дефинисали " +"контролу уноса доступну на систему. То обично није намеравано и уместо тога " +"треба да користите „control“ у ознаци „recommends“." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:301 +msgid "" +"This `control` item defines an unknown input method and is invalid. Check " +"the specification for a list of permitted values." +msgstr "" +"Ова ставка „control“ дефинише непознату методу уноса и неисправна је. " +"Проверите у одредби списак дозвољених вредности." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:307 +msgid "" +"This `display_length` item contains an invalid display length. Its value " +"must either be a shorthand string, or positive integer value denoting " +"logical pixels. Please refer to the AppStream specification for more " +"information on this tag." +msgstr "" +"Ова ставка „display_length“ садржи неисправну дужину приказа. Њена вредност " +"мора бити или скраћеница или позитивна целобројна вредност која означава " +"логичке пикселе. За више информација о овој ознаци погледајте одредбу " +"Програмског тока." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:314 +msgid "" +"This `side` property of this `display_length` item contains an invalid " +"value. It must either be `shortest` or `longest`, or unset to imply " +"`shortest` to make the item value refer to either the shortest or longest " +"side of the display." +msgstr "" +"Ово својство „side“ ове ставке „display_length“ садржи неисправну вредност. " +"Мора бити или „shortest“ или „longest“, или поништите поставку да примените " +"„shortest“ да учините да вредност ставке упућује или на најкраћу или на " +"најдужу страну екрана." -#: src/as-validator-issue-tag.h:450 +#: src/as-validator-issue-tag.h:320 msgid "" -"It is recommended to add a long description to this component to present it " -"better to users." +"The set component type is not a recognized, valid AppStream component type." msgstr "" +"Врста компоненте скупа није позната, исправна врста компоненте Програмског " +"тока." -#: src/as-validator-issue-tag.h:445 +#: src/as-validator-issue-tag.h:325 msgid "" -"It would be useful to add a long description to this font to present it " -"better to users." +"The component has a priority value set. This is not allowed in metainfo " +"files." msgstr "" +"Вредност хитности компоненте је постављена. Ово није дозвољено у мета-инфо " +"датотекама." -#: src/as-category.c:144 -msgctxt "Category of Games" -msgid "Kids" -msgstr "Дечије" +#: src/as-validator-issue-tag.h:330 +msgid "" +"The component has a `merge` method defined. This is not allowed in metainfo " +"files." +msgstr "" +"Компонента има дефинисану методу „merge“. Ово није дозвољено у мета-инфо " +"датотекама." -#: src/as-category.c:220 -msgctxt "Category of Addons" -msgid "Language Packs" -msgstr "Језички пакети" +#: src/as-validator-issue-tag.h:335 +msgid "The component is missing an ID ( tag)." +msgstr "Компоненти недостаје ИБ (ознака )." -#: src/as-category.c:107 -msgctxt "Category of Education" -msgid "Languages" -msgstr "Језици" +#: src/as-validator-issue-tag.h:340 +msgid "The component is missing a name ( tag)." +msgstr "Компоненти недостаје назив (ознака )." -#: src/as-provided.c:144 -msgid "Libraries" -msgstr "Библиотеке" +#: src/as-validator-issue-tag.h:345 +msgid "The component is missing a summary ( tag)." +msgstr "Компоненти недостаје сажетак (ознака )." -#. license -#: tools/ascli-utils.c:363 -msgid "License" -msgstr "Лиценца" +#: src/as-validator-issue-tag.h:350 +msgid "" +"The tag still contains a `type` property, probably from an old " +"conversion to the recent metainfo format." +msgstr "" +"Ознака још увек садржи својство „type“, вероватно из старог претварања " +"у скорашњи формат метаподатака." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:629 +#: src/as-validator-issue-tag.h:355 msgid "" -"Licenses for 'runtime' components are usually too complex to reflect them in " -"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " -"value for this component's 'project_license'. E.g. `LicenseRef-free=https://" -"example.com/licenses.html`" +"The `pkgname` tag appears multiple times. You should evaluate creating a " +"metapackage containing the metainfo and .desktop files in order to avoid " +"defining multiple package names per component." msgstr "" +"Ознака „pkgname“ се јавља више пута. Треба да процените стварање метапакета " +"који садржи метаподатаке и „.desktop“ датотеке да би избегли дефинисање више " +"назива пакета по компоненти." + +#: src/as-validator-issue-tag.h:360 +msgid "The component name should (likely) not end with a dot (`.`)." +msgstr "Назив компоненте не треба (вероватно) да се завршава тачком (.)." + +#: src/as-validator-issue-tag.h:365 +msgid "The component summary should not end with a dot (`.`)." +msgstr "Сажетак компоненте не треба да се завршава тачком (.)." -#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command -#: tools/appstream-cli.c:771 +#: src/as-validator-issue-tag.h:370 +msgid "The component summary must not contain tabs or linebreaks." +msgstr "Сажетак компоненте не сме да садржи табулаторе или прекиде реда." + +#: src/as-validator-issue-tag.h:375 +msgid "The summary must not contain any URL. Use the tags for links." +msgstr "" +"Сажетак не сме да садржи никакву адресу. Користите ознаку за везе." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:381 msgid "" -"Limit the number of release entries that end up in the metainfo file (0 for " -"unlimited)." +"Icons of type `stock` or `cached` must not contain an URL, a full or an " +"relative path to the icon. Only file basenames or stock names are allowed." msgstr "" +"Иконице врсте „stock“ или „cached“ не смеју да садрже адресу, пуну или " +"релативну путању до иконице. Само називи основе датотеке или називи залиха " +"су дозвољени." -#: src/as-category.c:223 -msgctxt "Category of Addons" -msgid "Localization" -msgstr "Локализације" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:388 +msgid "Icons of type `remote` must contain an URL to the referenced icon." +msgstr "Иконице врсте „remote“ морају да садрже адресу до упутне иконице." -#: src/as-category.c:147 -msgctxt "Category of Games" -msgid "Logic" -msgstr "Логичке" +#: src/as-validator-issue-tag.h:393 +msgid "Unable to reach remote icon at the given web location - does it exist?" +msgstr "" +"Не могу да доступим удаљеној иконици на датом веб месту – да ли постоји?" -#. TRANSLATORS: ascli flag description for: --no-cache -#: tools/appstream-cli.c:67 -msgid "Make request without any caching." +#: src/as-validator-issue-tag.h:398 +msgid "Consider using a secure (HTTPS) URL for the remote icon link." +msgstr "Размотрите коришћење безбедне (HTTPS) адресе за удаљене везе иконице." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:404 +msgid "" +"Metainfo files may only contain icons of type `stock` or `remote`, the set " +"type is not allowed." msgstr "" +"Датотеке метаподатака могу да садрже само иконице врсте „stock“ или " +"„remote“, врста скупа није дозвољена." -#. TRANSLATORS: ascli flag description for: --cachepath -#: tools/appstream-cli.c:57 -#, fuzzy -msgid "Manually selected location of AppStream cache." -msgstr "Ручно поставља место кеша Програмског тока." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:410 +msgid "" +"Invalid `type` property for this `url` tag. URLs of this type are not known " +"in the AppStream specification." +msgstr "" +"Неисправно својство „type“ за ову ознку „url“. Адресе ове врсте нису познате " +"у одредби Програмског тока." -#. TRANSLATORS: ascli flag description for: --datapath -#: tools/appstream-cli.c:62 -#, fuzzy -msgid "Manually selected location of AppStream metadata to scan." -msgstr "Ручно поставља локацију метаподатака Програмског тока за обраду." +#: src/as-validator-issue-tag.h:415 +msgid "" +"Unable to reach remote location that this URL references - does it exist?" +msgstr "" +"Не могу да доступим удаљеном мместу на које упућује ова адреса – да ли " +"постоји?" + +#: src/as-validator-issue-tag.h:420 +msgid "Consider using a secure (HTTPS) URL for this web link." +msgstr "Размотрите коришћење безбедне (HTTPS) адресе за ову веб везу." + +#: src/as-validator-issue-tag.h:425 +msgid "A web URL was expected for this value." +msgstr "Веб адреса је очекивана за ову вредност." + +#: src/as-validator-issue-tag.h:430 +msgid "" +"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." +msgstr "Ова веб веза користи ФТП протокол. Размотрите пребацивање на ХТТП(С)." + +#: src/as-validator-issue-tag.h:435 +msgid "The can not contain a hyperlink." +msgstr "„“ не може да ссадржи хипервезу." -#: src/as-pool.c:1280 +#: src/as-validator-issue-tag.h:440 msgid "" -"Many components have been recognized as invalid. See debug output for " -"details." +"The set value is not an identifier for a desktop environment as registered " +"with Freedesktop.org." msgstr "" +"Вредност скупа није одредник за окружење радне површи као што је записано са " +"„Freedesktop.org“-ом." -#: src/as-category.c:111 -msgctxt "Category of Education" -msgid "Math" -msgstr "Математика" - -#: src/as-category.c:243 -msgctxt "Category of Science" -msgid "Math" -msgstr "Математика" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:446 +msgid "This `launchable` tag has an unknown type and can not be used." +msgstr "Ова ознака „launchable“ има непознату врсту и не може се користити." -#: src/as-provided.c:148 -#, fuzzy -msgid "Media types" -msgstr "Миме-типови" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:452 +msgid "This `bundle` tag has an unknown type and can not be used." +msgstr "Ова ознака „bundle“ има непознату врсту и не може се користити." -#: tools/ascli-actions-mdata.c:364 -#, c-format -msgid "Metadata file '%s' does not exist." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:458 +msgid "" +"The `update_contact` tag should not be included in collection AppStream XML." msgstr "" +"Ознака „update_contact“ не треба да се укључи у збирку ХМЛ Програмског тока." -#: src/as-pool.c:881 -msgid "Metadata files have errors:" +#: src/as-validator-issue-tag.h:463 +msgid "" +"This tag is a GNOME-specific extension to AppStream and not part of the " +"official specification. Do not expect it to work in all implementations and " +"in all software centers." msgstr "" +"Ова ознака је Гномово посебно проширење за Програмски ток и није део " +"званичне одредбе. Не очекујте да ради у свим применама и у свим софтеврским " +"центрима." -#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 -#: tools/ascli-actions-misc.c:515 -#, fuzzy, c-format -msgid "Metainfo file '%s' does not exist." -msgstr ".desktop фајл „%s“ не постоји." - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:367 +#: src/as-validator-issue-tag.h:469 msgid "" -"Metainfo files may only contain icons of type 'stock' or 'remote', the set " -"type is not allowed." +"Found invalid tag. Non-standard tags should be prefixed with `x-`. AppStream " +"also provides the tag to add arbitrary custom data to metainfo " +"files. This tag is read by AppStream libraries and may be useful instead of " +"defining new custom toplevel or `x-`-prefixed tags if you just want to add " +"custom data to a metainfo file." msgstr "" +"Нађох неисправну ознаку. Нестандардне ознаке треба да имају префикс „x-“. " +"Програмски ток такође обезбеђује ознаку „“ за додавање изборних " +"произвољних података у датотеке метаподатака. Ову ознаку читају библиотеке " +"Програмског тока и може бити корисна уместо дефинисања новог произвољног " +"највишег нивоа или ознака са „x-“ префиксом ако само желите да додате " +"произвољне податке у датотеку метаподатака." -#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report -#: tools/ascli-actions-misc.c:116 -msgid "Metainfo files:" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:477 +msgid "" +"The essential tag `metadata_license` is missing. A license for the metadata " +"itself always has to be defined." msgstr "" +"Основна ознака „metadata_license“ недостаје. Дозвола за метаподатке увек " +"мора бити дефинисана." -#: src/as-provided.c:152 -msgid "Modaliases" -msgstr "Модалијаси" - -#: src/as-category.c:74 -msgctxt "Category of AudioVideo" -msgid "Music Players" -msgstr "Музички плејери" - -#: tools/ascli-utils.c:296 -msgid "Name" -msgstr "Назив" - -#: src/as-category.c:266 -msgctxt "Category of Communication" -msgid "News" -msgstr "Вести" +#: src/as-validator-issue-tag.h:482 +msgid "" +"The component is missing a long description. Components of this type must " +"have a long description." +msgstr "" +"Недостаје дуг опис компоненте. Компоненте ове врсте морају имати дуг опис." -#: src/as-validator-issue-tag.h:589 -msgid "No AppStream metadata was found in this directory or directory tree." +#: src/as-validator-issue-tag.h:487 +msgid "" +"It would be useful to add a long description to this font to present it " +"better to users." msgstr "" +"Било би корисно додати дуг опис овој врсти слова ради бољег представљања " +"корисницима." -#. pedantic because not everything which has metadata is an application -#: src/as-validator-issue-tag.h:594 -msgid "No XDG applications directory found." +#: src/as-validator-issue-tag.h:492 +msgid "" +"It is recommended to add a long description to this component to present it " +"better to users." msgstr "" +"Препоручује се додавање дугог описа овој компоненти ради бољег представљања " +"корисницима." -#: tools/ascli-actions-mdata.c:182 -#, c-format -msgid "No component matching '%s' found." -msgstr "Нисам нашао компоненту која се поклапа са „%s“." +#: src/as-validator-issue-tag.h:497 +msgid "" +"This generic component is missing a long description. It may be useful to " +"add one." +msgstr "" +"Овој општој компоненти недостаје дуг опис. Може бити корисно додавање једног." -#: tools/ascli-actions-misc.c:105 -msgid "No icons." -msgstr "Нема икона." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:503 +msgid "" +"Type `console-application` component, but no information about binaries in " +"$PATH was provided via a `provides/binary` tag." +msgstr "" +"Врста „console-application“ компоненте, али никакве информације о извршним у " +"„$PATH“ нису достављене путем ознаке „provides/binary“." -#: tools/ascli-actions-misc.c:402 -msgid "No output filename specified, modifying metainfo file directly." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:509 +msgid "" +"This `web-application` component is missing a `launchable` tag of type `url`." msgstr "" +"Овој „web-application“ компоненти недостаје ознака „launchable“ врсте „url“." -#: tools/ascli-actions-misc.c:306 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:515 msgid "" -"No provided binary specified in metainfo file, and no exec command specified " -"via '--exec'. Can not create 'Exec=' key." +"This `web-application` component is missing a `icon` tag to specify a valid " +"icon." msgstr "" +"Овој „web-application“ компоненти недостаје ознака „icon“за навођење " +"исправне иконице." -#: tools/ascli-actions-misc.c:284 -msgid "No stock icon name was provided in the metainfo file. Can not continue." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:521 +msgid "" +"This `web-application` component is missing categorizations. A `categories` " +"block is likely missing." msgstr "" +"Овој „web-application“ компоненти недостаје категорзација. Блок „categories“ " +"највероватније недостаје." -#: tools/ascli-actions-pkgmgr.c:53 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:527 msgid "" -"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" -"\" (part of PackageKit) is available." +"Type `font` component, but no font information was provided via a `provides/" +"font` tag." msgstr "" -"Нема одговарајућег менаџера пакета из командне линије. Проверите да је нпр. " -"„pkcon“ доступан (део „PackageKit“)." +"Врста „font“ компоненте, али нису достављене информације о врсти слова путем " +"„provides/font“ ознаке." -#: tools/ascli-actions-mdata.c:206 -#, fuzzy -msgid "No value for the item to search for was defined." -msgstr "Нема вредности ставке за тражење дефинисаног." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:533 +msgid "" +"Type `driver` component, but no modalias information was provided via a " +"`provides/modalias` tag." +msgstr "" +"Врста „driver“ компоненте, али нису достављене информације о врсти слова " +"путем „provides/modalias“ ознаке." -#. TRANSLATORS: this is the menu spec main category for Office -#: src/as-category.c:317 -msgid "Office" -msgstr "Канцеларија" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:539 +msgid "" +"An `extends` tag is specified, but the component is not of type `addon`, " +"`localization` or `repository`." +msgstr "" +"Наведена је ознака „extends“, али компонента није врсте „addon“, " +"„localization“ или „repository“." -#. TRANSLATORS: An unknown option was passed to appstreamcli. -#: tools/appstream-cli.c:192 -#, c-format -msgid "Option '%s' is unknown." -msgstr "Опција „%s“ није позната." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:545 +msgid "The component is an addon, but no `extends` tag was specified." +msgstr "Компонента је додатак, али није наведена никаква ознака „extends“." -#: tools/ascli-utils.c:298 -msgid "Package" -msgstr "Пакет" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:551 +msgid "" +"This `localization` component is missing an `extends` tag, to specify the " +"components it adds localization to." +msgstr "" +"Овој „localization“ компоненти недостаје ознака „extends“, за навођење " +"компоненте додаје јој локализацију." -#: src/as-category.c:171 -msgctxt "Category of Graphics" -msgid "Photography" -msgstr "Фотографија" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:557 +msgid "" +"This `localization` component does not define any languages this " +"localization is for." +msgstr "" +"Ова „localization“ компонента не дефинише ниједан језикза који је ова " +"локализација." -#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) -#: tools/appstream-cli.c:121 -#, fuzzy -msgid "Print detailed explanation for found issues." -msgstr "Исписује опширни излаз о нађеним компонентама." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:563 +msgid "" +"This `service` component is missing a `launchable` tag of type `service`." +msgstr "" +"Овој „service“ компоненти недостаје ознака „launchable“ врсте „service“." -#. TRANSLATORS: ascli flag description for: --details -#: tools/appstream-cli.c:98 -msgid "Print detailed output about found components." -msgstr "Исписује опширни излаз о нађеним компонентама." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:569 +msgid "" +"Suggestions of any type other than `upstream` are not allowed in metainfo " +"files." +msgstr "" +"Предлози неке врсте осим „upstream“ нису дозвољени у датотекама метаподатака." -#. project group -#: tools/ascli-utils.c:360 -msgid "Project Group" -msgstr "Група пројекта" +#: src/as-validator-issue-tag.h:574 +msgid "" +"The category name is not valid. Refer to the XDG Menu Specification for a " +"list of valid category names." +msgstr "" +"Назив категорије није исправан. Погледајте у одредби ХДГ изборника списак " +"исправних назива категорије." -#: tools/ascli-utils.c:405 -msgid "Provided Items" -msgstr "Омогућене ставке" +#: src/as-validator-issue-tag.h:579 +msgid "The screenshot caption is too long (should be <= 80 characters)" +msgstr "Натпис снимка екрана је предуг (треба бити <= 80 знакова)" -#: src/as-provided.c:154 -msgid "Python (Version 2)" -msgstr "Питон (вер. 2)" +#: src/as-validator-issue-tag.h:584 +msgid "Unable to read file." +msgstr "Не могу да прочитам датотеку." -#: src/as-provided.c:156 -msgid "Python 3" -msgstr "Питон 3" +#: src/as-validator-issue-tag.h:589 +msgid "The XML of this file is malformed." +msgstr "ХМЛ ове датотеке је лош." -#: tools/appstream-cli.c:854 -msgid "Rebuild the component metadata cache." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:595 +msgid "" +"Invalid tag found in collection metadata. Only `component` tags are " +"permitted." msgstr "" +"Нађох неисправну ознаку у метаподацима збирк. Допуштене су само „component“ " +"ознаке." -#: tools/appstream-cli.c:860 -#, fuzzy -msgid "Remove software matching the component-ID." -msgstr "Инсталира софтвер који одговара ИД-у компоненте." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:601 +msgid "" +"The metainfo file uses an ancient version of the AppStream specification, " +"which can not be validated. Please migrate it to version 0.6 (or higher)." +msgstr "" +"Датотеке метаподатака користе старије издање одредбе Програмског тока, које " +"не може бити потврђено. Пребаците га на издање 0.6 (или новије)." -#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty -#: src/as-validator.c:364 -msgid "Retrieved file size was zero." +#: src/as-validator-issue-tag.h:606 +msgid "" +"This XML document has an unknown root tag. Maybe this file is not a metainfo " +"document?" msgstr "" +"ХМЛ документ има непознату ознаку корена. Можда ова датотека није документ " +"метаподатака?" -#: src/as-category.c:248 -msgctxt "Category of Science" -msgid "Robotics" -msgstr "Роботика" +#: src/as-validator-issue-tag.h:611 +msgid "The metainfo filename does not match the component ID." +msgstr "Назив датотеке метаподатака не одговара ИБ-у компоненте." -#: src/as-category.c:150 -msgctxt "Category of Games" -msgid "Role Playing" -msgstr "Играње улоге" +#: src/as-validator-issue-tag.h:616 +msgid "Unable to read the .desktop file associated with this component." +msgstr "Не могу да прочитам „.desktop“ датотеку придружену овој компоненти." -#: tools/appstream-cli.c:196 tools/appstream-cli.c:926 -#, c-format -msgid "Run '%s --help' to see a full list of available command line options." -msgstr "" -"Покрените „%s --help“ да видите списак доступних опција командне линије." +#: src/as-validator-issue-tag.h:621 +msgid "This component metadata refers to a non-existing .desktop file." +msgstr "Ови метаподаци компоненте упућују на непостојећу „.desktop“ датотеку." -#: tools/appstream-cli.c:198 -#, c-format +#: src/as-validator-issue-tag.h:626 msgid "" -"Run '%s --help' to see a list of available commands and options, and '%s %s " -"--help' to see a list of options specific for this subcommand." +"The category defined in the .desktop file is not valid. Refer to the XDG " +"Menu Specification for a list of valid categories." msgstr "" -"Покрените „%s --help“ да видите списак доступних наредби и опција и „%s%s --" -"help“ да видите списак опција за ту под-наредбу." +"Категорија дефинисана у „.desktop“ датотеци није исправна. Погледајте у " +"одредби ХДГ изборника списак исправних категорија." -#: src/as-provided.c:162 -msgid "Runtime Firmware" -msgstr "Рантајм фирмвер" +#: src/as-validator-issue-tag.h:631 +msgid "No AppStream metadata was found in this directory or directory tree." +msgstr "" +"Нисам нашао никакве метаподатке Програмског тока у овом директоријуму или " +"стаблу директоријума." -#: src/as-category.c:174 -msgctxt "Category of Graphics" -msgid "Scanning" -msgstr "Скенирање" +#. pedantic because not everything which has metadata is an application +#: src/as-validator-issue-tag.h:636 +msgid "No XDG applications directory found." +msgstr "Нисам нашао директоријум ХДГ програма." -#. TRANSLATORS: this is the menu spec main category for Science -#: src/as-category.c:323 -msgid "Science" -msgstr "Наука" +#: src/as-validator-issue-tag.h:641 +msgid "" +"The metainfo file is stored in a legacy path. Please place it in `/usr/share/" +"metainfo/`." +msgstr "" +"Датотека метаподатака се налази у старој путањи. Пребаците је у „/usr/share/" +"metainfo/“." -#: tools/appstream-cli.c:847 -msgid "Search the component database." -msgstr "Претражује базу података компоненти." +#: src/as-validator-issue-tag.h:646 +msgid "The metainfo file specifies multiple components. This is not allowed." +msgstr "Датотека метаподатака наводи више компоненти. То није дозвољено." -#: src/as-category.c:293 -msgctxt "Category of Utility" -msgid "Security" -msgstr "Безбедност" +#: src/as-validator-issue-tag.h:651 +msgid "" +"The releases are not sorted in a latest to oldest version order. This is " +"required as some tools will assume that the latest version is always at the " +"top. Sorting releases also increases overall readability of the metainfo " +"file." +msgstr "" +"Издања нису поређана од најновијих до најстаријих. Ово је потребно јер неки " +"алати претпостављају да је најновије издање увек на врху. Ређање издања " +"такође повећава читљивост датотеке метаподатака." -#. TRANSLATORS: ascli flag description for: --verbose -#: tools/appstream-cli.c:903 -msgid "Show extra debugging information." -msgstr "Приказује додатне податке за откањање грешака." +#: src/as-validator-issue-tag.h:658 +msgid "The value set as release urgency is not a known urgency value." +msgstr "Вредност постављена као хитност издања није позната вредност хитности." -#. TRANSLATORS: ascli flag description for: --version -#: tools/appstream-cli.c:897 -msgid "Show the program version." -msgstr "Приказује издање програма." +#: src/as-validator-issue-tag.h:663 +msgid "The value set as release type is invalid." +msgstr "Вредност постављена као врста издања је неисправна." -#: src/as-validator-issue-tag.h:635 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:669 msgid "" -"Since a 'runtime' component is comprised of multiple other software " -"components, their component-IDs may be listed in a `` section for " -"this runtime." +"The value set as artifact type is invalid. Must be either `source` or " +"`binary`." msgstr "" +"Вредност постављена као врста артифакта је неисправна. Мора бити или " +"„source“ или „binary“." -#: src/as-category.c:153 -msgctxt "Category of Games" -msgid "Sports" -msgstr "Спорт" +#: src/as-validator-issue-tag.h:674 +msgid "The value set as artifact bundle type is invalid." +msgstr "Вредност постављена као врста скупа артифакта је неисправна." -#: src/as-category.c:157 -msgctxt "Category of Games" -msgid "Strategy" -msgstr "Стратегија" +#: src/as-validator-issue-tag.h:679 +msgid "" +"The platform triplet for this release is invalid. It must be in the form of " +"`architecture-oskernel-osenv` - refer to the AppStream documentation or " +"information on normalized GNU triplets for more information and valid fields." +msgstr "" +"Тројност платформе за ово издање је неисправна. Мора бити у облику " +"„architecture-oskernel-osenv“ – погледајте документацију Програмског тока " +"или информације о нормализованим ГНУ тројностима за више података и " +"исправним пољима." -#. these are commands we can use with appstreamcli -#: tools/appstream-cli.c:845 -msgid "Subcommands:" -msgstr "Поднаредбе:" +#: src/as-validator-issue-tag.h:686 +msgid "The selected checksumming algorithm is unsupported or unknown." +msgstr "Изабрани алгоритам провере суме је неподржан или непознат." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:527 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:692 +msgid "The size type is unknown. Must be `download` or `installed`." +msgstr "Врста величине је непозната. Мора бити „download“ или „installed“." + +#: src/as-validator-issue-tag.h:697 msgid "" -"Suggestions of any type other than 'upstream' are not allowed in metainfo " -"files." +"The artifact filename must be a file basename, not a (relative or absolute) " +"path." msgstr "" +"Назив датотеке артифакта мора бити назив основе датотеке, а не (релативна " +"или апсолутна)н путања." -#: tools/ascli-utils.c:297 -msgid "Summary" -msgstr "Сажетак" - -#. TRANSLATORS: Status summary in ascli -#: tools/ascli-actions-misc.c:145 -msgid "Summary:" -msgstr "Сажетак:" +#: src/as-validator-issue-tag.h:702 +msgid "The value set as release issue type is invalid." +msgstr "Вредност постављена као врста проблема издања је неисправна." -#: src/as-category.c:290 -msgctxt "Category of Utility" -msgid "System Monitoring" -msgstr "Надгледање система" +#: src/as-validator-issue-tag.h:707 +msgid "" +"The issue is tagged at security vulnerability with a CVE number, but its " +"value does not look like a valid CVE identifier." +msgstr "" +"Проблем је означен на безбедносну рањивост ЦВЕ бројем, али његова вредност " +"не изгледа као исправан ЦВЕ одредник." -#: src/as-validator-issue-tag.h:46 -msgid "Tags of this name are not permitted in this section." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:713 +msgid "" +"This component is missing information about releases. Consider adding a " +"`releases` tag to describe releases and their changes." msgstr "" -#: src/as-category.c:284 -msgctxt "Category of Utility" -msgid "Terminal Emulators" -msgstr "Емулатори терминала" +#: src/as-validator-issue-tag.h:718 +msgid "" +"The AppStream specification requires a complete, ISO 8601 date string with " +"at least day-granularity to denote dates. Please ensure the date string is " +"valid." +msgstr "" +"Одредба Програмског тока захтева потпуну ниску ИСО 8601 података са барем " +"гранулацијом дана да би прибележила датуме. Уверите се да ли је ниска датума " +"исправна." -#: src/as-category.c:281 -msgctxt "Category of Utility" -msgid "Text Editors" -msgstr "Уређивачи текста" +#: src/as-validator-issue-tag.h:724 +msgid "" +"This component extends, provides, requires or recommends itself, which is " +"certainly not intended and may confuse users or machines dealing with this " +"metadata." +msgstr "" +"Ова компонента проширује, обезбеђује, захтева или препоручује саму себе, што " +"вероватно није намеравано и може збунити кориснике или рачунаре који раде са " +"овим метаподацима." -#: src/as-validator-issue-tag.h:318 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:731 msgid "" -"The 'pkgname' tag appears multiple times. You should evaluate creating a " -"metapackage containing the metainfo and .desktop files in order to avoid " -"defining multiple package names per component." +"Licenses for `runtime` components are usually too complex to reflect them in " +"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " +"value for this component's `project_license`. E.g. `LicenseRef-free=https://" +"example.com/licenses.html`" msgstr "" +"Дозволе за „runtime“ компоненте су обично превише сложене да би их одразиле " +"у једноставном „SPDX“ изразу. Размотрите коришћење „LicenseRef“ и веб адресу " +"као вредност за „project_license“ ове компоненте. Нпр. „LicenseRef-" +"free=https://example.com/licenses.html“" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:416 +#: src/as-validator-issue-tag.h:737 msgid "" -"The 'update_contact' tag should not be included in collection AppStream XML." +"Since a `runtime` component is comprised of multiple other software " +"components, their component-IDs may be listed in a `` section for " +"this runtime." msgstr "" +"Како је „runtime“ компонента састављена од више других софтверских " +"компоненти, њихови компонентни ИБ-ови могу бити исписани у одељку „“ за ово извршно време." -#: tools/ascli-actions-mdata.c:467 -#, c-format -msgid "The .desktop file '%s' does not exist." -msgstr ".desktop фајл „%s“ не постоји." +#: src/as-validator-issue-tag.h:742 +msgid "" +"The type of the item that the component provides is not known to AppStream." +msgstr "Врста ставке коју компонента обезбеђује није позната Програмском току." -#: src/as-validator-issue-tag.h:393 -msgid "The can not contain a hyperlink." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:748 +msgid "" +"The toplevel `mimetypes` tag is deprecated. Please use `mediatype` tags in a " +"`provides` block instead to indicate that your software provides a media " +"handler for the given types." msgstr "" +"Највишег нивоа „mimetypes“ ознака је застарела. Користите „mediatype“ ознаке " +"у блоку „provides“ да назначите да ваш софтвер доставља медијског руковаоца " +"за дате врсте." -#: src/as-validator-issue-tag.h:313 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks) and keep the URL intact. +#: src/as-validator-issue-tag.h:755 msgid "" -"The tag still contains a 'type' property, probably from an old " -"conversion to the recent metainfo format." +"This component has no `content_rating` tag to provide age rating " +"information. You can generate the tag data online by answering a few " +"questions at https://hughsie.github.io/oars/" msgstr "" -#: src/as-validator-issue-tag.h:616 +#: src/as-validator.c:150 msgid "" -"The AppStream specification requires a complete, ISO 8601 date string with " -"at least day-granularity to denote dates. Please ensure the date string is " -"valid." +"The emitted issue tag is unknown in the tag registry of AppStream. This is a " +"bug in the validator itself, please report this issue in our bugtracker." msgstr "" +"Одаслана ознака проблема је непозната у регистру ознака Програмског тока. " +"Ово је грешка у самом потврђивачу, пријавите овај проблем у нашем пратиоцу " +"грешака." + +#: src/as-validator.c:344 +msgid "URL format is invalid." +msgstr "Фомат адресе је неисправан." -#: src/as-pool.c:1924 +#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. +#: src/as-validator.c:522 src/as-validator.c:937 src/as-validator.c:1031 +#: src/as-validator.c:1428 src/as-validator.c:1448 src/as-validator.c:1481 #, c-format -msgid "" -"The AppStream system cache was updated, but problems were found which " -"resulted in metadata being ignored: %s" +msgid "Found: %s - Allowed: %s" +msgstr "Нађох: %s – Дозвољено: %s" + +#. TRANSLATORS: ascompose flag description for: --verbose +#: tools/appstream-compose.c:181 +#, fuzzy +msgid "Show extra debugging information" +msgstr "Приказује додатне информације прочишћавања." + +#. TRANSLATORS: ascompose flag description for: --no-color +#. TRANSLATORS: ascli flag description for: --no-color +#: tools/appstream-compose.c:184 tools/appstreamcli.c:1087 +msgid "Don't show colored output." +msgstr "Не приказује обојени излаз." + +#. TRANSLATORS: ascompose flag description for: --version +#. TRANSLATORS: ascli flag description for: --version +#: tools/appstream-compose.c:187 tools/appstreamcli.c:1076 +msgid "Show the program version." +msgstr "Приказује издање програма." + +#. TRANSLATORS: ascompose flag description for: --full-report +#: tools/appstream-compose.c:190 +msgid "Set mode of the issue report that is printed to the console" msgstr "" -#: src/as-pool.c:1922 -msgid "" -"The AppStream system cache was updated, but some components were ignored. " -"Refer to the verbose log for more information." +#. TRANSLATORS: ascompose flag description for: --prefix +#: tools/appstream-compose.c:193 +msgid "Override the default prefix (`/usr` by default)" msgstr "" -#: src/as-validator-issue-tag.h:151 -msgid "The SPDX license expression is invalid and could not be parsed." +#. TRANSLATORS: ascompose flag description for: --result-root +#: tools/appstream-compose.c:196 +msgid "Set the result output directory" msgstr "" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows -#: tools/appstream-cli.c:683 -#, c-format -msgid "The TYPE must be a valid component-type, such as: %s" +#. TRANSLATORS: ascompose flag description for: --data-dir, `collection metadata` is an AppStream term +#: tools/appstream-compose.c:199 +msgid "Override the collection metadata output directory" msgstr "" -#: src/as-validator-issue-tag.h:547 -msgid "The XML of this file is malformed." +#. TRANSLATORS: ascompose flag description for: --icons-dir +#: tools/appstream-compose.c:202 +msgid "Override the icon output directory" msgstr "" -#: src/as-validator-issue-tag.h:584 +#. TRANSLATORS: ascompose flag description for: --media-dir +#: tools/appstream-compose.c:205 msgid "" -"The category defined in the .desktop file is not valid. Refer to the XDG " -"Menu Specification for a list of valid categories." +"Set the media output directory (for media data to be served by a webserver)" msgstr "" -#: src/as-validator-issue-tag.h:532 -msgid "" -"The category name is not valid. Refer to the XDG Menu Specification for a " -"list of valid category names." +#. TRANSLATORS: ascompose flag description for: --hints-dir +#: tools/appstream-compose.c:208 +msgid "Set a directory where HTML and text issue reports will be stored" msgstr "" -#: src/as-validator-issue-tag.h:124 -msgid "" -"The component ID contains a hyphen/minus. Using a hyphen is strongly " -"discouraged, to improve interoperability with other tools such as D-Bus. A " -"good option is to replace any hyphens with underscores ('_')." +#. TRANSLATORS: ascompose flag description for: --origin +#. TRANSLATORS: ascompose flag description for: --media-baseurl +#: tools/appstream-compose.c:211 tools/appstream-compose.c:214 +msgid "Set the origin name" msgstr "" -#: src/as-validator-issue-tag.h:130 -msgid "" -"The component ID contains a segment starting with a number. Starting a " -"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " -"interoperability with other tools such as D-Bus. Ideally, prefix these " -"segments with an underscore." +#. TRANSLATORS: ascompose flag description for: --components +#: tools/appstream-compose.c:217 +msgid "A comma-separated list of component-IDs to accept" msgstr "" -#: src/as-validator-issue-tag.h:119 -msgid "" -"The component ID contains an invalid character. Only ASCII characters, dots " -"and numbers are permitted." +#. TRANSLATORS: error message +#: tools/appstream-compose.c:231 +msgid "Failed to parse arguments" msgstr "" -#: src/as-validator-issue-tag.h:106 +#. TRANSLATORS: Output if appstreamcli --version is executed. +#: tools/appstream-compose.c:242 tools/appstreamcli.c:1230 +#, c-format +msgid "AppStream version: %s" +msgstr "Издање Програмског тока: %s" + +#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. +#: tools/appstream-compose.c:245 tools/appstreamcli.c:1233 +#, c-format msgid "" -"The component ID is not a reverse domain-name. Please update the ID to avoid " -"future issues and be compatible with all AppStream implementations.\n" -"You may also consider to update the name of the accompanying .desktop file " -"to follow the latest version of the Desktop-Entry specification and use a " -"rDNS name for it as well. In any case, do not forget to mention the new " -"desktop-entry in a tag for this component to keep the " -"application launchable from software centers and the .desktop file data " -"associated with the metainfo data." +"AppStream CLI tool version: %s\n" +"AppStream library version: %s" msgstr "" +"Издање конзолног алата Програмског тока: %s\n" +"Издање библиотеке Програмског тока: %s" -#: src/as-validator-issue-tag.h:101 +#. TRANSLATORS: invalid value for the --print-report CLI option +#: tools/appstream-compose.c:264 +#, c-format msgid "" -"The component ID is required to follow a reverse domain-name scheme for its " -"name. See the AppStream specification for details." +"Invalid value for `--print-report` option: %s\n" +"Possible values are:\n" +"`on-error` - only prints a short report if the run failed (default)\n" +"`short` - generates an abridged report\n" +"`full` - a detailed report will be printed" msgstr "" -#: src/as-validator-issue-tag.h:114 -msgid "" -"The component ID might not follow the reverse domain-name schema (the TLD " -"used by it is not known to the validator)." +#: tools/appstream-compose.c:285 +#, c-format +msgid "Automatically selected '%s' as data output location." msgstr "" -#: src/as-validator-issue-tag.h:293 -msgid "" -"The component has a 'merge' method defined. This is not allowed in metainfo " -"files." +#. TRANSLATORS: we don't have a destination directory for compose +#: tools/appstream-compose.c:288 +msgid "No destination directory set, please provide a data output location!" msgstr "" -#: src/as-validator-issue-tag.h:288 -msgid "" -"The component has a priority value set. This is not allowed in metainfo " -"files." +#: tools/appstream-compose.c:298 tools/appstream-compose.c:300 +msgid "WARNING" msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:503 -msgid "The component is an addon, but no 'extends' tag was specified." +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:337 +#, c-format +msgid "Only accepting components: %s" msgstr "" -#: src/as-validator-issue-tag.h:440 -msgid "" -"The component is missing a long description. Components of this type must " -"have a long description." +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:340 +#, c-format +msgid "Only accepting component: %s" msgstr "" -#: src/as-validator-issue-tag.h:303 -msgid "The component is missing a name ( tag)." +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:345 +msgid "Processing directories:" msgstr "" -#: src/as-validator-issue-tag.h:308 -msgid "The component is missing a summary ( tag)." +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:348 +msgid "Processing directory:" msgstr "" -#: src/as-validator-issue-tag.h:298 -msgid "The component is missing an ID ( tag)." +#. TRANSLATORS: error message +#: tools/appstream-compose.c:357 +msgid "Can not process invalid directory" msgstr "" -#: src/as-validator-issue-tag.h:136 -msgid "" -"The component is part of the Freedesktop project, but its ID does not start " -"with fd.o's reverse-DNS name (\"org.freedesktop\")." +#. TRANSLATORS: information message +#: tools/appstream-compose.c:369 +msgid "Composing metadata..." msgstr "" -#: src/as-validator-issue-tag.h:146 -msgid "" -"The component is part of the GNOME project, but its ID does not start with " -"GNOMEs reverse-DNS name (\"org.gnome\")." +#. TRANSLATORS: error message +#: tools/appstream-compose.c:374 +#, fuzzy +msgid "Failed to compose AppStream metadata" +msgstr "Помагало за рад са метаподацима Програмског тока" + +#. TRANSLATORS: appstream-compose failed to include all data +#: tools/appstream-compose.c:380 +msgid "Run failed, some data was ignored." msgstr "" -#: src/as-validator-issue-tag.h:141 +#. TRANSLATORS: information message of appstream-compose +#: tools/appstream-compose.c:382 +msgid "Errors were raised during this compose run:" +msgstr "" + +#: tools/appstream-compose.c:383 msgid "" -"The component is part of the KDE project, but its ID does not start with " -"KDEs reverse-DNS name (\"org.kde\")." +"Refer to the generated issue report data for details on the individual " +"problems." msgstr "" -#: src/as-validator-issue-tag.h:323 -msgid "The component name should (likely) not end with a dot ('.')." +#: tools/appstream-compose.c:386 +msgid "Overview of generated hints:" msgstr "" -#: src/as-validator-issue-tag.h:333 -msgid "The component summary must not contain tabs or linebreaks." +#. TRANSLATORS: information message +#: tools/appstream-compose.c:388 +msgid "Success!" msgstr "" -#: src/as-validator-issue-tag.h:328 -msgid "The component summary should not end with a dot ('.')." +#. TRANSLATORS: ascli flag description for: --cachepath +#: tools/appstreamcli.c:59 +msgid "Manually selected location of AppStream cache." +msgstr "Ручно изабрано место оставе Програмског тока." + +#. TRANSLATORS: ascli flag description for: --datapath +#: tools/appstreamcli.c:64 +msgid "Manually selected location of AppStream metadata to scan." +msgstr "Ручно изабрано место метаподатака Програмског тока за прегледање." + +#. TRANSLATORS: ascli flag description for: --no-cache +#: tools/appstreamcli.c:69 +msgid "Make request without any caching." +msgstr "Захтева без икаквог стављања у оставу." + +#. TRANSLATORS: ascli flag description for: --format +#: tools/appstreamcli.c:85 +msgid "Default metadata format (valid values are 'xml' and 'yaml')." +msgstr "Основни формат метаподатака (исправне вредности су „xml“ и „yaml“)." + +#. TRANSLATORS: ascli flag description for: --details +#: tools/appstreamcli.c:100 +msgid "Print detailed output about found components." +msgstr "Исписује опширни излаз о нађеним компонентама." + +#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) +#: tools/appstreamcli.c:118 +msgid "Also show pedantic hints." +msgstr "Такође приказује сређене савете." + +#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) +#: tools/appstreamcli.c:123 +msgid "Print detailed explanation for found issues." +msgstr "Исписује опширно објашњење о нађеним проблемима." + +#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) +#: tools/appstreamcli.c:128 +msgid "Do not use network access." +msgstr "Не користи приступ мрежи." + +#. TRANSLATORS: ascli flag description for: --format when validating XML files +#: tools/appstreamcli.c:133 +msgid "Format of the generated report (valid values are 'text' and 'yaml')." +msgstr "Формат створеног извештаја (исправне вредност су „text“ и „yaml“)." + +#. TRANSLATORS: This is the header to the --help menu for subcommands +#. TRANSLATORS: This is the header to the --help menu +#: tools/appstreamcli.c:153 tools/appstreamcli.c:981 +msgid "AppStream command-line interface" +msgstr "Сучеље линије наредби Програмског тока" + +#: tools/appstreamcli.c:156 +#, c-format +msgid "'%s' command" +msgstr "Наредба „%s“" + +#. TRANSLATORS: An unknown option was passed to appstreamcli. +#: tools/appstreamcli.c:191 +#, c-format +msgid "Option '%s' is unknown." +msgstr "Опција „%s“ није позната." + +#: tools/appstreamcli.c:195 tools/appstreamcli.c:1207 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options." msgstr "" +"Покрените „%s --help“ да видите списак доступних опција линије наредби." -#: src/as-validator-issue-tag.h:243 +#: tools/appstreamcli.c:197 +#, c-format msgid "" -"The default screenshot of a software component must not be a video. Use a " -"static image as default screenshot and set the video as a secondary " -"screenshot." +"Run '%s --help' to see a list of available commands and options, and '%s %s " +"--help' to see a list of options specific for this subcommand." msgstr "" +"Покрените „%s --help“ да видите списак доступних наредби и опција и „%s%s --" +"help“ да видите списак опција за ту под-наредбу." -#: src/as-validator-issue-tag.h:86 -msgid "" -"The description contains a web URL in plain text. This is not allowed, " -"please use the tag instead to share links." +#. TRANSLATORS: ascli flag description for: --force +#: tools/appstreamcli.c:245 +msgid "Enforce a cache refresh." +msgstr "Приморава освежавање оставе." + +#. TRANSLATORS: ascli flag description for: --user +#: tools/appstreamcli.c:251 +msgid "Update the user-specific instead of the system-wide cache." +msgstr "Освежава корисникову уместо системске оставе." + +#. TRANSLATORS: ascli flag description for: --origin (part of the "put" subcommand) +#: tools/appstreamcli.c:477 +msgid "Set the data origin for the installed metadata collection file." msgstr "" +"Поставља порекло података за датотеку збирке инсталираних метаподатака." -#: src/as-validator.c:152 +#. TRANSLATORS: ascli flag description for: --user (part of the "put" subcommand) +#: tools/appstreamcli.c:482 +msgid "Install the file for the current user, instead of globally." +msgstr "Инсталира датотеку за тренутног корисника уместо за цео систем." + +#: tools/appstreamcli.c:631 msgid "" -"The emitted issue tag is unknown in the tag registry of AppStream. This is a " -"bug in the validator itself, please report this issue in our bugtracker." +"You need to provide at least two version numbers to compare as parameters." msgstr "" +"Треба да доставите барем два броја издања да их упоредите као параметре." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:435 +#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. +#: tools/appstreamcli.c:660 +#, c-format +msgid "Unknown compare relation '%s'. Valid values are:" +msgstr "Непознат однос поређења „%s“. Исправне вредности су:" + +#: tools/appstreamcli.c:700 msgid "" -"The essential tag 'metadata_license' is missing. A license for the metadata " -"itself always has to be defined." +"Too many parameters: Need two version numbers or version numbers and a " +"comparison operator." msgstr "" +"Превише параметара: Потребна су два броја издања или бројеви издања и " +"оператер поређења." -#: src/as-validator-issue-tag.h:79 +#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) +#: tools/appstreamcli.c:726 msgid "" -"The first 'description/p' paragraph of this component might be too short (< " -"80 characters). Please consider starting with a longer paragraph to improve " -"how the description looks like in software centers and to provide more " -"detailed information on this component immediately in the first paragraph." +"Use the given .desktop file to fill in the basic values of the metainfo file." msgstr "" +"Користи „.desktop“ датотеку за попуњавање основних вредности датотеке " +"метаподатака." -#: src/as-validator-issue-tag.h:156 +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand +#: tools/appstreamcli.c:731 msgid "" -"The license ID was not found in the SPDX database. Please check that the " -"license ID is written in an SPDX-conformant way and is a valid free software " -"license." +"This command takes optional TYPE and FILE positional arguments, FILE being a " +"file to write to (or \"-\" for standard output)." msgstr "" +"Ова наредба узима изборне положајне аргументе „TYPE“ и „FILE“, „FILE“ јесте " +"датотека у коју се пише (или - за стандардни излаз)." -#: src/as-validator-issue-tag.h:96 -msgid "" -"The mentioned tag is empty, which is highly likely not intended as it should " -"have content." +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows +#: tools/appstreamcli.c:734 +#, c-format +msgid "The TYPE must be a valid component-type, such as: %s" +msgstr "„TYPE“ мора бити исправна врста компоненте, као: %s" + +#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) +#: tools/appstreamcli.c:775 +msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." +msgstr "Користи наведени ред за „Exec=“ кључ датотеке уноса радне површи." + +#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command +#: tools/appstreamcli.c:815 +msgid "Assume the input file is in the selected format ('yaml' or 'text')." msgstr "" +"Подразумева да је улазна датотека у изабраном формату („yaml“ или „text“)." -#: src/as-validator-issue-tag.h:168 +#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command +#: tools/appstreamcli.c:820 msgid "" -"The metadata itself does not seem to be licensed under a permissive license. " -"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " -"0BSD to allow distributors to include it in mixed data collections without " -"the risk of license violations due to mutually incompatible licenses." +"Limit the number of release entries that end up in the metainfo file (0 for " +"unlimited)." +msgstr "" +"Ограничава број уноса издања који завршавају у датотеци метаподатака (0 за " +"неограничено)." + +#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command +#: tools/appstreamcli.c:862 +msgid "Generate the output in the selected format ('yaml' or 'text')." +msgstr "Ствара излаз у изабраном формату („yaml“ или „text“)." + +#: tools/appstreamcli.c:894 +#, c-format +msgid "Compose binary '%s' was not found! Can not continue." msgstr "" -#: src/as-validator-issue-tag.h:162 +#. TRANSLATORS: this is a (usually shorter) command alias, shown after the command summary text +#: tools/appstreamcli.c:956 +#, c-format +msgid "(Alias: '%s')" +msgstr "(Алијас: „%s“)" + +#. these are commands we can use with appstreamcli +#: tools/appstreamcli.c:983 +msgid "Subcommands:" +msgstr "Поднаредбе:" + +#: tools/appstreamcli.c:1029 msgid "" -"The metadata itself seems to be licensed under a complex collection of " -"licenses. Please license the data under a simple permissive license, like " -"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " -"collections without the risk of license violations due to mutually " -"incompatible licenses." +"You can find information about subcommand-specific options by passing \"--" +"help\" to the subcommand." msgstr "" +"Можете наћи информације о опцијама посебним за поднаредбу проследивши „--" +"help“ поднардби." -#: src/as-validator-issue-tag.h:599 +#. TRANSLATORS: ascli has been run with unknown command. '%s --help' is the command to receive help and should not be translated. +#: tools/appstreamcli.c:1052 +#, c-format msgid "" -"The metainfo file is stored in a legacy path. Please place it in '/usr/share/" -"metainfo'." +"Command '%s' is unknown. Run '%s --help' for a list of available commands." msgstr "" +"Наредба „%s“ је непозната. Покрените „%s --help“ да видите списак доступних " +"наредби." -#: src/as-validator-issue-tag.h:604 -msgid "The metainfo file specifies multiple components. This is not allowed." -msgstr "" +#. TRANSLATORS: ascli flag description for: --verbose +#: tools/appstreamcli.c:1082 +msgid "Show extra debugging information." +msgstr "Приказује додатне информације прочишћавања." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:559 -msgid "" -"The metainfo file uses an ancient version of the AppStream specification, " -"which can not be validated. Please migrate it to version 0.6 (or higher)." -msgstr "" +#. TRANSLATORS: ascli flag description for: --profile +#: tools/appstreamcli.c:1090 +msgid "Enable profiling" +msgstr "Укључује профилисање" -#: src/as-validator-issue-tag.h:569 -#, fuzzy -msgid "The metainfo filename does not match the component ID." -msgstr "Инсталира софтвер који одговара ИД-у компоненте." +#. TRANSLATORS: `appstreamcli search` command description. +#: tools/appstreamcli.c:1102 +msgid "Search the component database." +msgstr "Претражује базу података компоненти." + +#. TRANSLATORS: `appstreamcli get` command description. +#: tools/appstreamcli.c:1107 +msgid "Get information about a component by its ID." +msgstr "Добавља податке о компоненти према ИД-у." -#: src/as-validator-issue-tag.h:609 +#. TRANSLATORS: `appstreamcli what-provides` command description. +#: tools/appstreamcli.c:1112 msgid "" -"The releases are not sorted in a latest to oldest version order. This is " -"required as some tools will assume that the latest version is always at the " -"top. Sorting releases also increases overall readability of the metainfo " -"file." +"Get components which provide the given item. Needs an item type (e.g. lib, " +"bin, python3, …) and item value as parameter." msgstr "" +"Добавља компоненте које достављају дату ставку. Захтева врсту ставке (нпр. " +"lib, bin, python3, …) и вредност ставке као параметар." -#: src/as-validator-issue-tag.h:537 -msgid "The screenshot caption is too long (should be <= 80 characters)" -msgstr "" +#. TRANSLATORS: `appstreamcli dump` command description. +#: tools/appstreamcli.c:1118 +msgid "Dump raw XML metadata for a component matching the ID." +msgstr "Избацује сирове ИксМЛ метаподатке за компоненту одговарајућег ИД-а." -#: src/as-validator-issue-tag.h:206 -msgid "The screenshot does not have a caption text. Consider adding one." -msgstr "" +#. TRANSLATORS: `appstreamcli refresh-cache` command description. +#: tools/appstreamcli.c:1123 +msgid "Rebuild the component metadata cache." +msgstr "Поново изграђује оставу метаподатака компоненте." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:218 -msgid "" -"The screenshot video does not specify which container format was used in a " -"'container' property." -msgstr "" +#. TRANSLATORS: `appstreamcli validate` command description. +#: tools/appstreamcli.c:1129 +msgid "Validate AppStream XML files for issues." +msgstr "Потврђује ХМЛ датотеке Програмског тока за проблемима." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:212 -msgid "" -"The screenshot video does not specify which video codec was used in a " -"'codec' property." +#. TRANSLATORS: `appstreamcli validate-tree` command description. +#: tools/appstreamcli.c:1134 +msgid "Validate an installed file-tree of an application for valid metadata." msgstr "" +"Потврђује инсталирано стабло датотека програма за исправним метаподацима." + +#. TRANSLATORS: `appstreamcli install` command description. +#: tools/appstreamcli.c:1140 +msgid "Install software matching the component-ID." +msgstr "Инсталира софтвер који одговара ИД-у компоненте." + +#. TRANSLATORS: `appstreamcli remove` command description. +#: tools/appstreamcli.c:1145 +msgid "Remove software matching the component-ID." +msgstr "Уклања софтвер који одговара ИД-у компоненте." + +#. TRANSLATORS: `appstreamcli status` command description. +#: tools/appstreamcli.c:1151 +msgid "Display status information about available AppStream metadata." +msgstr "Приказује информације стања о доступним метаподацима Програмског тока." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:224 +#. TRANSLATORS: `appstreamcli os-info` command description. +#: tools/appstreamcli.c:1156 msgid "" -"The selected video codec is not supported by AppStream and software centers " -"may not be able to play the video. Only the AV1 and VP9 codecs are currently " -"supported, using 'av1' and 'vp9' as values for the 'codec' property." +"Show information about the current operating system from the metadata index." msgstr "" +"Приказује информације о тренутном оперативном систему из индекса " +"метаподатака." + +#. TRANSLATORS: `appstreamcli put` command description. +#: tools/appstreamcli.c:1161 +msgid "Install a metadata file into the right location." +msgstr "Инсталира датотеку метаподатака на одгварајуће место." + +#. TRANSLATORS: `appstreamcli convert` command description. "Collection XML" is a term describing a specific type of AppStream XML data. +#: tools/appstreamcli.c:1166 +msgid "Convert collection XML to YAML or vice versa." +msgstr "Претвара збирку „XML“ у „YAML“ или обрнуто." + +#. TRANSLATORS: `appstreamcli vercmp` command description. +#: tools/appstreamcli.c:1171 +msgid "Compare two version numbers." +msgstr "Пореди бројеве два издања." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:231 +#. TRANSLATORS: `appstreamcli new-template` command description. +#: tools/appstreamcli.c:1177 msgid "" -"The selected video container format is not supported by AppStream and " -"software centers may not be able to play the video. Only the WebM and " -"Matroska video containers are currently supported, using 'webm' and 'mkv' as " -"values for the 'container' property." +"Create a template for a metainfo file (to be filled out by the upstream " +"project)." msgstr "" +"Прави шаблон за датотеку метаподатака (која ће бити попуњена узводним " +"пројектом)." -#: src/as-validator-issue-tag.h:283 -msgid "" -"The set component type is not a recognized, valid AppStream component type." +#. TRANSLATORS: `appstreamcli make-desktop-file` command description. +#: tools/appstreamcli.c:1182 +msgid "Create a desktop-entry file from a metainfo file." +msgstr "Прави датотеку уноса радне површи из датотеке метаподатака." + +#. TRANSLATORS: `appstreamcli news-to-metainfo` command description. +#: tools/appstreamcli.c:1187 +msgid "Convert a YAML or text NEWS file into metainfo releases." +msgstr "Претвара „YAML“ или текст „NEWS“ датотеку у издања метаподатака." + +#. TRANSLATORS: `appstreamcli metainfo-to-news` command description. +#: tools/appstreamcli.c:1192 +msgid "Write NEWS text or YAML file with information from a metainfo file." msgstr "" +"Пише „NEWS“ текст или „YAML“ датотеку са информацијама из датотеке " +"метаподатака." -#: src/as-validator-issue-tag.h:398 -msgid "" -"The set value is not an identifier for a desktop environment as registered " -"with Freedesktop.org." +#. TRANSLATORS: `appstreamcli compose` command description. +#: tools/appstreamcli.c:1198 +#, fuzzy +msgid "Compose AppStream collection metadata from directory trees." msgstr "" +"Нисам нашао никакве метаподатке Програмског тока у овом директоријуму или " +"стаблу директоријума." + +#. TRANSLATORS: ascli has been run without command. +#: tools/appstreamcli.c:1206 +msgid "You need to specify a command." +msgstr "Морате да наведете наредбу." + +#. TRANSLATORS: In ascli: The requested action needs higher permissions. +#: tools/ascli-actions-mdata.c:70 +msgid "You might need superuser permissions to perform this action." +msgstr "Биће вам потребна администраторска овлашћења за обављање ове радње." + +#. we performed a cache refresh +#. TRANSLATORS: Updating the metadata cache succeeded +#: tools/ascli-actions-mdata.c:80 +msgid "AppStream cache update completed successfully." +msgstr "Освежавање оставе Програмског тока је успешно обављено." -#: tools/ascli-actions-mdata.c:449 +#. cache wasn't updated, so the update wasn't necessary +#: tools/ascli-actions-mdata.c:86 +msgid "AppStream cache update is not necessary." +msgstr "Освежавање оставе Програмског тока није потребно." + +#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments +#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. +#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:253 +#: tools/ascli-actions-pkgmgr.c:80 +msgid "You need to specify a component-ID." +msgstr "Морате да наведете ИБ компоненте." + +#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:265 +#: tools/ascli-actions-pkgmgr.c:93 #, c-format -msgid "" -"The software component type '%s' is not valid in AppStream. Possible values " -"are:" -msgstr "" +msgid "Unable to find component with ID '%s'!" +msgstr "Не могу да пронађем компоненту са ИБ-ом „%s“!" -#: src/as-validator-issue-tag.h:338 -msgid "The summary must not contain any URL. Use the tags for links." -msgstr "" +#: tools/ascli-actions-mdata.c:164 +msgid "You need to specify a term to search for." +msgstr "Морате да наведете појам за тражење." -#: src/as-validator-issue-tag.h:640 -msgid "" -"The type of the item that the component provides is not known to AppStream." -msgstr "" +#. TRANSLATORS: We failed to find any component in the database, likely due to an error +#: tools/ascli-actions-mdata.c:177 +#, c-format +msgid "Unable to find component matching %s!" +msgstr "Не могу да нађем компоненту која се поклапа са „%s“!" -#: src/as-validator-issue-tag.h:174 -msgid "" -"The update-contact does not appear to be a valid email address (escaping of " -"'@' is only allowed as '_at_' or '_AT_')." -msgstr "" +#: tools/ascli-actions-mdata.c:182 +#, c-format +msgid "No component matching '%s' found." +msgstr "Нисам нашао компоненту која се поклапа са „%s“." + +#: tools/ascli-actions-mdata.c:206 +msgid "No value for the item to search for was defined." +msgstr "Није дефинисана вредност ставке за тражење." + +#: tools/ascli-actions-mdata.c:212 +msgid "Invalid type for provided item selected. Valid values are:" +msgstr "Изабрана је неисправна врста достављене ставке. Исправне вредности су:" -#: tools/ascli-actions-validate.c:363 tools/ascli-actions-validate.c:492 +#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results +#: tools/ascli-actions-mdata.c:227 #, c-format -msgid "" -"The validator can not create reports in the '%s' format. You may select " -"'yaml' or 'text' instead." -msgstr "" +msgid "Could not find component providing '%s::%s'." +msgstr "Не могу да нађем компоненту која доставља „%s::%s“." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:410 -msgid "This 'bundle' tag has an unknown type and can not be used." -msgstr "" +#: tools/ascli-actions-mdata.c:306 +msgid "You need to specify a metadata file." +msgstr "Морате да наведете датотеку метаподатака." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:404 -msgid "This 'launchable' tag has an unknown type and can not be used." -msgstr "" +#: tools/ascli-actions-mdata.c:320 +#, c-format +msgid "Unable to install metadata file: %s" +msgstr "Не могу да инсталирам датотеку метаподатака: %s" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:515 -msgid "" -"This 'localization' component does not define any languages this " -"localization is for." -msgstr "" +#: tools/ascli-actions-mdata.c:340 +msgid "You need to specify an input and output file." +msgstr "Морате да наведете улазну и излазну датотеку." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:509 -msgid "" -"This 'localization' component is missing an 'extends' tag, to specify the " -"components it adds localization to." -msgstr "" +#: tools/ascli-actions-mdata.c:347 +#, c-format +msgid "Metadata file '%s' does not exist." +msgstr "Датотека метаподатака „%s“ не постоји." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:521 +#. TRANSLATORS: User is trying to convert a file in ascli +#: tools/ascli-actions-mdata.c:387 msgid "" -"This 'service' component is missing a 'launchable' tag of type 'service'." +"Unable to convert file: Could not determine output format, please set it " +"explicitly using '--format='." msgstr "" +"Не могу да претворим датотеку: Не могу да одредим формат излаза, поставите " +"га изричито користећи „--format=“." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:473 -msgid "" -"This 'web-application' component is missing a 'icon' tag to specify a valid " -"icon." -msgstr "" +#: tools/ascli-actions-mdata.c:438 +#, c-format +msgid "Unable to find operating system component '%s'!" +msgstr "Не могу да нађем компоненту оперативног система „%s“!" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:467 -msgid "" -"This 'web-application' component is missing a 'launchable' tag of type 'url'." -msgstr "" +#: tools/ascli-actions-mdata.c:443 +msgid "Version" +msgstr "Издање" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:479 +#: tools/ascli-actions-mdata.c:467 msgid "" -"This 'web-application' component is missing categorizations. A 'categories' " -"block is likely missing." +"You need to give an AppStream software component type to generate a " +"template. Possible values are:" msgstr "" +"Морате да дате врсту компоненте софтвера Програмског тока да бисте створили " +"шаблон. Могуће вредности су:" -#: src/as-validator-issue-tag.h:564 +#: tools/ascli-actions-mdata.c:469 +#, c-format msgid "" -"This XML document has an unknown root tag. Maybe this file is not a metainfo " -"document?" +"The software component type '%s' is not valid in AppStream. Possible values " +"are:" msgstr "" +"Софтверска компонента врсте „%s“ није исправна у Програмском току. Могуће " +"вредности су:" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand -#: tools/appstream-cli.c:680 -msgid "" -"This command takes optional TYPE and FILE positional arguments, FILE being a " -"file to write to (or \"-\" for standard output)." -msgstr "" +#: tools/ascli-actions-mdata.c:487 +#, c-format +msgid "The .desktop file '%s' does not exist." +msgstr "„.desktop“ датотека „%s“ не постоји." -#: src/as-validator-issue-tag.h:622 -msgid "" -"This component extends, provides, requires or recommends itself, which is " -"certainly not intended and may confuse users or machines dealing with this " -"metadata." -msgstr "" +#: tools/ascli-actions-mdata.c:493 +#, c-format +msgid "Unable to read the .desktop file: %s" +msgstr "Не могу да прочитам „.desktop“ датотеку: %s" -#: src/as-validator-issue-tag.h:579 -msgid "This component metadata refers to a non-existing .desktop file." -msgstr "" +#: tools/ascli-actions-mdata.c:564 +#, c-format +msgid "Unable to build the template metainfo file: %s" +msgstr "Не могу да изградим датотеку мета-инфо шаблона: %s" -#: src/as-validator-issue-tag.h:69 -msgid "" -"This description paragraph contains invalid markup. Currently, only " -"and are permitted." -msgstr "" +#: tools/ascli-actions-mdata.c:572 +#, c-format +msgid "Unable to save the template metainfo file: %s" +msgstr "Не могу да сачувам датотеку мета-инфо шаблона: %s" -#: src/as-validator-issue-tag.h:57 -msgid "" -"This element (paragraph, list, etc.) of a tag must not be " -"localized individually in collection metadata. Localize the whole " -" tag instead. The AppStream collection metadata generator (e." -"g. `appstream-generator`) will already do the right thing when compiling the " -"data." -msgstr "" +#. TRANSLATORS: In the status report of ascli: Header +#: tools/ascli-actions-misc.c:47 +msgid "AppStream Status:" +msgstr "Стање Програмског тока:" -#: src/as-validator-issue-tag.h:455 -msgid "" -"This generic component is missing a long description. It may be useful to " -"add one." -msgstr "" +#: tools/ascli-actions-misc.c:48 +#, c-format +msgid "Version: %s" +msgstr "Издање: %s" -#: src/as-validator-issue-tag.h:421 -msgid "" -"This tag is a GNOME-specific extension to AppStream and not part of the " -"official specification. Do not expect it to work in all implementations and " -"in all software centers." -msgstr "" +#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions +#: tools/ascli-actions-misc.c:52 +msgid "Distribution metadata:" +msgstr "Метаподаци дистрибуције:" -#: src/as-validator-issue-tag.h:41 -msgid "This tag requires a type property." -msgstr "" +#: tools/ascli-actions-misc.c:94 +msgid "Iconsets" +msgstr "Скупови иконица" -#: data/org.freedesktop.appstream.cli.metainfo.xml:15 -msgid "" -"This tool allows for reading, writing, validating and transformation of " -"AppStream XML or YAML metadata. It also gives access to the system metadata " -"pool, for example to query for software that provides a specific MIME-type, " -"and installing it by its software component identifier." -msgstr "" +#: tools/ascli-actions-misc.c:105 +msgid "No icons." +msgstr "Нема иконица." -#: src/as-validator-issue-tag.h:388 -msgid "" -"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." -msgstr "" +#. TRANSLATORS: No metainfo files have been found +#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 +msgid "Empty." +msgstr "Нема ничега." -#: tools/appstream-cli.c:648 -msgid "" -"Too many parameters: Need two version numbers or version numbers and a " -"comparison operator." -msgstr "" +#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report +#: tools/ascli-actions-misc.c:116 +msgid "Metainfo files:" +msgstr "Датотеке метаподатака:" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:461 -msgid "" -"Type 'console-application' component, but no information about binaries in " -"$PATH was provided via a 'provides/binary' tag." -msgstr "" +#: tools/ascli-actions-misc.c:123 +#, c-format +msgid "Found %i components." +msgstr "Нађох компоненте: %i." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:491 -msgid "" -"Type 'driver' component, but no modalias information was provided via a " -"provides/modalias tag." -msgstr "" +#. TRANSLATORS: Found metainfo files in legacy directories +#: tools/ascli-actions-misc.c:138 +#, c-format +msgid "Found %i components in legacy paths." +msgstr "Нађох %i компоненте у старим путањама." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:485 -msgid "" -"Type 'font' component, but no font information was provided via a 'provides/" -"font' tag." -msgstr "" +#. TRANSLATORS: Status summary in ascli +#: tools/ascli-actions-misc.c:145 +msgid "Summary:" +msgstr "Сажетак:" -#: src/as-validator.c:333 -msgid "URL format is invalid." -msgstr "" +#: tools/ascli-actions-misc.c:153 +#, c-format +msgid "We have information on %i software components." +msgstr "Имамо информације о %i софтверске компоненте." -#: tools/ascli-actions-mdata.c:544 +#: tools/ascli-actions-misc.c:159 #, c-format -msgid "Unable to build the template metainfo file: %s" -msgstr "" +msgid "Error while loading the metadata pool: %s" +msgstr "Грешка приликом учитавања припреме метаподатака: %s" -#. TRANSLATORS: User is trying to convert a file in ascli -#: tools/ascli-actions-mdata.c:400 +#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 +msgid "You need to specify a metainfo file as input." +msgstr "Морате да наведете датотеку метаподатака као улаз." + +#: tools/ascli-actions-misc.c:188 msgid "" -"Unable to convert file: Could not determine output format, please set it " -"explicitly using '--format='." +"You need to specify a desktop-entry file to create or augment as output." msgstr "" +"Треба да наведете датотеку уноса радне површи за стварање или повећање као " +"излаза." -#. TRANSLATORS: We failed to find any component in the database, likely due to an error -#: tools/ascli-actions-mdata.c:177 +#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 +#: tools/ascli-actions-misc.c:515 #, c-format -msgid "Unable to find component matching %s!" -msgstr "Не могу да пронађем компоненту која се поклапа са „%s“!" +msgid "Metainfo file '%s' does not exist." +msgstr "Метаинфо датотека „%s“ не постоји." -#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:266 -#: tools/ascli-actions-pkgmgr.c:93 +#: tools/ascli-actions-misc.c:219 #, c-format -msgid "Unable to find component with ID '%s'!" -msgstr "Не могу да пронађем компоненту са ИД „%s“!" +msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." +msgstr "" +"Увећавам постојећу датотеку уноса радне површи „%s“ са подацима из „%s“." #: tools/ascli-actions-misc.c:224 #, c-format msgid "Unable to load existing desktop-entry file template: %s" -msgstr "" +msgstr "Не могу да учитам постојећи шаблон датотеке уноса радне површи: %s" -#: src/as-validator-issue-tag.h:356 -msgid "Unable to reach remote icon at the given web location - does it exist?" +#: tools/ascli-actions-misc.c:228 +#, c-format +msgid "Creating new desktop-entry file '%s' using data from '%s'" msgstr "" +"Стварам нову датотеку уноса радне површи „%s“ користећи податке из „%s“" -#: src/as-validator-issue-tag.h:378 -msgid "" -"Unable to reach remote location that this URL references - does it exist?" +#: tools/ascli-actions-misc.c:284 +msgid "No stock icon name was provided in the metainfo file. Can not continue." msgstr "" +"Није достављен назив иконице залихе у датотеци метаподатака. Не могу да " +"наставим." -#: src/as-validator-issue-tag.h:179 +#: tools/ascli-actions-misc.c:306 msgid "" -"Unable to reach the screenshot image on its remote location - does the image " -"exist?" +"No provided binary specified in metainfo file, and no exec command specified " +"via '--exec'. Can not create 'Exec=' key." msgstr "" +"Није достављена извршна наведена у датотеци метаподатака, и није наведена " +"наредба извршавања опцијом „--exec“. Не могу да створим „Exec=“ кључ." -#: src/as-validator-issue-tag.h:184 -msgid "" -"Unable to reach the screenshot video on its remote location - does the video " -"file exist?" -msgstr "" +#: tools/ascli-actions-misc.c:370 +#, c-format +msgid "Unable to save desktop entry file: %s" +msgstr "Не могу да сачувам датотеку уноса радне површи: %s" -#: src/as-validator-issue-tag.h:542 -msgid "Unable to read file." -msgstr "" +#: tools/ascli-actions-misc.c:393 +msgid "You need to specify a NEWS file as input." +msgstr "Морате да наведете „NEWS“ датотеку као улаз." -#: src/as-validator-issue-tag.h:574 -msgid "Unable to read the .desktop file associated with this component." +#: tools/ascli-actions-misc.c:397 +msgid "" +"You need to specify a metainfo file to augment, or '-' to print to stdout." msgstr "" +"Морате да наведете датотеку метаподатака да повећате или - да пишете на " +"стандардни излаз." -#: tools/ascli-actions-mdata.c:473 -#, c-format -msgid "Unable to read the .desktop file: %s" +#: tools/ascli-actions-misc.c:402 +msgid "No output filename specified, modifying metainfo file directly." msgstr "" +"Није наведен назив датотеке излаза, мењам датотеку метаподатака непосредно." -#: src/as-pool.c:606 -msgid "Unable to remove old cache." +#: tools/ascli-actions-misc.c:509 +msgid "You need to specify a NEWS file as output, or '-' to print to stdout." msgstr "" +"Морате да наведете „NEWS“ датотеку као излаз или - да пишете на стандардни " +"излаз." -#: tools/ascli-actions-misc.c:370 -#, fuzzy, c-format -msgid "Unable to save desktop entry file: %s" -msgstr "Не могу да сачувам фајл мета-инфо шаблона: %s" +#: tools/ascli-actions-misc.c:540 +msgid "You need to specify a NEWS format to write the output in." +msgstr "Треба да наведете „NEWS“ формат да пишете у излаз." -#: tools/ascli-actions-mdata.c:552 -#, c-format -msgid "Unable to save the template metainfo file: %s" -msgstr "Не могу да сачувам фајл мета-инфо шаблона: %s" +#: tools/ascli-actions-pkgmgr.c:53 +msgid "" +"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" +"\" (part of PackageKit) is available." +msgstr "" +"Нисам нашао одговарајуће конзолно сучеље управника пакетима. Проверите да ли " +"је нпр. „pkcon“ доступан (део „PackageKit“-а)." #: tools/ascli-actions-pkgmgr.c:67 #, c-format msgid "Unable to spawn package manager: %s" -msgstr "Не могу да подигнем менаџер пакета: %s" +msgstr "Не могу да изродим управника пакета: %s" -#: tools/ascli-actions-mdata.c:322 +#. TRANSLATORS: We found no distribution package or bundle to install to make this software available +#: tools/ascli-actions-pkgmgr.c:106 #, c-format -msgid "Unable to write to '%s', can not install metainfo file." -msgstr "" +msgid "Component '%s' has no installation candidate." +msgstr "Компонента „%s“ нема кандидата за инсталацију." -#. TRANSLATORS: ascli has been run with unknown command. -#: tools/appstream-cli.c:1009 +#: tools/ascli-actions-validate.c:176 tools/ascli-actions-validate.c:354 #, c-format -msgid "Unknown command '%s'." -msgstr "" +msgid "File '%s' does not exist." +msgstr "Датотека „%s“ не постоји." -#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. -#: tools/appstream-cli.c:608 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "error"-type hints +#: tools/ascli-actions-validate.c:228 #, c-format -msgid "Unknown compare relation '%s'. Valid values are:" -msgstr "" - -#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) -#: tools/appstream-cli.c:675 -msgid "" -"Use the given .desktop file to fill in the basic values of the metainfo file." -msgstr "" - -#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) -#: tools/appstream-cli.c:725 -msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." -msgstr "" - -#. TRANSLATORS: this is the menu spec main category for Utilities -#: src/as-category.c:329 -msgid "Utilities" -msgstr "Помоћне алатке" +msgid "errors: %lu" +msgstr "грешке: %lu" -#: tools/appstream-cli.c:856 -msgid "Validate AppStream XML files for issues." -msgstr "Потврдите ИксМЛ фајлове Програмског тока за проблемиме." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "warning"-type hints +#: tools/ascli-actions-validate.c:235 +#, c-format +msgid "warnings: %lu" +msgstr "упозорења: %lu" -#: tools/appstream-cli.c:857 -msgid "Validate an installed file-tree of an application for valid metadata." -msgstr "" -"Потврдите инсталирано стабло фајлова програма за исправним метаподацима." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "info"-type hints +#: tools/ascli-actions-validate.c:242 +#, c-format +msgid "infos: %lu" +msgstr "инфо: %lu" -#: tools/ascli-actions-validate.c:301 tools/ascli-actions-validate.c:442 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "pedantic"-type hints +#: tools/ascli-actions-validate.c:249 #, c-format -msgid "Validation failed: %s" -msgstr "Оверавање није успело: %s" +msgid "pedantic: %lu" +msgstr "уредних: %lu" -#: tools/ascli-actions-validate.c:289 tools/ascli-actions-validate.c:430 +#: tools/ascli-actions-validate.c:268 tools/ascli-actions-validate.c:342 +msgid "You need to specify at least one file to validate!" +msgstr "Морате навести бар једну датотеку за потврђивање!" + +#: tools/ascli-actions-validate.c:294 tools/ascli-actions-validate.c:435 msgid "Validation was successful." msgstr "Потврђивање је успело." -#: tools/ascli-actions-validate.c:291 tools/ascli-actions-validate.c:432 +#: tools/ascli-actions-validate.c:296 tools/ascli-actions-validate.c:437 #, c-format msgid "Validation was successful: %s" msgstr "Потврђивање је успело: %s" -#: tools/appstream-cli.c:851 -msgid "Value of the item that should be found." -msgstr "" - -#: src/as-category.c:177 -msgctxt "Category of Graphics" -msgid "Vector Graphics" -msgstr "Векторска графика" - -#: tools/ascli-actions-misc.c:48 +#: tools/ascli-actions-validate.c:306 tools/ascli-actions-validate.c:447 #, c-format -msgid "Version: %s" -msgstr "Верзија: %s" - -#: src/as-category.c:180 -msgctxt "Category of Graphics" -msgid "Viewers" -msgstr "Прегледачи" +msgid "Validation failed: %s" +msgstr "Потврђивање није успело: %s" -#: tools/ascli-actions-misc.c:153 +#: tools/ascli-actions-validate.c:368 tools/ascli-actions-validate.c:497 #, c-format -msgid "We have information on %i software components." -msgstr "" - -#: src/as-category.c:270 -msgctxt "Category of Communication" -msgid "Web Browsers" -msgstr "Веб прегледачи" - -#: src/as-category.c:202 -msgctxt "Category of Office" -msgid "Word Processor" -msgstr "Обрада текста" - -#: tools/appstream-cli.c:871 -msgid "Write NEWS text or YAML file with information from a metainfo file." -msgstr "" - -#: tools/appstream-cli.c:874 -msgid "" -"You can find information about subcommand-specific options by passing \"--" -"help\" to the subcommand." -msgstr "" - -#. TRANSLATORS: In ascli: The requested action needs higher permissions. -#: tools/ascli-actions-mdata.c:70 -msgid "You might need superuser permissions to perform this action." -msgstr "Биће вам потребна администраторска овлашћења за обављање ове радње." - -#: tools/ascli-actions-mdata.c:447 msgid "" -"You need to give an AppStream software component type to generate a " -"template. Possible values are:" +"The validator can not create reports in the '%s' format. You may select " +"'yaml' or 'text' instead." msgstr "" +"Потврђивач не може да направи извештаје у „%s“ формату. Можете изабрати " +"„yaml“ или „text“." -#: tools/appstream-cli.c:579 -msgid "" -"You need to provide at least two version numbers to compare as parameters." -msgstr "" +#: tools/ascli-actions-validate.c:390 tools/ascli-actions-validate.c:484 +msgid "You need to specify a root directory to start validation!" +msgstr "Морате навести корену фасциклу да започнете потврђивање!" -#: tools/ascli-actions-misc.c:393 -#, fuzzy -msgid "You need to specify a NEWS file as input." -msgstr "Морате да наведете фајл за потврђивање!" +#: tools/ascli-utils.c:266 +msgid "Identifier" +msgstr "Одредник" -#: tools/ascli-actions-misc.c:509 -#, fuzzy -msgid "You need to specify a NEWS file as output, or '-' to print to stdout." -msgstr "Морате да наведете фајл за потврђивање!" +#: tools/ascli-utils.c:268 +msgid "Internal ID" +msgstr "Унутрашњи ИД" -#: tools/ascli-actions-misc.c:540 -#, fuzzy -msgid "You need to specify a NEWS format to write the output in." -msgstr "Морате да наведете улазни и излазни фајл." +#: tools/ascli-utils.c:269 +msgid "Name" +msgstr "Назив" -#. TRANSLATORS: ascli has been run without command. -#: tools/appstream-cli.c:925 -msgid "You need to specify a command." -msgstr "Морате да наведете наредбу." +#: tools/ascli-utils.c:270 +msgid "Summary" +msgstr "Сажетак" -#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments -#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. -#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:254 -#: tools/ascli-actions-pkgmgr.c:80 -msgid "You need to specify a component-ID." -msgstr "Морате да наведете ИД компоненте." +#: tools/ascli-utils.c:271 +msgid "Package" +msgstr "Пакет" -#: tools/ascli-actions-misc.c:188 -#, fuzzy -msgid "" -"You need to specify a desktop-entry file to create or augment as output." -msgstr "Морате да наведете фајл за потврђивање!" +#: tools/ascli-utils.c:272 +msgid "Bundle" +msgstr "Комплет" -#: tools/ascli-actions-mdata.c:309 -msgid "You need to specify a metadata file." -msgstr "" +#: tools/ascli-utils.c:273 +msgid "Homepage" +msgstr "Матична страница" -#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 -#, fuzzy -msgid "You need to specify a metainfo file as input." -msgstr "Морате да наведете фајл за потврђивање!" +#: tools/ascli-utils.c:274 +msgid "Icon" +msgstr "Иконица" -#: tools/ascli-actions-misc.c:397 -#, fuzzy -msgid "" -"You need to specify a metainfo file to augment, or '-' to print to stdout." -msgstr "Морате да наведете фајл за потврђивање!" +#. developer name +#: tools/ascli-utils.c:294 +msgid "Developer" +msgstr "Програмер" -#: tools/ascli-actions-validate.c:385 tools/ascli-actions-validate.c:479 -msgid "You need to specify a root directory to start validation!" -msgstr "Морате навести корену фасциклу за почињање потврђивања!" +#: tools/ascli-utils.c:300 +msgid "Extends" +msgstr "Проширења" -#: tools/ascli-actions-mdata.c:164 -msgid "You need to specify a term to search for." -msgstr "Морате да наведете појам за тражење." +#: tools/ascli-utils.c:306 +msgid "Description" +msgstr "Опис" -#: tools/ascli-actions-mdata.c:357 -msgid "You need to specify an input and output file." -msgstr "Морате да наведете улазни и излазни фајл." +#: tools/ascli-utils.c:326 +msgid "Default Screenshot URL" +msgstr "Адреса основног снимка екрана" -#: tools/ascli-actions-validate.c:263 tools/ascli-actions-validate.c:337 -#, fuzzy -msgid "You need to specify at least one file to validate!" -msgstr "Морате да наведете фајл за потврђивање!" +#. project group +#: tools/ascli-utils.c:333 +msgid "Project Group" +msgstr "Група пројекта" -#. TRANSLATORS: List of "grey-listed" words sperated with ";" -#. * Do not translate this list directly. Instead, -#. * provide a list of words in your language that people are likely -#. * to include in a search but that should normally be ignored in -#. * the search. -#. -#: src/as-pool.c:107 -msgid "app;application;package;program;programme;suite;tool" -msgstr "" -"app;application;package;program;programme;suite;tool;апп;апликација;пакет;" -"програм;комплет;алат;aplikacija;komplet;alat;paket" +#. license +#: tools/ascli-utils.c:336 +msgid "License" +msgstr "Лиценца" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:223 -#, c-format -msgid "errors: %lu" -msgstr "" +#: tools/ascli-utils.c:342 +msgid "Categories" +msgstr "Категорије" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:237 -#, c-format -msgid "infos: %lu" -msgstr "" +#: tools/ascli-utils.c:350 +msgid "Compulsory for" +msgstr "Неопходан за" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:244 -#, c-format -msgid "pedantic: %lu" -msgstr "" +#: tools/ascli-utils.c:378 +msgid "Provided Items" +msgstr "Достављене ставке" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:230 #, c-format -msgid "warnings: %lu" -msgstr "" - -#~ msgid "Command '%s' is unknown." -#~ msgstr "Наредба „%s“ није позната." - -#~ msgid "Do not use any caches when performing the request." -#~ msgstr "Не користи кеш при обради захтева." - -#~ msgid "AppStream cache update failed." -#~ msgstr "Освежавање оставе Програмског тока није успело." - -#, fuzzy -#~ msgid "Category of Games" -#~ msgstr "Категорије" - -#, fuzzy -#~ msgid "Category of Office" -#~ msgstr "Категорије" - -#, fuzzy -#~ msgid "Category of Science" -#~ msgstr "Категорије" - -#~ msgid "Extensions" -#~ msgstr "Проширења" - -#~ msgid "File %s not found or permission denied!" -#~ msgstr "Нисам пронашао датотеку „%s“ или су овлашћења одбијена!" +#~ msgid "Unable to open new cache file: %s" +#~ msgstr "Не могу да отворим нову датотеку оставе: %s" #, fuzzy -#~ msgid "No component providing '%s::%s' found." -#~ msgstr "Нисам нашао састојак који обезбеђује „%s;%s“." +#~ msgid "An item type (e.g. lib, bin, python3, …)" +#~ msgstr "Тип ставке (нпр. lib, bin, python3, ...)" -#~ msgid "XDG Menu XML file '%s' is damaged." -#~ msgstr "ИксМЛ датотека „%s“ ИксДГ изборника је оштећена." +#~ msgid "Get components which provide the given item." +#~ msgstr "Добавља компоненте који омогућавају дату ставку." diff -Nru appstream-0.12.10/po/sv.po appstream-0.14.5/po/sv.po --- appstream-0.12.10/po/sv.po 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/po/sv.po 2021-08-28 20:15:28.000000000 +0000 @@ -1,18 +1,33 @@ +# #-#-#-#-# sv.po (AppStream) #-#-#-#-# # Swedish translation of AppStream. # Copyright (C) YEAR Matthias Klumpp # This file is distributed under the same license as the appstream package. # Translators: # sebras , 2015-2016. # Josef Andersson , 2015, 2017. -# Anders Jonsson , 2019. +# Anders Jonsson , 2019, 2021. # Mattias Münster , 2019. +# #-#-#-#-# sv.po (appstream-glib) #-#-#-#-# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Josef Andersson , 2015 +# sebras , 2015-2016 +# Göran Uddeborg , 2016. #zanata +# Richard Hughes , 2016. #zanata +# Anders Jonsson , 2017. #zanata, 2021. +# Göran Uddeborg , 2018. #zanata +# Anders Jonsson , 2019. #zanata, 2021. +# Ulf Lundh , 2020. +# +# Translators: msgid "" msgstr "" -"Project-Id-Version: AppStream\n" +"Project-Id-Version: appstream-glib\n" "Report-Msgid-Bugs-To: appstream@lists.freedesktop.org\n" -"POT-Creation-Date: 2020-01-14 01:44+0100\n" -"PO-Revision-Date: 2019-11-26 05:05+0000\n" -"Last-Translator: Mattias Münster \n" +"POT-Creation-Date: 2021-08-28 16:09+0200\n" +"PO-Revision-Date: 2021-08-26 19:34+0000\n" +"Last-Translator: Anders Jonsson \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -20,1887 +35,3025 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 3.10-dev\n" - -#: tools/appstream-cli.c:157 -#, c-format -msgid "'%s' command" -msgstr "”%s”-kommando" - -#: src/as-category.c:168 -msgctxt "Category of Graphics" -msgid "3D Graphics" -msgstr "3D-grafik" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:254 -msgid "" -"A 'requires' or 'recommends' item requires a value to denote a valid " -"relation." -msgstr "" - -#: src/as-validator-issue-tag.h:51 -msgid "" -"A tag must not be localized in metainfo files (upstream " -"metadata). Localize the individual paragraphs instead." -msgstr "" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:195 -msgid "" -"A screenshot must contain at least one image or video in order to be useful. " -"Please add an to it." -msgstr "" - -#: src/as-validator-issue-tag.h:200 -msgid "" -"A screenshot must contain either images or videos, but not both at the same " -"time. Please use this screenshot exclusively for either static images or for " -"videos." -msgstr "" - -#: src/as-category.c:123 -msgctxt "Category of Games" -msgid "Action" -msgstr "Action" - -#. TRANSLATORS: this is the main category for Add-ons -#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor -#: src/as-category.c:320 tools/ascli-utils.c:398 -msgid "Add-ons" -msgstr "Tillägg" - -#: src/as-category.c:126 -msgctxt "Category of Games" -msgid "Adventure" -msgstr "Äventyr" - -#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) -#: tools/appstream-cli.c:116 -msgid "Also show pedantic hints." -msgstr "Visa också pedantiska tips." - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:497 -msgid "" -"An 'extends' tag is specified, but the component is not of type 'addon', " -"'localization' or 'repository'." -msgstr "" - -#: tools/appstream-cli.c:850 -msgid "An item type (e.g. lib, bin, python3, …)" -msgstr "Ett objekts typ (t.ex. lib, bin, python3, …)" - -#: data/org.freedesktop.appstream.cli.metainfo.xml:9 -msgid "An utility to work with AppStream metadata" -msgstr "Ett verktyg för att jobba med AppStream-metadata" +"X-Generator: Weblate 4.8.1-dev\n" #: data/org.freedesktop.appstream.cli.metainfo.xml:8 msgid "AppStream CLI" msgstr "AppStream-CLI" -#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. -#: tools/appstream-cli.c:947 -#, c-format -msgid "" -"AppStream CLI tool version: %s\n" -"AppStream library version: %s" -msgstr "" -"Version av AppStreams CLI-verktyg: %s\n" -"Version av AppStream-bibliotek: %s" - -#. TRANSLATORS: In the status report of ascli: Header -#: tools/ascli-actions-misc.c:47 -msgid "AppStream Status:" -msgstr "AppStream-status:" - -#. we performed a cache refresh -#. TRANSLATORS: Updating the metadata cache succeeded -#: tools/ascli-actions-mdata.c:80 -msgid "AppStream cache update completed successfully." -msgstr "Uppdatering av AppStreams cache färdig." - -#. cache wasn't updated, so the update wasn't necessary -#: tools/ascli-actions-mdata.c:86 -msgid "AppStream cache update is not necessary." -msgstr "Uppdatering av AppStream-cache behövs inte." - -#. TRANSLATORS: This is the header to the --help menu for subcommands -#. TRANSLATORS: This is the header to the --help menu -#: tools/appstream-cli.c:154 tools/appstream-cli.c:843 -msgid "AppStream command-line interface" -msgstr "AppStreams kommandoradsgränssnitt" - -#: src/as-validator-issue-tag.h:63 -msgid "" -"AppStream descriptions support only a limited set of tags to format text: " -"Paragraphs (

                                                                                                                                                                                                                                                                                                                                                                                    ) and lists (

                                                                                                                                                                                                                                                                                                                                                                                      ,
                                                                                                                                                                                                                                                                                                                                                                                        ). This description markup contains " -"an invalid XML tag that would not be rendered correctly in applications " -"supporting the metainfo specification." -msgstr "" +#: data/org.freedesktop.appstream.cli.metainfo.xml:9 +msgid "An utility to work with AppStream metadata" +msgstr "Ett verktyg för att jobba med AppStream-metadata" #: data/org.freedesktop.appstream.cli.metainfo.xml:12 msgid "" -"AppStream is a cross-distribution specification to provide metadata about " -"software components." -msgstr "" -"AppStream är en multiplattform-specifikation för att tillhandahålla metadata " -"om programkomponenter." +"AppStream is a metadata specification which permits software components to " +"provide information about themselves to automated systems and end-users " +"before the software is actually installed. The AppStream project provides " +"facilities to easily access and transform this metadata, as well as a few " +"additional services for building feature-rich software centers and similar " +"applications that make use of software metadata." +msgstr "" +"AppStream är en metadataspecifikation som låter programvarukomponenter " +"tillhandahålla information om sig själva till automatiserade system och " +"slutanvändare innan programvaran faktiskt installeras. AppStream-projektet " +"tillhandahåller funktionalitet för att lätt komma åt och transformera dessa " +"metadata, såväl som några ytterligare tjänster för att bygga funktionsrika " +"programcentraler och liknande program som drar nytta av programvarumetadata." + +#: data/org.freedesktop.appstream.cli.metainfo.xml:18 +msgid "" +"The appstreamcli command-line tool allows to read, write, and " +"transform AppStream XML or YAML metadata as well as to validate it for " +"compliance with the specification. It also provides easy access to the " +"system metadata pool, for example to query for software that provides a " +"specific Mediatype handler or for installing software by its component " +"identifier." +msgstr "" +"Kommandoradsverktyget appstreamcli möjliggör läsning, skrivning och " +"transformering av AppStream XML- eller YAML-metadata samt att validera att " +"det stämmer mot specifikationen. Det ger också enkel åtkomst till " +"systemmetadatapoolen för att till exempel söka efter program som innehåller " +"en specifik Mediatype-hanterare eller för att installera programvara med " +"dess komponentidentifierare." -#: src/as-pool.c:1937 -#, fuzzy, c-format -msgid "" -"AppStream system cache refresh failed. Turn on verbose mode to get detailed " -"issue information." -msgstr "" -"Misslyckades med uppdatering av AppStream-cache. Slå på utförligt läge för " -"att se detaljerad felinformation." +#: src/as-category.c:66 +msgctxt "Category of AudioVideo" +msgid "Featured" +msgstr "I blickfånget" -#. TRANSLATORS: Output if appstreamcli --version is executed. -#: tools/appstream-cli.c:944 -#, c-format -msgid "AppStream version: %s" -msgstr "AppStream-version: %s" +#: src/as-category.c:69 +msgctxt "Category of AudioVideo" +msgid "Audio Creation & Editing" +msgstr "Ljudskapande och redigering" -#: src/as-category.c:129 -msgctxt "Category of Games" -msgid "Arcade" -msgstr "Arkad" +#: src/as-category.c:75 +msgctxt "Category of AudioVideo" +msgid "Music Players" +msgstr "Musikspelare" -#: src/as-category.c:234 -msgctxt "Category of Science" -msgid "Artificial Intelligence" -msgstr "Artificiell intelligens" +#: src/as-category.c:84 +msgctxt "Category of Development" +msgid "Featured" +msgstr "I blickfånget" -#: src/as-validator-issue-tag.h:91 -msgid "" -"As per AppStream specification, the mentioned tag must only appear once in " -"this context. Having multiple tags of this kind is not valid." -msgstr "" +#: src/as-category.c:87 +msgctxt "Category of Development" +msgid "Debuggers" +msgstr "Felsökare" -#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command -#: tools/appstream-cli.c:766 -msgid "Assume the input file is in the selected format ('yaml' or 'text')." -msgstr "" +#: src/as-category.c:90 +msgctxt "Category of Development" +msgid "IDEs" +msgstr "Utvecklingsmiljöer" -#: src/as-category.c:101 +#: src/as-category.c:99 msgctxt "Category of Education" -msgid "Astronomy" -msgstr "Astronomi" +msgid "Featured" +msgstr "I blickfånget" -#: src/as-category.c:237 -msgctxt "Category of Science" +#: src/as-category.c:102 +msgctxt "Category of Education" msgid "Astronomy" msgstr "Astronomi" -#. TRANSLATORS: this is the menu spec main category for Audio & Video -#: src/as-category.c:302 -msgid "Audio & Video" -msgstr "Ljud och video" +#: src/as-category.c:105 +msgctxt "Category of Education" +msgid "Chemistry" +msgstr "Kemi" -#: src/as-category.c:68 -msgctxt "Category of AudioVideo" -msgid "Audio Creation & Editing" -msgstr "Ljudskapande och redigering" +#: src/as-category.c:108 +msgctxt "Category of Education" +msgid "Languages" +msgstr "Språk" -#: tools/ascli-actions-misc.c:219 -#, c-format -msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." -msgstr "" +#: src/as-category.c:112 +msgctxt "Category of Education" +msgid "Math" +msgstr "Matematik" -#: src/as-provided.c:146 -msgid "Binaries" -msgstr "Binärer" +#: src/as-category.c:121 +msgctxt "Category of Games" +msgid "Featured" +msgstr "I blickfånget" + +#: src/as-category.c:124 +msgctxt "Category of Games" +msgid "Action" +msgstr "Action" + +#: src/as-category.c:127 +msgctxt "Category of Games" +msgid "Adventure" +msgstr "Äventyr" + +#: src/as-category.c:130 +msgctxt "Category of Games" +msgid "Arcade" +msgstr "Arkad" -#: src/as-category.c:132 +#: src/as-category.c:133 msgctxt "Category of Games" msgid "Blocks" msgstr "Block" -#: src/as-category.c:135 +#: src/as-category.c:136 msgctxt "Category of Games" msgid "Board" msgstr "Brädspel" -#: tools/ascli-utils.c:299 -msgid "Bundle" -msgstr "Bunt" - -#: src/as-pool.c:1828 -#, c-format -msgid "Cache location '%s' is not writable." -msgstr "Cacheplats ”%s” är inte skrivbar." - -#: src/as-category.c:191 -msgctxt "Category of Office" -msgid "Calendar" -msgstr "Kalender" - -#: tools/ascli-actions-mdata.c:327 -#, c-format -msgid "" -"Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " -"suffix." -msgstr "" -"Kan inte kopiera ”%s”: Filen har inte ett ”.metainfo.xml” eller ”.appdata." -"xml”-suffix." - -#: src/as-category.c:138 +#: src/as-category.c:139 msgctxt "Category of Games" msgid "Card" msgstr "Kort" -#: tools/ascli-utils.c:369 -msgid "Categories" -msgstr "Kategorier" +#: src/as-category.c:142 +msgctxt "Category of Games" +msgid "Emulators" +msgstr "Emulatorer" -#: src/as-category.c:259 -msgctxt "Category of Communication" -msgid "Chat" -msgstr "Chatt" +#: src/as-category.c:145 +msgctxt "Category of Games" +msgid "Kids" +msgstr "Barn" -#: src/as-category.c:104 -msgctxt "Category of Education" -msgid "Chemistry" -msgstr "Kemi" +#: src/as-category.c:148 +msgctxt "Category of Games" +msgid "Logic" +msgstr "Logik" -#: src/as-category.c:240 -msgctxt "Category of Science" -msgid "Chemistry" -msgstr "Kemi" +#: src/as-category.c:151 +msgctxt "Category of Games" +msgid "Role Playing" +msgstr "Rollspel" -#: src/as-category.c:214 -msgctxt "Category of Addons" -msgid "Codecs" -msgstr "Kodekar" +#: src/as-category.c:154 +msgctxt "Category of Games" +msgid "Sports" +msgstr "Sport" -#. TRANSLATORS: this is the menu spec main category for Communication -#: src/as-category.c:326 -msgid "Communication & News" -msgstr "Kommunikation och nyheter" +#: src/as-category.c:158 +msgctxt "Category of Games" +msgid "Strategy" +msgstr "Strategi" -#: tools/appstream-cli.c:866 -msgid "Compare two version numbers." -msgstr "Jämför två versionsnummer." +#: src/as-category.c:166 +msgctxt "Category of Graphics" +msgid "Featured" +msgstr "I blickfånget" -#: src/as-provided.c:166 -msgid "Component" -msgstr "Komponent" +#: src/as-category.c:169 +msgctxt "Category of Graphics" +msgid "3D Graphics" +msgstr "3D-grafik" -#. TRANSLATORS: We found no distribution package or bundle to install to make this software available -#: tools/ascli-actions-pkgmgr.c:106 -#, c-format -msgid "Component '%s' has no installation candidate." -msgstr "Komponenten ”%s” har ingen installationskandidat." +#: src/as-category.c:172 +msgctxt "Category of Graphics" +msgid "Photography" +msgstr "Fotografi" -#: tools/ascli-utils.c:377 -msgid "Compulsory for" -msgstr "Obligatorisk för" +#: src/as-category.c:175 +msgctxt "Category of Graphics" +msgid "Scanning" +msgstr "Skanning" -#: src/as-validator-issue-tag.h:361 -msgid "Consider using a secure (HTTPS) URL for the remote icon link." -msgstr "" - -#: src/as-validator-issue-tag.h:383 -msgid "Consider using a secure (HTTPS) URL for this web link." -msgstr "" - -#: src/as-validator-issue-tag.h:189 -msgid "" -"Consider using a secure (HTTPS) URL to reference this screenshot image or " -"video." -msgstr "" - -#: tools/appstream-cli.c:870 -msgid "Convert a YAML or text NEWS file into metainfo releases." -msgstr "" - -#. TRANSLATORS: "convert" command in ascli. "Collection XML" is a term describing a specific type of AppStream XML data. -#: tools/appstream-cli.c:865 -msgid "Convert collection XML to YAML or vice versa." -msgstr "Konvertera Collection XML till YAML eller tvärtom." - -#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results -#: tools/ascli-actions-mdata.c:228 -#, c-format -msgid "Could not find component providing '%s::%s'." -msgstr "Kunde inte hitta komponent som tillhandahåller ”%s::%s”." - -#: tools/appstream-cli.c:869 -msgid "Create a XDG desktop-entry file from a metainfo file." -msgstr "" - -#: tools/appstream-cli.c:868 -msgid "" -"Create a template for a metainfo file (to be filled out by the upstream " -"project)." -msgstr "" -"Skapa en mall för en metainfofil (att fyllas i av projektet uppströms)." +#: src/as-category.c:178 +msgctxt "Category of Graphics" +msgid "Vector Graphics" +msgstr "Vektorgrafik" -#: tools/ascli-actions-misc.c:228 -#, c-format -msgid "Creating new desktop-entry file '%s' using data from '%s'" -msgstr "" +#: src/as-category.c:181 +msgctxt "Category of Graphics" +msgid "Viewers" +msgstr "Visare" -#: src/as-provided.c:160 -msgid "D-Bus Session Services" -msgstr "D-Bus-sessionstjänster" +#: src/as-category.c:189 +msgctxt "Category of Office" +msgid "Featured" +msgstr "I blickfånget" -#: src/as-provided.c:158 -msgid "D-Bus System Services" -msgstr "D-Bus-systemtjänster" +#: src/as-category.c:192 +msgctxt "Category of Office" +msgid "Calendar" +msgstr "Kalender" -#: src/as-category.c:195 +#: src/as-category.c:196 msgctxt "Category of Office" msgid "Database" msgstr "Databas" -#: src/as-category.c:86 -msgctxt "Category of Development" -msgid "Debuggers" -msgstr "Felsökare" - -#: tools/ascli-utils.c:353 -msgid "Default Screenshot URL" -msgstr "URL för exempelbild" - -#. TRANSLATORS: ascli flag description for: --format -#: tools/appstream-cli.c:83 -msgid "Default metadata format (valid values are 'xml' and 'yaml')." -msgstr "Standardmetadataformat (giltiga värden är ”xml” och ”yaml”)." - -#: tools/ascli-utils.c:333 -msgid "Description" -msgstr "Beskrivning" - -#. developer name -#: tools/ascli-utils.c:321 -msgid "Developer" -msgstr "Utvecklare" - -#. TRANSLATORS: this is the menu spec main category for Development -#: src/as-category.c:305 -msgid "Developer Tools" -msgstr "Utvecklarverktyg" - -#: tools/appstream-cli.c:862 -msgid "Display status information about available AppStream metadata." -msgstr "Visa statusinformation om tillgänglig AppStream-metadata." +#: src/as-category.c:199 +msgctxt "Category of Office" +msgid "Finance" +msgstr "Finans" -#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions -#: tools/ascli-actions-misc.c:52 -msgid "Distribution metadata:" -msgstr "Distributionsmetadata:" +#: src/as-category.c:203 +msgctxt "Category of Office" +msgid "Word Processor" +msgstr "Ordbehandlare" -#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) -#: tools/appstream-cli.c:126 -msgid "Do not use network access." -msgstr "Använd inte nätverksåtkomst." +#: src/as-category.c:212 +msgctxt "Category of Addons" +msgid "Fonts" +msgstr "Typsnitt" -#. TRANSLATORS: ascli flag description for: --no-color -#: tools/appstream-cli.c:908 -msgid "Don't show colored output." -msgstr "Visa inte färgad utdata." +#: src/as-category.c:215 +msgctxt "Category of Addons" +msgid "Codecs" +msgstr "Kodekar" -#: tools/appstream-cli.c:853 -msgid "Dump raw XML metadata for a component matching the ID." -msgstr "Dumpa rå XML-metadata för en komponent som matchar ID:t." +#: src/as-category.c:218 +msgctxt "Category of Addons" +msgid "Input Sources" +msgstr "Indatakällor" -#. TRANSLATORS: this is the menu spec main category for Education -#: src/as-category.c:308 -msgid "Education" -msgstr "Utbildning" +#: src/as-category.c:221 +msgctxt "Category of Addons" +msgid "Language Packs" +msgstr "Språkpaket" -#. TRANSLATORS: No metainfo files have been found -#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 -msgid "Empty." -msgstr "Tom." +#: src/as-category.c:224 +msgctxt "Category of Addons" +msgid "Localization" +msgstr "Lokalisering" -#: src/as-category.c:141 -msgctxt "Category of Games" -msgid "Emulators" -msgstr "Emulatorer" +#: src/as-category.c:232 +msgctxt "Category of Science" +msgid "Featured" +msgstr "I blickfånget" -#. TRANSLATORS: ascli flag description for: --force -#: tools/appstream-cli.c:245 -msgid "Enforce a cache refresh." -msgstr "Tvinga en cache-uppdatering." +#: src/as-category.c:235 +msgctxt "Category of Science" +msgid "Artificial Intelligence" +msgstr "Artificiell intelligens" -#: src/as-validator-issue-tag.h:74 -msgid "Enumerations must only have list items (
                                                                                                                                                                                                                                                                                                                                                                                      1. ) as children." -msgstr "" +#: src/as-category.c:238 +msgctxt "Category of Science" +msgid "Astronomy" +msgstr "Astronomi" -#: tools/ascli-actions-misc.c:159 -#, c-format -msgid "Error while loading the metadata pool: %s" -msgstr "Fel vid inläsning av poolen för metadata: %s" +#: src/as-category.c:241 +msgctxt "Category of Science" +msgid "Chemistry" +msgstr "Kemi" -#: tools/ascli-utils.c:327 -msgid "Extends" -msgstr "Utökar" +#: src/as-category.c:244 +msgctxt "Category of Science" +msgid "Math" +msgstr "Matematik" -#: src/as-category.c:65 -msgctxt "Category of AudioVideo" -msgid "Featured" -msgstr "I blickfånget" +#: src/as-category.c:249 +msgctxt "Category of Science" +msgid "Robotics" +msgstr "Robotar" -#: src/as-category.c:256 +#: src/as-category.c:257 msgctxt "Category of Communication" msgid "Featured" msgstr "I blickfånget" -#: src/as-category.c:83 -msgctxt "Category of Development" -msgid "Featured" -msgstr "I blickfånget" - -#: src/as-category.c:98 -msgctxt "Category of Education" -msgid "Featured" -msgstr "I blickfånget" - -#: src/as-category.c:120 -msgctxt "Category of Games" -msgid "Featured" -msgstr "I blickfånget" +#: src/as-category.c:260 +msgctxt "Category of Communication" +msgid "Chat" +msgstr "Chatt" -#: src/as-category.c:165 -msgctxt "Category of Graphics" -msgid "Featured" -msgstr "I blickfånget" +#: src/as-category.c:267 +msgctxt "Category of Communication" +msgid "News" +msgstr "Nyheter" -#: src/as-category.c:188 -msgctxt "Category of Office" -msgid "Featured" -msgstr "I blickfånget" +#: src/as-category.c:271 +msgctxt "Category of Communication" +msgid "Web Browsers" +msgstr "Webbläsare" -#: src/as-category.c:231 -msgctxt "Category of Science" +#: src/as-category.c:279 +msgctxt "Category of Utility" msgid "Featured" msgstr "I blickfånget" -#: src/as-category.c:278 +#: src/as-category.c:282 msgctxt "Category of Utility" -msgid "Featured" -msgstr "I blickfånget" +msgid "Text Editors" +msgstr "Textredigerare" -#: tools/ascli-actions-validate.c:171 tools/ascli-actions-validate.c:349 -#, fuzzy, c-format -msgid "File '%s' does not exist." -msgstr "Metadatafilen ”%s” existerar inte." +#: src/as-category.c:285 +msgctxt "Category of Utility" +msgid "Terminal Emulators" +msgstr "Terminaler" -#: src/as-category.c:287 +#: src/as-category.c:288 msgctxt "Category of Utility" msgid "File System" msgstr "Filsystem" -#: src/as-category.c:198 -msgctxt "Category of Office" -msgid "Finance" -msgstr "Finans" +#: src/as-category.c:291 +msgctxt "Category of Utility" +msgid "System Monitoring" +msgstr "Systemövervakning" -#: src/as-provided.c:164 -msgid "Flashed Firmware" -msgstr "Programmerad fast programvara" +#: src/as-category.c:294 +msgctxt "Category of Utility" +msgid "Security" +msgstr "Säkerhet" -#: src/as-provided.c:150 -msgid "Fonts" -msgstr "Typsnitt" +#. TRANSLATORS: this is the menu spec main category for Audio & Video +#: src/as-category.c:303 +msgid "Audio & Video" +msgstr "Ljud och video" -#: src/as-category.c:211 -msgctxt "Category of Addons" -msgid "Fonts" -msgstr "Typsnitt" +#. TRANSLATORS: this is the menu spec main category for Development +#: src/as-category.c:306 +msgid "Developer Tools" +msgstr "Utvecklarverktyg" -#: src/as-validator-issue-tag.h:237 -msgid "" -"For videos, only the WebM and Matroska (.mkv) container formats are " -"currently supported. The file extension of the referenced video does not " -"belong to either of these formats." -msgstr "" +#. TRANSLATORS: this is the menu spec main category for Education +#: src/as-category.c:309 +msgid "Education" +msgstr "Utbildning" -#. TRANSLATORS: ascli flag description for: --format when validating XML files -#: tools/appstream-cli.c:131 -#, fuzzy -msgid "Format of the generated report (valid values are 'text' and 'yaml')." -msgstr "Standardmetadataformat (giltiga värden är ”xml” och ”yaml”)." +#. TRANSLATORS: this is the menu spec main category for Game +#: src/as-category.c:312 +msgid "Games" +msgstr "Spel" -#. TRANSLATORS: Found metainfo files in legacy directories -#: tools/ascli-actions-misc.c:138 +#. TRANSLATORS: this is the menu spec main category for Graphics +#: src/as-category.c:315 +msgid "Graphics & Photography" +msgstr "Grafik och bilder" + +#. TRANSLATORS: this is the menu spec main category for Office +#: src/as-category.c:318 +msgid "Office" +msgstr "Kontor" + +#. TRANSLATORS: this is the main category for Add-ons +#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor +#: src/as-category.c:321 tools/ascli-utils.c:371 +msgid "Add-ons" +msgstr "Tillägg" + +#. TRANSLATORS: this is the menu spec main category for Science +#: src/as-category.c:324 +msgid "Science" +msgstr "Vetenskap" + +#. TRANSLATORS: this is the menu spec main category for Communication +#: src/as-category.c:327 +msgid "Communication & News" +msgstr "Kommunikation och nyheter" + +#. TRANSLATORS: this is the menu spec main category for Utilities +#: src/as-category.c:330 +msgid "Utilities" +msgstr "Verktyg" + +#. TRANSLATORS: This is the formatting of English and localized name +#. * of the rating e.g. "Adults Only (solo adultos)" +#: src/as-content-rating.c:298 +#, c-format +msgid "%s (%s)" +msgstr "%s (%s)" + +#: src/as-content-rating.c:444 +msgid "General" +msgstr "Allmänt" + +#: src/as-content-rating.c:453 +msgid "ALL" +msgstr "ALLA" + +#: src/as-content-rating.c:457 src/as-content-rating.c:560 +msgid "Adults Only" +msgstr "Endast för vuxna" + +#: src/as-content-rating.c:459 src/as-content-rating.c:559 +msgid "Mature" +msgstr "Mogen" + +#: src/as-content-rating.c:461 src/as-content-rating.c:558 +msgid "Teen" +msgstr "Tonåring" + +#: src/as-content-rating.c:463 src/as-content-rating.c:557 +msgid "Everyone 10+" +msgstr "Alla över 10 år" + +#: src/as-content-rating.c:465 src/as-content-rating.c:556 +msgid "Everyone" +msgstr "Alla" + +#: src/as-content-rating.c:467 src/as-content-rating.c:555 +msgid "Early Childhood" +msgstr "Tidig barndom" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:839 +msgid "No cartoon violence" +msgstr "Inget tecknat våld" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:841 +msgid "Cartoon characters in unsafe situations" +msgstr "Tecknade figurer i farliga situationer" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:843 +msgid "Cartoon characters in aggressive conflict" +msgstr "Tecknade figurer i aggressiv konflikt" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:845 +msgid "Graphic violence involving cartoon characters" +msgstr "Våldsskildring som involverar tecknade figurer" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:850 +msgid "No fantasy violence" +msgstr "Inget orealistiskt våld" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:852 +msgid "Characters in unsafe situations easily distinguishable from reality" +msgstr "Figurer i farliga situationer lätt åtskiljbara från verkligheten" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:854 +msgid "Characters in aggressive conflict easily distinguishable from reality" +msgstr "Figurer i aggressiv konflikt lätt åtskiljbar från verkligheten" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:856 +msgid "Graphic violence easily distinguishable from reality" +msgstr "Våldsskildring lätt åtskiljbar från verkligheten" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:861 +msgid "No realistic violence" +msgstr "Inget realistiskt våld" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:863 +msgid "Mildly realistic characters in unsafe situations" +msgstr "Någorlunda realistiska figurer i farliga situationer" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:865 +msgid "Depictions of realistic characters in aggressive conflict" +msgstr "Skildringar av realistiska figurer i aggressiv konflikt" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:867 +msgid "Graphic violence involving realistic characters" +msgstr "Våldsskildring som involverar realistiska figurer" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:872 +msgid "No bloodshed" +msgstr "Ingen blodsutgjutelse" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:874 +msgid "Unrealistic bloodshed" +msgstr "Orealistisk blodsutgjutelse" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:876 +msgid "Realistic bloodshed" +msgstr "Realistisk blodsutgjutelse" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:878 +msgid "Depictions of bloodshed and the mutilation of body parts" +msgstr "Skildringar av blodsutgjutelse och lemlästning" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:883 +msgid "No sexual violence" +msgstr "Inget sexuellt våld" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:885 +msgid "Rape or other violent sexual behavior" +msgstr "Våldtäkt eller annat våldsamt sexuellt beteende" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:892 +msgid "No references to alcohol" +msgstr "Inga referenser till alkohol" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:894 +msgid "References to alcoholic beverages" +msgstr "Referenser till alkoholhaltiga drycker" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:896 +msgid "Use of alcoholic beverages" +msgstr "Användning av alkoholhaltiga drycker" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:902 +msgid "No references to illicit drugs" +msgstr "Inga referenser till illegala droger" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:904 +msgid "References to illicit drugs" +msgstr "Referenser till illegala droger" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:906 +msgid "Use of illicit drugs" +msgstr "Användning av illegala droger" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:912 +msgid "No references to tobacco products" +msgstr "Inga referenser till tobaksprodukter" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:914 +msgid "References to tobacco products" +msgstr "Referenser till tobaksprodukter" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:916 +msgid "Use of tobacco products" +msgstr "Användning av tobaksprodukter" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:922 +msgid "No nudity of any sort" +msgstr "Inga sorters nakenhet" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:924 +msgid "Brief artistic nudity" +msgstr "Kortvarig konstnärlig nakenhet" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:926 +msgid "Prolonged nudity" +msgstr "Långvarig nakenhet" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:932 +msgid "No references to or depictions of sexual nature" +msgstr "Inga sexuella referenser eller skildringar" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:934 +msgid "Provocative references or depictions" +msgstr "Provokativa referenser eller skildringar" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:936 +msgid "Sexual references or depictions" +msgstr "Sexuella referenser eller skildringar" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:938 +msgid "Graphic sexual behavior" +msgstr "Skildring av sexuellt beteende" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:943 +msgid "No profanity of any kind" +msgstr "Inga sorters svordomar" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:945 +msgid "Mild or infrequent use of profanity" +msgstr "Milda eller tillfälligt förekommande svordomar" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:947 +msgid "Moderate use of profanity" +msgstr "Måttlig användning av svordomar" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:949 +msgid "Strong or frequent use of profanity" +msgstr "Grova eller ofta förekommande svordomar" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:954 +msgid "No inappropriate humor" +msgstr "Ingen olämplig humor" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:956 +msgid "Slapstick humor" +msgstr "Slapstickhumor" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:958 +msgid "Vulgar or bathroom humor" +msgstr "Vulgär humor eller badrumshumor" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:960 +msgid "Mature or sexual humor" +msgstr "Mogen eller sexuell humor" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:965 +msgid "No discriminatory language of any kind" +msgstr "Inget diskriminerande språkbruk" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:967 +msgid "Negativity towards a specific group of people" +msgstr "Negativ inställning mot en specifik folkgrupp" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:969 +msgid "Discrimination designed to cause emotional harm" +msgstr "Diskriminering avsedd att orsaka emotionell smärta" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:971 +msgid "Explicit discrimination based on gender, sexuality, race or religion" +msgstr "" +"Explicit diskriminering baserad på kön, sexuell läggning, ras eller religion" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:976 +msgid "No advertising of any kind" +msgstr "Inga sorters annonser" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:978 +msgid "Product placement" +msgstr "Produktplacering" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:980 +msgid "Explicit references to specific brands or trademarked products" +msgstr "" +"Explicita referenser till specifika varumärken eller varumärkesskyddade " +"produkter" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:982 +msgid "Users are encouraged to purchase specific real-world items" +msgstr "Användare uppmanas att köpa specifika föremål i verkliga världen" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:987 +msgid "No gambling of any kind" +msgstr "Inget spelande" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:989 +msgid "Gambling on random events using tokens or credits" +msgstr "Spel på slumpbaserade händelser med marker eller poäng" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:991 +msgid "Gambling using “play” money" +msgstr "Spel med låtsaspengar" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:993 +msgid "Gambling using real money" +msgstr "Spel med riktiga pengar" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:998 +msgid "No ability to spend money" +msgstr "Ingen möjlighet att spendera pengar" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1000 +msgid "Users are encouraged to donate real money" +msgstr "Användare uppmanas att skänka riktiga pengar" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1003 +msgid "Ability to spend real money in-app" +msgstr "Möjlighet att spendera riktiga pengar i programmet" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1008 +msgid "No way to chat with other users" +msgstr "Inget sätt att chatta med andra användare" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1010 +msgid "User-to-user interactions without chat functionality" +msgstr "Interaktion mellan användare utan chattfunktion" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1012 +msgid "Moderated chat functionality between users" +msgstr "Modererad chattfunktion mellan användare" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1014 +msgid "Uncontrolled chat functionality between users" +msgstr "Okontrollerad chattfunktion mellan användare" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1019 +msgid "No way to talk with other users" +msgstr "Inget sätt att prata med andra användare" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1021 +msgid "Uncontrolled audio or video chat functionality between users" +msgstr "Okontrollerad ljud- eller videochattfunktion mellan användare" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1028 +msgid "No sharing of social network usernames or email addresses" +msgstr "Ingen delning av e-postadresser eller användarnamn på sociala nätverk" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1030 +msgid "Sharing social network usernames or email addresses" +msgstr "Delning av e-postadresser eller användarnamn på sociala nätverk" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1037 +msgid "No sharing of user information with third parties" +msgstr "Ingen delning av användarinformation med tredje part" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1039 +msgid "Checking for the latest application version" +msgstr "Söker efter den senaste programversionen" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1041 +msgid "Sharing diagnostic data that does not let others identify the user" +msgstr "" +"Delning av diagnostiska data som inte låter andra identifiera användaren" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1043 +msgid "Sharing information that lets others identify the user" +msgstr "Delning av information som låter andra identifiera användaren" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1048 +msgid "No sharing of physical location with other users" +msgstr "Ingen delning av fysisk plats med andra användare" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1050 +msgid "Sharing physical location with other users" +msgstr "Delning av fysisk plats med andra användare" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1073 +msgid "No references to homosexuality" +msgstr "Inga referenser till homosexualitet" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1075 +msgid "Indirect references to homosexuality" +msgstr "Indirekta referenser till homosexualitet" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1077 +msgid "Kissing between people of the same gender" +msgstr "Kyssande mellan personer av samma kön" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1079 +msgid "Graphic sexual behavior between people of the same gender" +msgstr "Skildring av sexuellt beteende mellan personer av samma kön" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1084 +msgid "No references to prostitution" +msgstr "Inga referenser till prostitution" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1086 +msgid "Indirect references to prostitution" +msgstr "Indirekta referenser till prostitution" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1088 +msgid "Direct references to prostitution" +msgstr "Direkta referenser till prostitution" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1090 +msgid "Graphic depictions of the act of prostitution" +msgstr "Skildringar av prostitution" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1095 +msgid "No references to adultery" +msgstr "Inga referenser till otrohet" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1097 +msgid "Indirect references to adultery" +msgstr "Indirekta referenser till otrohet" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1099 +msgid "Direct references to adultery" +msgstr "Direkta referenser till otrohet" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1101 +msgid "Graphic depictions of the act of adultery" +msgstr "Skildringar av otrohet" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1106 +msgid "No sexualized characters" +msgstr "Inga sexualiserade figurer" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1109 +msgid "Scantily clad human characters" +msgstr "Lättklädda mänskliga figurer" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1111 +msgid "Overtly sexualized human characters" +msgstr "Öppet sexualiserade mänskliga figurer" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1116 +msgid "No references to desecration" +msgstr "Inga referenser till skändning" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1118 +msgid "Depictions of or references to historical desecration" +msgstr "Skildringar av eller referenser till historisk skändning" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1120 +msgid "Depictions of modern-day human desecration" +msgstr "Skildringar av nutida skändning av människor" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1122 +msgid "Graphic depictions of modern-day desecration" +msgstr "Realistiska skildringar av nutida skändning" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1127 +msgid "No visible dead human remains" +msgstr "Inga synliga kvarlevor av människor" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1129 +msgid "Visible dead human remains" +msgstr "Synliga kvarlevor av människor" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1131 +msgid "Dead human remains that are exposed to the elements" +msgstr "Kvarlevor av döda människor som utsatts för väder och vind" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1133 +msgid "Graphic depictions of desecration of human bodies" +msgstr "Realistiska skildringar av skändning av mänskliga kroppar" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1138 +msgid "No references to slavery" +msgstr "Inga referenser till slaveri" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1140 +msgid "Depictions of or references to historical slavery" +msgstr "Skildringar av eller referenser till historiskt slaveri" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1142 +msgid "Depictions of modern-day slavery" +msgstr "Skildringar av nutida slaveri" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1144 +msgid "Graphic depictions of modern-day slavery" +msgstr "Realistiska skildringar av nutida slaveri" + +#. TRANSLATORS: We got a 429 error while trying to download data +#: src/as-curl.c:134 +#, c-format +msgid "Failed to download due to server limit" +msgstr "Misslyckades med att hämta på grund av servergräns" + +#: src/as-curl.c:141 src/as-curl.c:148 +#, c-format +msgid "Failed to download file: %s" +msgstr "Misslyckades med att hämta fil: %s" + +#. TRANSLATORS: We tried to download an URL, but received a 404 error code +#: src/as-curl.c:157 #, c-format -msgid "Found %i components in legacy paths." -msgstr "Hittade %i komponenter i föråldrade sökvägar." +msgid "URL was not found on the server." +msgstr "URL hittades inte på servern." -#: tools/ascli-actions-misc.c:123 +#. TRANSLATORS: We received an uexpected HTTP status code while talking to a server, likely an error +#: src/as-curl.c:164 #, c-format -msgid "Found %i components." -msgstr "Hittade %i komponenter." +msgid "Unexpected status code: %ld" +msgstr "Oväntad statuskod: %ld" -#. TRANSLATORS: 'version' is an AppStream XML property. Please do not translate it. -#: src/as-validator-issue-tag.h:260 -msgid "" -"Found 'version' property on required/recommended item of a type that should " -"not have or require a version." -msgstr "" +#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty +#: src/as-curl.c:247 +#, c-format +msgid "Retrieved file size was zero." +msgstr "Erhållen filstorlek var noll." -#. TRANSLATORS: 'version' and 'compare' are AppStream XML properties. Please do not translate them. -#: src/as-validator-issue-tag.h:266 -msgid "" -"Found 'version' property on this required/recommended item, but not " -"'compare' property. It is recommended to explicitly define a comparison " -"operation." -msgstr "" +#. TRANSLATORS: List of "grey-listed" words sperated with ";" +#. * Do not translate this list directly. Instead, +#. * provide a list of words in your language that people are likely +#. * to include in a search but that should normally be ignored in +#. * the search. +#. +#: src/as-pool.c:111 +msgid "app;application;package;program;programme;suite;tool" +msgstr "app;program;paket;svit;verktyg" + +#: src/as-pool.c:620 +msgid "Unable to remove old cache." +msgstr "Kunde inte ta bort gammal cache." + +#: src/as-pool.c:963 +msgid "Metadata files have errors:" +msgstr "Metadatafilen har fel:" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:277 +#: src/as-pool.c:1370 msgid "" -"Found a memory size dependency in a 'requires' tag. This means users will " -"not be able to even install the component without having enough RAM. This is " -"usually not intended and you want to use 'memory' in the 'recommends' tag " -"instead." +"Many components have been recognized as invalid. See debug output for " +"details." msgstr "" +"Många komponenter har känts igen som ogiltiga. Se felsökningsutdata för " +"detaljer." -#: src/as-validator-issue-tag.h:248 +#: src/as-pool.c:1996 +#, c-format +msgid "Cache location '%s' is not writable." +msgstr "Cacheplats ”%s” är inte skrivbar." + +#: src/as-pool.c:2109 msgid "" -"Found an unknown tag in a requires/recommends group. This is likely an " -"error, because a component relation of this type is unknown." +"The AppStream system cache was updated, but some components were ignored. " +"Refer to the verbose log for more information." msgstr "" +"Appstreams systemcache uppdaterades, men några komponenter ignorerades. Se " +"den utförliga loggen för mer information." -#: src/as-validator-issue-tag.h:427 +#: src/as-pool.c:2111 +#, c-format msgid "" -"Found invalid tag. Non-standard tags should be prefixed with 'x-'. AppStream " -"also provides the tag to add arbitrary custom data to metainfo " -"files. This tag is read by AppStream libraries and may be useful instead of " -"defining new custom toplevel or 'x-'-prefixed tags if you just want to add " -"custom data to a metainfo file." +"The AppStream system cache was updated, but problems were found which " +"resulted in metadata being ignored: %s" msgstr "" +"AppStreams systemcache uppdaterades, men problem hittades som resulterade i " +"att metadata ignorerades: %s" -#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. -#: src/as-validator.c:526 src/as-validator.c:939 src/as-validator.c:1024 -#: src/as-validator.c:1237 +#: src/as-pool.c:2125 #, c-format -msgid "Found: %s - Allowed: %s" +msgid "" +"AppStream system cache refresh failed. Turn on verbose mode to get detailed " +"issue information." msgstr "" +"Misslyckades med uppdatering av AppStreams systemcache. Slå på utförligt " +"läge för att se detaljerad felinformation." -#. TRANSLATORS: this is the menu spec main category for Game -#: src/as-category.c:311 -msgid "Games" -msgstr "Spel" +#: src/as-provided.c:144 +msgid "Libraries" +msgstr "Bibliotek" -#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command -#: tools/appstream-cli.c:814 -msgid "Generate the output in the selected format ('yaml' or 'text')." -msgstr "" +#: src/as-provided.c:146 +msgid "Binaries" +msgstr "Binärer" -#: tools/appstream-cli.c:849 -msgid "Get components which provide the given item." -msgstr "Hämta komponenter som tillhandahåller det angivna objektet." +#: src/as-provided.c:148 +msgid "Media types" +msgstr "Mediatyper" -#: tools/appstream-cli.c:848 -msgid "Get information about a component by its ID." -msgstr "Hämta information om en komponent givet dess ID." +#: src/as-provided.c:150 +msgid "Fonts" +msgstr "Typsnitt" -#. TRANSLATORS: this is the menu spec main category for Graphics -#: src/as-category.c:314 -msgid "Graphics & Photography" -msgstr "Grafik och bilder" +#: src/as-provided.c:152 +msgid "Modaliases" +msgstr "Mod-alias" -#: tools/ascli-utils.c:300 -msgid "Homepage" -msgstr "Webbplats" +#: src/as-provided.c:154 +msgid "Python (Version 2)" +msgstr "Python (Version 2)" -#: src/as-category.c:89 -msgctxt "Category of Development" -msgid "IDEs" -msgstr "Utvecklingsmiljöer" +#: src/as-provided.c:156 +msgid "Python 3" +msgstr "Python 3" -#: tools/ascli-utils.c:301 -msgid "Icon" -msgstr "Ikon" +#: src/as-provided.c:158 +msgid "D-Bus System Services" +msgstr "D-Bus-systemtjänster" + +#: src/as-provided.c:160 +msgid "D-Bus Session Services" +msgstr "D-Bus-sessionstjänster" + +#: src/as-provided.c:162 +msgid "Runtime Firmware" +msgstr "Fast programvara för körtid" + +#: src/as-provided.c:164 +msgid "Flashed Firmware" +msgstr "Programmerad fast programvara" + +#: src/as-provided.c:166 +msgid "Component" +msgstr "Komponent" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:351 -msgid "Icons of type 'remote' must contain an URL to the referenced icon." +#: src/as-validator-issue-tag.h:41 +msgid "This tag requires a type property." +msgstr "Denna tagg kräver en typegenskap." + +#: src/as-validator-issue-tag.h:46 +msgid "Tags of this name are not permitted in this section." +msgstr "Taggar med detta namn tillåts inte i detta avsnitt." + +#: src/as-validator-issue-tag.h:51 +msgid "" +"A tag must not be localized in metainfo files (upstream " +"metadata). Localize the individual paragraphs instead." msgstr "" +"En -tagg får inte lokaliseras i metainfofilerna " +"(uppströmsmetadata). Lokalisera de individuella paragraferna istället." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:344 +#: src/as-validator-issue-tag.h:57 msgid "" -"Icons of type 'stock' or 'cached' must not contain an URL, a full or an " -"relative path to the icon. Only file basenames or stock names are allowed." +"This element (paragraph, list, etc.) of a tag must not be " +"localized individually in collection metadata. Localize the whole " +" tag instead. The AppStream collection metadata generator (e." +"g. `appstream-generator`) will already do the right thing when compiling the " +"data." msgstr "" +"Detta element (paragraf, lista o.s.v.) för en -tagg får inte " +"lokaliseras individuellt i samlingsmetadata. Lokalisera hela -" +"taggen istället. AppStream-samlingsmetadatageneratorn (t.ex. `appstream-" +"generator`) kommer redan göra rätt sak när dessa data kompileras." -#: tools/ascli-actions-misc.c:94 -msgid "Iconsets" -msgstr "Ikonuppsättningar" +#: src/as-validator-issue-tag.h:63 +msgid "" +"AppStream descriptions support only a limited set of tags to format text: " +"Paragraphs (

                                                                                                                                                                                                                                                                                                                                                                                        ) and lists (

                                                                                                                                                                                                                                                                                                                                                                                          ,
                                                                                                                                                                                                                                                                                                                                                                                            ). This description markup contains " +"an invalid XML tag that would not be rendered correctly in applications " +"supporting the metainfo specification." +msgstr "" +"AppStream-beskrivningar stöder bara en begränsad mängd taggar för att " +"formatera text: paragrafer (

                                                                                                                                                                                                                                                                                                                                                                                            ) och listor (

                                                                                                                                                                                                                                                                                                                                                                                              ,
                                                                                                                                                                                                                                                                                                                                                                                                ). Denna " +"beskrivnings-markup innehåller en ogiltig XML-tagg som inte skulle renderas " +"korrekt i program som stöder metainfospecifikationen." -#: tools/ascli-utils.c:295 -msgid "Identifier" -msgstr "Identifierare" +#: src/as-validator-issue-tag.h:69 +msgid "" +"This description paragraph contains invalid markup. Currently, only " +"and are permitted." +msgstr "" +"Denna beskrivningsparagraf innehåller ogiltig markup. För närvarande stöds " +"endast och ." -#: src/as-category.c:217 -msgctxt "Category of Addons" -msgid "Input Sources" -msgstr "Indatakällor" +#: src/as-validator-issue-tag.h:74 +msgid "Enumerations must only have list items (
                                                                                                                                                                                                                                                                                                                                                                                              1. ) as children." +msgstr "Uppräkningar får endast ha listobjekt (
                                                                                                                                                                                                                                                                                                                                                                                              2. ) som underordnade." -#: tools/appstream-cli.c:863 -msgid "Install a metadata file into the right location." -msgstr "Installera en metadatafil på rätt plats." +#: src/as-validator-issue-tag.h:79 +msgid "" +"The first `description/p` paragraph of this component might be too short (< " +"80 characters). Please consider starting with a longer paragraph to improve " +"how the description looks like in software centers and to provide more " +"detailed information on this component immediately in the first paragraph." +msgstr "" +"Den första `description/p`-paragrafen för denna komponent kan vara för kort " +"(< 80 tecken). Överväg att börja med en längre paragraf för att förbättra " +"hur beskrivningen ser ut i programcentraler och för att direkt i den första " +"paragrafen tillhandahålla mer detaljerad information om denna komponent." -#: tools/appstream-cli.c:859 -msgid "Install software matching the component-ID." -msgstr "Installera programvara som matchar komponent-ID:t." +#: src/as-validator-issue-tag.h:86 +msgid "" +"The description contains a web URL in plain text. This is not allowed, " +"please use the tag instead to share links." +msgstr "" +"Beskrivningen innehåller en webb-URL i klartext. Detta är inte tillåtet, " +"använd istället -taggen för att dela länkar." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:373 +#: src/as-validator-issue-tag.h:91 msgid "" -"Invalid 'type' property for this 'url' tag. URLs of this type are not known " -"in the AppStream specification." +"As per AppStream specification, the mentioned tag must only appear once in " +"this context. Having multiple tags of this kind is not valid." +msgstr "" +"Enligt AppStream-specifikationen får den nämnda taggen endast dyka upp en " +"gång i denna kontext. Att ha flera taggar av denna sort är inte giltigt." + +#: src/as-validator-issue-tag.h:96 +msgid "" +"The mentioned tag is empty, which is highly likely not intended as it should " +"have content." +msgstr "" +"Den nämnda taggen är tom, vilket högst troligt inte är avsiktligt då den bör " +"ha innehåll." + +#: src/as-validator-issue-tag.h:101 +msgid "" +"The component ID is required to follow a reverse domain-name scheme for its " +"name. See the AppStream specification for details." +msgstr "" +"Komponent-ID:t krävs för att följa ett omvänt domännamnschema för dess namn. " +"Se AppStream-specifikationen för detaljer." + +#: src/as-validator-issue-tag.h:106 +msgid "" +"The component ID is not a reverse domain-name. Please update the ID to avoid " +"future issues and be compatible with all AppStream implementations.\n" +"You may also consider to update the name of the accompanying .desktop file " +"to follow the latest version of the Desktop-Entry specification and use a " +"rDNS name for it as well. In any case, do not forget to mention the new " +"desktop-entry in a tag for this component to keep the " +"application launchable from software centers and the .desktop file data " +"associated with the metainfo data." msgstr "" +"Komponent-ID:t är inte ett omvänt domännamn. Uppdatera ID:t för att undvika " +"framtida problem och vara kompatibel med alla AppStream-implementationer.\n" +"Du kan också överväga att uppdatera namnet för den tillhörande .desktop-" +"filen så att den följer den senaste versionen av Desktop-Entry-" +"specifikationen och använda ett omvänt DNS-namn även för den. Glöm i vilket " +"fall inte att nämna den nya desktop-posten i en -tagg för denna " +"komponent för att behålla programmet startbart från programcentraler och ." +"desktop-filens data associerade med metainfodata." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:553 +#: src/as-validator-issue-tag.h:114 msgid "" -"Invalid tag found in collection metadata. Only 'component' tags are " -"permitted." +"The component ID might not follow the reverse domain-name schema (the TLD " +"used by it is not known to the validator)." msgstr "" +"Komponent-ID:t följer kanske inte det omvända domännamnsschemat (den " +"toppdomän som används av det är inte känd för valideraren)." -#: tools/ascli-actions-mdata.c:213 -msgid "Invalid type for provided item selected. Valid values are:" -msgstr "Ogiltig typ vald för tillhandahållet objekt. Giltiga värden är:" - -#: src/as-validator-issue-tag.h:271 +#: src/as-validator-issue-tag.h:119 msgid "" -"Invalid version comparison operation on relation item. Only eq/ne/lt/gt/le/" -"ge are permitted." +"The component ID contains an invalid character. Only ASCII characters, dots " +"and numbers are permitted." msgstr "" +"Komponent-ID:t innehåller ett ogiltigt tecken. Endast ASCII-tecken, punkter " +"och siffror tillåts." -#: src/as-validator-issue-tag.h:450 +#: src/as-validator-issue-tag.h:124 msgid "" -"It is recommended to add a long description to this component to present it " -"better to users." +"The component ID contains a hyphen/minus. Using a hyphen is strongly " +"discouraged, to improve interoperability with other tools such as D-Bus. A " +"good option is to replace any hyphens with underscores (`_`)." msgstr "" +"Komponent-ID:t innehåller ett bindestreck/minus. Användning av bindestreck " +"avrådes starkt från, för att förbättra interoperabiliteten med andra verktyg " +"så som D-Bus. Ett bra alternativ är att ersätta alla bindestreck med " +"understreck (`_`)." -#: src/as-validator-issue-tag.h:445 +#: src/as-validator-issue-tag.h:130 msgid "" -"It would be useful to add a long description to this font to present it " -"better to users." +"The component ID contains a segment starting with a number. Starting a " +"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " +"interoperability with other tools such as D-Bus. Ideally, prefix these " +"segments with an underscore." msgstr "" +"Komponent-ID:t innehåller ett segment som börjar med ett tal. Att starta ett " +"segment av det omvända DNS-ID:t med ett tal avrådes starkt ifrån, för att " +"behålla interoperabilitet med andra verktyg så som D-Bus. Idealiskt vore om " +"du lägger ett understreck i början på dessa segment." -#: src/as-category.c:144 -msgctxt "Category of Games" -msgid "Kids" -msgstr "Barn" - -#: src/as-category.c:220 -msgctxt "Category of Addons" -msgid "Language Packs" -msgstr "Språkpaket" - -#: src/as-category.c:107 -msgctxt "Category of Education" -msgid "Languages" -msgstr "Språk" - -#: src/as-provided.c:144 -msgid "Libraries" -msgstr "Bibliotek" - -#. license -#: tools/ascli-utils.c:363 -msgid "License" -msgstr "Licens" +#: src/as-validator-issue-tag.h:136 +msgid "The component ID should only contain lowercase letters." +msgstr "Komponent-ID:t bör endast innehålla gemener." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:629 +#: src/as-validator-issue-tag.h:141 msgid "" -"Licenses for 'runtime' components are usually too complex to reflect them in " -"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " -"value for this component's 'project_license'. E.g. `LicenseRef-free=https://" -"example.com/licenses.html`" +"The component is part of the Freedesktop project, but its ID does not start " +"with fd.o's reverse-DNS name (\"org.freedesktop\")." msgstr "" +"Komponenten är en del av Freedesktop-projektet, men dess ID startar inte med " +"fd.o:s omvända DNS-namn (”org.freedesktop”)." -#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command -#: tools/appstream-cli.c:771 +#: src/as-validator-issue-tag.h:146 msgid "" -"Limit the number of release entries that end up in the metainfo file (0 for " -"unlimited)." +"The component is part of the KDE project, but its ID does not start with " +"KDEs reverse-DNS name (\"org.kde\")." msgstr "" +"Komponenten är en del av KDE-projektet, men dess ID startar inte med KDE:s " +"omvända DNS-namn (”org.kde”)." -#: src/as-category.c:223 -msgctxt "Category of Addons" -msgid "Localization" -msgstr "Lokalisering" - -#: src/as-category.c:147 -msgctxt "Category of Games" -msgid "Logic" -msgstr "Logik" - -#. TRANSLATORS: ascli flag description for: --no-cache -#: tools/appstream-cli.c:67 -msgid "Make request without any caching." -msgstr "Gör förfrågan utan någon cachning." - -#. TRANSLATORS: ascli flag description for: --cachepath -#: tools/appstream-cli.c:57 -msgid "Manually selected location of AppStream cache." -msgstr "Manuellt angiven plats för AppStream-cache." +#: src/as-validator-issue-tag.h:151 +msgid "" +"The component is part of the GNOME project, but its ID does not start with " +"GNOMEs reverse-DNS name (\"org.gnome\")." +msgstr "" +"Komponenten är en del av GNOME-projektet, men dess ID startar inte med GNOME:" +"s omvända DNS-namn (”org.gnome”)." -#. TRANSLATORS: ascli flag description for: --datapath -#: tools/appstream-cli.c:62 -msgid "Manually selected location of AppStream metadata to scan." -msgstr "Manuellt angiven plats för AppStream-metadata att söka av." +#: src/as-validator-issue-tag.h:156 +msgid "The SPDX license expression is invalid and could not be parsed." +msgstr "SPDX-licensuttrycket är ogiltigt och kunde inte tolkas." -#: src/as-pool.c:1280 +#: src/as-validator-issue-tag.h:161 msgid "" -"Many components have been recognized as invalid. See debug output for " -"details." +"The license ID was not found in the SPDX database. Please check that the " +"license ID is written in an SPDX-conformant way and is a valid free software " +"license." msgstr "" -"Många komponenter har känts igen som ogiltiga. Se felsökningsutdata för " -"detaljer." +"Licens-ID:t hittades inte i SPDX-databasen. Kontrollera att licens-ID:t är " +"skrivet på ett sätt som är kompatibelt med SPDX och att det är en giltig " +"licens för fri programvara." -#: src/as-category.c:111 -msgctxt "Category of Education" -msgid "Math" -msgstr "Matematik" +#: src/as-validator-issue-tag.h:167 +msgid "" +"The metadata itself seems to be licensed under a complex collection of " +"licenses. Please license the data under a simple permissive license, like " +"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " +"collections without the risk of license violations due to mutually " +"incompatible licenses." +msgstr "" +"Själva metadata verkar vara licensierade under en komplex samling av " +"licenser. Licensiera dina data under en enda tillåtande licens, så som " +"FSFAP, MIT eller CC0-1.0 för att låta distributörer inkludera dem i mixade " +"datasamlingar utan risk för licensbrott på grund av ömsesidigt inkompatibla " +"licenser." -#: src/as-category.c:243 -msgctxt "Category of Science" -msgid "Math" -msgstr "Matematik" +#: src/as-validator-issue-tag.h:173 +msgid "" +"The metadata itself does not seem to be licensed under a permissive license. " +"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " +"0BSD to allow distributors to include it in mixed data collections without " +"the risk of license violations due to mutually incompatible licenses." +msgstr "" +"Själva metadata verkar inte vara licensierade under en tillåtande licens. " +"Licensiera dina data under en tillåtande licens, så som FSFAP, MIT eller " +"CC0-1.0 för att låta distributörer inkludera dem i mixade datasamlingar utan " +"risk för licensbrott på grund av ömsesidigt inkompatibla licenser." -#: src/as-provided.c:148 -msgid "Media types" -msgstr "Mediatyper" +#: src/as-validator-issue-tag.h:179 +msgid "" +"The update-contact does not appear to be a valid email address (escaping of " +"`@` is only allowed as `_at_` or `_AT_`)." +msgstr "" +"Uppdateringskontakten verkar inte vara en giltig e-postadress (ersättande av " +"`@` tillåts endast som `_at_` eller `_AT_`)." -#: tools/ascli-actions-mdata.c:364 -#, c-format -msgid "Metadata file '%s' does not exist." -msgstr "Metadatafilen ”%s” existerar inte." +#: src/as-validator-issue-tag.h:184 +msgid "" +"Unable to reach the screenshot image on its remote location - does the image " +"exist?" +msgstr "Kunde inte nå skärmbilden på dess fjärrplats - finns bilden?" -#: src/as-pool.c:881 -msgid "Metadata files have errors:" -msgstr "Metadatafilen har fel:" +#: src/as-validator-issue-tag.h:189 +msgid "" +"Unable to reach the screenshot video on its remote location - does the video " +"file exist?" +msgstr "Kunde inte nå skärmbildsvideon på dess fjärrplats - finns videofilen?" -#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 -#: tools/ascli-actions-misc.c:515 -#, fuzzy, c-format -msgid "Metainfo file '%s' does not exist." -msgstr "Metadatafilen ”%s” existerar inte." +#: src/as-validator-issue-tag.h:194 +msgid "" +"Consider using a secure (HTTPS) URL to reference this screenshot image or " +"video." +msgstr "" +"Överväg att använda en säker URL (HTTPS) för att referera till denna " +"skärmbild eller video." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:367 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:200 msgid "" -"Metainfo files may only contain icons of type 'stock' or 'remote', the set " -"type is not allowed." +"A screenshot must contain at least one image or video in order to be useful. " +"Please add an to it." msgstr "" +"En skärmbild måste innehålla minst en bild eller video för att vara " +"användbar. Lägg till en ." -#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report -#: tools/ascli-actions-misc.c:116 -msgid "Metainfo files:" -msgstr "Metainfo-filer:" +#: src/as-validator-issue-tag.h:205 +msgid "" +"A screenshot must contain either images or videos, but not both at the same " +"time. Please use this screenshot exclusively for either static images or for " +"videos." +msgstr "" +"En skärmbild måste innehålla antingen bilder eller videoklipp, men inte båda " +"samtidigt. Använd endast denna skärmbild för antingen statiska bilder eller " +"videoklipp." -#: src/as-provided.c:152 -msgid "Modaliases" -msgstr "Mod-alias" +#: src/as-validator-issue-tag.h:211 +msgid "The screenshot does not have a caption text. Consider adding one." +msgstr "Skärmbilden har ingen bildtext. Överväg att lägga till en." -#: src/as-category.c:74 -msgctxt "Category of AudioVideo" -msgid "Music Players" -msgstr "Musikspelare" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:217 +msgid "" +"The screenshot video does not specify which video codec was used in a " +"`codec` property." +msgstr "" +"Skärmbildsvideon anger inte vilken videokodek som användes i en `codec`-" +"egenskap." -#: tools/ascli-utils.c:296 -msgid "Name" -msgstr "Namn" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:223 +msgid "" +"The screenshot video does not specify which container format was used in a " +"`container` property." +msgstr "" +"Skärmbildsvideon anger inte vilket behållarformat som användes i en " +"`container`-egenskap." -#: src/as-category.c:266 -msgctxt "Category of Communication" -msgid "News" -msgstr "Nyheter" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:229 +msgid "" +"The selected video codec is not supported by AppStream and software centers " +"may not be able to play the video. Only the AV1 and VP9 codecs are currently " +"supported, using `av1` and `vp9` as values for the `codec` property." +msgstr "" +"Den valda videokodeken stöds inte av AppStream och programcentraler kanske " +"inte kan spela videon. Endast kodekarna AV1 och VP9 stöds för tillfället, " +"med `av1` och `vp9` som värden för egenskapen `codec`." -#: src/as-validator-issue-tag.h:589 -msgid "No AppStream metadata was found in this directory or directory tree." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:236 +msgid "" +"The selected video container format is not supported by AppStream and " +"software centers may not be able to play the video. Only the WebM and " +"Matroska video containers are currently supported, using `webm` and `mkv` as " +"values for the `container` property." msgstr "" +"Det valda videobehållarformatet stöds inte av AppStream och programcentraler " +"kanske inte kan spela videon. Endast videobehållarna WebM och Matroska stöds " +"för tillfället, med `webm` och `mkv` som värden för egenskapen `container`." -#. pedantic because not everything which has metadata is an application -#: src/as-validator-issue-tag.h:594 -msgid "No XDG applications directory found." +#: src/as-validator-issue-tag.h:242 +msgid "" +"For videos, only the WebM and Matroska (.mkv) container formats are " +"currently supported. The file extension of the referenced video does not " +"belong to either of these formats." msgstr "" +"För videoklipp stöds för närvarande bara behållarformaten WebM och Matroska " +"(.mkv). Filändelsen för den refererade videon hör inte till något av dessa " +"format." -#: tools/ascli-actions-mdata.c:182 -#, c-format -msgid "No component matching '%s' found." -msgstr "Hittade ingen komponent matchande ”%s”." +#: src/as-validator-issue-tag.h:248 +msgid "" +"The default screenshot of a software component must not be a video. Use a " +"static image as default screenshot and set the video as a secondary " +"screenshot." +msgstr "" +"Standardskärmbilden för en programvarukomponent får inte vara en video. " +"Använd en statisk bild som standardskärmbild och ställ in videoklippet som " +"en sekundär skärmbild." -#: tools/ascli-actions-misc.c:105 -msgid "No icons." -msgstr "Inga ikoner." +#: src/as-validator-issue-tag.h:253 +msgid "" +"Found an unknown tag in a requires/recommends group. This is likely an " +"error, because a component relation of this type is unknown." +msgstr "" +"Hittade en okänd tagg i en requires/recommends-grupp. Detta är troligen ett " +"fel eftersom en komponentrelation av denna typ är okänd." -#: tools/ascli-actions-misc.c:402 -msgid "No output filename specified, modifying metainfo file directly." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:259 +msgid "" +"A `requires` or `recommends` item requires a value to denote a valid " +"relation." msgstr "" +"Ett `requires`- eller `recommends`-objekt kräver ett värde för att vara en " +"giltig relation." -#: tools/ascli-actions-misc.c:306 +#. TRANSLATORS: `version` is an AppStream XML property. Please do not translate it. +#: src/as-validator-issue-tag.h:265 msgid "" -"No provided binary specified in metainfo file, and no exec command specified " -"via '--exec'. Can not create 'Exec=' key." +"Found `version` property on required/recommended item of a type that should " +"not have or require a version." msgstr "" +"Hittade `version`-egenskap på krävt/rekommenderat objekt av en typ som inte " +"ska ha eller kräva en version." -#: tools/ascli-actions-misc.c:284 -msgid "No stock icon name was provided in the metainfo file. Can not continue." +#. TRANSLATORS: `version` and `compare` are AppStream XML properties. Please do not translate them. +#: src/as-validator-issue-tag.h:271 +msgid "" +"Found `version` property on this required/recommended item, but not " +"`compare` property. It is recommended to explicitly define a comparison " +"operation." msgstr "" +"Hittade `version`-egenskap på detta krävda/rekommenderade objekt, men ingen " +"`compare`-egenskap. Det rekommenderas att explicit definiera en " +"jämförelseoperation." -#: tools/ascli-actions-pkgmgr.c:53 +#: src/as-validator-issue-tag.h:276 msgid "" -"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" -"\" (part of PackageKit) is available." +"Invalid comparison operation on relation item. Only eq/ne/lt/gt/le/ge are " +"permitted." msgstr "" -"Inget lämpligt CLI för pakethanterare hittades. Säkerställ att t.ex. " -"”pkcon” (en del av PackageKit) finns tillgänglig." +"Ogiltig jämförelseoperation på relationsobjekt. Endast eq/ne/lt/gt/le/ge " +"tillåts." -#: tools/ascli-actions-mdata.c:206 -msgid "No value for the item to search for was defined." -msgstr "Inget värde för objektet att leta efter finns definierat." +#: src/as-validator-issue-tag.h:281 +msgid "" +"The relation item has a comparison operation set, but does not support any " +"comparisons." +msgstr "" +"Relationsobjektet har en jämförelseoperation inställt, men stöder inte några " +"jämförelser." -#. TRANSLATORS: this is the menu spec main category for Office -#: src/as-category.c:317 -msgid "Office" -msgstr "Kontor" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:287 +msgid "" +"Found a memory size relation in a `requires` tag. This means users will not " +"be able to even install the component without having enough RAM. This is " +"usually not intended and you want to use `memory` in the `recommends` tag " +"instead." +msgstr "" +"Hittade en minnesstorleksrelation i en `requires`-tagg. Detta betyder att " +"användare inte ens kommer kunna installera komponenten utan att ha " +"tillräckligt med RAM-minne. Detta är vanligen inte avsikten, och du kommer " +"vilja använda `memory` i `recommends`-taggen istället." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:294 +msgid "" +"Found a user input control relation in a `requires` tag. This means users " +"will not be able to even install the component without having the defined " +"input control available on the system. This is usually not intended and you " +"want to use `control` in the `recommends` tag instead." +msgstr "" +"Hittade en användarinmatningskontrollrelation i en `requires`-tagg. Detta " +"betyder att användare inte ens kommer kunna installera komponenten utan att " +"ha den definierade inmatningskontrollen tillgänglig på systemet. Detta är " +"vanligen inte avsikten, och du kommer vilja använda `control` i `recommends`-" +"taggen istället." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:301 +msgid "" +"This `control` item defines an unknown input method and is invalid. Check " +"the specification for a list of permitted values." +msgstr "" +"Detta `control`-objekt definierar en okänd inmatningsmetod och är ogiltigt. " +"Kontrollera specifikationen för en lista över tillåtna värden." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:307 +msgid "" +"This `display_length` item contains an invalid display length. Its value " +"must either be a shorthand string, or positive integer value denoting " +"logical pixels. Please refer to the AppStream specification for more " +"information on this tag." +msgstr "" +"Detta `display_length`-objekt innehåller en ogiltig skärmlängd. Dess värde " +"måste vara antingen en förkortningssträng, eller ett positivt heltalsvärde " +"som står för logiska bildpunkter. Se AppStream-specifikationen för mer " +"information om denna tagg." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:314 +msgid "" +"This `side` property of this `display_length` item contains an invalid " +"value. It must either be `shortest` or `longest`, or unset to imply " +"`shortest` to make the item value refer to either the shortest or longest " +"side of the display." +msgstr "" +"Denna `side`-egenskap för detta `display_length`-objekt innehåller ett " +"ogiltigt värde. Den måste vara `shortest` eller `longest`, eller ej inställd " +"för att antyda `shortest` för att få objektvärdet att referera till antingen " +"den kortaste eller längsta sidan på skärmen." -#. TRANSLATORS: An unknown option was passed to appstreamcli. -#: tools/appstream-cli.c:192 -#, c-format -msgid "Option '%s' is unknown." -msgstr "Flaggan ”%s” är okänd." +#: src/as-validator-issue-tag.h:320 +msgid "" +"The set component type is not a recognized, valid AppStream component type." +msgstr "" +"Den satta komponenttypen är inte en igenkänd, giltig AppStream-komponenttyp." -#: tools/ascli-utils.c:298 -msgid "Package" -msgstr "Paket" +#: src/as-validator-issue-tag.h:325 +msgid "" +"The component has a priority value set. This is not allowed in metainfo " +"files." +msgstr "" +"Komponenten har ett prioritetsvärde inställt. Detta är inte tillåtet i " +"metainfofiler." -#: src/as-category.c:171 -msgctxt "Category of Graphics" -msgid "Photography" -msgstr "Fotografi" +#: src/as-validator-issue-tag.h:330 +msgid "" +"The component has a `merge` method defined. This is not allowed in metainfo " +"files." +msgstr "" +"Komponenten har en `merge`-metod definierad. Detta är inte tillåtet i " +"metainfofiler." -#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) -#: tools/appstream-cli.c:121 -#, fuzzy -msgid "Print detailed explanation for found issues." -msgstr "Skriv ut detaljerad utdata om identifierade komponenter." +#: src/as-validator-issue-tag.h:335 +msgid "The component is missing an ID ( tag)." +msgstr "Komponenten saknar ett ID (taggen )." -#. TRANSLATORS: ascli flag description for: --details -#: tools/appstream-cli.c:98 -msgid "Print detailed output about found components." -msgstr "Skriv ut detaljerad utdata om identifierade komponenter." +#: src/as-validator-issue-tag.h:340 +msgid "The component is missing a name ( tag)." +msgstr "Komponenten saknar ett namn (taggen )." -#. project group -#: tools/ascli-utils.c:360 -msgid "Project Group" -msgstr "Projektgrupp" +#: src/as-validator-issue-tag.h:345 +msgid "The component is missing a summary ( tag)." +msgstr "Komponenten saknar ett sammanfattning (taggen )." -#: tools/ascli-utils.c:405 -msgid "Provided Items" -msgstr "Tillhandahållna objekt" +#: src/as-validator-issue-tag.h:350 +msgid "" +"The tag still contains a `type` property, probably from an old " +"conversion to the recent metainfo format." +msgstr "" +"-taggen innehåller fortfarande en `type`-egenskap, troligen från en " +"gammal konvertering till det nyare metainfoformatet." -#: src/as-provided.c:154 -msgid "Python (Version 2)" -msgstr "Python (Version 2)" +#: src/as-validator-issue-tag.h:355 +msgid "" +"The `pkgname` tag appears multiple times. You should evaluate creating a " +"metapackage containing the metainfo and .desktop files in order to avoid " +"defining multiple package names per component." +msgstr "" +"`pkgname`-taggen dyker upp flera gånger. Du bör överväga att skapa ett " +"metapaket som innehåller metainfo- och .desktop-filerna för att undvika att " +"definiera flera paketnamn per komponent." + +#: src/as-validator-issue-tag.h:360 +msgid "The component name should (likely) not end with a dot (`.`)." +msgstr "Komponentnamnet bör (troligen) inte sluta med en punkt (`.`)." + +#: src/as-validator-issue-tag.h:365 +msgid "The component summary should not end with a dot (`.`)." +msgstr "Komponentsammanfattningen får inte sluta med en punkt (`.`)." -#: src/as-provided.c:156 -msgid "Python 3" -msgstr "Python 3" +#: src/as-validator-issue-tag.h:370 +msgid "The component summary must not contain tabs or linebreaks." +msgstr "" +"Komponentsammanfattningen får inte innehålla tabulatorer eller radbrytningar." -#: tools/appstream-cli.c:854 -msgid "Rebuild the component metadata cache." -msgstr "Bygg om cachen för komponentmetadata." +#: src/as-validator-issue-tag.h:375 +msgid "The summary must not contain any URL. Use the tags for links." +msgstr "" +"Sammanfattningen får inte innehålla någon URL. Använd -taggarna för " +"länkar." -#: tools/appstream-cli.c:860 -msgid "Remove software matching the component-ID." -msgstr "Ta bort programvara som matchar komponent-ID:t." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:381 +msgid "" +"Icons of type `stock` or `cached` must not contain an URL, a full or an " +"relative path to the icon. Only file basenames or stock names are allowed." +msgstr "" +"Ikoner av typ `stock` eller `cached` får inte innehålla en URL, en " +"fullständig eller relativ sökväg till ikonen. Endast basfilnamn eller " +"standardnamn tillåts." -#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty -#: src/as-validator.c:364 -msgid "Retrieved file size was zero." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:388 +msgid "Icons of type `remote` must contain an URL to the referenced icon." msgstr "" +"Ikoner av typen `remote` måste innehålla en URL till den refererade ikonen." -#: src/as-category.c:248 -msgctxt "Category of Science" -msgid "Robotics" -msgstr "Robotar" +#: src/as-validator-issue-tag.h:393 +msgid "Unable to reach remote icon at the given web location - does it exist?" +msgstr "Kunde inte nå fjärrikonen på angiven webbplats - finns den?" -#: src/as-category.c:150 -msgctxt "Category of Games" -msgid "Role Playing" -msgstr "Rollspel" +#: src/as-validator-issue-tag.h:398 +msgid "Consider using a secure (HTTPS) URL for the remote icon link." +msgstr "Överväg att använda en säker URL (HTTPS) för fjärrikonlänken." -#: tools/appstream-cli.c:196 tools/appstream-cli.c:926 -#, c-format -msgid "Run '%s --help' to see a full list of available command line options." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:404 +msgid "" +"Metainfo files may only contain icons of type `stock` or `remote`, the set " +"type is not allowed." msgstr "" -"Kör ”%s --help” för att se en fullständig lista över tillgängliga " -"kommandoradsflaggor." +"Metainfo filer får endast innehålla ikoner av typen `stock` eller `remote`, " +"den satta typen är inte tillåten." -#: tools/appstream-cli.c:198 -#, c-format +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:410 msgid "" -"Run '%s --help' to see a list of available commands and options, and '%s %s " -"--help' to see a list of options specific for this subcommand." +"Invalid `type` property for this `url` tag. URLs of this type are not known " +"in the AppStream specification." msgstr "" -"Kör ”%s --help” för att se en fullständig lista över tillgängliga " -"kommandoradsflaggor, och ”%s %s --help” för att se en lista över flaggor " -"specifika för detta underkommando." +"Ogiltig `type`-egenskap för denna `url`-tagg. URL:er av denna typ är okända " +"i AppStream-specifikationen." -#: src/as-provided.c:162 -msgid "Runtime Firmware" -msgstr "Fast progmvara för körtid" +#: src/as-validator-issue-tag.h:415 +msgid "" +"Unable to reach remote location that this URL references - does it exist?" +msgstr "Kunde inte nå fjärrplatsen som denna URL refererar till - finns den?" -#: src/as-category.c:174 -msgctxt "Category of Graphics" -msgid "Scanning" -msgstr "Skanning" +#: src/as-validator-issue-tag.h:420 +msgid "Consider using a secure (HTTPS) URL for this web link." +msgstr "Överväg att använda en säker URL (HTTPS) för denna webblänk." -#. TRANSLATORS: this is the menu spec main category for Science -#: src/as-category.c:323 -msgid "Science" -msgstr "Vetenskap" +#: src/as-validator-issue-tag.h:425 +msgid "A web URL was expected for this value." +msgstr "En webb-URL förväntades för detta värde." -#: tools/appstream-cli.c:847 -msgid "Search the component database." -msgstr "Sök i komponentdatabasen." +#: src/as-validator-issue-tag.h:430 +msgid "" +"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." +msgstr "" +"Denna webblänk använder FTP-protokollet. Överväg att växla till HTTP(S) " +"istället." -#: src/as-category.c:293 -msgctxt "Category of Utility" -msgid "Security" -msgstr "Säkerhet" +#: src/as-validator-issue-tag.h:435 +msgid "The can not contain a hyperlink." +msgstr " kan inte innehålla någon hyperlänk." -#. TRANSLATORS: ascli flag description for: --verbose -#: tools/appstream-cli.c:903 -msgid "Show extra debugging information." -msgstr "Visa extra felsökningsinformation." +#: src/as-validator-issue-tag.h:440 +msgid "" +"The set value is not an identifier for a desktop environment as registered " +"with Freedesktop.org." +msgstr "" +"Det inställda värdet är inte en identifierare för en skrivbordsmiljö som " +"registrerats hos Freedesktop.org." -#. TRANSLATORS: ascli flag description for: --version -#: tools/appstream-cli.c:897 -msgid "Show the program version." -msgstr "Visa programversion." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:446 +msgid "This `launchable` tag has an unknown type and can not be used." +msgstr "Denna `launchable`-tagg har en okänd typ och kan inte användas." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:452 +msgid "This `bundle` tag has an unknown type and can not be used." +msgstr "Denna `bundle`-tagg har en okänd typ och kan inte användas." -#: src/as-validator-issue-tag.h:635 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:458 msgid "" -"Since a 'runtime' component is comprised of multiple other software " -"components, their component-IDs may be listed in a `` section for " -"this runtime." +"The `update_contact` tag should not be included in collection AppStream XML." +msgstr "`update_contact`-taggen får inte inkluderas i samlings-AppStream XML." + +#: src/as-validator-issue-tag.h:463 +msgid "" +"This tag is a GNOME-specific extension to AppStream and not part of the " +"official specification. Do not expect it to work in all implementations and " +"in all software centers." msgstr "" +"Denna tagg är ett GNOME-specifikt tillägg till AppStream och inte en del av " +"den officiella specifikationen. Förvänta dig inte att den ska i alla " +"implementationer och i alla programcentraler." -#: src/as-category.c:153 -msgctxt "Category of Games" -msgid "Sports" -msgstr "Sport" +#: src/as-validator-issue-tag.h:469 +msgid "" +"Found invalid tag. Non-standard tags should be prefixed with `x-`. AppStream " +"also provides the tag to add arbitrary custom data to metainfo " +"files. This tag is read by AppStream libraries and may be useful instead of " +"defining new custom toplevel or `x-`-prefixed tags if you just want to add " +"custom data to a metainfo file." +msgstr "" +"Hittade ogiltig tagg. Icke-standardtaggar ska ha prefixet ”x-”. AppStream " +"tillhandahåller också taggen för att lägga till godtyckliga " +"anpassade data till metainfofiler. Denna tagg läses av AppStream-bibliotek " +"och kan vara användbar istället för att definiera nya anpassade " +"toppnivåtaggar eller taggar med prefixet ”x-” om du bara vill lägga till " +"anpassade data till en metainfofil." -#: src/as-category.c:157 -msgctxt "Category of Games" -msgid "Strategy" -msgstr "Strategi" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:477 +msgid "" +"The essential tag `metadata_license` is missing. A license for the metadata " +"itself always has to be defined." +msgstr "" +"Den nödvändiga taggen `metadata_license` saknas. En licens för själva " +"metadatan måste alltid definieras." -#. these are commands we can use with appstreamcli -#: tools/appstream-cli.c:845 -msgid "Subcommands:" -msgstr "Subkommandon:" +#: src/as-validator-issue-tag.h:482 +msgid "" +"The component is missing a long description. Components of this type must " +"have a long description." +msgstr "" +"Komponenten saknar en lång beskrivning. Komponenter av denna typ måste ha en " +"lång beskrivning." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:527 +#: src/as-validator-issue-tag.h:487 msgid "" -"Suggestions of any type other than 'upstream' are not allowed in metainfo " -"files." +"It would be useful to add a long description to this font to present it " +"better to users." msgstr "" +"Det skulle vara användbart att lägga till en lång beskrivning till detta " +"typsnitt för att bättre presentera det för användare." -#: tools/ascli-utils.c:297 -msgid "Summary" -msgstr "Summering" +#: src/as-validator-issue-tag.h:492 +msgid "" +"It is recommended to add a long description to this component to present it " +"better to users." +msgstr "" +"Det rekommenderas att lägga till en lång beskrivning till denna komponent " +"för att bättre presentera den för användare." -#. TRANSLATORS: Status summary in ascli -#: tools/ascli-actions-misc.c:145 -msgid "Summary:" -msgstr "Sammanfattning:" +#: src/as-validator-issue-tag.h:497 +msgid "" +"This generic component is missing a long description. It may be useful to " +"add one." +msgstr "" +"Denna allmänna komponent saknar en lång beskrivning. Det kan vara användbart " +"att lägga till en." -#: src/as-category.c:290 -msgctxt "Category of Utility" -msgid "System Monitoring" -msgstr "Systemövervakning" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:503 +msgid "" +"Type `console-application` component, but no information about binaries in " +"$PATH was provided via a `provides/binary` tag." +msgstr "" +"Komponent av typen `console-application`, men ingen information om binärer i " +"$PATH tillhandahölls via en `provides/binary`-tagg." -#: src/as-validator-issue-tag.h:46 -msgid "Tags of this name are not permitted in this section." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:509 +msgid "" +"This `web-application` component is missing a `launchable` tag of type `url`." msgstr "" +"Denna `web-application`-komponent saknar en `launchable`-tagg av typen `url`." -#: src/as-category.c:284 -msgctxt "Category of Utility" -msgid "Terminal Emulators" -msgstr "Terminaler" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:515 +msgid "" +"This `web-application` component is missing a `icon` tag to specify a valid " +"icon." +msgstr "" +"Denna `web-application`-komponent saknar en `icon`-tagg för att ange en " +"giltig ikon." -#: src/as-category.c:281 -msgctxt "Category of Utility" -msgid "Text Editors" -msgstr "Textredigerare" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:521 +msgid "" +"This `web-application` component is missing categorizations. A `categories` " +"block is likely missing." +msgstr "" +"Denna `web-application`-komponent saknar kategoriseringar. Ett `categories`-" +"block saknas troligen." -#: src/as-validator-issue-tag.h:318 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:527 msgid "" -"The 'pkgname' tag appears multiple times. You should evaluate creating a " -"metapackage containing the metainfo and .desktop files in order to avoid " -"defining multiple package names per component." +"Type `font` component, but no font information was provided via a `provides/" +"font` tag." msgstr "" +"Komponent av typen `font`, men ingen typsnittsinformation tillhandahölls via " +"en `provides/font`-tagg." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:416 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:533 msgid "" -"The 'update_contact' tag should not be included in collection AppStream XML." +"Type `driver` component, but no modalias information was provided via a " +"`provides/modalias` tag." msgstr "" +"Komponent av typen `driver`, men ingen modalias-information tillhandahölls " +"via en `provides/modalias`-tagg." -#: tools/ascli-actions-mdata.c:467 -#, c-format -msgid "The .desktop file '%s' does not exist." -msgstr ".desktop-filen ”%s” existerar inte." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:539 +msgid "" +"An `extends` tag is specified, but the component is not of type `addon`, " +"`localization` or `repository`." +msgstr "" +"En `extends`-tagg har angivits, men komponenten är inte av typ `addon`, " +"`localization` eller `repository`." -#: src/as-validator-issue-tag.h:393 -msgid "The can not contain a hyperlink." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:545 +msgid "The component is an addon, but no `extends` tag was specified." +msgstr "Komponenten är ett tillägg, men ingen `extends`-tagg angavs." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:551 +msgid "" +"This `localization` component is missing an `extends` tag, to specify the " +"components it adds localization to." msgstr "" +"Denna `localization`-komponent saknar en `extends`-tagg för att ange " +"komponenterna som den lägger till lokalisering för." -#: src/as-validator-issue-tag.h:313 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:557 msgid "" -"The tag still contains a 'type' property, probably from an old " -"conversion to the recent metainfo format." +"This `localization` component does not define any languages this " +"localization is for." msgstr "" +"Denna `localization`-komponent definierar inte några språk som denna " +"lokalisering är för." -#: src/as-validator-issue-tag.h:616 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:563 msgid "" -"The AppStream specification requires a complete, ISO 8601 date string with " -"at least day-granularity to denote dates. Please ensure the date string is " -"valid." +"This `service` component is missing a `launchable` tag of type `service`." msgstr "" +"Denna `service`-komponent saknar en `launchable`-tagg av typen `service`." -#: src/as-pool.c:1924 -#, fuzzy, c-format +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:569 msgid "" -"The AppStream system cache was updated, but problems were found which " -"resulted in metadata being ignored: %s" -msgstr "AppStream-cache uppdaterades, men det fanns problem: %s" +"Suggestions of any type other than `upstream` are not allowed in metainfo " +"files." +msgstr "Förslag av annan typ än `upstream` tillåts inte i metainfofiler." -#: src/as-pool.c:1922 -#, fuzzy +#: src/as-validator-issue-tag.h:574 msgid "" -"The AppStream system cache was updated, but some components were ignored. " -"Refer to the verbose log for more information." +"The category name is not valid. Refer to the XDG Menu Specification for a " +"list of valid category names." msgstr "" -"Appstreams systemcache uppdaterades, men en del fel identifierades och kan " -"leda till saknad metadata. Se den utförliga loggen för mer information." +"Kategorinamnet är inte giltigt. Se XDG-menyspecifikationen för en lista över " +"giltiga kategorinamn." -#: src/as-validator-issue-tag.h:151 -msgid "The SPDX license expression is invalid and could not be parsed." -msgstr "" +#: src/as-validator-issue-tag.h:579 +msgid "The screenshot caption is too long (should be <= 80 characters)" +msgstr "Skärmbildens text är för lång (ska vara <= 80 tecken)" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows -#: tools/appstream-cli.c:683 -#, c-format -msgid "The TYPE must be a valid component-type, such as: %s" -msgstr "TYP måste vara en giltig komponenttyp, så som: %s" +#: src/as-validator-issue-tag.h:584 +msgid "Unable to read file." +msgstr "Kunde inte läsa fil." -#: src/as-validator-issue-tag.h:547 +#: src/as-validator-issue-tag.h:589 msgid "The XML of this file is malformed." +msgstr "XML för denna fil är felformaterad." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:595 +msgid "" +"Invalid tag found in collection metadata. Only `component` tags are " +"permitted." msgstr "" +"Ogiltig tagg hittad i samlingsmetadata. Endast `component`-taggar tillåts." -#: src/as-validator-issue-tag.h:584 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:601 +msgid "" +"The metainfo file uses an ancient version of the AppStream specification, " +"which can not be validated. Please migrate it to version 0.6 (or higher)." +msgstr "" +"Metainfofilen använder en uråldrig version av AppStream-specifikationen som " +"inte kan valideras. Migrera den till version 0.6 (eller högre)." + +#: src/as-validator-issue-tag.h:606 +msgid "" +"This XML document has an unknown root tag. Maybe this file is not a metainfo " +"document?" +msgstr "" +"Detta XML-dokument har en okänd rottagg. Kanske är denna fil inte ett " +"metainfodokument?" + +#: src/as-validator-issue-tag.h:611 +msgid "The metainfo filename does not match the component ID." +msgstr "Metainfofilnamnet matchar inte komponent-ID:t." + +#: src/as-validator-issue-tag.h:616 +msgid "Unable to read the .desktop file associated with this component." +msgstr "Kunde inte läsa .desktop-filen som är associerad med denna komponent." + +#: src/as-validator-issue-tag.h:621 +msgid "This component metadata refers to a non-existing .desktop file." +msgstr "" +"Metadata för denna komponent hänvisar till en .desktop-fil som inte finns." + +#: src/as-validator-issue-tag.h:626 msgid "" "The category defined in the .desktop file is not valid. Refer to the XDG " "Menu Specification for a list of valid categories." msgstr "" +"Kategorin som definieras i .desktop-filen är inte giltig. Se XDG-" +"menyspecifikationen för en lista över giltiga kategorier." + +#: src/as-validator-issue-tag.h:631 +msgid "No AppStream metadata was found in this directory or directory tree." +msgstr "" +"Inga AppStream-metadata hittades i denna katalog eller detta katalogträd." + +#. pedantic because not everything which has metadata is an application +#: src/as-validator-issue-tag.h:636 +msgid "No XDG applications directory found." +msgstr "Ingen XDG-programkatalog hittades." -#: src/as-validator-issue-tag.h:532 +#: src/as-validator-issue-tag.h:641 msgid "" -"The category name is not valid. Refer to the XDG Menu Specification for a " -"list of valid category names." +"The metainfo file is stored in a legacy path. Please place it in `/usr/share/" +"metainfo/`." msgstr "" +"Metainfofilen lagras i en föråldrad sökväg. Placera den i `/usr/share/" +"metainfo/`." -#: src/as-validator-issue-tag.h:124 +#: src/as-validator-issue-tag.h:646 +msgid "The metainfo file specifies multiple components. This is not allowed." +msgstr "Metainfofilen anger flera komponenter. Detta är inte tillåtet." + +#: src/as-validator-issue-tag.h:651 msgid "" -"The component ID contains a hyphen/minus. Using a hyphen is strongly " -"discouraged, to improve interoperability with other tools such as D-Bus. A " -"good option is to replace any hyphens with underscores ('_')." +"The releases are not sorted in a latest to oldest version order. This is " +"required as some tools will assume that the latest version is always at the " +"top. Sorting releases also increases overall readability of the metainfo " +"file." msgstr "" +"Utgåvorna är inte sorterade i ordningen senast till äldst. Detta krävs då " +"vissa verktyg kommer att anta att den senaste versionen alltid är överst. " +"Sortering av utgåvor ökar också den övergripande läsbarheten för " +"metainfofilen." -#: src/as-validator-issue-tag.h:130 +#: src/as-validator-issue-tag.h:658 +msgid "The value set as release urgency is not a known urgency value." +msgstr "" +"Värdet som ställts in som utgåveangelägenhet är inte ett känt " +"angelägenhetsvärde." + +#: src/as-validator-issue-tag.h:663 +msgid "The value set as release type is invalid." +msgstr "Värdet som ställt in som utgåvetyp är ogiltigt." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:669 msgid "" -"The component ID contains a segment starting with a number. Starting a " -"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " -"interoperability with other tools such as D-Bus. Ideally, prefix these " -"segments with an underscore." +"The value set as artifact type is invalid. Must be either `source` or " +"`binary`." msgstr "" +"Värdet som ställts in som artefakttyp är ogiltigt. Måste vara antingen " +"`source` eller `binary`." -#: src/as-validator-issue-tag.h:119 +#: src/as-validator-issue-tag.h:674 +msgid "The value set as artifact bundle type is invalid." +msgstr "Värdet som ställts in som artefaktbunttyp är ogiltigt." + +#: src/as-validator-issue-tag.h:679 msgid "" -"The component ID contains an invalid character. Only ASCII characters, dots " -"and numbers are permitted." +"The platform triplet for this release is invalid. It must be in the form of " +"`architecture-oskernel-osenv` - refer to the AppStream documentation or " +"information on normalized GNU triplets for more information and valid fields." msgstr "" +"Plattformstrippeln för denna utgåva är ogiltig. Den måste vara på formen " +"`architecture-oskernel-osenv` - se AppStreams dokumentation eller " +"information om normaliserade GNU-tripplar för mer information och giltiga " +"fält." -#: src/as-validator-issue-tag.h:106 +#: src/as-validator-issue-tag.h:686 +msgid "The selected checksumming algorithm is unsupported or unknown." +msgstr "Den valda kontrollsummealgoritmen stöds ej eller är okänd." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:692 +msgid "The size type is unknown. Must be `download` or `installed`." +msgstr "Storlekstypen är okänd. Måste vara `download` eller `installed`." + +#: src/as-validator-issue-tag.h:697 msgid "" -"The component ID is not a reverse domain-name. Please update the ID to avoid " -"future issues and be compatible with all AppStream implementations.\n" -"You may also consider to update the name of the accompanying .desktop file " -"to follow the latest version of the Desktop-Entry specification and use a " -"rDNS name for it as well. In any case, do not forget to mention the new " -"desktop-entry in a tag for this component to keep the " -"application launchable from software centers and the .desktop file data " -"associated with the metainfo data." +"The artifact filename must be a file basename, not a (relative or absolute) " +"path." msgstr "" +"Artefaktfilnamnet måste vara ett filbasnamn, inte en (relativ eller absolut) " +"sökväg." -#: src/as-validator-issue-tag.h:101 +#: src/as-validator-issue-tag.h:702 +msgid "The value set as release issue type is invalid." +msgstr "Värdet som ställts in som utgåveärendetyp är ogiltigt." + +#: src/as-validator-issue-tag.h:707 msgid "" -"The component ID is required to follow a reverse domain-name scheme for its " -"name. See the AppStream specification for details." +"The issue is tagged at security vulnerability with a CVE number, but its " +"value does not look like a valid CVE identifier." msgstr "" +"Ärendet har taggats som en säkerhetssårbarhet med ett CVE-nummer, men dess " +"värde ser inte ut som en giltig CVE-identifierare." -#: src/as-validator-issue-tag.h:114 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:713 msgid "" -"The component ID might not follow the reverse domain-name schema (the TLD " -"used by it is not known to the validator)." +"This component is missing information about releases. Consider adding a " +"`releases` tag to describe releases and their changes." msgstr "" -#: src/as-validator-issue-tag.h:293 +#: src/as-validator-issue-tag.h:718 msgid "" -"The component has a 'merge' method defined. This is not allowed in metainfo " -"files." +"The AppStream specification requires a complete, ISO 8601 date string with " +"at least day-granularity to denote dates. Please ensure the date string is " +"valid." msgstr "" +"AppStream-specifikationen kräver en fullständig ISO 8601-datumsträng med en " +"exakthet på åtminstone dagsnivå för att beskriva datum. Säkerställ att " +"datumsträngen är giltig." -#: src/as-validator-issue-tag.h:288 +#: src/as-validator-issue-tag.h:724 msgid "" -"The component has a priority value set. This is not allowed in metainfo " -"files." +"This component extends, provides, requires or recommends itself, which is " +"certainly not intended and may confuse users or machines dealing with this " +"metadata." msgstr "" +"Denna komponent utökar, tillhandahåller, kräver eller rekommenderar sig " +"själv, vilket knappast är avsett och kan förvirra användare och maskiner som " +"hanterar dessa metadata." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:503 -msgid "The component is an addon, but no 'extends' tag was specified." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:731 +msgid "" +"Licenses for `runtime` components are usually too complex to reflect them in " +"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " +"value for this component's `project_license`. E.g. `LicenseRef-free=https://" +"example.com/licenses.html`" msgstr "" +"Licenser för `runtime`-komponenter är vanligen för komplexa för att " +"beskrivas i ett enkelt SPDX-uttryck. Överväg att använda en `LicenseRef` och " +"en webb-URL som värdet för denna komponents `project_license`. T.ex. " +"`LicenseRef-free=https://example.com/licenses.html`" -#: src/as-validator-issue-tag.h:440 +#: src/as-validator-issue-tag.h:737 msgid "" -"The component is missing a long description. Components of this type must " -"have a long description." +"Since a `runtime` component is comprised of multiple other software " +"components, their component-IDs may be listed in a `` section for " +"this runtime." msgstr "" +"Då en `runtime`-komponent består av flera andra programvarukomponenter kan " +"deras komponent-ID:n listas i ett ``-avsnitt för denna " +"exekveringsmiljö." -#: src/as-validator-issue-tag.h:303 -msgid "The component is missing a name ( tag)." +#: src/as-validator-issue-tag.h:742 +msgid "" +"The type of the item that the component provides is not known to AppStream." msgstr "" +"Typen på objektet som komponenten tillhandahåller är okänd för AppStream." -#: src/as-validator-issue-tag.h:308 -msgid "The component is missing a summary ( tag)." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:748 +msgid "" +"The toplevel `mimetypes` tag is deprecated. Please use `mediatype` tags in a " +"`provides` block instead to indicate that your software provides a media " +"handler for the given types." msgstr "" +"`mimetypes`-taggen på toppnivå är föråldrad. Använd `mediatype`-taggar i ett " +"`provides`-block istället för att indikera att din programvara " +"tillhandahåller en mediahanterare för de angivna typerna." -#: src/as-validator-issue-tag.h:298 -msgid "The component is missing an ID ( tag)." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks) and keep the URL intact. +#: src/as-validator-issue-tag.h:755 +msgid "" +"This component has no `content_rating` tag to provide age rating " +"information. You can generate the tag data online by answering a few " +"questions at https://hughsie.github.io/oars/" msgstr "" -#: src/as-validator-issue-tag.h:136 +#: src/as-validator.c:150 msgid "" -"The component is part of the Freedesktop project, but its ID does not start " -"with fd.o's reverse-DNS name (\"org.freedesktop\")." +"The emitted issue tag is unknown in the tag registry of AppStream. This is a " +"bug in the validator itself, please report this issue in our bugtracker." msgstr "" +"Den utsända ärendetaggen är okänd i AppStreams taggregister. Detta är ett " +"fel i själva valideraren, rapportera detta problem i vårt " +"felrapporteringssystem." -#: src/as-validator-issue-tag.h:146 +#: src/as-validator.c:344 +msgid "URL format is invalid." +msgstr "URL-formatet är ogiltigt." + +#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. +#: src/as-validator.c:522 src/as-validator.c:937 src/as-validator.c:1031 +#: src/as-validator.c:1428 src/as-validator.c:1448 src/as-validator.c:1481 +#, c-format +msgid "Found: %s - Allowed: %s" +msgstr "Hittad: %s - Tillåten: %s" + +#. TRANSLATORS: ascompose flag description for: --verbose +#: tools/appstream-compose.c:181 +msgid "Show extra debugging information" +msgstr "Visa extra felsökningsinformation" + +#. TRANSLATORS: ascompose flag description for: --no-color +#. TRANSLATORS: ascli flag description for: --no-color +#: tools/appstream-compose.c:184 tools/appstreamcli.c:1087 +msgid "Don't show colored output." +msgstr "Visa inte färgade utdata." + +#. TRANSLATORS: ascompose flag description for: --version +#. TRANSLATORS: ascli flag description for: --version +#: tools/appstream-compose.c:187 tools/appstreamcli.c:1076 +msgid "Show the program version." +msgstr "Visa programversion." + +#. TRANSLATORS: ascompose flag description for: --full-report +#: tools/appstream-compose.c:190 +msgid "Set mode of the issue report that is printed to the console" +msgstr "Ställ in läget för ärenderapporten som skrivs till konsolen" + +#. TRANSLATORS: ascompose flag description for: --prefix +#: tools/appstream-compose.c:193 +msgid "Override the default prefix (`/usr` by default)" +msgstr "Åsidosätt standardprefixet (`/usr` som standard)" + +#. TRANSLATORS: ascompose flag description for: --result-root +#: tools/appstream-compose.c:196 +msgid "Set the result output directory" +msgstr "Ställ in utdatakatalogen för resultat" + +#. TRANSLATORS: ascompose flag description for: --data-dir, `collection metadata` is an AppStream term +#: tools/appstream-compose.c:199 +msgid "Override the collection metadata output directory" +msgstr "Åsidosätt utdatakatalogen för samlingsmetadata" + +#. TRANSLATORS: ascompose flag description for: --icons-dir +#: tools/appstream-compose.c:202 +msgid "Override the icon output directory" +msgstr "Åsidosätt ikonutdatakatalogen" + +#. TRANSLATORS: ascompose flag description for: --media-dir +#: tools/appstream-compose.c:205 +msgid "" +"Set the media output directory (for media data to be served by a webserver)" +msgstr "" + +#. TRANSLATORS: ascompose flag description for: --hints-dir +#: tools/appstream-compose.c:208 +msgid "Set a directory where HTML and text issue reports will be stored" +msgstr "Ställ in en katalog där HTML och textärenderapporter kommer att lagras" + +#. TRANSLATORS: ascompose flag description for: --origin +#. TRANSLATORS: ascompose flag description for: --media-baseurl +#: tools/appstream-compose.c:211 tools/appstream-compose.c:214 +msgid "Set the origin name" +msgstr "Ställ in namnet på ursprunget" + +#. TRANSLATORS: ascompose flag description for: --components +#: tools/appstream-compose.c:217 +msgid "A comma-separated list of component-IDs to accept" +msgstr "En kommaseparerad lista över komponent-ID:n att acceptera" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:231 +msgid "Failed to parse arguments" +msgstr "Misslyckades med att tolka argument" + +#. TRANSLATORS: Output if appstreamcli --version is executed. +#: tools/appstream-compose.c:242 tools/appstreamcli.c:1230 +#, c-format +msgid "AppStream version: %s" +msgstr "AppStream-version: %s" + +#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. +#: tools/appstream-compose.c:245 tools/appstreamcli.c:1233 +#, c-format msgid "" -"The component is part of the GNOME project, but its ID does not start with " -"GNOMEs reverse-DNS name (\"org.gnome\")." +"AppStream CLI tool version: %s\n" +"AppStream library version: %s" msgstr "" +"Version av AppStreams CLI-verktyg: %s\n" +"Version av AppStream-bibliotek: %s" -#: src/as-validator-issue-tag.h:141 +#. TRANSLATORS: invalid value for the --print-report CLI option +#: tools/appstream-compose.c:264 +#, c-format msgid "" -"The component is part of the KDE project, but its ID does not start with " -"KDEs reverse-DNS name (\"org.kde\")." -msgstr "" +"Invalid value for `--print-report` option: %s\n" +"Possible values are:\n" +"`on-error` - only prints a short report if the run failed (default)\n" +"`short` - generates an abridged report\n" +"`full` - a detailed report will be printed" +msgstr "" +"Ogiltigt värde för flaggan `--print-report`: %s\n" +"Möjliga värden är:\n" +"`on-error` - skriver endast ut en kort rapport om körningen misslyckades " +"(standard)\n" +"`short` - genererar en förkortad rapport\n" +"`full` - en detaljerad rapport kommer skrivas ut" + +#: tools/appstream-compose.c:285 +#, c-format +msgid "Automatically selected '%s' as data output location." +msgstr "Valde automatiskt ”%s” som plats för datautmatning." + +#. TRANSLATORS: we don't have a destination directory for compose +#: tools/appstream-compose.c:288 +msgid "No destination directory set, please provide a data output location!" +msgstr "Ingen målkatalog inställd, tillhandahåll en plats för datautmatning!" + +#: tools/appstream-compose.c:298 tools/appstream-compose.c:300 +msgid "WARNING" +msgstr "VARNING" + +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:337 +#, c-format +msgid "Only accepting components: %s" +msgstr "Accepterar endast komponenter: %s" + +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:340 +#, c-format +msgid "Only accepting component: %s" +msgstr "Accepterar endast komponent: %s" + +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:345 +msgid "Processing directories:" +msgstr "Bearbetar kataloger:" + +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:348 +msgid "Processing directory:" +msgstr "Bearbetar katalog:" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:357 +msgid "Can not process invalid directory" +msgstr "Kan inte bearbeta ogiltig katalog" + +#. TRANSLATORS: information message +#: tools/appstream-compose.c:369 +msgid "Composing metadata..." +msgstr "Sätter samman metadata…" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:374 +msgid "Failed to compose AppStream metadata" +msgstr "Misslyckades med att sätta samman AppStream-metadata" + +#. TRANSLATORS: appstream-compose failed to include all data +#: tools/appstream-compose.c:380 +msgid "Run failed, some data was ignored." +msgstr "Körning misslyckades, vissa data ignorerades." + +#. TRANSLATORS: information message of appstream-compose +#: tools/appstream-compose.c:382 +msgid "Errors were raised during this compose run:" +msgstr "Fel lyftes under denna sammansättningskörning:" + +#: tools/appstream-compose.c:383 +msgid "" +"Refer to the generated issue report data for details on the individual " +"problems." +msgstr "" +"Se data från den genererade ärenderapporten för detaljer om de individuella " +"problemen." + +#: tools/appstream-compose.c:386 +msgid "Overview of generated hints:" +msgstr "Översikt över genererade tips:" + +#. TRANSLATORS: information message +#: tools/appstream-compose.c:388 +msgid "Success!" +msgstr "Lyckades!" -#: src/as-validator-issue-tag.h:323 -msgid "The component name should (likely) not end with a dot ('.')." -msgstr "" +#. TRANSLATORS: ascli flag description for: --cachepath +#: tools/appstreamcli.c:59 +msgid "Manually selected location of AppStream cache." +msgstr "Manuellt angiven plats för AppStream-cache." -#: src/as-validator-issue-tag.h:333 -msgid "The component summary must not contain tabs or linebreaks." -msgstr "" +#. TRANSLATORS: ascli flag description for: --datapath +#: tools/appstreamcli.c:64 +msgid "Manually selected location of AppStream metadata to scan." +msgstr "Manuellt angiven plats för AppStream-metadata att söka av." + +#. TRANSLATORS: ascli flag description for: --no-cache +#: tools/appstreamcli.c:69 +msgid "Make request without any caching." +msgstr "Gör förfrågan utan någon cachning." + +#. TRANSLATORS: ascli flag description for: --format +#: tools/appstreamcli.c:85 +msgid "Default metadata format (valid values are 'xml' and 'yaml')." +msgstr "Standardmetadataformat (giltiga värden är ”xml” och ”yaml”)." + +#. TRANSLATORS: ascli flag description for: --details +#: tools/appstreamcli.c:100 +msgid "Print detailed output about found components." +msgstr "Skriv ut detaljerad utdata om identifierade komponenter." + +#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) +#: tools/appstreamcli.c:118 +msgid "Also show pedantic hints." +msgstr "Visa också pedantiska tips." -#: src/as-validator-issue-tag.h:328 -msgid "The component summary should not end with a dot ('.')." +#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) +#: tools/appstreamcli.c:123 +msgid "Print detailed explanation for found issues." +msgstr "Skriv ut detaljerad förklaring för hittade fel." + +#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) +#: tools/appstreamcli.c:128 +msgid "Do not use network access." +msgstr "Använd inte nätverksåtkomst." + +#. TRANSLATORS: ascli flag description for: --format when validating XML files +#: tools/appstreamcli.c:133 +msgid "Format of the generated report (valid values are 'text' and 'yaml')." msgstr "" +"Format för den genererade rapporten (giltiga värden är ”xml” och ”yaml”)." -#: src/as-validator-issue-tag.h:243 -msgid "" -"The default screenshot of a software component must not be a video. Use a " -"static image as default screenshot and set the video as a secondary " -"screenshot." +#. TRANSLATORS: This is the header to the --help menu for subcommands +#. TRANSLATORS: This is the header to the --help menu +#: tools/appstreamcli.c:153 tools/appstreamcli.c:981 +msgid "AppStream command-line interface" +msgstr "AppStreams kommandoradsgränssnitt" + +#: tools/appstreamcli.c:156 +#, c-format +msgid "'%s' command" +msgstr "”%s”-kommando" + +#. TRANSLATORS: An unknown option was passed to appstreamcli. +#: tools/appstreamcli.c:191 +#, c-format +msgid "Option '%s' is unknown." +msgstr "Flaggan ”%s” är okänd." + +#: tools/appstreamcli.c:195 tools/appstreamcli.c:1207 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options." msgstr "" +"Kör ”%s --help” för att se en fullständig lista över tillgängliga " +"kommandoradsflaggor." -#: src/as-validator-issue-tag.h:86 +#: tools/appstreamcli.c:197 +#, c-format msgid "" -"The description contains a web URL in plain text. This is not allowed, " -"please use the tag instead to share links." +"Run '%s --help' to see a list of available commands and options, and '%s %s " +"--help' to see a list of options specific for this subcommand." msgstr "" +"Kör ”%s --help” för att se en fullständig lista över tillgängliga " +"kommandoradsflaggor, och ”%s %s --help” för att se en lista över flaggor " +"specifika för detta underkommando." -#: src/as-validator.c:152 +#. TRANSLATORS: ascli flag description for: --force +#: tools/appstreamcli.c:245 +msgid "Enforce a cache refresh." +msgstr "Tvinga en cache-uppdatering." + +#. TRANSLATORS: ascli flag description for: --user +#: tools/appstreamcli.c:251 +msgid "Update the user-specific instead of the system-wide cache." +msgstr "" +"Uppdatera den användarspecifika cachen istället för den systemomfattande." + +#. TRANSLATORS: ascli flag description for: --origin (part of the "put" subcommand) +#: tools/appstreamcli.c:477 +msgid "Set the data origin for the installed metadata collection file." +msgstr "Ställ in dataursprunget för den installerade metadatasamlingsfilen." + +#. TRANSLATORS: ascli flag description for: --user (part of the "put" subcommand) +#: tools/appstreamcli.c:482 +msgid "Install the file for the current user, instead of globally." +msgstr "Installera filen för aktuell användare snarare än globalt." + +#: tools/appstreamcli.c:631 msgid "" -"The emitted issue tag is unknown in the tag registry of AppStream. This is a " -"bug in the validator itself, please report this issue in our bugtracker." +"You need to provide at least two version numbers to compare as parameters." msgstr "" +"Du måste tillhandahålla minst två versionsnummer att jämföra som parametrar." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:435 +#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. +#: tools/appstreamcli.c:660 +#, c-format +msgid "Unknown compare relation '%s'. Valid values are:" +msgstr "Okänd jämförelserelation ”%s”. Giltiga värden är:" + +#: tools/appstreamcli.c:700 msgid "" -"The essential tag 'metadata_license' is missing. A license for the metadata " -"itself always has to be defined." +"Too many parameters: Need two version numbers or version numbers and a " +"comparison operator." msgstr "" +"För många parametrar: Behöver två versionsnummer eller versionsnummer och en " +"jämförelseoperator." -#: src/as-validator-issue-tag.h:79 +#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) +#: tools/appstreamcli.c:726 msgid "" -"The first 'description/p' paragraph of this component might be too short (< " -"80 characters). Please consider starting with a longer paragraph to improve " -"how the description looks like in software centers and to provide more " -"detailed information on this component immediately in the first paragraph." +"Use the given .desktop file to fill in the basic values of the metainfo file." msgstr "" +"Använd den givna .desktop-filen för att fylla i grundläggande värden i " +"metainfofilen." -#: src/as-validator-issue-tag.h:156 +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand +#: tools/appstreamcli.c:731 msgid "" -"The license ID was not found in the SPDX database. Please check that the " -"license ID is written in an SPDX-conformant way and is a valid free software " -"license." +"This command takes optional TYPE and FILE positional arguments, FILE being a " +"file to write to (or \"-\" for standard output)." msgstr "" +"Detta kommando tar valfria positionsargument TYP och FIL, där FIL är en fil " +"att skriva till (eller ”-” för standard ut)." -#: src/as-validator-issue-tag.h:96 +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows +#: tools/appstreamcli.c:734 +#, c-format +msgid "The TYPE must be a valid component-type, such as: %s" +msgstr "TYP måste vara en giltig komponenttyp, så som: %s" + +#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) +#: tools/appstreamcli.c:775 +msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." +msgstr "Använd den angivna raden för nyckeln ”Exec=” för desktop-postfilen." + +#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command +#: tools/appstreamcli.c:815 +msgid "Assume the input file is in the selected format ('yaml' or 'text')." +msgstr "Anta att indatafilen är i valt format (”yaml” eller ”text”)." + +#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command +#: tools/appstreamcli.c:820 msgid "" -"The mentioned tag is empty, which is highly likely not intended as it should " -"have content." +"Limit the number of release entries that end up in the metainfo file (0 for " +"unlimited)." msgstr "" +"Begränsa antalet utgåveposter som hamnar i metainfofilen (0 för obegränsat)." + +#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command +#: tools/appstreamcli.c:862 +msgid "Generate the output in the selected format ('yaml' or 'text')." +msgstr "Generera utdata i valt format (”yaml” eller ”text”)." -#: src/as-validator-issue-tag.h:168 +#: tools/appstreamcli.c:894 +#, c-format +msgid "Compose binary '%s' was not found! Can not continue." +msgstr "Sammansättningsbinär ”%s” hittades inte! Kan inte fortsätta." + +#. TRANSLATORS: this is a (usually shorter) command alias, shown after the command summary text +#: tools/appstreamcli.c:956 +#, c-format +msgid "(Alias: '%s')" +msgstr "(Alias: ”%s”)" + +#. these are commands we can use with appstreamcli +#: tools/appstreamcli.c:983 +msgid "Subcommands:" +msgstr "Underkommandon:" + +#: tools/appstreamcli.c:1029 msgid "" -"The metadata itself does not seem to be licensed under a permissive license. " -"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " -"0BSD to allow distributors to include it in mixed data collections without " -"the risk of license violations due to mutually incompatible licenses." +"You can find information about subcommand-specific options by passing \"--" +"help\" to the subcommand." msgstr "" +"Du kan hitta information om specifika underordnade kommandon genom att " +"skicka in ”--help” till underkommandot." -#: src/as-validator-issue-tag.h:162 +#. TRANSLATORS: ascli has been run with unknown command. '%s --help' is the command to receive help and should not be translated. +#: tools/appstreamcli.c:1052 +#, c-format msgid "" -"The metadata itself seems to be licensed under a complex collection of " -"licenses. Please license the data under a simple permissive license, like " -"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " -"collections without the risk of license violations due to mutually " -"incompatible licenses." +"Command '%s' is unknown. Run '%s --help' for a list of available commands." msgstr "" +"Kommandot ”%s” är okänt. Kör ”%s --help” för en lista över tillgängliga " +"kommandon." + +#. TRANSLATORS: ascli flag description for: --verbose +#: tools/appstreamcli.c:1082 +msgid "Show extra debugging information." +msgstr "Visa extra felsökningsinformation." + +#. TRANSLATORS: ascli flag description for: --profile +#: tools/appstreamcli.c:1090 +msgid "Enable profiling" +msgstr "Aktivera profilering" + +#. TRANSLATORS: `appstreamcli search` command description. +#: tools/appstreamcli.c:1102 +msgid "Search the component database." +msgstr "Sök i komponentdatabasen." + +#. TRANSLATORS: `appstreamcli get` command description. +#: tools/appstreamcli.c:1107 +msgid "Get information about a component by its ID." +msgstr "Hämta information om en komponent givet dess ID." -#: src/as-validator-issue-tag.h:599 +#. TRANSLATORS: `appstreamcli what-provides` command description. +#: tools/appstreamcli.c:1112 msgid "" -"The metainfo file is stored in a legacy path. Please place it in '/usr/share/" -"metainfo'." +"Get components which provide the given item. Needs an item type (e.g. lib, " +"bin, python3, …) and item value as parameter." msgstr "" +"Erhåll komponenter som tillhandahåller det angivna objektet. Behöver " +"objekttyp (t.ex. lib, bin, python3, …) och objektvärde som parameter." -#: src/as-validator-issue-tag.h:604 -msgid "The metainfo file specifies multiple components. This is not allowed." -msgstr "" +#. TRANSLATORS: `appstreamcli dump` command description. +#: tools/appstreamcli.c:1118 +msgid "Dump raw XML metadata for a component matching the ID." +msgstr "Dumpa råa XML-metadata för en komponent som matchar ID:t." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:559 -msgid "" -"The metainfo file uses an ancient version of the AppStream specification, " -"which can not be validated. Please migrate it to version 0.6 (or higher)." +#. TRANSLATORS: `appstreamcli refresh-cache` command description. +#: tools/appstreamcli.c:1123 +msgid "Rebuild the component metadata cache." +msgstr "Bygg om cachen för komponentmetadata." + +#. TRANSLATORS: `appstreamcli validate` command description. +#: tools/appstreamcli.c:1129 +msgid "Validate AppStream XML files for issues." +msgstr "Genomsök AppStream XML-filer efter fel." + +#. TRANSLATORS: `appstreamcli validate-tree` command description. +#: tools/appstreamcli.c:1134 +msgid "Validate an installed file-tree of an application for valid metadata." msgstr "" +"Genomsök ett installerat filträd för ett program efter giltig metadata." -#: src/as-validator-issue-tag.h:569 -#, fuzzy -msgid "The metainfo filename does not match the component ID." +#. TRANSLATORS: `appstreamcli install` command description. +#: tools/appstreamcli.c:1140 +msgid "Install software matching the component-ID." +msgstr "Installera programvara som matchar komponent-ID:t." + +#. TRANSLATORS: `appstreamcli remove` command description. +#: tools/appstreamcli.c:1145 +msgid "Remove software matching the component-ID." msgstr "Ta bort programvara som matchar komponent-ID:t." -#: src/as-validator-issue-tag.h:609 +#. TRANSLATORS: `appstreamcli status` command description. +#: tools/appstreamcli.c:1151 +msgid "Display status information about available AppStream metadata." +msgstr "Visa statusinformation om tillgängliga AppStream-metadata." + +#. TRANSLATORS: `appstreamcli os-info` command description. +#: tools/appstreamcli.c:1156 msgid "" -"The releases are not sorted in a latest to oldest version order. This is " -"required as some tools will assume that the latest version is always at the " -"top. Sorting releases also increases overall readability of the metainfo " -"file." +"Show information about the current operating system from the metadata index." msgstr "" +"Visa information om det aktuella operativsystemet från metadataindexet." -#: src/as-validator-issue-tag.h:537 -msgid "The screenshot caption is too long (should be <= 80 characters)" -msgstr "" +#. TRANSLATORS: `appstreamcli put` command description. +#: tools/appstreamcli.c:1161 +msgid "Install a metadata file into the right location." +msgstr "Installera en metadatafil på rätt plats." + +#. TRANSLATORS: `appstreamcli convert` command description. "Collection XML" is a term describing a specific type of AppStream XML data. +#: tools/appstreamcli.c:1166 +msgid "Convert collection XML to YAML or vice versa." +msgstr "Konvertera samlings-XML till YAML eller tvärtom." -#: src/as-validator-issue-tag.h:206 -msgid "The screenshot does not have a caption text. Consider adding one." -msgstr "" +#. TRANSLATORS: `appstreamcli vercmp` command description. +#: tools/appstreamcli.c:1171 +msgid "Compare two version numbers." +msgstr "Jämför två versionsnummer." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:218 +#. TRANSLATORS: `appstreamcli new-template` command description. +#: tools/appstreamcli.c:1177 msgid "" -"The screenshot video does not specify which container format was used in a " -"'container' property." +"Create a template for a metainfo file (to be filled out by the upstream " +"project)." msgstr "" +"Skapa en mall för en metainfofil (att fyllas i av projektet uppströms)." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:212 -msgid "" -"The screenshot video does not specify which video codec was used in a " -"'codec' property." -msgstr "" +#. TRANSLATORS: `appstreamcli make-desktop-file` command description. +#: tools/appstreamcli.c:1182 +msgid "Create a desktop-entry file from a metainfo file." +msgstr "Skapa en desktop-postfil från en metainfofil." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:224 -msgid "" -"The selected video codec is not supported by AppStream and software centers " -"may not be able to play the video. Only the AV1 and VP9 codecs are currently " -"supported, using 'av1' and 'vp9' as values for the 'codec' property." -msgstr "" +#. TRANSLATORS: `appstreamcli news-to-metainfo` command description. +#: tools/appstreamcli.c:1187 +msgid "Convert a YAML or text NEWS file into metainfo releases." +msgstr "Konvertera en YAML-fil eller NEWS-text till metainfoutgåvor." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:231 -msgid "" -"The selected video container format is not supported by AppStream and " -"software centers may not be able to play the video. Only the WebM and " -"Matroska video containers are currently supported, using 'webm' and 'mkv' as " -"values for the 'container' property." -msgstr "" +#. TRANSLATORS: `appstreamcli metainfo-to-news` command description. +#: tools/appstreamcli.c:1192 +msgid "Write NEWS text or YAML file with information from a metainfo file." +msgstr "Skriv en NEWS-text eller YAML-fil med information från en metainfofil." -#: src/as-validator-issue-tag.h:283 -#, fuzzy -msgid "" -"The set component type is not a recognized, valid AppStream component type." -msgstr "" -"Programvarukomponenttypen ”%s” är inte giltig i AppStream. Möjliga värden är:" +#. TRANSLATORS: `appstreamcli compose` command description. +#: tools/appstreamcli.c:1198 +msgid "Compose AppStream collection metadata from directory trees." +msgstr "Sätt samman AppStream-samlingsmetadata från katalogträd." -#: src/as-validator-issue-tag.h:398 -msgid "" -"The set value is not an identifier for a desktop environment as registered " -"with Freedesktop.org." -msgstr "" +#. TRANSLATORS: ascli has been run without command. +#: tools/appstreamcli.c:1206 +msgid "You need to specify a command." +msgstr "Du måste ange ett kommando." -#: tools/ascli-actions-mdata.c:449 +#. TRANSLATORS: In ascli: The requested action needs higher permissions. +#: tools/ascli-actions-mdata.c:70 +msgid "You might need superuser permissions to perform this action." +msgstr "Du kan behöva superanvändarrättigheter för att utföra denna åtgärd." + +#. we performed a cache refresh +#. TRANSLATORS: Updating the metadata cache succeeded +#: tools/ascli-actions-mdata.c:80 +msgid "AppStream cache update completed successfully." +msgstr "Uppdatering av AppStreams cache färdig." + +#. cache wasn't updated, so the update wasn't necessary +#: tools/ascli-actions-mdata.c:86 +msgid "AppStream cache update is not necessary." +msgstr "Uppdatering av AppStream-cache behövs inte." + +#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments +#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. +#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:253 +#: tools/ascli-actions-pkgmgr.c:80 +msgid "You need to specify a component-ID." +msgstr "Du måste ange ett komponent-ID." + +#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:265 +#: tools/ascli-actions-pkgmgr.c:93 #, c-format -msgid "" -"The software component type '%s' is not valid in AppStream. Possible values " -"are:" -msgstr "" -"Programvarukomponenttypen ”%s” är inte giltig i AppStream. Möjliga värden är:" +msgid "Unable to find component with ID '%s'!" +msgstr "Kunde inte identifiera komponenten med ID ”%s”!" -#: src/as-validator-issue-tag.h:338 -msgid "The summary must not contain any URL. Use the tags for links." -msgstr "" +#: tools/ascli-actions-mdata.c:164 +msgid "You need to specify a term to search for." +msgstr "Du måste ange en term att söka efter." -#: src/as-validator-issue-tag.h:640 -msgid "" -"The type of the item that the component provides is not known to AppStream." -msgstr "" +#. TRANSLATORS: We failed to find any component in the database, likely due to an error +#: tools/ascli-actions-mdata.c:177 +#, c-format +msgid "Unable to find component matching %s!" +msgstr "Kunde inte hitta komponenten matchandes %s!" -#: src/as-validator-issue-tag.h:174 -msgid "" -"The update-contact does not appear to be a valid email address (escaping of " -"'@' is only allowed as '_at_' or '_AT_')." -msgstr "" +#: tools/ascli-actions-mdata.c:182 +#, c-format +msgid "No component matching '%s' found." +msgstr "Hittade ingen komponent matchande ”%s”." + +#: tools/ascli-actions-mdata.c:206 +msgid "No value for the item to search for was defined." +msgstr "Inget värde för objektet att leta efter finns definierat." + +#: tools/ascli-actions-mdata.c:212 +msgid "Invalid type for provided item selected. Valid values are:" +msgstr "Ogiltig typ vald för tillhandahållet objekt. Giltiga värden är:" -#: tools/ascli-actions-validate.c:363 tools/ascli-actions-validate.c:492 +#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results +#: tools/ascli-actions-mdata.c:227 #, c-format -msgid "" -"The validator can not create reports in the '%s' format. You may select " -"'yaml' or 'text' instead." -msgstr "" +msgid "Could not find component providing '%s::%s'." +msgstr "Kunde inte hitta komponent som tillhandahåller ”%s::%s”." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:410 -msgid "This 'bundle' tag has an unknown type and can not be used." -msgstr "" +#: tools/ascli-actions-mdata.c:306 +msgid "You need to specify a metadata file." +msgstr "Du måste ange en metadata-fil." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:404 -msgid "This 'launchable' tag has an unknown type and can not be used." -msgstr "" +#: tools/ascli-actions-mdata.c:320 +#, c-format +msgid "Unable to install metadata file: %s" +msgstr "Kunde inte installera metadatafil: %s" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:515 -msgid "" -"This 'localization' component does not define any languages this " -"localization is for." -msgstr "" +#: tools/ascli-actions-mdata.c:340 +msgid "You need to specify an input and output file." +msgstr "Du måste ange en in- och utdatafil." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:509 -msgid "" -"This 'localization' component is missing an 'extends' tag, to specify the " -"components it adds localization to." -msgstr "" +#: tools/ascli-actions-mdata.c:347 +#, c-format +msgid "Metadata file '%s' does not exist." +msgstr "Metadatafilen ”%s” finns inte." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:521 +#. TRANSLATORS: User is trying to convert a file in ascli +#: tools/ascli-actions-mdata.c:387 msgid "" -"This 'service' component is missing a 'launchable' tag of type 'service'." +"Unable to convert file: Could not determine output format, please set it " +"explicitly using '--format='." msgstr "" +"Kunde inte konvertera filen: Det går inte att bestämma utmatningsformatet, " +"sätt det explicit med ”--format=”." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:473 -msgid "" -"This 'web-application' component is missing a 'icon' tag to specify a valid " -"icon." -msgstr "" +#: tools/ascli-actions-mdata.c:438 +#, c-format +msgid "Unable to find operating system component '%s'!" +msgstr "Kunde inte hitta operativsystemskomponenten ”%s”!" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:467 -msgid "" -"This 'web-application' component is missing a 'launchable' tag of type 'url'." -msgstr "" +#: tools/ascli-actions-mdata.c:443 +msgid "Version" +msgstr "Version" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:479 +#: tools/ascli-actions-mdata.c:467 msgid "" -"This 'web-application' component is missing categorizations. A 'categories' " -"block is likely missing." +"You need to give an AppStream software component type to generate a " +"template. Possible values are:" msgstr "" +"Du behöver ange en AppStream-programkomponenttyp för att generera en mall. " +"Möjliga värden är:" -#: src/as-validator-issue-tag.h:564 +#: tools/ascli-actions-mdata.c:469 +#, c-format msgid "" -"This XML document has an unknown root tag. Maybe this file is not a metainfo " -"document?" +"The software component type '%s' is not valid in AppStream. Possible values " +"are:" msgstr "" +"Programvarukomponenttypen ”%s” är inte giltig i AppStream. Möjliga värden är:" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand -#: tools/appstream-cli.c:680 -msgid "" -"This command takes optional TYPE and FILE positional arguments, FILE being a " -"file to write to (or \"-\" for standard output)." -msgstr "" -"Detta kommando tar valfria positionsargument TYP och FIL, där FIL är en fil " -"att skriva till (eller \"-\" för standard ut)." +#: tools/ascli-actions-mdata.c:487 +#, c-format +msgid "The .desktop file '%s' does not exist." +msgstr ".desktop-filen ”%s” finns inte." -#: src/as-validator-issue-tag.h:622 -msgid "" -"This component extends, provides, requires or recommends itself, which is " -"certainly not intended and may confuse users or machines dealing with this " -"metadata." -msgstr "" +#: tools/ascli-actions-mdata.c:493 +#, c-format +msgid "Unable to read the .desktop file: %s" +msgstr "Kunde inte läsa .desktop-filen: %s" -#: src/as-validator-issue-tag.h:579 -msgid "This component metadata refers to a non-existing .desktop file." -msgstr "" +#: tools/ascli-actions-mdata.c:564 +#, c-format +msgid "Unable to build the template metainfo file: %s" +msgstr "Kunde inte bygga mallmetainfofilen: %s" -#: src/as-validator-issue-tag.h:69 -msgid "" -"This description paragraph contains invalid markup. Currently, only " -"and are permitted." -msgstr "" +#: tools/ascli-actions-mdata.c:572 +#, c-format +msgid "Unable to save the template metainfo file: %s" +msgstr "Kunde inte spara mallmetainfofilen: %s" -#: src/as-validator-issue-tag.h:57 -msgid "" -"This element (paragraph, list, etc.) of a tag must not be " -"localized individually in collection metadata. Localize the whole " -" tag instead. The AppStream collection metadata generator (e." -"g. `appstream-generator`) will already do the right thing when compiling the " -"data." -msgstr "" +#. TRANSLATORS: In the status report of ascli: Header +#: tools/ascli-actions-misc.c:47 +msgid "AppStream Status:" +msgstr "AppStream-status:" -#: src/as-validator-issue-tag.h:455 -msgid "" -"This generic component is missing a long description. It may be useful to " -"add one." -msgstr "" +#: tools/ascli-actions-misc.c:48 +#, c-format +msgid "Version: %s" +msgstr "Version: %s" -#: src/as-validator-issue-tag.h:421 -msgid "" -"This tag is a GNOME-specific extension to AppStream and not part of the " -"official specification. Do not expect it to work in all implementations and " -"in all software centers." -msgstr "" +#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions +#: tools/ascli-actions-misc.c:52 +msgid "Distribution metadata:" +msgstr "Distributionsmetadata:" -#: src/as-validator-issue-tag.h:41 -msgid "This tag requires a type property." -msgstr "" +#: tools/ascli-actions-misc.c:94 +msgid "Iconsets" +msgstr "Ikonuppsättningar" -#: data/org.freedesktop.appstream.cli.metainfo.xml:15 -msgid "" -"This tool allows for reading, writing, validating and transformation of " -"AppStream XML or YAML metadata. It also gives access to the system metadata " -"pool, for example to query for software that provides a specific MIME-type, " -"and installing it by its software component identifier." -msgstr "" -"Det här verktyget möjliggör läsning, skrivning, validering och " -"transformering av AppStream XML- eller YAML-metadata. Det ger också åtkomst " -"till systemmetadatapoolen för att till exempel söka efter program som " -"innehåller en specifik MIME-typ och installera den med dess " -"programidentifierare." +#: tools/ascli-actions-misc.c:105 +msgid "No icons." +msgstr "Inga ikoner." -#: src/as-validator-issue-tag.h:388 -msgid "" -"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." -msgstr "" +#. TRANSLATORS: No metainfo files have been found +#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 +msgid "Empty." +msgstr "Tom." -#: tools/appstream-cli.c:648 -msgid "" -"Too many parameters: Need two version numbers or version numbers and a " -"comparison operator." -msgstr "" -"För många parametrar: Behöver två versionsnummer eller versionsnummer och en " -"jämförelseoperator." +#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report +#: tools/ascli-actions-misc.c:116 +msgid "Metainfo files:" +msgstr "Metainfofiler:" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:461 -msgid "" -"Type 'console-application' component, but no information about binaries in " -"$PATH was provided via a 'provides/binary' tag." -msgstr "" +#: tools/ascli-actions-misc.c:123 +#, c-format +msgid "Found %i components." +msgstr "Hittade %i komponenter." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:491 -msgid "" -"Type 'driver' component, but no modalias information was provided via a " -"provides/modalias tag." -msgstr "" +#. TRANSLATORS: Found metainfo files in legacy directories +#: tools/ascli-actions-misc.c:138 +#, c-format +msgid "Found %i components in legacy paths." +msgstr "Hittade %i komponenter i föråldrade sökvägar." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:485 -msgid "" -"Type 'font' component, but no font information was provided via a 'provides/" -"font' tag." -msgstr "" +#. TRANSLATORS: Status summary in ascli +#: tools/ascli-actions-misc.c:145 +msgid "Summary:" +msgstr "Sammanfattning:" -#: src/as-validator.c:333 -msgid "URL format is invalid." -msgstr "" +#: tools/ascli-actions-misc.c:153 +#, c-format +msgid "We have information on %i software components." +msgstr "Vi har inte information om %i programvarukomponenter." -#: tools/ascli-actions-mdata.c:544 +#: tools/ascli-actions-misc.c:159 #, c-format -msgid "Unable to build the template metainfo file: %s" -msgstr "Kunde inte bygga mallmetainfo-filen: %s" +msgid "Error while loading the metadata pool: %s" +msgstr "Fel vid inläsning av poolen för metadata: %s" -#. TRANSLATORS: User is trying to convert a file in ascli -#: tools/ascli-actions-mdata.c:400 +#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 +msgid "You need to specify a metainfo file as input." +msgstr "Du måste ange en metainfofil som indata." + +#: tools/ascli-actions-misc.c:188 msgid "" -"Unable to convert file: Could not determine output format, please set it " -"explicitly using '--format='." +"You need to specify a desktop-entry file to create or augment as output." msgstr "" -"Kunde inte konvertera filen: Det går inte att bestämma utmatningsformatet, " -"sätt det explict med ”--format=”." +"Du måste ange en desktop-postfil att skapa eller att lägga till i som utdata." -#. TRANSLATORS: We failed to find any component in the database, likely due to an error -#: tools/ascli-actions-mdata.c:177 +#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 +#: tools/ascli-actions-misc.c:515 #, c-format -msgid "Unable to find component matching %s!" -msgstr "Kunde inte hitta komponenten matchandes %s!" +msgid "Metainfo file '%s' does not exist." +msgstr "Metainfofilen ”%s” finns inte." -#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:266 -#: tools/ascli-actions-pkgmgr.c:93 +#: tools/ascli-actions-misc.c:219 #, c-format -msgid "Unable to find component with ID '%s'!" -msgstr "Kunde inte identifiera komponenten med id ”%s”!" +msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." +msgstr "Sätter samman befintlig desktop-postfil ”%s” med data från ”%s”." #: tools/ascli-actions-misc.c:224 -#, fuzzy, c-format +#, c-format msgid "Unable to load existing desktop-entry file template: %s" -msgstr "Kunde inte läsa .desktop-filen: %s" +msgstr "Kunde inte läsa in befintlig desktop-postfilmall: %s" -#: src/as-validator-issue-tag.h:356 -msgid "Unable to reach remote icon at the given web location - does it exist?" -msgstr "" +#: tools/ascli-actions-misc.c:228 +#, c-format +msgid "Creating new desktop-entry file '%s' using data from '%s'" +msgstr "Skapar ny desktop-postfil ”%s” med data från ”%s”" -#: src/as-validator-issue-tag.h:378 -msgid "" -"Unable to reach remote location that this URL references - does it exist?" +#: tools/ascli-actions-misc.c:284 +msgid "No stock icon name was provided in the metainfo file. Can not continue." msgstr "" +"Inget standardikonnamn tillhandahölls i metainfofilen. Kan inte fortsätta." -#: src/as-validator-issue-tag.h:179 +#: tools/ascli-actions-misc.c:306 msgid "" -"Unable to reach the screenshot image on its remote location - does the image " -"exist?" +"No provided binary specified in metainfo file, and no exec command specified " +"via '--exec'. Can not create 'Exec=' key." msgstr "" +"Ingen tillhandahållen binär angiven i metainfofil, och inget exec-kommando " +"angivet via ”--exec”. Kan inte skapa nyckeln ”Exec=”." -#: src/as-validator-issue-tag.h:184 -msgid "" -"Unable to reach the screenshot video on its remote location - does the video " -"file exist?" -msgstr "" +#: tools/ascli-actions-misc.c:370 +#, c-format +msgid "Unable to save desktop entry file: %s" +msgstr "Kunde inte spara desktop-postfil: %s" -#: src/as-validator-issue-tag.h:542 -#, fuzzy -msgid "Unable to read file." -msgstr "Kunde inte ta bort gammal cache." +#: tools/ascli-actions-misc.c:393 +msgid "You need to specify a NEWS file as input." +msgstr "Du måste ange en NEWS-fil som indata." -#: src/as-validator-issue-tag.h:574 -#, fuzzy -msgid "Unable to read the .desktop file associated with this component." -msgstr "Kunde inte läsa .desktop-filen: %s" +#: tools/ascli-actions-misc.c:397 +msgid "" +"You need to specify a metainfo file to augment, or '-' to print to stdout." +msgstr "" +"Du måste ange en metainfofil att lägga till i, eller ”-” för att skriva till " +"standard ut." -#: tools/ascli-actions-mdata.c:473 -#, c-format -msgid "Unable to read the .desktop file: %s" -msgstr "Kunde inte läsa .desktop-filen: %s" +#: tools/ascli-actions-misc.c:402 +msgid "No output filename specified, modifying metainfo file directly." +msgstr "Inget utdatafilnamn angivet, modifierar metainfofil direkt." -#: src/as-pool.c:606 -msgid "Unable to remove old cache." -msgstr "Kunde inte ta bort gammal cache." +#: tools/ascli-actions-misc.c:509 +msgid "You need to specify a NEWS file as output, or '-' to print to stdout." +msgstr "" +"Du måste ange en NEWS-fil som utmatning, eller ”-” för att skriva till " +"standard ut." -#: tools/ascli-actions-misc.c:370 -#, fuzzy, c-format -msgid "Unable to save desktop entry file: %s" -msgstr "Kunde inte läsa .desktop-filen: %s" +#: tools/ascli-actions-misc.c:540 +msgid "You need to specify a NEWS format to write the output in." +msgstr "Du måste ange ett NEWS-format att skriva utdata i." -#: tools/ascli-actions-mdata.c:552 -#, c-format -msgid "Unable to save the template metainfo file: %s" -msgstr "Kunde inte spara mallmetainfo-filen: %s" +#: tools/ascli-actions-pkgmgr.c:53 +msgid "" +"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" +"\" (part of PackageKit) is available." +msgstr "" +"Inget lämpligt CLI för pakethanterare hittades. Säkerställ att t.ex. " +"”pkcon” (en del av PackageKit) finns tillgänglig." #: tools/ascli-actions-pkgmgr.c:67 #, c-format msgid "Unable to spawn package manager: %s" msgstr "Kunde inte starta pakethanterare: %s" -#: tools/ascli-actions-mdata.c:322 +#. TRANSLATORS: We found no distribution package or bundle to install to make this software available +#: tools/ascli-actions-pkgmgr.c:106 #, c-format -msgid "Unable to write to '%s', can not install metainfo file." -msgstr "Kunde inte skriva till ”%s”, kan inte installera metainfo-fil." +msgid "Component '%s' has no installation candidate." +msgstr "Komponenten ”%s” har ingen installationskandidat." -#. TRANSLATORS: ascli has been run with unknown command. -#: tools/appstream-cli.c:1009 +#: tools/ascli-actions-validate.c:176 tools/ascli-actions-validate.c:354 #, c-format -msgid "Unknown command '%s'." -msgstr "Okänt kommando ”%s”." +msgid "File '%s' does not exist." +msgstr "Filen ”%s” finns inte." -#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. -#: tools/appstream-cli.c:608 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "error"-type hints +#: tools/ascli-actions-validate.c:228 #, c-format -msgid "Unknown compare relation '%s'. Valid values are:" -msgstr "Okänd jämförelserelation ”%s”. Giltiga värden är:" - -#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) -#: tools/appstream-cli.c:675 -msgid "" -"Use the given .desktop file to fill in the basic values of the metainfo file." -msgstr "" -"Använd den givna .desktop-filen för att fylla i grundläggande värden i " -"metainfofilen." - -#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) -#: tools/appstream-cli.c:725 -msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." -msgstr "" - -#. TRANSLATORS: this is the menu spec main category for Utilities -#: src/as-category.c:329 -msgid "Utilities" -msgstr "Verktyg" +msgid "errors: %lu" +msgstr "fel: %lu" -#: tools/appstream-cli.c:856 -msgid "Validate AppStream XML files for issues." -msgstr "Genomsök AppStream XML-filer efter fel." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "warning"-type hints +#: tools/ascli-actions-validate.c:235 +#, c-format +msgid "warnings: %lu" +msgstr "varningar: %lu" -#: tools/appstream-cli.c:857 -msgid "Validate an installed file-tree of an application for valid metadata." -msgstr "" -"Genomsök ett installerat filträd för ett program efter giltig metadata." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "info"-type hints +#: tools/ascli-actions-validate.c:242 +#, c-format +msgid "infos: %lu" +msgstr "info: %lu" -#: tools/ascli-actions-validate.c:301 tools/ascli-actions-validate.c:442 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "pedantic"-type hints +#: tools/ascli-actions-validate.c:249 #, c-format -msgid "Validation failed: %s" -msgstr "Misslyckades med validering: %s" +msgid "pedantic: %lu" +msgstr "pedantiska: %lu" + +#: tools/ascli-actions-validate.c:268 tools/ascli-actions-validate.c:342 +msgid "You need to specify at least one file to validate!" +msgstr "Du måste ange minst en fil att validera!" -#: tools/ascli-actions-validate.c:289 tools/ascli-actions-validate.c:430 +#: tools/ascli-actions-validate.c:294 tools/ascli-actions-validate.c:435 msgid "Validation was successful." -msgstr "Valideringen var framgångsrik." +msgstr "Valideringen lyckades." -#: tools/ascli-actions-validate.c:291 tools/ascli-actions-validate.c:432 +#: tools/ascli-actions-validate.c:296 tools/ascli-actions-validate.c:437 #, c-format msgid "Validation was successful: %s" -msgstr "Valideringen var framgångsrik: %s" +msgstr "Valideringen lyckades: %s" -#: tools/appstream-cli.c:851 -msgid "Value of the item that should be found." -msgstr "Värdet för objektet som borde hittas." - -#: src/as-category.c:177 -msgctxt "Category of Graphics" -msgid "Vector Graphics" -msgstr "Vektorgrafik" - -#: tools/ascli-actions-misc.c:48 +#: tools/ascli-actions-validate.c:306 tools/ascli-actions-validate.c:447 #, c-format -msgid "Version: %s" -msgstr "Version: %s" - -#: src/as-category.c:180 -msgctxt "Category of Graphics" -msgid "Viewers" -msgstr "Visare" +msgid "Validation failed: %s" +msgstr "Misslyckades med validering: %s" -#: tools/ascli-actions-misc.c:153 +#: tools/ascli-actions-validate.c:368 tools/ascli-actions-validate.c:497 #, c-format -msgid "We have information on %i software components." -msgstr "Vi har inte information om %i programvarukomponenter." - -#: src/as-category.c:270 -msgctxt "Category of Communication" -msgid "Web Browsers" -msgstr "Webbläsare" - -#: src/as-category.c:202 -msgctxt "Category of Office" -msgid "Word Processor" -msgstr "Ordbehandlare" - -#: tools/appstream-cli.c:871 -msgid "Write NEWS text or YAML file with information from a metainfo file." -msgstr "" - -#: tools/appstream-cli.c:874 msgid "" -"You can find information about subcommand-specific options by passing \"--" -"help\" to the subcommand." +"The validator can not create reports in the '%s' format. You may select " +"'yaml' or 'text' instead." msgstr "" -"Du kan hitta information om specifika underordnade kommandon genom att " -"skicka in ”--help” till underkommandot." +"Valideraren kan inte skapa rapporter i formatet ”%s”. Du kan välja ”yaml” " +"eller ”text” istället." -#. TRANSLATORS: In ascli: The requested action needs higher permissions. -#: tools/ascli-actions-mdata.c:70 -msgid "You might need superuser permissions to perform this action." -msgstr "Du kan behöva superanvändarrättigheter för att utföra denna åtgärd." +#: tools/ascli-actions-validate.c:390 tools/ascli-actions-validate.c:484 +msgid "You need to specify a root directory to start validation!" +msgstr "Du måste ange en rotkatalog för att påbörja valideringen!" -#: tools/ascli-actions-mdata.c:447 -msgid "" -"You need to give an AppStream software component type to generate a " -"template. Possible values are:" -msgstr "" -"Du behöver ange en AppStream-programkomponenttyp för att generera en mall. " -"Möljiga värden är:" +#: tools/ascli-utils.c:266 +msgid "Identifier" +msgstr "Identifierare" -#: tools/appstream-cli.c:579 -msgid "" -"You need to provide at least two version numbers to compare as parameters." -msgstr "" -"Du måste tillhandahålla minst två versionsnummer att jämföra som parametrar." +#: tools/ascli-utils.c:268 +msgid "Internal ID" +msgstr "Internt ID" -#: tools/ascli-actions-misc.c:393 -#, fuzzy -msgid "You need to specify a NEWS file as input." -msgstr "Du måste ange en metadata-fil." +#: tools/ascli-utils.c:269 +msgid "Name" +msgstr "Namn" -#: tools/ascli-actions-misc.c:509 -#, fuzzy -msgid "You need to specify a NEWS file as output, or '-' to print to stdout." -msgstr "Du måste ange en metadata-fil." +#: tools/ascli-utils.c:270 +msgid "Summary" +msgstr "Sammanfattning" -#: tools/ascli-actions-misc.c:540 -#, fuzzy -msgid "You need to specify a NEWS format to write the output in." -msgstr "Du måste ange en in- och utdatafil." +#: tools/ascli-utils.c:271 +msgid "Package" +msgstr "Paket" -#. TRANSLATORS: ascli has been run without command. -#: tools/appstream-cli.c:925 -msgid "You need to specify a command." -msgstr "Du måste specificera ett kommando." +#: tools/ascli-utils.c:272 +msgid "Bundle" +msgstr "Bunt" -#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments -#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. -#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:254 -#: tools/ascli-actions-pkgmgr.c:80 -msgid "You need to specify a component-ID." -msgstr "Du måste specificera ett komponent-id." +#: tools/ascli-utils.c:273 +msgid "Homepage" +msgstr "Webbplats" -#: tools/ascli-actions-misc.c:188 -#, fuzzy -msgid "" -"You need to specify a desktop-entry file to create or augment as output." -msgstr "Du måste specificera en fil att validera!" +#: tools/ascli-utils.c:274 +msgid "Icon" +msgstr "Ikon" -#: tools/ascli-actions-mdata.c:309 -msgid "You need to specify a metadata file." -msgstr "Du måste ange en metadata-fil." +#. developer name +#: tools/ascli-utils.c:294 +msgid "Developer" +msgstr "Utvecklare" -#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 -#, fuzzy -msgid "You need to specify a metainfo file as input." -msgstr "Du måste ange en metadata-fil." +#: tools/ascli-utils.c:300 +msgid "Extends" +msgstr "Utökar" -#: tools/ascli-actions-misc.c:397 -#, fuzzy -msgid "" -"You need to specify a metainfo file to augment, or '-' to print to stdout." -msgstr "Du måste ange en metadata-fil." +#: tools/ascli-utils.c:306 +msgid "Description" +msgstr "Beskrivning" -#: tools/ascli-actions-validate.c:385 tools/ascli-actions-validate.c:479 -msgid "You need to specify a root directory to start validation!" -msgstr "Du måste ange en rotkatalog för att påbörja valideringen!" +#: tools/ascli-utils.c:326 +msgid "Default Screenshot URL" +msgstr "URL för exempelbild" -#: tools/ascli-actions-mdata.c:164 -msgid "You need to specify a term to search for." -msgstr "Du måste specificera en term att söka efter." +#. project group +#: tools/ascli-utils.c:333 +msgid "Project Group" +msgstr "Projektgrupp" -#: tools/ascli-actions-mdata.c:357 -msgid "You need to specify an input and output file." -msgstr "Du måste ange en in- och utdatafil." +#. license +#: tools/ascli-utils.c:336 +msgid "License" +msgstr "Licens" -#: tools/ascli-actions-validate.c:263 tools/ascli-actions-validate.c:337 -#, fuzzy -msgid "You need to specify at least one file to validate!" -msgstr "Du måste specificera en fil att validera!" +#: tools/ascli-utils.c:342 +msgid "Categories" +msgstr "Kategorier" -#. TRANSLATORS: List of "grey-listed" words sperated with ";" -#. * Do not translate this list directly. Instead, -#. * provide a list of words in your language that people are likely -#. * to include in a search but that should normally be ignored in -#. * the search. -#. -#: src/as-pool.c:107 -msgid "app;application;package;program;programme;suite;tool" -msgstr "app;program;paket;svit;verktyg" +#: tools/ascli-utils.c:350 +msgid "Compulsory for" +msgstr "Obligatorisk för" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:223 -#, c-format -msgid "errors: %lu" -msgstr "fel: %lu" +#: tools/ascli-utils.c:378 +msgid "Provided Items" +msgstr "Tillhandahållna objekt" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:237 #, c-format -msgid "infos: %lu" -msgstr "Infos: %lu" +#~ msgid "Unable to open new cache file: %s" +#~ msgstr "Kunde inte öppna ny cachefil: %s" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:244 -#, c-format -msgid "pedantic: %lu" -msgstr "pedantiska: %lu" +#~ msgid "" +#~ "AppStream is a cross-distribution specification to provide metadata about " +#~ "software components." +#~ msgstr "" +#~ "AppStream är en multiplattform-specifikation för att tillhandahålla " +#~ "metadata om programkomponenter." -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:230 #, c-format -msgid "warnings: %lu" -msgstr "varningar: %lu" - -#~ msgid "Command '%s' is unknown." -#~ msgstr "Kommando ”%s” är okänt." - -#~ msgid "Do not use any caches when performing the request." -#~ msgstr "Använd inte cachar när begäran hanteras." - -#~ msgid "AppStream cache update failed." -#~ msgstr "Uppdatering av AppStreams cache misslyckades." +#~ msgid "Unable to write to '%s', can not install metainfo file." +#~ msgstr "Kunde inte skriva till ”%s”, kan inte installera metainfo-fil." -#, fuzzy -#~ msgid "Category of Games" -#~ msgstr "Kategorier" - -#, fuzzy -#~ msgid "Category of Office" -#~ msgstr "Kategorier" - -#, fuzzy -#~ msgid "Category of Science" -#~ msgstr "Kategorier" +#, c-format +#~ msgid "" +#~ "Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " +#~ "suffix." +#~ msgstr "" +#~ "Kan inte kopiera ”%s”: Filen har inte ett ”.metainfo.xml” eller ”.appdata." +#~ "xml”-suffix." -#~ msgid "Extensions" -#~ msgstr "Tillägg" +#~ msgid "An item type (e.g. lib, bin, python3, …)" +#~ msgstr "Ett objekts typ (t.ex. lib, bin, python3, …)" -#~ msgid "File %s not found or permission denied!" -#~ msgstr "Filen %s inte hittad eller tillstånd nekat!" +#~ msgid "Get components which provide the given item." +#~ msgstr "Hämta komponenter som tillhandahåller det angivna objektet." -#, fuzzy -#~ msgid "No component providing '%s::%s' found." -#~ msgstr "Ingen komponent som tillhandahåller ”%s;%s” hittades." +#, c-format +#~ msgid "Unknown command '%s'." +#~ msgstr "Okänt kommando ”%s”." -#~ msgid "XDG Menu XML file '%s' is damaged." -#~ msgstr "XDG Menu XML-filen ”%s” är skadad." +#~ msgid "Value of the item that should be found." +#~ msgstr "Värdet för objektet som borde hittas." diff -Nru appstream-0.12.10/po/tr.po appstream-0.14.5/po/tr.po --- appstream-0.12.10/po/tr.po 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/po/tr.po 2021-08-28 20:15:28.000000000 +0000 @@ -1,3 +1,4 @@ +# #-#-#-#-# tr.po (AppStream) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Matthias Klumpp # This file is distributed under the same license as the appstream package. @@ -6,13 +7,24 @@ # Necdet Yücel , 2014-2015 # Çağatay Yiğit Şahin , 2017. # Mesut Akcan , 2019. -# Oğuz Ersen , 2019, 2020. +# Oğuz Ersen , 2019, 2020, 2021. +# #-#-#-#-# tr.po (appstream-glib) #-#-#-#-# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Muhammet Kara , 2015-2016 +# Necdet Yücel , 2014 +# Richard Hughes , 2016. #zanata +# Emin Tufan Çetin , 2018. #zanata +# Muhammet Kara , 2018. #zanata +# +# Translators: msgid "" msgstr "" -"Project-Id-Version: AppStream\n" +"Project-Id-Version: appstream-glib\n" "Report-Msgid-Bugs-To: appstream@lists.freedesktop.org\n" -"POT-Creation-Date: 2020-01-14 01:44+0100\n" -"PO-Revision-Date: 2020-01-15 03:21+0000\n" +"POT-Creation-Date: 2021-08-28 16:09+0200\n" +"PO-Revision-Date: 2021-08-28 20:04+0000\n" "Last-Translator: Oğuz Ersen \n" "Language-Team: Turkish \n" "Language: tr\n" @@ -20,2102 +32,3044 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 3.11-dev\n" - -#: tools/appstream-cli.c:157 -#, c-format -msgid "'%s' command" -msgstr "'%s' komutu" - -#: src/as-category.c:168 -msgctxt "Category of Graphics" -msgid "3D Graphics" -msgstr "3B Grafikler" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:254 -msgid "" -"A 'requires' or 'recommends' item requires a value to denote a valid " -"relation." -msgstr "" -"Bir 'requires' ya da 'recommends' ögesi geçerli bir ilişkiyi belirtmek için " -"bir değer gerektirmektedir." - -#: src/as-validator-issue-tag.h:51 -msgid "" -"A tag must not be localized in metainfo files (upstream " -"metadata). Localize the individual paragraphs instead." -msgstr "" -"Bir etiketi metainfo dosyalarında (upstream metadata) " -"yerelleştirilmemelidir. Bunun yerine tek tek paragrafları yerelleştirin." - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:195 -msgid "" -"A screenshot must contain at least one image or video in order to be useful. " -"Please add an to it." -msgstr "" -"Bir ekran görüntüsü, faydalı olması için en az bir resim ya da video " -"içermelidir. Lütfen bir ekleyin." - -#: src/as-validator-issue-tag.h:200 -msgid "" -"A screenshot must contain either images or videos, but not both at the same " -"time. Please use this screenshot exclusively for either static images or for " -"videos." -msgstr "" -"Bir ekran görüntüsü ya resim ya da video içermelidir, ancak her ikisini aynı " -"anda içermemelidir. Lütfen bu ekran görüntüsünü yalnızca statik resimler ya " -"da videolar için kullanın." - -#: src/as-category.c:123 -msgctxt "Category of Games" -msgid "Action" -msgstr "Eylem" - -#. TRANSLATORS: this is the main category for Add-ons -#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor -#: src/as-category.c:320 tools/ascli-utils.c:398 -msgid "Add-ons" -msgstr "Eklentiler" - -#: src/as-category.c:126 -msgctxt "Category of Games" -msgid "Adventure" -msgstr "Macera" - -#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) -#: tools/appstream-cli.c:116 -msgid "Also show pedantic hints." -msgstr "Ayrıca detaylı ipuçları göster." - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:497 -msgid "" -"An 'extends' tag is specified, but the component is not of type 'addon', " -"'localization' or 'repository'." -msgstr "" -"Bir 'extends' etiketi belirtildi, ancak bileşen 'addon', 'localization' ya " -"da 'repository' türünde değil." - -#: tools/appstream-cli.c:850 -msgid "An item type (e.g. lib, bin, python3, …)" -msgstr "Bir öge türü (ör. lib, bin, python3, ...)" - -#: data/org.freedesktop.appstream.cli.metainfo.xml:9 -msgid "An utility to work with AppStream metadata" -msgstr "AppStream üst verisiyle çalışmak için bir araç" +"X-Generator: Weblate 4.8.1-dev\n" #: data/org.freedesktop.appstream.cli.metainfo.xml:8 msgid "AppStream CLI" msgstr "AppStream CLI" -#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. -#: tools/appstream-cli.c:947 -#, c-format -msgid "" -"AppStream CLI tool version: %s\n" -"AppStream library version: %s" -msgstr "" -"AppStream CLI araç sürümü: %s\n" -"AppStream kütüphane sürümü: %s" - -#. TRANSLATORS: In the status report of ascli: Header -#: tools/ascli-actions-misc.c:47 -msgid "AppStream Status:" -msgstr "AppStream Durumu:" - -#. we performed a cache refresh -#. TRANSLATORS: Updating the metadata cache succeeded -#: tools/ascli-actions-mdata.c:80 -msgid "AppStream cache update completed successfully." -msgstr "AppStream önbellek güncellemesi başarıyla tamamlandı." - -#. cache wasn't updated, so the update wasn't necessary -#: tools/ascli-actions-mdata.c:86 -msgid "AppStream cache update is not necessary." -msgstr "AppStream önbellek güncellemesi gerekli değil." - -#. TRANSLATORS: This is the header to the --help menu for subcommands -#. TRANSLATORS: This is the header to the --help menu -#: tools/appstream-cli.c:154 tools/appstream-cli.c:843 -msgid "AppStream command-line interface" -msgstr "AppStream komut satırı arayüzü" - -#: src/as-validator-issue-tag.h:63 -msgid "" -"AppStream descriptions support only a limited set of tags to format text: " -"Paragraphs (

                                                                                                                                                                                                                                                                                                                                                                                                ) and lists (

                                                                                                                                                                                                                                                                                                                                                                                                  ,
                                                                                                                                                                                                                                                                                                                                                                                                    ). This description markup contains " -"an invalid XML tag that would not be rendered correctly in applications " -"supporting the metainfo specification." -msgstr "" -"AppStream açıklamaları, metni biçimlendirmek için yalnızca sınırlı sayıda " -"etiketi destekler: Paragraflar (

                                                                                                                                                                                                                                                                                                                                                                                                    ) ve listeler (

                                                                                                                                                                                                                                                                                                                                                                                                      ,
                                                                                                                                                                                                                                                                                                                                                                                                        ). Bu " -"açıklama biçimlendirmesi, metainfo spesifikasyonunu destekleyen " -"uygulamalarda doğru şekilde görüntülenmeyecek geçersiz bir XML etiketi " -"içermektedir." +#: data/org.freedesktop.appstream.cli.metainfo.xml:9 +msgid "An utility to work with AppStream metadata" +msgstr "AppStream üst verisiyle çalışmak için bir araç" #: data/org.freedesktop.appstream.cli.metainfo.xml:12 msgid "" -"AppStream is a cross-distribution specification to provide metadata about " -"software components." -msgstr "" -"AppStream, yazılım bileşenleri hakkında meta veri sağlayan dağıtımlararası " -"bir spesifikasyondur." +"AppStream is a metadata specification which permits software components to " +"provide information about themselves to automated systems and end-users " +"before the software is actually installed. The AppStream project provides " +"facilities to easily access and transform this metadata, as well as a few " +"additional services for building feature-rich software centers and similar " +"applications that make use of software metadata." +msgstr "" +"AppStream, yazılım bileşenlerinin, yazılım gerçekten kurulmadan önce " +"otomatik sistemlere ve son kullanıcılara kendileri hakkında bilgi " +"sağlamasına izin veren bir üst veri tanımlamasıdır. AppStream projesi, bu " +"üst verilere kolayca erişmek ve onları dönüştürmek için araçların yanı sıra, " +"zengin özelliklere sahip yazılım merkezleri ve yazılım üst verilerinden " +"yararlanan benzer uygulamalar oluşturmak için birkaç ek hizmet sağlar." + +#: data/org.freedesktop.appstream.cli.metainfo.xml:18 +msgid "" +"The appstreamcli command-line tool allows to read, write, and " +"transform AppStream XML or YAML metadata as well as to validate it for " +"compliance with the specification. It also provides easy access to the " +"system metadata pool, for example to query for software that provides a " +"specific Mediatype handler or for installing software by its component " +"identifier." +msgstr "" +"appstreamcli komut satırı aracı, AppStream XML veya YAML üst " +"verilerinin okunmasına, yazılmasına ve dönüştürülmesine ve ayrıca " +"tanımlamayla uyumluluğunun doğrulanmasına izin verir. Ayrıca, örneğin " +"belirli bir Mediatype işleyicisi sağlayan yazılımı sorgulamak veya bileşen " +"tanımlayıcısıyla yazılım yüklemek için sistem üst veri havuzuna kolay erişim " +"sağlar." -#: src/as-pool.c:1937 -#, c-format -msgid "" -"AppStream system cache refresh failed. Turn on verbose mode to get detailed " -"issue information." -msgstr "" -"AppStream sistem önbelleği yenilemesi başarısız oldu. Detaylı sorun " -"bilgileri almak için ayrıntılı modu açın." +#: src/as-category.c:66 +msgctxt "Category of AudioVideo" +msgid "Featured" +msgstr "Öne Çıkan" -#. TRANSLATORS: Output if appstreamcli --version is executed. -#: tools/appstream-cli.c:944 -#, c-format -msgid "AppStream version: %s" -msgstr "AppStream sürümü: %s" +#: src/as-category.c:69 +msgctxt "Category of AudioVideo" +msgid "Audio Creation & Editing" +msgstr "Ses Oluşturma ve Düzenleme" -#: src/as-category.c:129 -msgctxt "Category of Games" -msgid "Arcade" -msgstr "Atari" +#: src/as-category.c:75 +msgctxt "Category of AudioVideo" +msgid "Music Players" +msgstr "Müzik Oynatıcılar" -#: src/as-category.c:234 -msgctxt "Category of Science" -msgid "Artificial Intelligence" -msgstr "Yapay Zeka" +#: src/as-category.c:84 +msgctxt "Category of Development" +msgid "Featured" +msgstr "Öne Çıkan" -#: src/as-validator-issue-tag.h:91 -msgid "" -"As per AppStream specification, the mentioned tag must only appear once in " -"this context. Having multiple tags of this kind is not valid." -msgstr "" -"AppStream spesifikasyonuna göre, belirtilen etiket bu bağlamda sadece bir " -"kez görünmelidir. Bu türden birden fazla etikete sahip olmak geçerli " -"değildir." +#: src/as-category.c:87 +msgctxt "Category of Development" +msgid "Debuggers" +msgstr "Hata Ayıklayıcılar" -#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command -#: tools/appstream-cli.c:766 -msgid "Assume the input file is in the selected format ('yaml' or 'text')." -msgstr "Giriş dosyasının seçilen biçimde ('yaml' veya 'text') olduğunu varsay." +#: src/as-category.c:90 +msgctxt "Category of Development" +msgid "IDEs" +msgstr "Bütünleşik Geliştirme Ortamları" -#: src/as-category.c:101 +#: src/as-category.c:99 msgctxt "Category of Education" -msgid "Astronomy" -msgstr "Astronomi" +msgid "Featured" +msgstr "Öne Çıkan" -#: src/as-category.c:237 -msgctxt "Category of Science" +#: src/as-category.c:102 +msgctxt "Category of Education" msgid "Astronomy" msgstr "Astronomi" -#. TRANSLATORS: this is the menu spec main category for Audio & Video -#: src/as-category.c:302 -msgid "Audio & Video" -msgstr "Ses ve Video" +#: src/as-category.c:105 +msgctxt "Category of Education" +msgid "Chemistry" +msgstr "Kimya" -#: src/as-category.c:68 -msgctxt "Category of AudioVideo" -msgid "Audio Creation & Editing" -msgstr "Ses Oluşturma ve Düzenleme" +#: src/as-category.c:108 +msgctxt "Category of Education" +msgid "Languages" +msgstr "Diller" -#: tools/ascli-actions-misc.c:219 -#, c-format -msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." -msgstr "Mevcut masaüstü girdi dosyası '%s', '%s'den verilerle ekleniyor." +#: src/as-category.c:112 +msgctxt "Category of Education" +msgid "Math" +msgstr "Matematik" -#: src/as-provided.c:146 -msgid "Binaries" -msgstr "İkili Kodlar" +#: src/as-category.c:121 +msgctxt "Category of Games" +msgid "Featured" +msgstr "Öne Çıkan" + +#: src/as-category.c:124 +msgctxt "Category of Games" +msgid "Action" +msgstr "Eylem" + +#: src/as-category.c:127 +msgctxt "Category of Games" +msgid "Adventure" +msgstr "Macera" + +#: src/as-category.c:130 +msgctxt "Category of Games" +msgid "Arcade" +msgstr "Atari" -#: src/as-category.c:132 +#: src/as-category.c:133 msgctxt "Category of Games" msgid "Blocks" msgstr "Bloklar" -#: src/as-category.c:135 +#: src/as-category.c:136 msgctxt "Category of Games" msgid "Board" msgstr "Tahta" -#: tools/ascli-utils.c:299 -msgid "Bundle" -msgstr "Takım" - -#: src/as-pool.c:1828 -#, c-format -msgid "Cache location '%s' is not writable." -msgstr "Önbellek konumu '%s', yazılabilir değil." - -#: src/as-category.c:191 -msgctxt "Category of Office" -msgid "Calendar" -msgstr "Takvim" - -#: tools/ascli-actions-mdata.c:327 -#, c-format -msgid "" -"Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " -"suffix." -msgstr "" -"'%s' kopyalanamadı: Dosya '.metainfo.xml' veya '.appdata.xml' sonekine sahip " -"değil." - -#: src/as-category.c:138 +#: src/as-category.c:139 msgctxt "Category of Games" msgid "Card" msgstr "Kart" -#: tools/ascli-utils.c:369 -msgid "Categories" -msgstr "Sınıflandırmalar" +#: src/as-category.c:142 +msgctxt "Category of Games" +msgid "Emulators" +msgstr "Emülatörler" -#: src/as-category.c:259 -msgctxt "Category of Communication" -msgid "Chat" -msgstr "Sohbet" +#: src/as-category.c:145 +msgctxt "Category of Games" +msgid "Kids" +msgstr "Çocuklar" -#: src/as-category.c:104 -msgctxt "Category of Education" -msgid "Chemistry" -msgstr "Kimya" +#: src/as-category.c:148 +msgctxt "Category of Games" +msgid "Logic" +msgstr "Mantık" -#: src/as-category.c:240 -msgctxt "Category of Science" -msgid "Chemistry" -msgstr "Kimya" +#: src/as-category.c:151 +msgctxt "Category of Games" +msgid "Role Playing" +msgstr "Rol Yapma" -#: src/as-category.c:214 -msgctxt "Category of Addons" -msgid "Codecs" -msgstr "Kodekler" +#: src/as-category.c:154 +msgctxt "Category of Games" +msgid "Sports" +msgstr "Spor" -#. TRANSLATORS: this is the menu spec main category for Communication -#: src/as-category.c:326 -msgid "Communication & News" -msgstr "İletişim ve Haberler" +#: src/as-category.c:158 +msgctxt "Category of Games" +msgid "Strategy" +msgstr "Strateji" -#: tools/appstream-cli.c:866 -msgid "Compare two version numbers." -msgstr "İki versiyon numarasını karşılaştır." +#: src/as-category.c:166 +msgctxt "Category of Graphics" +msgid "Featured" +msgstr "Öne Çıkan" -#: src/as-provided.c:166 -msgid "Component" -msgstr "Bileşen" +#: src/as-category.c:169 +msgctxt "Category of Graphics" +msgid "3D Graphics" +msgstr "3B Grafikler" -#. TRANSLATORS: We found no distribution package or bundle to install to make this software available -#: tools/ascli-actions-pkgmgr.c:106 -#, c-format -msgid "Component '%s' has no installation candidate." -msgstr "'%s' bileşeninin hiçbir kurulum adayı yok." +#: src/as-category.c:172 +msgctxt "Category of Graphics" +msgid "Photography" +msgstr "Fotoğrafçılık" -#: tools/ascli-utils.c:377 -msgid "Compulsory for" -msgstr "Zorunlu" +#: src/as-category.c:175 +msgctxt "Category of Graphics" +msgid "Scanning" +msgstr "Tarama" -#: src/as-validator-issue-tag.h:361 -msgid "Consider using a secure (HTTPS) URL for the remote icon link." -msgstr "Uzak simge linki için güvenli (HTTPS) bir URL kullanmayı düşünün." +#: src/as-category.c:178 +msgctxt "Category of Graphics" +msgid "Vector Graphics" +msgstr "Vektörel Grafik" -#: src/as-validator-issue-tag.h:383 -msgid "Consider using a secure (HTTPS) URL for this web link." -msgstr "Bu web linki için güvenli (HTTPS) bir URL kullanmayı düşünün." +#: src/as-category.c:181 +msgctxt "Category of Graphics" +msgid "Viewers" +msgstr "Görüntüleyiciler" -#: src/as-validator-issue-tag.h:189 -msgid "" -"Consider using a secure (HTTPS) URL to reference this screenshot image or " -"video." -msgstr "" -"Bu ekran görüntüsü resmine veya videosuna referans vermek için güvenli " -"(HTTPS) bir URL kullanmayı düşünün." +#: src/as-category.c:189 +msgctxt "Category of Office" +msgid "Featured" +msgstr "Öne Çıkan" -#: tools/appstream-cli.c:870 -msgid "Convert a YAML or text NEWS file into metainfo releases." -msgstr "Bir YAML veya metin NEWS dosyasını metainfo sürümlerine dönüştürün." +#: src/as-category.c:192 +msgctxt "Category of Office" +msgid "Calendar" +msgstr "Takvim" -#. TRANSLATORS: "convert" command in ascli. "Collection XML" is a term describing a specific type of AppStream XML data. -#: tools/appstream-cli.c:865 -msgid "Convert collection XML to YAML or vice versa." -msgstr "Koleksiyon XML'ini YAML'e veya ters yönde dönüştür." +#: src/as-category.c:196 +msgctxt "Category of Office" +msgid "Database" +msgstr "Veritabanı" -#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results -#: tools/ascli-actions-mdata.c:228 -#, c-format -msgid "Could not find component providing '%s::%s'." -msgstr "'%s::%s' sağlayan bileşen bulunamadı." +#: src/as-category.c:199 +msgctxt "Category of Office" +msgid "Finance" +msgstr "Finans" -#: tools/appstream-cli.c:869 -msgid "Create a XDG desktop-entry file from a metainfo file." -msgstr "Bir metainfo dosyasından bir XDG masaüstü girdi dosyası oluşturun." +#: src/as-category.c:203 +msgctxt "Category of Office" +msgid "Word Processor" +msgstr "Kelime İşlemci" -#: tools/appstream-cli.c:868 -msgid "" -"Create a template for a metainfo file (to be filled out by the upstream " -"project)." -msgstr "" -"Bir metainfo dosyası için bir şablon oluştur (yukarı akış projesi tarafından " -"doldurulacak)." +#: src/as-category.c:212 +msgctxt "Category of Addons" +msgid "Fonts" +msgstr "Yazı Tipleri" -#: tools/ascli-actions-misc.c:228 -#, c-format -msgid "Creating new desktop-entry file '%s' using data from '%s'" -msgstr "" -"Yeni masaüstü girdi dosyası '%s', '%s'den veriler kullanılarak oluşturuluyor" +#: src/as-category.c:215 +msgctxt "Category of Addons" +msgid "Codecs" +msgstr "Kodekler" -#: src/as-provided.c:160 -msgid "D-Bus Session Services" -msgstr "D-Bus Oturum Hizmetleri" +#: src/as-category.c:218 +msgctxt "Category of Addons" +msgid "Input Sources" +msgstr "Girdi Kaynakları" -#: src/as-provided.c:158 -msgid "D-Bus System Services" -msgstr "D-Bus Sistem Hizmetleri" +#: src/as-category.c:221 +msgctxt "Category of Addons" +msgid "Language Packs" +msgstr "Dil Paketleri" -#: src/as-category.c:195 -msgctxt "Category of Office" -msgid "Database" -msgstr "Veritabanı" +#: src/as-category.c:224 +msgctxt "Category of Addons" +msgid "Localization" +msgstr "Yerelleştirme" -#: src/as-category.c:86 -msgctxt "Category of Development" -msgid "Debuggers" -msgstr "Hata Ayıklayıcılar" +#: src/as-category.c:232 +msgctxt "Category of Science" +msgid "Featured" +msgstr "Öne Çıkan" -#: tools/ascli-utils.c:353 -msgid "Default Screenshot URL" -msgstr "Öntanımlı Ekran Görüntüsü Adresi" +#: src/as-category.c:235 +msgctxt "Category of Science" +msgid "Artificial Intelligence" +msgstr "Yapay Zeka" -#. TRANSLATORS: ascli flag description for: --format -#: tools/appstream-cli.c:83 -msgid "Default metadata format (valid values are 'xml' and 'yaml')." -msgstr "Varsayılan metadata biçimi (geçerli değerler 'xml' ve 'yaml')." +#: src/as-category.c:238 +msgctxt "Category of Science" +msgid "Astronomy" +msgstr "Astronomi" -#: tools/ascli-utils.c:333 -msgid "Description" -msgstr "Tanımlama" +#: src/as-category.c:241 +msgctxt "Category of Science" +msgid "Chemistry" +msgstr "Kimya" -#. developer name -#: tools/ascli-utils.c:321 -msgid "Developer" -msgstr "Geliştirici" +#: src/as-category.c:244 +msgctxt "Category of Science" +msgid "Math" +msgstr "Matematik" -#. TRANSLATORS: this is the menu spec main category for Development -#: src/as-category.c:305 -msgid "Developer Tools" -msgstr "Geliştirici Araçları" +#: src/as-category.c:249 +msgctxt "Category of Science" +msgid "Robotics" +msgstr "Robotik" -#: tools/appstream-cli.c:862 -msgid "Display status information about available AppStream metadata." -msgstr "" -"Kullanılabilir AppStream üst verileri hakkındaki durum bilgilerini göster." +#: src/as-category.c:257 +msgctxt "Category of Communication" +msgid "Featured" +msgstr "Öne Çıkan" -#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions -#: tools/ascli-actions-misc.c:52 -msgid "Distribution metadata:" -msgstr "Dağıtım üst verisi:" +#: src/as-category.c:260 +msgctxt "Category of Communication" +msgid "Chat" +msgstr "Sohbet" -#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) -#: tools/appstream-cli.c:126 -msgid "Do not use network access." -msgstr "Ağ erişimini kullanmayın." +#: src/as-category.c:267 +msgctxt "Category of Communication" +msgid "News" +msgstr "Haber" -#. TRANSLATORS: ascli flag description for: --no-color -#: tools/appstream-cli.c:908 -msgid "Don't show colored output." -msgstr "Renklendirilmiş çıktı gösterme." +#: src/as-category.c:271 +msgctxt "Category of Communication" +msgid "Web Browsers" +msgstr "Web Tarayıcıları" -#: tools/appstream-cli.c:853 -msgid "Dump raw XML metadata for a component matching the ID." -msgstr "Kimlik ile eşleşen bileşen için ham XML üst verisini dök." +#: src/as-category.c:279 +msgctxt "Category of Utility" +msgid "Featured" +msgstr "Öne Çıkan" + +#: src/as-category.c:282 +msgctxt "Category of Utility" +msgid "Text Editors" +msgstr "Metin Düzenleyiciler" + +#: src/as-category.c:285 +msgctxt "Category of Utility" +msgid "Terminal Emulators" +msgstr "Uçbirim Emülatörleri" + +#: src/as-category.c:288 +msgctxt "Category of Utility" +msgid "File System" +msgstr "Dosya Sistemi" + +#: src/as-category.c:291 +msgctxt "Category of Utility" +msgid "System Monitoring" +msgstr "Sistem Gözlemleme" + +#: src/as-category.c:294 +msgctxt "Category of Utility" +msgid "Security" +msgstr "Güvenlik" + +#. TRANSLATORS: this is the menu spec main category for Audio & Video +#: src/as-category.c:303 +msgid "Audio & Video" +msgstr "Ses ve Video" + +#. TRANSLATORS: this is the menu spec main category for Development +#: src/as-category.c:306 +msgid "Developer Tools" +msgstr "Geliştirici Araçları" #. TRANSLATORS: this is the menu spec main category for Education -#: src/as-category.c:308 +#: src/as-category.c:309 msgid "Education" msgstr "Eğitim" -#. TRANSLATORS: No metainfo files have been found -#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 -msgid "Empty." -msgstr "Boş." +#. TRANSLATORS: this is the menu spec main category for Game +#: src/as-category.c:312 +msgid "Games" +msgstr "Oyunlar" -#: src/as-category.c:141 -msgctxt "Category of Games" -msgid "Emulators" -msgstr "Emülatörler" +#. TRANSLATORS: this is the menu spec main category for Graphics +#: src/as-category.c:315 +msgid "Graphics & Photography" +msgstr "Grafik ve Fotoğrafçılık" -#. TRANSLATORS: ascli flag description for: --force -#: tools/appstream-cli.c:245 -msgid "Enforce a cache refresh." -msgstr "Ön belleği yenilenmeye zorla." +#. TRANSLATORS: this is the menu spec main category for Office +#: src/as-category.c:318 +msgid "Office" +msgstr "Ofis" -#: src/as-validator-issue-tag.h:74 -msgid "Enumerations must only have list items (
                                                                                                                                                                                                                                                                                                                                                                                                      1. ) as children." +#. TRANSLATORS: this is the main category for Add-ons +#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor +#: src/as-category.c:321 tools/ascli-utils.c:371 +msgid "Add-ons" +msgstr "Eklentiler" + +#. TRANSLATORS: this is the menu spec main category for Science +#: src/as-category.c:324 +msgid "Science" +msgstr "Bilim" + +#. TRANSLATORS: this is the menu spec main category for Communication +#: src/as-category.c:327 +msgid "Communication & News" +msgstr "İletişim ve Haberler" + +#. TRANSLATORS: this is the menu spec main category for Utilities +#: src/as-category.c:330 +msgid "Utilities" +msgstr "Araçlar" + +#. TRANSLATORS: This is the formatting of English and localized name +#. * of the rating e.g. "Adults Only (solo adultos)" +#: src/as-content-rating.c:298 +#, c-format +msgid "%s (%s)" +msgstr "%s (%s)" + +#: src/as-content-rating.c:444 +msgid "General" +msgstr "Genel" + +#: src/as-content-rating.c:453 +msgid "ALL" +msgstr "TÜMÜ" + +#: src/as-content-rating.c:457 src/as-content-rating.c:560 +msgid "Adults Only" +msgstr "Yalnızca Yetişkinler" + +#: src/as-content-rating.c:459 src/as-content-rating.c:559 +msgid "Mature" +msgstr "Yetişkin" + +#: src/as-content-rating.c:461 src/as-content-rating.c:558 +msgid "Teen" +msgstr "Genç" + +#: src/as-content-rating.c:463 src/as-content-rating.c:557 +msgid "Everyone 10+" +msgstr "10 Yaş Üstü Herkes" + +#: src/as-content-rating.c:465 src/as-content-rating.c:556 +msgid "Everyone" +msgstr "Herkes" + +#: src/as-content-rating.c:467 src/as-content-rating.c:555 +msgid "Early Childhood" +msgstr "Erken Çocukluk" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:839 +msgid "No cartoon violence" +msgstr "Çizgi dizisi şiddeti yok" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:841 +msgid "Cartoon characters in unsafe situations" +msgstr "Çizgi karakterler güvensiz durumlarda" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:843 +msgid "Cartoon characters in aggressive conflict" +msgstr "Çizgi karakterler saldırgan çatışma halinde" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:845 +msgid "Graphic violence involving cartoon characters" +msgstr "Çizgi karakterlerin dahil olduğu görsel şiddet" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:850 +msgid "No fantasy violence" +msgstr "Fantezi şiddeti yok" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:852 +msgid "Characters in unsafe situations easily distinguishable from reality" +msgstr "" +"Güvensiz durumlardaki karakterler gerçeklikten kolayca ayırt edilebilir" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:854 +msgid "Characters in aggressive conflict easily distinguishable from reality" +msgstr "" +"Agresif çatışma içindeki karakterler gerçeklikten kolayca ayırt edilebilir" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:856 +msgid "Graphic violence easily distinguishable from reality" +msgstr "Gerçeklikten kolayca ayırt edilebilen canlı şiddet" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:861 +msgid "No realistic violence" +msgstr "Gerçekçi şiddet yok" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:863 +msgid "Mildly realistic characters in unsafe situations" +msgstr "Hafif gerçekçi karakterler güvenli olmayan durumlarda" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:865 +msgid "Depictions of realistic characters in aggressive conflict" +msgstr "Agresif çatışma içindeki gerçekçi karakterlerin betimlemesi" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:867 +msgid "Graphic violence involving realistic characters" +msgstr "Gerçekçi karakterleri ilgilendiren canlı şiddet" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:872 +msgid "No bloodshed" +msgstr "Kan dökme yok" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:874 +msgid "Unrealistic bloodshed" +msgstr "Gerçekçi olmayan kan dökme" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:876 +msgid "Realistic bloodshed" +msgstr "Gerçekçi kan dökme" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:878 +msgid "Depictions of bloodshed and the mutilation of body parts" +msgstr "Kan dökme betimlemeleri ve vücut parçalarının sakatlanması" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:883 +msgid "No sexual violence" +msgstr "Cinsel şiddet yok" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:885 +msgid "Rape or other violent sexual behavior" +msgstr "Tecavüz veya diğer şiddetli cinsel davranış" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:892 +msgid "No references to alcohol" +msgstr "Alkole atıf yok" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:894 +msgid "References to alcoholic beverages" +msgstr "Alkollü içeceklere atıflar" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:896 +msgid "Use of alcoholic beverages" +msgstr "Alkollü içeceklerin kullanımı" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:902 +msgid "No references to illicit drugs" +msgstr "Yasadışı ilaçlara atıf yok" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:904 +msgid "References to illicit drugs" +msgstr "Yasadışı ilaçlara atıflar" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:906 +msgid "Use of illicit drugs" +msgstr "Yasadışı ilaçların kullanımı" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:912 +msgid "No references to tobacco products" +msgstr "Tütün ürünlerine atıf yok" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:914 +msgid "References to tobacco products" +msgstr "Tütün ürünlerine atıflar" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:916 +msgid "Use of tobacco products" +msgstr "Tütün ürünlerinin kullanımı" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:922 +msgid "No nudity of any sort" +msgstr "Herhangi biçimde çıplaklık yok" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:924 +msgid "Brief artistic nudity" +msgstr "Kısa sanatsal çıplaklık" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:926 +msgid "Prolonged nudity" +msgstr "Uzun çıplaklık" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:932 +msgid "No references to or depictions of sexual nature" +msgstr "Cinsel doğaya atıf veya betimleme yok" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:934 +msgid "Provocative references or depictions" +msgstr "Kışkırtıcı atıflar veya betimlemeler" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:936 +msgid "Sexual references or depictions" +msgstr "Cinsel atıflar veya betimlemeler" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:938 +msgid "Graphic sexual behavior" +msgstr "Canlı cinsel davranış" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:943 +msgid "No profanity of any kind" +msgstr "Herhangi biçimde küfür yok" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:945 +msgid "Mild or infrequent use of profanity" +msgstr "Hafif veya sık olmayan küfür kullanımı" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:947 +msgid "Moderate use of profanity" +msgstr "Orta kullanımlı küfür" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:949 +msgid "Strong or frequent use of profanity" +msgstr "Şiddetli veya sık küfür kullanımı" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:954 +msgid "No inappropriate humor" +msgstr "Uygunsuz mizah yok" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:956 +msgid "Slapstick humor" +msgstr "Kaba mizah" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:958 +msgid "Vulgar or bathroom humor" +msgstr "Kaba veya banyo mizahı" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:960 +msgid "Mature or sexual humor" +msgstr "Olgun veya cinsel mizah" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:965 +msgid "No discriminatory language of any kind" +msgstr "Herhangi biçimde ayrımcı dil yok" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:967 +msgid "Negativity towards a specific group of people" +msgstr "Belirli bir insan kümesine karşı olumsuzluk" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:969 +msgid "Discrimination designed to cause emotional harm" +msgstr "Duygusal zarara neden olmaya tasarlanmış ayrımcılık" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:971 +msgid "Explicit discrimination based on gender, sexuality, race or religion" +msgstr "Cinsiyet, cinsellik, ırk veya din tabanlı açık ayrımcılık" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:976 +msgid "No advertising of any kind" +msgstr "Herhangi biçimde reklam yok" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:978 +msgid "Product placement" +msgstr "Ürün yerleştirme" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:980 +msgid "Explicit references to specific brands or trademarked products" +msgstr "Belirli markalara veya ticari markalı ürünlere açık atıflar" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:982 +msgid "Users are encouraged to purchase specific real-world items" +msgstr "Kullanıcılar belirli gerçek dünya ögelerini satın almaya özendirilir" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:987 +msgid "No gambling of any kind" +msgstr "Herhangi biçimde kumar yok" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:989 +msgid "Gambling on random events using tokens or credits" +msgstr "" +"Belirteç veya kontör kullanarak rastlantısal etkinlikler üzerinde kumar" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:991 +msgid "Gambling using “play” money" +msgstr "“Oyun” parası kullanarak kumar" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:993 +msgid "Gambling using real money" +msgstr "Gerçek para kullanarak kumar" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:998 +msgid "No ability to spend money" +msgstr "Para harcama yeteneği yok" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1000 +msgid "Users are encouraged to donate real money" +msgstr "Kullanıcılar gerçek para bağışlamaya özendirilir" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1003 +msgid "Ability to spend real money in-app" +msgstr "Uygulama içi gerçek para harcama yeteneği" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1008 +msgid "No way to chat with other users" +msgstr "Diğer kullanıcılarla sohbet etme yolu yok" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1010 +msgid "User-to-user interactions without chat functionality" +msgstr "Sohbet işlevi olmadan kullanıcıdan kullanıcıya etkileşimler" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1012 +msgid "Moderated chat functionality between users" +msgstr "Kullanıcılar arasında denetlenen konuşma işlevi" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1014 +msgid "Uncontrolled chat functionality between users" +msgstr "Kullanıcılar arasında denetlenmeyen konuşma işlevi" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1019 +msgid "No way to talk with other users" +msgstr "Diğer kullanıcılarla konuşma yolu yok" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1021 +msgid "Uncontrolled audio or video chat functionality between users" +msgstr "" +"Kullanıcılar arasında denetlenmeyen sesli veya görüntülü konuşma işlevi" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1028 +msgid "No sharing of social network usernames or email addresses" +msgstr "Sosyal ağ kullanıcı adlarının veya e-posta adreslerinin paylaşımı yok" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1030 +msgid "Sharing social network usernames or email addresses" +msgstr "Sosyal ağ kullanıcı adlarını veya e-posta adreslerini paylaşır" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1037 +msgid "No sharing of user information with third parties" +msgstr "Üçüncü şahıslarla kullanıcı bilgisi paylaşımı yok" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1039 +msgid "Checking for the latest application version" +msgstr "En son uygulama sürümünün denetlenmesi" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1041 +msgid "Sharing diagnostic data that does not let others identify the user" +msgstr "" +"Başkalarının kullanıcıyı tanımasını sağlamayacak tanılama verisinin " +"paylaşılması" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1043 +msgid "Sharing information that lets others identify the user" +msgstr "Başkalarının kullanıcıyı tanımasını sağlayacak bilgilerin paylaşılması" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1048 +msgid "No sharing of physical location with other users" +msgstr "Diğer kullanıcılarla fiziksel konum paylaşımı yok" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1050 +msgid "Sharing physical location with other users" +msgstr "Diğer kullanıcılarla fiziksel konum paylaşımı" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1073 +msgid "No references to homosexuality" +msgstr "Eş cinselliğe atıf yok" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1075 +msgid "Indirect references to homosexuality" +msgstr "Eş cinselliğe doğrudan olmayan atıflar" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1077 +msgid "Kissing between people of the same gender" +msgstr "Benzer cinsiyetteki insanlar arasında öpüşme" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1079 +msgid "Graphic sexual behavior between people of the same gender" +msgstr "Benzer cinsiyetteki insanların arasında görsel cinsî davranış" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1084 +msgid "No references to prostitution" +msgstr "Fuhşa atıf yok" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1086 +msgid "Indirect references to prostitution" +msgstr "Fuhşa doğrudan olmayan atıflar" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1088 +msgid "Direct references to prostitution" +msgstr "Fuhuşa doğrudan atıflar" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1090 +msgid "Graphic depictions of the act of prostitution" +msgstr "Fuhuş eyleminin görsel betimlemeleri" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1095 +msgid "No references to adultery" +msgstr "Eş aldatmaya atıf yok" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1097 +msgid "Indirect references to adultery" +msgstr "Eş aldatmaya doğrudan olmayan atıflar" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1099 +msgid "Direct references to adultery" +msgstr "Eş aldatmaya doğrudan atıflar" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1101 +msgid "Graphic depictions of the act of adultery" +msgstr "Eş aldatma eyleminin görsel betimlemeleri" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1106 +msgid "No sexualized characters" +msgstr "Cinselleştirilmiş karakterler yok" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1109 +msgid "Scantily clad human characters" +msgstr "Yetersizce giyinmiş insan karakterleri" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1111 +msgid "Overtly sexualized human characters" +msgstr "Açıkça cinselleştirilmiş insan karakterleri" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1116 +msgid "No references to desecration" +msgstr "Kutsala saygısızlığa atıf yok" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1118 +msgid "Depictions of or references to historical desecration" +msgstr "Tarihsel saygısızlığa ilişkin betimlemeler veya atıflar" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1120 +msgid "Depictions of modern-day human desecration" +msgstr "Çağdaş zaman insan saygısızlığının betimlemeleri" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1122 +msgid "Graphic depictions of modern-day desecration" +msgstr "Çağdaş zaman saygısızlığının görsel betimlemeleri" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1127 +msgid "No visible dead human remains" +msgstr "Görününür ölü insan kalıntıları yok" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1129 +msgid "Visible dead human remains" +msgstr "Görününür ölü insan kalıntıları" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1131 +msgid "Dead human remains that are exposed to the elements" +msgstr "Parçalarına ayrılmış ölü insan kalıntıları" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1133 +msgid "Graphic depictions of desecration of human bodies" +msgstr "İnsan bedenlerine saygısızlığın görsel betimlemeleri" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1138 +msgid "No references to slavery" +msgstr "Köleliğe atıf yok" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1140 +msgid "Depictions of or references to historical slavery" +msgstr "Tarihsel köleliğe ait betimlemeler veya atıflar" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1142 +msgid "Depictions of modern-day slavery" +msgstr "Çağdaş zaman köleliğinin betimlemeleri" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1144 +msgid "Graphic depictions of modern-day slavery" +msgstr "Çağdaş zaman köleliğinin görsel betimlemeleri" + +#. TRANSLATORS: We got a 429 error while trying to download data +#: src/as-curl.c:134 +#, c-format +msgid "Failed to download due to server limit" +msgstr "Sunucu sınırı nedeniyle indirilemedi" + +#: src/as-curl.c:141 src/as-curl.c:148 +#, c-format +msgid "Failed to download file: %s" +msgstr "Dosya indirilemedi: %s" + +#. TRANSLATORS: We tried to download an URL, but received a 404 error code +#: src/as-curl.c:157 +#, c-format +msgid "URL was not found on the server." +msgstr "Sunucuda URL bulunamadı." + +#. TRANSLATORS: We received an uexpected HTTP status code while talking to a server, likely an error +#: src/as-curl.c:164 +#, c-format +msgid "Unexpected status code: %ld" +msgstr "Beklenmeyen durum kodu: %ld" + +#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty +#: src/as-curl.c:247 +#, c-format +msgid "Retrieved file size was zero." +msgstr "Alınan dosya boyutu sıfırdı." + +#. TRANSLATORS: List of "grey-listed" words sperated with ";" +#. * Do not translate this list directly. Instead, +#. * provide a list of words in your language that people are likely +#. * to include in a search but that should normally be ignored in +#. * the search. +#. +#: src/as-pool.c:111 +msgid "app;application;package;program;programme;suite;tool" +msgstr "uygulama;paket;program;takım;araç" + +#: src/as-pool.c:620 +msgid "Unable to remove old cache." +msgstr "Eski önbellek kaldırılamıyor." + +#: src/as-pool.c:963 +msgid "Metadata files have errors:" +msgstr "Üst veri dosyalarında hata var:" + +#: src/as-pool.c:1370 +msgid "" +"Many components have been recognized as invalid. See debug output for " +"details." msgstr "" -"Numaralandırmalar alt öge olarak sadece liste ögelerine (
                                                                                                                                                                                                                                                                                                                                                                                                      2. ) sahip " -"olmalıdır." +"Birçok bileşen geçersiz olarak kabul edildi. Ayrıntılar için hata ayıklama " +"çıktısına bakınız." -#: tools/ascli-actions-misc.c:159 +#: src/as-pool.c:1996 #, c-format -msgid "Error while loading the metadata pool: %s" -msgstr "Üst veri havuzunu yüklerken hata: %s" +msgid "Cache location '%s' is not writable." +msgstr "Önbellek konumu '%s', yazılabilir değil." -#: tools/ascli-utils.c:327 -msgid "Extends" -msgstr "Genişletir" +#: src/as-pool.c:2109 +msgid "" +"The AppStream system cache was updated, but some components were ignored. " +"Refer to the verbose log for more information." +msgstr "" +"AppStream sistem önbelleği güncellendi, ama bazı bileşenler yok sayıldı. " +"Daha fazla bilgi için ayrıntılı log kaydına başvurun." -#: src/as-category.c:65 -msgctxt "Category of AudioVideo" -msgid "Featured" -msgstr "Öne Çıkan" +#: src/as-pool.c:2111 +#, c-format +msgid "" +"The AppStream system cache was updated, but problems were found which " +"resulted in metadata being ignored: %s" +msgstr "" +"AppStream sistem önbelleği güncellendi, ama üst verilerin yok sayılmasıyla " +"sonuçlanan sorunlar bulundu: %s" -#: src/as-category.c:256 -msgctxt "Category of Communication" -msgid "Featured" -msgstr "Öne Çıkan" +#: src/as-pool.c:2125 +#, c-format +msgid "" +"AppStream system cache refresh failed. Turn on verbose mode to get detailed " +"issue information." +msgstr "" +"AppStream sistem önbelleği yenilemesi başarısız oldu. Detaylı sorun " +"bilgileri almak için ayrıntılı modu açın." -#: src/as-category.c:83 -msgctxt "Category of Development" -msgid "Featured" -msgstr "Öne Çıkan" +#: src/as-provided.c:144 +msgid "Libraries" +msgstr "Kütüphaneler" -#: src/as-category.c:98 -msgctxt "Category of Education" -msgid "Featured" -msgstr "Öne Çıkan" +#: src/as-provided.c:146 +msgid "Binaries" +msgstr "İkili Kodlar" -#: src/as-category.c:120 -msgctxt "Category of Games" -msgid "Featured" -msgstr "Öne Çıkan" +#: src/as-provided.c:148 +msgid "Media types" +msgstr "Ortam türleri" -#: src/as-category.c:165 -msgctxt "Category of Graphics" -msgid "Featured" -msgstr "Öne Çıkan" +#: src/as-provided.c:150 +msgid "Fonts" +msgstr "Yazı Tipleri" -#: src/as-category.c:188 -msgctxt "Category of Office" -msgid "Featured" -msgstr "Öne Çıkan" +#: src/as-provided.c:152 +msgid "Modaliases" +msgstr "Modaliaslar" -#: src/as-category.c:231 -msgctxt "Category of Science" -msgid "Featured" -msgstr "Öne Çıkan" +#: src/as-provided.c:154 +msgid "Python (Version 2)" +msgstr "Python (Sürüm 2)" -#: src/as-category.c:278 -msgctxt "Category of Utility" -msgid "Featured" -msgstr "Öne Çıkan" +#: src/as-provided.c:156 +msgid "Python 3" +msgstr "Python 3" -#: tools/ascli-actions-validate.c:171 tools/ascli-actions-validate.c:349 -#, c-format -msgid "File '%s' does not exist." -msgstr "'%s' dosyası mevcut değil." +#: src/as-provided.c:158 +msgid "D-Bus System Services" +msgstr "D-Bus Sistem Hizmetleri" -#: src/as-category.c:287 -msgctxt "Category of Utility" -msgid "File System" -msgstr "Dosya Sistemi" +#: src/as-provided.c:160 +msgid "D-Bus Session Services" +msgstr "D-Bus Oturum Hizmetleri" -#: src/as-category.c:198 -msgctxt "Category of Office" -msgid "Finance" -msgstr "Finans" +#: src/as-provided.c:162 +msgid "Runtime Firmware" +msgstr "Çalışma Zamanı Ürün Yazılımı" #: src/as-provided.c:164 msgid "Flashed Firmware" msgstr "Aygıt Yazılımı" -#: src/as-provided.c:150 -msgid "Fonts" -msgstr "Yazı Tipleri" +#: src/as-provided.c:166 +msgid "Component" +msgstr "Bileşen" -#: src/as-category.c:211 -msgctxt "Category of Addons" -msgid "Fonts" -msgstr "Yazı Tipleri" +#: src/as-validator-issue-tag.h:41 +msgid "This tag requires a type property." +msgstr "Bu etiket, bir tür özelliği gerektirmektedir." + +#: src/as-validator-issue-tag.h:46 +msgid "Tags of this name are not permitted in this section." +msgstr "Bu bölümde bu isimde etiketlere izin verilmemektedir." -#: src/as-validator-issue-tag.h:237 +#: src/as-validator-issue-tag.h:51 msgid "" -"For videos, only the WebM and Matroska (.mkv) container formats are " -"currently supported. The file extension of the referenced video does not " -"belong to either of these formats." +"A tag must not be localized in metainfo files (upstream " +"metadata). Localize the individual paragraphs instead." msgstr "" -"Videolar için, şu anda yalnızca WebM ve Matroska (.mkv) konteyner biçimleri " -"desteklenmektedir. Referans edilen videonun dosya uzantısı bu biçimlerden " -"hiçbirine ait değildir." +"Bir etiketi metainfo dosyalarında (upstream metadata) " +"yerelleştirilmemelidir. Bunun yerine paragrafları bireysel olarak " +"yerelleştirin." -#. TRANSLATORS: ascli flag description for: --format when validating XML files -#: tools/appstream-cli.c:131 -msgid "Format of the generated report (valid values are 'text' and 'yaml')." -msgstr "Oluşturulan raporun formatı (geçerli değerler 'text' ve 'yaml')." +#: src/as-validator-issue-tag.h:57 +msgid "" +"This element (paragraph, list, etc.) of a tag must not be " +"localized individually in collection metadata. Localize the whole " +" tag instead. The AppStream collection metadata generator (e." +"g. `appstream-generator`) will already do the right thing when compiling the " +"data." +msgstr "" +"Bir etiketinin bu ögesi (paragraf, liste vb.) koleksiyon üst " +"verilerinde bireysel olarak yerelleştirilmemelidir. Bunun yerine " +" etiketinin tamamını yerelleştirin. AppStream koleksiyonu üst " +"veri üreticisi (örneğin, `appstream-generator`) verileri derlerken zaten " +"doğru olanı yapacaktır." -#. TRANSLATORS: Found metainfo files in legacy directories -#: tools/ascli-actions-misc.c:138 -#, c-format -msgid "Found %i components in legacy paths." -msgstr "Eski veriyollarında %i bileşen bulundu." +#: src/as-validator-issue-tag.h:63 +msgid "" +"AppStream descriptions support only a limited set of tags to format text: " +"Paragraphs (

                                                                                                                                                                                                                                                                                                                                                                                                        ) and lists (

                                                                                                                                                                                                                                                                                                                                                                                                          ,
                                                                                                                                                                                                                                                                                                                                                                                                            ). This description markup contains " +"an invalid XML tag that would not be rendered correctly in applications " +"supporting the metainfo specification." +msgstr "" +"AppStream açıklamaları, metni biçimlendirmek için yalnızca sınırlı sayıda " +"etiketi destekler: Paragraflar (

                                                                                                                                                                                                                                                                                                                                                                                                            ) ve listeler (

                                                                                                                                                                                                                                                                                                                                                                                                              ,
                                                                                                                                                                                                                                                                                                                                                                                                                ). Bu " +"açıklama işaretlemesi, metainfo tanımlamasını destekleyen uygulamalarda " +"doğru şekilde görüntülenmeyecek geçersiz bir XML etiketi içermektedir." + +#: src/as-validator-issue-tag.h:69 +msgid "" +"This description paragraph contains invalid markup. Currently, only " +"and are permitted." +msgstr "" +"Bu açıklama paragrafında geçersiz işaretleme bulunmaktadır. Şu anda sadece " +" ve etiketlerine izin verilmektedir." + +#: src/as-validator-issue-tag.h:74 +msgid "Enumerations must only have list items (
                                                                                                                                                                                                                                                                                                                                                                                                              1. ) as children." +msgstr "" +"Numaralandırmalar alt öge olarak sadece liste ögelerine (
                                                                                                                                                                                                                                                                                                                                                                                                              2. ) sahip " +"olmalıdır." + +#: src/as-validator-issue-tag.h:79 +msgid "" +"The first `description/p` paragraph of this component might be too short (< " +"80 characters). Please consider starting with a longer paragraph to improve " +"how the description looks like in software centers and to provide more " +"detailed information on this component immediately in the first paragraph." +msgstr "" +"Bu bileşenin ilk `description/p` paragrafı çok kısa olabilir (< 80 " +"karakter). Açıklamanın yazılım merkezlerinde nasıl göründüğünü iyileştirmek " +"ve hemen ilk paragrafta bu bileşen hakkında daha ayrıntılı bilgi sağlamak " +"için lütfen daha uzun bir paragrafla başlamayı düşünün." + +#: src/as-validator-issue-tag.h:86 +msgid "" +"The description contains a web URL in plain text. This is not allowed, " +"please use the tag instead to share links." +msgstr "" +"Açıklama, düz metin şeklinde bir web URL'si içeriyor. Buna izin " +"verilmemektedir, lütfen bağlantıları paylaşmak için etiketini " +"kullanın." + +#: src/as-validator-issue-tag.h:91 +msgid "" +"As per AppStream specification, the mentioned tag must only appear once in " +"this context. Having multiple tags of this kind is not valid." +msgstr "" +"AppStream tanımlamasına göre, belirtilen etiket bu bağlamda sadece bir kez " +"görünmelidir. Bu türden birden fazla etikete sahip olmak geçerli değildir." + +#: src/as-validator-issue-tag.h:96 +msgid "" +"The mentioned tag is empty, which is highly likely not intended as it should " +"have content." +msgstr "" +"Bahsedilen etiket boştur, bu da bir içeriğe sahip olması gerektiği için " +"büyük olasılıkla istenen değildir." + +#: src/as-validator-issue-tag.h:101 +msgid "" +"The component ID is required to follow a reverse domain-name scheme for its " +"name. See the AppStream specification for details." +msgstr "" +"Bileşen kimliği, adı için ters etki alanı şemasını takip etmek için " +"gereklidir. Ayrıntılar için AppStream tanımlamasına bakın." + +#: src/as-validator-issue-tag.h:106 +msgid "" +"The component ID is not a reverse domain-name. Please update the ID to avoid " +"future issues and be compatible with all AppStream implementations.\n" +"You may also consider to update the name of the accompanying .desktop file " +"to follow the latest version of the Desktop-Entry specification and use a " +"rDNS name for it as well. In any case, do not forget to mention the new " +"desktop-entry in a tag for this component to keep the " +"application launchable from software centers and the .desktop file data " +"associated with the metainfo data." +msgstr "" +"Bileşen kimliği, ters etki alanı adı değil. Lütfen gelecekteki sorunları " +"önlemek ve tüm AppStream uygulamalarıyla uyumlu olmak için kimliği " +"güncelleyin.\n" +"Masaüstü-Girdi tanımlamasının en son sürümünü takip etmek için " +"beraberindeki .desktop dosyasının adını güncellemeyi ve bunun için bir rDNS " +"adı kullanmayı da düşünebilirsiniz. Her durumda, uygulamanın yazılım " +"merkezlerinden ve metainfo verileriyle ilişkili .desktop dosya verilerinden " +"başlatılabilmesi için bu bileşenin etiketindeki yeni masaüstü " +"girdisinden bahsetmeyi unutmayın." + +#: src/as-validator-issue-tag.h:114 +msgid "" +"The component ID might not follow the reverse domain-name schema (the TLD " +"used by it is not known to the validator)." +msgstr "" +"Bileşen kimliği, ters etki alanı adı şemasını izlemeyebilir (bunun " +"tarafından kullanılan TLD, doğrulayıcı tarafından bilinmiyor)." + +#: src/as-validator-issue-tag.h:119 +msgid "" +"The component ID contains an invalid character. Only ASCII characters, dots " +"and numbers are permitted." +msgstr "" +"Bileşen kimliği geçersiz bir karakter içermektedir. Sadece ASCII " +"karakterlerine, noktalara ve rakamlara izin verilmektedir." + +#: src/as-validator-issue-tag.h:124 +msgid "" +"The component ID contains a hyphen/minus. Using a hyphen is strongly " +"discouraged, to improve interoperability with other tools such as D-Bus. A " +"good option is to replace any hyphens with underscores (`_`)." +msgstr "" +"Bileşen kimliği bir tire/eksi içermektedir. D-Bus gibi diğer araçlarla " +"birlikte çalışabilirliği artırmak için tire kullanmaktan kaçınılması " +"şiddetle tavsiye edilir. İyi bir seçenek, herhangi bir tireyi alt çizgi " +"(`_`) ile değiştirmektir." + +#: src/as-validator-issue-tag.h:130 +msgid "" +"The component ID contains a segment starting with a number. Starting a " +"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " +"interoperability with other tools such as D-Bus. Ideally, prefix these " +"segments with an underscore." +msgstr "" +"Bileşen kimliği, sayı ile başlayan bir segment içermektedir. D-Bus gibi " +"diğer araçlarla birlikte çalışabilirliği korumak için ters DNS kimliğinin " +"bir bölümünün bir sayıyla başlatılması kesinlikle önerilmez. İdeal olarak, " +"bu segmentler için ön ek olarak bir alt çizgi kullanın." -#: tools/ascli-actions-misc.c:123 -#, c-format -msgid "Found %i components." -msgstr "%i bileşen bulundu." +#: src/as-validator-issue-tag.h:136 +msgid "The component ID should only contain lowercase letters." +msgstr "Bileşen kimliği sadece küçük harfler içermelidir." -#. TRANSLATORS: 'version' is an AppStream XML property. Please do not translate it. -#: src/as-validator-issue-tag.h:260 +#: src/as-validator-issue-tag.h:141 msgid "" -"Found 'version' property on required/recommended item of a type that should " -"not have or require a version." +"The component is part of the Freedesktop project, but its ID does not start " +"with fd.o's reverse-DNS name (\"org.freedesktop\")." msgstr "" -"'version' özelliği, versiyona sahip olması veya istemesi gerekmeyen bir " -"türün gerekli/önerilen ögesinde bulundu." +"Bileşen Freedesktop projesinin bir parçası, ancak kimliği fd.o'nun ters DNS " +"adıyla (\"org.freedesktop\") başlamıyor." -#. TRANSLATORS: 'version' and 'compare' are AppStream XML properties. Please do not translate them. -#: src/as-validator-issue-tag.h:266 +#: src/as-validator-issue-tag.h:146 msgid "" -"Found 'version' property on this required/recommended item, but not " -"'compare' property. It is recommended to explicitly define a comparison " -"operation." +"The component is part of the KDE project, but its ID does not start with " +"KDEs reverse-DNS name (\"org.kde\")." msgstr "" -"Bu gerekli/önerilen ögede 'version' özelliği bulundu, ancak 'compare' " -"özelliği bulunamadı. Bir karşılaştırma işleminin açıkça tanımlanması " -"önerilir." +"Bileşen, KDE projesinin bir parçası, ancak kimliği KDE'nin ters DNS adıyla " +"(\"org.kde\") başlamıyor." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:277 +#: src/as-validator-issue-tag.h:151 msgid "" -"Found a memory size dependency in a 'requires' tag. This means users will " -"not be able to even install the component without having enough RAM. This is " -"usually not intended and you want to use 'memory' in the 'recommends' tag " -"instead." +"The component is part of the GNOME project, but its ID does not start with " +"GNOMEs reverse-DNS name (\"org.gnome\")." msgstr "" -"Bir 'requires' etiketinde bir bellek boyutu bağımlılığı bulundu. Bu, " -"kullanıcıların yeterli RAM'e sahip olmadan bileşeni yükleyemeyecekleri " -"anlamına gelir. Bu genellikle amaçlanmamıştır ve bunun yerine 'recommends' " -"etiketinde 'memory' kullanmak istersiniz." +"Bileşen GNOME projesinin bir parçası, ancak kimliği GNOME'un ters DNS adıyla " +"(\"org.gnome\") başlamıyor." -#: src/as-validator-issue-tag.h:248 +#: src/as-validator-issue-tag.h:156 +msgid "The SPDX license expression is invalid and could not be parsed." +msgstr "SPDX lisans ifadesi geçersiz ve ayrıştırılamadı." + +#: src/as-validator-issue-tag.h:161 msgid "" -"Found an unknown tag in a requires/recommends group. This is likely an " -"error, because a component relation of this type is unknown." +"The license ID was not found in the SPDX database. Please check that the " +"license ID is written in an SPDX-conformant way and is a valid free software " +"license." msgstr "" -"Gerektirir/tavsiye edilir grubunda bilinmeyen bir etiket bulundu. Bu büyük " -"olasılıkla bir hatadır, çünkü bu tür bir bileşen ilişkisi bilinmemektedir." +"Lisans kimliği SPDX veritabanında bulunamadı. Lütfen lisans kimliğinin " +"SPDX'e uygun bir şekilde yazıldığını ve geçerli bir özgür yazılım lisansı " +"olduğunu kontrol edin." -#: src/as-validator-issue-tag.h:427 +#: src/as-validator-issue-tag.h:167 msgid "" -"Found invalid tag. Non-standard tags should be prefixed with 'x-'. AppStream " -"also provides the tag to add arbitrary custom data to metainfo " -"files. This tag is read by AppStream libraries and may be useful instead of " -"defining new custom toplevel or 'x-'-prefixed tags if you just want to add " -"custom data to a metainfo file." +"The metadata itself seems to be licensed under a complex collection of " +"licenses. Please license the data under a simple permissive license, like " +"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " +"collections without the risk of license violations due to mutually " +"incompatible licenses." msgstr "" -"Geçersiz etiket bulundu. Standart olmayan etiketlerde 'x-' ön eki " -"kullanılmalıdır. AppStream ayrıca metainfo dosyalarına isteğe bağlı özel " -"veriler eklemek için etiketini sağlamaktadır. Bu etiket AppStream " -"kütüphaneleri tarafından okunur ve tek yapmak istediğiniz bir metainfo " -"dosyasına özel veri eklemek ise, yeni özel üst düzey veya 'x-' öneki ile " -"etiketler tanımlamaktan daha kullanışlı olabilir." - -#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. -#: src/as-validator.c:526 src/as-validator.c:939 src/as-validator.c:1024 -#: src/as-validator.c:1237 -#, c-format -msgid "Found: %s - Allowed: %s" -msgstr "Bulunan: %s - İzin verilen: %s" - -#. TRANSLATORS: this is the menu spec main category for Game -#: src/as-category.c:311 -msgid "Games" -msgstr "Oyunlar" - -#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command -#: tools/appstream-cli.c:814 -msgid "Generate the output in the selected format ('yaml' or 'text')." -msgstr "Çıkışı seçilen formatta ('yaml' veya 'text') oluşturun." - -#: tools/appstream-cli.c:849 -msgid "Get components which provide the given item." -msgstr "Verilen ögeyi sağlayan bileşenleri edinin." - -#: tools/appstream-cli.c:848 -msgid "Get information about a component by its ID." -msgstr "Kimliğiyle bir bileşen hakkında bilgi edin." - -#. TRANSLATORS: this is the menu spec main category for Graphics -#: src/as-category.c:314 -msgid "Graphics & Photography" -msgstr "Grafik ve Fotoğrafçılık" - -#: tools/ascli-utils.c:300 -msgid "Homepage" -msgstr "Web Sitesi" - -#: src/as-category.c:89 -msgctxt "Category of Development" -msgid "IDEs" -msgstr "Bütünleşik Geliştirme Ortamları" - -#: tools/ascli-utils.c:301 -msgid "Icon" -msgstr "Simge" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:351 -msgid "Icons of type 'remote' must contain an URL to the referenced icon." -msgstr "'remote' türündeki simgeler, başvurulan simgeye bir URL içermelidir." +"Üst verilerin kendisi karmaşık bir lisans koleksiyonu altında lisanslanmış " +"görünüyor. Dağıtımcıların, karşılıklı uyumsuz lisanslar nedeniyle lisans " +"ihlalleri riski olmadan karışık veri koleksiyonlarına dahil etmelerine izin " +"vermek için lütfen verileri FSFAP, MIT veya CC0-1.0 gibi basit bir serbest " +"lisans altında lisanslayın." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:344 +#: src/as-validator-issue-tag.h:173 msgid "" -"Icons of type 'stock' or 'cached' must not contain an URL, a full or an " -"relative path to the icon. Only file basenames or stock names are allowed." +"The metadata itself does not seem to be licensed under a permissive license. " +"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " +"0BSD to allow distributors to include it in mixed data collections without " +"the risk of license violations due to mutually incompatible licenses." msgstr "" -"'stock' veya 'cache' türündeki simgeler, bir URL, simgeye tam veya göreceli " -"bir yol içermemelidir. Yalnızca dosya adlarına veya stok adlarına izin " -"verilir." - -#: tools/ascli-actions-misc.c:94 -msgid "Iconsets" -msgstr "Simge Kümeleri" +"Üst verilerin kendisi serbest bir lisans altında lisanslanmış " +"görünmemektedir. Dağıtımcıların, karşılıklı uyumsuz lisanslar nedeniyle " +"lisans ihlalleri riski olmadan karışık veri koleksiyonlarına dahil " +"etmelerine izin vermek için lütfen verileri FSFAP, CC0-1.0 veya 0BSD gibi " +"serbest bir lisans altında lisanslayın." -#: tools/ascli-utils.c:295 -msgid "Identifier" -msgstr "Tanımlayıcı" +#: src/as-validator-issue-tag.h:179 +msgid "" +"The update-contact does not appear to be a valid email address (escaping of " +"`@` is only allowed as `_at_` or `_AT_`)." +msgstr "" +"Güncelleme-irtibatı geçerli bir e-posta adresi gibi görünmüyor (`@` " +"karakterini kaçırmaya yalnızca `_at_` veya `_AT_` olarak izin verilmektedir)." -#: src/as-category.c:217 -msgctxt "Category of Addons" -msgid "Input Sources" -msgstr "Girdi Kaynakları" +#: src/as-validator-issue-tag.h:184 +msgid "" +"Unable to reach the screenshot image on its remote location - does the image " +"exist?" +msgstr "Ekran görüntüsü resmine uzak konumunda erişilemiyor - resim mevcut mu?" -#: tools/appstream-cli.c:863 -msgid "Install a metadata file into the right location." -msgstr "Bir üst veri dosyasını doğru konuma yükle." +#: src/as-validator-issue-tag.h:189 +msgid "" +"Unable to reach the screenshot video on its remote location - does the video " +"file exist?" +msgstr "" +"Ekran görüntüsü videosuna uzak konumunda erişilemiyor - video dosyası mevcut " +"mu?" -#: tools/appstream-cli.c:859 -msgid "Install software matching the component-ID." -msgstr "Bileşen kimliğiyle eşleşen yazılım yükle." +#: src/as-validator-issue-tag.h:194 +msgid "" +"Consider using a secure (HTTPS) URL to reference this screenshot image or " +"video." +msgstr "" +"Bu ekran görüntüsü resmine veya videosuna referans vermek için güvenli " +"(HTTPS) bir URL kullanmayı düşünün." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:373 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:200 msgid "" -"Invalid 'type' property for this 'url' tag. URLs of this type are not known " -"in the AppStream specification." +"A screenshot must contain at least one image or video in order to be useful. " +"Please add an to it." msgstr "" -"Bu 'url' etiketi için geçersiz 'type' özelliği. Bu tür URL’ler AppStream " -"spesifikasyonunda bilinmemektedir." +"Bir ekran görüntüsü, faydalı olması için en az bir resim ya da video " +"içermelidir. Lütfen bir ekleyin." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:553 +#: src/as-validator-issue-tag.h:205 msgid "" -"Invalid tag found in collection metadata. Only 'component' tags are " -"permitted." +"A screenshot must contain either images or videos, but not both at the same " +"time. Please use this screenshot exclusively for either static images or for " +"videos." msgstr "" -"Koleksiyon meta verilerinde geçersiz etiket bulundu. Yalnızca 'component' " -"etiketlerine izin verilir." +"Bir ekran görüntüsü ya resim ya da video içermelidir, ancak her ikisini aynı " +"anda içermemelidir. Lütfen bu ekran görüntüsünü yalnızca statik resimler ya " +"da videolar için kullanın." -#: tools/ascli-actions-mdata.c:213 -msgid "Invalid type for provided item selected. Valid values are:" -msgstr "Sağlanmış öge için geçersiz tip seçildi. Geçerli değerler:" +#: src/as-validator-issue-tag.h:211 +msgid "The screenshot does not have a caption text. Consider adding one." +msgstr "Ekran görüntüsünün bir başlık metni yok. Bir tane eklemeyi düşünün." -#: src/as-validator-issue-tag.h:271 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:217 msgid "" -"Invalid version comparison operation on relation item. Only eq/ne/lt/gt/le/" -"ge are permitted." +"The screenshot video does not specify which video codec was used in a " +"`codec` property." msgstr "" -"İlişkisel ögede geçersiz versiyon karşılaştırma işlemi. Sadece eq/ne/lt/gt/" -"le/ge'ye izin verilir." +"Ekran görüntüsü videosu, `codec` özelliğinde hangi video codec'inin " +"kullanıldığını belirtmemektedir." -#: src/as-validator-issue-tag.h:450 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:223 msgid "" -"It is recommended to add a long description to this component to present it " -"better to users." +"The screenshot video does not specify which container format was used in a " +"`container` property." msgstr "" -"Kullanıcılara daha iyi sunabilmek için bu bileşene uzun bir açıklama " -"eklemeniz önerilir." +"Ekran görüntüsü videosu, `container` özelliğinde hangi konteyner biçiminin " +"kullanıldığını belirtmemektedir." -#: src/as-validator-issue-tag.h:445 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:229 msgid "" -"It would be useful to add a long description to this font to present it " -"better to users." +"The selected video codec is not supported by AppStream and software centers " +"may not be able to play the video. Only the AV1 and VP9 codecs are currently " +"supported, using `av1` and `vp9` as values for the `codec` property." msgstr "" -"Kullanıcılara daha iyi sunabilmek için bu yazı tipine uzun bir açıklama " -"eklemek faydalı olacaktır." - -#: src/as-category.c:144 -msgctxt "Category of Games" -msgid "Kids" -msgstr "Çocuklar" - -#: src/as-category.c:220 -msgctxt "Category of Addons" -msgid "Language Packs" -msgstr "Dil Paketleri" - -#: src/as-category.c:107 -msgctxt "Category of Education" -msgid "Languages" -msgstr "Diller" - -#: src/as-provided.c:144 -msgid "Libraries" -msgstr "Kütüphaneler" - -#. license -#: tools/ascli-utils.c:363 -msgid "License" -msgstr "Lisans" +"Seçilen video codec'i AppStream tarafından desteklenmemektedir ve yazılım " +"merkezleri videoyu oynatamayabilir. Şu anda sadece AV1 ve VP9 codec'leri " +"desteklenmekte, `codec` özelliği için `av1` ve `vp9` değerleri " +"kullanılmaktadır." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:629 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:236 msgid "" -"Licenses for 'runtime' components are usually too complex to reflect them in " -"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " -"value for this component's 'project_license'. E.g. `LicenseRef-free=https://" -"example.com/licenses.html`" -msgstr "'runtime' bileşenleri için lisanslar, genellikle bunları basit bir SPDX ifadesinde belirtmek için çok karmaşıktır. Bu bileşenin 'project_license' değeri için bir `LicenseRef` ve bir web URL'si kullanmayı düşünün. Örn. `LicenseRef-free=https://example.com/licenses.html`" +"The selected video container format is not supported by AppStream and " +"software centers may not be able to play the video. Only the WebM and " +"Matroska video containers are currently supported, using `webm` and `mkv` as " +"values for the `container` property." +msgstr "" +"Seçilen video konteyner biçimi AppStream tarafından desteklenmemektedir ve " +"yazılım merkezleri videoyu oynatamayabilir. Şu anda sadece WebM ve Matroska " +"video konteynerleri desteklenmekte, `container` özelliği için `webm` ve " +"`mkv` değerleri kullanılmaktadır." -#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command -#: tools/appstream-cli.c:771 +#: src/as-validator-issue-tag.h:242 msgid "" -"Limit the number of release entries that end up in the metainfo file (0 for " -"unlimited)." +"For videos, only the WebM and Matroska (.mkv) container formats are " +"currently supported. The file extension of the referenced video does not " +"belong to either of these formats." msgstr "" -"Metainfo dosyasına gönderilecek sürüm girdilerinin sayısını sınırla " -"(sınırsız için 0)." - -#: src/as-category.c:223 -msgctxt "Category of Addons" -msgid "Localization" -msgstr "Yerelleştirme" - -#: src/as-category.c:147 -msgctxt "Category of Games" -msgid "Logic" -msgstr "Mantık" - -#. TRANSLATORS: ascli flag description for: --no-cache -#: tools/appstream-cli.c:67 -msgid "Make request without any caching." -msgstr "Önbelleğe alma olmadan istekte bulunun." - -#. TRANSLATORS: ascli flag description for: --cachepath -#: tools/appstream-cli.c:57 -msgid "Manually selected location of AppStream cache." -msgstr "AppStream önbelleğinin manuel olarak seçilen konumu." +"Videolar için, şu anda yalnızca WebM ve Matroska (.mkv) konteyner biçimleri " +"desteklenmektedir. Referans edilen videonun dosya uzantısı bu biçimlerden " +"hiçbirine ait değildir." -#. TRANSLATORS: ascli flag description for: --datapath -#: tools/appstream-cli.c:62 -msgid "Manually selected location of AppStream metadata to scan." -msgstr "Taranacak AppStream meta verilerinin manuel olarak seçilen yeri." +#: src/as-validator-issue-tag.h:248 +msgid "" +"The default screenshot of a software component must not be a video. Use a " +"static image as default screenshot and set the video as a secondary " +"screenshot." +msgstr "" +"Bir yazılım bileşeninin öntanımlı ekran görüntüsü bir video olmamalıdır. " +"Öntanımlı ekran görüntüsü olarak statik bir resim kullanın ve videoyu " +"ikincil ekran görüntüsü olarak ayarlayın." -#: src/as-pool.c:1280 +#: src/as-validator-issue-tag.h:253 msgid "" -"Many components have been recognized as invalid. See debug output for " -"details." +"Found an unknown tag in a requires/recommends group. This is likely an " +"error, because a component relation of this type is unknown." msgstr "" -"Birçok bileşen geçersiz olarak kabul edildi. Ayrıntılar için hata ayıklama " -"çıktısına bakınız." +"Gerektirir/tavsiye eder grubunda bilinmeyen bir etiket bulundu. Bu büyük " +"olasılıkla bir hatadır, çünkü bu tür bir bileşen ilişkisi bilinmemektedir." -#: src/as-category.c:111 -msgctxt "Category of Education" -msgid "Math" -msgstr "Matematik" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:259 +msgid "" +"A `requires` or `recommends` item requires a value to denote a valid " +"relation." +msgstr "" +"Bir `requires` veya `recommends` ögesi, geçerli bir ilişkiyi belirtmek için " +"bir değer gerektirmektedir." -#: src/as-category.c:243 -msgctxt "Category of Science" -msgid "Math" -msgstr "Matematik" +#. TRANSLATORS: `version` is an AppStream XML property. Please do not translate it. +#: src/as-validator-issue-tag.h:265 +msgid "" +"Found `version` property on required/recommended item of a type that should " +"not have or require a version." +msgstr "" +"`version` özelliği, bir sürüme sahip olması veya istemesi gerekmeyen bir " +"türün gereken/tavsiye edilen ögesinde bulundu." -#: src/as-provided.c:148 -msgid "Media types" -msgstr "Medya Türleri" +#. TRANSLATORS: `version` and `compare` are AppStream XML properties. Please do not translate them. +#: src/as-validator-issue-tag.h:271 +msgid "" +"Found `version` property on this required/recommended item, but not " +"`compare` property. It is recommended to explicitly define a comparison " +"operation." +msgstr "" +"Bu gereken/tavsiye edilen ögede `version` özelliği bulundu, ancak `compare` " +"özelliği bulunamadı. Bir karşılaştırma işleminin açıkça tanımlanması " +"önerilir." -#: tools/ascli-actions-mdata.c:364 -#, c-format -msgid "Metadata file '%s' does not exist." -msgstr "Üst veri dosyası '%s' bulunmuyor." +#: src/as-validator-issue-tag.h:276 +msgid "" +"Invalid comparison operation on relation item. Only eq/ne/lt/gt/le/ge are " +"permitted." +msgstr "" +"İlişki ögesinde geçersiz karşılaştırma işlemi. Yalnızca eq/ne/lt/gt/le/ge " +"işlemlerine izin verilir." -#: src/as-pool.c:881 -msgid "Metadata files have errors:" -msgstr "Üst veri dosyalarında hata var:" +#: src/as-validator-issue-tag.h:281 +msgid "" +"The relation item has a comparison operation set, but does not support any " +"comparisons." +msgstr "" +"İlişki ögesinin bir karşılaştırma işlemi kümesi var, ancak herhangi bir " +"karşılaştırmayı desteklemiyor." -#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 -#: tools/ascli-actions-misc.c:515 -#, c-format -msgid "Metainfo file '%s' does not exist." -msgstr "Meta bilgi dosyası '%s' mevcut değil." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:287 +msgid "" +"Found a memory size relation in a `requires` tag. This means users will not " +"be able to even install the component without having enough RAM. This is " +"usually not intended and you want to use `memory` in the `recommends` tag " +"instead." +msgstr "" +"Bir `requires` etiketinde bir bellek boyutu bağımlılığı bulundu. Bu, " +"kullanıcıların yeterli RAM'e sahip olmadan bileşeni kurma işlemini bile " +"yapamayacakları anlamına gelir. Bu genellikle amaçlanmamıştır ve bunun " +"yerine `recommends` etiketinde `memory` kullanmak istersiniz." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:294 +msgid "" +"Found a user input control relation in a `requires` tag. This means users " +"will not be able to even install the component without having the defined " +"input control available on the system. This is usually not intended and you " +"want to use `control` in the `recommends` tag instead." +msgstr "" +"Bir `requires` etiketinde bir kullanıcı giriş kontrol ilişkisi bulundu. Bu, " +"kullanıcıların sistemde tanımlı giriş kontrolü olmadan bileşeni kurma " +"işlemini bile yapamayacakları anlamına gelir. Bu genellikle amaçlanmamıştır " +"ve bunun yerine `recommends` etiketinde `control` kullanmak istersiniz." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:301 +msgid "" +"This `control` item defines an unknown input method and is invalid. Check " +"the specification for a list of permitted values." +msgstr "" +"Bu `control` ögesi bilinmeyen bir giriş yöntemi tanımlamaktadır ve " +"geçersizdir. İzin verilen değerlerin listesi için tanımlamayı kontrol edin." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:307 +msgid "" +"This `display_length` item contains an invalid display length. Its value " +"must either be a shorthand string, or positive integer value denoting " +"logical pixels. Please refer to the AppStream specification for more " +"information on this tag." +msgstr "" +"Bu `display_length` ögesi geçersiz bir görüntüleme uzunluğu içeriyor. " +"Değeri, bir kısaltma dizgesi veya mantıksal pikselleri ifade eden pozitif " +"tam sayı değeri olmalıdır. Bu etiket hakkında daha fazla bilgi için lütfen " +"AppStream tanımlamasına bakın." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:314 +msgid "" +"This `side` property of this `display_length` item contains an invalid " +"value. It must either be `shortest` or `longest`, or unset to imply " +"`shortest` to make the item value refer to either the shortest or longest " +"side of the display." +msgstr "" +"Bu `display_length` ögesinin bu `side` özelliği geçersiz bir değer içeriyor. " +"Öge değerinin ekranın en kısa veya en uzun tarafına uygulanmasını sağlamak " +"için ya `shortest` veya `longest` olmalı, ya da `shortest` anlamına gelmesi " +"için ayarlanmamış olmalıdır." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:367 +#: src/as-validator-issue-tag.h:320 msgid "" -"Metainfo files may only contain icons of type 'stock' or 'remote', the set " -"type is not allowed." +"The set component type is not a recognized, valid AppStream component type." msgstr "" -"Metainfo dosyaları sadece 'stock' veya 'remote' türünde simgeler içerebilir, " -"set türüne izin verilmez." +"Ayarlanan bileşen türü tanınan, geçerli bir AppStream bileşen türü değil." -#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report -#: tools/ascli-actions-misc.c:116 -msgid "Metainfo files:" -msgstr "Üst veri dosyaları:" +#: src/as-validator-issue-tag.h:325 +msgid "" +"The component has a priority value set. This is not allowed in metainfo " +"files." +msgstr "" +"Bileşenin ayarlanmış bir öncelik değeri var. Buna metainfo dosyalarında izin " +"verilmemektedir." -#: src/as-provided.c:152 -msgid "Modaliases" -msgstr "Modaliaslar" +#: src/as-validator-issue-tag.h:330 +msgid "" +"The component has a `merge` method defined. This is not allowed in metainfo " +"files." +msgstr "" +"Bileşenin tanımlanmış bir `merge` metodu var. Buna metainfo dosyalarında " +"izin verilmemektedir." -#: src/as-category.c:74 -msgctxt "Category of AudioVideo" -msgid "Music Players" -msgstr "Müzik Oynatıcılar" +#: src/as-validator-issue-tag.h:335 +msgid "The component is missing an ID ( tag)." +msgstr "Bileşenin kimliği ( etiketi) eksik." -#: tools/ascli-utils.c:296 -msgid "Name" -msgstr "İsim" +#: src/as-validator-issue-tag.h:340 +msgid "The component is missing a name ( tag)." +msgstr "Bileşenin adı ( etiketi) eksik." -#: src/as-category.c:266 -msgctxt "Category of Communication" -msgid "News" -msgstr "Haber" +#: src/as-validator-issue-tag.h:345 +msgid "The component is missing a summary ( tag)." +msgstr "Bileşenin özeti ( etiketi) eksik." -#: src/as-validator-issue-tag.h:589 -msgid "No AppStream metadata was found in this directory or directory tree." -msgstr "Bu dizinde veya dizin ağacında AppStream meta verisi bulunamadı." +#: src/as-validator-issue-tag.h:350 +msgid "" +"The tag still contains a `type` property, probably from an old " +"conversion to the recent metainfo format." +msgstr "" +" etiketi hala, büyük olasılıkla son metainfo biçimine eski bir " +"dönüşümden kalan, bir `type` özelliği içeriyor." -#. pedantic because not everything which has metadata is an application -#: src/as-validator-issue-tag.h:594 -msgid "No XDG applications directory found." -msgstr "XDG uygulama dizini bulunamadı." +#: src/as-validator-issue-tag.h:355 +msgid "" +"The `pkgname` tag appears multiple times. You should evaluate creating a " +"metapackage containing the metainfo and .desktop files in order to avoid " +"defining multiple package names per component." +msgstr "" +"`pkgname` etiketi birden fazla kez görünmektedir. Bileşen başına birden " +"fazla paket adı tanımlamaktan kaçınmak için metainfo ve .desktop dosyalarını " +"içeren bir metapaket oluşturmayı değerlendirmelisiniz." -#: tools/ascli-actions-mdata.c:182 -#, c-format -msgid "No component matching '%s' found." -msgstr "'%s' ile eşleşen bileşen bulunamadı." +#: src/as-validator-issue-tag.h:360 +msgid "The component name should (likely) not end with a dot (`.`)." +msgstr "Bileşen adı (muhtemelen) nokta (`.`) ile bitmemelidir." + +#: src/as-validator-issue-tag.h:365 +msgid "The component summary should not end with a dot (`.`)." +msgstr "Bileşen özeti nokta (`.`) ile bitmemelidir." -#: tools/ascli-actions-misc.c:105 -msgid "No icons." -msgstr "Simge yok." +#: src/as-validator-issue-tag.h:370 +msgid "The component summary must not contain tabs or linebreaks." +msgstr "Bileşen özeti sekme veya satır sonu karakterleri içermemelidir." -#: tools/ascli-actions-misc.c:402 -msgid "No output filename specified, modifying metainfo file directly." +#: src/as-validator-issue-tag.h:375 +msgid "The summary must not contain any URL. Use the tags for links." msgstr "" -"Çıkış dosyası adı belirtilmedi, metainfo dosyası doğrudan değiştiriliyor." +"Özet, herhangi bir URL içermemelidir. Linkler için etiketlerini " +"kullanın." -#: tools/ascli-actions-misc.c:306 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:381 msgid "" -"No provided binary specified in metainfo file, and no exec command specified " -"via '--exec'. Can not create 'Exec=' key." +"Icons of type `stock` or `cached` must not contain an URL, a full or an " +"relative path to the icon. Only file basenames or stock names are allowed." msgstr "" -"Metainfo dosyasında bir binary dosya belirtilmedi ve '--exec' aracılığıyla " -"exec komutu belirtilmedi. 'Exec =' anahtarı oluşturulamıyor." +"`stock` veya `cache` türündeki simgeler, bir URL, simgeye tam veya göreceli " +"bir yol içermemelidir. Yalnızca dosya adlarına veya stok adlarına izin " +"verilir." -#: tools/ascli-actions-misc.c:284 -msgid "No stock icon name was provided in the metainfo file. Can not continue." -msgstr "Metainfo dosyasında stok simge adı sağlanmadı. Devam edilemiyor." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:388 +msgid "Icons of type `remote` must contain an URL to the referenced icon." +msgstr "`remote` türündeki simgeler, başvurulan simgeye bir URL içermelidir." -#: tools/ascli-actions-pkgmgr.c:53 -msgid "" -"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" -"\" (part of PackageKit) is available." -msgstr "" -"Uygun paket yöneticisi komut satırı arayüzü bulunamadı. Lütfen örneğin " -"\"pkcon\"un (PackageKit'in parçası) kullanılabilir olduğuna emin olun." +#: src/as-validator-issue-tag.h:393 +msgid "Unable to reach remote icon at the given web location - does it exist?" +msgstr "Verilen web konumundaki uzak simgeye erişilemiyor - mevcut mu?" -#: tools/ascli-actions-mdata.c:206 -msgid "No value for the item to search for was defined." -msgstr "Aranacak öge için değer tanımlanmadı." +#: src/as-validator-issue-tag.h:398 +msgid "Consider using a secure (HTTPS) URL for the remote icon link." +msgstr "Uzak simge linki için güvenli (HTTPS) bir URL kullanmayı düşünün." -#. TRANSLATORS: this is the menu spec main category for Office -#: src/as-category.c:317 -msgid "Office" -msgstr "Ofis" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:404 +msgid "" +"Metainfo files may only contain icons of type `stock` or `remote`, the set " +"type is not allowed." +msgstr "" +"Metainfo dosyaları sadece `stock` veya `remote` türünde simgeler içerebilir, " +"set türüne izin verilmez." -#. TRANSLATORS: An unknown option was passed to appstreamcli. -#: tools/appstream-cli.c:192 -#, c-format -msgid "Option '%s' is unknown." -msgstr "'%s' seçeneği bilinmiyor." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:410 +msgid "" +"Invalid `type` property for this `url` tag. URLs of this type are not known " +"in the AppStream specification." +msgstr "" +"Bu `url` etiketi için geçersiz `type` özelliği. Bu tür URL’ler AppStream " +"tanımlamasında bilinmemektedir." -#: tools/ascli-utils.c:298 -msgid "Package" -msgstr "Paket" +#: src/as-validator-issue-tag.h:415 +msgid "" +"Unable to reach remote location that this URL references - does it exist?" +msgstr "Bu URL'nin referans gösterdiği uzak konuma erişilemiyor - mevcut mu?" -#: src/as-category.c:171 -msgctxt "Category of Graphics" -msgid "Photography" -msgstr "Fotoğrafçılık" +#: src/as-validator-issue-tag.h:420 +msgid "Consider using a secure (HTTPS) URL for this web link." +msgstr "Bu web linki için güvenli (HTTPS) bir URL kullanmayı düşünün." -#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) -#: tools/appstream-cli.c:121 -msgid "Print detailed explanation for found issues." -msgstr "Bulunan sorunlar hakkında ayrıntılı açıklama yazdır." +#: src/as-validator-issue-tag.h:425 +msgid "A web URL was expected for this value." +msgstr "Bu değer için bir web URL'si bekleniyordu." -#. TRANSLATORS: ascli flag description for: --details -#: tools/appstream-cli.c:98 -msgid "Print detailed output about found components." -msgstr "Bulunan bileşenler hakkında ayrıntılı çıktı yazdır." +#: src/as-validator-issue-tag.h:430 +msgid "" +"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." +msgstr "" +"Bu web bağlantısı FTP protokolünü kullanmaktadır. Bunun yerine HTTP(S)'ye " +"geçmeyi düşünün." -#. project group -#: tools/ascli-utils.c:360 -msgid "Project Group" -msgstr "Proje Grubu" +#: src/as-validator-issue-tag.h:435 +msgid "The can not contain a hyperlink." +msgstr " bir hiperlink içeremez." -#: tools/ascli-utils.c:405 -msgid "Provided Items" -msgstr "Sağlanan Ögeler" +#: src/as-validator-issue-tag.h:440 +msgid "" +"The set value is not an identifier for a desktop environment as registered " +"with Freedesktop.org." +msgstr "" +"Ayarlanan değer, Freedesktop.org'a kayıtlı bir masaüstü ortamı için " +"tanımlayıcı değildir." -#: src/as-provided.c:154 -msgid "Python (Version 2)" -msgstr "Python (Sürüm 2)" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:446 +msgid "This `launchable` tag has an unknown type and can not be used." +msgstr "Bu `launchable` etiketi bilinmeyen bir türe sahiptir ve kullanılamaz." -#: src/as-provided.c:156 -msgid "Python 3" -msgstr "Python 3" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:452 +msgid "This `bundle` tag has an unknown type and can not be used." +msgstr "Bu `bundle` etiketi bilinmeyen bir türe sahiptir ve kullanılamaz." -#: tools/appstream-cli.c:854 -msgid "Rebuild the component metadata cache." -msgstr "Bileşen üst veri önbelleğini yeniden inşa et." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:458 +msgid "" +"The `update_contact` tag should not be included in collection AppStream XML." +msgstr "" +"`update_contact` etiketi AppStream XML koleksiyonuna dahil edilmemelidir." -#: tools/appstream-cli.c:860 -msgid "Remove software matching the component-ID." -msgstr "Bileşen kimliğiyle eşleşen yazılımı kaldır." +#: src/as-validator-issue-tag.h:463 +msgid "" +"This tag is a GNOME-specific extension to AppStream and not part of the " +"official specification. Do not expect it to work in all implementations and " +"in all software centers." +msgstr "" +"Bu etiket, AppStream için GNOME'a özgü bir uzantıdır ve resmi tanımlamanın " +"bir parçası değildir. Tüm uygulamalarda ve tüm yazılım merkezlerinde " +"çalışmasını beklemeyin." -#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty -#: src/as-validator.c:364 -msgid "Retrieved file size was zero." -msgstr "Alınan dosya boyutu sıfırdı." +#: src/as-validator-issue-tag.h:469 +msgid "" +"Found invalid tag. Non-standard tags should be prefixed with `x-`. AppStream " +"also provides the tag to add arbitrary custom data to metainfo " +"files. This tag is read by AppStream libraries and may be useful instead of " +"defining new custom toplevel or `x-`-prefixed tags if you just want to add " +"custom data to a metainfo file." +msgstr "" +"Geçersiz etiket bulundu. Standart olmayan etiketlerde `x-` ön eki " +"kullanılmalıdır. AppStream ayrıca metainfo dosyalarına isteğe bağlı özel " +"veriler eklemek için etiketini sağlamaktadır. Bu etiket AppStream " +"kütüphaneleri tarafından okunur ve tek yapmak istediğiniz bir metainfo " +"dosyasına özel veri eklemek ise, yeni özel üst düzey veya `x-` ön eki ile " +"etiketler tanımlamaktan daha kullanışlı olabilir." -#: src/as-category.c:248 -msgctxt "Category of Science" -msgid "Robotics" -msgstr "Robotik" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:477 +msgid "" +"The essential tag `metadata_license` is missing. A license for the metadata " +"itself always has to be defined." +msgstr "" +"`metadata_license` gerekli etiketi eksik. Üst verilerin kendisi için bir " +"lisans her zaman tanımlanmalıdır." -#: src/as-category.c:150 -msgctxt "Category of Games" -msgid "Role Playing" -msgstr "Rol Yapma" +#: src/as-validator-issue-tag.h:482 +msgid "" +"The component is missing a long description. Components of this type must " +"have a long description." +msgstr "" +"Bileşenin uzun bir açıklaması eksik. Bu tür bileşenlerin uzun bir açıklaması " +"olmalıdır." -#: tools/appstream-cli.c:196 tools/appstream-cli.c:926 -#, c-format -msgid "Run '%s --help' to see a full list of available command line options." +#: src/as-validator-issue-tag.h:487 +msgid "" +"It would be useful to add a long description to this font to present it " +"better to users." msgstr "" -"Tüm komut satırı işlemlerini görmek için '%s --help' komutunu çalıştırın." +"Kullanıcılara daha iyi sunabilmek için bu yazı tipine uzun bir açıklama " +"eklemek faydalı olacaktır." -#: tools/appstream-cli.c:198 -#, c-format +#: src/as-validator-issue-tag.h:492 msgid "" -"Run '%s --help' to see a list of available commands and options, and '%s %s " -"--help' to see a list of options specific for this subcommand." +"It is recommended to add a long description to this component to present it " +"better to users." msgstr "" -"Kullanılabilir komutların ve seçeneklerin listesini görmek için '%s --" -"help'i, bu alt komuta özel seçeneklerin listesini görmek için '%s %s --" -"help'i çalıştırın." +"Kullanıcılara daha iyi sunabilmek için bu bileşene uzun bir açıklama " +"eklemeniz tavsiye edilir." -#: src/as-provided.c:162 -msgid "Runtime Firmware" -msgstr "Çalışma Zamanı Ürün Yazılımı" +#: src/as-validator-issue-tag.h:497 +msgid "" +"This generic component is missing a long description. It may be useful to " +"add one." +msgstr "" +"Bu genel bileşenin uzun bir açıklaması eksik. Bir tane eklemek faydalı " +"olabilir." -#: src/as-category.c:174 -msgctxt "Category of Graphics" -msgid "Scanning" -msgstr "Tarama" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:503 +msgid "" +"Type `console-application` component, but no information about binaries in " +"$PATH was provided via a `provides/binary` tag." +msgstr "" +"`console-application` türünde bileşen, ancak bir `provides/binary` etiketi " +"ile $PATH içindeki ikili dosyalar hakkında herhangi bir bilgi sağlanmadı." -#. TRANSLATORS: this is the menu spec main category for Science -#: src/as-category.c:323 -msgid "Science" -msgstr "Bilim" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:509 +msgid "" +"This `web-application` component is missing a `launchable` tag of type `url`." +msgstr "" +"Bu `web-application` bileşeninde, `url` türünde bir `launchable` etiketi " +"eksik." -#: tools/appstream-cli.c:847 -msgid "Search the component database." -msgstr "Bileşen veri tabanında arama yapın." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:515 +msgid "" +"This `web-application` component is missing a `icon` tag to specify a valid " +"icon." +msgstr "" +"Bu `web-application` bileşeninde, geçerli bir simge belirtmek için bir " +"`icon` etiketi eksik." -#: src/as-category.c:293 -msgctxt "Category of Utility" -msgid "Security" -msgstr "Güvenlik" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:521 +msgid "" +"This `web-application` component is missing categorizations. A `categories` " +"block is likely missing." +msgstr "" +"Bu `web-application` bileşeninde sınıflandırmalar eksik. Muhtemelen bir " +"`categories` bloğu eksik." -#. TRANSLATORS: ascli flag description for: --verbose -#: tools/appstream-cli.c:903 -msgid "Show extra debugging information." -msgstr "Ek hata ayıklama bilgisi göster." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:527 +msgid "" +"Type `font` component, but no font information was provided via a `provides/" +"font` tag." +msgstr "" +"`font` türünde bileşen, ancak `provides/font` etiketi ile herhangi bir yazı " +"tipi bilgisi sağlanmadı." -#. TRANSLATORS: ascli flag description for: --version -#: tools/appstream-cli.c:897 -msgid "Show the program version." -msgstr "Program sürümünü göster." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:533 +msgid "" +"Type `driver` component, but no modalias information was provided via a " +"`provides/modalias` tag." +msgstr "" +"`driver` türünde bileşen, ancak bir `provides/modalias` etiketi ile herhangi " +"bir modalias bilgisi sağlanmadı." -#: src/as-validator-issue-tag.h:635 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:539 msgid "" -"Since a 'runtime' component is comprised of multiple other software " -"components, their component-IDs may be listed in a `` section for " -"this runtime." -msgstr "Bir 'runtime' bileşeni diğer birden çok yazılım bileşeninden oluştuğu için, bileşen kimlikleri bu çalışma zamanı için bir `` bölümünde listelenebilir." +"An `extends` tag is specified, but the component is not of type `addon`, " +"`localization` or `repository`." +msgstr "" +"Bir `extends` etiketi belirtildi, ancak bileşen `addon`, `localization` ya " +"da `repository` türünde değil." -#: src/as-category.c:153 -msgctxt "Category of Games" -msgid "Sports" -msgstr "Spor" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:545 +msgid "The component is an addon, but no `extends` tag was specified." +msgstr "Bileşen bir eklentidir, ancak `extends` etiketi belirtilmedi." -#: src/as-category.c:157 -msgctxt "Category of Games" -msgid "Strategy" -msgstr "Strateji" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:551 +msgid "" +"This `localization` component is missing an `extends` tag, to specify the " +"components it adds localization to." +msgstr "" +"Bu `localization` bileşeninde, yerelleştirmeye eklediği bileşenleri " +"belirtmek için bir `extends` etiketi eksik." -#. these are commands we can use with appstreamcli -#: tools/appstream-cli.c:845 -msgid "Subcommands:" -msgstr "Alt komutlar:" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:557 +msgid "" +"This `localization` component does not define any languages this " +"localization is for." +msgstr "" +"Bu `localization` bileşeni, bu yerelleştirmenin ait olduğu herhangi bir dil " +"tanımlamamaktadır." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:527 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:563 +msgid "" +"This `service` component is missing a `launchable` tag of type `service`." +msgstr "" +"Bu `service` bileşeninde, `service` türünde bir `launchable` etiketi eksik." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:569 msgid "" -"Suggestions of any type other than 'upstream' are not allowed in metainfo " +"Suggestions of any type other than `upstream` are not allowed in metainfo " "files." msgstr "" -"Metainfo dosyalarında 'upstream' dışında başka bir türde önerilere izin " +"Metainfo dosyalarında `upstream` dışında başka bir türde önerilere izin " "verilmez." -#: tools/ascli-utils.c:297 -msgid "Summary" -msgstr "Özet" - -#. TRANSLATORS: Status summary in ascli -#: tools/ascli-actions-misc.c:145 -msgid "Summary:" -msgstr "Özet:" +#: src/as-validator-issue-tag.h:574 +msgid "" +"The category name is not valid. Refer to the XDG Menu Specification for a " +"list of valid category names." +msgstr "" +"Kategori adı geçerli değil. Geçerli kategori adlarının listesi için XDG Menü " +"Tanımlamasına bakın." -#: src/as-category.c:290 -msgctxt "Category of Utility" -msgid "System Monitoring" -msgstr "Sistem Gözlemleme" +#: src/as-validator-issue-tag.h:579 +msgid "The screenshot caption is too long (should be <= 80 characters)" +msgstr "Ekran görüntüsü başlığı çok uzun (<= 80 karakter olmalıdır)" -#: src/as-validator-issue-tag.h:46 -msgid "Tags of this name are not permitted in this section." -msgstr "Bu bölümde bu isimde etiketlere izin verilmemektedir." +#: src/as-validator-issue-tag.h:584 +msgid "Unable to read file." +msgstr "Dosya okunamıyor." -#: src/as-category.c:284 -msgctxt "Category of Utility" -msgid "Terminal Emulators" -msgstr "Uçbirim Emülatörleri" +#: src/as-validator-issue-tag.h:589 +msgid "The XML of this file is malformed." +msgstr "Bu dosyanın XML'i bozuk." -#: src/as-category.c:281 -msgctxt "Category of Utility" -msgid "Text Editors" -msgstr "Metin Düzenleyiciler" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:595 +msgid "" +"Invalid tag found in collection metadata. Only `component` tags are " +"permitted." +msgstr "" +"Koleksiyon üst verilerinde geçersiz etiket bulundu. Sadece `component` " +"etiketlerine izin verilir." -#: src/as-validator-issue-tag.h:318 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:601 msgid "" -"The 'pkgname' tag appears multiple times. You should evaluate creating a " -"metapackage containing the metainfo and .desktop files in order to avoid " -"defining multiple package names per component." +"The metainfo file uses an ancient version of the AppStream specification, " +"which can not be validated. Please migrate it to version 0.6 (or higher)." msgstr "" -"'pkgname' etiketi birden fazla kez görünmektedir. Bileşen başına birden " -"fazla paket adı tanımlamaktan kaçınmak için metainfo ve .desktop dosyalarını " -"içeren bir metapaket oluşturmayı değerlendirmelisiniz." +"Metainfo dosyası, AppStream tanımlamasının doğrulanamayan eski bir sürümünü " +"kullanmaktadır. Lütfen 0.6 (veya daha üstü) sürümüne geçiş yapın." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:416 +#: src/as-validator-issue-tag.h:606 msgid "" -"The 'update_contact' tag should not be included in collection AppStream XML." +"This XML document has an unknown root tag. Maybe this file is not a metainfo " +"document?" msgstr "" -"'update_contact' etiketi AppStream XML koleksiyonuna dahil edilmemelidir." +"Bu XML belgesinde bilinmeyen bir root etiketi var. Belki de bu dosya bir " +"metainfo belgesi değildir?" -#: tools/ascli-actions-mdata.c:467 -#, c-format -msgid "The .desktop file '%s' does not exist." -msgstr ".desktop dosyası '%s' bulunmuyor." +#: src/as-validator-issue-tag.h:611 +msgid "The metainfo filename does not match the component ID." +msgstr "Metainfo dosya adı bileşen kimliğiyle eşleşmemektedir." -#: src/as-validator-issue-tag.h:393 -msgid "The can not contain a hyperlink." -msgstr " bir hiperlink içeremez." +#: src/as-validator-issue-tag.h:616 +msgid "Unable to read the .desktop file associated with this component." +msgstr "Bu bileşenle ilişkilendirilmiş .desktop dosyası okunamadı." -#: src/as-validator-issue-tag.h:313 -msgid "" -"The tag still contains a 'type' property, probably from an old " -"conversion to the recent metainfo format." +#: src/as-validator-issue-tag.h:621 +msgid "This component metadata refers to a non-existing .desktop file." msgstr "" -" etiketi hala, büyük olasılıkla son metainfo biçimine eski bir " -"dönüşümden kalan, bir 'type' özelliği içeriyor." +"Bu bileşen üst verileri, var olmayan bir .desktop dosyasına referans " +"etmektedir." -#: src/as-validator-issue-tag.h:616 +#: src/as-validator-issue-tag.h:626 msgid "" -"The AppStream specification requires a complete, ISO 8601 date string with " -"at least day-granularity to denote dates. Please ensure the date string is " -"valid." +"The category defined in the .desktop file is not valid. Refer to the XDG " +"Menu Specification for a list of valid categories." msgstr "" -"AppStream spesifikasyonu, tarihleri belirtmek için en az gün derecesinde " -"ayrıntıya sahip tam bir ISO 8601 tarih stringi gerektirmektedir. Lütfen " -"tarih stringinin geçerli olduğundan emin olun." +".desktop dosyasında tanımlanan kategori geçerli değildir. Geçerli " +"kategorilerin listesi için XDG Menü Tanımlamasına bakın." -#: src/as-pool.c:1924 -#, c-format +#: src/as-validator-issue-tag.h:631 +msgid "No AppStream metadata was found in this directory or directory tree." +msgstr "Bu dizinde veya dizin ağacında AppStream üst verisi bulunamadı." + +#. pedantic because not everything which has metadata is an application +#: src/as-validator-issue-tag.h:636 +msgid "No XDG applications directory found." +msgstr "XDG uygulama dizini bulunamadı." + +#: src/as-validator-issue-tag.h:641 msgid "" -"The AppStream system cache was updated, but problems were found which " -"resulted in metadata being ignored: %s" +"The metainfo file is stored in a legacy path. Please place it in `/usr/share/" +"metainfo/`." msgstr "" -"AppStream sistem önbelleği güncellendi, ama meta verilerin yok sayılmasıyla " -"sonuçlanan sorunlar bulundu: %s" +"Metainfo dosyası, eski bir yolda saklanmaktadır. Lütfen `/usr/share/" +"metainfo` dizinine yerleştirin." -#: src/as-pool.c:1922 -msgid "" -"The AppStream system cache was updated, but some components were ignored. " -"Refer to the verbose log for more information." +#: src/as-validator-issue-tag.h:646 +msgid "The metainfo file specifies multiple components. This is not allowed." msgstr "" -"AppStream sistem önbelleği güncellendi, ama bazı bileşenler yok sayıldı. " -"Daha fazla bilgi için ayrıntılı log kaydına başvurun." +"Metainfo dosyası birden fazla bileşen belirtmektedir. Buna izin " +"verilmemektedir." -#: src/as-validator-issue-tag.h:151 -msgid "The SPDX license expression is invalid and could not be parsed." -msgstr "SPDX lisans ifadesi geçersiz ve ayrıştırılamadı." +#: src/as-validator-issue-tag.h:651 +msgid "" +"The releases are not sorted in a latest to oldest version order. This is " +"required as some tools will assume that the latest version is always at the " +"top. Sorting releases also increases overall readability of the metainfo " +"file." +msgstr "" +"Sürümler, en yeniden en eskiye olacak şekilde sıralanmamıştır. Bazı araçlar " +"en son sürümün her zaman en üstte olduğunu varsayacağından, bu gereklidir. " +"Sürümlerin sıralanması ayrıca metainfo dosyasının genel okunabilirliğini de " +"arttırmaktadır." -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows -#: tools/appstream-cli.c:683 -#, c-format -msgid "The TYPE must be a valid component-type, such as: %s" -msgstr "TYPE, şunun gibi geçerli bir bileşen türü olmalıdır: %s" +#: src/as-validator-issue-tag.h:658 +msgid "The value set as release urgency is not a known urgency value." +msgstr "" +"Yayın aciliyeti olarak ayarlanan değer, bilinen bir aciliyet değeri değil." -#: src/as-validator-issue-tag.h:547 -msgid "The XML of this file is malformed." -msgstr "Bu dosyanın XML'i bozuk." +#: src/as-validator-issue-tag.h:663 +msgid "The value set as release type is invalid." +msgstr "Yayın türü olarak ayarlanan değer geçersiz." -#: src/as-validator-issue-tag.h:584 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:669 msgid "" -"The category defined in the .desktop file is not valid. Refer to the XDG " -"Menu Specification for a list of valid categories." +"The value set as artifact type is invalid. Must be either `source` or " +"`binary`." msgstr "" -".desktop dosyasında tanımlanan kategori geçerli değildir. Geçerli " -"kategorilerin listesi için XDG Menü Spesifikasyonuna bakın." +"Yapı türü olarak ayarlanan değer geçersiz. `source` veya `binary` olmalıdır." -#: src/as-validator-issue-tag.h:532 +#: src/as-validator-issue-tag.h:674 +msgid "The value set as artifact bundle type is invalid." +msgstr "Yapı takım türü olarak ayarlanan değer geçersiz." + +#: src/as-validator-issue-tag.h:679 msgid "" -"The category name is not valid. Refer to the XDG Menu Specification for a " -"list of valid category names." +"The platform triplet for this release is invalid. It must be in the form of " +"`architecture-oskernel-osenv` - refer to the AppStream documentation or " +"information on normalized GNU triplets for more information and valid fields." msgstr "" -"Kategori adı geçerli değil. Geçerli kategori adlarının listesi için XDG Menü " -"Spesifikasyonuna bakın." +"Bu yayının platform üçlüsü geçersiz. `architecture-oskernel-osenv` biçiminde " +"olmalıdır - daha fazla bilgi ve geçerli alanlar için AppStream " +"belgelendirmesine veya normalleştirilmiş GNU üçlüleriyle ilgili bilgilere " +"bakın." -#: src/as-validator-issue-tag.h:124 +#: src/as-validator-issue-tag.h:686 +msgid "The selected checksumming algorithm is unsupported or unknown." +msgstr "Seçilen sağlama toplamı algoritması desteklenmiyor veya bilinmiyor." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:692 +msgid "The size type is unknown. Must be `download` or `installed`." +msgstr "Boyut türü bilinmiyor. `download` veya `installed` olmalıdır." + +#: src/as-validator-issue-tag.h:697 msgid "" -"The component ID contains a hyphen/minus. Using a hyphen is strongly " -"discouraged, to improve interoperability with other tools such as D-Bus. A " -"good option is to replace any hyphens with underscores ('_')." +"The artifact filename must be a file basename, not a (relative or absolute) " +"path." msgstr "" -"Bileşen kimliği bir tire/eksi içermektedir. D-Bus gibi diğer araçlarla " -"birlikte çalışabilirliği artırmak için tire kullanılması şiddetle önerilmez. " -"İyi bir seçenek, herhangi bir tireyi alt çizgi ('_') ile değiştirmektir." +"Yapı dosya adı bir dosya temel adı olmalıdır, bir (göreceli veya mutlak) yol " +"değil." -#: src/as-validator-issue-tag.h:130 +#: src/as-validator-issue-tag.h:702 +msgid "The value set as release issue type is invalid." +msgstr "Yayın sorunu türü olarak ayarlanan değer geçersiz." + +#: src/as-validator-issue-tag.h:707 msgid "" -"The component ID contains a segment starting with a number. Starting a " -"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " -"interoperability with other tools such as D-Bus. Ideally, prefix these " -"segments with an underscore." +"The issue is tagged at security vulnerability with a CVE number, but its " +"value does not look like a valid CVE identifier." msgstr "" -"Bileşen kimliği, sayı ile başlayan bir segment içermektedir. D-Bus gibi " -"diğer araçlarla birlikte çalışabilirliği korumak için ters DNS kimliğinin " -"bir bölümünün bir sayıyla başlatılması kesinlikle önerilmez. İdeal olarak, " -"bu segmentler için ön ek olarak bir alt çizgi kullanın." +"Sorun bir CVE numarasıyla güvenlik açığı olarak etiketlendi, ancak değeri " +"geçerli bir CVE tanımlayıcısı gibi görünmüyor." -#: src/as-validator-issue-tag.h:119 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:713 msgid "" -"The component ID contains an invalid character. Only ASCII characters, dots " -"and numbers are permitted." -msgstr "" -"Bileşen kimliği geçersiz bir karakter içermektedir. Sadece ASCII " -"karakterlerine, noktalara ve rakamlara izin verilmektedir." +"This component is missing information about releases. Consider adding a " +"`releases` tag to describe releases and their changes." +msgstr "Bu bileşende yayınlar hakkında bilgiler eksik. Yayınları ve değişikliklerini açıklamak için bir `releases` etiketi eklemeyi düşünün." -#: src/as-validator-issue-tag.h:106 +#: src/as-validator-issue-tag.h:718 msgid "" -"The component ID is not a reverse domain-name. Please update the ID to avoid " -"future issues and be compatible with all AppStream implementations.\n" -"You may also consider to update the name of the accompanying .desktop file " -"to follow the latest version of the Desktop-Entry specification and use a " -"rDNS name for it as well. In any case, do not forget to mention the new " -"desktop-entry in a tag for this component to keep the " -"application launchable from software centers and the .desktop file data " -"associated with the metainfo data." +"The AppStream specification requires a complete, ISO 8601 date string with " +"at least day-granularity to denote dates. Please ensure the date string is " +"valid." msgstr "" -"Bileşen kimliği, ters alan adı değil. Lütfen gelecekteki sorunları önlemek " -"ve tüm AppStream uygulamalarıyla uyumlu olmak için kimliği güncelleyin.\n" -"Masaüstü-Girdi spesifikasyonunun en son sürümünü takip etmek için " -"beraberindeki .desktop dosyasının adını güncellemeyi ve bunun için bir rDNS " -"adı kullanmayı da düşünebilirsiniz. Her durumda, uygulamanın yazılım " -"merkezlerinden ve metainfo verileriyle ilişkili .desktop dosya verilerinden " -"başlatılabilmesi için bu bileşenin etiketindeki yeni masaüstü " -"girdisinden bahsetmeyi unutmayın." +"AppStream tanımlaması, tarihleri belirtmek için en az gün derecesinde " +"ayrıntıya sahip tam bir ISO 8601 tarih dizgesi gerektirmektedir. Lütfen " +"tarih dizgesinin geçerli olduğundan emin olun." -#: src/as-validator-issue-tag.h:101 +#: src/as-validator-issue-tag.h:724 msgid "" -"The component ID is required to follow a reverse domain-name scheme for its " -"name. See the AppStream specification for details." +"This component extends, provides, requires or recommends itself, which is " +"certainly not intended and may confuse users or machines dealing with this " +"metadata." msgstr "" -"Bileşen kimliği, adı için ters alan adı şemasını takip etmek için " -"gereklidir. Ayrıntılar için AppStream spesifikasyonuna bakın." +"Bu bileşen, kesinlikle amaçlanmayan ve bu üst verilerle ilgilenen " +"kullanıcıları veya makineleri şaşırtabilecek şekilde, kendisini " +"genişletmekte, sağlamakta, gerektirmekte veya tavsiye etmektedir." -#: src/as-validator-issue-tag.h:114 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:731 msgid "" -"The component ID might not follow the reverse domain-name schema (the TLD " -"used by it is not known to the validator)." +"Licenses for `runtime` components are usually too complex to reflect them in " +"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " +"value for this component's `project_license`. E.g. `LicenseRef-free=https://" +"example.com/licenses.html`" msgstr "" -"Bileşen kimliği, ters alan adı şemasını izlemeyebilir (bunun tarafından " -"kullanılan TLD, doğrulayıcı tarafından bilinmiyor)." +"`runtime` bileşenleri için lisanslar, genellikle bunları basit bir SPDX " +"ifadesinde belirtmek için çok karmaşıktır. Bu bileşenin `project_license` " +"değeri için bir `LicenseRef` ve bir web URL'si kullanmayı düşünün. Örn. " +"`LicenseRef-free=https://example.com/licenses.html`" -#: src/as-validator-issue-tag.h:293 +#: src/as-validator-issue-tag.h:737 msgid "" -"The component has a 'merge' method defined. This is not allowed in metainfo " -"files." +"Since a `runtime` component is comprised of multiple other software " +"components, their component-IDs may be listed in a `` section for " +"this runtime." msgstr "" -"Bileşenin tanımlanmış bir 'merge' metodu var. Buna metainfo dosyalarında " -"izin verilmemektedir." +"Bir `runtime` bileşeni diğer birden çok yazılım bileşeninden oluştuğu için, " +"bileşen kimlikleri bu çalışma zamanı için bir `` bölümünde " +"listelenebilir." -#: src/as-validator-issue-tag.h:288 +#: src/as-validator-issue-tag.h:742 msgid "" -"The component has a priority value set. This is not allowed in metainfo " -"files." +"The type of the item that the component provides is not known to AppStream." +msgstr "Bileşenin sağladığı ögenin türü AppStream tarafından bilinmemektedir." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:748 +msgid "" +"The toplevel `mimetypes` tag is deprecated. Please use `mediatype` tags in a " +"`provides` block instead to indicate that your software provides a media " +"handler for the given types." +msgstr "" +"Üst düzey `mimetypes` etiketi kullanımdan kaldırıldı. Yazılımınızın belirli " +"türler için bir ortam işleyicisi sağladığını belirtmek için lütfen bir " +"`provides` bloğunda `mediatype` etiketlerini kullanın." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks) and keep the URL intact. +#: src/as-validator-issue-tag.h:755 +msgid "" +"This component has no `content_rating` tag to provide age rating " +"information. You can generate the tag data online by answering a few " +"questions at https://hughsie.github.io/oars/" +msgstr "Bu bileşende yaş derecelendirmesi bilgisi sağlayacak bir `content_rating` etiketi yok. https://hughsie.github.io/oars/ adresinde birkaç soruyu yanıtlayarak etiket verilerini çevrim içi olarak oluşturabilirsiniz" + +#: src/as-validator.c:150 +msgid "" +"The emitted issue tag is unknown in the tag registry of AppStream. This is a " +"bug in the validator itself, please report this issue in our bugtracker." msgstr "" -"Bileşenin ayarlanmış bir öncelik değeri var. Buna metainfo dosyalarında izin " -"verilmemektedir." +"Yayınlanan sorun etiketi AppStream etiket kayıt defterinde bilinmiyor. Bu, " +"validatörün kendisinde bir hatadır, lütfen bu sorunu hata takip " +"platformumuzda bildirin." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:503 -msgid "The component is an addon, but no 'extends' tag was specified." -msgstr "Bileşen bir eklentidir, ancak 'extends' etiketi belirtilmedi." +#: src/as-validator.c:344 +msgid "URL format is invalid." +msgstr "URL biçimi geçersiz." -#: src/as-validator-issue-tag.h:440 +#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. +#: src/as-validator.c:522 src/as-validator.c:937 src/as-validator.c:1031 +#: src/as-validator.c:1428 src/as-validator.c:1448 src/as-validator.c:1481 +#, c-format +msgid "Found: %s - Allowed: %s" +msgstr "Bulunan: %s - İzin verilen: %s" + +#. TRANSLATORS: ascompose flag description for: --verbose +#: tools/appstream-compose.c:181 +msgid "Show extra debugging information" +msgstr "Ek hata ayıklama bilgilerini göster" + +#. TRANSLATORS: ascompose flag description for: --no-color +#. TRANSLATORS: ascli flag description for: --no-color +#: tools/appstream-compose.c:184 tools/appstreamcli.c:1087 +msgid "Don't show colored output." +msgstr "Renklendirilmiş çıktı gösterme." + +#. TRANSLATORS: ascompose flag description for: --version +#. TRANSLATORS: ascli flag description for: --version +#: tools/appstream-compose.c:187 tools/appstreamcli.c:1076 +msgid "Show the program version." +msgstr "Program sürümünü göster." + +#. TRANSLATORS: ascompose flag description for: --full-report +#: tools/appstream-compose.c:190 +msgid "Set mode of the issue report that is printed to the console" +msgstr "Konsola yazdırılan sorun raporunun modunu ayarla" + +#. TRANSLATORS: ascompose flag description for: --prefix +#: tools/appstream-compose.c:193 +msgid "Override the default prefix (`/usr` by default)" +msgstr "Öntanımlı ön eki geçersiz kıl (öntanımlı olarak `/usr`)" + +#. TRANSLATORS: ascompose flag description for: --result-root +#: tools/appstream-compose.c:196 +msgid "Set the result output directory" +msgstr "Sonuç çıktı dizinini ayarla" + +#. TRANSLATORS: ascompose flag description for: --data-dir, `collection metadata` is an AppStream term +#: tools/appstream-compose.c:199 +msgid "Override the collection metadata output directory" +msgstr "Koleksiyon üst verileri çıktı dizinini geçersiz kıl" + +#. TRANSLATORS: ascompose flag description for: --icons-dir +#: tools/appstream-compose.c:202 +msgid "Override the icon output directory" +msgstr "Simge çıktı dizinini geçersiz kıl" + +#. TRANSLATORS: ascompose flag description for: --media-dir +#: tools/appstream-compose.c:205 +msgid "" +"Set the media output directory (for media data to be served by a webserver)" +msgstr "(Bir web sunucusu tarafından sunulacak ortam verileri için) Ortam çıktı dizinini ayarla" + +#. TRANSLATORS: ascompose flag description for: --hints-dir +#: tools/appstream-compose.c:208 +msgid "Set a directory where HTML and text issue reports will be stored" +msgstr "HTML ve metin sorun raporlarının saklanacağı dizini ayarla" + +#. TRANSLATORS: ascompose flag description for: --origin +#. TRANSLATORS: ascompose flag description for: --media-baseurl +#: tools/appstream-compose.c:211 tools/appstream-compose.c:214 +msgid "Set the origin name" +msgstr "Kaynak adını ayarla" + +#. TRANSLATORS: ascompose flag description for: --components +#: tools/appstream-compose.c:217 +msgid "A comma-separated list of component-IDs to accept" +msgstr "Kabul edilecek bileşen kimliklerinin virgülle ayrılmış listesi" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:231 +msgid "Failed to parse arguments" +msgstr "Argümanlar ayrıştırılamadı" + +#. TRANSLATORS: Output if appstreamcli --version is executed. +#: tools/appstream-compose.c:242 tools/appstreamcli.c:1230 +#, c-format +msgid "AppStream version: %s" +msgstr "AppStream sürümü: %s" + +#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. +#: tools/appstream-compose.c:245 tools/appstreamcli.c:1233 +#, c-format msgid "" -"The component is missing a long description. Components of this type must " -"have a long description." +"AppStream CLI tool version: %s\n" +"AppStream library version: %s" msgstr "" -"Bileşenin uzun bir açıklaması bulunmamaktadır. Bu tür bileşenlerin uzun bir " -"açıklaması olmalıdır." +"AppStream CLI araç sürümü: %s\n" +"AppStream kütüphane sürümü: %s" -#: src/as-validator-issue-tag.h:303 -msgid "The component is missing a name ( tag)." -msgstr "Bileşenin bir adı ( etiketi) bulunmamaktadır." +#. TRANSLATORS: invalid value for the --print-report CLI option +#: tools/appstream-compose.c:264 +#, c-format +msgid "" +"Invalid value for `--print-report` option: %s\n" +"Possible values are:\n" +"`on-error` - only prints a short report if the run failed (default)\n" +"`short` - generates an abridged report\n" +"`full` - a detailed report will be printed" +msgstr "" +"`--print-report` seçeneği için geçersiz değer: %s\n" +"Olası değerler şunlardır:\n" +"`on-error` - yalnızca çalıştırma başarısız olursa kısa bir rapor yazdırır " +"(öntanımlı)\n" +"`short` - kısaltılmış bir rapor oluşturur\n" +"`full` - ayrıntılı bir rapor yazdırır" + +#: tools/appstream-compose.c:285 +#, c-format +msgid "Automatically selected '%s' as data output location." +msgstr "Veri çıktı konumu olarak '%s' otomatik seçildi." + +#. TRANSLATORS: we don't have a destination directory for compose +#: tools/appstream-compose.c:288 +msgid "No destination directory set, please provide a data output location!" +msgstr "Hedef dizin ayarlanmadı, lütfen bir veri çıktı konumu sağlayın!" + +#: tools/appstream-compose.c:298 tools/appstream-compose.c:300 +msgid "WARNING" +msgstr "UYARI" + +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:337 +#, c-format +msgid "Only accepting components: %s" +msgstr "Yalnızca kabul edilen bileşenler: %s" + +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:340 +#, c-format +msgid "Only accepting component: %s" +msgstr "Yalnızca kabul edilen bileşen: %s" + +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:345 +msgid "Processing directories:" +msgstr "İşleme dizinleri:" + +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:348 +msgid "Processing directory:" +msgstr "İşleme dizini:" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:357 +msgid "Can not process invalid directory" +msgstr "Geçersiz dizin işlenemiyor" + +#. TRANSLATORS: information message +#: tools/appstream-compose.c:369 +msgid "Composing metadata..." +msgstr "Üst veriler oluşturuluyor..." + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:374 +msgid "Failed to compose AppStream metadata" +msgstr "AppStream üst verileri oluşturulamadı" + +#. TRANSLATORS: appstream-compose failed to include all data +#: tools/appstream-compose.c:380 +msgid "Run failed, some data was ignored." +msgstr "Çalıştırma başarısız oldu, bazı veriler yok sayıldı." + +#. TRANSLATORS: information message of appstream-compose +#: tools/appstream-compose.c:382 +msgid "Errors were raised during this compose run:" +msgstr "Bu oluşturma çalıştırması sırasında hatalar oluştu:" + +#: tools/appstream-compose.c:383 +msgid "" +"Refer to the generated issue report data for details on the individual " +"problems." +msgstr "" +"Bireysel sorunlarla ilgili ayrıntılar için oluşturulan sorun raporu " +"verilerine bakın." + +#: tools/appstream-compose.c:386 +msgid "Overview of generated hints:" +msgstr "Oluşturulan ipuçlarına genel bakış:" + +#. TRANSLATORS: information message +#: tools/appstream-compose.c:388 +msgid "Success!" +msgstr "Başarılı!" + +#. TRANSLATORS: ascli flag description for: --cachepath +#: tools/appstreamcli.c:59 +msgid "Manually selected location of AppStream cache." +msgstr "AppStream önbelleğinin elle seçilen konumu." + +#. TRANSLATORS: ascli flag description for: --datapath +#: tools/appstreamcli.c:64 +msgid "Manually selected location of AppStream metadata to scan." +msgstr "Taranacak AppStream üst verilerinin elle seçilen konumu." + +#. TRANSLATORS: ascli flag description for: --no-cache +#: tools/appstreamcli.c:69 +msgid "Make request without any caching." +msgstr "Önbelleğe alma olmadan istekte bulunun." + +#. TRANSLATORS: ascli flag description for: --format +#: tools/appstreamcli.c:85 +msgid "Default metadata format (valid values are 'xml' and 'yaml')." +msgstr "Öntanımlı üst veri biçimi (geçerli değerler 'xml' ve 'yaml')." -#: src/as-validator-issue-tag.h:308 -msgid "The component is missing a summary ( tag)." -msgstr "Bileşenin bir özeti ( etiketi) bulunmamaktadır." +#. TRANSLATORS: ascli flag description for: --details +#: tools/appstreamcli.c:100 +msgid "Print detailed output about found components." +msgstr "Bulunan bileşenler hakkında ayrıntılı çıktı yazdır." -#: src/as-validator-issue-tag.h:298 -msgid "The component is missing an ID ( tag)." -msgstr "Bileşenin bir kimliği ( etiketi) bulunmamaktadır." +#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) +#: tools/appstreamcli.c:118 +msgid "Also show pedantic hints." +msgstr "Ayrıca detaylı ipuçları göster." -#: src/as-validator-issue-tag.h:136 -msgid "" -"The component is part of the Freedesktop project, but its ID does not start " -"with fd.o's reverse-DNS name (\"org.freedesktop\")." -msgstr "" -"Bileşen Freedesktop projesinin bir parçası, ancak kimliği fd.o'nun ters DNS " -"adıyla (\"org.freedesktop\") başlamıyor." +#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) +#: tools/appstreamcli.c:123 +msgid "Print detailed explanation for found issues." +msgstr "Bulunan sorunlar hakkında ayrıntılı açıklama yazdır." -#: src/as-validator-issue-tag.h:146 -msgid "" -"The component is part of the GNOME project, but its ID does not start with " -"GNOMEs reverse-DNS name (\"org.gnome\")." -msgstr "" -"Bileşen GNOME projesinin bir parçası, ancak kimliği GNOME'un ters DNS adıyla " -"(\"org.gnome\") başlamıyor." +#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) +#: tools/appstreamcli.c:128 +msgid "Do not use network access." +msgstr "Ağ erişimini kullanmayın." -#: src/as-validator-issue-tag.h:141 -msgid "" -"The component is part of the KDE project, but its ID does not start with " -"KDEs reverse-DNS name (\"org.kde\")." -msgstr "" -"Bileşen, KDE projesinin bir parçası, ancak kimliği KDE'nin ters DNS adıyla " -"(\"org.kde\") başlamıyor." +#. TRANSLATORS: ascli flag description for: --format when validating XML files +#: tools/appstreamcli.c:133 +msgid "Format of the generated report (valid values are 'text' and 'yaml')." +msgstr "Oluşturulan raporun biçimi (geçerli değerler 'text' ve 'yaml')." -#: src/as-validator-issue-tag.h:323 -msgid "The component name should (likely) not end with a dot ('.')." -msgstr "Bileşen adı (muhtemelen) bir nokta ('.') ile bitmemelidir." +#. TRANSLATORS: This is the header to the --help menu for subcommands +#. TRANSLATORS: This is the header to the --help menu +#: tools/appstreamcli.c:153 tools/appstreamcli.c:981 +msgid "AppStream command-line interface" +msgstr "AppStream komut satırı arayüzü" -#: src/as-validator-issue-tag.h:333 -msgid "The component summary must not contain tabs or linebreaks." -msgstr "Bileşen özeti sekme veya satır sonu karakterleri içermemelidir." +#: tools/appstreamcli.c:156 +#, c-format +msgid "'%s' command" +msgstr "'%s' komutu" -#: src/as-validator-issue-tag.h:328 -msgid "The component summary should not end with a dot ('.')." -msgstr "Bileşen özeti nokta ('.') ile bitmemelidir." +#. TRANSLATORS: An unknown option was passed to appstreamcli. +#: tools/appstreamcli.c:191 +#, c-format +msgid "Option '%s' is unknown." +msgstr "'%s' seçeneği bilinmiyor." -#: src/as-validator-issue-tag.h:243 -msgid "" -"The default screenshot of a software component must not be a video. Use a " -"static image as default screenshot and set the video as a secondary " -"screenshot." +#: tools/appstreamcli.c:195 tools/appstreamcli.c:1207 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options." msgstr "" -"Bir yazılım bileşeninin varsayılan ekran görüntüsü bir video olmamalıdır. " -"Varsayılan ekran görüntüsü olarak statik bir resim kullanın ve videoyu " -"ikincil ekran görüntüsü olarak ayarlayın." +"Tüm komut satırı işlemlerini görmek için '%s --help' komutunu çalıştırın." -#: src/as-validator-issue-tag.h:86 +#: tools/appstreamcli.c:197 +#, c-format msgid "" -"The description contains a web URL in plain text. This is not allowed, " -"please use the tag instead to share links." +"Run '%s --help' to see a list of available commands and options, and '%s %s " +"--help' to see a list of options specific for this subcommand." msgstr "" -"Açıklama, düz metin şeklinde bir web URL'si içeriyor. Buna izin " -"verilmemektedir, lütfen bağlantıları paylaşmak için etiketini " -"kullanın." +"Kullanılabilir komutların ve seçeneklerin listesini görmek için '%s --" +"help'i, bu alt komuta özel seçeneklerin listesini görmek için '%s %s --" +"help'i çalıştırın." -#: src/as-validator.c:152 -msgid "" -"The emitted issue tag is unknown in the tag registry of AppStream. This is a " -"bug in the validator itself, please report this issue in our bugtracker." -msgstr "" -"Yayınlanan sorun etiketi AppStream etiket kayıt defterinde bilinmiyor. Bu, " -"validatörün kendisinde bir hatadır, lütfen bu sorunu hata takip " -"platformumuzda bildirin." +#. TRANSLATORS: ascli flag description for: --force +#: tools/appstreamcli.c:245 +msgid "Enforce a cache refresh." +msgstr "Ön belleği yenilenmeye zorla." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:435 -msgid "" -"The essential tag 'metadata_license' is missing. A license for the metadata " -"itself always has to be defined." -msgstr "" -"Gerekli etiket 'metadata_license' eksik. Meta verilerin kendisi için bir " -"lisans her zaman tanımlanmalıdır." +#. TRANSLATORS: ascli flag description for: --user +#: tools/appstreamcli.c:251 +msgid "Update the user-specific instead of the system-wide cache." +msgstr "Sistem geneli önbelleği yerine kullanıcıya özel olanı güncelle." + +#. TRANSLATORS: ascli flag description for: --origin (part of the "put" subcommand) +#: tools/appstreamcli.c:477 +msgid "Set the data origin for the installed metadata collection file." +msgstr "Kurulu üst veri koleksiyon dosyası için veri kaynağını ayarla." + +#. TRANSLATORS: ascli flag description for: --user (part of the "put" subcommand) +#: tools/appstreamcli.c:482 +msgid "Install the file for the current user, instead of globally." +msgstr "Dosyayı genel olarak değil, geçerli kullanıcı için kur." -#: src/as-validator-issue-tag.h:79 +#: tools/appstreamcli.c:631 msgid "" -"The first 'description/p' paragraph of this component might be too short (< " -"80 characters). Please consider starting with a longer paragraph to improve " -"how the description looks like in software centers and to provide more " -"detailed information on this component immediately in the first paragraph." +"You need to provide at least two version numbers to compare as parameters." msgstr "" -"Bu bileşenin ilk 'description/p' paragrafı çok kısa olabilir (< 80 " -"karakter). Açıklamanın yazılım merkezlerinde nasıl göründüğünü iyileştirmek " -"ve hemen ilk paragrafta bu bileşen hakkında daha ayrıntılı bilgi sağlamak " -"için lütfen daha uzun bir paragrafla başlamayı düşünün." +"Parametre olarak karşılaştırmak için en az iki sürüm numarası sağlamanız " +"gerekmektedir." -#: src/as-validator-issue-tag.h:156 -msgid "" -"The license ID was not found in the SPDX database. Please check that the " -"license ID is written in an SPDX-conformant way and is a valid free software " -"license." -msgstr "Lisans kimliği SPDX veritabanında bulunamadı. Lütfen lisans kimliğinin SPDX'e uygun bir şekilde yazıldığını ve geçerli bir özgür yazılım lisansı olduğunu kontrol edin." +#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. +#: tools/appstreamcli.c:660 +#, c-format +msgid "Unknown compare relation '%s'. Valid values are:" +msgstr "Bilinmeyen karşılaştırma ilişkisi '%s'. Geçerli değerler:" -#: src/as-validator-issue-tag.h:96 +#: tools/appstreamcli.c:700 msgid "" -"The mentioned tag is empty, which is highly likely not intended as it should " -"have content." +"Too many parameters: Need two version numbers or version numbers and a " +"comparison operator." msgstr "" -"Bahsedilen etiket boştur, bu da bir içeriğe sahip olması gerektiği için " -"büyük olasılıkla istenen değildir." +"Çok fazla parametre: İki sürüm numarasına veya sürüm numaraları ve bir " +"karşılaştırma operatörüne ihtiyaç var." -#: src/as-validator-issue-tag.h:168 +#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) +#: tools/appstreamcli.c:726 msgid "" -"The metadata itself does not seem to be licensed under a permissive license. " -"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " -"0BSD to allow distributors to include it in mixed data collections without " -"the risk of license violations due to mutually incompatible licenses." +"Use the given .desktop file to fill in the basic values of the metainfo file." msgstr "" -"Meta verilerin kendisi serbest bir lisans altında lisanslanmış " -"görünmemektedir. Dağıtımcıların, karşılıklı uyumsuz lisanslar nedeniyle " -"lisans ihlalleri riski olmadan karışık veri koleksiyonlarına dahil " -"etmelerine izin vermek için lütfen verileri FSFAP, CC0-1.0 veya 0BSD gibi " -"serbest bir lisans altında lisanslayın." +"Metainfo dosyasının temel değerlerini doldurmak için verilen .desktop " +"dosyasını kullanın." -#: src/as-validator-issue-tag.h:162 +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand +#: tools/appstreamcli.c:731 msgid "" -"The metadata itself seems to be licensed under a complex collection of " -"licenses. Please license the data under a simple permissive license, like " -"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " -"collections without the risk of license violations due to mutually " -"incompatible licenses." +"This command takes optional TYPE and FILE positional arguments, FILE being a " +"file to write to (or \"-\" for standard output)." msgstr "" -"Meta verilerin kendisi karmaşık bir lisans koleksiyonu altında lisanslanmış " -"görünüyor. Dağıtımcıların, karşılıklı uyumsuz lisanslar nedeniyle lisans " -"ihlalleri riski olmadan karışık veri koleksiyonlarına dahil etmelerine izin " -"vermek için lütfen verileri FSFAP, MIT veya CC0-1.0 gibi basit bir serbest " -"lisans altında lisanslayın." +"Bu komut isteğe bağlı TYPE ve FILE konumsal argümanlarını alır, FILE " +"yazılacak bir dosyadır (veya standart çıktı için \"-\")." -#: src/as-validator-issue-tag.h:599 -msgid "" -"The metainfo file is stored in a legacy path. Please place it in '/usr/share/" -"metainfo'." -msgstr "" -"Metainfo dosyası, eski bir yolda saklanmaktadır. Lütfen '/usr/share/" -"metainfo' dizinine yerleştirin." +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows +#: tools/appstreamcli.c:734 +#, c-format +msgid "The TYPE must be a valid component-type, such as: %s" +msgstr "TYPE, şunun gibi geçerli bir bileşen türü olmalıdır: %s" -#: src/as-validator-issue-tag.h:604 -msgid "The metainfo file specifies multiple components. This is not allowed." +#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) +#: tools/appstreamcli.c:775 +msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." msgstr "" -"Metainfo dosyası birden fazla bileşen belirtmektedir. Buna izin " -"verilmemektedir." +"Masaüstü girdi dosyasının 'Exec =' anahtarı için belirtilen satırı kullanın." + +#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command +#: tools/appstreamcli.c:815 +msgid "Assume the input file is in the selected format ('yaml' or 'text')." +msgstr "Giriş dosyasının seçilen biçimde ('yaml' veya 'text') olduğunu varsay." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:559 +#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command +#: tools/appstreamcli.c:820 msgid "" -"The metainfo file uses an ancient version of the AppStream specification, " -"which can not be validated. Please migrate it to version 0.6 (or higher)." +"Limit the number of release entries that end up in the metainfo file (0 for " +"unlimited)." msgstr "" -"Metainfo dosyası, AppStream spesifikasyonunun doğrulanamayan eski bir " -"sürümünü kullanmaktadır. Lütfen 0.6 (veya daha üstü) sürümüne geçiş yapın." +"Metainfo dosyasına gönderilecek sürüm girdilerinin sayısını sınırla " +"(sınırsız için 0)." -#: src/as-validator-issue-tag.h:569 -msgid "The metainfo filename does not match the component ID." -msgstr "Meta bilgi dosya adı bileşen kimliğiyle eşleşmemektedir." +#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command +#: tools/appstreamcli.c:862 +msgid "Generate the output in the selected format ('yaml' or 'text')." +msgstr "Çıktıyı seçilen biçimde ('yaml' veya 'text') oluştur." -#: src/as-validator-issue-tag.h:609 -msgid "" -"The releases are not sorted in a latest to oldest version order. This is " -"required as some tools will assume that the latest version is always at the " -"top. Sorting releases also increases overall readability of the metainfo " -"file." -msgstr "" -"Sürümler, en yeniden en eski versiyona olacak şekilde sıralanmamıştır. Bazı " -"araçlar en son sürümün her zaman en üstte olduğunu varsayacağından, bu " -"gereklidir. Sürümlerin sıralanması ayrıca metainfo dosyasının genel " -"okunabilirliğini de arttırmaktadır." +#: tools/appstreamcli.c:894 +#, c-format +msgid "Compose binary '%s' was not found! Can not continue." +msgstr "Oluşturma ikili dosyası '%s' bulunamadı! Devam edilemiyor." -#: src/as-validator-issue-tag.h:537 -msgid "The screenshot caption is too long (should be <= 80 characters)" -msgstr "Ekran görüntüsü başlığı çok uzun (<= 80 karakter olmalıdır)" +#. TRANSLATORS: this is a (usually shorter) command alias, shown after the command summary text +#: tools/appstreamcli.c:956 +#, c-format +msgid "(Alias: '%s')" +msgstr "(Takma ad: '%s')" -#: src/as-validator-issue-tag.h:206 -msgid "The screenshot does not have a caption text. Consider adding one." -msgstr "Ekran görüntüsünün bir başlık metni yok. Bir tane eklemeyi düşünün." +#. these are commands we can use with appstreamcli +#: tools/appstreamcli.c:983 +msgid "Subcommands:" +msgstr "Alt komutlar:" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:218 +#: tools/appstreamcli.c:1029 msgid "" -"The screenshot video does not specify which container format was used in a " -"'container' property." +"You can find information about subcommand-specific options by passing \"--" +"help\" to the subcommand." msgstr "" -"Ekran görüntüsü videosu, 'container' özelliğinde hangi konteyner formatının " -"kullanıldığını belirtmemektedir." +"Alt komuta \"--help\" vererek alt komuta özel seçenekler hakkında bilgi " +"bulabilirsiniz." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:212 +#. TRANSLATORS: ascli has been run with unknown command. '%s --help' is the command to receive help and should not be translated. +#: tools/appstreamcli.c:1052 +#, c-format msgid "" -"The screenshot video does not specify which video codec was used in a " -"'codec' property." +"Command '%s' is unknown. Run '%s --help' for a list of available commands." msgstr "" -"Ekran görüntüsü videosu, 'codec' özelliğinde hangi video codec'inin " -"kullanıldığını belirtmemektedir." +"'%s' komutu bilinmiyor. Kullanılabilir komutların listesi için '%s --help' " +"komutunu çalıştırın." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:224 -msgid "" -"The selected video codec is not supported by AppStream and software centers " -"may not be able to play the video. Only the AV1 and VP9 codecs are currently " -"supported, using 'av1' and 'vp9' as values for the 'codec' property." -msgstr "" -"Seçilen video codec'i AppStream tarafından desteklenmemektedir ve yazılım " -"merkezleri videoyu oynatamayabilir. Şu anda sadece AV1 ve VP9 codec'leri " -"desteklenmekte, 'codec' özelliği için 'av1' ve 'vp9' değerleri " -"kullanılmaktadır." +#. TRANSLATORS: ascli flag description for: --verbose +#: tools/appstreamcli.c:1082 +msgid "Show extra debugging information." +msgstr "Ek hata ayıklama bilgisi göster." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:231 -msgid "" -"The selected video container format is not supported by AppStream and " -"software centers may not be able to play the video. Only the WebM and " -"Matroska video containers are currently supported, using 'webm' and 'mkv' as " -"values for the 'container' property." -msgstr "" -"Seçilen video konteyner formatı AppStream tarafından desteklenmemektedir ve " -"yazılım merkezleri videoyu oynatamayabilir. Şu anda sadece WebM ve Matroska " -"video konteynerleri desteklenmekte, 'container' özelliği için 'webm' ve " -"'mkv' değerleri kullanılmaktadır." +#. TRANSLATORS: ascli flag description for: --profile +#: tools/appstreamcli.c:1090 +msgid "Enable profiling" +msgstr "Profil oluşturmayı etkinleştir" -#: src/as-validator-issue-tag.h:283 -msgid "" -"The set component type is not a recognized, valid AppStream component type." -msgstr "" -"Ayarlanan bileşen tipi tanınan, geçerli bir AppStream bileşen tipi değil." +#. TRANSLATORS: `appstreamcli search` command description. +#: tools/appstreamcli.c:1102 +msgid "Search the component database." +msgstr "Bileşen veri tabanında arama yapın." -#: src/as-validator-issue-tag.h:398 +#. TRANSLATORS: `appstreamcli get` command description. +#: tools/appstreamcli.c:1107 +msgid "Get information about a component by its ID." +msgstr "Kimliğiyle bir bileşen hakkında bilgi edin." + +#. TRANSLATORS: `appstreamcli what-provides` command description. +#: tools/appstreamcli.c:1112 msgid "" -"The set value is not an identifier for a desktop environment as registered " -"with Freedesktop.org." +"Get components which provide the given item. Needs an item type (e.g. lib, " +"bin, python3, …) and item value as parameter." msgstr "" -"Ayarlanan değer, Freedesktop.org'a kayıtlı bir masaüstü ortamı için " -"tanımlayıcı değildir." +"Verilen ögeyi sağlayan bileşenleri alın. Parametre olarak bir öge türüne " +"(örn. lib, bin, python3, …) ve öge değerine ihtiyaç duyar." -#: tools/ascli-actions-mdata.c:449 -#, c-format -msgid "" -"The software component type '%s' is not valid in AppStream. Possible values " -"are:" -msgstr "Yazılım bileşen tipi '%s' AppStream'de geçerli değil. Olası değerler:" +#. TRANSLATORS: `appstreamcli dump` command description. +#: tools/appstreamcli.c:1118 +msgid "Dump raw XML metadata for a component matching the ID." +msgstr "Kimlik ile eşleşen bileşen için ham XML üst verisini dök." -#: src/as-validator-issue-tag.h:338 -msgid "The summary must not contain any URL. Use the tags for links." +#. TRANSLATORS: `appstreamcli refresh-cache` command description. +#: tools/appstreamcli.c:1123 +msgid "Rebuild the component metadata cache." +msgstr "Bileşen üst veri önbelleğini yeniden oluştur." + +#. TRANSLATORS: `appstreamcli validate` command description. +#: tools/appstreamcli.c:1129 +msgid "Validate AppStream XML files for issues." +msgstr "AppStream XML dosyalarını sorunlar için doğrula." + +#. TRANSLATORS: `appstreamcli validate-tree` command description. +#: tools/appstreamcli.c:1134 +msgid "Validate an installed file-tree of an application for valid metadata." msgstr "" -"Özet, herhangi bir URL içermemelidir. Linkler için etiketlerini " -"kullanın." +"Bir uygulamanın kurulu bir dosya ağacını geçerli üst veri için doğrulayın." -#: src/as-validator-issue-tag.h:640 -msgid "" -"The type of the item that the component provides is not known to AppStream." -msgstr "Bileşenin sağladığı ögenin türü AppStream tarafından bilinmemektedir." +#. TRANSLATORS: `appstreamcli install` command description. +#: tools/appstreamcli.c:1140 +msgid "Install software matching the component-ID." +msgstr "Bileşen kimliğiyle eşleşen yazılım kur." -#: src/as-validator-issue-tag.h:174 -msgid "" -"The update-contact does not appear to be a valid email address (escaping of " -"'@' is only allowed as '_at_' or '_AT_')." +#. TRANSLATORS: `appstreamcli remove` command description. +#: tools/appstreamcli.c:1145 +msgid "Remove software matching the component-ID." +msgstr "Bileşen kimliğiyle eşleşen yazılımı kaldır." + +#. TRANSLATORS: `appstreamcli status` command description. +#: tools/appstreamcli.c:1151 +msgid "Display status information about available AppStream metadata." msgstr "" -"Güncelleme-irtibatı geçerli bir e-posta adresi gibi görünmüyor ('@' " -"karakterini kaçırmaya yalnızca '_at_' veya '_AT_' olarak izin verilmektedir)." +"Kullanılabilir AppStream üst verileri hakkındaki durum bilgilerini görüntüle." -#: tools/ascli-actions-validate.c:363 tools/ascli-actions-validate.c:492 -#, c-format +#. TRANSLATORS: `appstreamcli os-info` command description. +#: tools/appstreamcli.c:1156 msgid "" -"The validator can not create reports in the '%s' format. You may select " -"'yaml' or 'text' instead." -msgstr "" -"Doğrulayıcı '%s' formatında rapor oluşturamaz. Bunun yerine 'yaml' veya " -"'text' seçebilirsiniz." +"Show information about the current operating system from the metadata index." +msgstr "Üst veri indeksinden geçerli işletim sistemi hakkında bilgi göster." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:410 -msgid "This 'bundle' tag has an unknown type and can not be used." -msgstr "Bu 'bundle' etiketi bilinmeyen bir türe sahiptir ve kullanılamaz." +#. TRANSLATORS: `appstreamcli put` command description. +#: tools/appstreamcli.c:1161 +msgid "Install a metadata file into the right location." +msgstr "Bir üst veri dosyasını doğru konuma kur." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:404 -msgid "This 'launchable' tag has an unknown type and can not be used." -msgstr "Bu 'launchable' etiketi bilinmeyen bir türe sahiptir ve kullanılamaz." +#. TRANSLATORS: `appstreamcli convert` command description. "Collection XML" is a term describing a specific type of AppStream XML data. +#: tools/appstreamcli.c:1166 +msgid "Convert collection XML to YAML or vice versa." +msgstr "Koleksiyon XML'ini YAML'e veya ters yönde dönüştür." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:515 -msgid "" -"This 'localization' component does not define any languages this " -"localization is for." -msgstr "" -"Bu 'localization' bileşeni, bu yerelleştirmenin ait olduğu herhangi bir dil " -"tanımlamamaktadır." +#. TRANSLATORS: `appstreamcli vercmp` command description. +#: tools/appstreamcli.c:1171 +msgid "Compare two version numbers." +msgstr "İki sürüm numarasını karşılaştır." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:509 +#. TRANSLATORS: `appstreamcli new-template` command description. +#: tools/appstreamcli.c:1177 msgid "" -"This 'localization' component is missing an 'extends' tag, to specify the " -"components it adds localization to." +"Create a template for a metainfo file (to be filled out by the upstream " +"project)." msgstr "" -"Bu 'localization' bileşeninde, yerelleştirmeye eklediği bileşenleri " -"belirtmek için bir 'extends' etiketi bulunmamaktadır." +"Bir metainfo dosyası için bir şablon oluştur (yukarı akış projesi tarafından " +"doldurulacak)." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:521 -msgid "" -"This 'service' component is missing a 'launchable' tag of type 'service'." -msgstr "" -"Bu 'service' bileşeninde, 'service' türünde bir 'launchable' etiketi " -"bulunmamaktadır." +#. TRANSLATORS: `appstreamcli make-desktop-file` command description. +#: tools/appstreamcli.c:1182 +msgid "Create a desktop-entry file from a metainfo file." +msgstr "Bir metainfo dosyasından bir masaüstü girdi dosyası oluşturun." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:473 -msgid "" -"This 'web-application' component is missing a 'icon' tag to specify a valid " -"icon." -msgstr "" -"Bu 'web-application' bileşeninde, geçerli bir simge belirtmek için bir " -"'icon' etiketi bulunmamaktadır." +#. TRANSLATORS: `appstreamcli news-to-metainfo` command description. +#: tools/appstreamcli.c:1187 +msgid "Convert a YAML or text NEWS file into metainfo releases." +msgstr "Bir YAML veya metin NEWS dosyasını metainfo sürümlerine dönüştürün." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:467 -msgid "" -"This 'web-application' component is missing a 'launchable' tag of type 'url'." +#. TRANSLATORS: `appstreamcli metainfo-to-news` command description. +#: tools/appstreamcli.c:1192 +msgid "Write NEWS text or YAML file with information from a metainfo file." msgstr "" -"Bu 'web-application' bileşeninde, 'url' türünde bir 'launchable' etiketi " -"bulunmamaktadır." +"NEWS metin veya YAML dosyasını bir metainfo dosyasındaki bilgilerle yazın." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:479 -msgid "" -"This 'web-application' component is missing categorizations. A 'categories' " -"block is likely missing." -msgstr "" -"Bu 'web-application' bileşeninde sınıflandırmalar bulunmamaktadır. " -"Muhtemelen bir 'categories' bloğu eksik." +#. TRANSLATORS: `appstreamcli compose` command description. +#: tools/appstreamcli.c:1198 +msgid "Compose AppStream collection metadata from directory trees." +msgstr "Dizin ağaçlarından AppStream koleksiyonu üst verileri oluşturun." -#: src/as-validator-issue-tag.h:564 -msgid "" -"This XML document has an unknown root tag. Maybe this file is not a metainfo " -"document?" -msgstr "" -"Bu XML belgesinde bilinmeyen bir root etiketi var. Belki de bu dosya bir " -"metainfo belgesi değildir?" +#. TRANSLATORS: ascli has been run without command. +#: tools/appstreamcli.c:1206 +msgid "You need to specify a command." +msgstr "Bir komut belirtmelisiniz." -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand -#: tools/appstream-cli.c:680 -msgid "" -"This command takes optional TYPE and FILE positional arguments, FILE being a " -"file to write to (or \"-\" for standard output)." +#. TRANSLATORS: In ascli: The requested action needs higher permissions. +#: tools/ascli-actions-mdata.c:70 +msgid "You might need superuser permissions to perform this action." msgstr "" -"Bu komut isteğe bağlı TYPE ve FILE konumsal argümanlarını alır, FILE " -"yazılacak bir dosyadır (veya standart çıktı için \"-\")." +"Bu eylemi gerçekleştirmek için yetkili kullanıcı izinlerine ihtiyaç " +"duyabilirsiniz." -#: src/as-validator-issue-tag.h:622 -msgid "" -"This component extends, provides, requires or recommends itself, which is " -"certainly not intended and may confuse users or machines dealing with this " -"metadata." -msgstr "" -"Bu bileşen, kesinlikle amaçlanmayan ve bu meta verilerle ilgilenen " -"kullanıcıları veya makineleri şaşırtabilecek şekilde, kendisini " -"genişletmekte, sağlamakta, istemekte veya önermektedir." +#. we performed a cache refresh +#. TRANSLATORS: Updating the metadata cache succeeded +#: tools/ascli-actions-mdata.c:80 +msgid "AppStream cache update completed successfully." +msgstr "AppStream önbellek güncellemesi başarıyla tamamlandı." -#: src/as-validator-issue-tag.h:579 -msgid "This component metadata refers to a non-existing .desktop file." -msgstr "" -"Bu bileşen meta verileri, var olmayan bir .desktop dosyasına referans " -"etmektedir." +#. cache wasn't updated, so the update wasn't necessary +#: tools/ascli-actions-mdata.c:86 +msgid "AppStream cache update is not necessary." +msgstr "AppStream önbellek güncellemesi gerekli değil." -#: src/as-validator-issue-tag.h:69 -msgid "" -"This description paragraph contains invalid markup. Currently, only " -"and are permitted." -msgstr "" -"Bu açıklama paragrafında geçersiz biçimlendirme bulunmaktadır. Şu anda " -"sadece ve etiketlerine izin verilmektedir." +#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments +#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. +#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:253 +#: tools/ascli-actions-pkgmgr.c:80 +msgid "You need to specify a component-ID." +msgstr "Bir bileşen kimliği belirtmelisiniz." -#: src/as-validator-issue-tag.h:57 -msgid "" -"This element (paragraph, list, etc.) of a tag must not be " -"localized individually in collection metadata. Localize the whole " -" tag instead. The AppStream collection metadata generator (e." -"g. `appstream-generator`) will already do the right thing when compiling the " -"data." -msgstr "" -"Bir etiketinin bu öğesi (paragraf, liste vb.) koleksiyon meta " -"verilerinde ayrı ayrı yerelleştirilmemelidir. Bunun yerine " -"etiketinin tamamını yerelleştirin. AppStream koleksiyonu meta veri üreticisi " -"(örneğin, `appstream-generator`) verileri derlerken zaten doğru olanı " -"yapacak." +#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:265 +#: tools/ascli-actions-pkgmgr.c:93 +#, c-format +msgid "Unable to find component with ID '%s'!" +msgstr "'%s' kimliğine sahip bileşen bulunamadı!" -#: src/as-validator-issue-tag.h:455 -msgid "" -"This generic component is missing a long description. It may be useful to " -"add one." -msgstr "" -"Bu genel bileşenin uzun bir açıklaması bulunmamaktadır. Bir tane eklemek " -"faydalı olabilir." +#: tools/ascli-actions-mdata.c:164 +msgid "You need to specify a term to search for." +msgstr "Arama için bir terim belirtmelisiniz." -#: src/as-validator-issue-tag.h:421 -msgid "" -"This tag is a GNOME-specific extension to AppStream and not part of the " -"official specification. Do not expect it to work in all implementations and " -"in all software centers." -msgstr "" -"Bu etiket, AppStream için GNOME'a özgü bir uzantıdır ve resmi " -"spesifikasyonun bir parçası değildir. Tüm uygulamalarda ve tüm yazılım " -"merkezlerinde çalışmasını beklemeyin." +#. TRANSLATORS: We failed to find any component in the database, likely due to an error +#: tools/ascli-actions-mdata.c:177 +#, c-format +msgid "Unable to find component matching %s!" +msgstr "%s ile eşleşen bileşen bulunamadı!" -#: src/as-validator-issue-tag.h:41 -msgid "This tag requires a type property." -msgstr "Bu etiket, bir tür özelliği gerektirmektedir." +#: tools/ascli-actions-mdata.c:182 +#, c-format +msgid "No component matching '%s' found." +msgstr "'%s' ile eşleşen bileşen bulunamadı." -#: data/org.freedesktop.appstream.cli.metainfo.xml:15 -msgid "" -"This tool allows for reading, writing, validating and transformation of " -"AppStream XML or YAML metadata. It also gives access to the system metadata " -"pool, for example to query for software that provides a specific MIME-type, " -"and installing it by its software component identifier." -msgstr "" -"Bu araç, AppStream XML veya YAML meta verilerinin okunmasına, yazılmasına, " -"onaylanmasına ve dönüştürülmesine izin verir. Ayrıca sistem meta veri " -"havuzuna erişim sağlar, örneğin belirli bir MIME türü sağlayan yazılımın " -"sorgulanması ve yazılım bileşen tanımlayıcısı ile kurulması." +#: tools/ascli-actions-mdata.c:206 +msgid "No value for the item to search for was defined." +msgstr "Aranacak öge için değer tanımlanmadı." -#: src/as-validator-issue-tag.h:388 -msgid "" -"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." -msgstr "" -"Bu web bağlantısı FTP protokolünü kullanmaktadır. Bunun yerine HTTP(S)'ye " -"geçmeyi düşünün." +#: tools/ascli-actions-mdata.c:212 +msgid "Invalid type for provided item selected. Valid values are:" +msgstr "Sağlanmış öge için geçersiz tür seçildi. Geçerli değerler:" -#: tools/appstream-cli.c:648 -msgid "" -"Too many parameters: Need two version numbers or version numbers and a " -"comparison operator." -msgstr "" -"Çok fazla parametre: İki sürüm numarasına veya sürüm numarasına ve bir " -"karşılaştırma operatörüne ihtiyacınız var." +#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results +#: tools/ascli-actions-mdata.c:227 +#, c-format +msgid "Could not find component providing '%s::%s'." +msgstr "'%s::%s' sağlayan bileşen bulunamadı." + +#: tools/ascli-actions-mdata.c:306 +msgid "You need to specify a metadata file." +msgstr "Bir üst veri dosyası belirtmeniz gerekmektedir." + +#: tools/ascli-actions-mdata.c:320 +#, c-format +msgid "Unable to install metadata file: %s" +msgstr "Üst veri dosyası kurulamadı: %s" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:461 +#: tools/ascli-actions-mdata.c:340 +msgid "You need to specify an input and output file." +msgstr "Bir girdi ve bir çıktı dosyası belirtmelisiniz." + +#: tools/ascli-actions-mdata.c:347 +#, c-format +msgid "Metadata file '%s' does not exist." +msgstr "'%s' üst veri dosyası yok." + +#. TRANSLATORS: User is trying to convert a file in ascli +#: tools/ascli-actions-mdata.c:387 msgid "" -"Type 'console-application' component, but no information about binaries in " -"$PATH was provided via a 'provides/binary' tag." +"Unable to convert file: Could not determine output format, please set it " +"explicitly using '--format='." msgstr "" -"'console-application' türünde bileşen, ancak bir 'provides/binary' etiketi " -"ile $PATH içindeki binary dosyalar hakkında herhangi bir bilgi sağlanmadı." +"Dosya dönüştürülemedi: Çıktı biçimi belirlenemedi, lütfen '--format=' " +"kullanarak açıkça belirtin." + +#: tools/ascli-actions-mdata.c:438 +#, c-format +msgid "Unable to find operating system component '%s'!" +msgstr "'%s' işletim sistemi bileşeni bulunamadı!" + +#: tools/ascli-actions-mdata.c:443 +msgid "Version" +msgstr "Sürüm" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:491 +#: tools/ascli-actions-mdata.c:467 msgid "" -"Type 'driver' component, but no modalias information was provided via a " -"provides/modalias tag." +"You need to give an AppStream software component type to generate a " +"template. Possible values are:" msgstr "" -"'driver' türünde bileşen, ancak bir provides/modalias etiketi ile herhangi " -"bir modalias bilgisi sağlanmadı." +"Bir şablon oluşturmak için bir AppStream yazılım bileşeni türü " +"sağlamalısınız. Olası değerler:" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:485 +#: tools/ascli-actions-mdata.c:469 +#, c-format msgid "" -"Type 'font' component, but no font information was provided via a 'provides/" -"font' tag." -msgstr "" -"'font' türünde bileşen, ancak 'provides/font' etiketi ile herhengi bir yazı " -"tipi bilgisi sağlanmadı." +"The software component type '%s' is not valid in AppStream. Possible values " +"are:" +msgstr "Yazılım bileşen türü '%s' AppStream'de geçerli değil. Olası değerler:" -#: src/as-validator.c:333 -msgid "URL format is invalid." -msgstr "URL formatı geçersiz." +#: tools/ascli-actions-mdata.c:487 +#, c-format +msgid "The .desktop file '%s' does not exist." +msgstr ".desktop dosyası '%s' bulunmuyor." + +#: tools/ascli-actions-mdata.c:493 +#, c-format +msgid "Unable to read the .desktop file: %s" +msgstr ".desktop dosyası okunamadı: %s" -#: tools/ascli-actions-mdata.c:544 +#: tools/ascli-actions-mdata.c:564 #, c-format msgid "Unable to build the template metainfo file: %s" msgstr "Şablon metainfo dosyası inşa edilemedi: %s" -#. TRANSLATORS: User is trying to convert a file in ascli -#: tools/ascli-actions-mdata.c:400 -msgid "" -"Unable to convert file: Could not determine output format, please set it " -"explicitly using '--format='." -msgstr "" -"Dosya dönüştürülemedi: Çıktı formatı belirlenemedi, lütfen '--format=' " -"kullanarak belirtin." +#: tools/ascli-actions-mdata.c:572 +#, c-format +msgid "Unable to save the template metainfo file: %s" +msgstr "Şablon metainfo dosyası kaydedilemedi: %s" -#. TRANSLATORS: We failed to find any component in the database, likely due to an error -#: tools/ascli-actions-mdata.c:177 +#. TRANSLATORS: In the status report of ascli: Header +#: tools/ascli-actions-misc.c:47 +msgid "AppStream Status:" +msgstr "AppStream Durumu:" + +#: tools/ascli-actions-misc.c:48 #, c-format -msgid "Unable to find component matching %s!" -msgstr "%s ile eşleşen bileşen bulunamadı!" +msgid "Version: %s" +msgstr "Sürüm: %s" -#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:266 -#: tools/ascli-actions-pkgmgr.c:93 +#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions +#: tools/ascli-actions-misc.c:52 +msgid "Distribution metadata:" +msgstr "Dağıtım üst verisi:" + +#: tools/ascli-actions-misc.c:94 +msgid "Iconsets" +msgstr "Simge Kümeleri" + +#: tools/ascli-actions-misc.c:105 +msgid "No icons." +msgstr "Simge yok." + +#. TRANSLATORS: No metainfo files have been found +#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 +msgid "Empty." +msgstr "Boş." + +#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report +#: tools/ascli-actions-misc.c:116 +msgid "Metainfo files:" +msgstr "Metainfo dosyaları:" + +#: tools/ascli-actions-misc.c:123 #, c-format -msgid "Unable to find component with ID '%s'!" -msgstr "'%s' kimliğine sahip bileşen bulunamadı!" +msgid "Found %i components." +msgstr "%i bileşen bulundu." -#: tools/ascli-actions-misc.c:224 +#. TRANSLATORS: Found metainfo files in legacy directories +#: tools/ascli-actions-misc.c:138 #, c-format -msgid "Unable to load existing desktop-entry file template: %s" -msgstr "Mevcut masaüstü girdi dosyası şablonu yüklenemedi: %s" +msgid "Found %i components in legacy paths." +msgstr "Eski veriyollarında %i bileşen bulundu." -#: src/as-validator-issue-tag.h:356 -msgid "Unable to reach remote icon at the given web location - does it exist?" -msgstr "Verilen web konumundaki uzak simgeye erişilemiyor - mevcut mu?" +#. TRANSLATORS: Status summary in ascli +#: tools/ascli-actions-misc.c:145 +msgid "Summary:" +msgstr "Özet:" -#: src/as-validator-issue-tag.h:378 -msgid "" -"Unable to reach remote location that this URL references - does it exist?" -msgstr "Bu URL'nin referans gösterdiği uzak konuma erişilemiyor - mevcut mu?" +#: tools/ascli-actions-misc.c:153 +#, c-format +msgid "We have information on %i software components." +msgstr "%i yazılım bileşeni hakkındaki bilgilere sahibiz." -#: src/as-validator-issue-tag.h:179 -msgid "" -"Unable to reach the screenshot image on its remote location - does the image " -"exist?" -msgstr "Ekran görüntüsü resmine uzak konumunda erişilemiyor - resim mevcut mu?" +#: tools/ascli-actions-misc.c:159 +#, c-format +msgid "Error while loading the metadata pool: %s" +msgstr "Üst veri havuzu yüklenirken hata oluştu: %s" -#: src/as-validator-issue-tag.h:184 +#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 +msgid "You need to specify a metainfo file as input." +msgstr "Giriş olarak bir metainfo dosyası belirtmeniz gerekmektedir." + +#: tools/ascli-actions-misc.c:188 msgid "" -"Unable to reach the screenshot video on its remote location - does the video " -"file exist?" +"You need to specify a desktop-entry file to create or augment as output." msgstr "" -"Ekran görüntüsü videosuna uzak konumunda erişilemiyor - video dosyası mevcut " -"mu?" +"Çıktı olarak oluşturmak veya eklemek için bir masaüstü girdi dosyası " +"belirtmeniz gerekmektedir." -#: src/as-validator-issue-tag.h:542 -msgid "Unable to read file." -msgstr "Dosya okunamıyor." +#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 +#: tools/ascli-actions-misc.c:515 +#, c-format +msgid "Metainfo file '%s' does not exist." +msgstr "Metainfo dosyası '%s' mevcut değil." -#: src/as-validator-issue-tag.h:574 -msgid "Unable to read the .desktop file associated with this component." -msgstr "Bu bileşenle ilişkilendirilmiş .desktop dosyası okunamadı." +#: tools/ascli-actions-misc.c:219 +#, c-format +msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." +msgstr "Mevcut masaüstü girdi dosyası '%s', '%s'den verilerle ekleniyor." -#: tools/ascli-actions-mdata.c:473 +#: tools/ascli-actions-misc.c:224 #, c-format -msgid "Unable to read the .desktop file: %s" -msgstr ".desktop dosyası okunamadı: %s" +msgid "Unable to load existing desktop-entry file template: %s" +msgstr "Mevcut masaüstü girdi dosyası şablonu yüklenemedi: %s" -#: src/as-pool.c:606 -msgid "Unable to remove old cache." -msgstr "Eski önbellek kaldırılamıyor." +#: tools/ascli-actions-misc.c:228 +#, c-format +msgid "Creating new desktop-entry file '%s' using data from '%s'" +msgstr "" +"Yeni masaüstü girdi dosyası '%s', '%s'den veriler kullanılarak oluşturuluyor" + +#: tools/ascli-actions-misc.c:284 +msgid "No stock icon name was provided in the metainfo file. Can not continue." +msgstr "Metainfo dosyasında stok simge adı sağlanmadı. Devam edilemiyor." + +#: tools/ascli-actions-misc.c:306 +msgid "" +"No provided binary specified in metainfo file, and no exec command specified " +"via '--exec'. Can not create 'Exec=' key." +msgstr "" +"Metainfo dosyasında bir binary dosya belirtilmedi ve '--exec' aracılığıyla " +"exec komutu belirtilmedi. 'Exec =' anahtarı oluşturulamıyor." #: tools/ascli-actions-misc.c:370 #, c-format msgid "Unable to save desktop entry file: %s" msgstr "Masaüstü girdi dosyası kaydedilemedi: %s" -#: tools/ascli-actions-mdata.c:552 -#, c-format -msgid "Unable to save the template metainfo file: %s" -msgstr "Şablon üst bilgi dosyası kaydedilemedi: %s" +#: tools/ascli-actions-misc.c:393 +msgid "You need to specify a NEWS file as input." +msgstr "Bir NEWS dosyasını giriş olarak belirtmeniz gerekmektedir." + +#: tools/ascli-actions-misc.c:397 +msgid "" +"You need to specify a metainfo file to augment, or '-' to print to stdout." +msgstr "" +"Eklemek için bir metainfo dosyası belirtmeniz veya stdout'a yazdırmak için " +"'-' belirtmeniz gerekmektedir." + +#: tools/ascli-actions-misc.c:402 +msgid "No output filename specified, modifying metainfo file directly." +msgstr "" +"Çıktı dosyası adı belirtilmedi, metainfo dosyası doğrudan değiştiriliyor." + +#: tools/ascli-actions-misc.c:509 +msgid "You need to specify a NEWS file as output, or '-' to print to stdout." +msgstr "" +"Bir NEWS dosyasını çıktı olarak belirtmeniz veya stdout'a yazdırmak için '-' " +"belirtmeniz gerekmektedir." + +#: tools/ascli-actions-misc.c:540 +msgid "You need to specify a NEWS format to write the output in." +msgstr "Çıktıyı yazdırmak için bir NEWS biçimi belirtmeniz gerekmektedir." + +#: tools/ascli-actions-pkgmgr.c:53 +msgid "" +"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" +"\" (part of PackageKit) is available." +msgstr "" +"Uygun paket yöneticisi komut satırı arayüzü bulunamadı. Lütfen örneğin " +"\"pkcon\"un (PackageKit'in parçası) kullanılabilir olduğuna emin olun." #: tools/ascli-actions-pkgmgr.c:67 #, c-format msgid "Unable to spawn package manager: %s" msgstr "Paket yöneticisi meydana getirilemiyor: %s" -#: tools/ascli-actions-mdata.c:322 +#. TRANSLATORS: We found no distribution package or bundle to install to make this software available +#: tools/ascli-actions-pkgmgr.c:106 #, c-format -msgid "Unable to write to '%s', can not install metainfo file." -msgstr "'%s'e yazılamadı, üst bilgi dosyası kurulamıyor." +msgid "Component '%s' has no installation candidate." +msgstr "'%s' bileşeninin hiçbir kurulum adayı yok." -#. TRANSLATORS: ascli has been run with unknown command. -#: tools/appstream-cli.c:1009 +#: tools/ascli-actions-validate.c:176 tools/ascli-actions-validate.c:354 #, c-format -msgid "Unknown command '%s'." -msgstr "Bilinmeyen komut '%s'." +msgid "File '%s' does not exist." +msgstr "'%s' dosyası mevcut değil." -#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. -#: tools/appstream-cli.c:608 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "error"-type hints +#: tools/ascli-actions-validate.c:228 #, c-format -msgid "Unknown compare relation '%s'. Valid values are:" -msgstr "Bilinmeyen karşılaştırma ilişkisi '%s'. Geçerli değerler:" - -#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) -#: tools/appstream-cli.c:675 -msgid "" -"Use the given .desktop file to fill in the basic values of the metainfo file." -msgstr "" -"Metainfo dosyasının temel değerlerini doldurmak için verilen .desktop " -"dosyasını kullanın." - -#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) -#: tools/appstream-cli.c:725 -msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." -msgstr "" -"Masaüstü girdi dosyasının 'Exec =' anahtarı için belirtilen satırı kullanın." - -#. TRANSLATORS: this is the menu spec main category for Utilities -#: src/as-category.c:329 -msgid "Utilities" -msgstr "Araçlar" +msgid "errors: %lu" +msgstr "hatalar: %lu" -#: tools/appstream-cli.c:856 -msgid "Validate AppStream XML files for issues." -msgstr "AppStream XML dosyalarını sorunlar için doğrula." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "warning"-type hints +#: tools/ascli-actions-validate.c:235 +#, c-format +msgid "warnings: %lu" +msgstr "uyarılar: %lu" -#: tools/appstream-cli.c:857 -msgid "Validate an installed file-tree of an application for valid metadata." -msgstr "" -"Bir uygulamanın yüklenmiş dosya ağacını geçerli üst veri için doğrulayın." +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "info"-type hints +#: tools/ascli-actions-validate.c:242 +#, c-format +msgid "infos: %lu" +msgstr "bilgiler: %lu" -#: tools/ascli-actions-validate.c:301 tools/ascli-actions-validate.c:442 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "pedantic"-type hints +#: tools/ascli-actions-validate.c:249 #, c-format -msgid "Validation failed: %s" -msgstr "Doğrulama başarısız: %s" +msgid "pedantic: %lu" +msgstr "detaylı: %lu" + +#: tools/ascli-actions-validate.c:268 tools/ascli-actions-validate.c:342 +msgid "You need to specify at least one file to validate!" +msgstr "Doğrulamak için en az bir dosya belirtmeniz gerekmektedir!" -#: tools/ascli-actions-validate.c:289 tools/ascli-actions-validate.c:430 +#: tools/ascli-actions-validate.c:294 tools/ascli-actions-validate.c:435 msgid "Validation was successful." msgstr "Doğrulama işlemi tamamlandı." -#: tools/ascli-actions-validate.c:291 tools/ascli-actions-validate.c:432 +#: tools/ascli-actions-validate.c:296 tools/ascli-actions-validate.c:437 #, c-format msgid "Validation was successful: %s" msgstr "Doğrulama işlemi tamamlandı: %s" -#: tools/appstream-cli.c:851 -msgid "Value of the item that should be found." -msgstr "Bulunması gereken ögenin değeri." - -#: src/as-category.c:177 -msgctxt "Category of Graphics" -msgid "Vector Graphics" -msgstr "Vektörel Grafik" - -#: tools/ascli-actions-misc.c:48 +#: tools/ascli-actions-validate.c:306 tools/ascli-actions-validate.c:447 #, c-format -msgid "Version: %s" -msgstr "Sürüm: %s" - -#: src/as-category.c:180 -msgctxt "Category of Graphics" -msgid "Viewers" -msgstr "Görüntüleyiciler" +msgid "Validation failed: %s" +msgstr "Doğrulama başarısız: %s" -#: tools/ascli-actions-misc.c:153 +#: tools/ascli-actions-validate.c:368 tools/ascli-actions-validate.c:497 #, c-format -msgid "We have information on %i software components." -msgstr "%i yazılım bileşeni hakkındaki bilgilere sahibiz." - -#: src/as-category.c:270 -msgctxt "Category of Communication" -msgid "Web Browsers" -msgstr "Web Tarayıcıları" - -#: src/as-category.c:202 -msgctxt "Category of Office" -msgid "Word Processor" -msgstr "Kelime İşlemci" - -#: tools/appstream-cli.c:871 -msgid "Write NEWS text or YAML file with information from a metainfo file." -msgstr "" -"NEWS metin veya YAML dosyasını bir metainfo dosyasındaki bilgilerle yazın." - -#: tools/appstream-cli.c:874 msgid "" -"You can find information about subcommand-specific options by passing \"--" -"help\" to the subcommand." +"The validator can not create reports in the '%s' format. You may select " +"'yaml' or 'text' instead." msgstr "" -"Alt komuta \"--help\" vererek alt komuta özel seçenekler hakkında bilgi " -"bulabilirsiniz." +"Doğrulayıcı '%s' biçiminde rapor oluşturamaz. Bunun yerine 'yaml' veya " +"'text' seçebilirsiniz." -#. TRANSLATORS: In ascli: The requested action needs higher permissions. -#: tools/ascli-actions-mdata.c:70 -msgid "You might need superuser permissions to perform this action." -msgstr "" -"Bu eylemi gerçekleştirmek için yetkili kullanıcı izinlerine ihtiyaç " -"duyabilirsiniz." +#: tools/ascli-actions-validate.c:390 tools/ascli-actions-validate.c:484 +msgid "You need to specify a root directory to start validation!" +msgstr "Doğrulamayı başlatmak için bir kök dizini belirtmelisiniz!" -#: tools/ascli-actions-mdata.c:447 -msgid "" -"You need to give an AppStream software component type to generate a " -"template. Possible values are:" -msgstr "" -"Bir şablon oluşturmak için bir AppStream yazılım bileşeni tipi " -"sağlamalısınız. Olası değerler:" +#: tools/ascli-utils.c:266 +msgid "Identifier" +msgstr "Tanımlayıcı" -#: tools/appstream-cli.c:579 -msgid "" -"You need to provide at least two version numbers to compare as parameters." -msgstr "" -"Parametre olarak karşılaştırmak için en az iki sürüm numarası sağlamanız " -"gerekir." +#: tools/ascli-utils.c:268 +msgid "Internal ID" +msgstr "Dahili Kimlik" -#: tools/ascli-actions-misc.c:393 -msgid "You need to specify a NEWS file as input." -msgstr "Bir NEWS dosyasını giriş olarak belirtmeniz gerekmektedir." +#: tools/ascli-utils.c:269 +msgid "Name" +msgstr "İsim" -#: tools/ascli-actions-misc.c:509 -msgid "You need to specify a NEWS file as output, or '-' to print to stdout." -msgstr "" -"Bir NEWS dosyasını çıkış olarak belirtmeniz veya stdout'a yazdırmak için '-' " -"belirtmeniz gerekmektedir." +#: tools/ascli-utils.c:270 +msgid "Summary" +msgstr "Özet" -#: tools/ascli-actions-misc.c:540 -msgid "You need to specify a NEWS format to write the output in." -msgstr "Çıkışı yazdırmak için bir NEWS formatı belirtmeniz gerekmektedir." +#: tools/ascli-utils.c:271 +msgid "Package" +msgstr "Paket" -#. TRANSLATORS: ascli has been run without command. -#: tools/appstream-cli.c:925 -msgid "You need to specify a command." -msgstr "Bir komut belirtmelisiniz." +#: tools/ascli-utils.c:272 +msgid "Bundle" +msgstr "Takım" -#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments -#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. -#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:254 -#: tools/ascli-actions-pkgmgr.c:80 -msgid "You need to specify a component-ID." -msgstr "Bir bileşen kimliği belirtmelisiniz." +#: tools/ascli-utils.c:273 +msgid "Homepage" +msgstr "Web Sitesi" -#: tools/ascli-actions-misc.c:188 -msgid "" -"You need to specify a desktop-entry file to create or augment as output." -msgstr "" -"Çıkış olarak oluşturmak veya eklemek için bir masaüstü girdi dosyası " -"belirtmeniz gerekmektedir." +#: tools/ascli-utils.c:274 +msgid "Icon" +msgstr "Simge" -#: tools/ascli-actions-mdata.c:309 -msgid "You need to specify a metadata file." -msgstr "Bir üst veri dosyası belirtmeniz gerekiyor." +#. developer name +#: tools/ascli-utils.c:294 +msgid "Developer" +msgstr "Geliştirici" -#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 -msgid "You need to specify a metainfo file as input." -msgstr "Giriş olarak bir meta veri dosyası belirtmeniz gerekmektedir." +#: tools/ascli-utils.c:300 +msgid "Extends" +msgstr "Genişletir" -#: tools/ascli-actions-misc.c:397 -msgid "" -"You need to specify a metainfo file to augment, or '-' to print to stdout." -msgstr "" -"Eklemek için bir meta bilgi dosyası belirtmeniz veya stdout'a yazdırmak için " -"'-' belirtmeniz gerekmektedir." +#: tools/ascli-utils.c:306 +msgid "Description" +msgstr "Tanımlama" -#: tools/ascli-actions-validate.c:385 tools/ascli-actions-validate.c:479 -msgid "You need to specify a root directory to start validation!" -msgstr "Doğrulamayı başlatmak için bir kök dizini belirtmelisiniz!" +#: tools/ascli-utils.c:326 +msgid "Default Screenshot URL" +msgstr "Öntanımlı Ekran Görüntüsü URL'si" -#: tools/ascli-actions-mdata.c:164 -msgid "You need to specify a term to search for." -msgstr "Arama için bir terim belirtmelisiniz." +#. project group +#: tools/ascli-utils.c:333 +msgid "Project Group" +msgstr "Proje Grubu" -#: tools/ascli-actions-mdata.c:357 -msgid "You need to specify an input and output file." -msgstr "Bir girdi ve bir çıktı dosyası belirtmelisiniz." +#. license +#: tools/ascli-utils.c:336 +msgid "License" +msgstr "Lisans" -#: tools/ascli-actions-validate.c:263 tools/ascli-actions-validate.c:337 -msgid "You need to specify at least one file to validate!" -msgstr "Doğrulamak için en az bir dosya belirtmeniz gerekmektedir!" +#: tools/ascli-utils.c:342 +msgid "Categories" +msgstr "Sınıflandırmalar" -#. TRANSLATORS: List of "grey-listed" words sperated with ";" -#. * Do not translate this list directly. Instead, -#. * provide a list of words in your language that people are likely -#. * to include in a search but that should normally be ignored in -#. * the search. -#. -#: src/as-pool.c:107 -msgid "app;application;package;program;programme;suite;tool" -msgstr "app;uygulama;paket;program;program;takım;araç" +#: tools/ascli-utils.c:350 +msgid "Compulsory for" +msgstr "Zorunlu" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:223 -#, c-format -msgid "errors: %lu" -msgstr "hatalar: %lu" +#: tools/ascli-utils.c:378 +msgid "Provided Items" +msgstr "Sağlanan Ögeler" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:237 #, c-format -msgid "infos: %lu" -msgstr "bilgiler: %lu" +#~ msgid "Unable to open new cache file: %s" +#~ msgstr "Yeni önbellek dosyası açılamıyor: %s" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:244 -#, c-format -msgid "pedantic: %lu" -msgstr "detaylı: %lu" +#~ msgid "" +#~ "AppStream is a cross-distribution specification to provide metadata about " +#~ "software components." +#~ msgstr "" +#~ "AppStream, yazılım bileşenleri hakkında üst veri sağlayan dağıtımlararası " +#~ "bir tanımlamadır." -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:230 #, c-format -msgid "warnings: %lu" -msgstr "uyarılar: %lu" +#~ msgid "Unable to write to '%s', can not install metainfo file." +#~ msgstr "'%s'e yazılamadı, metainfo dosyası kurulamıyor." +#, c-format #~ msgid "" -#~ "Unable to find the curl binary. remote URLs can not be checked for " -#~ "validity!" +#~ "Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " +#~ "suffix." #~ msgstr "" -#~ "curl program dosyası bulunamadı. uzak URL’lerin geçerliliği kontrol " -#~ "edilemiyor!" - -#~ msgid "Command '%s' is unknown." -#~ msgstr "'%s' komutu bilinmiyor." - -#~ msgid "Do not use any caches when performing the request." -#~ msgstr "Talebi yerine getirirken herhangi bir önbellek kullanma." - -#~ msgid "AppStream cache update failed." -#~ msgstr "AppStream ön bellek güncellemesi başarısız oldu." +#~ "'%s' kopyalanamadı: Dosya '.metainfo.xml' veya '.appdata.xml' sonekine " +#~ "sahip değil." -#, fuzzy -#~ msgid "Category of Games" -#~ msgstr "Sınıflandırmalar" +#~ msgid "An item type (e.g. lib, bin, python3, …)" +#~ msgstr "Bir öge türü (ör. lib, bin, python3, ...)" -#, fuzzy -#~ msgid "Category of Office" -#~ msgstr "Sınıflandırmalar" +#~ msgid "Get components which provide the given item." +#~ msgstr "Verilen ögeyi sağlayan bileşenleri edinin." -#, fuzzy -#~ msgid "Category of Science" -#~ msgstr "Sınıflandırmalar" - -#~ msgid "Extensions" -#~ msgstr "Uzantılar" - -#~ msgid "File %s not found or permission denied!" -#~ msgstr "%s dosyası bulunamadı veya izin verilmedi!" - -#, fuzzy -#~ msgid "No component providing '%s::%s' found." -#~ msgstr "'%s;%s' sağlayan hiçbir bileşen bulunamadı." +#, c-format +#~ msgid "Unknown command '%s'." +#~ msgstr "Bilinmeyen komut '%s'." -#~ msgid "XDG Menu XML file '%s' is damaged." -#~ msgstr "XDG Menü XML dosyası '%s' hasar görmüş." +#~ msgid "Value of the item that should be found." +#~ msgstr "Bulunması gereken ögenin değeri." diff -Nru appstream-0.12.10/po/uk.po appstream-0.14.5/po/uk.po --- appstream-0.12.10/po/uk.po 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/po/uk.po 2021-08-28 20:15:28.000000000 +0000 @@ -1,13 +1,27 @@ +# #-#-#-#-# uk.po (AppStream) #-#-#-#-# # Copyright (C) YEAR Matthias Klumpp # This file is distributed under the same license as the appstream package. # Translators: -# Yuri Chornoivan , 2014-2016, 2019, 2020. +# Yuri Chornoivan , 2014-2016, 2019, 2020, 2021. +# kyanukovich , 2020. +# #-#-#-#-# uk.po (appstream-glib) #-#-#-#-# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Yuri Chornoivan , 2014-2016, 2021. +# Richard Hughes , 2016. #zanata +# Yuri Chornoivan , 2016. #zanata, 2021. +# Yuri Chornoivan , 2017. #zanata, 2021. +# Yuri Chornoivan , 2018. #zanata, 2021. +# Yuri Chornoivan , 2019. #zanata, 2021. +# +# Translators: msgid "" msgstr "" -"Project-Id-Version: AppStream\n" +"Project-Id-Version: appstream-glib\n" "Report-Msgid-Bugs-To: appstream@lists.freedesktop.org\n" -"POT-Creation-Date: 2020-01-14 01:44+0100\n" -"PO-Revision-Date: 2020-01-15 03:21+0000\n" +"POT-Creation-Date: 2021-08-28 16:09+0200\n" +"PO-Revision-Date: 2021-08-28 20:04+0000\n" "Last-Translator: Yuri Chornoivan \n" "Language-Team: Ukrainian \n" "Language: uk\n" @@ -15,1107 +29,1563 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 3.11-dev\n" - -#: tools/appstream-cli.c:157 -#, c-format -msgid "'%s' command" -msgstr "Команда «%s»" - -#: src/as-category.c:168 -msgctxt "Category of Graphics" -msgid "3D Graphics" -msgstr "Тривимірна графіка" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:254 -msgid "" -"A 'requires' or 'recommends' item requires a value to denote a valid " -"relation." -msgstr "" -"Запис «requires» або «recommends» потребує значення для встановлення " -"коректного співвідношення." - -#: src/as-validator-issue-tag.h:51 -msgid "" -"A tag must not be localized in metainfo files (upstream " -"metadata). Localize the individual paragraphs instead." -msgstr "" -"Вміст теґу у файлах metainfo (метадані основного проєкту) не " -"слід перекладати. Перекладати слід окремі абзаци вмісту." - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:195 -msgid "" -"A screenshot must contain at least one image or video in order to be useful. " -"Please add an to it." -msgstr "" -"Запис screenshot, щоб бути корисним, має містити принаймні одне зображення. " -"Будь ласка, додайте всередині запис ." - -#: src/as-validator-issue-tag.h:200 -msgid "" -"A screenshot must contain either images or videos, but not both at the same " -"time. Please use this screenshot exclusively for either static images or for " -"videos." -msgstr "" -"Запис screenshot має містити або зображення, або відео, але не обидва " -"різновиди даних одночасно. Будь ласка, скористайтеся цим записом screenshot " -"або для статичних зображень, або для відео." - -#: src/as-category.c:123 -msgctxt "Category of Games" -msgid "Action" -msgstr "Бойові ігри" - -#. TRANSLATORS: this is the main category for Add-ons -#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor -#: src/as-category.c:320 tools/ascli-utils.c:398 -msgid "Add-ons" -msgstr "Додатки" - -#: src/as-category.c:126 -msgctxt "Category of Games" -msgid "Adventure" -msgstr "Пригоди" - -#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) -#: tools/appstream-cli.c:116 -msgid "Also show pedantic hints." -msgstr "Також виводити підказки щодо найдрібніших неточностей." - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:497 -msgid "" -"An 'extends' tag is specified, but the component is not of type 'addon', " -"'localization' or 'repository'." -msgstr "" -"Вказано теґ «extends», але компонент не належить до типу «addon», " -"«localization» або «repository»." - -#: tools/appstream-cli.c:850 -msgid "An item type (e.g. lib, bin, python3, …)" -msgstr "Тип запису (наприклад lib, bin, python3, ...)" - -#: data/org.freedesktop.appstream.cli.metainfo.xml:9 -msgid "An utility to work with AppStream metadata" -msgstr "Інструмент для обробки метаданих AppStream" +"X-Generator: Weblate 4.8.1-dev\n" #: data/org.freedesktop.appstream.cli.metainfo.xml:8 msgid "AppStream CLI" msgstr "Командний рядок AppStream" -#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. -#: tools/appstream-cli.c:947 -#, c-format -msgid "" -"AppStream CLI tool version: %s\n" -"AppStream library version: %s" -msgstr "" -"Версія інструмента командного рядка AppStream: %s\n" -"Версія бібліотеки AppStream: %s" - -#. TRANSLATORS: In the status report of ascli: Header -#: tools/ascli-actions-misc.c:47 -msgid "AppStream Status:" -msgstr "Стан AppStream:" - -#. we performed a cache refresh -#. TRANSLATORS: Updating the metadata cache succeeded -#: tools/ascli-actions-mdata.c:80 -msgid "AppStream cache update completed successfully." -msgstr "Оновлення кешу AppStream успішно завершено." - -#. cache wasn't updated, so the update wasn't necessary -#: tools/ascli-actions-mdata.c:86 -msgid "AppStream cache update is not necessary." -msgstr "Оновлення кешу AppStream непотрібне." - -#. TRANSLATORS: This is the header to the --help menu for subcommands -#. TRANSLATORS: This is the header to the --help menu -#: tools/appstream-cli.c:154 tools/appstream-cli.c:843 -msgid "AppStream command-line interface" -msgstr "Інтерфейс командного рядка AppStream" - -#: src/as-validator-issue-tag.h:63 -msgid "" -"AppStream descriptions support only a limited set of tags to format text: " -"Paragraphs (

                                                                                                                                                                                                                                                                                                                                                                                                                ) and lists (

                                                                                                                                                                                                                                                                                                                                                                                                                  ,
                                                                                                                                                                                                                                                                                                                                                                                                                    ). This description markup contains " -"an invalid XML tag that would not be rendered correctly in applications " -"supporting the metainfo specification." -msgstr "" -"У описах AppStream передбачено підтримку лише обмеженої множини теґів для " -"форматування тексту: абзаци (

                                                                                                                                                                                                                                                                                                                                                                                                                    ) і списки (

                                                                                                                                                                                                                                                                                                                                                                                                                      ,
                                                                                                                                                                                                                                                                                                                                                                                                                        ). У розмітці цього " -"опису міститься некоректний теґ XML, який не буде показано належним чином у " -"програмах, у яких передбачено можливість обробки даних специфікації metainfo." +#: data/org.freedesktop.appstream.cli.metainfo.xml:9 +msgid "An utility to work with AppStream metadata" +msgstr "Інструмент для обробки метаданих AppStream" #: data/org.freedesktop.appstream.cli.metainfo.xml:12 msgid "" -"AppStream is a cross-distribution specification to provide metadata about " -"software components." -msgstr "" -"AppStream — багатоплатформова специфікація надання метаданих щодо " -"компонентів програмного забезпечення." +"AppStream is a metadata specification which permits software components to " +"provide information about themselves to automated systems and end-users " +"before the software is actually installed. The AppStream project provides " +"facilities to easily access and transform this metadata, as well as a few " +"additional services for building feature-rich software centers and similar " +"applications that make use of software metadata." +msgstr "" +"AppStream — специфікація метаданих, за допомогою якої компоненти програмного " +"забезпечення можуть надавати відомості щодо себе автоматизованим система та " +"кінцевим користувачам до встановлення самого програмного забезпечення. У " +"межах проєкту AppStream передбачено засоби для спрощення доступу до " +"метаданих та їхнього перетворення, а також декілька додаткових служб для " +"розширення можливостей центрів керування програмним забезпеченням та " +"подібних програм, які використовують метадані щодо програмного забезпечення." + +#: data/org.freedesktop.appstream.cli.metainfo.xml:18 +msgid "" +"The appstreamcli command-line tool allows to read, write, and " +"transform AppStream XML or YAML metadata as well as to validate it for " +"compliance with the specification. It also provides easy access to the " +"system metadata pool, for example to query for software that provides a " +"specific Mediatype handler or for installing software by its component " +"identifier." +msgstr "" +"За допомогою appstreamcli можна читати, записувати, перевіряти та " +"перетворювати метадані AppStream у форматах XML і YAML, а також перевіряти " +"ці метадані на відповідність специфікації. Також за її допомогою можна " +"отримувати доступ до буфера загальносистемних метаданих, наприклад, для " +"того, щоб визначити програмне забезпечення для обробки даних певного " +"мультимедійного типу або щоб встановити програмне забезпечення за " +"ідентифікатором його компонента." -#: src/as-pool.c:1937 -#, c-format -msgid "" -"AppStream system cache refresh failed. Turn on verbose mode to get detailed " -"issue information." -msgstr "" -"Не вдалося оновити системний кеш AppStream. Увімкніть режим докладних " -"повідомлень, що отримати докладні відомості щодо вад." +#: src/as-category.c:66 +msgctxt "Category of AudioVideo" +msgid "Featured" +msgstr "Рекомендовані" -#. TRANSLATORS: Output if appstreamcli --version is executed. -#: tools/appstream-cli.c:944 -#, c-format -msgid "AppStream version: %s" -msgstr "Версія AppStream: %s" +#: src/as-category.c:69 +msgctxt "Category of AudioVideo" +msgid "Audio Creation & Editing" +msgstr "Створення і редагування звукових даних" -#: src/as-category.c:129 -msgctxt "Category of Games" -msgid "Arcade" -msgstr "Аркади" +#: src/as-category.c:75 +msgctxt "Category of AudioVideo" +msgid "Music Players" +msgstr "Музичні програвачі" -#: src/as-category.c:234 -msgctxt "Category of Science" -msgid "Artificial Intelligence" -msgstr "Штучний інтелект" +#: src/as-category.c:84 +msgctxt "Category of Development" +msgid "Featured" +msgstr "Рекомендовані" -#: src/as-validator-issue-tag.h:91 -msgid "" -"As per AppStream specification, the mentioned tag must only appear once in " -"this context. Having multiple tags of this kind is not valid." -msgstr "" -"За специфікацією AppStream згаданий теґ може бути використано у цьому " -"контексті лише один раз. Використання декількох теґів цього типу є " -"некоректним." +#: src/as-category.c:87 +msgctxt "Category of Development" +msgid "Debuggers" +msgstr "Засоби діагностики" -#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command -#: tools/appstream-cli.c:766 -msgid "Assume the input file is in the selected format ('yaml' or 'text')." -msgstr "" -"Вважати, що дані у вхідному файлі записано у вибраному форматі («yaml» або " -"«text»)." +#: src/as-category.c:90 +msgctxt "Category of Development" +msgid "IDEs" +msgstr "Інтегровані середовища розробки (IDE)" -#: src/as-category.c:101 +#: src/as-category.c:99 msgctxt "Category of Education" -msgid "Astronomy" -msgstr "Астрономія" +msgid "Featured" +msgstr "Рекомендовані" -#: src/as-category.c:237 -msgctxt "Category of Science" +#: src/as-category.c:102 +msgctxt "Category of Education" msgid "Astronomy" msgstr "Астрономія" -#. TRANSLATORS: this is the menu spec main category for Audio & Video -#: src/as-category.c:302 -msgid "Audio & Video" -msgstr "Звук і відео" +#: src/as-category.c:105 +msgctxt "Category of Education" +msgid "Chemistry" +msgstr "Хімія" -#: src/as-category.c:68 -msgctxt "Category of AudioVideo" -msgid "Audio Creation & Editing" -msgstr "Створення і редагування звукових даних" +#: src/as-category.c:108 +msgctxt "Category of Education" +msgid "Languages" +msgstr "Мови" -#: tools/ascli-actions-misc.c:219 -#, c-format -msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." -msgstr "Розширюємо наявні дані з файа desktop «%s» даними з «%s»." +#: src/as-category.c:112 +msgctxt "Category of Education" +msgid "Math" +msgstr "Математика" -#: src/as-provided.c:146 -msgid "Binaries" -msgstr "Двійкові файли" +#: src/as-category.c:121 +msgctxt "Category of Games" +msgid "Featured" +msgstr "Рекомендовані" + +#: src/as-category.c:124 +msgctxt "Category of Games" +msgid "Action" +msgstr "Бойові ігри" + +#: src/as-category.c:127 +msgctxt "Category of Games" +msgid "Adventure" +msgstr "Пригоди" + +#: src/as-category.c:130 +msgctxt "Category of Games" +msgid "Arcade" +msgstr "Аркади" -#: src/as-category.c:132 +#: src/as-category.c:133 msgctxt "Category of Games" msgid "Blocks" msgstr "Кубики" -#: src/as-category.c:135 +#: src/as-category.c:136 msgctxt "Category of Games" msgid "Board" msgstr "Ігри на дошці" -#: tools/ascli-utils.c:299 -msgid "Bundle" -msgstr "Кортеж" - -#: src/as-pool.c:1828 -#, c-format -msgid "Cache location '%s' is not writable." -msgstr "Запис до адреси каталогу кешу, «%s», неможливий." - -#: src/as-category.c:191 -msgctxt "Category of Office" -msgid "Calendar" -msgstr "Календарі" - -#: tools/ascli-actions-mdata.c:327 -#, c-format -msgid "" -"Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " -"suffix." -msgstr "" -"Не вдалося скопіювати «%s»: назва файла не містить суфікса «.metainfo.xml» " -"або «'.appdata.xml»." - -#: src/as-category.c:138 +#: src/as-category.c:139 msgctxt "Category of Games" msgid "Card" msgstr "Карткові ігри" -#: tools/ascli-utils.c:369 -msgid "Categories" -msgstr "Категорії" - -#: src/as-category.c:259 -msgctxt "Category of Communication" -msgid "Chat" -msgstr "Спілкування" +#: src/as-category.c:142 +msgctxt "Category of Games" +msgid "Emulators" +msgstr "Імітатори" -#: src/as-category.c:104 -msgctxt "Category of Education" -msgid "Chemistry" -msgstr "Хімія" +#: src/as-category.c:145 +msgctxt "Category of Games" +msgid "Kids" +msgstr "Для дітей" -#: src/as-category.c:240 -msgctxt "Category of Science" -msgid "Chemistry" -msgstr "Хімія" +#: src/as-category.c:148 +msgctxt "Category of Games" +msgid "Logic" +msgstr "Логічні ігри" -#: src/as-category.c:214 -msgctxt "Category of Addons" -msgid "Codecs" -msgstr "Кодеки" +#: src/as-category.c:151 +msgctxt "Category of Games" +msgid "Role Playing" +msgstr "Рольові ігри" -#. TRANSLATORS: this is the menu spec main category for Communication -#: src/as-category.c:326 -msgid "Communication & News" -msgstr "Спілкування і новини" +#: src/as-category.c:154 +msgctxt "Category of Games" +msgid "Sports" +msgstr "Спортивні ігри" -#: tools/appstream-cli.c:866 -msgid "Compare two version numbers." -msgstr "Порівняти два номери версій." +#: src/as-category.c:158 +msgctxt "Category of Games" +msgid "Strategy" +msgstr "Стратегії" -#: src/as-provided.c:166 -msgid "Component" -msgstr "Компонент" - -#. TRANSLATORS: We found no distribution package or bundle to install to make this software available -#: tools/ascli-actions-pkgmgr.c:106 -#, c-format -msgid "Component '%s' has no installation candidate." -msgstr "Для компонента «%s» немає кандидата для встановлення." - -#: tools/ascli-utils.c:377 -msgid "Compulsory for" -msgstr "Обов’язкове для" - -#: src/as-validator-issue-tag.h:361 -msgid "Consider using a secure (HTTPS) URL for the remote icon link." -msgstr "" -"Для посилання на піктограму варто використовувати захищену адресу (HTTPS)." - -#: src/as-validator-issue-tag.h:383 -msgid "Consider using a secure (HTTPS) URL for this web link." -msgstr "Для посилання у мережі варто використовувати захищену адресу (HTTPS)." - -#: src/as-validator-issue-tag.h:189 -msgid "" -"Consider using a secure (HTTPS) URL to reference this screenshot image or " -"video." -msgstr "" -"Для посилання на зображення або відео для screenshot варто використовувати " -"захищену адресу (HTTPS)." - -#: tools/appstream-cli.c:870 -msgid "Convert a YAML or text NEWS file into metainfo releases." -msgstr "" -"Перетворити файл NEWS у форматі YAML або текстовому форматі на " -"метаінформацію щодо випусків." +#: src/as-category.c:166 +msgctxt "Category of Graphics" +msgid "Featured" +msgstr "Рекомендовані" -#. TRANSLATORS: "convert" command in ascli. "Collection XML" is a term describing a specific type of AppStream XML data. -#: tools/appstream-cli.c:865 -msgid "Convert collection XML to YAML or vice versa." -msgstr "Перетворити XML збірки на YAML або навпаки." +#: src/as-category.c:169 +msgctxt "Category of Graphics" +msgid "3D Graphics" +msgstr "Тривимірна графіка" -#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results -#: tools/ascli-actions-mdata.c:228 -#, c-format -msgid "Could not find component providing '%s::%s'." -msgstr "Не вдалося знайти компонент, що містить «%s::%s»." +#: src/as-category.c:172 +msgctxt "Category of Graphics" +msgid "Photography" +msgstr "Фотографія" -#: tools/appstream-cli.c:869 -msgid "Create a XDG desktop-entry file from a metainfo file." -msgstr "Створити файл запису desktop у форматі XDG з файла метаінформації." +#: src/as-category.c:175 +msgctxt "Category of Graphics" +msgid "Scanning" +msgstr "Сканування" -#: tools/appstream-cli.c:868 -msgid "" -"Create a template for a metainfo file (to be filled out by the upstream " -"project)." -msgstr "" -"Створити шаблон файла метаінформації (для заповнення у основному проєкті)." +#: src/as-category.c:178 +msgctxt "Category of Graphics" +msgid "Vector Graphics" +msgstr "Векторна графіка" -#: tools/ascli-actions-misc.c:228 -#, c-format -msgid "Creating new desktop-entry file '%s' using data from '%s'" -msgstr "Створюємо новий файл desktop «%s» на основі даних з «%s»" +#: src/as-category.c:181 +msgctxt "Category of Graphics" +msgid "Viewers" +msgstr "Переглядачі" -#: src/as-provided.c:160 -msgid "D-Bus Session Services" -msgstr "Служби сеансів D-Bus" +#: src/as-category.c:189 +msgctxt "Category of Office" +msgid "Featured" +msgstr "Рекомендовані" -#: src/as-provided.c:158 -msgid "D-Bus System Services" -msgstr "Служби системи D-Bus" +#: src/as-category.c:192 +msgctxt "Category of Office" +msgid "Calendar" +msgstr "Календарі" -#: src/as-category.c:195 +#: src/as-category.c:196 msgctxt "Category of Office" msgid "Database" msgstr "База даних" -#: src/as-category.c:86 -msgctxt "Category of Development" -msgid "Debuggers" -msgstr "Засоби діагностики" - -#: tools/ascli-utils.c:353 -msgid "Default Screenshot URL" -msgstr "Адреса типового знімка вікна" - -#. TRANSLATORS: ascli flag description for: --format -#: tools/appstream-cli.c:83 -msgid "Default metadata format (valid values are 'xml' and 'yaml')." -msgstr "Типовий формат метаданих (коректними є значення «xml» і «yaml»)." - -#: tools/ascli-utils.c:333 -msgid "Description" -msgstr "Опис" - -#. developer name -#: tools/ascli-utils.c:321 -msgid "Developer" -msgstr "Розробник" - -#. TRANSLATORS: this is the menu spec main category for Development -#: src/as-category.c:305 -msgid "Developer Tools" -msgstr "Інструменти розробника" - -#: tools/appstream-cli.c:862 -msgid "Display status information about available AppStream metadata." -msgstr "Вивести дані щодо стану доступних метаданих AppStream." +#: src/as-category.c:199 +msgctxt "Category of Office" +msgid "Finance" +msgstr "Фінанси" -#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions -#: tools/ascli-actions-misc.c:52 -msgid "Distribution metadata:" -msgstr "Метадані дистрибутива:" +#: src/as-category.c:203 +msgctxt "Category of Office" +msgid "Word Processor" +msgstr "Текстові процесори" -#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) -#: tools/appstream-cli.c:126 -msgid "Do not use network access." -msgstr "Не використовувати доступ до мережі." +#: src/as-category.c:212 +msgctxt "Category of Addons" +msgid "Fonts" +msgstr "Шрифти" -#. TRANSLATORS: ascli flag description for: --no-color -#: tools/appstream-cli.c:908 -msgid "Don't show colored output." -msgstr "Не розфарбовувати виведені дані." +#: src/as-category.c:215 +msgctxt "Category of Addons" +msgid "Codecs" +msgstr "Кодеки" -#: tools/appstream-cli.c:853 -msgid "Dump raw XML metadata for a component matching the ID." -msgstr "" -"Створити дамп необроблених метаданих XML для компонента з відповідним " -"ідентифікатором." +#: src/as-category.c:218 +msgctxt "Category of Addons" +msgid "Input Sources" +msgstr "Вхідні коди" -#. TRANSLATORS: this is the menu spec main category for Education -#: src/as-category.c:308 -msgid "Education" -msgstr "Освіта" +#: src/as-category.c:221 +msgctxt "Category of Addons" +msgid "Language Packs" +msgstr "Пакунки перекладів" -#. TRANSLATORS: No metainfo files have been found -#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 -msgid "Empty." -msgstr "Порожньо." +#: src/as-category.c:224 +msgctxt "Category of Addons" +msgid "Localization" +msgstr "Локалізація" -#: src/as-category.c:141 -msgctxt "Category of Games" -msgid "Emulators" -msgstr "Імітатори" +#: src/as-category.c:232 +msgctxt "Category of Science" +msgid "Featured" +msgstr "Рекомендовані" -#. TRANSLATORS: ascli flag description for: --force -#: tools/appstream-cli.c:245 -msgid "Enforce a cache refresh." -msgstr "Примусове оновлення кешу." +#: src/as-category.c:235 +msgctxt "Category of Science" +msgid "Artificial Intelligence" +msgstr "Штучний інтелект" -#: src/as-validator-issue-tag.h:74 -msgid "Enumerations must only have list items (
                                                                                                                                                                                                                                                                                                                                                                                                                      1. ) as children." -msgstr "" -"У переліках дочірніми елементами мають бути лише пункти списку (
                                                                                                                                                                                                                                                                                                                                                                                                                      2. )." +#: src/as-category.c:238 +msgctxt "Category of Science" +msgid "Astronomy" +msgstr "Астрономія" -#: tools/ascli-actions-misc.c:159 -#, c-format -msgid "Error while loading the metadata pool: %s" -msgstr "Помилка під час спроби завантаження сховища метаданих: %s" +#: src/as-category.c:241 +msgctxt "Category of Science" +msgid "Chemistry" +msgstr "Хімія" -#: tools/ascli-utils.c:327 -msgid "Extends" -msgstr "Розширення" +#: src/as-category.c:244 +msgctxt "Category of Science" +msgid "Math" +msgstr "Математика" -#: src/as-category.c:65 -msgctxt "Category of AudioVideo" -msgid "Featured" -msgstr "Рекомендовані" +#: src/as-category.c:249 +msgctxt "Category of Science" +msgid "Robotics" +msgstr "Робототехніка" -#: src/as-category.c:256 +#: src/as-category.c:257 msgctxt "Category of Communication" msgid "Featured" msgstr "Рекомендовані" -#: src/as-category.c:83 -msgctxt "Category of Development" -msgid "Featured" -msgstr "Рекомендовані" - -#: src/as-category.c:98 -msgctxt "Category of Education" -msgid "Featured" -msgstr "Рекомендовані" - -#: src/as-category.c:120 -msgctxt "Category of Games" -msgid "Featured" -msgstr "Рекомендовані" +#: src/as-category.c:260 +msgctxt "Category of Communication" +msgid "Chat" +msgstr "Спілкування" -#: src/as-category.c:165 -msgctxt "Category of Graphics" -msgid "Featured" -msgstr "Рекомендовані" +#: src/as-category.c:267 +msgctxt "Category of Communication" +msgid "News" +msgstr "Новини" -#: src/as-category.c:188 -msgctxt "Category of Office" -msgid "Featured" -msgstr "Рекомендовані" +#: src/as-category.c:271 +msgctxt "Category of Communication" +msgid "Web Browsers" +msgstr "Переглядачі інтернету" -#: src/as-category.c:231 -msgctxt "Category of Science" +#: src/as-category.c:279 +msgctxt "Category of Utility" msgid "Featured" msgstr "Рекомендовані" -#: src/as-category.c:278 +#: src/as-category.c:282 msgctxt "Category of Utility" -msgid "Featured" -msgstr "Рекомендовані" +msgid "Text Editors" +msgstr "Текстові редактори" -#: tools/ascli-actions-validate.c:171 tools/ascli-actions-validate.c:349 -#, c-format -msgid "File '%s' does not exist." -msgstr "Файла «%s» не існує." +#: src/as-category.c:285 +msgctxt "Category of Utility" +msgid "Terminal Emulators" +msgstr "Емулятори термінала" -#: src/as-category.c:287 +#: src/as-category.c:288 msgctxt "Category of Utility" msgid "File System" msgstr "Файлова система" -#: src/as-category.c:198 -msgctxt "Category of Office" -msgid "Finance" -msgstr "Фінанси" +#: src/as-category.c:291 +msgctxt "Category of Utility" +msgid "System Monitoring" +msgstr "Стеження за системою" -#: src/as-provided.c:164 -msgid "Flashed Firmware" -msgstr "Записувані мікропрограми" +#: src/as-category.c:294 +msgctxt "Category of Utility" +msgid "Security" +msgstr "Безпека" -#: src/as-provided.c:150 -msgid "Fonts" -msgstr "Шрифти" +#. TRANSLATORS: this is the menu spec main category for Audio & Video +#: src/as-category.c:303 +msgid "Audio & Video" +msgstr "Звук і відео" -#: src/as-category.c:211 -msgctxt "Category of Addons" -msgid "Fonts" -msgstr "Шрифти" +#. TRANSLATORS: this is the menu spec main category for Development +#: src/as-category.c:306 +msgid "Developer Tools" +msgstr "Інструменти розробника" -#: src/as-validator-issue-tag.h:237 -msgid "" -"For videos, only the WebM and Matroska (.mkv) container formats are " -"currently supported. The file extension of the referenced video does not " -"belong to either of these formats." -msgstr "" -"У поточній версії для відео передбачено підтримку лише форматів контейнерів " -"WebM та Matroska (.mkv). Суфікс назви вказаного вами відео не відповідає " -"жодному з цих форматів." +#. TRANSLATORS: this is the menu spec main category for Education +#: src/as-category.c:309 +msgid "Education" +msgstr "Освіта" -#. TRANSLATORS: ascli flag description for: --format when validating XML files -#: tools/appstream-cli.c:131 -msgid "Format of the generated report (valid values are 'text' and 'yaml')." -msgstr "Формат створеного звіту (коректними є значення «xml» і «yaml»)." +#. TRANSLATORS: this is the menu spec main category for Game +#: src/as-category.c:312 +msgid "Games" +msgstr "Ігри" -#. TRANSLATORS: Found metainfo files in legacy directories -#: tools/ascli-actions-misc.c:138 +#. TRANSLATORS: this is the menu spec main category for Graphics +#: src/as-category.c:315 +msgid "Graphics & Photography" +msgstr "Графіка і фотомистецтво" + +#. TRANSLATORS: this is the menu spec main category for Office +#: src/as-category.c:318 +msgid "Office" +msgstr "Офіс" + +#. TRANSLATORS: this is the main category for Add-ons +#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor +#: src/as-category.c:321 tools/ascli-utils.c:371 +msgid "Add-ons" +msgstr "Додатки" + +#. TRANSLATORS: this is the menu spec main category for Science +#: src/as-category.c:324 +msgid "Science" +msgstr "Наука" + +#. TRANSLATORS: this is the menu spec main category for Communication +#: src/as-category.c:327 +msgid "Communication & News" +msgstr "Спілкування і новини" + +#. TRANSLATORS: this is the menu spec main category for Utilities +#: src/as-category.c:330 +msgid "Utilities" +msgstr "Інструменти" + +#. TRANSLATORS: This is the formatting of English and localized name +#. * of the rating e.g. "Adults Only (solo adultos)" +#: src/as-content-rating.c:298 +#, c-format +msgid "%s (%s)" +msgstr "%s (%s)" + +#: src/as-content-rating.c:444 +msgid "General" +msgstr "Загальне" + +#: src/as-content-rating.c:453 +msgid "ALL" +msgstr "Усі" + +#: src/as-content-rating.c:457 src/as-content-rating.c:560 +msgid "Adults Only" +msgstr "Лише для дорослих" + +#: src/as-content-rating.c:459 src/as-content-rating.c:559 +msgid "Mature" +msgstr "Для дорослих" + +#: src/as-content-rating.c:461 src/as-content-rating.c:558 +msgid "Teen" +msgstr "Для підлітків" + +#: src/as-content-rating.c:463 src/as-content-rating.c:557 +msgid "Everyone 10+" +msgstr "Для усіх 10+" + +#: src/as-content-rating.c:465 src/as-content-rating.c:556 +msgid "Everyone" +msgstr "Для усіх" + +#: src/as-content-rating.c:467 src/as-content-rating.c:555 +msgid "Early Childhood" +msgstr "Для маленьких дітей" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:839 +msgid "No cartoon violence" +msgstr "Без казкової жорстокості" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:841 +msgid "Cartoon characters in unsafe situations" +msgstr "Казковий персонаж у небезпеці" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:843 +msgid "Cartoon characters in aggressive conflict" +msgstr "Казковий персонаж у сутичці" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:845 +msgid "Graphic violence involving cartoon characters" +msgstr "Графічна жорстокість застосовується до казкового персонажа" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:850 +msgid "No fantasy violence" +msgstr "Без фантастичної жорстокості" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:852 +msgid "Characters in unsafe situations easily distinguishable from reality" +msgstr "Персонаж у небезпеці легко розрізняється від дійсності" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:854 +msgid "Characters in aggressive conflict easily distinguishable from reality" +msgstr "Персонаж у сутичці легко розрізняється від дійсності" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:856 +msgid "Graphic violence easily distinguishable from reality" +msgstr "Графічна жорстокість легко розрізняється від дійсності" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:861 +msgid "No realistic violence" +msgstr "Без правдоподібної жорстокості" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:863 +msgid "Mildly realistic characters in unsafe situations" +msgstr "Наполовину вигаданий персонаж у небезпеці" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:865 +msgid "Depictions of realistic characters in aggressive conflict" +msgstr "Картинки про дійсного персонажа в сутичці" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:867 +msgid "Graphic violence involving realistic characters" +msgstr "Графічна жорстокість застосовується до дійсного персонажа" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:872 +msgid "No bloodshed" +msgstr "Без кровопролиття" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:874 +msgid "Unrealistic bloodshed" +msgstr "Неправдоподібне кровопролиття" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:876 +msgid "Realistic bloodshed" +msgstr "Правдоподібне кровопролиття" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:878 +msgid "Depictions of bloodshed and the mutilation of body parts" +msgstr "Картинки кровопролиття і орудування частинами тіла" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:883 +msgid "No sexual violence" +msgstr "Без сексуального насильства" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:885 +msgid "Rape or other violent sexual behavior" +msgstr "Ґвалтування або інші насильні сексуальні поведінки" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:892 +msgid "No references to alcohol" +msgstr "Без згадування про алкогольні напої" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:894 +msgid "References to alcoholic beverages" +msgstr "Згадування про алкогольні напої" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:896 +msgid "Use of alcoholic beverages" +msgstr "Вживання алкогольних напоїв" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:902 +msgid "No references to illicit drugs" +msgstr "Без згадування про заборонені медикаменти" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:904 +msgid "References to illicit drugs" +msgstr "Згадування про заборонені медикаменти" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:906 +msgid "Use of illicit drugs" +msgstr "Вживання заборонених медикаментів" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:912 +msgid "No references to tobacco products" +msgstr "Без згадування про тютюнові вироби" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:914 +msgid "References to tobacco products" +msgstr "Згадування про тютюнові виробів" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:916 +msgid "Use of tobacco products" +msgstr "Вживання тютюнових виробів" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:922 +msgid "No nudity of any sort" +msgstr "Без всякої оголеності" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:924 +msgid "Brief artistic nudity" +msgstr "Коротка художня оголеність" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:926 +msgid "Prolonged nudity" +msgstr "Тривала оголеність" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:932 +msgid "No references to or depictions of sexual nature" +msgstr "Без згадування або картинки сексуального характеру" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:934 +msgid "Provocative references or depictions" +msgstr "Згадування або картинки задирливого характеру" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:936 +msgid "Sexual references or depictions" +msgstr "Згадування або картинки сексуального характеру" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:938 +msgid "Graphic sexual behavior" +msgstr "Графічна сексуальна поведінка" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:943 +msgid "No profanity of any kind" +msgstr "Без усілякого богохульства" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:945 +msgid "Mild or infrequent use of profanity" +msgstr "Часткове використання богохульства" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:947 +msgid "Moderate use of profanity" +msgstr "Помірне використання богохульства" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:949 +msgid "Strong or frequent use of profanity" +msgstr "Надмірне використання богохульства" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:954 +msgid "No inappropriate humor" +msgstr "Без недоречного гумору" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:956 +msgid "Slapstick humor" +msgstr "Блазенський гумор" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:958 +msgid "Vulgar or bathroom humor" +msgstr "Вульгарний або туалетний гумор" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:960 +msgid "Mature or sexual humor" +msgstr "Дорослий або сороміцький гумор" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:965 +msgid "No discriminatory language of any kind" +msgstr "Без дискримінацій в будь-яких її проявах" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:967 +msgid "Negativity towards a specific group of people" +msgstr "Негативне ставлення до певних груп людей" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:969 +msgid "Discrimination designed to cause emotional harm" +msgstr "Образи на підґрунті дискримінації" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:971 +msgid "Explicit discrimination based on gender, sexuality, race or religion" +msgstr "" +"Чітка дискримінація, яка ґрунтується на статевій, сексуальний, расовій або " +"релігійній ознаці" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:976 +msgid "No advertising of any kind" +msgstr "Без реклами в будь-яких її проявах" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:978 +msgid "Product placement" +msgstr "Розміщення виробів" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:980 +msgid "Explicit references to specific brands or trademarked products" +msgstr "Чітке згадування про певний бренд або торгову марку" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:982 +msgid "Users are encouraged to purchase specific real-world items" +msgstr "Користувачам пропонують придбати певні матеріальні товари" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:987 +msgid "No gambling of any kind" +msgstr "Без азартних ігор у будь-яких її проявах" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:989 +msgid "Gambling on random events using tokens or credits" +msgstr "Азартні ігри на випадкових подіях з використанням жетонів або кредитів" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:991 +msgid "Gambling using “play” money" +msgstr "Азартні ігри з використанням ігрових грошей" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:993 +msgid "Gambling using real money" +msgstr "Азартні ігри з використанням справжніх грошей" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:998 +msgid "No ability to spend money" +msgstr "Без можливості витрачати справжні гроші у грі" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1000 +msgid "Users are encouraged to donate real money" +msgstr "Користувачам пропонують вкладати реальні гроші" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1003 +msgid "Ability to spend real money in-app" +msgstr "Можливість витрачати справжні гроші у програмі" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1008 +msgid "No way to chat with other users" +msgstr "Не можна спілкуватися із іншими користувачами" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1010 +msgid "User-to-user interactions without chat functionality" +msgstr "Безпосередня взаємодія між користувачами без можливостей спілкування" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1012 +msgid "Moderated chat functionality between users" +msgstr "Можливості зі спілкування між користувачами із модерацією" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1014 +msgid "Uncontrolled chat functionality between users" +msgstr "Неконтрольовані можливості із спілкування між користувачами" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1019 +msgid "No way to talk with other users" +msgstr "Без можливості звукового спілкування із іншими користувачами" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1021 +msgid "Uncontrolled audio or video chat functionality between users" +msgstr "" +"Неконтрольовані можливості із звукового та відеоспілкування між користувачами" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1028 +msgid "No sharing of social network usernames or email addresses" +msgstr "Без оприлюднення даних соціальної мережі" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1030 +msgid "Sharing social network usernames or email addresses" +msgstr "Оприлюднення даних соціальної мережі" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1037 +msgid "No sharing of user information with third parties" +msgstr "Без оприлюднення інформації третій стороні" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1039 +msgid "Checking for the latest application version" +msgstr "Пошук найсвіжішої версії програми" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1041 +msgid "Sharing diagnostic data that does not let others identify the user" +msgstr "" +"Оприлюднення діагностичних даних, які не надають безпосередньої змоги " +"ідентифікувати користувача" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1043 +msgid "Sharing information that lets others identify the user" +msgstr "Оприлюднення даних, які уможливлюють ідентифікацію користувача" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1048 +msgid "No sharing of physical location with other users" +msgstr "Без оприлюднення фізичного розміщення іншим користувачам" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1050 +msgid "Sharing physical location with other users" +msgstr "Оприлюднення фізичного розміщення іншим користувачам" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1073 +msgid "No references to homosexuality" +msgstr "Без згадування гомосексуальності" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1075 +msgid "Indirect references to homosexuality" +msgstr "Опосередковане згадування гомосексуальності" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1077 +msgid "Kissing between people of the same gender" +msgstr "Цілунки між людьми однієї статі" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1079 +msgid "Graphic sexual behavior between people of the same gender" +msgstr "Відверта сексуальна поведінка між людьми однієї статі" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1084 +msgid "No references to prostitution" +msgstr "Без згадування проституції" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1086 +msgid "Indirect references to prostitution" +msgstr "Опосередковане згадування проституції" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1088 +msgid "Direct references to prostitution" +msgstr "Безпосереднє згадування проституції" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1090 +msgid "Graphic depictions of the act of prostitution" +msgstr "Відверте зображення акту проституції" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1095 +msgid "No references to adultery" +msgstr "Без згадування перелюбу" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1097 +msgid "Indirect references to adultery" +msgstr "Опосередковані згадування перелюбу" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1099 +msgid "Direct references to adultery" +msgstr "Безпосередні згадування перелюбу" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1101 +msgid "Graphic depictions of the act of adultery" +msgstr "Відверті зображення актів перелюбу" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1106 +msgid "No sexualized characters" +msgstr "Без сексуальних персонажів" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1109 +msgid "Scantily clad human characters" +msgstr "Напівоголені людські персонажі" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1111 +msgid "Overtly sexualized human characters" +msgstr "Відверто сексуальні людські персонажі" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1116 +msgid "No references to desecration" +msgstr "Без згадування знущання над людьми" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1118 +msgid "Depictions of or references to historical desecration" +msgstr "Зображення або згадування знущання над людьми у минулому" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1120 +msgid "Depictions of modern-day human desecration" +msgstr "Відверті зображення сучасного знущання над людьми" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1122 +msgid "Graphic depictions of modern-day desecration" +msgstr "Відверті зображення сучасного знущання над людьми" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1127 +msgid "No visible dead human remains" +msgstr "Без показу решток мертвих людей" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1129 +msgid "Visible dead human remains" +msgstr "Показ решток мертвих людей" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1131 +msgid "Dead human remains that are exposed to the elements" +msgstr "Докладний показ решток мертвих людей" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1133 +msgid "Graphic depictions of desecration of human bodies" +msgstr "Відверте зображення осквернення людських тіл" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1138 +msgid "No references to slavery" +msgstr "Без згадування рабства" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1140 +msgid "Depictions of or references to historical slavery" +msgstr "Зображення або згадки рабства у минулому" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1142 +msgid "Depictions of modern-day slavery" +msgstr "Зображення сучасного рабства" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1144 +msgid "Graphic depictions of modern-day slavery" +msgstr "Відверте зображення сучасного рабства" + +#. TRANSLATORS: We got a 429 error while trying to download data +#: src/as-curl.c:134 +#, c-format +msgid "Failed to download due to server limit" +msgstr "Не вдалося отримати через обмеження на сервері" + +#: src/as-curl.c:141 src/as-curl.c:148 +#, c-format +msgid "Failed to download file: %s" +msgstr "Не вдалося отримати файл: %s" + +#. TRANSLATORS: We tried to download an URL, but received a 404 error code +#: src/as-curl.c:157 #, c-format -msgid "Found %i components in legacy paths." -msgstr "За застарілими шляхами знайдено %i компонентів." +msgid "URL was not found on the server." +msgstr "Адресу не було знайдено на сервері." -#: tools/ascli-actions-misc.c:123 +#. TRANSLATORS: We received an uexpected HTTP status code while talking to a server, likely an error +#: src/as-curl.c:164 #, c-format -msgid "Found %i components." -msgstr "Знайдено %i компонентів." +msgid "Unexpected status code: %ld" +msgstr "Неочікуваний код стану: %ld" -#. TRANSLATORS: 'version' is an AppStream XML property. Please do not translate it. -#: src/as-validator-issue-tag.h:260 -msgid "" -"Found 'version' property on required/recommended item of a type that should " -"not have or require a version." -msgstr "" -"У записі required/recommended типу, виявлено властивість «version», який не " -"може мати або не потребує версії." +#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty +#: src/as-curl.c:247 +#, c-format +msgid "Retrieved file size was zero." +msgstr "Розмір отриманого файла виявився нульовим." + +#. TRANSLATORS: List of "grey-listed" words sperated with ";" +#. * Do not translate this list directly. Instead, +#. * provide a list of words in your language that people are likely +#. * to include in a search but that should normally be ignored in +#. * the search. +#. +#: src/as-pool.c:111 +msgid "app;application;package;program;programme;suite;tool" +msgstr "застосунок;пакет;пакунок;програма;комплект;інструмент" + +#: src/as-pool.c:620 +msgid "Unable to remove old cache." +msgstr "Не вдалося вилучити застарілий кеш." + +#: src/as-pool.c:963 +msgid "Metadata files have errors:" +msgstr "Помилки у файлах метаданих:" -#. TRANSLATORS: 'version' and 'compare' are AppStream XML properties. Please do not translate them. -#: src/as-validator-issue-tag.h:266 +#: src/as-pool.c:1370 msgid "" -"Found 'version' property on this required/recommended item, but not " -"'compare' property. It is recommended to explicitly define a comparison " -"operation." +"Many components have been recognized as invalid. See debug output for " +"details." msgstr "" -"У цьому записі required/recommended виявлено властивість «version», але " -"немає властивості «compare». Рекомендуємо явним чином визначити операцію " -"порівняння." +"Багато компонентів визнано некоректними. Див. діагностичні дані, щоб " +"дізнатися більше." + +#: src/as-pool.c:1996 +#, c-format +msgid "Cache location '%s' is not writable." +msgstr "Запис до адреси каталогу кешу, «%s», неможливий." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:277 +#: src/as-pool.c:2109 msgid "" -"Found a memory size dependency in a 'requires' tag. This means users will " -"not be able to even install the component without having enough RAM. This is " -"usually not intended and you want to use 'memory' in the 'recommends' tag " -"instead." +"The AppStream system cache was updated, but some components were ignored. " +"Refer to the verbose log for more information." msgstr "" -"У тезі «requires» виявлено залежність від розміру пам'яті. Це означає, що " -"користувачі не зможуть встановити компонент, якщо на комп'ютері не " -"встановлено достатнього обсягу оперативної пам'яті. Зазвичай, у такому " -"жорсткому обмеженні немає потреби, і можна обмежитися використанням «memory» " -"у тезі «recommends»." +"Кеш системи AppStream оновлено, але деякі компоненти було проігноровано. " +"Зверніться до докладного журналу обробки, щоб дізнатися про це більше." -#: src/as-validator-issue-tag.h:248 +#: src/as-pool.c:2111 +#, c-format msgid "" -"Found an unknown tag in a requires/recommends group. This is likely an " -"error, because a component relation of this type is unknown." +"The AppStream system cache was updated, but problems were found which " +"resulted in metadata being ignored: %s" msgstr "" -"Виявлено невідомий теґ у групі requires/recommends. Ймовірно, це помилка, " -"оскільки співвідношення цього типу є невідомим." +"Кеш системи AppStream оновлено, але виявлено проблеми, які призвели до " +"ігнорування метаданих: %s" -#: src/as-validator-issue-tag.h:427 +#: src/as-pool.c:2125 +#, c-format msgid "" -"Found invalid tag. Non-standard tags should be prefixed with 'x-'. AppStream " -"also provides the tag to add arbitrary custom data to metainfo " -"files. This tag is read by AppStream libraries and may be useful instead of " -"defining new custom toplevel or 'x-'-prefixed tags if you just want to add " -"custom data to a metainfo file." +"AppStream system cache refresh failed. Turn on verbose mode to get detailed " +"issue information." msgstr "" -"Виявлено некоректний теґ. До назв нестандартних теґів слід додавати префікс " -"«x-». У AppStream також передбачено теґ для додавання довільних " -"нетипових даних до файлів metainfo. Цей теґ буде прочитано бібліотеками " -"AppStream, його може бути використано замість визначення нового нетипового " -"рівня теґів або теґів із префіксом «x-», якщо вам просто потрібно додати " -"нетипові дані до файла metainfo." +"Не вдалося оновити системний кеш AppStream. Увімкніть режим докладних " +"повідомлень, що отримати докладні відомості щодо вад." -#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. -#: src/as-validator.c:526 src/as-validator.c:939 src/as-validator.c:1024 -#: src/as-validator.c:1237 -#, c-format -msgid "Found: %s - Allowed: %s" -msgstr "Виявлено: %s — Дозволено: %s" +#: src/as-provided.c:144 +msgid "Libraries" +msgstr "Бібліотеки" -#. TRANSLATORS: this is the menu spec main category for Game -#: src/as-category.c:311 -msgid "Games" -msgstr "Ігри" +#: src/as-provided.c:146 +msgid "Binaries" +msgstr "Двійкові файли" -#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command -#: tools/appstream-cli.c:814 -msgid "Generate the output in the selected format ('yaml' or 'text')." -msgstr "Вивести дані у вибраному форматі («yaml» або «text»)." +#: src/as-provided.c:148 +msgid "Media types" +msgstr "Типи носіїв" -#: tools/appstream-cli.c:849 -msgid "Get components which provide the given item." -msgstr "Отримати компоненти, які надають вказаний запис." +#: src/as-provided.c:150 +msgid "Fonts" +msgstr "Шрифти" -#: tools/appstream-cli.c:848 -msgid "Get information about a component by its ID." -msgstr "Отримати інформацію щодо компонента за його ідентифікатором." +#: src/as-provided.c:152 +msgid "Modaliases" +msgstr "Альтернативні режими" -#. TRANSLATORS: this is the menu spec main category for Graphics -#: src/as-category.c:314 -msgid "Graphics & Photography" -msgstr "Графіка і фотомистецтво" +#: src/as-provided.c:154 +msgid "Python (Version 2)" +msgstr "Python (версія 2)" -#: tools/ascli-utils.c:300 -msgid "Homepage" -msgstr "Домашня сторінка" +#: src/as-provided.c:156 +msgid "Python 3" +msgstr "Python 3" -#: src/as-category.c:89 -msgctxt "Category of Development" -msgid "IDEs" -msgstr "Інтегровані середовища розробки (IDE)" +#: src/as-provided.c:158 +msgid "D-Bus System Services" +msgstr "Служби системи D-Bus" -#: tools/ascli-utils.c:301 -msgid "Icon" -msgstr "Піктограма" +#: src/as-provided.c:160 +msgid "D-Bus Session Services" +msgstr "Служби сеансів D-Bus" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:351 -msgid "Icons of type 'remote' must contain an URL to the referenced icon." -msgstr "" -"Запис піктограм типу «remote» мають містити адресу піктограми, на яку ви " -"посилаєтеся." +#: src/as-provided.c:162 +msgid "Runtime Firmware" +msgstr "Виконувана мікропрограма" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:344 -msgid "" -"Icons of type 'stock' or 'cached' must not contain an URL, a full or an " -"relative path to the icon. Only file basenames or stock names are allowed." -msgstr "" -"Записи піктограм типу «stock» або «cached» мають містити адресу, повний або " -"відносний шлях до піктограми. Можна використовувати лише базові або звичайні " -"назви файлів." +#: src/as-provided.c:164 +msgid "Flashed Firmware" +msgstr "Записувані мікропрограми" -#: tools/ascli-actions-misc.c:94 -msgid "Iconsets" -msgstr "Набори піктограм" +#: src/as-provided.c:166 +msgid "Component" +msgstr "Компонент" -#: tools/ascli-utils.c:295 -msgid "Identifier" -msgstr "Ідентифікатор" +#: src/as-validator-issue-tag.h:41 +msgid "This tag requires a type property." +msgstr "У цьому тезі має бути властивість type." -#: src/as-category.c:217 -msgctxt "Category of Addons" -msgid "Input Sources" -msgstr "Вхідні коди" +#: src/as-validator-issue-tag.h:46 +msgid "Tags of this name are not permitted in this section." +msgstr "Теґи із такою назвою не можна використовувати у цьому розділі." -#: tools/appstream-cli.c:863 -msgid "Install a metadata file into the right location." -msgstr "Встановити файл метаданих у належному місці." +#: src/as-validator-issue-tag.h:51 +msgid "" +"A tag must not be localized in metainfo files (upstream " +"metadata). Localize the individual paragraphs instead." +msgstr "" +"Тег не потребує локалiзацiї у метафайлах (метадані основного " +"проекту). Замiсть цього перекладiть окремі абзаци вмісту." -#: tools/appstream-cli.c:859 -msgid "Install software matching the component-ID." +#: src/as-validator-issue-tag.h:57 +msgid "" +"This element (paragraph, list, etc.) of a tag must not be " +"localized individually in collection metadata. Localize the whole " +" tag instead. The AppStream collection metadata generator (e." +"g. `appstream-generator`) will already do the right thing when compiling the " +"data." msgstr "" -"Встановити програмне забезпечення, що відповідає ідентифікатору компонента." +"Цей елемент (абзац, список тощо) теґу не варто перекладати " +"окремо у збірці метаданих. Замість цього, має бути здійснено переклад цілого " +"теґу . Засіб створення збірок AppStream (наприклад «appstream-" +"generator») має автоматично виконати правильне форматування під час " +"компілювання даних." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:373 +#: src/as-validator-issue-tag.h:63 msgid "" -"Invalid 'type' property for this 'url' tag. URLs of this type are not known " -"in the AppStream specification." +"AppStream descriptions support only a limited set of tags to format text: " +"Paragraphs (

                                                                                                                                                                                                                                                                                                                                                                                                                        ) and lists (

                                                                                                                                                                                                                                                                                                                                                                                                                          ,
                                                                                                                                                                                                                                                                                                                                                                                                                            ). This description markup contains " +"an invalid XML tag that would not be rendered correctly in applications " +"supporting the metainfo specification." msgstr "" -"Некоректна властивість «type» для цього теґу «url». Адреси цього типу не " -"визначено у специфікації AppStream." +"У описах AppStream передбачено підтримку лише обмеженої множини теґів для " +"форматування тексту: абзаци (

                                                                                                                                                                                                                                                                                                                                                                                                                            ) і списки (

                                                                                                                                                                                                                                                                                                                                                                                                                              ,
                                                                                                                                                                                                                                                                                                                                                                                                                                ). У розмітці цього " +"опису міститься некоректний теґ XML, який не буде показано належним чином у " +"програмах, у яких передбачено можливість обробки даних специфікації metainfo." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:553 +#: src/as-validator-issue-tag.h:69 msgid "" -"Invalid tag found in collection metadata. Only 'component' tags are " -"permitted." +"This description paragraph contains invalid markup. Currently, only " +"and are permitted." msgstr "" -"У метаданих збірки виявлено некоректний теґ. Можна використовувати лише теґи " -"«component»." +"Абзац опису містить некоректну розмітку. У поточній версії можна " +"використовувати лише теґи і ." -#: tools/ascli-actions-mdata.c:213 -msgid "Invalid type for provided item selected. Valid values are:" -msgstr "Вибрано некоректний тип для запису «provided». Коректні значення:" +#: src/as-validator-issue-tag.h:74 +msgid "Enumerations must only have list items (
                                                                                                                                                                                                                                                                                                                                                                                                                              1. ) as children." +msgstr "" +"У переліках дочірніми елементами мають бути лише пункти списку (
                                                                                                                                                                                                                                                                                                                                                                                                                              2. )." -#: src/as-validator-issue-tag.h:271 +#: src/as-validator-issue-tag.h:79 msgid "" -"Invalid version comparison operation on relation item. Only eq/ne/lt/gt/le/" -"ge are permitted." +"The first `description/p` paragraph of this component might be too short (< " +"80 characters). Please consider starting with a longer paragraph to improve " +"how the description looks like in software centers and to provide more " +"detailed information on this component immediately in the first paragraph." msgstr "" -"У записі порівняння виявлено некоректне порівняння версій. Можна " -"використовувати лише операції eq, ne, lt, gt, le та ge." +"Перший абзац «description/p» цього компонента, ймовірно є надто коротким (< " +"80 символів). Вам варто розпочати опис із довгого абзацу щоб поліпшити " +"вигляд опису у програмах-центрах керування програмним забезпеченням і надати " +"докладні відомості щодо цього компонента одразу у першому ж абзаці опису." -#: src/as-validator-issue-tag.h:450 +#: src/as-validator-issue-tag.h:86 msgid "" -"It is recommended to add a long description to this component to present it " -"better to users." +"The description contains a web URL in plain text. This is not allowed, " +"please use the tag instead to share links." msgstr "" -"Рекомендуємо додати повний опис цього компонента, щоб краще представити його " -"користувачам." +"Опис містить вебадресу у форматі звичайного тексту. Так не можна робити. " +"Будь ласка, скористайтеся теґом для визначення посилань." -#: src/as-validator-issue-tag.h:445 +#: src/as-validator-issue-tag.h:91 msgid "" -"It would be useful to add a long description to this font to present it " -"better to users." -msgstr "" -"Варто додати повний опис до цього шрифту, щоб краще представити його " -"користувачам." - -#: src/as-category.c:144 -msgctxt "Category of Games" -msgid "Kids" -msgstr "Для дітей" - -#: src/as-category.c:220 -msgctxt "Category of Addons" -msgid "Language Packs" -msgstr "Пакунки перекладів" - -#: src/as-category.c:107 -msgctxt "Category of Education" -msgid "Languages" -msgstr "Мови" - -#: src/as-provided.c:144 -msgid "Libraries" -msgstr "Бібліотеки" - -#. license -#: tools/ascli-utils.c:363 -msgid "License" -msgstr "Ліцензія" +"As per AppStream specification, the mentioned tag must only appear once in " +"this context. Having multiple tags of this kind is not valid." +msgstr "" +"За специфікацією AppStream згаданий теґ може бути використано у цьому " +"контексті лише один раз. Використання декількох теґів цього типу є " +"некоректним." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:629 +#: src/as-validator-issue-tag.h:96 msgid "" -"Licenses for 'runtime' components are usually too complex to reflect them in " -"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " -"value for this component's 'project_license'. E.g. `LicenseRef-free=https://" -"example.com/licenses.html`" -msgstr "Умови ліцензування «динамічних» компонентів зазвичай є надто складними, щоб їх можна було записати у форматі простого виразу SPDX. Варто скористатися «LicenseRef» та вебадресою як значенням «project_license» проєкту. Приклад: «LicenseRef-free=https://example.com/licenses.html»" +"The mentioned tag is empty, which is highly likely not intended as it should " +"have content." +msgstr "" +"Згаданий теґ є порожнім. Дуже ймовірно, що це помилка, оскільки у тезі мають " +"міститися дані." -#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command -#: tools/appstream-cli.c:771 +#: src/as-validator-issue-tag.h:101 msgid "" -"Limit the number of release entries that end up in the metainfo file (0 for " -"unlimited)." +"The component ID is required to follow a reverse domain-name scheme for its " +"name. See the AppStream specification for details." msgstr "" -"Обмежити кількість записів щодо випусків у отриманому файлі метаінформації " -"(0 — без обмежень)." - -#: src/as-category.c:223 -msgctxt "Category of Addons" -msgid "Localization" -msgstr "Локалізація" - -#: src/as-category.c:147 -msgctxt "Category of Games" -msgid "Logic" -msgstr "Логічні ігри" - -#. TRANSLATORS: ascli flag description for: --no-cache -#: tools/appstream-cli.c:67 -msgid "Make request without any caching." -msgstr "Виконати запит без будь-якого кешування." - -#. TRANSLATORS: ascli flag description for: --cachepath -#: tools/appstream-cli.c:57 -msgid "Manually selected location of AppStream cache." -msgstr "Встановити вручну розташування кешу AppStream." - -#. TRANSLATORS: ascli flag description for: --datapath -#: tools/appstream-cli.c:62 -msgid "Manually selected location of AppStream metadata to scan." -msgstr "Встановити вручну розташування метаданих AppStream для сканування." +"У назві ідентифікатора компонента має бути використано схему зворотної назви " +"домену. Докладніше про це у специфікації AppStream." -#: src/as-pool.c:1280 +#: src/as-validator-issue-tag.h:106 msgid "" -"Many components have been recognized as invalid. See debug output for " -"details." +"The component ID is not a reverse domain-name. Please update the ID to avoid " +"future issues and be compatible with all AppStream implementations.\n" +"You may also consider to update the name of the accompanying .desktop file " +"to follow the latest version of the Desktop-Entry specification and use a " +"rDNS name for it as well. In any case, do not forget to mention the new " +"desktop-entry in a tag for this component to keep the " +"application launchable from software centers and the .desktop file data " +"associated with the metainfo data." msgstr "" -"Багато компонентів визнано некоректними. Див. діагностичні дані, щоб " -"дізнатися більше." - -#: src/as-category.c:111 -msgctxt "Category of Education" -msgid "Math" -msgstr "Математика" - -#: src/as-category.c:243 -msgctxt "Category of Science" -msgid "Math" -msgstr "Математика" - -#: src/as-provided.c:148 -msgid "Media types" -msgstr "Типи носіїв" - -#: tools/ascli-actions-mdata.c:364 -#, c-format -msgid "Metadata file '%s' does not exist." -msgstr "Файла метаданих «%s» не існує." - -#: src/as-pool.c:881 -msgid "Metadata files have errors:" -msgstr "Помилки у файлах метаданих:" - -#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 -#: tools/ascli-actions-misc.c:515 -#, c-format -msgid "Metainfo file '%s' does not exist." -msgstr "Файла метаінформації «%s» не існує." +"Запис ідентифікатора компонента є не є назвою зворотного домену. Будь ласка, " +"оновіть ідентифікатор, щоб уникнути проблем у майбутньому і зберегти " +"сумісність із усіма реалізаціями AppStream.\n" +"Ймовірно, вам також варто оновити назву відповідного файла .desktop, щоб " +"зберегти сумісність із найсвіжішою версією специфікацією записів Desktop і " +"скористатися для запису цієї назви назвою rDNS. За будь-яких умов, не " +"забудьте згадати новий запис desktop у тезі для цього " +"компонента, щоб зберегти можливість запуску програми з програм-центрів " +"програмного забезпечення та прив'язку даних файла .desktop до даних metainfo." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:367 +#: src/as-validator-issue-tag.h:114 msgid "" -"Metainfo files may only contain icons of type 'stock' or 'remote', the set " -"type is not allowed." +"The component ID might not follow the reverse domain-name schema (the TLD " +"used by it is not known to the validator)." msgstr "" -"У файлах metainfo можуть міститися лише піктограми типів «stock» або " -"«remote», тип «set» використовувати не можна." - -#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report -#: tools/ascli-actions-misc.c:116 -msgid "Metainfo files:" -msgstr "Файли metainfo:" - -#: src/as-provided.c:152 -msgid "Modaliases" -msgstr "Альтернативні режими" - -#: src/as-category.c:74 -msgctxt "Category of AudioVideo" -msgid "Music Players" -msgstr "Музичні програвачі" - -#: tools/ascli-utils.c:296 -msgid "Name" -msgstr "Назва" +"Ймовірно, у назві ідентифікатора компонента порушено схему назви домену " +"(використаний TLD є невідомим для засобу перевірки)." -#: src/as-category.c:266 -msgctxt "Category of Communication" -msgid "News" -msgstr "Новини" +#: src/as-validator-issue-tag.h:119 +msgid "" +"The component ID contains an invalid character. Only ASCII characters, dots " +"and numbers are permitted." +msgstr "" +"У записі ідентифікатора компонента міститься некоректний символ. Можна " +"використовувати лише символи ASCII, крапки і цифри." -#: src/as-validator-issue-tag.h:589 -msgid "No AppStream metadata was found in this directory or directory tree." +#: src/as-validator-issue-tag.h:124 +msgid "" +"The component ID contains a hyphen/minus. Using a hyphen is strongly " +"discouraged, to improve interoperability with other tools such as D-Bus. A " +"good option is to replace any hyphens with underscores (`_`)." msgstr "" -"У цьому каталозі або ієрархії каталогів не знайдено метаданих AppStream." +"У записі ідентифікатора компонента міститься дефіс або мінус. Наполегливо " +"рекомендуємо не використовувати дефіс, щоб поліпшити сумісність із іншими " +"інструментами, зокрема D-Bus. Варто замінити усі дефіси підкреслюваннями " +"(«_»)." -#. pedantic because not everything which has metadata is an application -#: src/as-validator-issue-tag.h:594 -msgid "No XDG applications directory found." -msgstr "Не знайдено каталогу програм XDG." +#: src/as-validator-issue-tag.h:130 +msgid "" +"The component ID contains a segment starting with a number. Starting a " +"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " +"interoperability with other tools such as D-Bus. Ideally, prefix these " +"segments with an underscore." +msgstr "" +"У записі ідентифікатора компонента є частина, яка починається з цифри. " +"Наполегливо рекомендуємо не використовувати частки ідентифікатора зворотної " +"DNS, які починаються з цифри, щоб зберегти сумісність із іншими " +"інструментами, зокрема D-Bus. Варто додати до таких частин префікс-" +"підкреслювання." -#: tools/ascli-actions-mdata.c:182 -#, c-format -msgid "No component matching '%s' found." -msgstr "Не знайдено компонентів, що відповідали б запиту «%s»." +#: src/as-validator-issue-tag.h:136 +msgid "The component ID should only contain lowercase letters." +msgstr "Ідентифікатор компонента має складатися лише з малих латинських літер." -#: tools/ascli-actions-misc.c:105 -msgid "No icons." -msgstr "Немає піктограм." +#: src/as-validator-issue-tag.h:141 +msgid "" +"The component is part of the Freedesktop project, but its ID does not start " +"with fd.o's reverse-DNS name (\"org.freedesktop\")." +msgstr "" +"Компонент є частиною проєкту Freedesktop, але його ідентифікатор не " +"починається із назви зворотного DNS fd.o («org.freedesktop»)." -#: tools/ascli-actions-misc.c:402 -msgid "No output filename specified, modifying metainfo file directly." +#: src/as-validator-issue-tag.h:146 +msgid "" +"The component is part of the KDE project, but its ID does not start with " +"KDEs reverse-DNS name (\"org.kde\")." msgstr "" -"Не вказано назви файла для виведення даних. Вносимо зміни до файла " -"метаінформації безпосередньо." +"Компонент є частиною проєкту KDE, але його ідентифікатор не починається із " +"назви зворотного DNS KDE («org.kde»)." -#: tools/ascli-actions-misc.c:306 +#: src/as-validator-issue-tag.h:151 msgid "" -"No provided binary specified in metainfo file, and no exec command specified " -"via '--exec'. Can not create 'Exec=' key." +"The component is part of the GNOME project, but its ID does not start with " +"GNOMEs reverse-DNS name (\"org.gnome\")." msgstr "" -"У файлі метаінформації не вказано жодного виконуваного файла і не вказано " -"команди запуску програми за допомогою «--exec». Через це не вдалося створити " -"запис «Exec=»." +"Компонент є частиною проєкту GNOME, але його ідентифікатор не починається із " +"назви зворотного DNS GNOME («org.gnome»)." -#: tools/ascli-actions-misc.c:284 -msgid "No stock icon name was provided in the metainfo file. Can not continue." +#: src/as-validator-issue-tag.h:156 +msgid "The SPDX license expression is invalid and could not be parsed." msgstr "" -"У файлі метаінформації не вказано типової піктограми. Продовження обробки " -"неможливе." +"Вираз ліцензування SPDX є некоректним. Програмі не вдалося його обробити." -#: tools/ascli-actions-pkgmgr.c:53 +#: src/as-validator-issue-tag.h:161 msgid "" -"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" -"\" (part of PackageKit) is available." +"The license ID was not found in the SPDX database. Please check that the " +"license ID is written in an SPDX-conformant way and is a valid free software " +"license." msgstr "" -"Не знайдено відповідного засобу керування пакунками з командного рядка. Будь " -"ласка, встановіть, наприклад, «pkcon» (частину PackageKit)." +"У базі даних SPDX не знайдено ідентифікатора ліцензії. Будь ласка, " +"переконайтеся, що ідентифікатор ліцензії записано у сумісний із SPDX спосіб, " +"і що він є чинним ідентифікатором вільних умов ліцензування програмного " +"забезпечення." -#: tools/ascli-actions-mdata.c:206 -msgid "No value for the item to search for was defined." -msgstr "Не визначено значення запису, яке слід знайти." - -#. TRANSLATORS: this is the menu spec main category for Office -#: src/as-category.c:317 -msgid "Office" -msgstr "Офіс" - -#. TRANSLATORS: An unknown option was passed to appstreamcli. -#: tools/appstream-cli.c:192 -#, c-format -msgid "Option '%s' is unknown." -msgstr "Параметр «%s» є невідомим програмі." - -#: tools/ascli-utils.c:298 -msgid "Package" -msgstr "Пакунок" +#: src/as-validator-issue-tag.h:167 +msgid "" +"The metadata itself seems to be licensed under a complex collection of " +"licenses. Please license the data under a simple permissive license, like " +"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " +"collections without the risk of license violations due to mutually " +"incompatible licenses." +msgstr "" +"Здається, самі метадані розповсюджуються за складною збіркою умов " +"ліцензування. Будь ласка, розповсюджуйте ці дані за доступними умовами, " +"зокрема FSFAP, MIT або CC-1.0, щоб дистрибутиви могли включити їх до збірок " +"даних із різним ліцензуванням без ризику порушити умови ліцензування через " +"взаємну несумісність." -#: src/as-category.c:171 -msgctxt "Category of Graphics" -msgid "Photography" -msgstr "Фотографія" +#: src/as-validator-issue-tag.h:173 +msgid "" +"The metadata itself does not seem to be licensed under a permissive license. " +"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " +"0BSD to allow distributors to include it in mixed data collections without " +"the risk of license violations due to mutually incompatible licenses." +msgstr "" +"Здається, самі метадані розповсюджуються за умовами ліцензування, які є " +"надто обмежувальними. Будь ласка, розповсюджуйте ці дані за доступними " +"умовами, зокрема FSFAP, CC0-1.0 або 0BSD, щоб дистрибутиви могли включити їх " +"до збірок даних із різним ліцензуванням без ризику порушити умови " +"ліцензування через взаємну несумісність." -#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) -#: tools/appstream-cli.c:121 -msgid "Print detailed explanation for found issues." -msgstr "Вивести докладні дані щодо знайдених вад." +#: src/as-validator-issue-tag.h:179 +msgid "" +"The update-contact does not appear to be a valid email address (escaping of " +"`@` is only allowed as `_at_` or `_AT_`)." +msgstr "" +"Запис update-contact, здається, не є коректною адресою електронної пошти " +"(символ «@» можна замінити на «_at_» або «_AT_»)." -#. TRANSLATORS: ascli flag description for: --details -#: tools/appstream-cli.c:98 -msgid "Print detailed output about found components." -msgstr "Вивести докладні дані щодо знайдених компонентів." +#: src/as-validator-issue-tag.h:184 +msgid "" +"Unable to reach the screenshot image on its remote location - does the image " +"exist?" +msgstr "" +"Не вдалося отримати зображення знімка екрана за вказаною адресою. Чи існує " +"це зображення?" -#. project group -#: tools/ascli-utils.c:360 -msgid "Project Group" -msgstr "Група проєктів" +#: src/as-validator-issue-tag.h:189 +msgid "" +"Unable to reach the screenshot video on its remote location - does the video " +"file exist?" +msgstr "" +"Не вдалося отримати відео для запису screenshot за вказаною адресою. Чи " +"існує це відео?" -#: tools/ascli-utils.c:405 -msgid "Provided Items" -msgstr "Надані записи" +#: src/as-validator-issue-tag.h:194 +msgid "" +"Consider using a secure (HTTPS) URL to reference this screenshot image or " +"video." +msgstr "" +"Для посилання на зображення або відео для screenshot варто використовувати " +"захищену адресу (HTTPS)." -#: src/as-provided.c:154 -msgid "Python (Version 2)" -msgstr "Python (версія 2)" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:200 +msgid "" +"A screenshot must contain at least one image or video in order to be useful. " +"Please add an to it." +msgstr "" +"Запис screenshot, щоб бути корисним, має містити принаймні одне зображення. " +"Будь ласка, додайте всередині запис ." -#: src/as-provided.c:156 -msgid "Python 3" -msgstr "Python 3" +#: src/as-validator-issue-tag.h:205 +msgid "" +"A screenshot must contain either images or videos, but not both at the same " +"time. Please use this screenshot exclusively for either static images or for " +"videos." +msgstr "" +"Запис screenshot має містити або зображення, або відео, але не обидва " +"різновиди даних одночасно. Будь ласка, скористайтеся цим записом screenshot " +"або для статичних зображень, або для відео." -#: tools/appstream-cli.c:854 -msgid "Rebuild the component metadata cache." -msgstr "Перебудувати кеш метаданих щодо компонентів." +#: src/as-validator-issue-tag.h:211 +msgid "The screenshot does not have a caption text. Consider adding one." +msgstr "У знімка екрана немає підпису. Вам варто додати підпис." -#: tools/appstream-cli.c:860 -msgid "Remove software matching the component-ID." -msgstr "Вилучити програмне забезпечення, вказане ідентифікатором компонента." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:217 +msgid "" +"The screenshot video does not specify which video codec was used in a " +"`codec` property." +msgstr "" +"Для відео у записі screenshot не визначено кодека за допомогою властивості " +"«codec»." -#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty -#: src/as-validator.c:364 -msgid "Retrieved file size was zero." -msgstr "Розмір отриманого файла виявився нульовим." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:223 +msgid "" +"The screenshot video does not specify which container format was used in a " +"`container` property." +msgstr "" +"Для відео у записі screenshot не визначено формату контейнера за допомогою " +"властивості «container»." -#: src/as-category.c:248 -msgctxt "Category of Science" -msgid "Robotics" -msgstr "Робототехніка" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:229 +msgid "" +"The selected video codec is not supported by AppStream and software centers " +"may not be able to play the video. Only the AV1 and VP9 codecs are currently " +"supported, using `av1` and `vp9` as values for the `codec` property." +msgstr "" +"Підтримки вибраного відеокодека у AppStream не передбачено, отже програми-" +"центри програмного забезпечення не зможуть його відтворити. У поточній " +"версії передбачено підтримку лише кодеків AV1 та VP9. Вказати ці кодеки " +"можна за допомогою значень «av1» та «vp9» властивості «codec»." -#: src/as-category.c:150 -msgctxt "Category of Games" -msgid "Role Playing" -msgstr "Рольові ігри" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:236 +msgid "" +"The selected video container format is not supported by AppStream and " +"software centers may not be able to play the video. Only the WebM and " +"Matroska video containers are currently supported, using `webm` and `mkv` as " +"values for the `container` property." +msgstr "" +"Підтримки вибраного формату контейнера відео у AppStream не передбачено, " +"отже програми-центри програмного забезпечення не зможуть його відтворити. У " +"поточній версії передбачено підтримку лише контейнерів відео WebM та " +"Matroska. Вказати ці кодеки можна за допомогою значень «webm» та «mkv» " +"властивості «container»." -#: tools/appstream-cli.c:196 tools/appstream-cli.c:926 -#, c-format -msgid "Run '%s --help' to see a full list of available command line options." +#: src/as-validator-issue-tag.h:242 +msgid "" +"For videos, only the WebM and Matroska (.mkv) container formats are " +"currently supported. The file extension of the referenced video does not " +"belong to either of these formats." msgstr "" -"Щоб переглянути повний список можливих параметрів командного рядка, віддайте " -"команду «%s --help»." +"У поточній версії для відео передбачено підтримку лише форматів контейнерів " +"WebM та Matroska (.mkv). Суфікс назви вказаного вами відео не відповідає " +"жодному з цих форматів." -#: tools/appstream-cli.c:198 -#, c-format +#: src/as-validator-issue-tag.h:248 msgid "" -"Run '%s --help' to see a list of available commands and options, and '%s %s " -"--help' to see a list of options specific for this subcommand." +"The default screenshot of a software component must not be a video. Use a " +"static image as default screenshot and set the video as a secondary " +"screenshot." msgstr "" -"Щоб переглянути повний список можливих команд і параметрів командного рядка, " -"віддайте команду «%s --help» або команду «%s %s --help», щоб переглянути " -"список параметрів, які є специфічними для цієї підкоманди." +"Типовим знімком вікна компонента програмного забезпечення не може бути " +"відео. Скористайтеся статичним зображенням як типовим знімком вікна, а відео " +"зробіть другорядним записом screenshot." -#: src/as-provided.c:162 -msgid "Runtime Firmware" -msgstr "Виконувана мікропрограма" +#: src/as-validator-issue-tag.h:253 +msgid "" +"Found an unknown tag in a requires/recommends group. This is likely an " +"error, because a component relation of this type is unknown." +msgstr "" +"Виявлено невідомий теґ у групі requires/recommends. Ймовірно, це помилка, " +"оскільки співвідношення цього типу є невідомим." -#: src/as-category.c:174 -msgctxt "Category of Graphics" -msgid "Scanning" -msgstr "Сканування" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:259 +msgid "" +"A `requires` or `recommends` item requires a value to denote a valid " +"relation." +msgstr "" +"Запис «requires» або «recommends» потребує значення для встановлення " +"коректного співвідношення." -#. TRANSLATORS: this is the menu spec main category for Science -#: src/as-category.c:323 -msgid "Science" -msgstr "Наука" +#. TRANSLATORS: `version` is an AppStream XML property. Please do not translate it. +#: src/as-validator-issue-tag.h:265 +msgid "" +"Found `version` property on required/recommended item of a type that should " +"not have or require a version." +msgstr "" +"У записі required/recommended типу, виявлено властивість «version», який не " +"може мати або не потребує версії." -#: tools/appstream-cli.c:847 -msgid "Search the component database." -msgstr "Шукати у базі даних компонентів." +#. TRANSLATORS: `version` and `compare` are AppStream XML properties. Please do not translate them. +#: src/as-validator-issue-tag.h:271 +msgid "" +"Found `version` property on this required/recommended item, but not " +"`compare` property. It is recommended to explicitly define a comparison " +"operation." +msgstr "" +"У цьому записі required/recommended виявлено властивість «version», але " +"немає властивості «compare». Рекомендуємо явним чином визначити операцію " +"порівняння." -#: src/as-category.c:293 -msgctxt "Category of Utility" -msgid "Security" -msgstr "Безпека" +#: src/as-validator-issue-tag.h:276 +msgid "" +"Invalid comparison operation on relation item. Only eq/ne/lt/gt/le/ge are " +"permitted." +msgstr "" +"У записі залежності виявлено некоректну операцію з порівняння. Можна " +"використовувати лише операції eq, ne, lt, gt, le та ge." -#. TRANSLATORS: ascli flag description for: --verbose -#: tools/appstream-cli.c:903 -msgid "Show extra debugging information." -msgstr "Вивести додаткові діагностичні дані." +#: src/as-validator-issue-tag.h:281 +msgid "" +"The relation item has a comparison operation set, but does not support any " +"comparisons." +msgstr "" +"У записі зв'язку встановлено операцію з порівняння, але підтримки порівнянь " +"там не передбачено." -#. TRANSLATORS: ascli flag description for: --version -#: tools/appstream-cli.c:897 -msgid "Show the program version." -msgstr "Вивести дані щодо версії програми." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:287 +msgid "" +"Found a memory size relation in a `requires` tag. This means users will not " +"be able to even install the component without having enough RAM. This is " +"usually not intended and you want to use `memory` in the `recommends` tag " +"instead." +msgstr "" +"У тезі «requires» виявлено залежність від розміру пам'яті. Це означає, що " +"користувачі не зможуть встановити компонент, якщо на комп'ютері не " +"встановлено достатнього обсягу оперативної пам'яті. Зазвичай, у такому " +"жорсткому обмеженні немає потреби, і можна обмежитися використанням «memory» " +"у тезі «recommends»." -#: src/as-validator-issue-tag.h:635 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:294 msgid "" -"Since a 'runtime' component is comprised of multiple other software " -"components, their component-IDs may be listed in a `` section for " -"this runtime." -msgstr "Оскільки «динамічний» компонент містить у собі декілька інших компонентів програмного забезпечення, їхні ідентифікатори компонентів можна додати до списку у розділі «» цього динамічного компонента." +"Found a user input control relation in a `requires` tag. This means users " +"will not be able to even install the component without having the defined " +"input control available on the system. This is usually not intended and you " +"want to use `control` in the `recommends` tag instead." +msgstr "" +"У тезі «requires» виявлено залежність від розміру пам'яті. Це означає, що " +"користувачі не зможуть встановити компонент, якщо на комп'ютері не " +"встановлено достатнього обсягу оперативної пам'яті. Зазвичай, у такому " +"жорсткому обмеженні немає потреби, і можна обмежитися використанням «memory» " +"у тезі «recommends»." -#: src/as-category.c:153 -msgctxt "Category of Games" -msgid "Sports" -msgstr "Спортивні ігри" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:301 +msgid "" +"This `control` item defines an unknown input method and is invalid. Check " +"the specification for a list of permitted values." +msgstr "" +"Цей запис «control» визначає невідомий спосіб введення, отже, є некоректним. " +"Зверніться до специфікації, щоб ознайомитися зі списком коректних значень." -#: src/as-category.c:157 -msgctxt "Category of Games" -msgid "Strategy" -msgstr "Стратегії" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:307 +msgid "" +"This `display_length` item contains an invalid display length. Its value " +"must either be a shorthand string, or positive integer value denoting " +"logical pixels. Please refer to the AppStream specification for more " +"information on this tag." +msgstr "" +"Запис «display_length» містить некоректну довжину для показу. Значення " +"запису має бути або рядком-скороченням, або додатним цілим значенням, яке " +"позначає кількість логічних пікселів. Будь ласка, зверніться до специфікації " +"AppStream, щоб дізнатися більше про цей теґ." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:314 +msgid "" +"This `side` property of this `display_length` item contains an invalid " +"value. It must either be `shortest` or `longest`, or unset to imply " +"`shortest` to make the item value refer to either the shortest or longest " +"side of the display." +msgstr "" +"Властивість «side» цього запису «display_length» містить некоректне " +"значення. Значенням має бути або «shortest», або «longest». Якщо значення не " +"встановлено, буде використано значення «shortest». Відповідно до значення " +"запису буде використано найкоротший (shortest) або найдовший (longest) з " +"розмірів дисплея." -#. these are commands we can use with appstreamcli -#: tools/appstream-cli.c:845 -msgid "Subcommands:" -msgstr "Підкоманди:" +#: src/as-validator-issue-tag.h:320 +msgid "" +"The set component type is not a recognized, valid AppStream component type." +msgstr "" +"Встановлений тип компонента не вдалося розпізнати як коректний тип " +"компонента AppStream." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:527 +#: src/as-validator-issue-tag.h:325 msgid "" -"Suggestions of any type other than 'upstream' are not allowed in metainfo " +"The component has a priority value set. This is not allowed in metainfo " "files." msgstr "" -"Пропозиції типів, відмінних від «upstream», не можна використовувати у " -"файлах metainfo." - -#: tools/ascli-utils.c:297 -msgid "Summary" -msgstr "Резюме" +"У компоненті встановлено значення пріоритетності (priority). Цього не можна " +"робити у файлах metainfo." -#. TRANSLATORS: Status summary in ascli -#: tools/ascli-actions-misc.c:145 -msgid "Summary:" -msgstr "Резюме:" +#: src/as-validator-issue-tag.h:330 +msgid "" +"The component has a `merge` method defined. This is not allowed in metainfo " +"files." +msgstr "" +"У компоненті визначено метод «merge». Цього не можна робити у файлах " +"metainfo." -#: src/as-category.c:290 -msgctxt "Category of Utility" -msgid "System Monitoring" -msgstr "Стеження за системою" +#: src/as-validator-issue-tag.h:335 +msgid "The component is missing an ID ( tag)." +msgstr "Пропущено ідентифікатор компонента (теґ )." -#: src/as-validator-issue-tag.h:46 -msgid "Tags of this name are not permitted in this section." -msgstr "Теґи із такою назвою не можна використовувати у цьому розділі." +#: src/as-validator-issue-tag.h:340 +msgid "The component is missing a name ( tag)." +msgstr "Пропущено назву компонента (теґ )." -#: src/as-category.c:284 -msgctxt "Category of Utility" -msgid "Terminal Emulators" -msgstr "Емулятори термінала" +#: src/as-validator-issue-tag.h:345 +msgid "The component is missing a summary ( tag)." +msgstr "Не визначено резюме компонента (теґ )." -#: src/as-category.c:281 -msgctxt "Category of Utility" -msgid "Text Editors" -msgstr "Текстові редактори" +#: src/as-validator-issue-tag.h:350 +msgid "" +"The tag still contains a `type` property, probably from an old " +"conversion to the recent metainfo format." +msgstr "" +"Теґ містить властивість «type», ймовірно, доданий під час застарілого " +"перетворення до свіжого формату metainfo." -#: src/as-validator-issue-tag.h:318 +#: src/as-validator-issue-tag.h:355 msgid "" -"The 'pkgname' tag appears multiple times. You should evaluate creating a " +"The `pkgname` tag appears multiple times. You should evaluate creating a " "metapackage containing the metainfo and .desktop files in order to avoid " "defining multiple package names per component." msgstr "" @@ -1124,178 +1594,158 @@ "desktop з метою уникнути визначення декількох назв пакунків для одного " "компонента." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:416 -msgid "" -"The 'update_contact' tag should not be included in collection AppStream XML." -msgstr "Теґ «update_contact» не можна включати до XML збірки (collection)." - -#: tools/ascli-actions-mdata.c:467 -#, c-format -msgid "The .desktop file '%s' does not exist." -msgstr "Файла .desktop «%s» не існує." +#: src/as-validator-issue-tag.h:360 +msgid "The component name should (likely) not end with a dot (`.`)." +msgstr "Назва компонента (ймовірно) не повинна завершуватися крапкою («.»)." -#: src/as-validator-issue-tag.h:393 -msgid "The can not contain a hyperlink." -msgstr "У не може міститися гіперпосилання." +#: src/as-validator-issue-tag.h:365 +msgid "The component summary should not end with a dot (`.`)." +msgstr "Резюме компонента не повинно завершуватися крапкою («.»)." -#: src/as-validator-issue-tag.h:313 -msgid "" -"The tag still contains a 'type' property, probably from an old " -"conversion to the recent metainfo format." +#: src/as-validator-issue-tag.h:370 +msgid "The component summary must not contain tabs or linebreaks." msgstr "" -"Теґ містить властивість «type», ймовірно, доданий під час застарілого " -"перетворення до свіжого формату metainfo." +"Резюме компонента не повинно містити символів табуляції або розриву рядка." -#: src/as-validator-issue-tag.h:616 -msgid "" -"The AppStream specification requires a complete, ISO 8601 date string with " -"at least day-granularity to denote dates. Please ensure the date string is " -"valid." +#: src/as-validator-issue-tag.h:375 +msgid "The summary must not contain any URL. Use the tags for links." msgstr "" -"Специфікація AppStream вимагає для визначення дат повного сумісного із ISO " -"8601 рядка дати із точністю до дня. Будь ласка, переконайтеся, що вказано " -"коректну дату." +"У резюме не повинно міститися адрес. Використовуйте для посилань теґи ." -#: src/as-pool.c:1924 -#, c-format +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:381 msgid "" -"The AppStream system cache was updated, but problems were found which " -"resulted in metadata being ignored: %s" +"Icons of type `stock` or `cached` must not contain an URL, a full or an " +"relative path to the icon. Only file basenames or stock names are allowed." msgstr "" -"Кеш системи AppStream оновлено, але виявлено проблеми, які призвели до " -"ігнорування метаданих: %s" +"Записи піктограм типу «stock» або «cached» мають містити адресу, повний або " +"відносний шлях до піктограми. Можна використовувати лише базові або звичайні " +"назви файлів." -#: src/as-pool.c:1922 -msgid "" -"The AppStream system cache was updated, but some components were ignored. " -"Refer to the verbose log for more information." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:388 +msgid "Icons of type `remote` must contain an URL to the referenced icon." msgstr "" -"Кеш системи AppStream оновлено, але деякі компоненти було проігноровано. " -"Зверніться до докладного журналу обробки, щоб дізнатися про це більше." +"Запис піктограм типу «remote» мають містити адресу піктограми, на яку ви " +"посилаєтеся." -#: src/as-validator-issue-tag.h:151 -msgid "The SPDX license expression is invalid and could not be parsed." +#: src/as-validator-issue-tag.h:393 +msgid "Unable to reach remote icon at the given web location - does it exist?" msgstr "" -"Вираз ліцензування SPDX є некоректним. Програмі не вдалося його обробити." - -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows -#: tools/appstream-cli.c:683 -#, c-format -msgid "The TYPE must be a valid component-type, such as: %s" -msgstr "Значенням ТИП має бути коректний запис компонент-тип, зокрема: %s" +"Не вдалося отримати віддалену піктограму за вказаною вебадресою. Чи існує ця " +"піктограма?" -#: src/as-validator-issue-tag.h:547 -msgid "The XML of this file is malformed." -msgstr "Форматування XML у цьому файлі є помилковим." +#: src/as-validator-issue-tag.h:398 +msgid "Consider using a secure (HTTPS) URL for the remote icon link." +msgstr "" +"Для посилання на піктограму варто використовувати захищену адресу (HTTPS)." -#: src/as-validator-issue-tag.h:584 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:404 msgid "" -"The category defined in the .desktop file is not valid. Refer to the XDG " -"Menu Specification for a list of valid categories." +"Metainfo files may only contain icons of type `stock` or `remote`, the set " +"type is not allowed." msgstr "" -"Категорія, яку визначено у файлі .desktop, є некоректною. Зверніться до " -"специфікації меню XDG, щоб ознайомитися зі списком коректних категорій." +"У файлах metainfo можуть міститися лише піктограми типів «stock» або " +"«remote», тип «set» використовувати не можна." -#: src/as-validator-issue-tag.h:532 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:410 msgid "" -"The category name is not valid. Refer to the XDG Menu Specification for a " -"list of valid category names." +"Invalid `type` property for this `url` tag. URLs of this type are not known " +"in the AppStream specification." msgstr "" -"Назва категорії є некоректною. Будь ласка, зверніться до специфікації меню " -"XDG, щоб ознайомитися зі списком коректних назв категорій." +"Некоректна властивість «type» для цього теґу «url». Адреси цього типу не " +"визначено у специфікації AppStream." -#: src/as-validator-issue-tag.h:124 +#: src/as-validator-issue-tag.h:415 msgid "" -"The component ID contains a hyphen/minus. Using a hyphen is strongly " -"discouraged, to improve interoperability with other tools such as D-Bus. A " -"good option is to replace any hyphens with underscores ('_')." +"Unable to reach remote location that this URL references - does it exist?" msgstr "" -"У записі ідентифікатора компонента міститься дефіс або мінус. Наполегливо " -"рекомендуємо не використовувати дефіс, щоб поліпшити сумісність із іншими " -"інструментами, зокрема D-Bus. Варто замінити усі дефіси підкреслюваннями " -"(«_»)." +"Не вдалося отримати дані, на які посилається ця адреса. Чи існують ці дані?" -#: src/as-validator-issue-tag.h:130 +#: src/as-validator-issue-tag.h:420 +msgid "Consider using a secure (HTTPS) URL for this web link." +msgstr "Для посилання у мережі варто використовувати захищену адресу (HTTPS)." + +#: src/as-validator-issue-tag.h:425 +msgid "A web URL was expected for this value." +msgstr "Значенням цього параметра мала бути адреса у мережі." + +#: src/as-validator-issue-tag.h:430 msgid "" -"The component ID contains a segment starting with a number. Starting a " -"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " -"interoperability with other tools such as D-Bus. Ideally, prefix these " -"segments with an underscore." +"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." msgstr "" -"У записі ідентифікатора компонента є частина, яка починається з цифри. " -"Наполегливо рекомендуємо не використовувати частки ідентифікатора зворотної " -"DNS, які починаються з цифри, щоб зберегти сумісність із іншими " -"інструментами, зокрема D-Bus. Варто додати до таких частин префікс-" -"підкреслювання." +"У вебпосиланні використано протокол FTP. Варто користуватися замість нього " +"протоколом HTTP(S)." -#: src/as-validator-issue-tag.h:119 +#: src/as-validator-issue-tag.h:435 +msgid "The can not contain a hyperlink." +msgstr "У не може міститися гіперпосилання." + +#: src/as-validator-issue-tag.h:440 msgid "" -"The component ID contains an invalid character. Only ASCII characters, dots " -"and numbers are permitted." +"The set value is not an identifier for a desktop environment as registered " +"with Freedesktop.org." msgstr "" -"У записі ідентифікатора компонента міститься некоректний символ. Можна " -"використовувати лише символи ASCII, крапки і цифри." +"Вказане значення не є ідентифікатором стільничного середовища, яке " +"зареєстровано Freedesktop.org." -#: src/as-validator-issue-tag.h:106 -msgid "" -"The component ID is not a reverse domain-name. Please update the ID to avoid " -"future issues and be compatible with all AppStream implementations.\n" -"You may also consider to update the name of the accompanying .desktop file " -"to follow the latest version of the Desktop-Entry specification and use a " -"rDNS name for it as well. In any case, do not forget to mention the new " -"desktop-entry in a tag for this component to keep the " -"application launchable from software centers and the .desktop file data " -"associated with the metainfo data." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:446 +msgid "This `launchable` tag has an unknown type and can not be used." msgstr "" -"Запис ідентифікатора компонента є не є назвою зворотного домену. Будь ласка, " -"оновіть ідентифікатор, щоб уникнути проблем у майбутньому і зберегти " -"сумісність із усіма реалізаціями AppStream.\n" -"Ймовірно, вам також варто оновити назву відповідного файла .desktop, щоб " -"зберегти сумісність із найсвіжішою версією специфікацією записів Desktop і " -"скористатися для запису цієї назви назвою rDNS. За будь-яких умов, не " -"забудьте згадати новий запис desktop у тезі для цього " -"компонента, щоб зберегти можливість запуску програми з програм-центрів " -"програмного забезпечення та прив'язку даних файла .desktop до даних metainfo." +"Цей теґ «launchable» належить до невідомого типу, його не можна " +"використовувати." -#: src/as-validator-issue-tag.h:101 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:452 +msgid "This `bundle` tag has an unknown type and can not be used." +msgstr "" +"Це теґ «bundle» належить до невідомого типу, його не можна використовувати." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:458 msgid "" -"The component ID is required to follow a reverse domain-name scheme for its " -"name. See the AppStream specification for details." +"The `update_contact` tag should not be included in collection AppStream XML." msgstr "" -"У назві ідентифікатора компонента має бути використано схему зворотної назви " -"домену. Докладніше про це у специфікації AppStream." +"Теґ «update_contact» не можна включати до XML збірки (collection) AppStream." -#: src/as-validator-issue-tag.h:114 +#: src/as-validator-issue-tag.h:463 msgid "" -"The component ID might not follow the reverse domain-name schema (the TLD " -"used by it is not known to the validator)." +"This tag is a GNOME-specific extension to AppStream and not part of the " +"official specification. Do not expect it to work in all implementations and " +"in all software centers." msgstr "" -"Ймовірно, у назві ідентифікатора компонента порушено схему назви домену " -"(використаний TLD є невідомим для засобу перевірки)." +"Цей теґ з специфічним для GNOME розширенням специфікації AppStream. Він не є " +"частиною офіційної специфікації. Не варто очікувати його працездатності в " +"усіх реалізаціях та усіх програмах-центрах програмного забезпечення." -#: src/as-validator-issue-tag.h:293 +#: src/as-validator-issue-tag.h:469 msgid "" -"The component has a 'merge' method defined. This is not allowed in metainfo " -"files." +"Found invalid tag. Non-standard tags should be prefixed with `x-`. AppStream " +"also provides the tag to add arbitrary custom data to metainfo " +"files. This tag is read by AppStream libraries and may be useful instead of " +"defining new custom toplevel or `x-`-prefixed tags if you just want to add " +"custom data to a metainfo file." msgstr "" -"У компоненті визначено метод «merge». Цього не можна робити у файлах " -"metainfo." +"Виявлено некоректний теґ. До назв нестандартних теґів слід додавати префікс " +"«x-». У AppStream також передбачено теґ для додавання довільних " +"нетипових даних до файлів metainfo. Цей теґ буде прочитано бібліотеками " +"AppStream, його може бути використано замість визначення нового нетипового " +"рівня теґів або теґів із префіксом «x-», якщо вам просто потрібно додати " +"нетипові дані до файла metainfo." -#: src/as-validator-issue-tag.h:288 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:477 msgid "" -"The component has a priority value set. This is not allowed in metainfo " -"files." +"The essential tag `metadata_license` is missing. A license for the metadata " +"itself always has to be defined." msgstr "" -"У компоненті встановлено значення пріоритетності (priority). Цього не можна " -"робити у файлах metainfo." - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:503 -msgid "The component is an addon, but no 'extends' tag was specified." -msgstr "Компонент є додатком, але не вказано теґ «extends»." +"Пропущено критично важливий теґ «metadata_license». Умови ліцензування самих " +"метаданих завжди має бути визначено." -#: src/as-validator-issue-tag.h:440 +#: src/as-validator-issue-tag.h:482 msgid "" "The component is missing a long description. Components of this type must " "have a long description." @@ -1303,159 +1753,163 @@ "У компонента немає повного опису. Компоненти цього типу повинні мати повний " "опис." -#: src/as-validator-issue-tag.h:303 -msgid "The component is missing a name ( tag)." -msgstr "Пропущено назву компонента (теґ )." - -#: src/as-validator-issue-tag.h:308 -msgid "The component is missing a summary ( tag)." -msgstr "Не визначено резюме компонента (теґ )." - -#: src/as-validator-issue-tag.h:298 -msgid "The component is missing an ID ( tag)." -msgstr "Пропущено ідентифікатор компонента (теґ )." - -#: src/as-validator-issue-tag.h:136 +#: src/as-validator-issue-tag.h:487 msgid "" -"The component is part of the Freedesktop project, but its ID does not start " -"with fd.o's reverse-DNS name (\"org.freedesktop\")." +"It would be useful to add a long description to this font to present it " +"better to users." msgstr "" -"Компонент є частиною проєкту Freedesktop, але його ідентифікатор не " -"починається із назви зворотного DNS fd.o («org.freedesktop»)." +"Варто додати повний опис до цього шрифту, щоб краще представити його " +"користувачам." -#: src/as-validator-issue-tag.h:146 +#: src/as-validator-issue-tag.h:492 msgid "" -"The component is part of the GNOME project, but its ID does not start with " -"GNOMEs reverse-DNS name (\"org.gnome\")." +"It is recommended to add a long description to this component to present it " +"better to users." msgstr "" -"Компонент є частиною проєкту GNOME, але його ідентифікатор не починається із " -"назви зворотного DNS GNOME («org.gnome»)." +"Рекомендуємо додати повний опис цього компонента, щоб краще представити його " +"користувачам." -#: src/as-validator-issue-tag.h:141 +#: src/as-validator-issue-tag.h:497 msgid "" -"The component is part of the KDE project, but its ID does not start with " -"KDEs reverse-DNS name (\"org.kde\")." +"This generic component is missing a long description. It may be useful to " +"add one." msgstr "" -"Компонент є частиною проєкту KDE, але його ідентифікатор не починається із " -"назви зворотного DNS KDE («org.kde»)." - -#: src/as-validator-issue-tag.h:323 -msgid "The component name should (likely) not end with a dot ('.')." -msgstr "Назва компонента (ймовірно) не повинна завершуватися крапкою («.»)." +"Цей загальний компонент не містить повного опису. Варто додати такий опис." -#: src/as-validator-issue-tag.h:333 -msgid "The component summary must not contain tabs or linebreaks." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:503 +msgid "" +"Type `console-application` component, but no information about binaries in " +"$PATH was provided via a `provides/binary` tag." msgstr "" -"Резюме компонента не повинно містити символів табуляції або розриву рядка." +"Маємо компонент типу «console-application», але не вказано відомостей щодо " +"виконуваних файлів у $PATH за допомогою теґу «provides/binary»." -#: src/as-validator-issue-tag.h:328 -msgid "The component summary should not end with a dot ('.')." -msgstr "Резюме компонента не повинно завершуватися крапкою («.»)." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:509 +msgid "" +"This `web-application` component is missing a `launchable` tag of type `url`." +msgstr "" +"У цьому записі компонента «web-application» пропущено теґ «launchable» типу " +"«url»." -#: src/as-validator-issue-tag.h:243 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:515 msgid "" -"The default screenshot of a software component must not be a video. Use a " -"static image as default screenshot and set the video as a secondary " -"screenshot." +"This `web-application` component is missing a `icon` tag to specify a valid " +"icon." msgstr "" -"Типовим знімком вікна компонента програмного забезпечення не може бути " -"відео. Скористайтеся статичним зображенням як типовим знімком вікна, а відео " -"зробіть другорядним записом screenshot." +"У цьому записі компонента «web-application» пропущено теґ «icon» для " +"визначення коректної піктограми." -#: src/as-validator-issue-tag.h:86 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:521 msgid "" -"The description contains a web URL in plain text. This is not allowed, " -"please use the tag instead to share links." +"This `web-application` component is missing categorizations. A `categories` " +"block is likely missing." msgstr "" -"Опис містить вебадресу у форматі звичайного тексту. Так не можна робити. " -"Будь ласка, скористайтеся теґом для визначення посилань." +"У цьому компоненті «web-application» пропущено категоризації. Ймовірно, не " +"вистачає блоку «categories»." -#: src/as-validator.c:152 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:527 msgid "" -"The emitted issue tag is unknown in the tag registry of AppStream. This is a " -"bug in the validator itself, please report this issue in our bugtracker." +"Type `font` component, but no font information was provided via a `provides/" +"font` tag." msgstr "" -"Надісланий теґ вади є невідомим для реєстру теґів AppStream. Це вада у " -"самому засобі перевірки. Будь ласка, повідомте про неї розробників за " -"допомогою відповідної системи стеження за вадами." +"Маємо компонент типу «font», але не вказано відомостей щодо шрифту за " +"допомогою теґу «provides/font»." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:435 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:533 msgid "" -"The essential tag 'metadata_license' is missing. A license for the metadata " -"itself always has to be defined." +"Type `driver` component, but no modalias information was provided via a " +"`provides/modalias` tag." msgstr "" -"Пропущено критично важливий теґ «metadata_license». Умови ліцензування самих " -"метаданих завжди має бути визначено." +"Маємо компонент типу «driver», але не вказано відомостей щодо modalias за " +"допомогою теґу «provides/modalias»." -#: src/as-validator-issue-tag.h:79 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:539 msgid "" -"The first 'description/p' paragraph of this component might be too short (< " -"80 characters). Please consider starting with a longer paragraph to improve " -"how the description looks like in software centers and to provide more " -"detailed information on this component immediately in the first paragraph." +"An `extends` tag is specified, but the component is not of type `addon`, " +"`localization` or `repository`." msgstr "" -"Перший абзац «description/p» цього компонента, ймовірно є надто коротким (< " -"80 символів). Вам варто розпочати опис із довгого абзацу щоб поліпшити " -"вигляд опису у програмах-центрах керування програмним забезпеченням і надати " -"докладні відомості щодо цього компонента одразу у першому ж абзаці опису." +"Вказано теґ «extends», але компонент не належить до типу «addon», " +"«localization» або «repository»." -#: src/as-validator-issue-tag.h:156 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:545 +msgid "The component is an addon, but no `extends` tag was specified." +msgstr "Компонент є додатком, але не вказано теґ «extends»." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:551 msgid "" -"The license ID was not found in the SPDX database. Please check that the " -"license ID is written in an SPDX-conformant way and is a valid free software " -"license." -msgstr "У базі даних SPDX не знайдено ідентифікатора ліцензії. Будь ласка, переконайтеся, що ідентифікатор ліцензії записано у сумісний із SPDX спосіб, і що він є чинним ідентифікатором вільних умов ліцензування програмного забезпечення." +"This `localization` component is missing an `extends` tag, to specify the " +"components it adds localization to." +msgstr "" +"У цьому записі компонента «localization» пропущено теґ «extends», який " +"визначає компоненти, для яких призначено цей переклад." -#: src/as-validator-issue-tag.h:96 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:557 msgid "" -"The mentioned tag is empty, which is highly likely not intended as it should " -"have content." +"This `localization` component does not define any languages this " +"localization is for." msgstr "" -"Згаданий теґ є порожнім. Дуже ймовірно, що це помилка, оскільки у тезі мають " -"міститися дані." +"Цей компонент «localization» не визначає жодної мови, для якої призначено " +"цей переклад." -#: src/as-validator-issue-tag.h:168 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:563 msgid "" -"The metadata itself does not seem to be licensed under a permissive license. " -"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " -"0BSD to allow distributors to include it in mixed data collections without " -"the risk of license violations due to mutually incompatible licenses." +"This `service` component is missing a `launchable` tag of type `service`." msgstr "" -"Здається, самі метадані розповсюджуються за умовами ліцензування, які є " -"надто обмежувальними. Будь ласка, розповсюджуйте ці дані за доступними " -"умовами, зокрема FSFAP, CC0-1.0 або 0BSD, щоб дистрибутиви могли включити їх " -"до збірок даних із різним ліцензуванням без ризику порушити умови " -"ліцензування через взаємну несумісність." +"У цьому записі компонента «service» пропущено теґ «launchable» типу " +"«service»." -#: src/as-validator-issue-tag.h:162 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:569 msgid "" -"The metadata itself seems to be licensed under a complex collection of " -"licenses. Please license the data under a simple permissive license, like " -"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " -"collections without the risk of license violations due to mutually " -"incompatible licenses." +"Suggestions of any type other than `upstream` are not allowed in metainfo " +"files." msgstr "" -"Здається, самі метадані розповсюджуються за складною збіркою умов " -"ліцензування. Будь ласка, розповсюджуйте ці дані за доступними умовами, " -"зокрема FSFAP, MIT або CC-1.0, щоб дистрибутиви могли включити їх до збірок " -"даних із різним ліцензуванням без ризику порушити умови ліцензування через " -"взаємну несумісність." +"Пропозиції типів, відмінних від «upstream», не можна використовувати у " +"файлах metainfo." -#: src/as-validator-issue-tag.h:599 +#: src/as-validator-issue-tag.h:574 msgid "" -"The metainfo file is stored in a legacy path. Please place it in '/usr/share/" -"metainfo'." +"The category name is not valid. Refer to the XDG Menu Specification for a " +"list of valid category names." msgstr "" -"Файл metainfo зберігається за застарілою адресою. Будь ласка, перенесіть " -"його до «/usr/share/metainfo»." +"Назва категорії є некоректною. Будь ласка, зверніться до специфікації меню " +"XDG, щоб ознайомитися зі списком коректних назв категорій." -#: src/as-validator-issue-tag.h:604 -msgid "The metainfo file specifies multiple components. This is not allowed." -msgstr "Файл metainfo визначає декілька компонентів. Цього не можна робити." +#: src/as-validator-issue-tag.h:579 +msgid "The screenshot caption is too long (should be <= 80 characters)" +msgstr "" +"Підпис знімка екрана є надто довгим (має бути не довшим за 80 символів)" + +#: src/as-validator-issue-tag.h:584 +msgid "Unable to read file." +msgstr "Не вдалося прочитати файл." + +#: src/as-validator-issue-tag.h:589 +msgid "The XML of this file is malformed." +msgstr "Форматування XML у цьому файлі є помилковим." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:595 +msgid "" +"Invalid tag found in collection metadata. Only `component` tags are " +"permitted." +msgstr "" +"У метаданих збірки виявлено некоректний теґ. Можна використовувати лише теґи " +"«component»." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:559 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:601 msgid "" "The metainfo file uses an ancient version of the AppStream specification, " "which can not be validated. Please migrate it to version 0.6 (or higher)." @@ -1464,11 +1918,58 @@ "якої не можна перевірити. Будь ласка, виконайте перенесення даних на " "специфікацію 0.6 (або новішу)." -#: src/as-validator-issue-tag.h:569 +#: src/as-validator-issue-tag.h:606 +msgid "" +"This XML document has an unknown root tag. Maybe this file is not a metainfo " +"document?" +msgstr "" +"У цього документа XML невідомий кореневий теґ. Можливо, цей файл не є " +"документом metainfo?" + +#: src/as-validator-issue-tag.h:611 msgid "The metainfo filename does not match the component ID." msgstr "Назва файла metainfo не відповідає ідентифікатору компонента." -#: src/as-validator-issue-tag.h:609 +#: src/as-validator-issue-tag.h:616 +msgid "Unable to read the .desktop file associated with this component." +msgstr "Не вдалося прочитати файл .desktop, пов'язаний із цим компонентом." + +#: src/as-validator-issue-tag.h:621 +msgid "This component metadata refers to a non-existing .desktop file." +msgstr "" +"Метадані цього компонента посилаються на файл .desktop, якого не існує." + +#: src/as-validator-issue-tag.h:626 +msgid "" +"The category defined in the .desktop file is not valid. Refer to the XDG " +"Menu Specification for a list of valid categories." +msgstr "" +"Категорія, яку визначено у файлі .desktop, є некоректною. Зверніться до " +"специфікації меню XDG, щоб ознайомитися зі списком коректних категорій." + +#: src/as-validator-issue-tag.h:631 +msgid "No AppStream metadata was found in this directory or directory tree." +msgstr "" +"У цьому каталозі або ієрархії каталогів не знайдено метаданих AppStream." + +#. pedantic because not everything which has metadata is an application +#: src/as-validator-issue-tag.h:636 +msgid "No XDG applications directory found." +msgstr "Не знайдено каталогу програм XDG." + +#: src/as-validator-issue-tag.h:641 +msgid "" +"The metainfo file is stored in a legacy path. Please place it in `/usr/share/" +"metainfo/`." +msgstr "" +"Файл metainfo зберігається за застарілою адресою. Будь ласка, перенесіть " +"його до «/usr/share/metainfo»." + +#: src/as-validator-issue-tag.h:646 +msgid "The metainfo file specifies multiple components. This is not allowed." +msgstr "Файл metainfo визначає декілька компонентів. Цього не можна робити." + +#: src/as-validator-issue-tag.h:651 msgid "" "The releases are not sorted in a latest to oldest version order. This is " "required as some tools will assume that the latest version is always at the " @@ -1480,185 +1981,484 @@ "що найсвіжішу версію розташовано першою у списку. Упорядковування записів " "випусків також спрощує читання файла metainfo." -#: src/as-validator-issue-tag.h:537 -msgid "The screenshot caption is too long (should be <= 80 characters)" +#: src/as-validator-issue-tag.h:658 +msgid "The value set as release urgency is not a known urgency value." msgstr "" -"Підпис знімка екрана є надто довгим (має бути не довшим за 80 символів)" +"Встановлене як терміновість випуску значення не є відомим значенням " +"терміновості." -#: src/as-validator-issue-tag.h:206 -msgid "The screenshot does not have a caption text. Consider adding one." -msgstr "У знімка екрана немає підпису. Вам варто додати підпис." +#: src/as-validator-issue-tag.h:663 +msgid "The value set as release type is invalid." +msgstr "Встановлене як тип випуску значення є некоректним." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:218 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:669 msgid "" -"The screenshot video does not specify which container format was used in a " -"'container' property." +"The value set as artifact type is invalid. Must be either `source` or " +"`binary`." msgstr "" -"Для відео у записі screenshot не визначено формату контейнера за допомогою " -"властивості «container»." +"Встановлене як тип об'єкта значення є некоректним. Має бути «source» або " +"«binary»." + +#: src/as-validator-issue-tag.h:674 +msgid "The value set as artifact bundle type is invalid." +msgstr "Встановлене як тип пакета об'єкта значення є некоректним." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:212 +#: src/as-validator-issue-tag.h:679 msgid "" -"The screenshot video does not specify which video codec was used in a " -"'codec' property." +"The platform triplet for this release is invalid. It must be in the form of " +"`architecture-oskernel-osenv` - refer to the AppStream documentation or " +"information on normalized GNU triplets for more information and valid fields." msgstr "" -"Для відео у записі screenshot не визначено кодека за допомогою властивості " -"«codec»." +"Трійка значень платформи для цього випуску є некоректною. Її має бути " +"вказано у форматі «архітектура-ядро_системи-середовище_операційної_системи» " +"- зверніться до документації з AppStream або відомостей щодо нормалізованих " +"трійок GNU, щоб дізнатися більше і ознайомитися із коректними значеннями " +"полів." + +#: src/as-validator-issue-tag.h:686 +msgid "The selected checksumming algorithm is unsupported or unknown." +msgstr "" +"Вибраний алгоритм роботи із контрольними сумами є непідтримуваним або " +"невідомим." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:692 +msgid "The size type is unknown. Must be `download` or `installed`." +msgstr "Тип розміру є невідомим. Має бути «download» або «installed»." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:224 +#: src/as-validator-issue-tag.h:697 msgid "" -"The selected video codec is not supported by AppStream and software centers " -"may not be able to play the video. Only the AV1 and VP9 codecs are currently " -"supported, using 'av1' and 'vp9' as values for the 'codec' property." +"The artifact filename must be a file basename, not a (relative or absolute) " +"path." msgstr "" -"Підтримки вибраного відеокодека у AppStream не передбачено, отже програми-" -"центри програмного забезпечення не зможуть його відтворити. У поточній " -"версії передбачено підтримку лише кодеків AV1 та VP9. Вказати ці кодеки " -"можна за допомогою значень «av1» та «vp9» властивості «codec»." +"Назва файла об'єкта має бути базовою назвою файла, а не (відносним або " +"абсолютним) шляхом." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:231 +#: src/as-validator-issue-tag.h:702 +msgid "The value set as release issue type is invalid." +msgstr "Встановлене як тип вади випуску значення є некоректним." + +#: src/as-validator-issue-tag.h:707 msgid "" -"The selected video container format is not supported by AppStream and " -"software centers may not be able to play the video. Only the WebM and " -"Matroska video containers are currently supported, using 'webm' and 'mkv' as " -"values for the 'container' property." +"The issue is tagged at security vulnerability with a CVE number, but its " +"value does not look like a valid CVE identifier." msgstr "" -"Підтримки вибраного формату контейнера відео у AppStream не передбачено, " -"отже програми-центри програмного забезпечення не зможуть його відтворити. У " -"поточній версії передбачено підтримку лише контейнерів відео WebM та " -"MAtroska. Вказати ці кодеки можна за допомогою значень «webm» та «mkv» " -"властивості «container»." +"Ваду позначено як вразливість захисту із номером CVE, але його значення, " +"здається, є некоректним ідентифікатором CVE." -#: src/as-validator-issue-tag.h:283 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:713 msgid "" -"The set component type is not a recognized, valid AppStream component type." +"This component is missing information about releases. Consider adding a " +"`releases` tag to describe releases and their changes." +msgstr "Для цього компонента не вказано даних щодо випусків. Вам варто додати теґ `releases` для опису випусків і внесених у них змін." + +#: src/as-validator-issue-tag.h:718 +msgid "" +"The AppStream specification requires a complete, ISO 8601 date string with " +"at least day-granularity to denote dates. Please ensure the date string is " +"valid." msgstr "" -"Встановлений тип компонента не вдалося розпізнати як коректний тип " -"компонента AppStream." +"Специфікація AppStream вимагає для визначення дат повного сумісного із ISO " +"8601 рядка дати із точністю до дня. Будь ласка, переконайтеся, що вказано " +"коректну дату." -#: src/as-validator-issue-tag.h:398 +#: src/as-validator-issue-tag.h:724 msgid "" -"The set value is not an identifier for a desktop environment as registered " -"with Freedesktop.org." +"This component extends, provides, requires or recommends itself, which is " +"certainly not intended and may confuse users or machines dealing with this " +"metadata." msgstr "" -"Вказане значення не є ідентифікатором стільничного середовища, яке " -"зареєстровано Freedesktop.org." +"Цей компонент розширює, надає, потребує і рекомендує самого себе. Звичайно " +"ж, автор запису не мав цього на увазі. Такий запис може бути неправильно " +"витлумачено користувачами та комп'ютерами, які оброблятимуть метадані." -#: tools/ascli-actions-mdata.c:449 -#, c-format +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:731 msgid "" -"The software component type '%s' is not valid in AppStream. Possible values " -"are:" +"Licenses for `runtime` components are usually too complex to reflect them in " +"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " +"value for this component's `project_license`. E.g. `LicenseRef-free=https://" +"example.com/licenses.html`" msgstr "" -"Тип компонента програмного забезпечення «%s» є некоректним у AppStream. " -"Коректні типи:" +"Умови ліцензування «динамічних» компонентів зазвичай є надто складними, щоб " +"їх можна було записати у форматі простого виразу SPDX. Варто скористатися " +"«LicenseRef» та вебадресою як значенням «project_license» проєкту. Приклад: " +"«LicenseRef-free=https://example.com/licenses.html»" -#: src/as-validator-issue-tag.h:338 -msgid "The summary must not contain any URL. Use the tags for links." +#: src/as-validator-issue-tag.h:737 +msgid "" +"Since a `runtime` component is comprised of multiple other software " +"components, their component-IDs may be listed in a `` section for " +"this runtime." msgstr "" -"У резюме не повинно міститися адрес. Використовуйте для посилань теґи ." +"Оскільки компонент «runtime» містить у собі декілька інших компонентів " +"програмного забезпечення, їхні ідентифікатори компонентів можна додати до " +"списку у розділі «» цього динамічного компонента." -#: src/as-validator-issue-tag.h:640 +#: src/as-validator-issue-tag.h:742 msgid "" "The type of the item that the component provides is not known to AppStream." msgstr "Тип запису, який надає цей компонент, є невідомим AppStream." -#: src/as-validator-issue-tag.h:174 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:748 msgid "" -"The update-contact does not appear to be a valid email address (escaping of " -"'@' is only allowed as '_at_' or '_AT_')." -msgstr "" -"Запис update-contact, здається, не є коректною адресою електронної пошти " -"(символ «@» можна замінити на «_at_» або «_AT_»)." +"The toplevel `mimetypes` tag is deprecated. Please use `mediatype` tags in a " +"`provides` block instead to indicate that your software provides a media " +"handler for the given types." +msgstr "" +"Теґ верхнього рівня «mimetypes» вважається застарілим. Будь ласка, " +"скористайтеся замість нього теґами «mediatype» у блоці «provides» для " +"позначення того, що ваше програмне забезпечення надає обробник " +"мультимедійних даних для вказаних типів." + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks) and keep the URL intact. +#: src/as-validator-issue-tag.h:755 +msgid "" +"This component has no `content_rating` tag to provide age rating " +"information. You can generate the tag data online by answering a few " +"questions at https://hughsie.github.io/oars/" +msgstr "Для цього компонента не вказано теґ `content_rating`, за допомогою якого надають відомості щодо вікової групи призначення. Ви можете створити дані для теґу за допомогою інтернет-сторінки, відповівши на декілька питань — https://hughsie.github.io/oars/" -#: tools/ascli-actions-validate.c:363 tools/ascli-actions-validate.c:492 -#, c-format +#: src/as-validator.c:150 msgid "" -"The validator can not create reports in the '%s' format. You may select " -"'yaml' or 'text' instead." +"The emitted issue tag is unknown in the tag registry of AppStream. This is a " +"bug in the validator itself, please report this issue in our bugtracker." msgstr "" -"Засіб перевірки не може створювати звіти у форматі «%s». Ви можете вибрати " -"«yaml» або «text»." +"Надісланий теґ вади є невідомим для реєстру теґів AppStream. Це вада у " +"самому засобі перевірки. Будь ласка, повідомте про неї розробників за " +"допомогою відповідної системи стеження за вадами." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:410 -msgid "This 'bundle' tag has an unknown type and can not be used." -msgstr "" -"Це теґ «bundle» належить до невідомого типу, його не можна використовувати." +#: src/as-validator.c:344 +msgid "URL format is invalid." +msgstr "Формат адреси є некоректним." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:404 -msgid "This 'launchable' tag has an unknown type and can not be used." -msgstr "" -"Це теґ «launchable» належить до невідомого типу, його не можна " -"використовувати." +#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. +#: src/as-validator.c:522 src/as-validator.c:937 src/as-validator.c:1031 +#: src/as-validator.c:1428 src/as-validator.c:1448 src/as-validator.c:1481 +#, c-format +msgid "Found: %s - Allowed: %s" +msgstr "Виявлено: %s — Дозволено: %s" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:515 +#. TRANSLATORS: ascompose flag description for: --verbose +#: tools/appstream-compose.c:181 +msgid "Show extra debugging information" +msgstr "Вивести додаткові діагностичні дані" + +#. TRANSLATORS: ascompose flag description for: --no-color +#. TRANSLATORS: ascli flag description for: --no-color +#: tools/appstream-compose.c:184 tools/appstreamcli.c:1087 +msgid "Don't show colored output." +msgstr "Не розфарбовувати виведені дані." + +#. TRANSLATORS: ascompose flag description for: --version +#. TRANSLATORS: ascli flag description for: --version +#: tools/appstream-compose.c:187 tools/appstreamcli.c:1076 +msgid "Show the program version." +msgstr "Вивести дані щодо версії програми." + +#. TRANSLATORS: ascompose flag description for: --full-report +#: tools/appstream-compose.c:190 +msgid "Set mode of the issue report that is printed to the console" +msgstr "" +"Встановити режим звітування щодо проблем, який буде використано у консолі" + +#. TRANSLATORS: ascompose flag description for: --prefix +#: tools/appstream-compose.c:193 +msgid "Override the default prefix (`/usr` by default)" +msgstr "Перевизначити типовий префікс (типовим є `/usr`)" + +#. TRANSLATORS: ascompose flag description for: --result-root +#: tools/appstream-compose.c:196 +msgid "Set the result output directory" +msgstr "Встановити каталог для виведення результатів" + +#. TRANSLATORS: ascompose flag description for: --data-dir, `collection metadata` is an AppStream term +#: tools/appstream-compose.c:199 +msgid "Override the collection metadata output directory" +msgstr "Перевизначити каталог виведення метаданих збірки" + +#. TRANSLATORS: ascompose flag description for: --icons-dir +#: tools/appstream-compose.c:202 +msgid "Override the icon output directory" +msgstr "Перевизначити каталог виведення піктограм" + +#. TRANSLATORS: ascompose flag description for: --media-dir +#: tools/appstream-compose.c:205 +msgid "" +"Set the media output directory (for media data to be served by a webserver)" +msgstr "Встановити каталог виведення мультимедійних даних (для мультимедійних даних, обслуговувати які має сервер)" + +#. TRANSLATORS: ascompose flag description for: --hints-dir +#: tools/appstream-compose.c:208 +msgid "Set a directory where HTML and text issue reports will be stored" +msgstr "" +"Встановити каталог, у якому зберігатимуться звіти щодо вад у форматі HTML і " +"текстовому форматі" + +#. TRANSLATORS: ascompose flag description for: --origin +#. TRANSLATORS: ascompose flag description for: --media-baseurl +#: tools/appstream-compose.c:211 tools/appstream-compose.c:214 +msgid "Set the origin name" +msgstr "Встановити назву походження" + +#. TRANSLATORS: ascompose flag description for: --components +#: tools/appstream-compose.c:217 +msgid "A comma-separated list of component-IDs to accept" +msgstr "" +"Список ідентифікаторів компонентів, відокремлених комами, які слід приймати" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:231 +msgid "Failed to parse arguments" +msgstr "Не вдалося обробити аргументи" + +#. TRANSLATORS: Output if appstreamcli --version is executed. +#: tools/appstream-compose.c:242 tools/appstreamcli.c:1230 +#, c-format +msgid "AppStream version: %s" +msgstr "Версія AppStream: %s" + +#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. +#: tools/appstream-compose.c:245 tools/appstreamcli.c:1233 +#, c-format msgid "" -"This 'localization' component does not define any languages this " -"localization is for." +"AppStream CLI tool version: %s\n" +"AppStream library version: %s" msgstr "" -"Цей компонент «localization» не визначає жодної мови, для якої призначено " -"цей переклад." +"Версія інструмента командного рядка AppStream: %s\n" +"Версія бібліотеки AppStream: %s" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:509 +#. TRANSLATORS: invalid value for the --print-report CLI option +#: tools/appstream-compose.c:264 +#, c-format msgid "" -"This 'localization' component is missing an 'extends' tag, to specify the " -"components it adds localization to." +"Invalid value for `--print-report` option: %s\n" +"Possible values are:\n" +"`on-error` - only prints a short report if the run failed (default)\n" +"`short` - generates an abridged report\n" +"`full` - a detailed report will be printed" +msgstr "" +"Некоректне значення параметра `--print-report`: %s\n" +"Можливі значення:\n" +"`on-error` — виводить лише короткий звіт, якщо не вдасться запустити (типова " +"поведінка)\n" +"`short` — створює короткий звіт\n" +"`full` — виводить докладний звіт" + +#: tools/appstream-compose.c:285 +#, c-format +msgid "Automatically selected '%s' as data output location." +msgstr "Автоматично вибрано «%s» як місце виведення даних." + +#. TRANSLATORS: we don't have a destination directory for compose +#: tools/appstream-compose.c:288 +msgid "No destination directory set, please provide a data output location!" +msgstr "" +"Не встановлено каталог призначення. Будь ласка, вкажіть місце для виведення " +"даних!" + +#: tools/appstream-compose.c:298 tools/appstream-compose.c:300 +msgid "WARNING" +msgstr "ПОПЕРЕДЖЕННЯ" + +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:337 +#, c-format +msgid "Only accepting components: %s" +msgstr "Приймаємо лише такі компоненти: %s" + +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:340 +#, c-format +msgid "Only accepting component: %s" +msgstr "Приймаємо лише такий компонент: %s" + +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:345 +msgid "Processing directories:" +msgstr "Обробляємо каталоги:" + +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:348 +msgid "Processing directory:" +msgstr "Обробляємо каталог:" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:357 +msgid "Can not process invalid directory" +msgstr "Неможливо обробити некоректний каталог" + +#. TRANSLATORS: information message +#: tools/appstream-compose.c:369 +msgid "Composing metadata..." +msgstr "Компонуємо метадані…" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:374 +msgid "Failed to compose AppStream metadata" +msgstr "Не вдалося скомпонувати метадані AppStream" + +#. TRANSLATORS: appstream-compose failed to include all data +#: tools/appstream-compose.c:380 +msgid "Run failed, some data was ignored." +msgstr "Помилка запуску, деякі дані було проігноровано." + +#. TRANSLATORS: information message of appstream-compose +#: tools/appstream-compose.c:382 +msgid "Errors were raised during this compose run:" +msgstr "Під час цього запуску компонування сталися помилки:" + +#: tools/appstream-compose.c:383 +msgid "" +"Refer to the generated issue report data for details on the individual " +"problems." +msgstr "" +"Зверніться до даних створеного звіту щодо вади, щоб дізнатися про окремі " +"проблеми." + +#: tools/appstream-compose.c:386 +msgid "Overview of generated hints:" +msgstr "Огляд створених підказок:" + +#. TRANSLATORS: information message +#: tools/appstream-compose.c:388 +msgid "Success!" +msgstr "Виконано!" + +#. TRANSLATORS: ascli flag description for: --cachepath +#: tools/appstreamcli.c:59 +msgid "Manually selected location of AppStream cache." +msgstr "Встановлене вручну місце зберігання кешу AppStream." + +#. TRANSLATORS: ascli flag description for: --datapath +#: tools/appstreamcli.c:64 +msgid "Manually selected location of AppStream metadata to scan." +msgstr "Встановлене вручну розташування метаданих AppStream для сканування." + +#. TRANSLATORS: ascli flag description for: --no-cache +#: tools/appstreamcli.c:69 +msgid "Make request without any caching." +msgstr "Виконати запит без будь-якого кешування." + +#. TRANSLATORS: ascli flag description for: --format +#: tools/appstreamcli.c:85 +msgid "Default metadata format (valid values are 'xml' and 'yaml')." +msgstr "Типовий формат метаданих (коректними є значення «xml» і «yaml»)." + +#. TRANSLATORS: ascli flag description for: --details +#: tools/appstreamcli.c:100 +msgid "Print detailed output about found components." +msgstr "Вивести докладні дані щодо знайдених компонентів." + +#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) +#: tools/appstreamcli.c:118 +msgid "Also show pedantic hints." +msgstr "Також виводити підказки щодо найдрібніших неточностей." + +#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) +#: tools/appstreamcli.c:123 +msgid "Print detailed explanation for found issues." +msgstr "Вивести докладні дані щодо знайдених вад." + +#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) +#: tools/appstreamcli.c:128 +msgid "Do not use network access." +msgstr "Не використовувати доступ до мережі." + +#. TRANSLATORS: ascli flag description for: --format when validating XML files +#: tools/appstreamcli.c:133 +msgid "Format of the generated report (valid values are 'text' and 'yaml')." +msgstr "Формат створеного звіту (коректними є значення «xml» і «yaml»)." + +#. TRANSLATORS: This is the header to the --help menu for subcommands +#. TRANSLATORS: This is the header to the --help menu +#: tools/appstreamcli.c:153 tools/appstreamcli.c:981 +msgid "AppStream command-line interface" +msgstr "Інтерфейс командного рядка AppStream" + +#: tools/appstreamcli.c:156 +#, c-format +msgid "'%s' command" +msgstr "Команда «%s»" + +#. TRANSLATORS: An unknown option was passed to appstreamcli. +#: tools/appstreamcli.c:191 +#, c-format +msgid "Option '%s' is unknown." +msgstr "Параметр «%s» є невідомим програмі." + +#: tools/appstreamcli.c:195 tools/appstreamcli.c:1207 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options." msgstr "" -"У цьому записі компонента «localization» пропущено теґ «extends», який " -"визначає компоненти, для яких призначено цей переклад." +"Щоб переглянути повний список можливих параметрів командного рядка, віддайте " +"команду «%s --help»." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:521 +#: tools/appstreamcli.c:197 +#, c-format msgid "" -"This 'service' component is missing a 'launchable' tag of type 'service'." +"Run '%s --help' to see a list of available commands and options, and '%s %s " +"--help' to see a list of options specific for this subcommand." msgstr "" -"У цьому записі компонента «service» пропущено теґ «launchable» типу " -"«service»." +"Щоб переглянути повний список можливих команд і параметрів командного рядка, " +"віддайте команду «%s --help» або команду «%s %s --help», щоб переглянути " +"список параметрів, які є специфічними для цієї підкоманди." + +#. TRANSLATORS: ascli flag description for: --force +#: tools/appstreamcli.c:245 +msgid "Enforce a cache refresh." +msgstr "Примусове оновлення кешу." + +#. TRANSLATORS: ascli flag description for: --user +#: tools/appstreamcli.c:251 +msgid "Update the user-specific instead of the system-wide cache." +msgstr "" +"Оновити кешовані дані користувача, а не загальносистемні кешовані дані." + +#. TRANSLATORS: ascli flag description for: --origin (part of the "put" subcommand) +#: tools/appstreamcli.c:477 +msgid "Set the data origin for the installed metadata collection file." +msgstr "Встановити дату походження для встановленого файла збірки метаданих." + +#. TRANSLATORS: ascli flag description for: --user (part of the "put" subcommand) +#: tools/appstreamcli.c:482 +msgid "Install the file for the current user, instead of globally." +msgstr "Встановити файл для поточного користувача, а не на загальному рівні." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:473 +#: tools/appstreamcli.c:631 msgid "" -"This 'web-application' component is missing a 'icon' tag to specify a valid " -"icon." +"You need to provide at least two version numbers to compare as parameters." msgstr "" -"У цьому записі компонента «web-application» пропущено теґ «icon» для " -"визначення коректної піктограми." +"Для порівняння вам слід вказати принаймні два номери версій як параметри." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:467 -msgid "" -"This 'web-application' component is missing a 'launchable' tag of type 'url'." +#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. +#: tools/appstreamcli.c:660 +#, c-format +msgid "Unknown compare relation '%s'. Valid values are:" msgstr "" -"У цьому записі компонента «web-application» пропущено теґ «launchable» типу " -"«url»." +"Невідоме співвідношення порівняння, «%s». Коректними значеннями є такі:" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:479 +#: tools/appstreamcli.c:700 msgid "" -"This 'web-application' component is missing categorizations. A 'categories' " -"block is likely missing." +"Too many parameters: Need two version numbers or version numbers and a " +"comparison operator." msgstr "" -"У цьому компоненті «web-application» пропущено категоризації. Ймовірно, не " -"вистачає блоку «categories»." +"Забагато параметрів: слід вказати два номери версій або номери версій і " +"оператор порівняння." -#: src/as-validator-issue-tag.h:564 +#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) +#: tools/appstreamcli.c:726 msgid "" -"This XML document has an unknown root tag. Maybe this file is not a metainfo " -"document?" +"Use the given .desktop file to fill in the basic values of the metainfo file." msgstr "" -"У цього документа XML невідомий кореневий теґ. Можливо, цей файл не є " -"документом metainfo?" +"Використати вказаний файл .desktop для заповнення основних пунктів у файлі " +"метаінформації." #. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand -#: tools/appstream-cli.c:680 +#: tools/appstreamcli.c:731 msgid "" "This command takes optional TYPE and FILE positional arguments, FILE being a " "file to write to (or \"-\" for standard output)." @@ -1667,137 +2467,233 @@ "ФАЙЛ визначає файл, до якого слід записати дані (або «-», якщо дані слід " "вивести до стандартного виведення)." -#: src/as-validator-issue-tag.h:622 +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows +#: tools/appstreamcli.c:734 +#, c-format +msgid "The TYPE must be a valid component-type, such as: %s" +msgstr "Значенням ТИП має бути коректний запис компонент-тип, зокрема: %s" + +#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) +#: tools/appstreamcli.c:775 +msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." +msgstr "" +"Скористатися вказаним рядокм для запису «Exec=» у файлі записів .desktop." + +#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command +#: tools/appstreamcli.c:815 +msgid "Assume the input file is in the selected format ('yaml' or 'text')." +msgstr "" +"Вважати, що дані у вхідному файлі записано у вибраному форматі («yaml» або " +"«text»)." + +#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command +#: tools/appstreamcli.c:820 msgid "" -"This component extends, provides, requires or recommends itself, which is " -"certainly not intended and may confuse users or machines dealing with this " -"metadata." +"Limit the number of release entries that end up in the metainfo file (0 for " +"unlimited)." msgstr "" -"Цей компонент розширює, надає, потребує і рекомендує самого себе. Звичайно " -"ж, автор запису не мав цього на увазі. Такий запис може бути неправильно " -"витлумачено користувачами та комп'ютерами, які оброблятимуть метадані." +"Обмежити кількість записів щодо випусків у отриманому файлі метаінформації " +"(0 — без обмежень)." -#: src/as-validator-issue-tag.h:579 -msgid "This component metadata refers to a non-existing .desktop file." +#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command +#: tools/appstreamcli.c:862 +msgid "Generate the output in the selected format ('yaml' or 'text')." +msgstr "Вивести дані у вибраному форматі («yaml» або «text»)." + +#: tools/appstreamcli.c:894 +#, c-format +msgid "Compose binary '%s' was not found! Can not continue." msgstr "" -"Метадані цього компонента посилаються на файл .desktop, якого не існує." +"Виконуваний файл компонувальника «%s» не знайдено. Продовження обробки " +"неможливе." -#: src/as-validator-issue-tag.h:69 +#. TRANSLATORS: this is a (usually shorter) command alias, shown after the command summary text +#: tools/appstreamcli.c:956 +#, c-format +msgid "(Alias: '%s')" +msgstr "(Альтернатива: «%s»)" + +#. these are commands we can use with appstreamcli +#: tools/appstreamcli.c:983 +msgid "Subcommands:" +msgstr "Підкоманди:" + +#: tools/appstreamcli.c:1029 msgid "" -"This description paragraph contains invalid markup. Currently, only " -"and are permitted." +"You can find information about subcommand-specific options by passing \"--" +"help\" to the subcommand." msgstr "" -"Абзац опису містить некоректну розмітку. У поточній версії можна " -"використовувати лише теґи і ." +"Переглянути усі специфічні для підкоманди параметри можна передавши " +"підкоманді параметр «--help»." -#: src/as-validator-issue-tag.h:57 +#. TRANSLATORS: ascli has been run with unknown command. '%s --help' is the command to receive help and should not be translated. +#: tools/appstreamcli.c:1052 +#, c-format msgid "" -"This element (paragraph, list, etc.) of a tag must not be " -"localized individually in collection metadata. Localize the whole " -" tag instead. The AppStream collection metadata generator (e." -"g. `appstream-generator`) will already do the right thing when compiling the " -"data." +"Command '%s' is unknown. Run '%s --help' for a list of available commands." msgstr "" -"Цей елемент (абзац, список тощо) теґу не варто перекладати " -"окремо у збірці метаданих. Замість цього, має бути здійснено переклад цілого " -"теґу . Засіб створення збірок AppStream (наприклад «appstream-" -"generator») має автоматично виконати правильне форматування під час " -"компілювання даних." +"Невідома команда «%s». Щоб переглянути список доступних команд, віддайте " +"команду «%s --help»." + +#. TRANSLATORS: ascli flag description for: --verbose +#: tools/appstreamcli.c:1082 +msgid "Show extra debugging information." +msgstr "Вивести додаткові діагностичні дані." + +#. TRANSLATORS: ascli flag description for: --profile +#: tools/appstreamcli.c:1090 +msgid "Enable profiling" +msgstr "Увімкнути профілювання" + +#. TRANSLATORS: `appstreamcli search` command description. +#: tools/appstreamcli.c:1102 +msgid "Search the component database." +msgstr "Шукати у базі даних компонентів." + +#. TRANSLATORS: `appstreamcli get` command description. +#: tools/appstreamcli.c:1107 +msgid "Get information about a component by its ID." +msgstr "Отримати інформацію щодо компонента за його ідентифікатором." + +#. TRANSLATORS: `appstreamcli what-provides` command description. +#: tools/appstreamcli.c:1112 +msgid "" +"Get components which provide the given item. Needs an item type (e.g. lib, " +"bin, python3, …) and item value as parameter." +msgstr "" +"Отримати назви компонентів, які надають вказаний запис. Слід вказати тип " +"запису (наприклад lib, bin, python3, …) і значення запису як параметр." + +#. TRANSLATORS: `appstreamcli dump` command description. +#: tools/appstreamcli.c:1118 +msgid "Dump raw XML metadata for a component matching the ID." +msgstr "" +"Створити дамп необроблених метаданих XML для компонента з відповідним " +"ідентифікатором." + +#. TRANSLATORS: `appstreamcli refresh-cache` command description. +#: tools/appstreamcli.c:1123 +msgid "Rebuild the component metadata cache." +msgstr "Перебудувати кеш метаданих щодо компонентів." + +#. TRANSLATORS: `appstreamcli validate` command description. +#: tools/appstreamcli.c:1129 +msgid "Validate AppStream XML files for issues." +msgstr "Перевірити файли XML AppStream на вади." -#: src/as-validator-issue-tag.h:455 -msgid "" -"This generic component is missing a long description. It may be useful to " -"add one." +#. TRANSLATORS: `appstreamcli validate-tree` command description. +#: tools/appstreamcli.c:1134 +msgid "Validate an installed file-tree of an application for valid metadata." msgstr "" -"Цей загальний компонент не містить повного опису. Варто додати такий опис." +"Перевіряти на коректність метаданих усю встановлену ієрархію файлів програми." -#: src/as-validator-issue-tag.h:421 -msgid "" -"This tag is a GNOME-specific extension to AppStream and not part of the " -"official specification. Do not expect it to work in all implementations and " -"in all software centers." +#. TRANSLATORS: `appstreamcli install` command description. +#: tools/appstreamcli.c:1140 +msgid "Install software matching the component-ID." msgstr "" -"Цей теґ з специфічним для GNOME розширенням специфікації AppStream. Він не є " -"частиною офіційної специфікації. Не варто очікувати його працездатності в " -"усіх реалізаціях та усіх програмах-центрах програмного забезпечення." +"Встановити програмне забезпечення, що відповідає ідентифікатору компонента." -#: src/as-validator-issue-tag.h:41 -msgid "This tag requires a type property." -msgstr "У цьому тезі має бути властивість type." +#. TRANSLATORS: `appstreamcli remove` command description. +#: tools/appstreamcli.c:1145 +msgid "Remove software matching the component-ID." +msgstr "Вилучити програмне забезпечення, вказане ідентифікатором компонента." -#: data/org.freedesktop.appstream.cli.metainfo.xml:15 -msgid "" -"This tool allows for reading, writing, validating and transformation of " -"AppStream XML or YAML metadata. It also gives access to the system metadata " -"pool, for example to query for software that provides a specific MIME-type, " -"and installing it by its software component identifier." -msgstr "" -"За допомогою цієї програми ви зможете читати, записувати, перевіряти та " -"перетворювати метадані AppStream у форматах XML і YAML. Також за її " -"допомогою можна отримувати доступ до буфера загальносистемних метаданих, " -"наприклад, для того, щоб визначити програмне забезпечення для обробки даних " -"певного типу MIME та його встановлення за ідентифікатором компонента " -"програмного забезпечення." +#. TRANSLATORS: `appstreamcli status` command description. +#: tools/appstreamcli.c:1151 +msgid "Display status information about available AppStream metadata." +msgstr "Вивести дані щодо стану доступних метаданих AppStream." -#: src/as-validator-issue-tag.h:388 +#. TRANSLATORS: `appstreamcli os-info` command description. +#: tools/appstreamcli.c:1156 msgid "" -"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." +"Show information about the current operating system from the metadata index." msgstr "" -"У вебпосиланні використано протокол FTP. Варто користуватися замість нього " -"протоколом HTTP(S)." +"Показати відомості щодо поточної операційної системи з покажчика метаданих." -#: tools/appstream-cli.c:648 -msgid "" -"Too many parameters: Need two version numbers or version numbers and a " -"comparison operator." -msgstr "" -"Забагато параметрів: слід вказати два номери версій або номери версій і " -"оператор порівняння." +#. TRANSLATORS: `appstreamcli put` command description. +#: tools/appstreamcli.c:1161 +msgid "Install a metadata file into the right location." +msgstr "Встановити файл метаданих у належному місці." + +#. TRANSLATORS: `appstreamcli convert` command description. "Collection XML" is a term describing a specific type of AppStream XML data. +#: tools/appstreamcli.c:1166 +msgid "Convert collection XML to YAML or vice versa." +msgstr "Перетворити XML збірки на YAML або навпаки." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:461 +#. TRANSLATORS: `appstreamcli vercmp` command description. +#: tools/appstreamcli.c:1171 +msgid "Compare two version numbers." +msgstr "Порівняти два номери версій." + +#. TRANSLATORS: `appstreamcli new-template` command description. +#: tools/appstreamcli.c:1177 msgid "" -"Type 'console-application' component, but no information about binaries in " -"$PATH was provided via a 'provides/binary' tag." +"Create a template for a metainfo file (to be filled out by the upstream " +"project)." msgstr "" -"Маємо компонент типу «console-application», але не вказано відомостей щодо " -"виконуваних файлів у $PATH за допомогою теґу «provides/binary»." +"Створити шаблон файла метаінформації (для заповнення у основному проєкті)." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:491 -msgid "" -"Type 'driver' component, but no modalias information was provided via a " -"provides/modalias tag." +#. TRANSLATORS: `appstreamcli make-desktop-file` command description. +#: tools/appstreamcli.c:1182 +msgid "Create a desktop-entry file from a metainfo file." +msgstr "Створити файл запису desktop з файла метаінформації." + +#. TRANSLATORS: `appstreamcli news-to-metainfo` command description. +#: tools/appstreamcli.c:1187 +msgid "Convert a YAML or text NEWS file into metainfo releases." msgstr "" -"Маємо компонент типу «driver», але не вказано відомостей щодо modalias за " -"допомогою теґу provides/modalias." +"Перетворити файл NEWS у форматі YAML або текстовому форматі на " +"метаінформацію щодо випусків." -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:485 -msgid "" -"Type 'font' component, but no font information was provided via a 'provides/" -"font' tag." +#. TRANSLATORS: `appstreamcli metainfo-to-news` command description. +#: tools/appstreamcli.c:1192 +msgid "Write NEWS text or YAML file with information from a metainfo file." msgstr "" -"Маємо компонент типу «font», але не вказано відомостей щодо шрифту за " -"допомогою теґу «provides/font»." +"Записати текстовий файл або файл YAML NEWS, заповнивши його даними з файла " +"метаінформації." -#: src/as-validator.c:333 -msgid "URL format is invalid." -msgstr "Формат адреси є некоректним." +#. TRANSLATORS: `appstreamcli compose` command description. +#: tools/appstreamcli.c:1198 +msgid "Compose AppStream collection metadata from directory trees." +msgstr "Скомпонувати метадані збірки AppStream з ієрархії каталогів." + +#. TRANSLATORS: ascli has been run without command. +#: tools/appstreamcli.c:1206 +msgid "You need to specify a command." +msgstr "Вам слід вказати команду." + +#. TRANSLATORS: In ascli: The requested action needs higher permissions. +#: tools/ascli-actions-mdata.c:70 +msgid "You might need superuser permissions to perform this action." +msgstr "Для виконання цієї дії потрібні права адміністративного доступу." + +#. we performed a cache refresh +#. TRANSLATORS: Updating the metadata cache succeeded +#: tools/ascli-actions-mdata.c:80 +msgid "AppStream cache update completed successfully." +msgstr "Оновлення кешу AppStream успішно завершено." + +#. cache wasn't updated, so the update wasn't necessary +#: tools/ascli-actions-mdata.c:86 +msgid "AppStream cache update is not necessary." +msgstr "Оновлення кешу AppStream непотрібне." + +#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments +#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. +#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:253 +#: tools/ascli-actions-pkgmgr.c:80 +msgid "You need to specify a component-ID." +msgstr "Вам слід вказати ідентифікатор компонента." -#: tools/ascli-actions-mdata.c:544 +#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:265 +#: tools/ascli-actions-pkgmgr.c:93 #, c-format -msgid "Unable to build the template metainfo file: %s" -msgstr "Не вдалося побудувати файл шаблона метаінформації: %s" +msgid "Unable to find component with ID '%s'!" +msgstr "Не вдалося знайти компонент з ідентифікатором «%s»!" -#. TRANSLATORS: User is trying to convert a file in ascli -#: tools/ascli-actions-mdata.c:400 -msgid "" -"Unable to convert file: Could not determine output format, please set it " -"explicitly using '--format='." -msgstr "" -"Не вдалося перетворити файл: програма не змогла визначити формат виведення " -"даних; будь ласка, вкажіть його явно за допомогою параметра «--format=»." +#: tools/ascli-actions-mdata.c:164 +msgid "You need to specify a term to search for." +msgstr "Вам слід вказати ключ пошуку." #. TRANSLATORS: We failed to find any component in the database, likely due to an error #: tools/ascli-actions-mdata.c:177 @@ -1805,209 +2701,225 @@ msgid "Unable to find component matching %s!" msgstr "Не вдалося знайти компонент, що відповідає запиту %s!" -#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:266 -#: tools/ascli-actions-pkgmgr.c:93 +#: tools/ascli-actions-mdata.c:182 #, c-format -msgid "Unable to find component with ID '%s'!" -msgstr "Не вдалося знайти компонент з ідентифікатором «%s»!" +msgid "No component matching '%s' found." +msgstr "Не знайдено компонентів, що відповідали б запиту «%s»." -#: tools/ascli-actions-misc.c:224 +#: tools/ascli-actions-mdata.c:206 +msgid "No value for the item to search for was defined." +msgstr "Не визначено значення запису, яке слід знайти." + +#: tools/ascli-actions-mdata.c:212 +msgid "Invalid type for provided item selected. Valid values are:" +msgstr "Вибрано некоректний тип для запису «provided». Коректні значення:" + +#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results +#: tools/ascli-actions-mdata.c:227 #, c-format -msgid "Unable to load existing desktop-entry file template: %s" -msgstr "Не вдалося завантажити наявний шаблон файла .desktop: %s" +msgid "Could not find component providing '%s::%s'." +msgstr "Не вдалося знайти компонент, що містить «%s::%s»." -#: src/as-validator-issue-tag.h:356 -msgid "Unable to reach remote icon at the given web location - does it exist?" -msgstr "" -"Не вдалося отримати віддалену піктограму за вказаною вебадресою. Чи існує ця " -"піктограма?" +#: tools/ascli-actions-mdata.c:306 +msgid "You need to specify a metadata file." +msgstr "Вам слід вказати файл метаданих." -#: src/as-validator-issue-tag.h:378 +#: tools/ascli-actions-mdata.c:320 +#, c-format +msgid "Unable to install metadata file: %s" +msgstr "Не вдалося зберегти файл метаданих: %s" + +#: tools/ascli-actions-mdata.c:340 +msgid "You need to specify an input and output file." +msgstr "Вам слід вказати файл вхідних і вихідних даних." + +#: tools/ascli-actions-mdata.c:347 +#, c-format +msgid "Metadata file '%s' does not exist." +msgstr "Файла метаданих «%s» не існує." + +#. TRANSLATORS: User is trying to convert a file in ascli +#: tools/ascli-actions-mdata.c:387 msgid "" -"Unable to reach remote location that this URL references - does it exist?" +"Unable to convert file: Could not determine output format, please set it " +"explicitly using '--format='." msgstr "" -"Не вдалося отримати дані, на які посилається ця адреса. Чи існують ці дані?" +"Не вдалося перетворити файл: програма не змогла визначити формат виведення " +"даних; будь ласка, вкажіть його явно за допомогою параметра «--format=»." -#: src/as-validator-issue-tag.h:179 +#: tools/ascli-actions-mdata.c:438 +#, c-format +msgid "Unable to find operating system component '%s'!" +msgstr "Не вдалося знайти компонент операційної системи «%s»!" + +#: tools/ascli-actions-mdata.c:443 +msgid "Version" +msgstr "Версія" + +#: tools/ascli-actions-mdata.c:467 msgid "" -"Unable to reach the screenshot image on its remote location - does the image " -"exist?" +"You need to give an AppStream software component type to generate a " +"template. Possible values are:" msgstr "" -"Не вдалося отримати зображення знімка екрана за вказаною адресою. Чи існує " -"це зображення?" +"Для створення шаблона вам слід вказати тип компонента програмного " +"забезпечення у AppStream. Можливі значення типу:" -#: src/as-validator-issue-tag.h:184 +#: tools/ascli-actions-mdata.c:469 +#, c-format msgid "" -"Unable to reach the screenshot video on its remote location - does the video " -"file exist?" +"The software component type '%s' is not valid in AppStream. Possible values " +"are:" msgstr "" -"Не вдалося отримати відео для запису screenshot за вказаною адресою. Чи " -"існує це відео?" - -#: src/as-validator-issue-tag.h:542 -msgid "Unable to read file." -msgstr "Не вдалося прочитати файл." +"Тип компонента програмного забезпечення «%s» є некоректним у AppStream. " +"Коректні типи:" -#: src/as-validator-issue-tag.h:574 -msgid "Unable to read the .desktop file associated with this component." -msgstr "Не вдалося прочитати файл .desktop, пов'язаний із цим компонентом." +#: tools/ascli-actions-mdata.c:487 +#, c-format +msgid "The .desktop file '%s' does not exist." +msgstr "Файла .desktop «%s» не існує." -#: tools/ascli-actions-mdata.c:473 +#: tools/ascli-actions-mdata.c:493 #, c-format msgid "Unable to read the .desktop file: %s" msgstr "Не вдалося прочитати файл .desktop: %s" -#: src/as-pool.c:606 -msgid "Unable to remove old cache." -msgstr "Не вдалося вилучити застарілий кеш." - -#: tools/ascli-actions-misc.c:370 +#: tools/ascli-actions-mdata.c:564 #, c-format -msgid "Unable to save desktop entry file: %s" -msgstr "Не вдалося зберегти файл записів .desktop: %s" +msgid "Unable to build the template metainfo file: %s" +msgstr "Не вдалося побудувати файл шаблона метаінформації: %s" -#: tools/ascli-actions-mdata.c:552 +#: tools/ascli-actions-mdata.c:572 #, c-format msgid "Unable to save the template metainfo file: %s" msgstr "Не вдалося зберегти файл метаінформації шаблона: %s" -#: tools/ascli-actions-pkgmgr.c:67 -#, c-format -msgid "Unable to spawn package manager: %s" -msgstr "Не вдалося запустити засіб керування пакунками: %s" - -#: tools/ascli-actions-mdata.c:322 -#, c-format -msgid "Unable to write to '%s', can not install metainfo file." -msgstr "" -"Не вдалося виконати запис до «%s», не вдалося встановити файл metainfo." - -#. TRANSLATORS: ascli has been run with unknown command. -#: tools/appstream-cli.c:1009 -#, c-format -msgid "Unknown command '%s'." -msgstr "Невідома команда «%s»." +#. TRANSLATORS: In the status report of ascli: Header +#: tools/ascli-actions-misc.c:47 +msgid "AppStream Status:" +msgstr "Стан AppStream:" -#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. -#: tools/appstream-cli.c:608 +#: tools/ascli-actions-misc.c:48 #, c-format -msgid "Unknown compare relation '%s'. Valid values are:" -msgstr "" -"Невідоме співвідношення порівняння, «%s». Коректними значеннями є такі:" - -#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) -#: tools/appstream-cli.c:675 -msgid "" -"Use the given .desktop file to fill in the basic values of the metainfo file." -msgstr "" -"Використати вказаний файл .desktop для заповнення основних пунктів у файлі " -"метаінформації." - -#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) -#: tools/appstream-cli.c:725 -msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." -msgstr "" -"Скористатися вказаним рядокм для запису «Exec=» у файлі записів .desktop." - -#. TRANSLATORS: this is the menu spec main category for Utilities -#: src/as-category.c:329 -msgid "Utilities" -msgstr "Інструменти" - -#: tools/appstream-cli.c:856 -msgid "Validate AppStream XML files for issues." -msgstr "Перевірити файли XML AppStream на вади." +msgid "Version: %s" +msgstr "Версія: %s" -#: tools/appstream-cli.c:857 -msgid "Validate an installed file-tree of an application for valid metadata." -msgstr "" -"Перевіряти на коректність метаданих усю встановлену ієрархію файлів програми." +#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions +#: tools/ascli-actions-misc.c:52 +msgid "Distribution metadata:" +msgstr "Метадані дистрибутива:" -#: tools/ascli-actions-validate.c:301 tools/ascli-actions-validate.c:442 -#, c-format -msgid "Validation failed: %s" -msgstr "Не пройдено перевірку: %s" +#: tools/ascli-actions-misc.c:94 +msgid "Iconsets" +msgstr "Набори піктограм" -#: tools/ascli-actions-validate.c:289 tools/ascli-actions-validate.c:430 -msgid "Validation was successful." -msgstr "Перевірку пройдено." +#: tools/ascli-actions-misc.c:105 +msgid "No icons." +msgstr "Немає піктограм." -#: tools/ascli-actions-validate.c:291 tools/ascli-actions-validate.c:432 -#, c-format -msgid "Validation was successful: %s" -msgstr "Перевірку пройдено: %s" +#. TRANSLATORS: No metainfo files have been found +#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 +msgid "Empty." +msgstr "Порожньо." -#: tools/appstream-cli.c:851 -msgid "Value of the item that should be found." -msgstr "Значення запису, який має бути знайдено." +#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report +#: tools/ascli-actions-misc.c:116 +msgid "Metainfo files:" +msgstr "Файли metainfo:" -#: src/as-category.c:177 -msgctxt "Category of Graphics" -msgid "Vector Graphics" -msgstr "Векторна графіка" +#: tools/ascli-actions-misc.c:123 +#, c-format +msgid "Found %i components." +msgstr "Знайдено %i компонентів." -#: tools/ascli-actions-misc.c:48 +#. TRANSLATORS: Found metainfo files in legacy directories +#: tools/ascli-actions-misc.c:138 #, c-format -msgid "Version: %s" -msgstr "Версія: %s" +msgid "Found %i components in legacy paths." +msgstr "За застарілими шляхами знайдено %i компонентів." -#: src/as-category.c:180 -msgctxt "Category of Graphics" -msgid "Viewers" -msgstr "Переглядачі" +#. TRANSLATORS: Status summary in ascli +#: tools/ascli-actions-misc.c:145 +msgid "Summary:" +msgstr "Резюме:" #: tools/ascli-actions-misc.c:153 #, c-format msgid "We have information on %i software components." msgstr "Маємо дані щодо %i компонентів програмного забезпечення." -#: src/as-category.c:270 -msgctxt "Category of Communication" -msgid "Web Browsers" -msgstr "Переглядачі інтернету" - -#: src/as-category.c:202 -msgctxt "Category of Office" -msgid "Word Processor" -msgstr "Текстові процесори" +#: tools/ascli-actions-misc.c:159 +#, c-format +msgid "Error while loading the metadata pool: %s" +msgstr "Помилка під час спроби завантаження сховища метаданих: %s" -#: tools/appstream-cli.c:871 -msgid "Write NEWS text or YAML file with information from a metainfo file." -msgstr "" -"Записати текстовий файл або файл YAML NEWS, заповнивши його даними з файла " -"метаінформації." +#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 +msgid "You need to specify a metainfo file as input." +msgstr "Вам слід вказати вхідний файл метаінформації." -#: tools/appstream-cli.c:874 +#: tools/ascli-actions-misc.c:188 msgid "" -"You can find information about subcommand-specific options by passing \"--" -"help\" to the subcommand." +"You need to specify a desktop-entry file to create or augment as output." msgstr "" -"Переглянути усі специфічні для підкоманди параметри можна передавши " -"підкоманді параметр «--help»." +"Вам слід вказати файл записів .desktop для створення або удосконалення." -#. TRANSLATORS: In ascli: The requested action needs higher permissions. -#: tools/ascli-actions-mdata.c:70 -msgid "You might need superuser permissions to perform this action." -msgstr "Для виконання цієї дії потрібні права адміністративного доступу." +#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 +#: tools/ascli-actions-misc.c:515 +#, c-format +msgid "Metainfo file '%s' does not exist." +msgstr "Файла метаінформації «%s» не існує." -#: tools/ascli-actions-mdata.c:447 -msgid "" -"You need to give an AppStream software component type to generate a " -"template. Possible values are:" +#: tools/ascli-actions-misc.c:219 +#, c-format +msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." +msgstr "Розширюємо наявні дані з файа desktop «%s» даними з «%s»." + +#: tools/ascli-actions-misc.c:224 +#, c-format +msgid "Unable to load existing desktop-entry file template: %s" +msgstr "Не вдалося завантажити наявний шаблон файла .desktop: %s" + +#: tools/ascli-actions-misc.c:228 +#, c-format +msgid "Creating new desktop-entry file '%s' using data from '%s'" +msgstr "Створюємо новий файл desktop «%s» на основі даних з «%s»" + +#: tools/ascli-actions-misc.c:284 +msgid "No stock icon name was provided in the metainfo file. Can not continue." msgstr "" -"Для створення шаблона вам слід вказати тип компонента програмного " -"забезпечення у AppStream. Можливі значення типу:" +"У файлі метаінформації не вказано типової піктограми. Продовження обробки " +"неможливе." -#: tools/appstream-cli.c:579 +#: tools/ascli-actions-misc.c:306 msgid "" -"You need to provide at least two version numbers to compare as parameters." +"No provided binary specified in metainfo file, and no exec command specified " +"via '--exec'. Can not create 'Exec=' key." msgstr "" -"Для порівняння вам слід вказати принаймні два номери версій як параметри." +"У файлі метаінформації не вказано жодного виконуваного файла і не вказано " +"команди запуску програми за допомогою «--exec». Через це не вдалося створити " +"запис «Exec=»." + +#: tools/ascli-actions-misc.c:370 +#, c-format +msgid "Unable to save desktop entry file: %s" +msgstr "Не вдалося зберегти файл записів .desktop: %s" #: tools/ascli-actions-misc.c:393 msgid "You need to specify a NEWS file as input." msgstr "Вам слід вказати вхідний файл NEWS." +#: tools/ascli-actions-misc.c:397 +msgid "" +"You need to specify a metainfo file to augment, or '-' to print to stdout." +msgstr "" +"Вам слід вказати файл метаінформації для розширення або «-», якщо дані слід " +"вивести до стандартного виведення." + +#: tools/ascli-actions-misc.c:402 +msgid "No output filename specified, modifying metainfo file directly." +msgstr "" +"Не вказано назви файла для виведення даних. Вносимо зміни до файла " +"метаінформації безпосередньо." + #: tools/ascli-actions-misc.c:509 msgid "You need to specify a NEWS file as output, or '-' to print to stdout." msgstr "" @@ -2018,132 +2930,189 @@ msgid "You need to specify a NEWS format to write the output in." msgstr "Вам слід вказати формат, у якому має бути виведено дані NEWS." -#. TRANSLATORS: ascli has been run without command. -#: tools/appstream-cli.c:925 -msgid "You need to specify a command." -msgstr "Вам слід вказати команду." - -#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments -#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. -#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:254 -#: tools/ascli-actions-pkgmgr.c:80 -msgid "You need to specify a component-ID." -msgstr "Вам слід вказати ідентифікатор компонента." - -#: tools/ascli-actions-misc.c:188 -msgid "" -"You need to specify a desktop-entry file to create or augment as output." -msgstr "" -"Вам слід вказати файл записів .desktop для створення або удосконалення." - -#: tools/ascli-actions-mdata.c:309 -msgid "You need to specify a metadata file." -msgstr "Вам слід вказати файл метаданих." - -#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 -msgid "You need to specify a metainfo file as input." -msgstr "Вам слід вказати вхідний файл метаінформації." - -#: tools/ascli-actions-misc.c:397 +#: tools/ascli-actions-pkgmgr.c:53 msgid "" -"You need to specify a metainfo file to augment, or '-' to print to stdout." +"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" +"\" (part of PackageKit) is available." msgstr "" -"Вам слід вказати файл метаінформації для розширення або «-», якщо дані слід " -"вивести до стандартного виведення." - -#: tools/ascli-actions-validate.c:385 tools/ascli-actions-validate.c:479 -msgid "You need to specify a root directory to start validation!" -msgstr "Для перевірки слід вказати кореневий каталог!" - -#: tools/ascli-actions-mdata.c:164 -msgid "You need to specify a term to search for." -msgstr "Вам слід вказати ключ пошуку." +"Не знайдено відповідного засобу керування пакунками з командного рядка. Будь " +"ласка, встановіть, наприклад, «pkcon» (частину PackageKit)." -#: tools/ascli-actions-mdata.c:357 -msgid "You need to specify an input and output file." -msgstr "Вам слід вказати файл вхідних і вихідних даних." +#: tools/ascli-actions-pkgmgr.c:67 +#, c-format +msgid "Unable to spawn package manager: %s" +msgstr "Не вдалося запустити засіб керування пакунками: %s" -#: tools/ascli-actions-validate.c:263 tools/ascli-actions-validate.c:337 -msgid "You need to specify at least one file to validate!" -msgstr "Вам слід вказати принаймні один файл для перевірки!" +#. TRANSLATORS: We found no distribution package or bundle to install to make this software available +#: tools/ascli-actions-pkgmgr.c:106 +#, c-format +msgid "Component '%s' has no installation candidate." +msgstr "Для компонента «%s» немає кандидата для встановлення." -#. TRANSLATORS: List of "grey-listed" words sperated with ";" -#. * Do not translate this list directly. Instead, -#. * provide a list of words in your language that people are likely -#. * to include in a search but that should normally be ignored in -#. * the search. -#. -#: src/as-pool.c:107 -msgid "app;application;package;program;programme;suite;tool" -msgstr "застосунок;застосунок;пакет;програма;програма;комплект;інструмент" +#: tools/ascli-actions-validate.c:176 tools/ascli-actions-validate.c:354 +#, c-format +msgid "File '%s' does not exist." +msgstr "Файла «%s» не існує." -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:223 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "error"-type hints +#: tools/ascli-actions-validate.c:228 #, c-format msgid "errors: %lu" msgstr "помилок: %lu" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:237 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "warning"-type hints +#: tools/ascli-actions-validate.c:235 +#, c-format +msgid "warnings: %lu" +msgstr "попереджень: %lu" + +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "info"-type hints +#: tools/ascli-actions-validate.c:242 #, c-format msgid "infos: %lu" msgstr "повідомлень: %lu" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:244 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "pedantic"-type hints +#: tools/ascli-actions-validate.c:249 #, c-format msgid "pedantic: %lu" msgstr "педантичних зауважень: %lu" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:230 +#: tools/ascli-actions-validate.c:268 tools/ascli-actions-validate.c:342 +msgid "You need to specify at least one file to validate!" +msgstr "Вам слід вказати принаймні один файл для перевірки!" + +#: tools/ascli-actions-validate.c:294 tools/ascli-actions-validate.c:435 +msgid "Validation was successful." +msgstr "Перевірку пройдено." + +#: tools/ascli-actions-validate.c:296 tools/ascli-actions-validate.c:437 #, c-format -msgid "warnings: %lu" -msgstr "попереджень: %lu" +msgid "Validation was successful: %s" +msgstr "Перевірку пройдено: %s" -#~ msgid "" -#~ "Unable to find the curl binary. remote URLs can not be checked for " -#~ "validity!" -#~ msgstr "" -#~ "Не вдалося знайти виконуваний файл curl. Не вдасться перевірити чинність " -#~ "віддалених адрес!" +#: tools/ascli-actions-validate.c:306 tools/ascli-actions-validate.c:447 +#, c-format +msgid "Validation failed: %s" +msgstr "Не пройдено перевірку: %s" -#~ msgid "Command '%s' is unknown." -#~ msgstr "Невідома команда «%s»." +#: tools/ascli-actions-validate.c:368 tools/ascli-actions-validate.c:497 +#, c-format +msgid "" +"The validator can not create reports in the '%s' format. You may select " +"'yaml' or 'text' instead." +msgstr "" +"Засіб перевірки не може створювати звіти у форматі «%s». Ви можете вибрати " +"«yaml» або «text»." + +#: tools/ascli-actions-validate.c:390 tools/ascli-actions-validate.c:484 +msgid "You need to specify a root directory to start validation!" +msgstr "Для перевірки слід вказати кореневий каталог!" -#~ msgid "Do not use any caches when performing the request." -#~ msgstr "Не використовувати кеш взагалі під час виконання запиту." +#: tools/ascli-utils.c:266 +msgid "Identifier" +msgstr "Ідентифікатор" -#~ msgid "AppStream cache update failed." -#~ msgstr "Спроба оновити кеш AppStream зазнала невдачі." +#: tools/ascli-utils.c:268 +msgid "Internal ID" +msgstr "Внутрішній ідентифікатор" -#~ msgid "" -#~ "AppStream data pool was loaded, but some metadata was ignored due to " -#~ "errors." -#~ msgstr "" -#~ "Сховище даних AppStream завантажено, але деякі метадані проігноровано " -#~ "через помилки." +#: tools/ascli-utils.c:269 +msgid "Name" +msgstr "Назва" + +#: tools/ascli-utils.c:270 +msgid "Summary" +msgstr "Резюме" + +#: tools/ascli-utils.c:271 +msgid "Package" +msgstr "Пакунок" + +#: tools/ascli-utils.c:272 +msgid "Bundle" +msgstr "Кортеж" + +#: tools/ascli-utils.c:273 +msgid "Homepage" +msgstr "Домашня сторінка" + +#: tools/ascli-utils.c:274 +msgid "Icon" +msgstr "Піктограма" + +#. developer name +#: tools/ascli-utils.c:294 +msgid "Developer" +msgstr "Розробник" + +#: tools/ascli-utils.c:300 +msgid "Extends" +msgstr "Розширення" + +#: tools/ascli-utils.c:306 +msgid "Description" +msgstr "Опис" + +#: tools/ascli-utils.c:326 +msgid "Default Screenshot URL" +msgstr "Адреса типового знімка вікна" + +#. project group +#: tools/ascli-utils.c:333 +msgid "Project Group" +msgstr "Група проєктів" + +#. license +#: tools/ascli-utils.c:336 +msgid "License" +msgstr "Ліцензія" + +#: tools/ascli-utils.c:342 +msgid "Categories" +msgstr "Категорії" -#~ msgid "Can not search for unknown component type." -#~ msgstr "Пошук із невідомим типом компонента неможливий." +#: tools/ascli-utils.c:350 +msgid "Compulsory for" +msgstr "Обов’язкове для" + +#: tools/ascli-utils.c:378 +msgid "Provided Items" +msgstr "Надані записи" + +#, c-format +#~ msgid "Unable to open new cache file: %s" +#~ msgstr "Не вдалося відкрити новий файл кешу: %s" -#~ msgid "Category of Games" -#~ msgstr "Категорії" +#~ msgid "" +#~ "AppStream is a cross-distribution specification to provide metadata about " +#~ "software components." +#~ msgstr "" +#~ "AppStream — багатоплатформова специфікація надання метаданих щодо " +#~ "компонентів програмного забезпечення." -#~ msgid "Category of Office" -#~ msgstr "Категорії" +#, c-format +#~ msgid "Unable to write to '%s', can not install metainfo file." +#~ msgstr "" +#~ "Не вдалося виконати запис до «%s», не вдалося встановити файл metainfo." -#~ msgid "Category of Science" -#~ msgstr "Категорії" +#, c-format +#~ msgid "" +#~ "Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " +#~ "suffix." +#~ msgstr "" +#~ "Не вдалося скопіювати «%s»: назва файла не містить суфікса «.metainfo." +#~ "xml» або «'.appdata.xml»." -#~ msgid "Extensions" -#~ msgstr "Розширення" +#~ msgid "An item type (e.g. lib, bin, python3, …)" +#~ msgstr "Тип запису (наприклад lib, bin, python3, ...)" -#~ msgid "File %s not found or permission denied!" -#~ msgstr "Файл %s не знайдено або доступ до нього заборонено!" +#~ msgid "Get components which provide the given item." +#~ msgstr "Отримати компоненти, які надають вказаний запис." -#~ msgid "No component providing '%s::%s' found." -#~ msgstr "Не знайдено компонента, що містить «%s::%s»." +#, c-format +#~ msgid "Unknown command '%s'." +#~ msgstr "Невідома команда «%s»." -#~ msgid "XDG Menu XML file '%s' is damaged." -#~ msgstr "Файл XML меню XDG «%s» пошкоджено." +#~ msgid "Value of the item that should be found." +#~ msgstr "Значення запису, який має бути знайдено." diff -Nru appstream-0.12.10/po/zh_CN.po appstream-0.14.5/po/zh_CN.po --- appstream-0.12.10/po/zh_CN.po 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/po/zh_CN.po 2021-08-28 20:15:28.000000000 +0000 @@ -1,3 +1,4 @@ +# #-#-#-#-# zh_CN.po (AppStream) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Matthias Klumpp # This file is distributed under the same license as the appstream package. @@ -9,1462 +10,2277 @@ # Mingcong Bai , 2015-2016 # zh-TW translators, 2016. # xiazhang , 2019. +# Gao Tiesuan , 2020. +# taiyuan <1006333969@qq.com>, 2020. +# Zhang Shengyu , 2020. +# #-#-#-#-# zh_CN.po (appstream-glib) #-#-#-#-# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Boyuan YANG <073plan@gmail.com>, 2015 +# Dz Chen , 2016 +# Mingye Wang , 2016 +# Mingcong Bai , 2015-2016 +# Mingcong Bai , 2015 +# Richard Hughes , 2016. #zanata +# cheng ye <18969068329@163.com>, 2017. #zanata +# Yu Lou , 2020. +# woshoxxx <84318882@qq.com>, 2020. +# Forbidden <10278743+f0rb1d@users.noreply.github.com>, 2020. +# Rigo Ligo , 2021. +# Chen Xiaomeng <295932653@qq.com>, 2021. +# jane , 2021. +# Liu Tao , 2021. +# Zhou Nan , 2021. +# Donald Yiu <1456762857@qq.com>, 2021. +# Flywater Zh , 2021. +# Eric , 2021. +# +# Translators: msgid "" msgstr "" -"Project-Id-Version: AppStream\n" +"Project-Id-Version: appstream-glib\n" "Report-Msgid-Bugs-To: appstream@lists.freedesktop.org\n" -"POT-Creation-Date: 2020-01-14 01:44+0100\n" -"PO-Revision-Date: 2019-08-14 04:23+0000\n" -"Last-Translator: xiazhang \n" -"Language-Team: Chinese (Simplified) \n" +"POT-Creation-Date: 2021-08-28 16:09+0200\n" +"PO-Revision-Date: 2021-08-28 20:04+0000\n" +"Last-Translator: Eric \n" +"Language-Team: Chinese (Simplified) \n" "Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 3.8-dev\n" - -#: tools/appstream-cli.c:157 -#, c-format -msgid "'%s' command" -msgstr "“%s”命令" - -#: src/as-category.c:168 -msgctxt "Category of Graphics" -msgid "3D Graphics" -msgstr "3D 图形" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:254 -msgid "" -"A 'requires' or 'recommends' item requires a value to denote a valid " -"relation." -msgstr "" - -#: src/as-validator-issue-tag.h:51 -msgid "" -"A tag must not be localized in metainfo files (upstream " -"metadata). Localize the individual paragraphs instead." -msgstr "" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:195 -msgid "" -"A screenshot must contain at least one image or video in order to be useful. " -"Please add an to it." -msgstr "" - -#: src/as-validator-issue-tag.h:200 -msgid "" -"A screenshot must contain either images or videos, but not both at the same " -"time. Please use this screenshot exclusively for either static images or for " -"videos." -msgstr "" - -#: src/as-category.c:123 -msgctxt "Category of Games" -msgid "Action" -msgstr "动作" - -#. TRANSLATORS: this is the main category for Add-ons -#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor -#: src/as-category.c:320 tools/ascli-utils.c:398 -msgid "Add-ons" -msgstr "附加组件" - -#: src/as-category.c:126 -msgctxt "Category of Games" -msgid "Adventure" -msgstr "冒险" - -#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) -#: tools/appstream-cli.c:116 -msgid "Also show pedantic hints." -msgstr "同时显示详细提示。" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:497 -msgid "" -"An 'extends' tag is specified, but the component is not of type 'addon', " -"'localization' or 'repository'." -msgstr "" - -#: tools/appstream-cli.c:850 -msgid "An item type (e.g. lib, bin, python3, …)" -msgstr "项目类型(如:lib、bin、python3……)" - -#: data/org.freedesktop.appstream.cli.metainfo.xml:9 -msgid "An utility to work with AppStream metadata" -msgstr "用于操作 AppStream 元数据的实用工具" +"X-Generator: Weblate 4.8.1-dev\n" #: data/org.freedesktop.appstream.cli.metainfo.xml:8 msgid "AppStream CLI" msgstr "AppStream 命令行界面" -#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. -#: tools/appstream-cli.c:947 -#, c-format -msgid "" -"AppStream CLI tool version: %s\n" -"AppStream library version: %s" -msgstr "" -"AppStream CLI 工具版本:%s\n" -"AppStream 库版本:%s" - -#. TRANSLATORS: In the status report of ascli: Header -#: tools/ascli-actions-misc.c:47 -msgid "AppStream Status:" -msgstr "AppStream 状态:" - -#. we performed a cache refresh -#. TRANSLATORS: Updating the metadata cache succeeded -#: tools/ascli-actions-mdata.c:80 -msgid "AppStream cache update completed successfully." -msgstr "AppStream 缓存更新成功完成。" - -#. cache wasn't updated, so the update wasn't necessary -#: tools/ascli-actions-mdata.c:86 -msgid "AppStream cache update is not necessary." -msgstr "无需更新 AppStream 缓存。" - -#. TRANSLATORS: This is the header to the --help menu for subcommands -#. TRANSLATORS: This is the header to the --help menu -#: tools/appstream-cli.c:154 tools/appstream-cli.c:843 -msgid "AppStream command-line interface" -msgstr "AppStream 命令行界面" - -#: src/as-validator-issue-tag.h:63 -msgid "" -"AppStream descriptions support only a limited set of tags to format text: " -"Paragraphs (

                                                                                                                                                                                                                                                                                                                                                                                                                                ) and lists (

                                                                                                                                                                                                                                                                                                                                                                                                                                  ,
                                                                                                                                                                                                                                                                                                                                                                                                                                    ). This description markup contains " -"an invalid XML tag that would not be rendered correctly in applications " -"supporting the metainfo specification." -msgstr "" +#: data/org.freedesktop.appstream.cli.metainfo.xml:9 +msgid "An utility to work with AppStream metadata" +msgstr "用于操作 AppStream 元数据的实用工具" #: data/org.freedesktop.appstream.cli.metainfo.xml:12 -#, fuzzy msgid "" -"AppStream is a cross-distribution specification to provide metadata about " -"software components." -msgstr "AppStream 是交叉分布规范,旨在提供软件组件的元数据。" +"AppStream is a metadata specification which permits software components to " +"provide information about themselves to automated systems and end-users " +"before the software is actually installed. The AppStream project provides " +"facilities to easily access and transform this metadata, as well as a few " +"additional services for building feature-rich software centers and similar " +"applications that make use of software metadata." +msgstr "" +"AppStream 是一种元数据规范,它允许软件组件在实际安装软件之前向自动化系统和最" +"终用户提供有关自身的信息。AppStream 项目提供了方便访问和转换这种元数据的设" +"施,以及一些额外的服务,用于建立功能丰富的软件中心和利用软件元数据的类似应" +"用。" + +#: data/org.freedesktop.appstream.cli.metainfo.xml:18 +msgid "" +"The appstreamcli command-line tool allows to read, write, and " +"transform AppStream XML or YAML metadata as well as to validate it for " +"compliance with the specification. It also provides easy access to the " +"system metadata pool, for example to query for software that provides a " +"specific Mediatype handler or for installing software by its component " +"identifier." +msgstr "" +"appstreamcli 命令行工具允许读取、写入和转换 AppStream XML 或 YAML 元" +"数据,并验证其是否符合规范。它还提供了对系统元数据池的简单访问,例如查询提供" +"特定 Mediatype 处理程序的软件,或者通过组件标识符安装软件。" -#: src/as-pool.c:1937 -#, fuzzy, c-format -msgid "" -"AppStream system cache refresh failed. Turn on verbose mode to get detailed " -"issue information." -msgstr "AppStream 缓存更新失败了。请打开详情模式以获取更多详细的问题信息。" +#: src/as-category.c:66 +msgctxt "Category of AudioVideo" +msgid "Featured" +msgstr "精选" -#. TRANSLATORS: Output if appstreamcli --version is executed. -#: tools/appstream-cli.c:944 -#, c-format -msgid "AppStream version: %s" -msgstr "AppStream 版本:%s" +#: src/as-category.c:69 +msgctxt "Category of AudioVideo" +msgid "Audio Creation & Editing" +msgstr "音频创作和编辑" -#: src/as-category.c:129 -msgctxt "Category of Games" -msgid "Arcade" -msgstr "机台" +#: src/as-category.c:75 +msgctxt "Category of AudioVideo" +msgid "Music Players" +msgstr "音乐播放器" -#: src/as-category.c:234 -msgctxt "Category of Science" -msgid "Artificial Intelligence" -msgstr "人工智能" +#: src/as-category.c:84 +msgctxt "Category of Development" +msgid "Featured" +msgstr "精选" -#: src/as-validator-issue-tag.h:91 -msgid "" -"As per AppStream specification, the mentioned tag must only appear once in " -"this context. Having multiple tags of this kind is not valid." -msgstr "" +#: src/as-category.c:87 +msgctxt "Category of Development" +msgid "Debuggers" +msgstr "调试器" -#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command -#: tools/appstream-cli.c:766 -msgid "Assume the input file is in the selected format ('yaml' or 'text')." -msgstr "" +#: src/as-category.c:90 +msgctxt "Category of Development" +msgid "IDEs" +msgstr "IDE" -#: src/as-category.c:101 +#: src/as-category.c:99 msgctxt "Category of Education" -msgid "Astronomy" -msgstr "天文" +msgid "Featured" +msgstr "精选" -#: src/as-category.c:237 -msgctxt "Category of Science" +#: src/as-category.c:102 +msgctxt "Category of Education" msgid "Astronomy" msgstr "天文" -#. TRANSLATORS: this is the menu spec main category for Audio & Video -#: src/as-category.c:302 -msgid "Audio & Video" -msgstr "音频和视频" - -#: src/as-category.c:68 -msgctxt "Category of AudioVideo" -msgid "Audio Creation & Editing" -msgstr "音频创作和编辑" +#: src/as-category.c:105 +msgctxt "Category of Education" +msgid "Chemistry" +msgstr "化学" -#: tools/ascli-actions-misc.c:219 -#, c-format -msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." -msgstr "" +#: src/as-category.c:108 +msgctxt "Category of Education" +msgid "Languages" +msgstr "语言" -#: src/as-provided.c:146 -msgid "Binaries" -msgstr "二进制文件" +#: src/as-category.c:112 +msgctxt "Category of Education" +msgid "Math" +msgstr "数学" -#: src/as-category.c:132 +#: src/as-category.c:121 msgctxt "Category of Games" -msgid "Blocks" -msgstr "方块" +msgid "Featured" +msgstr "精选" -#: src/as-category.c:135 +#: src/as-category.c:124 msgctxt "Category of Games" -msgid "Board" -msgstr "棋盘" +msgid "Action" +msgstr "动作" -#: tools/ascli-utils.c:299 -msgid "Bundle" -msgstr "套件" +#: src/as-category.c:127 +msgctxt "Category of Games" +msgid "Adventure" +msgstr "冒险" -#: src/as-pool.c:1828 -#, c-format -msgid "Cache location '%s' is not writable." -msgstr "缓存位置“%s”不可写。" +#: src/as-category.c:130 +msgctxt "Category of Games" +msgid "Arcade" +msgstr "街机" -#: src/as-category.c:191 -msgctxt "Category of Office" -msgid "Calendar" -msgstr "日历" +#: src/as-category.c:133 +msgctxt "Category of Games" +msgid "Blocks" +msgstr "方块" -#: tools/ascli-actions-mdata.c:327 -#, c-format -msgid "" -"Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " -"suffix." -msgstr "无法复制“%s”:文件没有“.metainfo.xml”或“.appdata.xml”后缀。" +#: src/as-category.c:136 +msgctxt "Category of Games" +msgid "Board" +msgstr "棋类" -#: src/as-category.c:138 +#: src/as-category.c:139 msgctxt "Category of Games" msgid "Card" msgstr "纸牌" -#: tools/ascli-utils.c:369 -msgid "Categories" -msgstr "类别" - -#: src/as-category.c:259 -msgctxt "Category of Communication" -msgid "Chat" -msgstr "聊天" +#: src/as-category.c:142 +msgctxt "Category of Games" +msgid "Emulators" +msgstr "模拟器" -#: src/as-category.c:104 -msgctxt "Category of Education" -msgid "Chemistry" -msgstr "化学" +#: src/as-category.c:145 +msgctxt "Category of Games" +msgid "Kids" +msgstr "儿童" -#: src/as-category.c:240 -msgctxt "Category of Science" -msgid "Chemistry" -msgstr "化学" +#: src/as-category.c:148 +msgctxt "Category of Games" +msgid "Logic" +msgstr "逻辑" -#: src/as-category.c:214 -msgctxt "Category of Addons" -msgid "Codecs" -msgstr "编解码器" +#: src/as-category.c:151 +msgctxt "Category of Games" +msgid "Role Playing" +msgstr "角色扮演" -#. TRANSLATORS: this is the menu spec main category for Communication -#: src/as-category.c:326 -msgid "Communication & News" -msgstr "沟通和新闻" +#: src/as-category.c:154 +msgctxt "Category of Games" +msgid "Sports" +msgstr "运动" -#: tools/appstream-cli.c:866 -msgid "Compare two version numbers." -msgstr "" +#: src/as-category.c:158 +msgctxt "Category of Games" +msgid "Strategy" +msgstr "策略" -#: src/as-provided.c:166 -#, fuzzy -msgid "Component" -msgstr "组件" +#: src/as-category.c:166 +msgctxt "Category of Graphics" +msgid "Featured" +msgstr "精选" -#. TRANSLATORS: We found no distribution package or bundle to install to make this software available -#: tools/ascli-actions-pkgmgr.c:106 -#, c-format -msgid "Component '%s' has no installation candidate." -msgstr "'%s' 组件没有安装候选版本。" +#: src/as-category.c:169 +msgctxt "Category of Graphics" +msgid "3D Graphics" +msgstr "3D 图形" -#: tools/ascli-utils.c:377 -msgid "Compulsory for" -msgstr "强制项目以供" +#: src/as-category.c:172 +msgctxt "Category of Graphics" +msgid "Photography" +msgstr "摄影" -#: src/as-validator-issue-tag.h:361 -msgid "Consider using a secure (HTTPS) URL for the remote icon link." -msgstr "" +#: src/as-category.c:175 +msgctxt "Category of Graphics" +msgid "Scanning" +msgstr "扫描" -#: src/as-validator-issue-tag.h:383 -msgid "Consider using a secure (HTTPS) URL for this web link." -msgstr "" - -#: src/as-validator-issue-tag.h:189 -msgid "" -"Consider using a secure (HTTPS) URL to reference this screenshot image or " -"video." -msgstr "" - -#: tools/appstream-cli.c:870 -msgid "Convert a YAML or text NEWS file into metainfo releases." -msgstr "" - -#. TRANSLATORS: "convert" command in ascli. "Collection XML" is a term describing a specific type of AppStream XML data. -#: tools/appstream-cli.c:865 -msgid "Convert collection XML to YAML or vice versa." -msgstr "将收藏集 XML 转换成 YAML,或是相反。" - -#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results -#: tools/ascli-actions-mdata.c:228 -#, c-format -msgid "Could not find component providing '%s::%s'." -msgstr "未找到提供“%s;%s”的组件。" - -#: tools/appstream-cli.c:869 -msgid "Create a XDG desktop-entry file from a metainfo file." -msgstr "" - -#: tools/appstream-cli.c:868 -#, fuzzy -msgid "" -"Create a template for a metainfo file (to be filled out by the upstream " -"project)." -msgstr "为元信息文件创建模板(由上游项目所填写)。" +#: src/as-category.c:178 +msgctxt "Category of Graphics" +msgid "Vector Graphics" +msgstr "矢量图形" -#: tools/ascli-actions-misc.c:228 -#, c-format -msgid "Creating new desktop-entry file '%s' using data from '%s'" -msgstr "" +#: src/as-category.c:181 +msgctxt "Category of Graphics" +msgid "Viewers" +msgstr "查看器" -#: src/as-provided.c:160 -#, fuzzy -msgid "D-Bus Session Services" -msgstr "DBus 会话服务" +#: src/as-category.c:189 +msgctxt "Category of Office" +msgid "Featured" +msgstr "精选" -#: src/as-provided.c:158 -#, fuzzy -msgid "D-Bus System Services" -msgstr "DBus 系统服务" +#: src/as-category.c:192 +msgctxt "Category of Office" +msgid "Calendar" +msgstr "日历" -#: src/as-category.c:195 +#: src/as-category.c:196 msgctxt "Category of Office" msgid "Database" msgstr "数据库" -#: src/as-category.c:86 -msgctxt "Category of Development" -msgid "Debuggers" -msgstr "除错器" - -#: tools/ascli-utils.c:353 -msgid "Default Screenshot URL" -msgstr "默认屏幕截图 URL" - -#. TRANSLATORS: ascli flag description for: --format -#: tools/appstream-cli.c:83 -#, fuzzy -msgid "Default metadata format (valid values are 'xml' and 'yaml')." -msgstr "给定元数据格式的默认值 (有效的值为“xml”和“yaml”)。" - -#: tools/ascli-utils.c:333 -msgid "Description" -msgstr "描述" - -#. developer name -#: tools/ascli-utils.c:321 -msgid "Developer" -msgstr "开发者" - -#. TRANSLATORS: this is the menu spec main category for Development -#: src/as-category.c:305 -msgid "Developer Tools" -msgstr "开发者工具" - -#: tools/appstream-cli.c:862 -msgid "Display status information about available AppStream metadata." -msgstr "显示关于可用的 AppStream 元数据的状态信息。" +#: src/as-category.c:199 +msgctxt "Category of Office" +msgid "Finance" +msgstr "财经" -#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions -#: tools/ascli-actions-misc.c:52 -msgid "Distribution metadata:" -msgstr "发行版元数据:" +#: src/as-category.c:203 +msgctxt "Category of Office" +msgid "Word Processor" +msgstr "文字处理器" -#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) -#: tools/appstream-cli.c:126 -#, fuzzy -msgid "Do not use network access." -msgstr "不使用网络访问。" +#: src/as-category.c:212 +msgctxt "Category of Addons" +msgid "Fonts" +msgstr "字体" -#. TRANSLATORS: ascli flag description for: --no-color -#: tools/appstream-cli.c:908 -msgid "Don't show colored output." -msgstr "不要显示彩色输出。" +#: src/as-category.c:215 +msgctxt "Category of Addons" +msgid "Codecs" +msgstr "编解码器" -#: tools/appstream-cli.c:853 -msgid "Dump raw XML metadata for a component matching the ID." -msgstr "为 ID 匹配的组件转储原始 XML 元数据。" +#: src/as-category.c:218 +msgctxt "Category of Addons" +msgid "Input Sources" +msgstr "输入法" -#. TRANSLATORS: this is the menu spec main category for Education -#: src/as-category.c:308 -msgid "Education" -msgstr "教育" +#: src/as-category.c:221 +msgctxt "Category of Addons" +msgid "Language Packs" +msgstr "语言包" -#. TRANSLATORS: No metainfo files have been found -#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 -msgid "Empty." -msgstr "空。" +#: src/as-category.c:224 +msgctxt "Category of Addons" +msgid "Localization" +msgstr "本地化" -#: src/as-category.c:141 -msgctxt "Category of Games" -msgid "Emulators" -msgstr "模拟器" +#: src/as-category.c:232 +msgctxt "Category of Science" +msgid "Featured" +msgstr "精选" -#. TRANSLATORS: ascli flag description for: --force -#: tools/appstream-cli.c:245 -msgid "Enforce a cache refresh." -msgstr "强制刷新缓存。" +#: src/as-category.c:235 +msgctxt "Category of Science" +msgid "Artificial Intelligence" +msgstr "人工智能" -#: src/as-validator-issue-tag.h:74 -msgid "Enumerations must only have list items (
                                                                                                                                                                                                                                                                                                                                                                                                                                  1. ) as children." -msgstr "" +#: src/as-category.c:238 +msgctxt "Category of Science" +msgid "Astronomy" +msgstr "天文" -#: tools/ascli-actions-misc.c:159 -#, c-format -msgid "Error while loading the metadata pool: %s" -msgstr "载入元数据池时出错:%s" +#: src/as-category.c:241 +msgctxt "Category of Science" +msgid "Chemistry" +msgstr "化学" -#: tools/ascli-utils.c:327 -msgid "Extends" -msgstr "扩展" +#: src/as-category.c:244 +msgctxt "Category of Science" +msgid "Math" +msgstr "数学" -#: src/as-category.c:65 -msgctxt "Category of AudioVideo" -msgid "Featured" -msgstr "精选" +#: src/as-category.c:249 +msgctxt "Category of Science" +msgid "Robotics" +msgstr "机器人" -#: src/as-category.c:256 +#: src/as-category.c:257 msgctxt "Category of Communication" msgid "Featured" msgstr "精选" -#: src/as-category.c:83 -msgctxt "Category of Development" -msgid "Featured" -msgstr "精选" - -#: src/as-category.c:98 -msgctxt "Category of Education" -msgid "Featured" -msgstr "精选" - -#: src/as-category.c:120 -msgctxt "Category of Games" -msgid "Featured" -msgstr "精选" +#: src/as-category.c:260 +msgctxt "Category of Communication" +msgid "Chat" +msgstr "聊天" -#: src/as-category.c:165 -msgctxt "Category of Graphics" -msgid "Featured" -msgstr "精选" +#: src/as-category.c:267 +msgctxt "Category of Communication" +msgid "News" +msgstr "新闻" -#: src/as-category.c:188 -msgctxt "Category of Office" -msgid "Featured" -msgstr "精选" +#: src/as-category.c:271 +msgctxt "Category of Communication" +msgid "Web Browsers" +msgstr "网页浏览器" -#: src/as-category.c:231 -msgctxt "Category of Science" +#: src/as-category.c:279 +msgctxt "Category of Utility" msgid "Featured" msgstr "精选" -#: src/as-category.c:278 +#: src/as-category.c:282 msgctxt "Category of Utility" -msgid "Featured" -msgstr "精选" +msgid "Text Editors" +msgstr "文本编辑器" -#: tools/ascli-actions-validate.c:171 tools/ascli-actions-validate.c:349 -#, fuzzy, c-format -msgid "File '%s' does not exist." -msgstr "“%s”元数据文件并不存在。" +#: src/as-category.c:285 +msgctxt "Category of Utility" +msgid "Terminal Emulators" +msgstr "终端模拟器" -#: src/as-category.c:287 +#: src/as-category.c:288 msgctxt "Category of Utility" msgid "File System" msgstr "文件系统" -#: src/as-category.c:198 -msgctxt "Category of Office" -msgid "Finance" -msgstr "财经" - -#: src/as-provided.c:164 -msgid "Flashed Firmware" -msgstr "已刷入的固件" +#: src/as-category.c:291 +msgctxt "Category of Utility" +msgid "System Monitoring" +msgstr "系统监控" -#: src/as-provided.c:150 -msgid "Fonts" -msgstr "字体" +#: src/as-category.c:294 +msgctxt "Category of Utility" +msgid "Security" +msgstr "安全" -#: src/as-category.c:211 -msgctxt "Category of Addons" -msgid "Fonts" -msgstr "字体" +#. TRANSLATORS: this is the menu spec main category for Audio & Video +#: src/as-category.c:303 +msgid "Audio & Video" +msgstr "音频和视频" -#: src/as-validator-issue-tag.h:237 -msgid "" -"For videos, only the WebM and Matroska (.mkv) container formats are " -"currently supported. The file extension of the referenced video does not " -"belong to either of these formats." -msgstr "" +#. TRANSLATORS: this is the menu spec main category for Development +#: src/as-category.c:306 +msgid "Developer Tools" +msgstr "开发者工具" -#. TRANSLATORS: ascli flag description for: --format when validating XML files -#: tools/appstream-cli.c:131 -#, fuzzy -msgid "Format of the generated report (valid values are 'text' and 'yaml')." -msgstr "给定元数据格式的默认值 (有效的值为“xml”和“yaml”)。" +#. TRANSLATORS: this is the menu spec main category for Education +#: src/as-category.c:309 +msgid "Education" +msgstr "教育" -#. TRANSLATORS: Found metainfo files in legacy directories -#: tools/ascli-actions-misc.c:138 -#, c-format -msgid "Found %i components in legacy paths." -msgstr "在旧版路径中找到了 %i 个组件。" +#. TRANSLATORS: this is the menu spec main category for Game +#: src/as-category.c:312 +msgid "Games" +msgstr "游戏" -#: tools/ascli-actions-misc.c:123 -#, c-format -msgid "Found %i components." -msgstr "找到 %i 个组件。" +#. TRANSLATORS: this is the menu spec main category for Graphics +#: src/as-category.c:315 +msgid "Graphics & Photography" +msgstr "图形和摄影" -#. TRANSLATORS: 'version' is an AppStream XML property. Please do not translate it. -#: src/as-validator-issue-tag.h:260 -msgid "" -"Found 'version' property on required/recommended item of a type that should " -"not have or require a version." -msgstr "" +#. TRANSLATORS: this is the menu spec main category for Office +#: src/as-category.c:318 +msgid "Office" +msgstr "办公" -#. TRANSLATORS: 'version' and 'compare' are AppStream XML properties. Please do not translate them. -#: src/as-validator-issue-tag.h:266 -msgid "" -"Found 'version' property on this required/recommended item, but not " -"'compare' property. It is recommended to explicitly define a comparison " -"operation." -msgstr "" +#. TRANSLATORS: this is the main category for Add-ons +#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor +#: src/as-category.c:321 tools/ascli-utils.c:371 +msgid "Add-ons" +msgstr "附加组件" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:277 -msgid "" -"Found a memory size dependency in a 'requires' tag. This means users will " -"not be able to even install the component without having enough RAM. This is " -"usually not intended and you want to use 'memory' in the 'recommends' tag " -"instead." -msgstr "" +#. TRANSLATORS: this is the menu spec main category for Science +#: src/as-category.c:324 +msgid "Science" +msgstr "科学" -#: src/as-validator-issue-tag.h:248 -msgid "" -"Found an unknown tag in a requires/recommends group. This is likely an " -"error, because a component relation of this type is unknown." -msgstr "" +#. TRANSLATORS: this is the menu spec main category for Communication +#: src/as-category.c:327 +msgid "Communication & News" +msgstr "沟通和新闻" -#: src/as-validator-issue-tag.h:427 -msgid "" -"Found invalid tag. Non-standard tags should be prefixed with 'x-'. AppStream " -"also provides the tag to add arbitrary custom data to metainfo " -"files. This tag is read by AppStream libraries and may be useful instead of " -"defining new custom toplevel or 'x-'-prefixed tags if you just want to add " -"custom data to a metainfo file." -msgstr "" +#. TRANSLATORS: this is the menu spec main category for Utilities +#: src/as-category.c:330 +msgid "Utilities" +msgstr "实用程序" -#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. -#: src/as-validator.c:526 src/as-validator.c:939 src/as-validator.c:1024 -#: src/as-validator.c:1237 +#. TRANSLATORS: This is the formatting of English and localized name +#. * of the rating e.g. "Adults Only (solo adultos)" +#: src/as-content-rating.c:298 +#, c-format +msgid "%s (%s)" +msgstr "%s(%s)" + +#: src/as-content-rating.c:444 +msgid "General" +msgstr "常规" + +#: src/as-content-rating.c:453 +msgid "ALL" +msgstr "全部" + +#: src/as-content-rating.c:457 src/as-content-rating.c:560 +msgid "Adults Only" +msgstr "仅限成人" + +#: src/as-content-rating.c:459 src/as-content-rating.c:559 +msgid "Mature" +msgstr "成人" + +#: src/as-content-rating.c:461 src/as-content-rating.c:558 +msgid "Teen" +msgstr "青少年" + +#: src/as-content-rating.c:463 src/as-content-rating.c:557 +msgid "Everyone 10+" +msgstr "10 岁及以上" + +#: src/as-content-rating.c:465 src/as-content-rating.c:556 +msgid "Everyone" +msgstr "任何人" + +#: src/as-content-rating.c:467 src/as-content-rating.c:555 +msgid "Early Childhood" +msgstr "幼儿" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:839 +msgid "No cartoon violence" +msgstr "无卡通暴力" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:841 +msgid "Cartoon characters in unsafe situations" +msgstr "卡通角色处于危险境地" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:843 +msgid "Cartoon characters in aggressive conflict" +msgstr "卡通角色处于激烈冲突" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:845 +msgid "Graphic violence involving cartoon characters" +msgstr "涉及卡通角色的图像暴力" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:850 +msgid "No fantasy violence" +msgstr "无幻想暴力" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:852 +msgid "Characters in unsafe situations easily distinguishable from reality" +msgstr "角色处于易于与现实区分的危险境地" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:854 +msgid "Characters in aggressive conflict easily distinguishable from reality" +msgstr "角色参与易于与现实区分的激烈冲突" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:856 +msgid "Graphic violence easily distinguishable from reality" +msgstr "易于与现实区分的图像暴力" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:861 +msgid "No realistic violence" +msgstr "无逼真暴力" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:863 +msgid "Mildly realistic characters in unsafe situations" +msgstr "较逼真角色处于危险境地" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:865 +msgid "Depictions of realistic characters in aggressive conflict" +msgstr "描写逼真角色参与激烈冲突" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:867 +msgid "Graphic violence involving realistic characters" +msgstr "涉及逼真角色的图像暴力" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:872 +msgid "No bloodshed" +msgstr "无流血" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:874 +msgid "Unrealistic bloodshed" +msgstr "非写实流血" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:876 +msgid "Realistic bloodshed" +msgstr "写实流血" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:878 +msgid "Depictions of bloodshed and the mutilation of body parts" +msgstr "描写流血及肢体伤害" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:883 +msgid "No sexual violence" +msgstr "无性暴力" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:885 +msgid "Rape or other violent sexual behavior" +msgstr "强奸或其它暴力性行为" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:892 +msgid "No references to alcohol" +msgstr "不涉及酒精" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:894 +msgid "References to alcoholic beverages" +msgstr "涉及酒精饮料" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:896 +msgid "Use of alcoholic beverages" +msgstr "使用酒精饮料" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:902 +msgid "No references to illicit drugs" +msgstr "不涉及非法药物" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:904 +msgid "References to illicit drugs" +msgstr "涉及非法药物" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:906 +msgid "Use of illicit drugs" +msgstr "使用非法药物" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:912 +msgid "No references to tobacco products" +msgstr "不涉及烟草产品" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:914 +msgid "References to tobacco products" +msgstr "涉及烟草产品" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:916 +msgid "Use of tobacco products" +msgstr "使用烟草产品" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:922 +msgid "No nudity of any sort" +msgstr "无任何形式的裸体" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:924 +msgid "Brief artistic nudity" +msgstr "短暂艺术性裸体" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:926 +msgid "Prolonged nudity" +msgstr "长时间裸体" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:932 +msgid "No references to or depictions of sexual nature" +msgstr "无性相关的涉及或描写" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:934 +msgid "Provocative references or depictions" +msgstr "涉及或描写挑衅行为" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:936 +msgid "Sexual references or depictions" +msgstr "涉及或描写性行为" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:938 +msgid "Graphic sexual behavior" +msgstr "图像性行为" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:943 +msgid "No profanity of any kind" +msgstr "无任何种类的粗俗语言" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:945 +msgid "Mild or infrequent use of profanity" +msgstr "少量粗俗语言" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:947 +msgid "Moderate use of profanity" +msgstr "中等数量的粗俗语言" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:949 +msgid "Strong or frequent use of profanity" +msgstr "大量粗俗语言" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:954 +msgid "No inappropriate humor" +msgstr "无不适当的笑话" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:956 +msgid "Slapstick humor" +msgstr "闹剧式笑话" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:958 +msgid "Vulgar or bathroom humor" +msgstr "粗俗或浴室笑话" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:960 +msgid "Mature or sexual humor" +msgstr "成人或两性笑话" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:965 +msgid "No discriminatory language of any kind" +msgstr "无任何种类的歧视性语言" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:967 +msgid "Negativity towards a specific group of people" +msgstr "对特定人群的负面内容" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:969 +msgid "Discrimination designed to cause emotional harm" +msgstr "伤害情感的故意歧视" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:971 +msgid "Explicit discrimination based on gender, sexuality, race or religion" +msgstr "针对性别、性向、种族或宗教的明确歧视" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:976 +msgid "No advertising of any kind" +msgstr "无任何种类的广告" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:978 +msgid "Product placement" +msgstr "产品植入" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:980 +msgid "Explicit references to specific brands or trademarked products" +msgstr "对特定品牌或商标产品的明确提及" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:982 +msgid "Users are encouraged to purchase specific real-world items" +msgstr "鼓励用户购买特定的真实商品" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:987 +msgid "No gambling of any kind" +msgstr "无任何种类的赌博" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:989 +msgid "Gambling on random events using tokens or credits" +msgstr "使用代币或信贷基于随机事件赌博" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:991 +msgid "Gambling using “play” money" +msgstr "使用游戏货币赌博" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:993 +msgid "Gambling using real money" +msgstr "使用真实货币赌博" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:998 +msgid "No ability to spend money" +msgstr "无花钱的功能" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1000 +msgid "Users are encouraged to donate real money" +msgstr "鼓励用户捐赠真实货币" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1003 +msgid "Ability to spend real money in-app" +msgstr "应用中可使用真实货币" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1008 +msgid "No way to chat with other users" +msgstr "无法与其他用户聊天" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1010 +msgid "User-to-user interactions without chat functionality" +msgstr "不带聊天功能的用户间交互" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1012 +msgid "Moderated chat functionality between users" +msgstr "用户间有限制的聊天功能" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1014 +msgid "Uncontrolled chat functionality between users" +msgstr "用户间不受控制的聊天功能" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1019 +msgid "No way to talk with other users" +msgstr "无法与其他用户交谈" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1021 +msgid "Uncontrolled audio or video chat functionality between users" +msgstr "用户间不受控制的音频或视频聊天功能" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1028 +msgid "No sharing of social network usernames or email addresses" +msgstr "不共享社交网络的用户名或电子邮件地址" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1030 +msgid "Sharing social network usernames or email addresses" +msgstr "共享社交网络的用户名或电子邮件地址" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1037 +msgid "No sharing of user information with third parties" +msgstr "不与第三方共享用户信息" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1039 +msgid "Checking for the latest application version" +msgstr "正在检查最新应用程序版本" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1041 +msgid "Sharing diagnostic data that does not let others identify the user" +msgstr "分享无法识别用户身份的诊断数据" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1043 +msgid "Sharing information that lets others identify the user" +msgstr "分享可以识别用户身份的信息" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1048 +msgid "No sharing of physical location with other users" +msgstr "不与其他用户共享物理位置" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1050 +msgid "Sharing physical location with other users" +msgstr "与其他用户共享物理位置" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1073 +msgid "No references to homosexuality" +msgstr "不涉及同性恋" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1075 +msgid "Indirect references to homosexuality" +msgstr "对同性恋的间接涉及" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1077 +msgid "Kissing between people of the same gender" +msgstr "同性人类间的接吻" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1079 +msgid "Graphic sexual behavior between people of the same gender" +msgstr "同性人类间的图像性行为" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1084 +msgid "No references to prostitution" +msgstr "不涉及卖淫" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1086 +msgid "Indirect references to prostitution" +msgstr "对卖淫的间接涉及" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1088 +msgid "Direct references to prostitution" +msgstr "对卖淫的直接涉及" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1090 +msgid "Graphic depictions of the act of prostitution" +msgstr "卖淫行为的图像描写" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1095 +msgid "No references to adultery" +msgstr "不涉及通奸" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1097 +msgid "Indirect references to adultery" +msgstr "对通奸的间接涉及" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1099 +msgid "Direct references to adultery" +msgstr "对通奸的直接涉及" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1101 +msgid "Graphic depictions of the act of adultery" +msgstr "通奸行为的图像描写" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1106 +msgid "No sexualized characters" +msgstr "无性别化角色" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1109 +msgid "Scantily clad human characters" +msgstr "穿着暴露的人类角色" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1111 +msgid "Overtly sexualized human characters" +msgstr "具有明显性别的人类角色" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1116 +msgid "No references to desecration" +msgstr "不涉及亵渎" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1118 +msgid "Depictions of or references to historical desecration" +msgstr "描写或涉及历史亵渎" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1120 +msgid "Depictions of modern-day human desecration" +msgstr "对现代人类亵渎的描写" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1122 +msgid "Graphic depictions of modern-day desecration" +msgstr "对现代社会亵渎的图像描写" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1127 +msgid "No visible dead human remains" +msgstr "无可见死亡人类尸体" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1129 +msgid "Visible dead human remains" +msgstr "可见死亡人类尸体" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1131 +msgid "Dead human remains that are exposed to the elements" +msgstr "有死亡人类尸体并展示其内容物" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1133 +msgid "Graphic depictions of desecration of human bodies" +msgstr "对亵渎人体的图像描写" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1138 +msgid "No references to slavery" +msgstr "不涉及奴役" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1140 +msgid "Depictions of or references to historical slavery" +msgstr "描写或涉及奴隶制历史" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1142 +msgid "Depictions of modern-day slavery" +msgstr "对现代奴役的描写" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1144 +msgid "Graphic depictions of modern-day slavery" +msgstr "对现代奴役的图像描写" + +#. TRANSLATORS: We got a 429 error while trying to download data +#: src/as-curl.c:134 +#, c-format +msgid "Failed to download due to server limit" +msgstr "因服务器限制下载失败" + +#: src/as-curl.c:141 src/as-curl.c:148 +#, c-format +msgid "Failed to download file: %s" +msgstr "下载文件失败:%s" + +#. TRANSLATORS: We tried to download an URL, but received a 404 error code +#: src/as-curl.c:157 #, c-format -msgid "Found: %s - Allowed: %s" +msgid "URL was not found on the server." +msgstr "未在服务器上找到该网址。" + +#. TRANSLATORS: We received an uexpected HTTP status code while talking to a server, likely an error +#: src/as-curl.c:164 +#, c-format +msgid "Unexpected status code: %ld" +msgstr "意外状态代码: %ld" + +#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty +#: src/as-curl.c:247 +#, c-format +msgid "Retrieved file size was zero." +msgstr "检索到的文件大小为0。" + +#. TRANSLATORS: List of "grey-listed" words sperated with ";" +#. * Do not translate this list directly. Instead, +#. * provide a list of words in your language that people are likely +#. * to include in a search but that should normally be ignored in +#. * the search. +#. +#: src/as-pool.c:111 +msgid "app;application;package;program;programme;suite;tool" msgstr "" +"app;application;package;program;programme;suite;tool;应用;应用程序;包;程序;套" +"装;工具;套件;软件" -#. TRANSLATORS: this is the menu spec main category for Game -#: src/as-category.c:311 -msgid "Games" -msgstr "游戏" +#: src/as-pool.c:620 +msgid "Unable to remove old cache." +msgstr "无法移除旧缓存。" -#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command -#: tools/appstream-cli.c:814 -msgid "Generate the output in the selected format ('yaml' or 'text')." +#: src/as-pool.c:963 +msgid "Metadata files have errors:" +msgstr "元数据文件有错误:" + +#: src/as-pool.c:1370 +msgid "" +"Many components have been recognized as invalid. See debug output for " +"details." +msgstr "很多组件已识别为无效。详细信息见调试输出。" + +#: src/as-pool.c:1996 +#, c-format +msgid "Cache location '%s' is not writable." +msgstr "缓存位置“%s”不可写。" + +#: src/as-pool.c:2109 +msgid "" +"The AppStream system cache was updated, but some components were ignored. " +"Refer to the verbose log for more information." msgstr "" +"AppStream 系统缓存已更新,但是部分组件被忽略。 请参阅详细日志获取更多信息。" -#: tools/appstream-cli.c:849 -msgid "Get components which provide the given item." -msgstr "获取可提供指定项目的组件。" +#: src/as-pool.c:2111 +#, c-format +msgid "" +"The AppStream system cache was updated, but problems were found which " +"resulted in metadata being ignored: %s" +msgstr "AppStream 系统缓存已更新,但发现了一些导致元数据被忽略的问题:%s" -#: tools/appstream-cli.c:848 -msgid "Get information about a component by its ID." -msgstr "根据 ID 获取相应组件的信息。" +#: src/as-pool.c:2125 +#, c-format +msgid "" +"AppStream system cache refresh failed. Turn on verbose mode to get detailed " +"issue information." +msgstr "AppStream 缓存刷新失败。请打开详情模式以获取更详细的问题信息。" -#. TRANSLATORS: this is the menu spec main category for Graphics -#: src/as-category.c:314 -msgid "Graphics & Photography" -msgstr "图形和摄影" +#: src/as-provided.c:144 +msgid "Libraries" +msgstr "库" -#: tools/ascli-utils.c:300 -msgid "Homepage" -msgstr "主页" +#: src/as-provided.c:146 +msgid "Binaries" +msgstr "二进制文件" -#: src/as-category.c:89 -msgctxt "Category of Development" -msgid "IDEs" -msgstr "IDE" +#: src/as-provided.c:148 +msgid "Media types" +msgstr "媒体类型" -#: tools/ascli-utils.c:301 -msgid "Icon" -msgstr "图标" +#: src/as-provided.c:150 +msgid "Fonts" +msgstr "字体" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:351 -msgid "Icons of type 'remote' must contain an URL to the referenced icon." -msgstr "" +#: src/as-provided.c:152 +msgid "Modaliases" +msgstr "模块别名" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:344 -msgid "" -"Icons of type 'stock' or 'cached' must not contain an URL, a full or an " -"relative path to the icon. Only file basenames or stock names are allowed." -msgstr "" +#: src/as-provided.c:154 +msgid "Python (Version 2)" +msgstr "Python 2" -#: tools/ascli-actions-misc.c:94 -msgid "Iconsets" -msgstr "图标集" +#: src/as-provided.c:156 +msgid "Python 3" +msgstr "Python 3" -#: tools/ascli-utils.c:295 -msgid "Identifier" -msgstr "识别码" +#: src/as-provided.c:158 +msgid "D-Bus System Services" +msgstr "D-Bus 系统服务" -#: src/as-category.c:217 -msgctxt "Category of Addons" -msgid "Input Sources" -msgstr "输入来源" +#: src/as-provided.c:160 +msgid "D-Bus Session Services" +msgstr "D-Bus 会话服务" -#: tools/appstream-cli.c:863 -msgid "Install a metadata file into the right location." -msgstr "将元数据文件安装到正确的位置。" +#: src/as-provided.c:162 +msgid "Runtime Firmware" +msgstr "运行时固件" -#: tools/appstream-cli.c:859 -#, fuzzy -msgid "Install software matching the component-ID." -msgstr "安装匹配组件 ID 的软件。" +#: src/as-provided.c:164 +msgid "Flashed Firmware" +msgstr "已刷入的固件" + +#: src/as-provided.c:166 +msgid "Component" +msgstr "组件" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:373 +#: src/as-validator-issue-tag.h:41 +msgid "This tag requires a type property." +msgstr "此标签需要类型属性。" + +#: src/as-validator-issue-tag.h:46 +msgid "Tags of this name are not permitted in this section." +msgstr "这部分不允许有这样的标签名字。" + +#: src/as-validator-issue-tag.h:51 msgid "" -"Invalid 'type' property for this 'url' tag. URLs of this type are not known " -"in the AppStream specification." +"A tag must not be localized in metainfo files (upstream " +"metadata). Localize the individual paragraphs instead." msgstr "" +"不必将标签翻译成metainfo文件(上游元数据)。单独翻译每段文字。" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:553 +#: src/as-validator-issue-tag.h:57 msgid "" -"Invalid tag found in collection metadata. Only 'component' tags are " -"permitted." +"This element (paragraph, list, etc.) of a tag must not be " +"localized individually in collection metadata. Localize the whole " +" tag instead. The AppStream collection metadata generator (e." +"g. `appstream-generator`) will already do the right thing when compiling the " +"data." msgstr "" +"集合元数据中的标签的该元素(段落、列表等)不能单独本地化。应本" +"地化整个标签。AppStream 集合元数据生成器(如“appstream-" +"generator”)将在编译数据时做该做的事。" -#: tools/ascli-actions-mdata.c:213 -msgid "Invalid type for provided item selected. Valid values are:" -msgstr "选取的提供项目类型无效。有效的值为:" +#: src/as-validator-issue-tag.h:63 +msgid "" +"AppStream descriptions support only a limited set of tags to format text: " +"Paragraphs (

                                                                                                                                                                                                                                                                                                                                                                                                                                    ) and lists (

                                                                                                                                                                                                                                                                                                                                                                                                                                      ,
                                                                                                                                                                                                                                                                                                                                                                                                                                        ). This description markup contains " +"an invalid XML tag that would not be rendered correctly in applications " +"supporting the metainfo specification." +msgstr "" +"AppStream 中的简介只支持有限的文本格式标签:段落 (

                                                                                                                                                                                                                                                                                                                                                                                                                                        ) 和列表 (

                                                                                                                                                                                                                                                                                                                                                                                                                                          ,
                                                                                                                                                                                                                                                                                                                                                                                                                                            )。以下简介的标记文本中包含无效的 XML 标签,不能在支持该源信息渲染标准的应用" +"中正常渲染。" -#: src/as-validator-issue-tag.h:271 +#: src/as-validator-issue-tag.h:69 +msgid "" +"This description paragraph contains invalid markup. Currently, only " +"and are permitted." +msgstr "此描述段落中包含无效标记。目前只允许包含 and 标记。" + +#: src/as-validator-issue-tag.h:74 +msgid "Enumerations must only have list items (
                                                                                                                                                                                                                                                                                                                                                                                                                                          1. ) as children." +msgstr "枚举值的子元素必须而且只能是 (
                                                                                                                                                                                                                                                                                                                                                                                                                                          2. ) 。" + +#: src/as-validator-issue-tag.h:79 msgid "" -"Invalid version comparison operation on relation item. Only eq/ne/lt/gt/le/" -"ge are permitted." +"The first `description/p` paragraph of this component might be too short (< " +"80 characters). Please consider starting with a longer paragraph to improve " +"how the description looks like in software centers and to provide more " +"detailed information on this component immediately in the first paragraph." msgstr "" +"此组件的第一段 `description/p` 太短了(小于 80 个字符)。请考虑用长一点的段落" +"开头,这样描述看起来会更适合软件中心,然后在第一段之后提供有关该组件更为详细" +"的信息。" -#: src/as-validator-issue-tag.h:450 +#: src/as-validator-issue-tag.h:86 msgid "" -"It is recommended to add a long description to this component to present it " -"better to users." +"The description contains a web URL in plain text. This is not allowed, " +"please use the tag instead to share links." msgstr "" +"描述中包含一段普通文本格式的 web URL。这是不允许的,请使用 标记来分享" +"链接。" -#: src/as-validator-issue-tag.h:445 +#: src/as-validator-issue-tag.h:91 msgid "" -"It would be useful to add a long description to this font to present it " -"better to users." +"As per AppStream specification, the mentioned tag must only appear once in " +"this context. Having multiple tags of this kind is not valid." msgstr "" +"根据AppStream规范,所提到的标记在此上下文中只能出现一次。具有多个此类标记无" +"效。" -#: src/as-category.c:144 -msgctxt "Category of Games" -msgid "Kids" -msgstr "孩童" +#: src/as-validator-issue-tag.h:96 +msgid "" +"The mentioned tag is empty, which is highly likely not intended as it should " +"have content." +msgstr "提及的标签空白,因为这里应该有内容所以很可能不是故意的。" -#: src/as-category.c:220 -msgctxt "Category of Addons" -msgid "Language Packs" -msgstr "语言包" +#: src/as-validator-issue-tag.h:101 +msgid "" +"The component ID is required to follow a reverse domain-name scheme for its " +"name. See the AppStream specification for details." +msgstr "" +"组件 ID 需要遵循其名称的反向域名方案。有关详细信息,请参阅 AppStream 规范。" -#: src/as-category.c:107 -msgctxt "Category of Education" -msgid "Languages" -msgstr "语言" +#: src/as-validator-issue-tag.h:106 +msgid "" +"The component ID is not a reverse domain-name. Please update the ID to avoid " +"future issues and be compatible with all AppStream implementations.\n" +"You may also consider to update the name of the accompanying .desktop file " +"to follow the latest version of the Desktop-Entry specification and use a " +"rDNS name for it as well. In any case, do not forget to mention the new " +"desktop-entry in a tag for this component to keep the " +"application launchable from software centers and the .desktop file data " +"associated with the metainfo data." +msgstr "" +"该组件 ID 不是反向域名。请更新 ID 以避免未来的问题且与所有 AppStream 规范兼" +"容。\n" +"您可能同时要考虑更新附带的 .desktop 文件名称以遵循最新版本的 Desktop-Entry 标" +"准且同样为其使用 rDNS 名称。无论任何情况,不要忘了为该组件的标签" +"提及新的 desktop-entry 使应用程序可以从软件中心启动且 .desktop 文件数据与元信" +"息数据相关联。" -#: src/as-provided.c:144 -msgid "Libraries" -msgstr "库" +#: src/as-validator-issue-tag.h:114 +msgid "" +"The component ID might not follow the reverse domain-name schema (the TLD " +"used by it is not known to the validator)." +msgstr "组件ID可能不遵循相反的域名模式(验证器不知道它使用的TLD)。" -#. license -#: tools/ascli-utils.c:363 -msgid "License" -msgstr "授权条款" +#: src/as-validator-issue-tag.h:119 +msgid "" +"The component ID contains an invalid character. Only ASCII characters, dots " +"and numbers are permitted." +msgstr "组件ID包含一个无效字符。 只允许ASCII字符、英文点和数字。" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:629 +#: src/as-validator-issue-tag.h:124 msgid "" -"Licenses for 'runtime' components are usually too complex to reflect them in " -"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " -"value for this component's 'project_license'. E.g. `LicenseRef-free=https://" -"example.com/licenses.html`" +"The component ID contains a hyphen/minus. Using a hyphen is strongly " +"discouraged, to improve interoperability with other tools such as D-Bus. A " +"good option is to replace any hyphens with underscores (`_`)." msgstr "" +"组件ID中包含连字符/减号。 强烈不建议使用连字符来改善与其他工具(如D-Bus)的互" +"操作性。 一个好的选择是将任何连字符替换为下划线(' _ ')。" -#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command -#: tools/appstream-cli.c:771 +#: src/as-validator-issue-tag.h:130 msgid "" -"Limit the number of release entries that end up in the metainfo file (0 for " -"unlimited)." +"The component ID contains a segment starting with a number. Starting a " +"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " +"interoperability with other tools such as D-Bus. Ideally, prefix these " +"segments with an underscore." msgstr "" +"该组件 ID 包含以数字开头的片段。反向 DNS ID 的片段强烈不推荐以数字开头,以保" +"留与其它工具如 D-Bus 的互操作性。理想状态可以用下划线作为片段前缀。" -#: src/as-category.c:223 -msgctxt "Category of Addons" -msgid "Localization" -msgstr "本地化" +#: src/as-validator-issue-tag.h:136 +msgid "The component ID should only contain lowercase letters." +msgstr "组件 ID 应仅包含小写字母。" -#: src/as-category.c:147 -msgctxt "Category of Games" -msgid "Logic" -msgstr "逻辑" +#: src/as-validator-issue-tag.h:141 +msgid "" +"The component is part of the Freedesktop project, but its ID does not start " +"with fd.o's reverse-DNS name (\"org.freedesktop\")." +msgstr "" +"这个组件是Freedesktop项目的一部分,但是它的ID不是以fd的反向dns名称(“org." +"freedesktop”)开始的。" -#. TRANSLATORS: ascli flag description for: --no-cache -#: tools/appstream-cli.c:67 -msgid "Make request without any caching." +#: src/as-validator-issue-tag.h:146 +msgid "" +"The component is part of the KDE project, but its ID does not start with " +"KDEs reverse-DNS name (\"org.kde\")." msgstr "" +"该组件是KDE项目的一部分,但它的ID不是以KDE的反向dns名称(\"org.kde\")开始的。" -#. TRANSLATORS: ascli flag description for: --cachepath -#: tools/appstream-cli.c:57 -#, fuzzy -msgid "Manually selected location of AppStream cache." -msgstr "手动设置 AppStream 缓存的位置。" +#: src/as-validator-issue-tag.h:151 +msgid "" +"The component is part of the GNOME project, but its ID does not start with " +"GNOMEs reverse-DNS name (\"org.gnome\")." +msgstr "" +"该组件是KDE项目的一部分,但它的ID不是以KDE的反向dns名称(\"org.kde\")开始的。" -#. TRANSLATORS: ascli flag description for: --datapath -#: tools/appstream-cli.c:62 -#, fuzzy -msgid "Manually selected location of AppStream metadata to scan." -msgstr "手动设置要扫描的 AppStream 元数据的位置。" +#: src/as-validator-issue-tag.h:156 +msgid "The SPDX license expression is invalid and could not be parsed." +msgstr "SPDX 许可证信息不正确,无法解析。" -#: src/as-pool.c:1280 +#: src/as-validator-issue-tag.h:161 msgid "" -"Many components have been recognized as invalid. See debug output for " -"details." +"The license ID was not found in the SPDX database. Please check that the " +"license ID is written in an SPDX-conformant way and is a valid free software " +"license." msgstr "" +"在 SPDX 数据库中未找到此许可证 ID。请确保许可证 ID 符合 SPDX 要求的格式,并且" +"是有效的免费软件许可证。" -#: src/as-category.c:111 -msgctxt "Category of Education" -msgid "Math" -msgstr "数学" - -#: src/as-category.c:243 -msgctxt "Category of Science" -msgid "Math" -msgstr "数学" +#: src/as-validator-issue-tag.h:167 +msgid "" +"The metadata itself seems to be licensed under a complex collection of " +"licenses. Please license the data under a simple permissive license, like " +"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " +"collections without the risk of license violations due to mutually " +"incompatible licenses." +msgstr "" +"该元数据自身似乎用了复杂的许可证集合来许可。请使用简单宽容的许可证来许可数" +"据,比如 FSFAP、MIT 或 CC0-1.0 以允许发行者将其包含在混合数据集合中时避免因彼" +"此不兼容的许可证遇到侵犯许可的风险。" -#: src/as-provided.c:148 -#, fuzzy -msgid "Media types" -msgstr "MIME 类型" +#: src/as-validator-issue-tag.h:173 +msgid "" +"The metadata itself does not seem to be licensed under a permissive license. " +"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " +"0BSD to allow distributors to include it in mixed data collections without " +"the risk of license violations due to mutually incompatible licenses." +msgstr "" +"该元数据自身似乎未使用宽容的许可证来许可它。请使用宽容的许可证来许可数据,比" +"如 FSFAP、MIT 或 CC0-1.0 以允许发行者将其包含在混合数据集合中时避免因彼此不兼" +"容的许可证遇到侵犯许可的风险。" -#: tools/ascli-actions-mdata.c:364 -#, c-format -msgid "Metadata file '%s' does not exist." -msgstr "“%s”元数据文件并不存在。" +#: src/as-validator-issue-tag.h:179 +msgid "" +"The update-contact does not appear to be a valid email address (escaping of " +"`@` is only allowed as `_at_` or `_AT_`)." +msgstr "" +"更新联系人似乎不是一个有效的电子邮件地址(转义符 “@ ” 只能是 “ _at_ ” 或 " +"“_AT_”)。" -#: src/as-pool.c:881 -msgid "Metadata files have errors:" -msgstr "元数据文件有错误:" +#: src/as-validator-issue-tag.h:184 +msgid "" +"Unable to reach the screenshot image on its remote location - does the image " +"exist?" +msgstr "无法获取其远程位置的截屏图片-图片是否存在?" -#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 -#: tools/ascli-actions-misc.c:515 -#, fuzzy, c-format -msgid "Metainfo file '%s' does not exist." -msgstr "“%s”元数据文件并不存在。" +#: src/as-validator-issue-tag.h:189 +msgid "" +"Unable to reach the screenshot video on its remote location - does the video " +"file exist?" +msgstr "无法获取其远程位置的截屏视频-视频文件是否存在?" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:367 +#: src/as-validator-issue-tag.h:194 msgid "" -"Metainfo files may only contain icons of type 'stock' or 'remote', the set " -"type is not allowed." +"Consider using a secure (HTTPS) URL to reference this screenshot image or " +"video." +msgstr "请考虑使用安全的 (HTTPS) 链接 URL 来引用此屏幕截图或录像。" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:200 +msgid "" +"A screenshot must contain at least one image or video in order to be useful. " +"Please add an to it." +msgstr "一个有用的截图应该包含至少一个图片或视频。请添加给截图。" + +#: src/as-validator-issue-tag.h:205 +msgid "" +"A screenshot must contain either images or videos, but not both at the same " +"time. Please use this screenshot exclusively for either static images or for " +"videos." msgstr "" +"截图必须包含图像或视频,但不能同时包含两者。请将此截图用于静态图像或视频。" -#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report -#: tools/ascli-actions-misc.c:116 -msgid "Metainfo files:" -msgstr "元信息文件:" +#: src/as-validator-issue-tag.h:211 +msgid "The screenshot does not have a caption text. Consider adding one." +msgstr "该截屏没有说明文字。请考虑添加一个。" -#: src/as-provided.c:152 -msgid "Modaliases" -msgstr "模块别名" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:217 +msgid "" +"The screenshot video does not specify which video codec was used in a " +"`codec` property." +msgstr "该录屏视频没有在 `codec` 属性中指定使用的视频编解码器。" -#: src/as-category.c:74 -msgctxt "Category of AudioVideo" -msgid "Music Players" -msgstr "音乐播放器" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:223 +msgid "" +"The screenshot video does not specify which container format was used in a " +"`container` property." +msgstr "该录屏视频没有在 `container` 属性中指定使用的视频容器格式。" -#: tools/ascli-utils.c:296 -msgid "Name" -msgstr "名称" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:229 +msgid "" +"The selected video codec is not supported by AppStream and software centers " +"may not be able to play the video. Only the AV1 and VP9 codecs are currently " +"supported, using `av1` and `vp9` as values for the `codec` property." +msgstr "" +"AppStream 不支持已选择的视频编解码器因此软件中心可能无法播放该视频。当前仅支" +"持 AV1 和 VP9 编解码器,请为 `codec` 属性使用 `av1` 和 `vp9` 作为设定值。" -#: src/as-category.c:266 -msgctxt "Category of Communication" -msgid "News" -msgstr "新闻" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:236 +msgid "" +"The selected video container format is not supported by AppStream and " +"software centers may not be able to play the video. Only the WebM and " +"Matroska video containers are currently supported, using `webm` and `mkv` as " +"values for the `container` property." +msgstr "" +"AppStream 不支持已选择的视频容器格式因此软件中心可能无法播放该视频。当前仅支" +"持 WebM 和 Matroska 视频容器,请为 `container` 属性使用 `webm` 和 `mkv` 作为" +"设定值。" -#: src/as-validator-issue-tag.h:589 -msgid "No AppStream metadata was found in this directory or directory tree." +#: src/as-validator-issue-tag.h:242 +msgid "" +"For videos, only the WebM and Matroska (.mkv) container formats are " +"currently supported. The file extension of the referenced video does not " +"belong to either of these formats." msgstr "" +"目前只支持 WebM 和 Matroska (.mkv) 容器格式的视频。引用的视频所用的扩展名不属" +"于这些格式。" -#. pedantic because not everything which has metadata is an application -#: src/as-validator-issue-tag.h:594 -msgid "No XDG applications directory found." +#: src/as-validator-issue-tag.h:248 +msgid "" +"The default screenshot of a software component must not be a video. Use a " +"static image as default screenshot and set the video as a secondary " +"screenshot." msgstr "" +"软件组件的默认截图不能为视频。请使用静态图片作为默认截图,视频设置为二级截" +"图。" -#: tools/ascli-actions-mdata.c:182 -#, c-format -msgid "No component matching '%s' found." -msgstr "未找到符合“%s”的组件。" +#: src/as-validator-issue-tag.h:253 +msgid "" +"Found an unknown tag in a requires/recommends group. This is likely an " +"error, because a component relation of this type is unknown." +msgstr "在需求/发现组发现未知标签。这可能是错误,因为该类型的组件关系未知。" -#: tools/ascli-actions-misc.c:105 -msgid "No icons." -msgstr "无图标。" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:259 +msgid "" +"A `requires` or `recommends` item requires a value to denote a valid " +"relation." +msgstr "一个`需要`或`建议`的条目需要一个值来表示有效的关系。" -#: tools/ascli-actions-misc.c:402 -msgid "No output filename specified, modifying metainfo file directly." +#. TRANSLATORS: `version` is an AppStream XML property. Please do not translate it. +#: src/as-validator-issue-tag.h:265 +msgid "" +"Found `version` property on required/recommended item of a type that should " +"not have or require a version." +msgstr "在不应有或需要版本号的类型下的需求/推荐项目上发现了 `version` 属性。" + +#. TRANSLATORS: `version` and `compare` are AppStream XML properties. Please do not translate them. +#: src/as-validator-issue-tag.h:271 +msgid "" +"Found `version` property on this required/recommended item, but not " +"`compare` property. It is recommended to explicitly define a comparison " +"operation." msgstr "" +"在该需求/推荐项目上发现了 `version` 属性而不是 `compare` 属性。推荐明确定义对" +"比运算。" -#: tools/ascli-actions-misc.c:306 +#: src/as-validator-issue-tag.h:276 msgid "" -"No provided binary specified in metainfo file, and no exec command specified " -"via '--exec'. Can not create 'Exec=' key." +"Invalid comparison operation on relation item. Only eq/ne/lt/gt/le/ge are " +"permitted." +msgstr "关联项目上有无效的对比运算。仅允许 eq/ne/lt/gt/le/ge 对比。" + +#: src/as-validator-issue-tag.h:281 +msgid "" +"The relation item has a comparison operation set, but does not support any " +"comparisons." +msgstr "关系项有比较操作集,但不支持任何比较。" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:287 +msgid "" +"Found a memory size relation in a `requires` tag. This means users will not " +"be able to even install the component without having enough RAM. This is " +"usually not intended and you want to use `memory` in the `recommends` tag " +"instead." msgstr "" +"在 `requires` 标签中发现内存大小关联。这意味着内存不足时用户甚至无法安装该组" +"件。这通常不是有意的且您想要在 `recommends` 标签中使用 `memory` 替代。" -#: tools/ascli-actions-misc.c:284 -msgid "No stock icon name was provided in the metainfo file. Can not continue." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:294 +msgid "" +"Found a user input control relation in a `requires` tag. This means users " +"will not be able to even install the component without having the defined " +"input control available on the system. This is usually not intended and you " +"want to use `control` in the `recommends` tag instead." msgstr "" +"在 `requires` 标签中发现用户输入控制关联。这意味着系统上没有可用的指定输入控" +"制时用户甚至无法安装该组件。这通常不是有意的且您想要在 `recommends` 标签中使" +"用 `control` 替代。" -#: tools/ascli-actions-pkgmgr.c:53 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:301 msgid "" -"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" -"\" (part of PackageKit) is available." +"This `control` item defines an unknown input method and is invalid. Check " +"the specification for a list of permitted values." msgstr "" -"未找到可用的软件包管理器 CLI。请确定已安装类似“pkcon”(PackageKit 的一部分)" -"的程序。" +"这个“control”项定义了一个未知的输入法,这是无效的。请检查规格中允许的值的列" +"表。" -#: tools/ascli-actions-mdata.c:206 -#, fuzzy -msgid "No value for the item to search for was defined." -msgstr "没有定义要搜索的提供项目值。" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:307 +msgid "" +"This `display_length` item contains an invalid display length. Its value " +"must either be a shorthand string, or positive integer value denoting " +"logical pixels. Please refer to the AppStream specification for more " +"information on this tag." +msgstr "" +"该 `display_length` 项目包含无效的显示长度。它的设定值必须为简写字符串或表示" +"逻辑像素的正整数。请参阅 AppStream 规范获取有关该标签的更多信息。" -#. TRANSLATORS: this is the menu spec main category for Office -#: src/as-category.c:317 -msgid "Office" -msgstr "办公" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:314 +msgid "" +"This `side` property of this `display_length` item contains an invalid " +"value. It must either be `shortest` or `longest`, or unset to imply " +"`shortest` to make the item value refer to either the shortest or longest " +"side of the display." +msgstr "" +"该 `display_length` 的 `side` 属性包含无效的设定值。它必须为 `shortest` 或 " +"`longest`,或者不设置以暗示 `shortest` 该项目设定值指向显示器的最短或最长边。" -#. TRANSLATORS: An unknown option was passed to appstreamcli. -#: tools/appstream-cli.c:192 -#, c-format -msgid "Option '%s' is unknown." -msgstr "选项“%s”未知。" +#: src/as-validator-issue-tag.h:320 +msgid "" +"The set component type is not a recognized, valid AppStream component type." +msgstr "设置的组件类型不是已识别的、有效的AppStream组件类型。" -#: tools/ascli-utils.c:298 -msgid "Package" -msgstr "软件包" +#: src/as-validator-issue-tag.h:325 +msgid "" +"The component has a priority value set. This is not allowed in metainfo " +"files." +msgstr "组件有一个优先级值集。 这在 metainfo 文件中是不允许的。" -#: src/as-category.c:171 -msgctxt "Category of Graphics" -msgid "Photography" -msgstr "摄影" +#: src/as-validator-issue-tag.h:330 +msgid "" +"The component has a `merge` method defined. This is not allowed in metainfo " +"files." +msgstr "组件定义了一个 “merge” 方法。 这在 metainfo 文件中是不允许的。" -#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) -#: tools/appstream-cli.c:121 -#, fuzzy -msgid "Print detailed explanation for found issues." -msgstr "打印关于寻找到的组件的详细输出。" +#: src/as-validator-issue-tag.h:335 +msgid "The component is missing an ID ( tag)." +msgstr "组件缺少一个标识( 标签)。" -#. TRANSLATORS: ascli flag description for: --details -#: tools/appstream-cli.c:98 -msgid "Print detailed output about found components." -msgstr "打印关于寻找到的组件的详细输出。" +#: src/as-validator-issue-tag.h:340 +msgid "The component is missing a name ( tag)." +msgstr "组件缺少一个名称(标记)。" -#. project group -#: tools/ascli-utils.c:360 -msgid "Project Group" -msgstr "项目群组" +#: src/as-validator-issue-tag.h:345 +msgid "The component is missing a summary ( tag)." +msgstr "组件缺少一个摘要(标记)。" -#: tools/ascli-utils.c:405 -msgid "Provided Items" -msgstr "提供的项目" +#: src/as-validator-issue-tag.h:350 +msgid "" +"The tag still contains a `type` property, probably from an old " +"conversion to the recent metainfo format." +msgstr "" +"标签仍然包含一个“ type ”属性,可能是从旧的转换到当前的 metainfo 格式。" -#: src/as-provided.c:154 -msgid "Python (Version 2)" -msgstr "Python 2" +#: src/as-validator-issue-tag.h:355 +msgid "" +"The `pkgname` tag appears multiple times. You should evaluate creating a " +"metapackage containing the metainfo and .desktop files in order to avoid " +"defining multiple package names per component." +msgstr "" +"该 `pkgname` 标签出现了多次。您应该考虑创建包含元信息和 .desktop 文件的元软件" +"包以避免为每个组件定义多个软件包名称。" -#: src/as-provided.c:156 -msgid "Python 3" -msgstr "Python 3" +#: src/as-validator-issue-tag.h:360 +msgid "The component name should (likely) not end with a dot (`.`)." +msgstr "组件名不应该以点(“ . ”)结尾。" + +#: src/as-validator-issue-tag.h:365 +msgid "The component summary should not end with a dot (`.`)." +msgstr "摘要组件不应该以点(“ . ”)结束。" -#: tools/appstream-cli.c:854 -msgid "Rebuild the component metadata cache." -msgstr "重建组件元数据缓存。" +#: src/as-validator-issue-tag.h:370 +msgid "The component summary must not contain tabs or linebreaks." +msgstr "组件摘要不能包含制表符或换行符。" -#: tools/appstream-cli.c:860 -#, fuzzy -msgid "Remove software matching the component-ID." -msgstr "卸载匹配 component-id 的软件。" +#: src/as-validator-issue-tag.h:375 +msgid "The summary must not contain any URL. Use the tags for links." +msgstr "摘要不能包含任何URL。 链接使用标签。" -#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty -#: src/as-validator.c:364 -msgid "Retrieved file size was zero." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:381 +msgid "" +"Icons of type `stock` or `cached` must not contain an URL, a full or an " +"relative path to the icon. Only file basenames or stock names are allowed." msgstr "" +"`stock` 或 `cached` 类型的图标不能包含网址,指向该图标的完整或相关路径。仅允" +"许文件 basenames 或 stock names。" -#: src/as-category.c:248 -msgctxt "Category of Science" -msgid "Robotics" -msgstr "机器人" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:388 +msgid "Icons of type `remote` must contain an URL to the referenced icon." +msgstr "`remote` 类型的图标必须包含指向该图标的网址。" -#: src/as-category.c:150 -msgctxt "Category of Games" -msgid "Role Playing" -msgstr "角色扮演" +#: src/as-validator-issue-tag.h:393 +msgid "Unable to reach remote icon at the given web location - does it exist?" +msgstr "在给定的网站位置无法获取远程图标-图标是否存在?" -#: tools/appstream-cli.c:196 tools/appstream-cli.c:926 -#, c-format -msgid "Run '%s --help' to see a full list of available command line options." -msgstr "运行“%s --help”以查看可用命令行选项完整的列表。" +#: src/as-validator-issue-tag.h:398 +msgid "Consider using a secure (HTTPS) URL for the remote icon link." +msgstr "请考虑使用安全的 (HTTPS) 远程图标链接 URL。" -#: tools/appstream-cli.c:198 -#, c-format +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:404 msgid "" -"Run '%s --help' to see a list of available commands and options, and '%s %s " -"--help' to see a list of options specific for this subcommand." +"Metainfo files may only contain icons of type `stock` or `remote`, the set " +"type is not allowed." msgstr "" -"运行“%s --help”以查看可用命令和选项列表;“%s %s --help”可查看专属于某个子命令" -"的选项列表。" - -#: src/as-provided.c:162 -msgid "Runtime Firmware" -msgstr "运行时固件" +"Metainfo 文件可能只包含类型 “stock” 或 “remote” 的图标,设置类型是不允许的。" -#: src/as-category.c:174 -msgctxt "Category of Graphics" -msgid "Scanning" -msgstr "扫描" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:410 +msgid "" +"Invalid `type` property for this `url` tag. URLs of this type are not known " +"in the AppStream specification." +msgstr "" +"此 “url” 标签的 “type” 属性无效。 这种类型的 url 在 AppStream 规范中是未知" +"的。" -#. TRANSLATORS: this is the menu spec main category for Science -#: src/as-category.c:323 -msgid "Science" -msgstr "科学" +#: src/as-validator-issue-tag.h:415 +msgid "" +"Unable to reach remote location that this URL references - does it exist?" +msgstr "无法获取远程位置的URL-是否存在?" -#: tools/appstream-cli.c:847 -msgid "Search the component database." -msgstr "搜索组件数据库。" +#: src/as-validator-issue-tag.h:420 +msgid "Consider using a secure (HTTPS) URL for this web link." +msgstr "建议使用安全的(HTTPS)URL 作为此网页链接。" -#: src/as-category.c:293 -msgctxt "Category of Utility" -msgid "Security" -msgstr "安全" +#: src/as-validator-issue-tag.h:425 +msgid "A web URL was expected for this value." +msgstr "这个值需要一个 web URL。" -#. TRANSLATORS: ascli flag description for: --verbose -#: tools/appstream-cli.c:903 -msgid "Show extra debugging information." -msgstr "显示额外的调试信息。" +#: src/as-validator-issue-tag.h:430 +msgid "" +"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." +msgstr "该 web 链接使用 FTP 协议。请考虑改用HTTP(S)。" -#. TRANSLATORS: ascli flag description for: --version -#: tools/appstream-cli.c:897 -msgid "Show the program version." -msgstr "显示程序版本." +#: src/as-validator-issue-tag.h:435 +msgid "The can not contain a hyperlink." +msgstr " 不能包含超链接。" -#: src/as-validator-issue-tag.h:635 +#: src/as-validator-issue-tag.h:440 msgid "" -"Since a 'runtime' component is comprised of multiple other software " -"components, their component-IDs may be listed in a `` section for " -"this runtime." -msgstr "" +"The set value is not an identifier for a desktop environment as registered " +"with Freedesktop.org." +msgstr "设置的值不是注册到 Freedesktop.org 的桌面环境的标识符。" -#: src/as-category.c:153 -msgctxt "Category of Games" -msgid "Sports" -msgstr "运动" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:446 +msgid "This `launchable` tag has an unknown type and can not be used." +msgstr "这个 “launchable” 标签的类型未知,不能使用。" -#: src/as-category.c:157 -msgctxt "Category of Games" -msgid "Strategy" -msgstr "策略" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:452 +msgid "This `bundle` tag has an unknown type and can not be used." +msgstr "这个“bundle”标签的类型未知,不能使用。" -#. these are commands we can use with appstreamcli -#: tools/appstream-cli.c:845 -msgid "Subcommands:" -msgstr "子命令:" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:458 +msgid "" +"The `update_contact` tag should not be included in collection AppStream XML." +msgstr "“update_contact” 标签不应该包含在集合 AppStream XML 中。" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:527 +#: src/as-validator-issue-tag.h:463 msgid "" -"Suggestions of any type other than 'upstream' are not allowed in metainfo " -"files." +"This tag is a GNOME-specific extension to AppStream and not part of the " +"official specification. Do not expect it to work in all implementations and " +"in all software centers." msgstr "" +"这个标记是 AppStream 的 GNOME 特有的扩展,不是官方规范的一部分。 不要期望它在" +"所有的安装启用和所有的软件中心中都能工作。" -#: tools/ascli-utils.c:297 -msgid "Summary" -msgstr "摘要" - -#. TRANSLATORS: Status summary in ascli -#: tools/ascli-actions-misc.c:145 -msgid "Summary:" -msgstr "概览:" - -#: src/as-category.c:290 -msgctxt "Category of Utility" -msgid "System Monitoring" -msgstr "系统监控" - -#: src/as-validator-issue-tag.h:46 -msgid "Tags of this name are not permitted in this section." +#: src/as-validator-issue-tag.h:469 +msgid "" +"Found invalid tag. Non-standard tags should be prefixed with `x-`. AppStream " +"also provides the tag to add arbitrary custom data to metainfo " +"files. This tag is read by AppStream libraries and may be useful instead of " +"defining new custom toplevel or `x-`-prefixed tags if you just want to add " +"custom data to a metainfo file." msgstr "" +"发现无效标签。非标准标签应使用 `x-` 前缀。AppStream 也提供了 标签用" +"来添加任意自定义数据至元信息文件。该标签会被 AppStream 库读取并且如果您只是想" +"要为元信息文件添加自定义数据可以使用该标签作为定义新自定义顶层或 `x-` 前缀标" +"签的有用替代。" -#: src/as-category.c:284 -msgctxt "Category of Utility" -msgid "Terminal Emulators" -msgstr "终端机仿真器" - -#: src/as-category.c:281 -msgctxt "Category of Utility" -msgid "Text Editors" -msgstr "文本编辑器" - -#: src/as-validator-issue-tag.h:318 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:477 msgid "" -"The 'pkgname' tag appears multiple times. You should evaluate creating a " -"metapackage containing the metainfo and .desktop files in order to avoid " -"defining multiple package names per component." -msgstr "" +"The essential tag `metadata_license` is missing. A license for the metadata " +"itself always has to be defined." +msgstr "缺少基本的标记 “metadata_license”。必须始终定义元数据本身的许可证。" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:416 +#: src/as-validator-issue-tag.h:482 msgid "" -"The 'update_contact' tag should not be included in collection AppStream XML." -msgstr "" +"The component is missing a long description. Components of this type must " +"have a long description." +msgstr "组件缺少一个很长的描述。 这种类型的组件必须有一个很长的描述。" -#: tools/ascli-actions-mdata.c:467 -#, c-format -msgid "The .desktop file '%s' does not exist." -msgstr ".desktop 文件“%s”并不存在。" +#: src/as-validator-issue-tag.h:487 +msgid "" +"It would be useful to add a long description to this font to present it " +"better to users." +msgstr "为了更好地呈现给用户,在这种字体中添加一段较长的描述是很有用的。" -#: src/as-validator-issue-tag.h:393 -msgid "The can not contain a hyperlink." -msgstr "" +#: src/as-validator-issue-tag.h:492 +msgid "" +"It is recommended to add a long description to this component to present it " +"better to users." +msgstr "为了更好地呈现给用户,在这种字体中添加一段较长的描述是很有用的。" -#: src/as-validator-issue-tag.h:313 +#: src/as-validator-issue-tag.h:497 msgid "" -"The tag still contains a 'type' property, probably from an old " -"conversion to the recent metainfo format." -msgstr "" +"This generic component is missing a long description. It may be useful to " +"add one." +msgstr "这个通用组件缺少一个很长的描述。 加一个可能有用。" -#: src/as-validator-issue-tag.h:616 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:503 msgid "" -"The AppStream specification requires a complete, ISO 8601 date string with " -"at least day-granularity to denote dates. Please ensure the date string is " -"valid." +"Type `console-application` component, but no information about binaries in " +"$PATH was provided via a `provides/binary` tag." msgstr "" +"输入“ console-application ”组件,但是 $PATH 中没有通过“ provides/binary ”标签" +"提供关于二进制文件的信息。" -#: src/as-pool.c:1924 -#, fuzzy, c-format +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:509 msgid "" -"The AppStream system cache was updated, but problems were found which " -"resulted in metadata being ignored: %s" -msgstr "AppStream 系统缓存已更新,但发现了一些问题:%s" +"This `web-application` component is missing a `launchable` tag of type `url`." +msgstr "这个 “web-application” 组件缺少一个类型为 “url” 的 “launchable” 标签。" -#: src/as-pool.c:1922 -#, fuzzy +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:515 msgid "" -"The AppStream system cache was updated, but some components were ignored. " -"Refer to the verbose log for more information." -msgstr "" -"AppStream 系统缓存已更新,但是检测到了一些错误可能导致元数据丢失。 请参阅详细" -"日志获取更多信息。" - -#: src/as-validator-issue-tag.h:151 -msgid "The SPDX license expression is invalid and could not be parsed." -msgstr "" +"This `web-application` component is missing a `icon` tag to specify a valid " +"icon." +msgstr "这个“web-application”组件缺少一个“icon”标签来指定一个有效的图标。" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows -#: tools/appstream-cli.c:683 -#, c-format -msgid "The TYPE must be a valid component-type, such as: %s" -msgstr "TYPE 必须为有效的组件类型,例如:%s" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:521 +msgid "" +"This `web-application` component is missing categorizations. A `categories` " +"block is likely missing." +msgstr "这个 “web-application”组件缺少分类。“categories” 板块可能缺失了。" -#: src/as-validator-issue-tag.h:547 -msgid "The XML of this file is malformed." -msgstr "" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:527 +msgid "" +"Type `font` component, but no font information was provided via a `provides/" +"font` tag." +msgstr "键入“ font ” 组件,但没有通过 “ provides/font ” 标签提供字体信息。" -#: src/as-validator-issue-tag.h:584 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:533 msgid "" -"The category defined in the .desktop file is not valid. Refer to the XDG " -"Menu Specification for a list of valid categories." +"Type `driver` component, but no modalias information was provided via a " +"`provides/modalias` tag." msgstr "" +"输入“ driver”组件,但没有通过“provides/modalias”标签提供 modalias 信息。" -#: src/as-validator-issue-tag.h:532 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:539 msgid "" -"The category name is not valid. Refer to the XDG Menu Specification for a " -"list of valid category names." +"An `extends` tag is specified, but the component is not of type `addon`, " +"`localization` or `repository`." msgstr "" +"指定了`extends'标签,但是组件类型不是`addon`、`localization`或`repository`。" -#: src/as-validator-issue-tag.h:124 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:545 +msgid "The component is an addon, but no `extends` tag was specified." +msgstr "该组件是一个插件,但是没有指定“ extends ”标记。" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:551 msgid "" -"The component ID contains a hyphen/minus. Using a hyphen is strongly " -"discouraged, to improve interoperability with other tools such as D-Bus. A " -"good option is to replace any hyphens with underscores ('_')." +"This `localization` component is missing an `extends` tag, to specify the " +"components it adds localization to." msgstr "" +"这个“localization”组件缺少一个 “extends” 标记,用来指定它添加本地化的组件。" -#: src/as-validator-issue-tag.h:130 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:557 msgid "" -"The component ID contains a segment starting with a number. Starting a " -"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " -"interoperability with other tools such as D-Bus. Ideally, prefix these " -"segments with an underscore." -msgstr "" +"This `localization` component does not define any languages this " +"localization is for." +msgstr "这个 “localization” 组件没有定义任何本地化的语言。" -#: src/as-validator-issue-tag.h:119 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:563 msgid "" -"The component ID contains an invalid character. Only ASCII characters, dots " -"and numbers are permitted." -msgstr "" +"This `service` component is missing a `launchable` tag of type `service`." +msgstr "这个 “service” 组件缺少类型为 “service” 的 “launchable” 标签。" -#: src/as-validator-issue-tag.h:106 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:569 msgid "" -"The component ID is not a reverse domain-name. Please update the ID to avoid " -"future issues and be compatible with all AppStream implementations.\n" -"You may also consider to update the name of the accompanying .desktop file " -"to follow the latest version of the Desktop-Entry specification and use a " -"rDNS name for it as well. In any case, do not forget to mention the new " -"desktop-entry in a tag for this component to keep the " -"application launchable from software centers and the .desktop file data " -"associated with the metainfo data." -msgstr "" +"Suggestions of any type other than `upstream` are not allowed in metainfo " +"files." +msgstr "除了“upstream”以外的任何类型的都不建议允许出现在 metainfo 文件中。" -#: src/as-validator-issue-tag.h:101 +#: src/as-validator-issue-tag.h:574 msgid "" -"The component ID is required to follow a reverse domain-name scheme for its " -"name. See the AppStream specification for details." -msgstr "" +"The category name is not valid. Refer to the XDG Menu Specification for a " +"list of valid category names." +msgstr "类别名称无效。 有关有效类别名称的列表,请参考 XDG 菜单规范。" -#: src/as-validator-issue-tag.h:114 +#: src/as-validator-issue-tag.h:579 +msgid "The screenshot caption is too long (should be <= 80 characters)" +msgstr "截图标题太长(应该 <= 80 个字符)" + +#: src/as-validator-issue-tag.h:584 +msgid "Unable to read file." +msgstr "无法读取文件。" + +#: src/as-validator-issue-tag.h:589 +msgid "The XML of this file is malformed." +msgstr "这个文件的XML格式不正确。" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:595 msgid "" -"The component ID might not follow the reverse domain-name schema (the TLD " -"used by it is not known to the validator)." -msgstr "" +"Invalid tag found in collection metadata. Only `component` tags are " +"permitted." +msgstr "在集合元数据中发现无效标记。 只允许 “component” 标签。" -#: src/as-validator-issue-tag.h:293 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:601 msgid "" -"The component has a 'merge' method defined. This is not allowed in metainfo " -"files." +"The metainfo file uses an ancient version of the AppStream specification, " +"which can not be validated. Please migrate it to version 0.6 (or higher)." msgstr "" +"该元信息文件使用了无法被验证的过时版本的 AppStream 规范。请迁移至 0.6 版本" +"(或更高)。" -#: src/as-validator-issue-tag.h:288 +#: src/as-validator-issue-tag.h:606 msgid "" -"The component has a priority value set. This is not allowed in metainfo " -"files." -msgstr "" +"This XML document has an unknown root tag. Maybe this file is not a metainfo " +"document?" +msgstr "该 XML 文档具有未知根标签。可能该文件不是元信息文档?" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:503 -msgid "The component is an addon, but no 'extends' tag was specified." -msgstr "" +#: src/as-validator-issue-tag.h:611 +msgid "The metainfo filename does not match the component ID." +msgstr "元信息文件名与组件 ID 不匹配。" -#: src/as-validator-issue-tag.h:440 +#: src/as-validator-issue-tag.h:616 +msgid "Unable to read the .desktop file associated with this component." +msgstr "无法读取与该组件关连的 .desktop 文件。" + +#: src/as-validator-issue-tag.h:621 +msgid "This component metadata refers to a non-existing .desktop file." +msgstr "该组件元数据引用了不存在的 .desktop 文件。" + +#: src/as-validator-issue-tag.h:626 msgid "" -"The component is missing a long description. Components of this type must " -"have a long description." +"The category defined in the .desktop file is not valid. Refer to the XDG " +"Menu Specification for a list of valid categories." msgstr "" +"在该 .desktop 文件中定义的分类无效。请参阅 XDG 菜单规范获取有效的分类列表。" -#: src/as-validator-issue-tag.h:303 -msgid "The component is missing a name ( tag)." -msgstr "" +#: src/as-validator-issue-tag.h:631 +msgid "No AppStream metadata was found in this directory or directory tree." +msgstr "在该目录或目录树中未找到 AppStream 元数据。" -#: src/as-validator-issue-tag.h:308 -msgid "The component is missing a summary ( tag)." -msgstr "" +#. pedantic because not everything which has metadata is an application +#: src/as-validator-issue-tag.h:636 +msgid "No XDG applications directory found." +msgstr "未找到 XDG 应用程序目录。" -#: src/as-validator-issue-tag.h:298 -msgid "The component is missing an ID ( tag)." -msgstr "" +#: src/as-validator-issue-tag.h:641 +msgid "" +"The metainfo file is stored in a legacy path. Please place it in `/usr/share/" +"metainfo/`." +msgstr "该元信息文件存储于过时路径。请将其放置在 `/usr/share/metainfo/` 内。" -#: src/as-validator-issue-tag.h:136 +#: src/as-validator-issue-tag.h:646 +msgid "The metainfo file specifies multiple components. This is not allowed." +msgstr "该元信息文件指定了多个组件。这是不允许的。" + +#: src/as-validator-issue-tag.h:651 msgid "" -"The component is part of the Freedesktop project, but its ID does not start " -"with fd.o's reverse-DNS name (\"org.freedesktop\")." +"The releases are not sorted in a latest to oldest version order. This is " +"required as some tools will assume that the latest version is always at the " +"top. Sorting releases also increases overall readability of the metainfo " +"file." msgstr "" +"版本发布没有按最新到最旧的版本顺序排序。由于一些工具会假定最新版本总是在最顶" +"端因此需要这样。对发布排序同样会增强元信息文件的整体可读性。" -#: src/as-validator-issue-tag.h:146 +#: src/as-validator-issue-tag.h:658 +msgid "The value set as release urgency is not a known urgency value." +msgstr "该设定值作为紧急发布设定并不是已知的紧急设定值。" + +#: src/as-validator-issue-tag.h:663 +msgid "The value set as release type is invalid." +msgstr "该设定值作为发布类型设定无效。" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:669 msgid "" -"The component is part of the GNOME project, but its ID does not start with " -"GNOMEs reverse-DNS name (\"org.gnome\")." -msgstr "" +"The value set as artifact type is invalid. Must be either `source` or " +"`binary`." +msgstr "该设定值作为人工类型无效。必须为 `source` 或 `binary`。" -#: src/as-validator-issue-tag.h:141 +#: src/as-validator-issue-tag.h:674 +msgid "The value set as artifact bundle type is invalid." +msgstr "该设定值作为人工捆绑包类型无效。" + +#: src/as-validator-issue-tag.h:679 msgid "" -"The component is part of the KDE project, but its ID does not start with " -"KDEs reverse-DNS name (\"org.kde\")." +"The platform triplet for this release is invalid. It must be in the form of " +"`architecture-oskernel-osenv` - refer to the AppStream documentation or " +"information on normalized GNU triplets for more information and valid fields." msgstr "" +"该发布的平台三联体无效。它必须是 `architecture-oskernel-osenv` 的形式,请参" +"阅 AppStream 文档或标准化的 GNU 三联体信息获取更多信息和有效域。" -#: src/as-validator-issue-tag.h:323 -msgid "The component name should (likely) not end with a dot ('.')." -msgstr "" +#: src/as-validator-issue-tag.h:686 +msgid "The selected checksumming algorithm is unsupported or unknown." +msgstr "选择的校验和算法不受支持或未知。" -#: src/as-validator-issue-tag.h:333 -msgid "The component summary must not contain tabs or linebreaks." -msgstr "" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:692 +msgid "The size type is unknown. Must be `download` or `installed`." +msgstr "该大小类型未知。必须为 `download` 或 `installed`。" -#: src/as-validator-issue-tag.h:328 -msgid "The component summary should not end with a dot ('.')." -msgstr "" +#: src/as-validator-issue-tag.h:697 +msgid "" +"The artifact filename must be a file basename, not a (relative or absolute) " +"path." +msgstr "该人造文件名必须为文件 basename,而不是(相对或绝对)路径。" + +#: src/as-validator-issue-tag.h:702 +msgid "The value set as release issue type is invalid." +msgstr "该设定值作为发布问题类型无效。" -#: src/as-validator-issue-tag.h:243 +#: src/as-validator-issue-tag.h:707 msgid "" -"The default screenshot of a software component must not be a video. Use a " -"static image as default screenshot and set the video as a secondary " -"screenshot." +"The issue is tagged at security vulnerability with a CVE number, but its " +"value does not look like a valid CVE identifier." msgstr "" +"该问题打上了带 CVE 数字的安全漏洞标签,但它的设定值看起来不像有效的 CVE 标" +"识。" -#: src/as-validator-issue-tag.h:86 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:713 msgid "" -"The description contains a web URL in plain text. This is not allowed, " -"please use the tag instead to share links." -msgstr "" +"This component is missing information about releases. Consider adding a " +"`releases` tag to describe releases and their changes." +msgstr "该组件缺少关于版本的信息。考虑添加一个`releases` 标签来描述发行版和它们的变化。" -#: src/as-validator.c:152 +#: src/as-validator-issue-tag.h:718 msgid "" -"The emitted issue tag is unknown in the tag registry of AppStream. This is a " -"bug in the validator itself, please report this issue in our bugtracker." +"The AppStream specification requires a complete, ISO 8601 date string with " +"at least day-granularity to denote dates. Please ensure the date string is " +"valid." msgstr "" +"AppStream 规范要求了完整的带有至少精确到天的 ISO 8601 数据字符串来表示日期。" +"请确保日期字符串有效。" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:435 +#: src/as-validator-issue-tag.h:724 msgid "" -"The essential tag 'metadata_license' is missing. A license for the metadata " -"itself always has to be defined." +"This component extends, provides, requires or recommends itself, which is " +"certainly not intended and may confuse users or machines dealing with this " +"metadata." msgstr "" +"该组件扩展、提供、需求或推荐它自己,这肯定不是有意的且可能会迷惑用户或处理该" +"元数据的设备。" -#: src/as-validator-issue-tag.h:79 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:731 msgid "" -"The first 'description/p' paragraph of this component might be too short (< " -"80 characters). Please consider starting with a longer paragraph to improve " -"how the description looks like in software centers and to provide more " -"detailed information on this component immediately in the first paragraph." +"Licenses for `runtime` components are usually too complex to reflect them in " +"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " +"value for this component's `project_license`. E.g. `LicenseRef-free=https://" +"example.com/licenses.html`" msgstr "" +"用于 `runtime` 组件的许可证往往太复杂以致无法以简单的 SPDX 表达来反映它们。请" +"考虑为该组件的 `project_license` 使用 `LicenseRef` 且用网址作为设定值。比如 " +"`LicenseRef-free=https://example.com/licenses.html`" -#: src/as-validator-issue-tag.h:156 +#: src/as-validator-issue-tag.h:737 msgid "" -"The license ID was not found in the SPDX database. Please check that the " -"license ID is written in an SPDX-conformant way and is a valid free software " -"license." +"Since a `runtime` component is comprised of multiple other software " +"components, their component-IDs may be listed in a `` section for " +"this runtime." msgstr "" +"由于 `runtime` 组件是由多个其它软件组件构成的,它们的组件 ID 可能被列在该运行" +"时的 `` 部分。" -#: src/as-validator-issue-tag.h:96 +#: src/as-validator-issue-tag.h:742 msgid "" -"The mentioned tag is empty, which is highly likely not intended as it should " -"have content." -msgstr "" +"The type of the item that the component provides is not known to AppStream." +msgstr "该组件提供的项目类型对于 AppStream 来说是未知的。" -#: src/as-validator-issue-tag.h:168 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:748 msgid "" -"The metadata itself does not seem to be licensed under a permissive license. " -"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " -"0BSD to allow distributors to include it in mixed data collections without " -"the risk of license violations due to mutually incompatible licenses." +"The toplevel `mimetypes` tag is deprecated. Please use `mediatype` tags in a " +"`provides` block instead to indicate that your software provides a media " +"handler for the given types." msgstr "" +"该顶层 `mimetypes` 标签已废弃。请在 `provides` 区块中使用 `mediatype` 标签替" +"代来提示您的软件提供了指定类型的多媒体处理功能。" -#: src/as-validator-issue-tag.h:162 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks) and keep the URL intact. +#: src/as-validator-issue-tag.h:755 msgid "" -"The metadata itself seems to be licensed under a complex collection of " -"licenses. Please license the data under a simple permissive license, like " -"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " -"collections without the risk of license violations due to mutually " -"incompatible licenses." -msgstr "" +"This component has no `content_rating` tag to provide age rating " +"information. You can generate the tag data online by answering a few " +"questions at https://hughsie.github.io/oars/" +msgstr "该组件没有 `content_rating` 标签来提供年龄评级信息。您可以在 https://hughsie.github.io/oars/ 上回答几个问题,在线生成标签数据" -#: src/as-validator-issue-tag.h:599 +#: src/as-validator.c:150 msgid "" -"The metainfo file is stored in a legacy path. Please place it in '/usr/share/" -"metainfo'." +"The emitted issue tag is unknown in the tag registry of AppStream. This is a " +"bug in the validator itself, please report this issue in our bugtracker." msgstr "" +"该发出的问题标签在 AppStream 的标签注册表中是未知的。这是验证器自身的缺陷,请" +"在我们的缺陷追踪系统中报告该问题。" -#: src/as-validator-issue-tag.h:604 -msgid "The metainfo file specifies multiple components. This is not allowed." -msgstr "" +#: src/as-validator.c:344 +msgid "URL format is invalid." +msgstr "网址格式无效。" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:559 -msgid "" -"The metainfo file uses an ancient version of the AppStream specification, " -"which can not be validated. Please migrate it to version 0.6 (or higher)." -msgstr "" +#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. +#: src/as-validator.c:522 src/as-validator.c:937 src/as-validator.c:1031 +#: src/as-validator.c:1428 src/as-validator.c:1448 src/as-validator.c:1481 +#, c-format +msgid "Found: %s - Allowed: %s" +msgstr "发现的:%s - 允许的:%s" -#: src/as-validator-issue-tag.h:569 -#, fuzzy -msgid "The metainfo filename does not match the component ID." -msgstr "卸载匹配 component-id 的软件。" +#. TRANSLATORS: ascompose flag description for: --verbose +#: tools/appstream-compose.c:181 +msgid "Show extra debugging information" +msgstr "显示额外的调试信息" -#: src/as-validator-issue-tag.h:609 -msgid "" -"The releases are not sorted in a latest to oldest version order. This is " -"required as some tools will assume that the latest version is always at the " -"top. Sorting releases also increases overall readability of the metainfo " -"file." -msgstr "" +#. TRANSLATORS: ascompose flag description for: --no-color +#. TRANSLATORS: ascli flag description for: --no-color +#: tools/appstream-compose.c:184 tools/appstreamcli.c:1087 +msgid "Don't show colored output." +msgstr "不要显示彩色输出。" -#: src/as-validator-issue-tag.h:537 -msgid "The screenshot caption is too long (should be <= 80 characters)" -msgstr "" +#. TRANSLATORS: ascompose flag description for: --version +#. TRANSLATORS: ascli flag description for: --version +#: tools/appstream-compose.c:187 tools/appstreamcli.c:1076 +msgid "Show the program version." +msgstr "显示程序版本." -#: src/as-validator-issue-tag.h:206 -msgid "The screenshot does not have a caption text. Consider adding one." -msgstr "" +#. TRANSLATORS: ascompose flag description for: --full-report +#: tools/appstream-compose.c:190 +msgid "Set mode of the issue report that is printed to the console" +msgstr "为打印在终端中的问题报告设置模式" + +#. TRANSLATORS: ascompose flag description for: --prefix +#: tools/appstream-compose.c:193 +msgid "Override the default prefix (`/usr` by default)" +msgstr "覆盖默认前缀(默认为“/usr”)" + +#. TRANSLATORS: ascompose flag description for: --result-root +#: tools/appstream-compose.c:196 +msgid "Set the result output directory" +msgstr "设置结果输出目录" + +#. TRANSLATORS: ascompose flag description for: --data-dir, `collection metadata` is an AppStream term +#: tools/appstream-compose.c:199 +msgid "Override the collection metadata output directory" +msgstr "覆盖集合元数据输出目录" + +#. TRANSLATORS: ascompose flag description for: --icons-dir +#: tools/appstream-compose.c:202 +msgid "Override the icon output directory" +msgstr "覆盖图标输出目录" + +#. TRANSLATORS: ascompose flag description for: --media-dir +#: tools/appstream-compose.c:205 +msgid "" +"Set the media output directory (for media data to be served by a webserver)" +msgstr "设置媒体输出目录 (用于将由 web 服务器提供的媒体数据)" + +#. TRANSLATORS: ascompose flag description for: --hints-dir +#: tools/appstream-compose.c:208 +msgid "Set a directory where HTML and text issue reports will be stored" +msgstr "设置 HTML 和 纯文本问题报告存放的目录" + +#. TRANSLATORS: ascompose flag description for: --origin +#. TRANSLATORS: ascompose flag description for: --media-baseurl +#: tools/appstream-compose.c:211 tools/appstream-compose.c:214 +msgid "Set the origin name" +msgstr "设置来源的名称" + +#. TRANSLATORS: ascompose flag description for: --components +#: tools/appstream-compose.c:217 +msgid "A comma-separated list of component-IDs to accept" +msgstr "接受用逗号分隔的组件 ID 列表" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:231 +msgid "Failed to parse arguments" +msgstr "解析参数失败" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:218 -msgid "" -"The screenshot video does not specify which container format was used in a " -"'container' property." -msgstr "" +#. TRANSLATORS: Output if appstreamcli --version is executed. +#: tools/appstream-compose.c:242 tools/appstreamcli.c:1230 +#, c-format +msgid "AppStream version: %s" +msgstr "AppStream 版本:%s" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:212 +#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. +#: tools/appstream-compose.c:245 tools/appstreamcli.c:1233 +#, c-format msgid "" -"The screenshot video does not specify which video codec was used in a " -"'codec' property." +"AppStream CLI tool version: %s\n" +"AppStream library version: %s" msgstr "" +"AppStream CLI 工具版本:%s\n" +"AppStream 库版本:%s" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:224 +#. TRANSLATORS: invalid value for the --print-report CLI option +#: tools/appstream-compose.c:264 +#, c-format msgid "" -"The selected video codec is not supported by AppStream and software centers " -"may not be able to play the video. Only the AV1 and VP9 codecs are currently " -"supported, using 'av1' and 'vp9' as values for the 'codec' property." -msgstr "" +"Invalid value for `--print-report` option: %s\n" +"Possible values are:\n" +"`on-error` - only prints a short report if the run failed (default)\n" +"`short` - generates an abridged report\n" +"`full` - a detailed report will be printed" +msgstr "" +"用于“--print-report”选项的设定值无效:%s\n" +"可能的设定值为:\n" +"“on-error”- 仅运行失败时打印简短报告(默认)\n" +"“short”- 生成缩略报告\n" +"“full”- 打印详细报告" + +#: tools/appstream-compose.c:285 +#, c-format +msgid "Automatically selected '%s' as data output location." +msgstr "已自动选择“%s”作为数据输出位置。" + +#. TRANSLATORS: we don't have a destination directory for compose +#: tools/appstream-compose.c:288 +msgid "No destination directory set, please provide a data output location!" +msgstr "未设置目标目录,请提供数据输出位置!" + +#: tools/appstream-compose.c:298 tools/appstream-compose.c:300 +msgid "WARNING" +msgstr "警告" + +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:337 +#, c-format +msgid "Only accepting components: %s" +msgstr "仅接受组件:%s" + +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:340 +#, c-format +msgid "Only accepting component: %s" +msgstr "仅接受组件:%s" + +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:345 +msgid "Processing directories:" +msgstr "处理目录:" + +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:348 +msgid "Processing directory:" +msgstr "处理目录:" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:357 +msgid "Can not process invalid directory" +msgstr "无法处理无效目录" + +#. TRANSLATORS: information message +#: tools/appstream-compose.c:369 +msgid "Composing metadata..." +msgstr "正在整合元数据…" + +#. TRANSLATORS: error message +#: tools/appstream-compose.c:374 +msgid "Failed to compose AppStream metadata" +msgstr "未能编写 AppStream 元数据" + +#. TRANSLATORS: appstream-compose failed to include all data +#: tools/appstream-compose.c:380 +msgid "Run failed, some data was ignored." +msgstr "运行失败,一些数据已被忽略。" + +#. TRANSLATORS: information message of appstream-compose +#: tools/appstream-compose.c:382 +msgid "Errors were raised during this compose run:" +msgstr "在该整合运行期间发生错误:" + +#: tools/appstream-compose.c:383 +msgid "" +"Refer to the generated issue report data for details on the individual " +"problems." +msgstr "请参阅生成的问题报告数据获取有关单独问题的详情。" + +#: tools/appstream-compose.c:386 +msgid "Overview of generated hints:" +msgstr "已生成提示的概览:" + +#. TRANSLATORS: information message +#: tools/appstream-compose.c:388 +msgid "Success!" +msgstr "成功!" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:231 -msgid "" -"The selected video container format is not supported by AppStream and " -"software centers may not be able to play the video. Only the WebM and " -"Matroska video containers are currently supported, using 'webm' and 'mkv' as " -"values for the 'container' property." -msgstr "" +#. TRANSLATORS: ascli flag description for: --cachepath +#: tools/appstreamcli.c:59 +msgid "Manually selected location of AppStream cache." +msgstr "手动选择的 AppStream 缓存位置。" -#: src/as-validator-issue-tag.h:283 -#, fuzzy -msgid "" -"The set component type is not a recognized, valid AppStream component type." -msgstr "软件组件类型“%s”在 AppStream 中无效。可用的值有:" +#. TRANSLATORS: ascli flag description for: --datapath +#: tools/appstreamcli.c:64 +msgid "Manually selected location of AppStream metadata to scan." +msgstr "手动选择的要扫描的 AppStream 元数据的位置。" -#: src/as-validator-issue-tag.h:398 -msgid "" -"The set value is not an identifier for a desktop environment as registered " -"with Freedesktop.org." -msgstr "" +#. TRANSLATORS: ascli flag description for: --no-cache +#: tools/appstreamcli.c:69 +msgid "Make request without any caching." +msgstr "不带任何缓存发出请求。" -#: tools/ascli-actions-mdata.c:449 -#, c-format -msgid "" -"The software component type '%s' is not valid in AppStream. Possible values " -"are:" -msgstr "软件组件类型“%s”在 AppStream 中无效。可用的值有:" +#. TRANSLATORS: ascli flag description for: --format +#: tools/appstreamcli.c:85 +msgid "Default metadata format (valid values are 'xml' and 'yaml')." +msgstr "元数据格式的默认值 (有效的值为“xml”和“yaml”)。" -#: src/as-validator-issue-tag.h:338 -msgid "The summary must not contain any URL. Use the tags for links." -msgstr "" +#. TRANSLATORS: ascli flag description for: --details +#: tools/appstreamcli.c:100 +msgid "Print detailed output about found components." +msgstr "打印关于寻找到的组件的详细输出。" -#: src/as-validator-issue-tag.h:640 -msgid "" -"The type of the item that the component provides is not known to AppStream." -msgstr "" +#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) +#: tools/appstreamcli.c:118 +msgid "Also show pedantic hints." +msgstr "同时显示详细提示。" -#: src/as-validator-issue-tag.h:174 -msgid "" -"The update-contact does not appear to be a valid email address (escaping of " -"'@' is only allowed as '_at_' or '_AT_')." -msgstr "" +#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) +#: tools/appstreamcli.c:123 +msgid "Print detailed explanation for found issues." +msgstr "打印出所发现问题的详细说明。" + +#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) +#: tools/appstreamcli.c:128 +msgid "Do not use network access." +msgstr "不使用网络访问。" -#: tools/ascli-actions-validate.c:363 tools/ascli-actions-validate.c:492 +#. TRANSLATORS: ascli flag description for: --format when validating XML files +#: tools/appstreamcli.c:133 +msgid "Format of the generated report (valid values are 'text' and 'yaml')." +msgstr "生成报告的格式 (有效的值为“xml”和“yaml”)。" + +#. TRANSLATORS: This is the header to the --help menu for subcommands +#. TRANSLATORS: This is the header to the --help menu +#: tools/appstreamcli.c:153 tools/appstreamcli.c:981 +msgid "AppStream command-line interface" +msgstr "AppStream 命令行界面" + +#: tools/appstreamcli.c:156 #, c-format -msgid "" -"The validator can not create reports in the '%s' format. You may select " -"'yaml' or 'text' instead." -msgstr "" +msgid "'%s' command" +msgstr "“%s”命令" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:410 -msgid "This 'bundle' tag has an unknown type and can not be used." -msgstr "" +#. TRANSLATORS: An unknown option was passed to appstreamcli. +#: tools/appstreamcli.c:191 +#, c-format +msgid "Option '%s' is unknown." +msgstr "选项“%s”未知。" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:404 -msgid "This 'launchable' tag has an unknown type and can not be used." -msgstr "" +#: tools/appstreamcli.c:195 tools/appstreamcli.c:1207 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options." +msgstr "运行“%s --help”以查看可用命令行选项完整的列表。" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:515 +#: tools/appstreamcli.c:197 +#, c-format msgid "" -"This 'localization' component does not define any languages this " -"localization is for." +"Run '%s --help' to see a list of available commands and options, and '%s %s " +"--help' to see a list of options specific for this subcommand." msgstr "" +"运行“%s --help”以查看可用命令和选项列表;“%s %s --help”可查看专属于某个子命令" +"的选项列表。" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:509 -msgid "" -"This 'localization' component is missing an 'extends' tag, to specify the " -"components it adds localization to." -msgstr "" +#. TRANSLATORS: ascli flag description for: --force +#: tools/appstreamcli.c:245 +msgid "Enforce a cache refresh." +msgstr "强制刷新缓存。" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:521 -msgid "" -"This 'service' component is missing a 'launchable' tag of type 'service'." -msgstr "" +#. TRANSLATORS: ascli flag description for: --user +#: tools/appstreamcli.c:251 +msgid "Update the user-specific instead of the system-wide cache." +msgstr "更新用户指定而不是系统范围的缓存。" + +#. TRANSLATORS: ascli flag description for: --origin (part of the "put" subcommand) +#: tools/appstreamcli.c:477 +msgid "Set the data origin for the installed metadata collection file." +msgstr "为安装的元数据集合文件设置数据来源。" + +#. TRANSLATORS: ascli flag description for: --user (part of the "put" subcommand) +#: tools/appstreamcli.c:482 +msgid "Install the file for the current user, instead of globally." +msgstr "为当前用户而不是全局的安装该文件。" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:473 +#: tools/appstreamcli.c:631 msgid "" -"This 'web-application' component is missing a 'icon' tag to specify a valid " -"icon." -msgstr "" +"You need to provide at least two version numbers to compare as parameters." +msgstr "您需要提供至少两个版本号码作为参数进行比较。" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:467 -msgid "" -"This 'web-application' component is missing a 'launchable' tag of type 'url'." -msgstr "" +#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. +#: tools/appstreamcli.c:660 +#, c-format +msgid "Unknown compare relation '%s'. Valid values are:" +msgstr "未知的比较关系式“%s”。有效的设定值为:" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:479 +#: tools/appstreamcli.c:700 msgid "" -"This 'web-application' component is missing categorizations. A 'categories' " -"block is likely missing." -msgstr "" +"Too many parameters: Need two version numbers or version numbers and a " +"comparison operator." +msgstr "参数过多:需要两个版本号码或版本号码与对比运算符。" -#: src/as-validator-issue-tag.h:564 +#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) +#: tools/appstreamcli.c:726 msgid "" -"This XML document has an unknown root tag. Maybe this file is not a metainfo " -"document?" -msgstr "" +"Use the given .desktop file to fill in the basic values of the metainfo file." +msgstr "使用给定的 .desktop 文件填写元信息文件的基本值。" #. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand -#: tools/appstream-cli.c:680 -#, fuzzy +#: tools/appstreamcli.c:731 msgid "" "This command takes optional TYPE and FILE positional arguments, FILE being a " "file to write to (or \"-\" for standard output)." @@ -1472,435 +2288,604 @@ "此命令引用可选的 TYPE 和 FILE 位置参数,FILE 为要写入的文件(或用“-”表示标准" "输出)。" -#: src/as-validator-issue-tag.h:622 -msgid "" -"This component extends, provides, requires or recommends itself, which is " -"certainly not intended and may confuse users or machines dealing with this " -"metadata." -msgstr "" +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows +#: tools/appstreamcli.c:734 +#, c-format +msgid "The TYPE must be a valid component-type, such as: %s" +msgstr "TYPE 必须为有效的组件类型,例如:%s" -#: src/as-validator-issue-tag.h:579 -msgid "This component metadata refers to a non-existing .desktop file." -msgstr "" +#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) +#: tools/appstreamcli.c:775 +msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." +msgstr "为 desktop-entry 文件的“Exec=”设定键使用指定行。" -#: src/as-validator-issue-tag.h:69 -msgid "" -"This description paragraph contains invalid markup. Currently, only " -"and are permitted." -msgstr "" +#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command +#: tools/appstreamcli.c:815 +msgid "Assume the input file is in the selected format ('yaml' or 'text')." +msgstr "假设输入文件是所选的格式('yaml' 或者 'text')。" -#: src/as-validator-issue-tag.h:57 +#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command +#: tools/appstreamcli.c:820 msgid "" -"This element (paragraph, list, etc.) of a tag must not be " -"localized individually in collection metadata. Localize the whole " -" tag instead. The AppStream collection metadata generator (e." -"g. `appstream-generator`) will already do the right thing when compiling the " -"data." -msgstr "" +"Limit the number of release entries that end up in the metainfo file (0 for " +"unlimited)." +msgstr "限制元信息文件中出现的发行条目数量(0 为不限制)。" -#: src/as-validator-issue-tag.h:455 -msgid "" -"This generic component is missing a long description. It may be useful to " -"add one." -msgstr "" +#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command +#: tools/appstreamcli.c:862 +msgid "Generate the output in the selected format ('yaml' or 'text')." +msgstr "以选择的格式生成输出结果(“yaml”或“text”)。" -#: src/as-validator-issue-tag.h:421 -msgid "" -"This tag is a GNOME-specific extension to AppStream and not part of the " -"official specification. Do not expect it to work in all implementations and " -"in all software centers." -msgstr "" +#: tools/appstreamcli.c:894 +#, c-format +msgid "Compose binary '%s' was not found! Can not continue." +msgstr "未找到组合二进制文件“%s”!无法继续。" -#: src/as-validator-issue-tag.h:41 -msgid "This tag requires a type property." -msgstr "" +#. TRANSLATORS: this is a (usually shorter) command alias, shown after the command summary text +#: tools/appstreamcli.c:956 +#, c-format +msgid "(Alias: '%s')" +msgstr "(别名:“%s”)" -#: data/org.freedesktop.appstream.cli.metainfo.xml:15 -#, fuzzy -msgid "" -"This tool allows for reading, writing, validating and transformation of " -"AppStream XML or YAML metadata. It also gives access to the system metadata " -"pool, for example to query for software that provides a specific MIME-type, " -"and installing it by its software component identifier." -msgstr "" -"本工具可用于读写、验证与变换 AppStream XML 或 YAML 元数据;此外还可访问系统元" -"数据库,进行诸如搜索提供某种 mime 类型的软件,并按照其软件组件辨识码安装。" +#. these are commands we can use with appstreamcli +#: tools/appstreamcli.c:983 +msgid "Subcommands:" +msgstr "子命令:" -#: src/as-validator-issue-tag.h:388 +#: tools/appstreamcli.c:1029 msgid "" -"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." -msgstr "" +"You can find information about subcommand-specific options by passing \"--" +"help\" to the subcommand." +msgstr "您可以借由传递“--help”给子命令来查找子命令专属的选项信息。" -#: tools/appstream-cli.c:648 +#. TRANSLATORS: ascli has been run with unknown command. '%s --help' is the command to receive help and should not be translated. +#: tools/appstreamcli.c:1052 +#, c-format msgid "" -"Too many parameters: Need two version numbers or version numbers and a " -"comparison operator." -msgstr "" +"Command '%s' is unknown. Run '%s --help' for a list of available commands." +msgstr "未知命令“%s”。运行“%s --help”查看可用命令列表。" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:461 +#. TRANSLATORS: ascli flag description for: --verbose +#: tools/appstreamcli.c:1082 +msgid "Show extra debugging information." +msgstr "显示额外的调试信息。" + +#. TRANSLATORS: ascli flag description for: --profile +#: tools/appstreamcli.c:1090 +msgid "Enable profiling" +msgstr "启用配置文件" + +#. TRANSLATORS: `appstreamcli search` command description. +#: tools/appstreamcli.c:1102 +msgid "Search the component database." +msgstr "搜索组件数据库。" + +#. TRANSLATORS: `appstreamcli get` command description. +#: tools/appstreamcli.c:1107 +msgid "Get information about a component by its ID." +msgstr "根据 ID 获取相应组件的信息。" + +#. TRANSLATORS: `appstreamcli what-provides` command description. +#: tools/appstreamcli.c:1112 msgid "" -"Type 'console-application' component, but no information about binaries in " -"$PATH was provided via a 'provides/binary' tag." +"Get components which provide the given item. Needs an item type (e.g. lib, " +"bin, python3, …) and item value as parameter." msgstr "" +"获取提供给定项目的组件。需要项目类型(如 lib、bin、python3……)和项目值作为参" +"数。" + +#. TRANSLATORS: `appstreamcli dump` command description. +#: tools/appstreamcli.c:1118 +msgid "Dump raw XML metadata for a component matching the ID." +msgstr "为 ID 匹配的组件转储原始 XML 元数据。" + +#. TRANSLATORS: `appstreamcli refresh-cache` command description. +#: tools/appstreamcli.c:1123 +msgid "Rebuild the component metadata cache." +msgstr "重建组件元数据缓存。" + +#. TRANSLATORS: `appstreamcli validate` command description. +#: tools/appstreamcli.c:1129 +msgid "Validate AppStream XML files for issues." +msgstr "验证 AppStream XML 文件以寻找问题。" + +#. TRANSLATORS: `appstreamcli validate-tree` command description. +#: tools/appstreamcli.c:1134 +msgid "Validate an installed file-tree of an application for valid metadata." +msgstr "检验已安装应用程序的文件树以查找有效元数据。" + +#. TRANSLATORS: `appstreamcli install` command description. +#: tools/appstreamcli.c:1140 +msgid "Install software matching the component-ID." +msgstr "安装匹配 component-ID 的软件。" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:491 +#. TRANSLATORS: `appstreamcli remove` command description. +#: tools/appstreamcli.c:1145 +msgid "Remove software matching the component-ID." +msgstr "卸载匹配 component-id 的软件。" + +#. TRANSLATORS: `appstreamcli status` command description. +#: tools/appstreamcli.c:1151 +msgid "Display status information about available AppStream metadata." +msgstr "显示关于可用的 AppStream 元数据的状态信息。" + +#. TRANSLATORS: `appstreamcli os-info` command description. +#: tools/appstreamcli.c:1156 msgid "" -"Type 'driver' component, but no modalias information was provided via a " -"provides/modalias tag." -msgstr "" +"Show information about the current operating system from the metadata index." +msgstr "显示来自元数据索引有关当前操作系统的信息。" + +#. TRANSLATORS: `appstreamcli put` command description. +#: tools/appstreamcli.c:1161 +msgid "Install a metadata file into the right location." +msgstr "将元数据文件安装到正确的位置。" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:485 +#. TRANSLATORS: `appstreamcli convert` command description. "Collection XML" is a term describing a specific type of AppStream XML data. +#: tools/appstreamcli.c:1166 +msgid "Convert collection XML to YAML or vice versa." +msgstr "将收藏集 XML 转换成 YAML,或是相反。" + +#. TRANSLATORS: `appstreamcli vercmp` command description. +#: tools/appstreamcli.c:1171 +msgid "Compare two version numbers." +msgstr "比较两个版本号。" + +#. TRANSLATORS: `appstreamcli new-template` command description. +#: tools/appstreamcli.c:1177 msgid "" -"Type 'font' component, but no font information was provided via a 'provides/" -"font' tag." -msgstr "" +"Create a template for a metainfo file (to be filled out by the upstream " +"project)." +msgstr "为元信息文件创建一个模板(由上游项目填写)。" -#: src/as-validator.c:333 -msgid "URL format is invalid." -msgstr "" +#. TRANSLATORS: `appstreamcli make-desktop-file` command description. +#: tools/appstreamcli.c:1182 +msgid "Create a desktop-entry file from a metainfo file." +msgstr "从元信息文件中创建 desktop-entry 文件。" -#: tools/ascli-actions-mdata.c:544 -#, fuzzy, c-format -msgid "Unable to build the template metainfo file: %s" -msgstr "无法生成模板元信息文件:%s" +#. TRANSLATORS: `appstreamcli news-to-metainfo` command description. +#: tools/appstreamcli.c:1187 +msgid "Convert a YAML or text NEWS file into metainfo releases." +msgstr "将 YAML 或纯文本的 NEWS 文件转换为元信息发布。" + +#. TRANSLATORS: `appstreamcli metainfo-to-news` command description. +#: tools/appstreamcli.c:1192 +msgid "Write NEWS text or YAML file with information from a metainfo file." +msgstr "使用来自元信息文件的信息编写 NEWS 纯文本或 YAML 文件。" + +#. TRANSLATORS: `appstreamcli compose` command description. +#: tools/appstreamcli.c:1198 +msgid "Compose AppStream collection metadata from directory trees." +msgstr "从目录树整合 AppStream 集合元数据。" + +#. TRANSLATORS: ascli has been run without command. +#: tools/appstreamcli.c:1206 +msgid "You need to specify a command." +msgstr "您需要指定一个命令。" + +#. TRANSLATORS: In ascli: The requested action needs higher permissions. +#: tools/ascli-actions-mdata.c:70 +msgid "You might need superuser permissions to perform this action." +msgstr "你可能需要超级用户权限以进行此动作。" + +#. we performed a cache refresh +#. TRANSLATORS: Updating the metadata cache succeeded +#: tools/ascli-actions-mdata.c:80 +msgid "AppStream cache update completed successfully." +msgstr "AppStream 缓存更新成功完成。" + +#. cache wasn't updated, so the update wasn't necessary +#: tools/ascli-actions-mdata.c:86 +msgid "AppStream cache update is not necessary." +msgstr "无需更新 AppStream 缓存。" + +#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments +#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. +#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:253 +#: tools/ascli-actions-pkgmgr.c:80 +msgid "You need to specify a component-ID." +msgstr "您需要指定一个组件-ID。" + +#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:265 +#: tools/ascli-actions-pkgmgr.c:93 +#, c-format +msgid "Unable to find component with ID '%s'!" +msgstr "未找到 id 为“%s”的组件!" + +#: tools/ascli-actions-mdata.c:164 +msgid "You need to specify a term to search for." +msgstr "您需要指定用来搜索的关键字。" + +#. TRANSLATORS: We failed to find any component in the database, likely due to an error +#: tools/ascli-actions-mdata.c:177 +#, c-format +msgid "Unable to find component matching %s!" +msgstr "未找到符合 %s 的组件!" + +#: tools/ascli-actions-mdata.c:182 +#, c-format +msgid "No component matching '%s' found." +msgstr "未找到符合“%s”的组件。" + +#: tools/ascli-actions-mdata.c:206 +msgid "No value for the item to search for was defined." +msgstr "未定义要搜索的项目的值。" + +#: tools/ascli-actions-mdata.c:212 +msgid "Invalid type for provided item selected. Valid values are:" +msgstr "选取的提供项目类型无效。有效的值为:" + +#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results +#: tools/ascli-actions-mdata.c:227 +#, c-format +msgid "Could not find component providing '%s::%s'." +msgstr "未找到提供“%s;%s”的组件。" + +#: tools/ascli-actions-mdata.c:306 +msgid "You need to specify a metadata file." +msgstr "你需要指定一个元数据文件。" + +#: tools/ascli-actions-mdata.c:320 +#, c-format +msgid "Unable to install metadata file: %s" +msgstr "无安装元数据文件:%s" + +#: tools/ascli-actions-mdata.c:340 +msgid "You need to specify an input and output file." +msgstr "你需要指定输入和输出文件。" + +#: tools/ascli-actions-mdata.c:347 +#, c-format +msgid "Metadata file '%s' does not exist." +msgstr "“%s”元数据文件并不存在。" #. TRANSLATORS: User is trying to convert a file in ascli -#: tools/ascli-actions-mdata.c:400 +#: tools/ascli-actions-mdata.c:387 msgid "" "Unable to convert file: Could not determine output format, please set it " "explicitly using '--format='." msgstr "无法转换文件:无法判定输出格式,请使用“--format=”明确设置。" -#. TRANSLATORS: We failed to find any component in the database, likely due to an error -#: tools/ascli-actions-mdata.c:177 +#: tools/ascli-actions-mdata.c:438 +#, c-format +msgid "Unable to find operating system component '%s'!" +msgstr "找不到操作系统组件 '%s'!" + +#: tools/ascli-actions-mdata.c:443 +msgid "Version" +msgstr "版本" + +#: tools/ascli-actions-mdata.c:467 +msgid "" +"You need to give an AppStream software component type to generate a " +"template. Possible values are:" +msgstr "您需要给定 AppStream 软件组件类型以生成模板。可用的值有:" + +#: tools/ascli-actions-mdata.c:469 +#, c-format +msgid "" +"The software component type '%s' is not valid in AppStream. Possible values " +"are:" +msgstr "软件组件类型“%s”在 AppStream 中无效。可用的值有:" + +#: tools/ascli-actions-mdata.c:487 +#, c-format +msgid "The .desktop file '%s' does not exist." +msgstr ".desktop 文件“%s”并不存在。" + +#: tools/ascli-actions-mdata.c:493 +#, c-format +msgid "Unable to read the .desktop file: %s" +msgstr "无法读取 .desktop 文件:%s" + +#: tools/ascli-actions-mdata.c:564 +#, c-format +msgid "Unable to build the template metainfo file: %s" +msgstr "无法构建模板元信息文件:%s" + +#: tools/ascli-actions-mdata.c:572 +#, c-format +msgid "Unable to save the template metainfo file: %s" +msgstr "无法保存模板源信息文件:%s" + +#. TRANSLATORS: In the status report of ascli: Header +#: tools/ascli-actions-misc.c:47 +msgid "AppStream Status:" +msgstr "AppStream 状态:" + +#: tools/ascli-actions-misc.c:48 +#, c-format +msgid "Version: %s" +msgstr "版本:%s" + +#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions +#: tools/ascli-actions-misc.c:52 +msgid "Distribution metadata:" +msgstr "发行版元数据:" + +#: tools/ascli-actions-misc.c:94 +msgid "Iconsets" +msgstr "图标集" + +#: tools/ascli-actions-misc.c:105 +msgid "No icons." +msgstr "无图标。" + +#. TRANSLATORS: No metainfo files have been found +#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 +msgid "Empty." +msgstr "空。" + +#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report +#: tools/ascli-actions-misc.c:116 +msgid "Metainfo files:" +msgstr "元信息文件:" + +#: tools/ascli-actions-misc.c:123 +#, c-format +msgid "Found %i components." +msgstr "找到 %i 个组件。" + +#. TRANSLATORS: Found metainfo files in legacy directories +#: tools/ascli-actions-misc.c:138 +#, c-format +msgid "Found %i components in legacy paths." +msgstr "在旧版路径中找到了 %i 个组件。" + +#. TRANSLATORS: Status summary in ascli +#: tools/ascli-actions-misc.c:145 +msgid "Summary:" +msgstr "概览:" + +#: tools/ascli-actions-misc.c:153 +#, c-format +msgid "We have information on %i software components." +msgstr "已获取到 %i 个软件组件的信息。" + +#: tools/ascli-actions-misc.c:159 +#, c-format +msgid "Error while loading the metadata pool: %s" +msgstr "载入元数据池时出错:%s" + +#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 +msgid "You need to specify a metainfo file as input." +msgstr "您需要指定一个元信息文件作为输入。" + +#: tools/ascli-actions-misc.c:188 +msgid "" +"You need to specify a desktop-entry file to create or augment as output." +msgstr "您需要指定桌面入口文件以作为输出创建或补充。" + +#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 +#: tools/ascli-actions-misc.c:515 #, c-format -msgid "Unable to find component matching %s!" -msgstr "未找到符合 %s 的组件!" +msgid "Metainfo file '%s' does not exist." +msgstr "不存在 “%s” 元数据文件。" -#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:266 -#: tools/ascli-actions-pkgmgr.c:93 +#: tools/ascli-actions-misc.c:219 #, c-format -msgid "Unable to find component with ID '%s'!" -msgstr "未找到 id 为“%s”的组件!" +msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." +msgstr "使用来自“%s”的数据扩充现有的 desktop-entry 文件“%s”。" #: tools/ascli-actions-misc.c:224 -#, fuzzy, c-format +#, c-format msgid "Unable to load existing desktop-entry file template: %s" -msgstr "无法读取 .desktop 文件:%s" +msgstr "无法加载现有的桌面条目文件模板:%s" -#: src/as-validator-issue-tag.h:356 -msgid "Unable to reach remote icon at the given web location - does it exist?" -msgstr "" +#: tools/ascli-actions-misc.c:228 +#, c-format +msgid "Creating new desktop-entry file '%s' using data from '%s'" +msgstr "使用来自“%s”的数据创建新的 desktop-entry 文件“%s”" -#: src/as-validator-issue-tag.h:378 -msgid "" -"Unable to reach remote location that this URL references - does it exist?" -msgstr "" +#: tools/ascli-actions-misc.c:284 +msgid "No stock icon name was provided in the metainfo file. Can not continue." +msgstr "元信息文件中未提供库存图标名称。无法继续。" -#: src/as-validator-issue-tag.h:179 +#: tools/ascli-actions-misc.c:306 msgid "" -"Unable to reach the screenshot image on its remote location - does the image " -"exist?" +"No provided binary specified in metainfo file, and no exec command specified " +"via '--exec'. Can not create 'Exec=' key." msgstr "" +"元信息文件中未指定提供的二进制文件,且未通过“--exec”指定执行命令。无法创" +"建“Exec=”设定键。" -#: src/as-validator-issue-tag.h:184 -msgid "" -"Unable to reach the screenshot video on its remote location - does the video " -"file exist?" -msgstr "" +#: tools/ascli-actions-misc.c:370 +#, c-format +msgid "Unable to save desktop entry file: %s" +msgstr "无法保存桌面项文件:%s" -#: src/as-validator-issue-tag.h:542 -#, fuzzy -msgid "Unable to read file." -msgstr "无法读取 .desktop 文件:%s" +#: tools/ascli-actions-misc.c:393 +msgid "You need to specify a NEWS file as input." +msgstr "您需要指定一个 NEWS 文件作为输入。" -#: src/as-validator-issue-tag.h:574 -#, fuzzy -msgid "Unable to read the .desktop file associated with this component." -msgstr "无法读取 .desktop 文件:%s" +#: tools/ascli-actions-misc.c:397 +msgid "" +"You need to specify a metainfo file to augment, or '-' to print to stdout." +msgstr "您需要指定要扩充的元信息文件,或指定“-”以打印到标准输出。" -#: tools/ascli-actions-mdata.c:473 -#, c-format -msgid "Unable to read the .desktop file: %s" -msgstr "无法读取 .desktop 文件:%s" +#: tools/ascli-actions-misc.c:402 +msgid "No output filename specified, modifying metainfo file directly." +msgstr "未指定输出文件名,直接修改元信息文件。" -#: src/as-pool.c:606 -msgid "Unable to remove old cache." -msgstr "" +#: tools/ascli-actions-misc.c:509 +msgid "You need to specify a NEWS file as output, or '-' to print to stdout." +msgstr "您需要指定 NEWS 文件作为输出,或指定“-”以打印到标准输出。" -#: tools/ascli-actions-misc.c:370 -#, fuzzy, c-format -msgid "Unable to save desktop entry file: %s" -msgstr "无法读取 .desktop 文件:%s" +#: tools/ascli-actions-misc.c:540 +msgid "You need to specify a NEWS format to write the output in." +msgstr "您需要指定一种 NEWS 格式来写入输出。" -#: tools/ascli-actions-mdata.c:552 -#, fuzzy, c-format -msgid "Unable to save the template metainfo file: %s" -msgstr "无法保存模板源信息文件:%s" +#: tools/ascli-actions-pkgmgr.c:53 +msgid "" +"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" +"\" (part of PackageKit) is available." +msgstr "" +"未找到可用的软件包管理器 CLI。请确定已安装类似“pkcon”(PackageKit 的一部分)" +"的程序。" #: tools/ascli-actions-pkgmgr.c:67 #, c-format msgid "Unable to spawn package manager: %s" msgstr "无法启动软件包管理器:%s" -#: tools/ascli-actions-mdata.c:322 +#. TRANSLATORS: We found no distribution package or bundle to install to make this software available +#: tools/ascli-actions-pkgmgr.c:106 #, c-format -msgid "Unable to write to '%s', can not install metainfo file." -msgstr "无法写入到“%s”,无法安装元信息文件。" +msgid "Component '%s' has no installation candidate." +msgstr "'%s' 组件没有安装候选版本。" -#. TRANSLATORS: ascli has been run with unknown command. -#: tools/appstream-cli.c:1009 +#: tools/ascli-actions-validate.c:176 tools/ascli-actions-validate.c:354 #, c-format -msgid "Unknown command '%s'." -msgstr "" +msgid "File '%s' does not exist." +msgstr "文件 “%s” 不存在。" -#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. -#: tools/appstream-cli.c:608 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "error"-type hints +#: tools/ascli-actions-validate.c:228 #, c-format -msgid "Unknown compare relation '%s'. Valid values are:" -msgstr "" - -#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) -#: tools/appstream-cli.c:675 -#, fuzzy -msgid "" -"Use the given .desktop file to fill in the basic values of the metainfo file." -msgstr "使用给定的 .desktop 文件来填充元信息文件里的基本值。" - -#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) -#: tools/appstream-cli.c:725 -msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." -msgstr "" - -#. TRANSLATORS: this is the menu spec main category for Utilities -#: src/as-category.c:329 -msgid "Utilities" -msgstr "公用程序" +msgid "errors: %lu" +msgstr "错误:%lu" -#: tools/appstream-cli.c:856 -msgid "Validate AppStream XML files for issues." -msgstr "验证 AppStream XML 文件以寻找问题。" +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "warning"-type hints +#: tools/ascli-actions-validate.c:235 +#, c-format +msgid "warnings: %lu" +msgstr "警告:%lu" -#: tools/appstream-cli.c:857 -msgid "Validate an installed file-tree of an application for valid metadata." -msgstr "检验已安装应用程序的文件树以查找有效元数据。" +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "info"-type hints +#: tools/ascli-actions-validate.c:242 +#, c-format +msgid "infos: %lu" +msgstr "信息:%lu" -#: tools/ascli-actions-validate.c:301 tools/ascli-actions-validate.c:442 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "pedantic"-type hints +#: tools/ascli-actions-validate.c:249 #, c-format -msgid "Validation failed: %s" -msgstr "验证失败:%s" +msgid "pedantic: %lu" +msgstr "迂腐的:%lu" + +#: tools/ascli-actions-validate.c:268 tools/ascli-actions-validate.c:342 +msgid "You need to specify at least one file to validate!" +msgstr "您需要指定至少一个要进行验证的文件!" -#: tools/ascli-actions-validate.c:289 tools/ascli-actions-validate.c:430 +#: tools/ascli-actions-validate.c:294 tools/ascli-actions-validate.c:435 msgid "Validation was successful." msgstr "验证成功。" -#: tools/ascli-actions-validate.c:291 tools/ascli-actions-validate.c:432 +#: tools/ascli-actions-validate.c:296 tools/ascli-actions-validate.c:437 #, c-format msgid "Validation was successful: %s" msgstr "验证成功:%s" -#: tools/appstream-cli.c:851 -msgid "Value of the item that should be found." -msgstr "应该要找到的物品值。" - -#: src/as-category.c:177 -msgctxt "Category of Graphics" -msgid "Vector Graphics" -msgstr "矢量图形" - -#: tools/ascli-actions-misc.c:48 +#: tools/ascli-actions-validate.c:306 tools/ascli-actions-validate.c:447 #, c-format -msgid "Version: %s" -msgstr "版本:%s" - -#: src/as-category.c:180 -msgctxt "Category of Graphics" -msgid "Viewers" -msgstr "查看器" +msgid "Validation failed: %s" +msgstr "验证失败:%s" -#: tools/ascli-actions-misc.c:153 +#: tools/ascli-actions-validate.c:368 tools/ascli-actions-validate.c:497 #, c-format -msgid "We have information on %i software components." -msgstr "已获取到 %i 个软件组件的信息。" - -#: src/as-category.c:270 -msgctxt "Category of Communication" -msgid "Web Browsers" -msgstr "网页浏览器" - -#: src/as-category.c:202 -msgctxt "Category of Office" -msgid "Word Processor" -msgstr "文字处理器" - -#: tools/appstream-cli.c:871 -msgid "Write NEWS text or YAML file with information from a metainfo file." -msgstr "" - -#: tools/appstream-cli.c:874 msgid "" -"You can find information about subcommand-specific options by passing \"--" -"help\" to the subcommand." -msgstr "您可以借由传递“--help”给子命令来查找子命令专属的选项信息。" +"The validator can not create reports in the '%s' format. You may select " +"'yaml' or 'text' instead." +msgstr "验证器无法以“%s”格式创建报告。您可以选择“yaml”或“text”替代。" -#. TRANSLATORS: In ascli: The requested action needs higher permissions. -#: tools/ascli-actions-mdata.c:70 -msgid "You might need superuser permissions to perform this action." -msgstr "你可能需要超级用户权限以进行此动作。" +#: tools/ascli-actions-validate.c:390 tools/ascli-actions-validate.c:484 +msgid "You need to specify a root directory to start validation!" +msgstr "您需要指定根目录以开始验证!" -#: tools/ascli-actions-mdata.c:447 -msgid "" -"You need to give an AppStream software component type to generate a " -"template. Possible values are:" -msgstr "您需要给定 AppStream 软件组件类型以生成模板。可用的值有:" +#: tools/ascli-utils.c:266 +msgid "Identifier" +msgstr "识别码" -#: tools/appstream-cli.c:579 -msgid "" -"You need to provide at least two version numbers to compare as parameters." -msgstr "" +#: tools/ascli-utils.c:268 +msgid "Internal ID" +msgstr "内部 ID" -#: tools/ascli-actions-misc.c:393 -#, fuzzy -msgid "You need to specify a NEWS file as input." -msgstr "你需要指定一个元数据文件。" +#: tools/ascli-utils.c:269 +msgid "Name" +msgstr "名称" -#: tools/ascli-actions-misc.c:509 -#, fuzzy -msgid "You need to specify a NEWS file as output, or '-' to print to stdout." -msgstr "你需要指定一个元数据文件。" +#: tools/ascli-utils.c:270 +msgid "Summary" +msgstr "摘要" -#: tools/ascli-actions-misc.c:540 -#, fuzzy -msgid "You need to specify a NEWS format to write the output in." -msgstr "你需要指定输入和输出文件。" +#: tools/ascli-utils.c:271 +msgid "Package" +msgstr "软件包" -#. TRANSLATORS: ascli has been run without command. -#: tools/appstream-cli.c:925 -msgid "You need to specify a command." -msgstr "您需要指定一个命令。" +#: tools/ascli-utils.c:272 +msgid "Bundle" +msgstr "套件" -#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments -#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. -#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:254 -#: tools/ascli-actions-pkgmgr.c:80 -msgid "You need to specify a component-ID." -msgstr "您需要指定一个组件-ID。" +#: tools/ascli-utils.c:273 +msgid "Homepage" +msgstr "主页" -#: tools/ascli-actions-misc.c:188 -#, fuzzy -msgid "" -"You need to specify a desktop-entry file to create or augment as output." -msgstr "您需要指定用来验证的文件!" +#: tools/ascli-utils.c:274 +msgid "Icon" +msgstr "图标" -#: tools/ascli-actions-mdata.c:309 -msgid "You need to specify a metadata file." -msgstr "你需要指定一个元数据文件。" +#. developer name +#: tools/ascli-utils.c:294 +msgid "Developer" +msgstr "开发者" -#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 -#, fuzzy -msgid "You need to specify a metainfo file as input." -msgstr "你需要指定一个元数据文件。" +#: tools/ascli-utils.c:300 +msgid "Extends" +msgstr "扩展" -#: tools/ascli-actions-misc.c:397 -#, fuzzy -msgid "" -"You need to specify a metainfo file to augment, or '-' to print to stdout." -msgstr "你需要指定一个元数据文件。" +#: tools/ascli-utils.c:306 +msgid "Description" +msgstr "描述" -#: tools/ascli-actions-validate.c:385 tools/ascli-actions-validate.c:479 -msgid "You need to specify a root directory to start validation!" -msgstr "您需要指定根目录以开始验证!" +#: tools/ascli-utils.c:326 +msgid "Default Screenshot URL" +msgstr "默认屏幕截图 URL" -#: tools/ascli-actions-mdata.c:164 -msgid "You need to specify a term to search for." -msgstr "您需要指定用来搜索的关键字。" +#. project group +#: tools/ascli-utils.c:333 +msgid "Project Group" +msgstr "项目群组" -#: tools/ascli-actions-mdata.c:357 -msgid "You need to specify an input and output file." -msgstr "你需要指定输入和输出文件。" +#. license +#: tools/ascli-utils.c:336 +msgid "License" +msgstr "授权条款" -#: tools/ascli-actions-validate.c:263 tools/ascli-actions-validate.c:337 -#, fuzzy -msgid "You need to specify at least one file to validate!" -msgstr "您需要指定用来验证的文件!" +#: tools/ascli-utils.c:342 +msgid "Categories" +msgstr "类别" -#. TRANSLATORS: List of "grey-listed" words sperated with ";" -#. * Do not translate this list directly. Instead, -#. * provide a list of words in your language that people are likely -#. * to include in a search but that should normally be ignored in -#. * the search. -#. -#: src/as-pool.c:107 -msgid "app;application;package;program;programme;suite;tool" -msgstr "" -"app;application;package;program;programme;suite;tool;应用;程序;包;程序;套装;" -"工具;套件;软件" +#: tools/ascli-utils.c:350 +msgid "Compulsory for" +msgstr "强制项目以供" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:223 -#, c-format -msgid "errors: %lu" -msgstr "错误:%lu" +#: tools/ascli-utils.c:378 +msgid "Provided Items" +msgstr "提供的项目" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:237 #, c-format -msgid "infos: %lu" -msgstr "信息:%lu" +#~ msgid "Unable to open new cache file: %s" +#~ msgstr "无法打开新的缓存文件:%s" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:244 -#, c-format -msgid "pedantic: %lu" -msgstr "" +#~ msgid "" +#~ "AppStream is a cross-distribution specification to provide metadata about " +#~ "software components." +#~ msgstr "AppStream 是一个跨发行版的规范,旨在提供软件组件的元数据。" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:230 #, c-format -msgid "warnings: %lu" -msgstr "警告:%lu" - -#~ msgid "Command '%s' is unknown." -#~ msgstr "命令“%s”未知。" - -#~ msgid "Do not use any caches when performing the request." -#~ msgstr "处理请求时不要使用任何缓存。" - -#~ msgid "AppStream cache update failed." -#~ msgstr "AppStream 缓存更新失败。" +#~ msgid "Unable to write to '%s', can not install metainfo file." +#~ msgstr "无法写入到“%s”,无法安装元信息文件。" +#, c-format #~ msgid "" -#~ "AppStream data pool was loaded, but some metadata was ignored due to " -#~ "errors." -#~ msgstr "已载入 AppStream 数据池,但忽略了一部分包含错误的元数据。" - -#~ msgid "Can not search for unknown component type." -#~ msgstr "无法搜索未知组件类型。" - -#, fuzzy -#~ msgid "Category of Games" -#~ msgstr "类别" - -#, fuzzy -#~ msgid "Category of Office" -#~ msgstr "类别" - -#, fuzzy -#~ msgid "Category of Science" -#~ msgstr "类别" - -#~ msgid "Extensions" -#~ msgstr "扩展" +#~ "Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " +#~ "suffix." +#~ msgstr "无法复制“%s”:文件没有“.metainfo.xml”或“.appdata.xml”后缀。" -#~ msgid "File %s not found or permission denied!" -#~ msgstr "文件 %s 未找到,或没有操作权限!" +#~ msgid "An item type (e.g. lib, bin, python3, …)" +#~ msgstr "项目类型(如:lib、bin、python3……)" -#, fuzzy -#~ msgid "No component providing '%s::%s' found." -#~ msgstr "未找到提供“%s;%s”的组件。" +#~ msgid "Get components which provide the given item." +#~ msgstr "获取可提供指定项目的组件。" -#~ msgid "XDG Menu XML file '%s' is damaged." -#~ msgstr "XDG 菜单 XML 文件“%s”已损坏。" +#~ msgid "Value of the item that should be found." +#~ msgstr "应该要找到的物品值。" diff -Nru appstream-0.12.10/po/zh_TW.po appstream-0.14.5/po/zh_TW.po --- appstream-0.12.10/po/zh_TW.po 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/po/zh_TW.po 2021-08-28 20:15:28.000000000 +0000 @@ -1,16 +1,31 @@ +# #-#-#-#-# zh_TW.po (AppStream) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Matthias Klumpp # This file is distributed under the same license as the appstream package. # Translators: # Hotellook, 2014 # Matjaž Mozetič , 2015 -# Chang-Chia Tseng , 2019. +# Chang-Chia Tseng , 2019, 2020, 2021. +# #-#-#-#-# zh_TW.po (appstream-glib) #-#-#-#-# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Matjaž Mozetič , 2015 +# Ding-Yi Chen , 2016. #zanata +# Richard Hughes , 2016. #zanata +# Cheng-Chia Tseng , 2017. #zanata +# Cheng-Chia Tseng , 2018. #zanata +# Peter Pan , 2018. #zanata +# 李前昀 , 2021. +# +# Translators: +# Hotellook, 2014 msgid "" msgstr "" -"Project-Id-Version: AppStream\n" +"Project-Id-Version: appstream-glib\n" "Report-Msgid-Bugs-To: appstream@lists.freedesktop.org\n" -"POT-Creation-Date: 2020-01-14 01:44+0100\n" -"PO-Revision-Date: 2019-06-19 08:01+0000\n" +"POT-Creation-Date: 2021-08-28 16:09+0200\n" +"PO-Revision-Date: 2021-04-21 01:29+0000\n" "Last-Translator: Chang-Chia Tseng \n" "Language-Team: Chinese (Traditional) \n" @@ -19,1876 +34,2740 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 3.7\n" - -#: tools/appstream-cli.c:157 -#, c-format -msgid "'%s' command" -msgstr "「%s」指令" - -#: src/as-category.c:168 -msgctxt "Category of Graphics" -msgid "3D Graphics" -msgstr "3D 圖形" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:254 -msgid "" -"A 'requires' or 'recommends' item requires a value to denote a valid " -"relation." -msgstr "" - -#: src/as-validator-issue-tag.h:51 -msgid "" -"A tag must not be localized in metainfo files (upstream " -"metadata). Localize the individual paragraphs instead." -msgstr "" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:195 -msgid "" -"A screenshot must contain at least one image or video in order to be useful. " -"Please add an to it." -msgstr "" - -#: src/as-validator-issue-tag.h:200 -msgid "" -"A screenshot must contain either images or videos, but not both at the same " -"time. Please use this screenshot exclusively for either static images or for " -"videos." -msgstr "" - -#: src/as-category.c:123 -msgctxt "Category of Games" -msgid "Action" -msgstr "動作" - -#. TRANSLATORS: this is the main category for Add-ons -#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor -#: src/as-category.c:320 tools/ascli-utils.c:398 -msgid "Add-ons" -msgstr "附加元件" - -#: src/as-category.c:126 -msgctxt "Category of Games" -msgid "Adventure" -msgstr "冒險" - -#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) -#: tools/appstream-cli.c:116 -msgid "Also show pedantic hints." -msgstr "也列印詳盡的提示。" - -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:497 -msgid "" -"An 'extends' tag is specified, but the component is not of type 'addon', " -"'localization' or 'repository'." -msgstr "" - -#: tools/appstream-cli.c:850 -msgid "An item type (e.g. lib, bin, python3, …)" -msgstr "項目類型(例:lib、bin、python3…等)" - -#: data/org.freedesktop.appstream.cli.metainfo.xml:9 -msgid "An utility to work with AppStream metadata" -msgstr "處理 AppStream 中介資料的公用程式" +"X-Generator: Weblate 4.7-dev\n" #: data/org.freedesktop.appstream.cli.metainfo.xml:8 msgid "AppStream CLI" msgstr "AppStream 命令列介面" -#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. -#: tools/appstream-cli.c:947 -#, c-format -msgid "" -"AppStream CLI tool version: %s\n" -"AppStream library version: %s" -msgstr "" -"AppStream CLI 工具版本:%s\n" -"AppStream 函式庫版本:%s" - -#. TRANSLATORS: In the status report of ascli: Header -#: tools/ascli-actions-misc.c:47 -msgid "AppStream Status:" -msgstr "AppStream 狀態:" - -#. we performed a cache refresh -#. TRANSLATORS: Updating the metadata cache succeeded -#: tools/ascli-actions-mdata.c:80 -msgid "AppStream cache update completed successfully." -msgstr "AppStream 快取更新成功完成。" - -#. cache wasn't updated, so the update wasn't necessary -#: tools/ascli-actions-mdata.c:86 -msgid "AppStream cache update is not necessary." -msgstr "不必更新 AppStream 快取。" - -#. TRANSLATORS: This is the header to the --help menu for subcommands -#. TRANSLATORS: This is the header to the --help menu -#: tools/appstream-cli.c:154 tools/appstream-cli.c:843 -msgid "AppStream command-line interface" -msgstr "AppStream 指令列介面" - -#: src/as-validator-issue-tag.h:63 -msgid "" -"AppStream descriptions support only a limited set of tags to format text: " -"Paragraphs (

                                                                                                                                                                                                                                                                                                                                                                                                                                            ) and lists (

                                                                                                                                                                                                                                                                                                                                                                                                                                              ,
                                                                                                                                                                                                                                                                                                                                                                                                                                                ). This description markup contains " -"an invalid XML tag that would not be rendered correctly in applications " -"supporting the metainfo specification." -msgstr "" +#: data/org.freedesktop.appstream.cli.metainfo.xml:9 +msgid "An utility to work with AppStream metadata" +msgstr "處理 AppStream 中介資料的公用程式" #: data/org.freedesktop.appstream.cli.metainfo.xml:12 -#, fuzzy msgid "" -"AppStream is a cross-distribution specification to provide metadata about " -"software components." -msgstr "AppStream 為一個跨散佈版的規範,旨在提供軟體組件的中介資料。" +"AppStream is a metadata specification which permits software components to " +"provide information about themselves to automated systems and end-users " +"before the software is actually installed. The AppStream project provides " +"facilities to easily access and transform this metadata, as well as a few " +"additional services for building feature-rich software centers and similar " +"applications that make use of software metadata." +msgstr "" +"AppStream 是中介資料規範,允許軟體組件在實際安裝之前,向自動化系統和終端使用" +"者提供其自身相關資訊。AppStream 專案提供方便存取和轉換這類中介資料的機能,也" +"提供一些額外服務以方便建置功能豐富的軟體中心,或其他利用軟體中介資料的類似應" +"用。" + +#: data/org.freedesktop.appstream.cli.metainfo.xml:18 +msgid "" +"The appstreamcli command-line tool allows to read, write, and " +"transform AppStream XML or YAML metadata as well as to validate it for " +"compliance with the specification. It also provides easy access to the " +"system metadata pool, for example to query for software that provides a " +"specific Mediatype handler or for installing software by its component " +"identifier." +msgstr "" +"appstreamcli 指令列工具可以讀寫與變換 AppStream XML 或 YAML 中介資" +"料,以及驗證資料是否遵循規範。此外它還能輕鬆存取系統中介資料池,以搜尋諸如提" +"供某特定媒體類型處理器使用的軟體,或是按照軟體的組件辨識碼進行安裝等。" -#: src/as-pool.c:1937 -#, fuzzy, c-format -msgid "" -"AppStream system cache refresh failed. Turn on verbose mode to get detailed " -"issue information." -msgstr "AppStream 快取更新失敗。請開啟詳盡模式取得更多該議題相關的資訊細節。" +#: src/as-category.c:66 +msgctxt "Category of AudioVideo" +msgid "Featured" +msgstr "特選" -#. TRANSLATORS: Output if appstreamcli --version is executed. -#: tools/appstream-cli.c:944 -#, c-format -msgid "AppStream version: %s" -msgstr "AppStream 版本:%s" +#: src/as-category.c:69 +msgctxt "Category of AudioVideo" +msgid "Audio Creation & Editing" +msgstr "音訊創作和編輯" -#: src/as-category.c:129 -msgctxt "Category of Games" -msgid "Arcade" -msgstr "機臺" +#: src/as-category.c:75 +msgctxt "Category of AudioVideo" +msgid "Music Players" +msgstr "音樂播放器" -#: src/as-category.c:234 -msgctxt "Category of Science" -msgid "Artificial Intelligence" -msgstr "人工智慧" +#: src/as-category.c:84 +msgctxt "Category of Development" +msgid "Featured" +msgstr "特選" -#: src/as-validator-issue-tag.h:91 -msgid "" -"As per AppStream specification, the mentioned tag must only appear once in " -"this context. Having multiple tags of this kind is not valid." -msgstr "" +#: src/as-category.c:87 +msgctxt "Category of Development" +msgid "Debuggers" +msgstr "除錯器" -#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command -#: tools/appstream-cli.c:766 -msgid "Assume the input file is in the selected format ('yaml' or 'text')." -msgstr "" +#: src/as-category.c:90 +msgctxt "Category of Development" +msgid "IDEs" +msgstr "IDE" -#: src/as-category.c:101 +#: src/as-category.c:99 msgctxt "Category of Education" -msgid "Astronomy" -msgstr "天文" +msgid "Featured" +msgstr "特選" -#: src/as-category.c:237 -msgctxt "Category of Science" +#: src/as-category.c:102 +msgctxt "Category of Education" msgid "Astronomy" msgstr "天文" -#. TRANSLATORS: this is the menu spec main category for Audio & Video -#: src/as-category.c:302 -msgid "Audio & Video" -msgstr "音訊和視訊" +#: src/as-category.c:105 +msgctxt "Category of Education" +msgid "Chemistry" +msgstr "化學" -#: src/as-category.c:68 -msgctxt "Category of AudioVideo" -msgid "Audio Creation & Editing" -msgstr "音訊創作和編輯" +#: src/as-category.c:108 +msgctxt "Category of Education" +msgid "Languages" +msgstr "語言" -#: tools/ascli-actions-misc.c:219 -#, c-format -msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." -msgstr "" +#: src/as-category.c:112 +msgctxt "Category of Education" +msgid "Math" +msgstr "數學" -#: src/as-provided.c:146 -msgid "Binaries" -msgstr "二進位檔" +#: src/as-category.c:121 +msgctxt "Category of Games" +msgid "Featured" +msgstr "特選" + +#: src/as-category.c:124 +msgctxt "Category of Games" +msgid "Action" +msgstr "動作" -#: src/as-category.c:132 +#: src/as-category.c:127 +msgctxt "Category of Games" +msgid "Adventure" +msgstr "冒險" + +#: src/as-category.c:130 +msgctxt "Category of Games" +msgid "Arcade" +msgstr "機臺" + +#: src/as-category.c:133 msgctxt "Category of Games" msgid "Blocks" msgstr "方塊" -#: src/as-category.c:135 +#: src/as-category.c:136 msgctxt "Category of Games" msgid "Board" msgstr "棋盤" -#: tools/ascli-utils.c:299 -msgid "Bundle" -msgstr "套組" +#: src/as-category.c:139 +msgctxt "Category of Games" +msgid "Card" +msgstr "紙牌" -#: src/as-pool.c:1828 -#, c-format -msgid "Cache location '%s' is not writable." -msgstr "無法寫入「%s」快取位置。" +#: src/as-category.c:142 +msgctxt "Category of Games" +msgid "Emulators" +msgstr "模擬器" -#: src/as-category.c:191 -msgctxt "Category of Office" -msgid "Calendar" -msgstr "行事曆" +#: src/as-category.c:145 +msgctxt "Category of Games" +msgid "Kids" +msgstr "孩童" -#: tools/ascli-actions-mdata.c:327 -#, c-format -msgid "" -"Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " -"suffix." -msgstr "無法複製「%s」:檔案沒有「.metainfo.xml」或「.appdata.xml」後綴字。" +#: src/as-category.c:148 +msgctxt "Category of Games" +msgid "Logic" +msgstr "邏輯" -#: src/as-category.c:138 +#: src/as-category.c:151 msgctxt "Category of Games" -msgid "Card" -msgstr "紙牌" +msgid "Role Playing" +msgstr "角色扮演" -#: tools/ascli-utils.c:369 -msgid "Categories" -msgstr "類別" +#: src/as-category.c:154 +msgctxt "Category of Games" +msgid "Sports" +msgstr "運動" -#: src/as-category.c:259 -msgctxt "Category of Communication" -msgid "Chat" -msgstr "聊天" +#: src/as-category.c:158 +msgctxt "Category of Games" +msgid "Strategy" +msgstr "策略" -#: src/as-category.c:104 -msgctxt "Category of Education" -msgid "Chemistry" -msgstr "化學" +#: src/as-category.c:166 +msgctxt "Category of Graphics" +msgid "Featured" +msgstr "特選" -#: src/as-category.c:240 -msgctxt "Category of Science" -msgid "Chemistry" -msgstr "化學" +#: src/as-category.c:169 +msgctxt "Category of Graphics" +msgid "3D Graphics" +msgstr "3D 圖形" -#: src/as-category.c:214 -msgctxt "Category of Addons" -msgid "Codecs" -msgstr "編解碼器" +#: src/as-category.c:172 +msgctxt "Category of Graphics" +msgid "Photography" +msgstr "攝影" -#. TRANSLATORS: this is the menu spec main category for Communication -#: src/as-category.c:326 -msgid "Communication & News" -msgstr "溝通和新聞" +#: src/as-category.c:175 +msgctxt "Category of Graphics" +msgid "Scanning" +msgstr "掃描" -#: tools/appstream-cli.c:866 -msgid "Compare two version numbers." -msgstr "比較兩個版本號。" +#: src/as-category.c:178 +msgctxt "Category of Graphics" +msgid "Vector Graphics" +msgstr "向量圖形" -#: src/as-provided.c:166 -msgid "Component" -msgstr "組件" +#: src/as-category.c:181 +msgctxt "Category of Graphics" +msgid "Viewers" +msgstr "檢視器" -#. TRANSLATORS: We found no distribution package or bundle to install to make this software available -#: tools/ascli-actions-pkgmgr.c:106 +#: src/as-category.c:189 +msgctxt "Category of Office" +msgid "Featured" +msgstr "特選" + +#: src/as-category.c:192 +msgctxt "Category of Office" +msgid "Calendar" +msgstr "行事曆" + +#: src/as-category.c:196 +msgctxt "Category of Office" +msgid "Database" +msgstr "資料庫" + +#: src/as-category.c:199 +msgctxt "Category of Office" +msgid "Finance" +msgstr "財經" + +#: src/as-category.c:203 +msgctxt "Category of Office" +msgid "Word Processor" +msgstr "文書處理器" + +#: src/as-category.c:212 +msgctxt "Category of Addons" +msgid "Fonts" +msgstr "字型" + +#: src/as-category.c:215 +msgctxt "Category of Addons" +msgid "Codecs" +msgstr "編解碼器" + +#: src/as-category.c:218 +msgctxt "Category of Addons" +msgid "Input Sources" +msgstr "輸入來源" + +#: src/as-category.c:221 +msgctxt "Category of Addons" +msgid "Language Packs" +msgstr "語言包" + +#: src/as-category.c:224 +msgctxt "Category of Addons" +msgid "Localization" +msgstr "在地化" + +#: src/as-category.c:232 +msgctxt "Category of Science" +msgid "Featured" +msgstr "特選" + +#: src/as-category.c:235 +msgctxt "Category of Science" +msgid "Artificial Intelligence" +msgstr "人工智慧" + +#: src/as-category.c:238 +msgctxt "Category of Science" +msgid "Astronomy" +msgstr "天文" + +#: src/as-category.c:241 +msgctxt "Category of Science" +msgid "Chemistry" +msgstr "化學" + +#: src/as-category.c:244 +msgctxt "Category of Science" +msgid "Math" +msgstr "數學" + +#: src/as-category.c:249 +msgctxt "Category of Science" +msgid "Robotics" +msgstr "機器人" + +#: src/as-category.c:257 +msgctxt "Category of Communication" +msgid "Featured" +msgstr "特選" + +#: src/as-category.c:260 +msgctxt "Category of Communication" +msgid "Chat" +msgstr "聊天" + +#: src/as-category.c:267 +msgctxt "Category of Communication" +msgid "News" +msgstr "新聞" + +#: src/as-category.c:271 +msgctxt "Category of Communication" +msgid "Web Browsers" +msgstr "網頁瀏覽器" + +#: src/as-category.c:279 +msgctxt "Category of Utility" +msgid "Featured" +msgstr "特選" + +#: src/as-category.c:282 +msgctxt "Category of Utility" +msgid "Text Editors" +msgstr "文字編輯器" + +#: src/as-category.c:285 +msgctxt "Category of Utility" +msgid "Terminal Emulators" +msgstr "終端機模擬器" + +#: src/as-category.c:288 +msgctxt "Category of Utility" +msgid "File System" +msgstr "檔案系統" + +#: src/as-category.c:291 +msgctxt "Category of Utility" +msgid "System Monitoring" +msgstr "系統監控" + +#: src/as-category.c:294 +msgctxt "Category of Utility" +msgid "Security" +msgstr "安全" + +#. TRANSLATORS: this is the menu spec main category for Audio & Video +#: src/as-category.c:303 +msgid "Audio & Video" +msgstr "音訊和視訊" + +#. TRANSLATORS: this is the menu spec main category for Development +#: src/as-category.c:306 +msgid "Developer Tools" +msgstr "開發者工具" + +#. TRANSLATORS: this is the menu spec main category for Education +#: src/as-category.c:309 +msgid "Education" +msgstr "教育" + +#. TRANSLATORS: this is the menu spec main category for Game +#: src/as-category.c:312 +msgid "Games" +msgstr "遊戲" + +#. TRANSLATORS: this is the menu spec main category for Graphics +#: src/as-category.c:315 +msgid "Graphics & Photography" +msgstr "圖形和攝影" + +#. TRANSLATORS: this is the menu spec main category for Office +#: src/as-category.c:318 +msgid "Office" +msgstr "辦公" + +#. TRANSLATORS: this is the main category for Add-ons +#. TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor +#: src/as-category.c:321 tools/ascli-utils.c:371 +msgid "Add-ons" +msgstr "附加元件" + +#. TRANSLATORS: this is the menu spec main category for Science +#: src/as-category.c:324 +msgid "Science" +msgstr "科學" + +#. TRANSLATORS: this is the menu spec main category for Communication +#: src/as-category.c:327 +msgid "Communication & News" +msgstr "溝通和新聞" + +#. TRANSLATORS: this is the menu spec main category for Utilities +#: src/as-category.c:330 +msgid "Utilities" +msgstr "公用程式" + +#. TRANSLATORS: This is the formatting of English and localized name +#. * of the rating e.g. "Adults Only (solo adultos)" +#: src/as-content-rating.c:298 +#, c-format +msgid "%s (%s)" +msgstr "%s (%s)" + +#: src/as-content-rating.c:444 +msgid "General" +msgstr "一般" + +#: src/as-content-rating.c:453 +msgid "ALL" +msgstr "所有" + +#: src/as-content-rating.c:457 src/as-content-rating.c:560 +msgid "Adults Only" +msgstr "僅限成人 (18+)" + +#: src/as-content-rating.c:459 src/as-content-rating.c:559 +msgid "Mature" +msgstr "成熟 (17+)" + +#: src/as-content-rating.c:461 src/as-content-rating.c:558 +msgid "Teen" +msgstr "青少年 (13-19)" + +#: src/as-content-rating.c:463 src/as-content-rating.c:557 +msgid "Everyone 10+" +msgstr "十歲以上 (10+)" + +#: src/as-content-rating.c:465 src/as-content-rating.c:556 +msgid "Everyone" +msgstr "任何人" + +#: src/as-content-rating.c:467 src/as-content-rating.c:555 +msgid "Early Childhood" +msgstr "幼兒 (3+)" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:839 +msgid "No cartoon violence" +msgstr "沒有漫畫暴力" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:841 +msgid "Cartoon characters in unsafe situations" +msgstr "漫畫角色處在非安全的情況下" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:843 +msgid "Cartoon characters in aggressive conflict" +msgstr "漫畫角色有強勢衝突" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:845 +msgid "Graphic violence involving cartoon characters" +msgstr "涉及漫畫角色的圖像暴力" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:850 +msgid "No fantasy violence" +msgstr "沒有幻想暴力" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:852 +msgid "Characters in unsafe situations easily distinguishable from reality" +msgstr "人物處在非安全的情況下但容易與現實區隔" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:854 +msgid "Characters in aggressive conflict easily distinguishable from reality" +msgstr "人物有強勢衝突但容易與現實區隔" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:856 +msgid "Graphic violence easily distinguishable from reality" +msgstr "圖像暴力但容易與現實區隔" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:861 +msgid "No realistic violence" +msgstr "沒有現實暴力" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:863 +msgid "Mildly realistic characters in unsafe situations" +msgstr "輕微真實人物處在非安全的情況下" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:865 +msgid "Depictions of realistic characters in aggressive conflict" +msgstr "真實人物有強勢衝突的描繪" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:867 +msgid "Graphic violence involving realistic characters" +msgstr "涉及真實人物的圖像暴力" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:872 +msgid "No bloodshed" +msgstr "沒有殺人" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:874 +msgid "Unrealistic bloodshed" +msgstr "非寫實的殺人" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:876 +msgid "Realistic bloodshed" +msgstr "寫實的殺人" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:878 +msgid "Depictions of bloodshed and the mutilation of body parts" +msgstr "殺人及殘害身體的描繪" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:883 +msgid "No sexual violence" +msgstr "沒有性暴力" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:885 +msgid "Rape or other violent sexual behavior" +msgstr "強暴或其他暴力式性行為" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:892 +msgid "No references to alcohol" +msgstr "沒有涉及酒精" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:894 +msgid "References to alcoholic beverages" +msgstr "涉及酒精性飲料" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:896 +msgid "Use of alcoholic beverages" +msgstr "使用到酒精性飲料" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:902 +msgid "No references to illicit drugs" +msgstr "沒有涉及非法藥物" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:904 +msgid "References to illicit drugs" +msgstr "涉及非法藥物" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:906 +msgid "Use of illicit drugs" +msgstr "使用到非法藥物" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:912 +msgid "No references to tobacco products" +msgstr "沒有涉及菸草產品" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:914 +msgid "References to tobacco products" +msgstr "涉及菸草產品" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:916 +msgid "Use of tobacco products" +msgstr "使用到菸草產品" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:922 +msgid "No nudity of any sort" +msgstr "沒有任何形式之裸體" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:924 +msgid "Brief artistic nudity" +msgstr "短暫藝術性裸體" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:926 +msgid "Prolonged nudity" +msgstr "長時間裸體" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:932 +msgid "No references to or depictions of sexual nature" +msgstr "沒有涉及性事或描繪性事" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:934 +msgid "Provocative references or depictions" +msgstr "涉及刺激或描繪刺激" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:936 +msgid "Sexual references or depictions" +msgstr "涉及性或描繪性" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:938 +msgid "Graphic sexual behavior" +msgstr "圖像式性行為" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:943 +msgid "No profanity of any kind" +msgstr "沒有任何形式之辱駡" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:945 +msgid "Mild or infrequent use of profanity" +msgstr "輕微或少有使用辱駡" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:947 +msgid "Moderate use of profanity" +msgstr "偶爾使用辱駡" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:949 +msgid "Strong or frequent use of profanity" +msgstr "強烈或經常使用辱駡" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:954 +msgid "No inappropriate humor" +msgstr "沒有不適切之幽默" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:956 +msgid "Slapstick humor" +msgstr "低俗鬧劇式幽默" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:958 +msgid "Vulgar or bathroom humor" +msgstr "粗俗或廁所式幽默" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:960 +msgid "Mature or sexual humor" +msgstr "成人或性相關幽默" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:965 +msgid "No discriminatory language of any kind" +msgstr "沒有任何形式之歧視用語" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:967 +msgid "Negativity towards a specific group of people" +msgstr "排斥特定群體" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:969 +msgid "Discrimination designed to cause emotional harm" +msgstr "刻意造成情緒傷害之歧視" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:971 +msgid "Explicit discrimination based on gender, sexuality, race or religion" +msgstr "根據性別、性能力、種族、信仰所作的針對性歧視" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:976 +msgid "No advertising of any kind" +msgstr "沒有任何形式之行銷" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:978 +msgid "Product placement" +msgstr "置入性產品行銷" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:980 +msgid "Explicit references to specific brands or trademarked products" +msgstr "明確指涉特定廠牌或註冊商標之產品" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:982 +msgid "Users are encouraged to purchase specific real-world items" +msgstr "鼓吹使用者購買特定真實世界商品" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:987 +msgid "No gambling of any kind" +msgstr "任何形式之賭博" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:989 +msgid "Gambling on random events using tokens or credits" +msgstr "使用代幣或儲值之隨機活動性賭博" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:991 +msgid "Gambling using “play” money" +msgstr "使用「遊戲」財物之賭博" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:993 +msgid "Gambling using real money" +msgstr "使用實體金錢的賭博" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:998 +msgid "No ability to spend money" +msgstr "沒有金錢花費之功能" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1000 +msgid "Users are encouraged to donate real money" +msgstr "鼓勵使用者捐贈實體金錢" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1003 +msgid "Ability to spend real money in-app" +msgstr "可在程式中花費實體金錢" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1008 +msgid "No way to chat with other users" +msgstr "無法和其他使用者聊天" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1010 +msgid "User-to-user interactions without chat functionality" +msgstr "使用者與使用者間之互動不含聊天功能" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1012 +msgid "Moderated chat functionality between users" +msgstr "受審查的使用者間聊天功能" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1014 +msgid "Uncontrolled chat functionality between users" +msgstr "未受管制的使用者間聊天功能" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1019 +msgid "No way to talk with other users" +msgstr "無法和其他使用者對談" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1021 +msgid "Uncontrolled audio or video chat functionality between users" +msgstr "未受管制的使用者間音訊或視訊聊天功能" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1028 +msgid "No sharing of social network usernames or email addresses" +msgstr "不會分享社交網路使用者名稱或電子郵件爲止" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1030 +msgid "Sharing social network usernames or email addresses" +msgstr "分享社交網路使用者名稱或電子郵件位址" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1037 +msgid "No sharing of user information with third parties" +msgstr "不會與第三方單位分享使用者資訊" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1039 +msgid "Checking for the latest application version" +msgstr "檢查最新的應用程式版本" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1041 +msgid "Sharing diagnostic data that does not let others identify the user" +msgstr "分享無法讓他人辨識出使用者的診斷性數據資料" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1043 +msgid "Sharing information that lets others identify the user" +msgstr "分享可以讓其他人辨識出使用者的資訊" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1048 +msgid "No sharing of physical location with other users" +msgstr "不會與其他使用者分享實際地理位置" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1050 +msgid "Sharing physical location with other users" +msgstr "與其他使用者分享實際地理位置" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1073 +msgid "No references to homosexuality" +msgstr "沒有涉及同性戀議題" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1075 +msgid "Indirect references to homosexuality" +msgstr "間接涉及同性戀議題" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1077 +msgid "Kissing between people of the same gender" +msgstr "人類同性別親吻" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1079 +msgid "Graphic sexual behavior between people of the same gender" +msgstr "圖像式人類同性別性行為" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1084 +msgid "No references to prostitution" +msgstr "沒有涉及賣淫" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1086 +msgid "Indirect references to prostitution" +msgstr "間接涉及賣淫" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1088 +msgid "Direct references to prostitution" +msgstr "直接涉及賣淫" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1090 +msgid "Graphic depictions of the act of prostitution" +msgstr "圖像式賣淫動作描繪" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1095 +msgid "No references to adultery" +msgstr "沒有涉及通姦" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1097 +msgid "Indirect references to adultery" +msgstr "間接涉及通姦" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1099 +msgid "Direct references to adultery" +msgstr "直接涉及通姦" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1101 +msgid "Graphic depictions of the act of adultery" +msgstr "圖像式通姦行為描繪" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1106 +msgid "No sexualized characters" +msgstr "沒有性化角色" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1109 +msgid "Scantily clad human characters" +msgstr "衣著覆蓋極少的人類角色" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1111 +msgid "Overtly sexualized human characters" +msgstr "刻意性化的人類角色" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1116 +msgid "No references to desecration" +msgstr "沒有涉及褻瀆" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1118 +msgid "Depictions of or references to historical desecration" +msgstr "描繪或涉及史實上的褻瀆" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1120 +msgid "Depictions of modern-day human desecration" +msgstr "描繪當代人體褻瀆" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1122 +msgid "Graphic depictions of modern-day desecration" +msgstr "圖像式當代褻瀆描繪" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1127 +msgid "No visible dead human remains" +msgstr "不會看見亡者遺體" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1129 +msgid "Visible dead human remains" +msgstr "會看見亡者遺體" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1131 +msgid "Dead human remains that are exposed to the elements" +msgstr "亡者遺體暴露在相關元素中" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1133 +msgid "Graphic depictions of desecration of human bodies" +msgstr "圖像式褻瀆人體的描繪" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1138 +msgid "No references to slavery" +msgstr "沒有涉及奴隸行為" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1140 +msgid "Depictions of or references to historical slavery" +msgstr "描繪或涉及史實上的奴隸行為" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1142 +msgid "Depictions of modern-day slavery" +msgstr "描繪當代的奴隸行為" + +#. TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ +#: src/as-content-rating.c:1144 +msgid "Graphic depictions of modern-day slavery" +msgstr "圖像式當代奴隸行為描繪" + +#. TRANSLATORS: We got a 429 error while trying to download data +#: src/as-curl.c:134 #, c-format -msgid "Component '%s' has no installation candidate." -msgstr "「%s」組件尚無安裝候選。" +msgid "Failed to download due to server limit" +msgstr "" -#: tools/ascli-utils.c:377 -msgid "Compulsory for" -msgstr "強制項目為" +#: src/as-curl.c:141 src/as-curl.c:148 +#, fuzzy, c-format +msgid "Failed to download file: %s" +msgstr "無法儲存桌面條目檔:%s" + +#. TRANSLATORS: We tried to download an URL, but received a 404 error code +#: src/as-curl.c:157 +#, c-format +msgid "URL was not found on the server." +msgstr "" + +#. TRANSLATORS: We received an uexpected HTTP status code while talking to a server, likely an error +#: src/as-curl.c:164 +#, c-format +msgid "Unexpected status code: %ld" +msgstr "" + +#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty +#: src/as-curl.c:247 +#, c-format +msgid "Retrieved file size was zero." +msgstr "" + +#. TRANSLATORS: List of "grey-listed" words sperated with ";" +#. * Do not translate this list directly. Instead, +#. * provide a list of words in your language that people are likely +#. * to include in a search but that should normally be ignored in +#. * the search. +#. +#: src/as-pool.c:111 +msgid "app;application;package;program;programme;suite;tool" +msgstr "" +"app;application;package;program;programme;suite;tool;程式;應用程式;軟體包;套" +"件;套裝軟體;工具;公用程式" + +#: src/as-pool.c:620 +msgid "Unable to remove old cache." +msgstr "無法移除舊的快取。" + +#: src/as-pool.c:963 +msgid "Metadata files have errors:" +msgstr "中介資料檔中有誤:" + +#: src/as-pool.c:1370 +msgid "" +"Many components have been recognized as invalid. See debug output for " +"details." +msgstr "有許多組件被認為無效。請見除錯輸出瞭解詳細資訊。" + +#: src/as-pool.c:1996 +#, c-format +msgid "Cache location '%s' is not writable." +msgstr "無法寫入「%s」快取位置。" + +#: src/as-pool.c:2109 +msgid "" +"The AppStream system cache was updated, but some components were ignored. " +"Refer to the verbose log for more information." +msgstr "" +"AppStream 系統快取已更新,但有忽略一些組件。請參考詳盡模式紀錄瞭解更多資訊。" + +#: src/as-pool.c:2111 +#, c-format +msgid "" +"The AppStream system cache was updated, but problems were found which " +"resulted in metadata being ignored: %s" +msgstr "AppStream 系統快取已更新,但發現一些問題導致中介資料被忽略:%s" + +#: src/as-pool.c:2125 +#, c-format +msgid "" +"AppStream system cache refresh failed. Turn on verbose mode to get detailed " +"issue information." +msgstr "" +"AppStream 系統快取重新整理失敗。請開啟詳盡模式取得更多該議題的相關細節。" + +#: src/as-provided.c:144 +msgid "Libraries" +msgstr "函式庫" + +#: src/as-provided.c:146 +msgid "Binaries" +msgstr "二進位檔" + +#: src/as-provided.c:148 +msgid "Media types" +msgstr "媒體類型" + +#: src/as-provided.c:150 +msgid "Fonts" +msgstr "字型" + +#: src/as-provided.c:152 +msgid "Modaliases" +msgstr "Modalias 檔" + +#: src/as-provided.c:154 +msgid "Python (Version 2)" +msgstr "Python (第 2 版)" + +#: src/as-provided.c:156 +msgid "Python 3" +msgstr "Python 3" + +#: src/as-provided.c:158 +msgid "D-Bus System Services" +msgstr "D-Bus 系統服務" + +#: src/as-provided.c:160 +msgid "D-Bus Session Services" +msgstr "D-Bus 作業階段服務" + +#: src/as-provided.c:162 +msgid "Runtime Firmware" +msgstr "執行時期韌體" + +#: src/as-provided.c:164 +msgid "Flashed Firmware" +msgstr "快閃記憶韌體" + +#: src/as-provided.c:166 +msgid "Component" +msgstr "組件" + +#: src/as-validator-issue-tag.h:41 +msgid "This tag requires a type property." +msgstr "" + +#: src/as-validator-issue-tag.h:46 +msgid "Tags of this name are not permitted in this section." +msgstr "" + +#: src/as-validator-issue-tag.h:51 +msgid "" +"A tag must not be localized in metainfo files (upstream " +"metadata). Localize the individual paragraphs instead." +msgstr "" +" 標籤絕不能翻譯成 metainfo 檔案(上游中介資料)。請改為翻譯個別" +"文字段落。" + +#: src/as-validator-issue-tag.h:57 +msgid "" +"This element (paragraph, list, etc.) of a tag must not be " +"localized individually in collection metadata. Localize the whole " +" tag instead. The AppStream collection metadata generator (e." +"g. `appstream-generator`) will already do the right thing when compiling the " +"data." +msgstr "" + +#: src/as-validator-issue-tag.h:63 +msgid "" +"AppStream descriptions support only a limited set of tags to format text: " +"Paragraphs (

                                                                                                                                                                                                                                                                                                                                                                                                                                                ) and lists (

                                                                                                                                                                                                                                                                                                                                                                                                                                                  ,
                                                                                                                                                                                                                                                                                                                                                                                                                                                    ). This description markup contains " +"an invalid XML tag that would not be rendered correctly in applications " +"supporting the metainfo specification." +msgstr "" + +#: src/as-validator-issue-tag.h:69 +msgid "" +"This description paragraph contains invalid markup. Currently, only " +"and are permitted." +msgstr "" + +#: src/as-validator-issue-tag.h:74 +msgid "Enumerations must only have list items (
                                                                                                                                                                                                                                                                                                                                                                                                                                                  1. ) as children." +msgstr "" + +#: src/as-validator-issue-tag.h:79 +msgid "" +"The first `description/p` paragraph of this component might be too short (< " +"80 characters). Please consider starting with a longer paragraph to improve " +"how the description looks like in software centers and to provide more " +"detailed information on this component immediately in the first paragraph." +msgstr "" + +#: src/as-validator-issue-tag.h:86 +msgid "" +"The description contains a web URL in plain text. This is not allowed, " +"please use the tag instead to share links." +msgstr "" + +#: src/as-validator-issue-tag.h:91 +msgid "" +"As per AppStream specification, the mentioned tag must only appear once in " +"this context. Having multiple tags of this kind is not valid." +msgstr "" + +#: src/as-validator-issue-tag.h:96 +msgid "" +"The mentioned tag is empty, which is highly likely not intended as it should " +"have content." +msgstr "" + +#: src/as-validator-issue-tag.h:101 +msgid "" +"The component ID is required to follow a reverse domain-name scheme for its " +"name. See the AppStream specification for details." +msgstr "" + +#: src/as-validator-issue-tag.h:106 +msgid "" +"The component ID is not a reverse domain-name. Please update the ID to avoid " +"future issues and be compatible with all AppStream implementations.\n" +"You may also consider to update the name of the accompanying .desktop file " +"to follow the latest version of the Desktop-Entry specification and use a " +"rDNS name for it as well. In any case, do not forget to mention the new " +"desktop-entry in a tag for this component to keep the " +"application launchable from software centers and the .desktop file data " +"associated with the metainfo data." +msgstr "" + +#: src/as-validator-issue-tag.h:114 +msgid "" +"The component ID might not follow the reverse domain-name schema (the TLD " +"used by it is not known to the validator)." +msgstr "" + +#: src/as-validator-issue-tag.h:119 +msgid "" +"The component ID contains an invalid character. Only ASCII characters, dots " +"and numbers are permitted." +msgstr "" + +#: src/as-validator-issue-tag.h:124 +msgid "" +"The component ID contains a hyphen/minus. Using a hyphen is strongly " +"discouraged, to improve interoperability with other tools such as D-Bus. A " +"good option is to replace any hyphens with underscores (`_`)." +msgstr "" + +#: src/as-validator-issue-tag.h:130 +msgid "" +"The component ID contains a segment starting with a number. Starting a " +"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " +"interoperability with other tools such as D-Bus. Ideally, prefix these " +"segments with an underscore." +msgstr "" + +#: src/as-validator-issue-tag.h:136 +msgid "The component ID should only contain lowercase letters." +msgstr "" + +#: src/as-validator-issue-tag.h:141 +msgid "" +"The component is part of the Freedesktop project, but its ID does not start " +"with fd.o's reverse-DNS name (\"org.freedesktop\")." +msgstr "" + +#: src/as-validator-issue-tag.h:146 +msgid "" +"The component is part of the KDE project, but its ID does not start with " +"KDEs reverse-DNS name (\"org.kde\")." +msgstr "" + +#: src/as-validator-issue-tag.h:151 +msgid "" +"The component is part of the GNOME project, but its ID does not start with " +"GNOMEs reverse-DNS name (\"org.gnome\")." +msgstr "" + +#: src/as-validator-issue-tag.h:156 +msgid "The SPDX license expression is invalid and could not be parsed." +msgstr "" + +#: src/as-validator-issue-tag.h:161 +msgid "" +"The license ID was not found in the SPDX database. Please check that the " +"license ID is written in an SPDX-conformant way and is a valid free software " +"license." +msgstr "" + +#: src/as-validator-issue-tag.h:167 +msgid "" +"The metadata itself seems to be licensed under a complex collection of " +"licenses. Please license the data under a simple permissive license, like " +"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " +"collections without the risk of license violations due to mutually " +"incompatible licenses." +msgstr "" + +#: src/as-validator-issue-tag.h:173 +msgid "" +"The metadata itself does not seem to be licensed under a permissive license. " +"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " +"0BSD to allow distributors to include it in mixed data collections without " +"the risk of license violations due to mutually incompatible licenses." +msgstr "" -#: src/as-validator-issue-tag.h:361 -msgid "Consider using a secure (HTTPS) URL for the remote icon link." +#: src/as-validator-issue-tag.h:179 +msgid "" +"The update-contact does not appear to be a valid email address (escaping of " +"`@` is only allowed as `_at_` or `_AT_`)." msgstr "" -#: src/as-validator-issue-tag.h:383 -msgid "Consider using a secure (HTTPS) URL for this web link." +#: src/as-validator-issue-tag.h:184 +msgid "" +"Unable to reach the screenshot image on its remote location - does the image " +"exist?" msgstr "" #: src/as-validator-issue-tag.h:189 msgid "" +"Unable to reach the screenshot video on its remote location - does the video " +"file exist?" +msgstr "" + +#: src/as-validator-issue-tag.h:194 +msgid "" "Consider using a secure (HTTPS) URL to reference this screenshot image or " "video." msgstr "" -#: tools/appstream-cli.c:870 -msgid "Convert a YAML or text NEWS file into metainfo releases." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:200 +msgid "" +"A screenshot must contain at least one image or video in order to be useful. " +"Please add an to it." msgstr "" -#. TRANSLATORS: "convert" command in ascli. "Collection XML" is a term describing a specific type of AppStream XML data. -#: tools/appstream-cli.c:865 -msgid "Convert collection XML to YAML or vice versa." -msgstr "將收藏集 XML 轉換成 YAML,或是相反。" - -#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results -#: tools/ascli-actions-mdata.c:228 -#, c-format -msgid "Could not find component providing '%s::%s'." -msgstr "找不到提供「%s::%s」的組件。" +#: src/as-validator-issue-tag.h:205 +msgid "" +"A screenshot must contain either images or videos, but not both at the same " +"time. Please use this screenshot exclusively for either static images or for " +"videos." +msgstr "" -#: tools/appstream-cli.c:869 -msgid "Create a XDG desktop-entry file from a metainfo file." +#: src/as-validator-issue-tag.h:211 +msgid "The screenshot does not have a caption text. Consider adding one." msgstr "" -#: tools/appstream-cli.c:868 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:217 msgid "" -"Create a template for a metainfo file (to be filled out by the upstream " -"project)." -msgstr "製作中介資訊檔的範本(由上游專案填寫)。" - -#: tools/ascli-actions-misc.c:228 -#, c-format -msgid "Creating new desktop-entry file '%s' using data from '%s'" +"The screenshot video does not specify which video codec was used in a " +"`codec` property." msgstr "" -#: src/as-provided.c:160 -#, fuzzy -msgid "D-Bus Session Services" -msgstr "DBus 作業階段服務" - -#: src/as-provided.c:158 -#, fuzzy -msgid "D-Bus System Services" -msgstr "DBus 系統服務" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:223 +msgid "" +"The screenshot video does not specify which container format was used in a " +"`container` property." +msgstr "" -#: src/as-category.c:195 -msgctxt "Category of Office" -msgid "Database" -msgstr "資料庫" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:229 +msgid "" +"The selected video codec is not supported by AppStream and software centers " +"may not be able to play the video. Only the AV1 and VP9 codecs are currently " +"supported, using `av1` and `vp9` as values for the `codec` property." +msgstr "" -#: src/as-category.c:86 -msgctxt "Category of Development" -msgid "Debuggers" -msgstr "除錯器" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:236 +msgid "" +"The selected video container format is not supported by AppStream and " +"software centers may not be able to play the video. Only the WebM and " +"Matroska video containers are currently supported, using `webm` and `mkv` as " +"values for the `container` property." +msgstr "" -#: tools/ascli-utils.c:353 -msgid "Default Screenshot URL" -msgstr "預設螢幕快照 URL" +#: src/as-validator-issue-tag.h:242 +msgid "" +"For videos, only the WebM and Matroska (.mkv) container formats are " +"currently supported. The file extension of the referenced video does not " +"belong to either of these formats." +msgstr "" -#. TRANSLATORS: ascli flag description for: --format -#: tools/appstream-cli.c:83 -msgid "Default metadata format (valid values are 'xml' and 'yaml')." -msgstr "預設中介資料格式(有效的值為「xml」和「yaml」)。" +#: src/as-validator-issue-tag.h:248 +msgid "" +"The default screenshot of a software component must not be a video. Use a " +"static image as default screenshot and set the video as a secondary " +"screenshot." +msgstr "" -#: tools/ascli-utils.c:333 -msgid "Description" -msgstr "描述" +#: src/as-validator-issue-tag.h:253 +msgid "" +"Found an unknown tag in a requires/recommends group. This is likely an " +"error, because a component relation of this type is unknown." +msgstr "" -#. developer name -#: tools/ascli-utils.c:321 -msgid "Developer" -msgstr "開發者" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:259 +msgid "" +"A `requires` or `recommends` item requires a value to denote a valid " +"relation." +msgstr "" -#. TRANSLATORS: this is the menu spec main category for Development -#: src/as-category.c:305 -msgid "Developer Tools" -msgstr "開發者工具" +#. TRANSLATORS: `version` is an AppStream XML property. Please do not translate it. +#: src/as-validator-issue-tag.h:265 +msgid "" +"Found `version` property on required/recommended item of a type that should " +"not have or require a version." +msgstr "" -#: tools/appstream-cli.c:862 -msgid "Display status information about available AppStream metadata." -msgstr "顯示可用的 AppStream 中介資料相關狀態資訊。" +#. TRANSLATORS: `version` and `compare` are AppStream XML properties. Please do not translate them. +#: src/as-validator-issue-tag.h:271 +msgid "" +"Found `version` property on this required/recommended item, but not " +"`compare` property. It is recommended to explicitly define a comparison " +"operation." +msgstr "" -#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions -#: tools/ascli-actions-misc.c:52 -msgid "Distribution metadata:" -msgstr "散佈版中介資料:" +#: src/as-validator-issue-tag.h:276 +msgid "" +"Invalid comparison operation on relation item. Only eq/ne/lt/gt/le/ge are " +"permitted." +msgstr "" -#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) -#: tools/appstream-cli.c:126 -msgid "Do not use network access." -msgstr "不使用網路存取。" +#: src/as-validator-issue-tag.h:281 +msgid "" +"The relation item has a comparison operation set, but does not support any " +"comparisons." +msgstr "" -#. TRANSLATORS: ascli flag description for: --no-color -#: tools/appstream-cli.c:908 -msgid "Don't show colored output." -msgstr "不要顯示色彩化的輸出。" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:287 +msgid "" +"Found a memory size relation in a `requires` tag. This means users will not " +"be able to even install the component without having enough RAM. This is " +"usually not intended and you want to use `memory` in the `recommends` tag " +"instead." +msgstr "" -#: tools/appstream-cli.c:853 -msgid "Dump raw XML metadata for a component matching the ID." -msgstr "傾印符合該 ID 的組件原生 XML 中介資料。" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:294 +msgid "" +"Found a user input control relation in a `requires` tag. This means users " +"will not be able to even install the component without having the defined " +"input control available on the system. This is usually not intended and you " +"want to use `control` in the `recommends` tag instead." +msgstr "" -#. TRANSLATORS: this is the menu spec main category for Education -#: src/as-category.c:308 -msgid "Education" -msgstr "教育" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:301 +msgid "" +"This `control` item defines an unknown input method and is invalid. Check " +"the specification for a list of permitted values." +msgstr "" -#. TRANSLATORS: No metainfo files have been found -#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 -msgid "Empty." -msgstr "空的。" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:307 +msgid "" +"This `display_length` item contains an invalid display length. Its value " +"must either be a shorthand string, or positive integer value denoting " +"logical pixels. Please refer to the AppStream specification for more " +"information on this tag." +msgstr "" -#: src/as-category.c:141 -msgctxt "Category of Games" -msgid "Emulators" -msgstr "模擬器" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:314 +msgid "" +"This `side` property of this `display_length` item contains an invalid " +"value. It must either be `shortest` or `longest`, or unset to imply " +"`shortest` to make the item value refer to either the shortest or longest " +"side of the display." +msgstr "" -#. TRANSLATORS: ascli flag description for: --force -#: tools/appstream-cli.c:245 -msgid "Enforce a cache refresh." -msgstr "強制重新整理快取。" +#: src/as-validator-issue-tag.h:320 +msgid "" +"The set component type is not a recognized, valid AppStream component type." +msgstr "設定的組件類型並非可辨識、有效的 Appstream 組件類型。" -#: src/as-validator-issue-tag.h:74 -msgid "Enumerations must only have list items (
                                                                                                                                                                                                                                                                                                                                                                                                                                                  2. ) as children." +#: src/as-validator-issue-tag.h:325 +msgid "" +"The component has a priority value set. This is not allowed in metainfo " +"files." msgstr "" -#: tools/ascli-actions-misc.c:159 -#, c-format -msgid "Error while loading the metadata pool: %s" -msgstr "載入中介資料集池時發生錯誤:%s" - -#: tools/ascli-utils.c:327 -msgid "Extends" -msgstr "擴展" +#: src/as-validator-issue-tag.h:330 +msgid "" +"The component has a `merge` method defined. This is not allowed in metainfo " +"files." +msgstr "" -#: src/as-category.c:65 -msgctxt "Category of AudioVideo" -msgid "Featured" -msgstr "特選" +#: src/as-validator-issue-tag.h:335 +msgid "The component is missing an ID ( tag)." +msgstr "" -#: src/as-category.c:256 -msgctxt "Category of Communication" -msgid "Featured" -msgstr "特選" +#: src/as-validator-issue-tag.h:340 +msgid "The component is missing a name ( tag)." +msgstr "" -#: src/as-category.c:83 -msgctxt "Category of Development" -msgid "Featured" -msgstr "特選" +#: src/as-validator-issue-tag.h:345 +msgid "The component is missing a summary ( tag)." +msgstr "" -#: src/as-category.c:98 -msgctxt "Category of Education" -msgid "Featured" -msgstr "特選" +#: src/as-validator-issue-tag.h:350 +msgid "" +"The tag still contains a `type` property, probably from an old " +"conversion to the recent metainfo format." +msgstr "" -#: src/as-category.c:120 -msgctxt "Category of Games" -msgid "Featured" -msgstr "特選" +#: src/as-validator-issue-tag.h:355 +msgid "" +"The `pkgname` tag appears multiple times. You should evaluate creating a " +"metapackage containing the metainfo and .desktop files in order to avoid " +"defining multiple package names per component." +msgstr "" -#: src/as-category.c:165 -msgctxt "Category of Graphics" -msgid "Featured" -msgstr "特選" +#: src/as-validator-issue-tag.h:360 +msgid "The component name should (likely) not end with a dot (`.`)." +msgstr "" -#: src/as-category.c:188 -msgctxt "Category of Office" -msgid "Featured" -msgstr "特選" +#: src/as-validator-issue-tag.h:365 +msgid "The component summary should not end with a dot (`.`)." +msgstr "" -#: src/as-category.c:231 -msgctxt "Category of Science" -msgid "Featured" -msgstr "特選" +#: src/as-validator-issue-tag.h:370 +msgid "The component summary must not contain tabs or linebreaks." +msgstr "" -#: src/as-category.c:278 -msgctxt "Category of Utility" -msgid "Featured" -msgstr "特選" +#: src/as-validator-issue-tag.h:375 +msgid "The summary must not contain any URL. Use the tags for links." +msgstr "" -#: tools/ascli-actions-validate.c:171 tools/ascli-actions-validate.c:349 -#, fuzzy, c-format -msgid "File '%s' does not exist." -msgstr "「%s」中介資料檔並不存在。" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:381 +msgid "" +"Icons of type `stock` or `cached` must not contain an URL, a full or an " +"relative path to the icon. Only file basenames or stock names are allowed." +msgstr "" -#: src/as-category.c:287 -msgctxt "Category of Utility" -msgid "File System" -msgstr "檔案系統" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:388 +msgid "Icons of type `remote` must contain an URL to the referenced icon." +msgstr "" -#: src/as-category.c:198 -msgctxt "Category of Office" -msgid "Finance" -msgstr "財經" +#: src/as-validator-issue-tag.h:393 +msgid "Unable to reach remote icon at the given web location - does it exist?" +msgstr "" -#: src/as-provided.c:164 -msgid "Flashed Firmware" -msgstr "快閃記憶韌體" +#: src/as-validator-issue-tag.h:398 +msgid "Consider using a secure (HTTPS) URL for the remote icon link." +msgstr "" -#: src/as-provided.c:150 -msgid "Fonts" -msgstr "字型" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:404 +msgid "" +"Metainfo files may only contain icons of type `stock` or `remote`, the set " +"type is not allowed." +msgstr "" -#: src/as-category.c:211 -msgctxt "Category of Addons" -msgid "Fonts" -msgstr "字型" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:410 +msgid "" +"Invalid `type` property for this `url` tag. URLs of this type are not known " +"in the AppStream specification." +msgstr "" -#: src/as-validator-issue-tag.h:237 +#: src/as-validator-issue-tag.h:415 msgid "" -"For videos, only the WebM and Matroska (.mkv) container formats are " -"currently supported. The file extension of the referenced video does not " -"belong to either of these formats." +"Unable to reach remote location that this URL references - does it exist?" +msgstr "" + +#: src/as-validator-issue-tag.h:420 +msgid "Consider using a secure (HTTPS) URL for this web link." msgstr "" -#. TRANSLATORS: ascli flag description for: --format when validating XML files -#: tools/appstream-cli.c:131 -#, fuzzy -msgid "Format of the generated report (valid values are 'text' and 'yaml')." -msgstr "預設中介資料格式(有效的值為「xml」和「yaml」)。" +#: src/as-validator-issue-tag.h:425 +msgid "A web URL was expected for this value." +msgstr "" -#. TRANSLATORS: Found metainfo files in legacy directories -#: tools/ascli-actions-misc.c:138 -#, c-format -msgid "Found %i components in legacy paths." -msgstr "遺留路徑中找到 %i 個組件。" +#: src/as-validator-issue-tag.h:430 +msgid "" +"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." +msgstr "" -#: tools/ascli-actions-misc.c:123 -#, c-format -msgid "Found %i components." -msgstr "找到 %i 個組件。" +#: src/as-validator-issue-tag.h:435 +msgid "The can not contain a hyperlink." +msgstr "" -#. TRANSLATORS: 'version' is an AppStream XML property. Please do not translate it. -#: src/as-validator-issue-tag.h:260 +#: src/as-validator-issue-tag.h:440 msgid "" -"Found 'version' property on required/recommended item of a type that should " -"not have or require a version." +"The set value is not an identifier for a desktop environment as registered " +"with Freedesktop.org." msgstr "" -#. TRANSLATORS: 'version' and 'compare' are AppStream XML properties. Please do not translate them. -#: src/as-validator-issue-tag.h:266 -msgid "" -"Found 'version' property on this required/recommended item, but not " -"'compare' property. It is recommended to explicitly define a comparison " -"operation." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:446 +msgid "This `launchable` tag has an unknown type and can not be used." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:277 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:452 +msgid "This `bundle` tag has an unknown type and can not be used." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:458 msgid "" -"Found a memory size dependency in a 'requires' tag. This means users will " -"not be able to even install the component without having enough RAM. This is " -"usually not intended and you want to use 'memory' in the 'recommends' tag " -"instead." +"The `update_contact` tag should not be included in collection AppStream XML." msgstr "" -#: src/as-validator-issue-tag.h:248 +#: src/as-validator-issue-tag.h:463 msgid "" -"Found an unknown tag in a requires/recommends group. This is likely an " -"error, because a component relation of this type is unknown." +"This tag is a GNOME-specific extension to AppStream and not part of the " +"official specification. Do not expect it to work in all implementations and " +"in all software centers." msgstr "" -#: src/as-validator-issue-tag.h:427 +#: src/as-validator-issue-tag.h:469 msgid "" -"Found invalid tag. Non-standard tags should be prefixed with 'x-'. AppStream " +"Found invalid tag. Non-standard tags should be prefixed with `x-`. AppStream " "also provides the tag to add arbitrary custom data to metainfo " "files. This tag is read by AppStream libraries and may be useful instead of " -"defining new custom toplevel or 'x-'-prefixed tags if you just want to add " +"defining new custom toplevel or `x-`-prefixed tags if you just want to add " "custom data to a metainfo file." msgstr "" -#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. -#: src/as-validator.c:526 src/as-validator.c:939 src/as-validator.c:1024 -#: src/as-validator.c:1237 -#, c-format -msgid "Found: %s - Allowed: %s" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:477 +msgid "" +"The essential tag `metadata_license` is missing. A license for the metadata " +"itself always has to be defined." msgstr "" -#. TRANSLATORS: this is the menu spec main category for Game -#: src/as-category.c:311 -msgid "Games" -msgstr "遊戲" - -#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command -#: tools/appstream-cli.c:814 -msgid "Generate the output in the selected format ('yaml' or 'text')." +#: src/as-validator-issue-tag.h:482 +msgid "" +"The component is missing a long description. Components of this type must " +"have a long description." msgstr "" -#: tools/appstream-cli.c:849 -msgid "Get components which provide the given item." -msgstr "取得提供指定項目的組件。" - -#: tools/appstream-cli.c:848 -msgid "Get information about a component by its ID." -msgstr "根據 ID 取得組件的資訊。" - -#. TRANSLATORS: this is the menu spec main category for Graphics -#: src/as-category.c:314 -msgid "Graphics & Photography" -msgstr "圖形和攝影" +#: src/as-validator-issue-tag.h:487 +msgid "" +"It would be useful to add a long description to this font to present it " +"better to users." +msgstr "" -#: tools/ascli-utils.c:300 -msgid "Homepage" -msgstr "首頁" +#: src/as-validator-issue-tag.h:492 +msgid "" +"It is recommended to add a long description to this component to present it " +"better to users." +msgstr "" -#: src/as-category.c:89 -msgctxt "Category of Development" -msgid "IDEs" -msgstr "IDE" +#: src/as-validator-issue-tag.h:497 +msgid "" +"This generic component is missing a long description. It may be useful to " +"add one." +msgstr "" -#: tools/ascli-utils.c:301 -msgid "Icon" -msgstr "圖示" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:503 +msgid "" +"Type `console-application` component, but no information about binaries in " +"$PATH was provided via a `provides/binary` tag." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:351 -msgid "Icons of type 'remote' must contain an URL to the referenced icon." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:509 +msgid "" +"This `web-application` component is missing a `launchable` tag of type `url`." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:344 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:515 msgid "" -"Icons of type 'stock' or 'cached' must not contain an URL, a full or an " -"relative path to the icon. Only file basenames or stock names are allowed." +"This `web-application` component is missing a `icon` tag to specify a valid " +"icon." msgstr "" -#: tools/ascli-actions-misc.c:94 -msgid "Iconsets" -msgstr "圖示集" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:521 +msgid "" +"This `web-application` component is missing categorizations. A `categories` " +"block is likely missing." +msgstr "" -#: tools/ascli-utils.c:295 -msgid "Identifier" -msgstr "辨識碼" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:527 +msgid "" +"Type `font` component, but no font information was provided via a `provides/" +"font` tag." +msgstr "" -#: src/as-category.c:217 -msgctxt "Category of Addons" -msgid "Input Sources" -msgstr "輸入來源" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:533 +msgid "" +"Type `driver` component, but no modalias information was provided via a " +"`provides/modalias` tag." +msgstr "" -#: tools/appstream-cli.c:863 -msgid "Install a metadata file into the right location." -msgstr "安裝中介資料檔到適當位置。" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:539 +msgid "" +"An `extends` tag is specified, but the component is not of type `addon`, " +"`localization` or `repository`." +msgstr "" -#: tools/appstream-cli.c:859 -msgid "Install software matching the component-ID." -msgstr "安裝符合組件 ID 的軟體。" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:545 +msgid "The component is an addon, but no `extends` tag was specified." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:373 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:551 msgid "" -"Invalid 'type' property for this 'url' tag. URLs of this type are not known " -"in the AppStream specification." +"This `localization` component is missing an `extends` tag, to specify the " +"components it adds localization to." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:553 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:557 msgid "" -"Invalid tag found in collection metadata. Only 'component' tags are " -"permitted." +"This `localization` component does not define any languages this " +"localization is for." msgstr "" -#: tools/ascli-actions-mdata.c:213 -msgid "Invalid type for provided item selected. Valid values are:" -msgstr "選取的供應項目類型無效。有效的值有:" - -#: src/as-validator-issue-tag.h:271 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:563 msgid "" -"Invalid version comparison operation on relation item. Only eq/ne/lt/gt/le/" -"ge are permitted." +"This `service` component is missing a `launchable` tag of type `service`." msgstr "" -#: src/as-validator-issue-tag.h:450 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:569 msgid "" -"It is recommended to add a long description to this component to present it " -"better to users." +"Suggestions of any type other than `upstream` are not allowed in metainfo " +"files." msgstr "" -#: src/as-validator-issue-tag.h:445 +#: src/as-validator-issue-tag.h:574 msgid "" -"It would be useful to add a long description to this font to present it " -"better to users." +"The category name is not valid. Refer to the XDG Menu Specification for a " +"list of valid category names." msgstr "" -#: src/as-category.c:144 -msgctxt "Category of Games" -msgid "Kids" -msgstr "孩童" - -#: src/as-category.c:220 -msgctxt "Category of Addons" -msgid "Language Packs" -msgstr "語言包" +#: src/as-validator-issue-tag.h:579 +msgid "The screenshot caption is too long (should be <= 80 characters)" +msgstr "" -#: src/as-category.c:107 -msgctxt "Category of Education" -msgid "Languages" -msgstr "語言" +#: src/as-validator-issue-tag.h:584 +msgid "Unable to read file." +msgstr "無法讀取檔案。" -#: src/as-provided.c:144 -msgid "Libraries" -msgstr "函式庫" +#: src/as-validator-issue-tag.h:589 +msgid "The XML of this file is malformed." +msgstr "" -#. license -#: tools/ascli-utils.c:363 -msgid "License" -msgstr "授權條款" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:595 +msgid "" +"Invalid tag found in collection metadata. Only `component` tags are " +"permitted." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:629 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:601 msgid "" -"Licenses for 'runtime' components are usually too complex to reflect them in " -"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " -"value for this component's 'project_license'. E.g. `LicenseRef-free=https://" -"example.com/licenses.html`" +"The metainfo file uses an ancient version of the AppStream specification, " +"which can not be validated. Please migrate it to version 0.6 (or higher)." msgstr "" -#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command -#: tools/appstream-cli.c:771 +#: src/as-validator-issue-tag.h:606 msgid "" -"Limit the number of release entries that end up in the metainfo file (0 for " -"unlimited)." +"This XML document has an unknown root tag. Maybe this file is not a metainfo " +"document?" msgstr "" -#: src/as-category.c:223 -msgctxt "Category of Addons" -msgid "Localization" -msgstr "在地化" +#: src/as-validator-issue-tag.h:611 +msgid "The metainfo filename does not match the component ID." +msgstr "中介資訊檔名與該組件 ID 不相符。" -#: src/as-category.c:147 -msgctxt "Category of Games" -msgid "Logic" -msgstr "邏輯" +#: src/as-validator-issue-tag.h:616 +msgid "Unable to read the .desktop file associated with this component." +msgstr "無法讀取與此組件相關聯的 .desktop 檔。" -#. TRANSLATORS: ascli flag description for: --no-cache -#: tools/appstream-cli.c:67 -msgid "Make request without any caching." -msgstr "提出請求但不作快取。" +#: src/as-validator-issue-tag.h:621 +msgid "This component metadata refers to a non-existing .desktop file." +msgstr "" -#. TRANSLATORS: ascli flag description for: --cachepath -#: tools/appstream-cli.c:57 -msgid "Manually selected location of AppStream cache." -msgstr "手動選取 AppStream 快取的位置。" +#: src/as-validator-issue-tag.h:626 +msgid "" +"The category defined in the .desktop file is not valid. Refer to the XDG " +"Menu Specification for a list of valid categories." +msgstr "" -#. TRANSLATORS: ascli flag description for: --datapath -#: tools/appstream-cli.c:62 -msgid "Manually selected location of AppStream metadata to scan." -msgstr "手動選取要掃描的 AppStream 中介資料位置。" +#: src/as-validator-issue-tag.h:631 +msgid "No AppStream metadata was found in this directory or directory tree." +msgstr "" + +#. pedantic because not everything which has metadata is an application +#: src/as-validator-issue-tag.h:636 +msgid "No XDG applications directory found." +msgstr "" -#: src/as-pool.c:1280 +#: src/as-validator-issue-tag.h:641 msgid "" -"Many components have been recognized as invalid. See debug output for " -"details." -msgstr "有許多組件被認為無效。請見除錯輸出瞭解詳細資訊。" +"The metainfo file is stored in a legacy path. Please place it in `/usr/share/" +"metainfo/`." +msgstr "" -#: src/as-category.c:111 -msgctxt "Category of Education" -msgid "Math" -msgstr "數學" +#: src/as-validator-issue-tag.h:646 +msgid "The metainfo file specifies multiple components. This is not allowed." +msgstr "" -#: src/as-category.c:243 -msgctxt "Category of Science" -msgid "Math" -msgstr "數學" +#: src/as-validator-issue-tag.h:651 +msgid "" +"The releases are not sorted in a latest to oldest version order. This is " +"required as some tools will assume that the latest version is always at the " +"top. Sorting releases also increases overall readability of the metainfo " +"file." +msgstr "" -#: src/as-provided.c:148 -#, fuzzy -msgid "Media types" -msgstr "MIME 類型" +#: src/as-validator-issue-tag.h:658 +msgid "The value set as release urgency is not a known urgency value." +msgstr "" -#: tools/ascli-actions-mdata.c:364 -#, c-format -msgid "Metadata file '%s' does not exist." -msgstr "「%s」中介資料檔並不存在。" +#: src/as-validator-issue-tag.h:663 +msgid "The value set as release type is invalid." +msgstr "" -#: src/as-pool.c:881 -msgid "Metadata files have errors:" -msgstr "中介資料檔中有誤:" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:669 +msgid "" +"The value set as artifact type is invalid. Must be either `source` or " +"`binary`." +msgstr "" -#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 -#: tools/ascli-actions-misc.c:515 -#, fuzzy, c-format -msgid "Metainfo file '%s' does not exist." -msgstr "「%s」中介資料檔並不存在。" +#: src/as-validator-issue-tag.h:674 +msgid "The value set as artifact bundle type is invalid." +msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:367 +#: src/as-validator-issue-tag.h:679 msgid "" -"Metainfo files may only contain icons of type 'stock' or 'remote', the set " -"type is not allowed." +"The platform triplet for this release is invalid. It must be in the form of " +"`architecture-oskernel-osenv` - refer to the AppStream documentation or " +"information on normalized GNU triplets for more information and valid fields." msgstr "" -#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report -#: tools/ascli-actions-misc.c:116 -msgid "Metainfo files:" -msgstr "中介資料檔:" - -#: src/as-provided.c:152 -msgid "Modaliases" -msgstr "Modalias 檔" +#: src/as-validator-issue-tag.h:686 +msgid "The selected checksumming algorithm is unsupported or unknown." +msgstr "" -#: src/as-category.c:74 -msgctxt "Category of AudioVideo" -msgid "Music Players" -msgstr "音樂播放器" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:692 +msgid "The size type is unknown. Must be `download` or `installed`." +msgstr "" -#: tools/ascli-utils.c:296 -msgid "Name" -msgstr "名稱" +#: src/as-validator-issue-tag.h:697 +msgid "" +"The artifact filename must be a file basename, not a (relative or absolute) " +"path." +msgstr "" -#: src/as-category.c:266 -msgctxt "Category of Communication" -msgid "News" -msgstr "新聞" +#: src/as-validator-issue-tag.h:702 +msgid "The value set as release issue type is invalid." +msgstr "" -#: src/as-validator-issue-tag.h:589 -msgid "No AppStream metadata was found in this directory or directory tree." +#: src/as-validator-issue-tag.h:707 +msgid "" +"The issue is tagged at security vulnerability with a CVE number, but its " +"value does not look like a valid CVE identifier." +msgstr "" + +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:713 +msgid "" +"This component is missing information about releases. Consider adding a " +"`releases` tag to describe releases and their changes." msgstr "" -#. pedantic because not everything which has metadata is an application -#: src/as-validator-issue-tag.h:594 -msgid "No XDG applications directory found." +#: src/as-validator-issue-tag.h:718 +msgid "" +"The AppStream specification requires a complete, ISO 8601 date string with " +"at least day-granularity to denote dates. Please ensure the date string is " +"valid." msgstr "" -#: tools/ascli-actions-mdata.c:182 -#, c-format -msgid "No component matching '%s' found." -msgstr "找不到符合「%s」的組件。" +#: src/as-validator-issue-tag.h:724 +msgid "" +"This component extends, provides, requires or recommends itself, which is " +"certainly not intended and may confuse users or machines dealing with this " +"metadata." +msgstr "" -#: tools/ascli-actions-misc.c:105 -msgid "No icons." -msgstr "無圖示。" +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:731 +msgid "" +"Licenses for `runtime` components are usually too complex to reflect them in " +"a simple SPDX expression. Consider using a `LicenseRef` and a web URL as " +"value for this component's `project_license`. E.g. `LicenseRef-free=https://" +"example.com/licenses.html`" +msgstr "" -#: tools/ascli-actions-misc.c:402 -msgid "No output filename specified, modifying metainfo file directly." +#: src/as-validator-issue-tag.h:737 +msgid "" +"Since a `runtime` component is comprised of multiple other software " +"components, their component-IDs may be listed in a `` section for " +"this runtime." msgstr "" -#: tools/ascli-actions-misc.c:306 +#: src/as-validator-issue-tag.h:742 msgid "" -"No provided binary specified in metainfo file, and no exec command specified " -"via '--exec'. Can not create 'Exec=' key." +"The type of the item that the component provides is not known to AppStream." msgstr "" -#: tools/ascli-actions-misc.c:284 -msgid "No stock icon name was provided in the metainfo file. Can not continue." +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). +#: src/as-validator-issue-tag.h:748 +msgid "" +"The toplevel `mimetypes` tag is deprecated. Please use `mediatype` tags in a " +"`provides` block instead to indicate that your software provides a media " +"handler for the given types." msgstr "" -#: tools/ascli-actions-pkgmgr.c:53 +#. TRANSLATORS: Please do not translate AppStream tag and property names (in backticks) and keep the URL intact. +#: src/as-validator-issue-tag.h:755 msgid "" -"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" -"\" (part of PackageKit) is available." +"This component has no `content_rating` tag to provide age rating " +"information. You can generate the tag data online by answering a few " +"questions at https://hughsie.github.io/oars/" msgstr "" -"找不到適當的軟體包管理程式 CLI。例如請確認「pkcon」是否可以使用(PackageKit " -"的一部分)。" -#: tools/ascli-actions-mdata.c:206 -msgid "No value for the item to search for was defined." -msgstr "要搜尋的項目未定義該值。" +#: src/as-validator.c:150 +msgid "" +"The emitted issue tag is unknown in the tag registry of AppStream. This is a " +"bug in the validator itself, please report this issue in our bugtracker." +msgstr "" -#. TRANSLATORS: this is the menu spec main category for Office -#: src/as-category.c:317 -msgid "Office" -msgstr "辦公" +#: src/as-validator.c:344 +msgid "URL format is invalid." +msgstr "" -#. TRANSLATORS: An unknown option was passed to appstreamcli. -#: tools/appstream-cli.c:192 +#. TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. +#: src/as-validator.c:522 src/as-validator.c:937 src/as-validator.c:1031 +#: src/as-validator.c:1428 src/as-validator.c:1448 src/as-validator.c:1481 #, c-format -msgid "Option '%s' is unknown." -msgstr "「%s」選項不明。" +msgid "Found: %s - Allowed: %s" +msgstr "" -#: tools/ascli-utils.c:298 -msgid "Package" -msgstr "軟體包" +#. TRANSLATORS: ascompose flag description for: --verbose +#: tools/appstream-compose.c:181 +#, fuzzy +msgid "Show extra debugging information" +msgstr "顯示額外除錯資訊。" -#: src/as-category.c:171 -msgctxt "Category of Graphics" -msgid "Photography" -msgstr "攝影" +#. TRANSLATORS: ascompose flag description for: --no-color +#. TRANSLATORS: ascli flag description for: --no-color +#: tools/appstream-compose.c:184 tools/appstreamcli.c:1087 +msgid "Don't show colored output." +msgstr "不要顯示色彩化的輸出。" -#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) -#: tools/appstream-cli.c:121 -#, fuzzy -msgid "Print detailed explanation for found issues." -msgstr "列印有關找到之組件的詳細輸出。" +#. TRANSLATORS: ascompose flag description for: --version +#. TRANSLATORS: ascli flag description for: --version +#: tools/appstream-compose.c:187 tools/appstreamcli.c:1076 +msgid "Show the program version." +msgstr "顯示程式版本。" -#. TRANSLATORS: ascli flag description for: --details -#: tools/appstream-cli.c:98 -msgid "Print detailed output about found components." -msgstr "列印有關找到之組件的詳細輸出。" +#. TRANSLATORS: ascompose flag description for: --full-report +#: tools/appstream-compose.c:190 +msgid "Set mode of the issue report that is printed to the console" +msgstr "" -#. project group -#: tools/ascli-utils.c:360 -msgid "Project Group" -msgstr "專案群組" +#. TRANSLATORS: ascompose flag description for: --prefix +#: tools/appstream-compose.c:193 +msgid "Override the default prefix (`/usr` by default)" +msgstr "" -#: tools/ascli-utils.c:405 -msgid "Provided Items" -msgstr "提供的項目" +#. TRANSLATORS: ascompose flag description for: --result-root +#: tools/appstream-compose.c:196 +msgid "Set the result output directory" +msgstr "" -#: src/as-provided.c:154 -msgid "Python (Version 2)" -msgstr "Python (第 2 版)" +#. TRANSLATORS: ascompose flag description for: --data-dir, `collection metadata` is an AppStream term +#: tools/appstream-compose.c:199 +msgid "Override the collection metadata output directory" +msgstr "" -#: src/as-provided.c:156 -msgid "Python 3" -msgstr "Python 3" +#. TRANSLATORS: ascompose flag description for: --icons-dir +#: tools/appstream-compose.c:202 +msgid "Override the icon output directory" +msgstr "" -#: tools/appstream-cli.c:854 -msgid "Rebuild the component metadata cache." -msgstr "重建組件的中介資料快取。" +#. TRANSLATORS: ascompose flag description for: --media-dir +#: tools/appstream-compose.c:205 +msgid "" +"Set the media output directory (for media data to be served by a webserver)" +msgstr "" -#: tools/appstream-cli.c:860 -msgid "Remove software matching the component-ID." -msgstr "移除符合該組件 ID 的軟體。" +#. TRANSLATORS: ascompose flag description for: --hints-dir +#: tools/appstream-compose.c:208 +msgid "Set a directory where HTML and text issue reports will be stored" +msgstr "" -#. TRANSLATORS: We tried to download from an URL, but the retrieved data was empty -#: src/as-validator.c:364 -msgid "Retrieved file size was zero." +#. TRANSLATORS: ascompose flag description for: --origin +#. TRANSLATORS: ascompose flag description for: --media-baseurl +#: tools/appstream-compose.c:211 tools/appstream-compose.c:214 +msgid "Set the origin name" msgstr "" -#: src/as-category.c:248 -msgctxt "Category of Science" -msgid "Robotics" -msgstr "機器人" +#. TRANSLATORS: ascompose flag description for: --components +#: tools/appstream-compose.c:217 +msgid "A comma-separated list of component-IDs to accept" +msgstr "" -#: src/as-category.c:150 -msgctxt "Category of Games" -msgid "Role Playing" -msgstr "角色扮演" +#. TRANSLATORS: error message +#: tools/appstream-compose.c:231 +msgid "Failed to parse arguments" +msgstr "" -#: tools/appstream-cli.c:196 tools/appstream-cli.c:926 +#. TRANSLATORS: Output if appstreamcli --version is executed. +#: tools/appstream-compose.c:242 tools/appstreamcli.c:1230 #, c-format -msgid "Run '%s --help' to see a full list of available command line options." -msgstr "執行「%s --help」查看可用指令列選項的完整清單。" +msgid "AppStream version: %s" +msgstr "AppStream 版本:%s" -#: tools/appstream-cli.c:198 +#. TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. +#: tools/appstream-compose.c:245 tools/appstreamcli.c:1233 #, c-format msgid "" -"Run '%s --help' to see a list of available commands and options, and '%s %s " -"--help' to see a list of options specific for this subcommand." +"AppStream CLI tool version: %s\n" +"AppStream library version: %s" msgstr "" -"執行「%s --help」查看可用指令和選項的清單,而「%s %s --help」則可查看此子指令" -"下專屬的選項清單。" +"AppStream CLI 工具版本:%s\n" +"AppStream 函式庫版本:%s" -#: src/as-provided.c:162 -msgid "Runtime Firmware" -msgstr "執行時期韌體" +#. TRANSLATORS: invalid value for the --print-report CLI option +#: tools/appstream-compose.c:264 +#, c-format +msgid "" +"Invalid value for `--print-report` option: %s\n" +"Possible values are:\n" +"`on-error` - only prints a short report if the run failed (default)\n" +"`short` - generates an abridged report\n" +"`full` - a detailed report will be printed" +msgstr "" -#: src/as-category.c:174 -msgctxt "Category of Graphics" -msgid "Scanning" -msgstr "掃描" +#: tools/appstream-compose.c:285 +#, c-format +msgid "Automatically selected '%s' as data output location." +msgstr "" -#. TRANSLATORS: this is the menu spec main category for Science -#: src/as-category.c:323 -msgid "Science" -msgstr "科學" +#. TRANSLATORS: we don't have a destination directory for compose +#: tools/appstream-compose.c:288 +msgid "No destination directory set, please provide a data output location!" +msgstr "" -#: tools/appstream-cli.c:847 -msgid "Search the component database." -msgstr "搜尋組件資料庫。" +#: tools/appstream-compose.c:298 tools/appstream-compose.c:300 +msgid "WARNING" +msgstr "" -#: src/as-category.c:293 -msgctxt "Category of Utility" -msgid "Security" -msgstr "安全" +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:337 +#, c-format +msgid "Only accepting components: %s" +msgstr "" -#. TRANSLATORS: ascli flag description for: --verbose -#: tools/appstream-cli.c:903 -msgid "Show extra debugging information." -msgstr "顯示額外除錯資訊。" +#. TRANSLATORS: information about as-compose allowlist +#: tools/appstream-compose.c:340 +#, c-format +msgid "Only accepting component: %s" +msgstr "" -#. TRANSLATORS: ascli flag description for: --version -#: tools/appstream-cli.c:897 -msgid "Show the program version." -msgstr "顯示程式版本。" +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:345 +msgid "Processing directories:" +msgstr "" -#: src/as-validator-issue-tag.h:635 -msgid "" -"Since a 'runtime' component is comprised of multiple other software " -"components, their component-IDs may be listed in a `` section for " -"this runtime." +#. TRANSLATORS: information about as-compose units to be processed +#: tools/appstream-compose.c:348 +msgid "Processing directory:" msgstr "" -#: src/as-category.c:153 -msgctxt "Category of Games" -msgid "Sports" -msgstr "運動" +#. TRANSLATORS: error message +#: tools/appstream-compose.c:357 +msgid "Can not process invalid directory" +msgstr "" -#: src/as-category.c:157 -msgctxt "Category of Games" -msgid "Strategy" -msgstr "策略" +#. TRANSLATORS: information message +#: tools/appstream-compose.c:369 +msgid "Composing metadata..." +msgstr "" -#. these are commands we can use with appstreamcli -#: tools/appstream-cli.c:845 -msgid "Subcommands:" -msgstr "子指令:" +#. TRANSLATORS: error message +#: tools/appstream-compose.c:374 +#, fuzzy +msgid "Failed to compose AppStream metadata" +msgstr "處理 AppStream 中介資料的公用程式" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:527 -msgid "" -"Suggestions of any type other than 'upstream' are not allowed in metainfo " -"files." +#. TRANSLATORS: appstream-compose failed to include all data +#: tools/appstream-compose.c:380 +msgid "Run failed, some data was ignored." msgstr "" -#: tools/ascli-utils.c:297 -msgid "Summary" -msgstr "摘要" +#. TRANSLATORS: information message of appstream-compose +#: tools/appstream-compose.c:382 +msgid "Errors were raised during this compose run:" +msgstr "" -#. TRANSLATORS: Status summary in ascli -#: tools/ascli-actions-misc.c:145 -msgid "Summary:" -msgstr "摘要:" +#: tools/appstream-compose.c:383 +msgid "" +"Refer to the generated issue report data for details on the individual " +"problems." +msgstr "" -#: src/as-category.c:290 -msgctxt "Category of Utility" -msgid "System Monitoring" -msgstr "系統監控" +#: tools/appstream-compose.c:386 +msgid "Overview of generated hints:" +msgstr "" -#: src/as-validator-issue-tag.h:46 -msgid "Tags of this name are not permitted in this section." +#. TRANSLATORS: information message +#: tools/appstream-compose.c:388 +msgid "Success!" msgstr "" -#: src/as-category.c:284 -msgctxt "Category of Utility" -msgid "Terminal Emulators" -msgstr "終端機模擬器" +#. TRANSLATORS: ascli flag description for: --cachepath +#: tools/appstreamcli.c:59 +msgid "Manually selected location of AppStream cache." +msgstr "手動選取 AppStream 快取的位置。" -#: src/as-category.c:281 -msgctxt "Category of Utility" -msgid "Text Editors" -msgstr "文字編輯器" +#. TRANSLATORS: ascli flag description for: --datapath +#: tools/appstreamcli.c:64 +msgid "Manually selected location of AppStream metadata to scan." +msgstr "手動選取要掃描的 AppStream 中介資料位置。" -#: src/as-validator-issue-tag.h:318 -msgid "" -"The 'pkgname' tag appears multiple times. You should evaluate creating a " -"metapackage containing the metainfo and .desktop files in order to avoid " -"defining multiple package names per component." -msgstr "" +#. TRANSLATORS: ascli flag description for: --no-cache +#: tools/appstreamcli.c:69 +msgid "Make request without any caching." +msgstr "提出請求但不作快取。" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:416 -msgid "" -"The 'update_contact' tag should not be included in collection AppStream XML." -msgstr "" +#. TRANSLATORS: ascli flag description for: --format +#: tools/appstreamcli.c:85 +msgid "Default metadata format (valid values are 'xml' and 'yaml')." +msgstr "預設中介資料格式(有效的值為「xml」和「yaml」)。" -#: tools/ascli-actions-mdata.c:467 -#, c-format -msgid "The .desktop file '%s' does not exist." -msgstr "「%s」.desktop 檔並不存在。" +#. TRANSLATORS: ascli flag description for: --details +#: tools/appstreamcli.c:100 +msgid "Print detailed output about found components." +msgstr "列印有關找到之組件的詳細輸出。" -#: src/as-validator-issue-tag.h:393 -msgid "The can not contain a hyperlink." -msgstr "" +#. TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) +#: tools/appstreamcli.c:118 +msgid "Also show pedantic hints." +msgstr "也列印詳盡的提示。" -#: src/as-validator-issue-tag.h:313 -msgid "" -"The tag still contains a 'type' property, probably from an old " -"conversion to the recent metainfo format." -msgstr "" +#. TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) +#: tools/appstreamcli.c:123 +msgid "Print detailed explanation for found issues." +msgstr "列印找到議題的詳細解說。" -#: src/as-validator-issue-tag.h:616 -msgid "" -"The AppStream specification requires a complete, ISO 8601 date string with " -"at least day-granularity to denote dates. Please ensure the date string is " -"valid." -msgstr "" +#. TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) +#: tools/appstreamcli.c:128 +msgid "Do not use network access." +msgstr "不使用網路存取。" -#: src/as-pool.c:1924 -#, fuzzy, c-format -msgid "" -"The AppStream system cache was updated, but problems were found which " -"resulted in metadata being ignored: %s" -msgstr "AppStream 系統快取已更新,但發現一些問題:%s" +#. TRANSLATORS: ascli flag description for: --format when validating XML files +#: tools/appstreamcli.c:133 +msgid "Format of the generated report (valid values are 'text' and 'yaml')." +msgstr "生成的報告格式(有效的值為「text」和「yaml」)。" -#: src/as-pool.c:1922 -#, fuzzy -msgid "" -"The AppStream system cache was updated, but some components were ignored. " -"Refer to the verbose log for more information." -msgstr "" -"AppStream 系統快取已更新,但偵測到一些錯誤可能導致中介資料遺失。請參考詳盡模" -"式記錄瞭解更多資訊。" +#. TRANSLATORS: This is the header to the --help menu for subcommands +#. TRANSLATORS: This is the header to the --help menu +#: tools/appstreamcli.c:153 tools/appstreamcli.c:981 +msgid "AppStream command-line interface" +msgstr "AppStream 指令列介面" -#: src/as-validator-issue-tag.h:151 -msgid "The SPDX license expression is invalid and could not be parsed." -msgstr "" +#: tools/appstreamcli.c:156 +#, c-format +msgid "'%s' command" +msgstr "「%s」指令" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows -#: tools/appstream-cli.c:683 +#. TRANSLATORS: An unknown option was passed to appstreamcli. +#: tools/appstreamcli.c:191 #, c-format -msgid "The TYPE must be a valid component-type, such as: %s" -msgstr "TYPE 必須是有效組件類型,例如:%s" +msgid "Option '%s' is unknown." +msgstr "「%s」選項不明。" -#: src/as-validator-issue-tag.h:547 -msgid "The XML of this file is malformed." -msgstr "" +#: tools/appstreamcli.c:195 tools/appstreamcli.c:1207 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options." +msgstr "執行「%s --help」查看可用指令列選項的完整清單。" -#: src/as-validator-issue-tag.h:584 +#: tools/appstreamcli.c:197 +#, c-format msgid "" -"The category defined in the .desktop file is not valid. Refer to the XDG " -"Menu Specification for a list of valid categories." +"Run '%s --help' to see a list of available commands and options, and '%s %s " +"--help' to see a list of options specific for this subcommand." msgstr "" +"執行「%s --help」查看可用指令和選項的清單,而「%s %s --help」則可查看此子指令" +"下專屬的選項清單。" -#: src/as-validator-issue-tag.h:532 -msgid "" -"The category name is not valid. Refer to the XDG Menu Specification for a " -"list of valid category names." -msgstr "" +#. TRANSLATORS: ascli flag description for: --force +#: tools/appstreamcli.c:245 +msgid "Enforce a cache refresh." +msgstr "強制重新整理快取。" -#: src/as-validator-issue-tag.h:124 -msgid "" -"The component ID contains a hyphen/minus. Using a hyphen is strongly " -"discouraged, to improve interoperability with other tools such as D-Bus. A " -"good option is to replace any hyphens with underscores ('_')." +#. TRANSLATORS: ascli flag description for: --user +#: tools/appstreamcli.c:251 +msgid "Update the user-specific instead of the system-wide cache." msgstr "" -#: src/as-validator-issue-tag.h:130 -msgid "" -"The component ID contains a segment starting with a number. Starting a " -"segment of the reverse-DNS ID with a number is strongly discouraged, to keep " -"interoperability with other tools such as D-Bus. Ideally, prefix these " -"segments with an underscore." +#. TRANSLATORS: ascli flag description for: --origin (part of the "put" subcommand) +#: tools/appstreamcli.c:477 +msgid "Set the data origin for the installed metadata collection file." msgstr "" -#: src/as-validator-issue-tag.h:119 -msgid "" -"The component ID contains an invalid character. Only ASCII characters, dots " -"and numbers are permitted." +#. TRANSLATORS: ascli flag description for: --user (part of the "put" subcommand) +#: tools/appstreamcli.c:482 +msgid "Install the file for the current user, instead of globally." msgstr "" -#: src/as-validator-issue-tag.h:106 +#: tools/appstreamcli.c:631 msgid "" -"The component ID is not a reverse domain-name. Please update the ID to avoid " -"future issues and be compatible with all AppStream implementations.\n" -"You may also consider to update the name of the accompanying .desktop file " -"to follow the latest version of the Desktop-Entry specification and use a " -"rDNS name for it as well. In any case, do not forget to mention the new " -"desktop-entry in a tag for this component to keep the " -"application launchable from software centers and the .desktop file data " -"associated with the metainfo data." -msgstr "" +"You need to provide at least two version numbers to compare as parameters." +msgstr "您需要提供至少兩個版本號作為參數比較。" -#: src/as-validator-issue-tag.h:101 +#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. +#: tools/appstreamcli.c:660 +#, c-format +msgid "Unknown compare relation '%s'. Valid values are:" +msgstr "未知比較關係「%s」。有效的值有:" + +#: tools/appstreamcli.c:700 msgid "" -"The component ID is required to follow a reverse domain-name scheme for its " -"name. See the AppStream specification for details." -msgstr "" +"Too many parameters: Need two version numbers or version numbers and a " +"comparison operator." +msgstr "過多參數:需要的只有兩個版本號,或是版號加比較操作符。" -#: src/as-validator-issue-tag.h:114 +#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) +#: tools/appstreamcli.c:726 msgid "" -"The component ID might not follow the reverse domain-name schema (the TLD " -"used by it is not known to the validator)." -msgstr "" +"Use the given .desktop file to fill in the basic values of the metainfo file." +msgstr "使用給定的 .deskotp 檔以在中介資訊檔中填入基礎值。" -#: src/as-validator-issue-tag.h:293 +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand +#: tools/appstreamcli.c:731 msgid "" -"The component has a 'merge' method defined. This is not allowed in metainfo " -"files." +"This command takes optional TYPE and FILE positional arguments, FILE being a " +"file to write to (or \"-\" for standard output)." msgstr "" +"這個指令會取用選填的 TYPE 和 FILE 位置引數,FILE 代表要寫入的檔案(或用「-」" +"表示標準輸出)。" -#: src/as-validator-issue-tag.h:288 -msgid "" -"The component has a priority value set. This is not allowed in metainfo " -"files." +#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows +#: tools/appstreamcli.c:734 +#, c-format +msgid "The TYPE must be a valid component-type, such as: %s" +msgstr "TYPE 必須是有效組件類型,例如:%s" + +#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) +#: tools/appstreamcli.c:775 +msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:503 -msgid "The component is an addon, but no 'extends' tag was specified." +#. TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command +#: tools/appstreamcli.c:815 +msgid "Assume the input file is in the selected format ('yaml' or 'text')." msgstr "" -#: src/as-validator-issue-tag.h:440 +#. TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command +#: tools/appstreamcli.c:820 msgid "" -"The component is missing a long description. Components of this type must " -"have a long description." +"Limit the number of release entries that end up in the metainfo file (0 for " +"unlimited)." msgstr "" -#: src/as-validator-issue-tag.h:303 -msgid "The component is missing a name ( tag)." +#. TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command +#: tools/appstreamcli.c:862 +msgid "Generate the output in the selected format ('yaml' or 'text')." msgstr "" -#: src/as-validator-issue-tag.h:308 -msgid "The component is missing a summary ( tag)." +#: tools/appstreamcli.c:894 +#, c-format +msgid "Compose binary '%s' was not found! Can not continue." msgstr "" -#: src/as-validator-issue-tag.h:298 -msgid "The component is missing an ID ( tag)." +#. TRANSLATORS: this is a (usually shorter) command alias, shown after the command summary text +#: tools/appstreamcli.c:956 +#, c-format +msgid "(Alias: '%s')" msgstr "" -#: src/as-validator-issue-tag.h:136 -msgid "" -"The component is part of the Freedesktop project, but its ID does not start " -"with fd.o's reverse-DNS name (\"org.freedesktop\")." -msgstr "" +#. these are commands we can use with appstreamcli +#: tools/appstreamcli.c:983 +msgid "Subcommands:" +msgstr "子指令:" -#: src/as-validator-issue-tag.h:146 +#: tools/appstreamcli.c:1029 msgid "" -"The component is part of the GNOME project, but its ID does not start with " -"GNOMEs reverse-DNS name (\"org.gnome\")." -msgstr "" +"You can find information about subcommand-specific options by passing \"--" +"help\" to the subcommand." +msgstr "您可以藉由傳遞「--help」給子指令來查詢子指令專屬的選項資訊。" -#: src/as-validator-issue-tag.h:141 +#. TRANSLATORS: ascli has been run with unknown command. '%s --help' is the command to receive help and should not be translated. +#: tools/appstreamcli.c:1052 +#, fuzzy, c-format msgid "" -"The component is part of the KDE project, but its ID does not start with " -"KDEs reverse-DNS name (\"org.kde\")." -msgstr "" +"Command '%s' is unknown. Run '%s --help' for a list of available commands." +msgstr "執行「%s --help」查看可用指令列選項的完整清單。" -#: src/as-validator-issue-tag.h:323 -msgid "The component name should (likely) not end with a dot ('.')." -msgstr "" +#. TRANSLATORS: ascli flag description for: --verbose +#: tools/appstreamcli.c:1082 +msgid "Show extra debugging information." +msgstr "顯示額外除錯資訊。" -#: src/as-validator-issue-tag.h:333 -msgid "The component summary must not contain tabs or linebreaks." +#. TRANSLATORS: ascli flag description for: --profile +#: tools/appstreamcli.c:1090 +msgid "Enable profiling" msgstr "" -#: src/as-validator-issue-tag.h:328 -msgid "The component summary should not end with a dot ('.')." -msgstr "" +#. TRANSLATORS: `appstreamcli search` command description. +#: tools/appstreamcli.c:1102 +msgid "Search the component database." +msgstr "搜尋組件資料庫。" -#: src/as-validator-issue-tag.h:243 -msgid "" -"The default screenshot of a software component must not be a video. Use a " -"static image as default screenshot and set the video as a secondary " -"screenshot." -msgstr "" +#. TRANSLATORS: `appstreamcli get` command description. +#: tools/appstreamcli.c:1107 +msgid "Get information about a component by its ID." +msgstr "根據 ID 取得組件的資訊。" -#: src/as-validator-issue-tag.h:86 +#. TRANSLATORS: `appstreamcli what-provides` command description. +#: tools/appstreamcli.c:1112 msgid "" -"The description contains a web URL in plain text. This is not allowed, " -"please use the tag instead to share links." +"Get components which provide the given item. Needs an item type (e.g. lib, " +"bin, python3, …) and item value as parameter." msgstr "" -#: src/as-validator.c:152 -msgid "" -"The emitted issue tag is unknown in the tag registry of AppStream. This is a " -"bug in the validator itself, please report this issue in our bugtracker." -msgstr "" +#. TRANSLATORS: `appstreamcli dump` command description. +#: tools/appstreamcli.c:1118 +msgid "Dump raw XML metadata for a component matching the ID." +msgstr "傾印符合該 ID 的組件原生 XML 中介資料。" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:435 -msgid "" -"The essential tag 'metadata_license' is missing. A license for the metadata " -"itself always has to be defined." -msgstr "" +#. TRANSLATORS: `appstreamcli refresh-cache` command description. +#: tools/appstreamcli.c:1123 +msgid "Rebuild the component metadata cache." +msgstr "重建組件的中介資料快取。" -#: src/as-validator-issue-tag.h:79 -msgid "" -"The first 'description/p' paragraph of this component might be too short (< " -"80 characters). Please consider starting with a longer paragraph to improve " -"how the description looks like in software centers and to provide more " -"detailed information on this component immediately in the first paragraph." -msgstr "" +#. TRANSLATORS: `appstreamcli validate` command description. +#: tools/appstreamcli.c:1129 +msgid "Validate AppStream XML files for issues." +msgstr "驗證 AppStream XML 檔是否有問題。" -#: src/as-validator-issue-tag.h:156 -msgid "" -"The license ID was not found in the SPDX database. Please check that the " -"license ID is written in an SPDX-conformant way and is a valid free software " -"license." -msgstr "" +#. TRANSLATORS: `appstreamcli validate-tree` command description. +#: tools/appstreamcli.c:1134 +msgid "Validate an installed file-tree of an application for valid metadata." +msgstr "驗證已安裝應用程式的檔案樹是否存在有效的中介資料。" -#: src/as-validator-issue-tag.h:96 -msgid "" -"The mentioned tag is empty, which is highly likely not intended as it should " -"have content." -msgstr "" +#. TRANSLATORS: `appstreamcli install` command description. +#: tools/appstreamcli.c:1140 +msgid "Install software matching the component-ID." +msgstr "安裝符合組件 ID 的軟體。" -#: src/as-validator-issue-tag.h:168 -msgid "" -"The metadata itself does not seem to be licensed under a permissive license. " -"Please license the data under a permissive license, like FSFAP, CC0-1.0 or " -"0BSD to allow distributors to include it in mixed data collections without " -"the risk of license violations due to mutually incompatible licenses." -msgstr "" +#. TRANSLATORS: `appstreamcli remove` command description. +#: tools/appstreamcli.c:1145 +msgid "Remove software matching the component-ID." +msgstr "移除符合該組件 ID 的軟體。" -#: src/as-validator-issue-tag.h:162 -msgid "" -"The metadata itself seems to be licensed under a complex collection of " -"licenses. Please license the data under a simple permissive license, like " -"FSFAP, MIT or CC0-1.0 to allow distributors to include it in mixed data " -"collections without the risk of license violations due to mutually " -"incompatible licenses." -msgstr "" +#. TRANSLATORS: `appstreamcli status` command description. +#: tools/appstreamcli.c:1151 +msgid "Display status information about available AppStream metadata." +msgstr "顯示可用的 AppStream 中介資料相關狀態資訊。" -#: src/as-validator-issue-tag.h:599 +#. TRANSLATORS: `appstreamcli os-info` command description. +#: tools/appstreamcli.c:1156 msgid "" -"The metainfo file is stored in a legacy path. Please place it in '/usr/share/" -"metainfo'." +"Show information about the current operating system from the metadata index." msgstr "" -#: src/as-validator-issue-tag.h:604 -msgid "The metainfo file specifies multiple components. This is not allowed." -msgstr "" +#. TRANSLATORS: `appstreamcli put` command description. +#: tools/appstreamcli.c:1161 +msgid "Install a metadata file into the right location." +msgstr "安裝中介資料檔到適當位置。" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:559 -msgid "" -"The metainfo file uses an ancient version of the AppStream specification, " -"which can not be validated. Please migrate it to version 0.6 (or higher)." -msgstr "" +#. TRANSLATORS: `appstreamcli convert` command description. "Collection XML" is a term describing a specific type of AppStream XML data. +#: tools/appstreamcli.c:1166 +msgid "Convert collection XML to YAML or vice versa." +msgstr "將收藏集 XML 轉換成 YAML,或是相反。" -#: src/as-validator-issue-tag.h:569 -#, fuzzy -msgid "The metainfo filename does not match the component ID." -msgstr "移除符合該組件 ID 的軟體。" +#. TRANSLATORS: `appstreamcli vercmp` command description. +#: tools/appstreamcli.c:1171 +msgid "Compare two version numbers." +msgstr "比較兩個版本號。" -#: src/as-validator-issue-tag.h:609 +#. TRANSLATORS: `appstreamcli new-template` command description. +#: tools/appstreamcli.c:1177 msgid "" -"The releases are not sorted in a latest to oldest version order. This is " -"required as some tools will assume that the latest version is always at the " -"top. Sorting releases also increases overall readability of the metainfo " -"file." -msgstr "" +"Create a template for a metainfo file (to be filled out by the upstream " +"project)." +msgstr "製作中介資訊檔的範本(由上游專案填寫)。" -#: src/as-validator-issue-tag.h:537 -msgid "The screenshot caption is too long (should be <= 80 characters)" +#. TRANSLATORS: `appstreamcli make-desktop-file` command description. +#: tools/appstreamcli.c:1182 +msgid "Create a desktop-entry file from a metainfo file." msgstr "" -#: src/as-validator-issue-tag.h:206 -msgid "The screenshot does not have a caption text. Consider adding one." +#. TRANSLATORS: `appstreamcli news-to-metainfo` command description. +#: tools/appstreamcli.c:1187 +msgid "Convert a YAML or text NEWS file into metainfo releases." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:218 -msgid "" -"The screenshot video does not specify which container format was used in a " -"'container' property." +#. TRANSLATORS: `appstreamcli metainfo-to-news` command description. +#: tools/appstreamcli.c:1192 +msgid "Write NEWS text or YAML file with information from a metainfo file." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:212 -msgid "" -"The screenshot video does not specify which video codec was used in a " -"'codec' property." +#. TRANSLATORS: `appstreamcli compose` command description. +#: tools/appstreamcli.c:1198 +msgid "Compose AppStream collection metadata from directory trees." msgstr "" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:224 -msgid "" -"The selected video codec is not supported by AppStream and software centers " -"may not be able to play the video. Only the AV1 and VP9 codecs are currently " -"supported, using 'av1' and 'vp9' as values for the 'codec' property." -msgstr "" +#. TRANSLATORS: ascli has been run without command. +#: tools/appstreamcli.c:1206 +msgid "You need to specify a command." +msgstr "您需要指定個指令。" + +#. TRANSLATORS: In ascli: The requested action needs higher permissions. +#: tools/ascli-actions-mdata.c:70 +msgid "You might need superuser permissions to perform this action." +msgstr "您也許需要超級使用者權利才能執行此動作。" + +#. we performed a cache refresh +#. TRANSLATORS: Updating the metadata cache succeeded +#: tools/ascli-actions-mdata.c:80 +msgid "AppStream cache update completed successfully." +msgstr "AppStream 快取更新成功完成。" + +#. cache wasn't updated, so the update wasn't necessary +#: tools/ascli-actions-mdata.c:86 +msgid "AppStream cache update is not necessary." +msgstr "不必更新 AppStream 快取。" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:231 -msgid "" -"The selected video container format is not supported by AppStream and " -"software centers may not be able to play the video. Only the WebM and " -"Matroska video containers are currently supported, using 'webm' and 'mkv' as " -"values for the 'container' property." -msgstr "" +#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments +#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. +#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:253 +#: tools/ascli-actions-pkgmgr.c:80 +msgid "You need to specify a component-ID." +msgstr "您需要指定組件 ID。" -#: src/as-validator-issue-tag.h:283 -#, fuzzy -msgid "" -"The set component type is not a recognized, valid AppStream component type." -msgstr "「%s」軟體組件類型在 AppStream 中無效。可用的值有:" +#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:265 +#: tools/ascli-actions-pkgmgr.c:93 +#, c-format +msgid "Unable to find component with ID '%s'!" +msgstr "找不到 ID 為「%s」的組件!" -#: src/as-validator-issue-tag.h:398 -msgid "" -"The set value is not an identifier for a desktop environment as registered " -"with Freedesktop.org." -msgstr "" +#: tools/ascli-actions-mdata.c:164 +msgid "You need to specify a term to search for." +msgstr "您需要指定個關鍵字來搜尋。" -#: tools/ascli-actions-mdata.c:449 +#. TRANSLATORS: We failed to find any component in the database, likely due to an error +#: tools/ascli-actions-mdata.c:177 #, c-format -msgid "" -"The software component type '%s' is not valid in AppStream. Possible values " -"are:" -msgstr "「%s」軟體組件類型在 AppStream 中無效。可用的值有:" +msgid "Unable to find component matching %s!" +msgstr "找不到符合 %s 的組件!" -#: src/as-validator-issue-tag.h:338 -msgid "The summary must not contain any URL. Use the tags for links." -msgstr "" +#: tools/ascli-actions-mdata.c:182 +#, c-format +msgid "No component matching '%s' found." +msgstr "找不到符合「%s」的組件。" -#: src/as-validator-issue-tag.h:640 -msgid "" -"The type of the item that the component provides is not known to AppStream." -msgstr "" +#: tools/ascli-actions-mdata.c:206 +msgid "No value for the item to search for was defined." +msgstr "要搜尋的項目未定義該值。" -#: src/as-validator-issue-tag.h:174 -msgid "" -"The update-contact does not appear to be a valid email address (escaping of " -"'@' is only allowed as '_at_' or '_AT_')." -msgstr "" +#: tools/ascli-actions-mdata.c:212 +msgid "Invalid type for provided item selected. Valid values are:" +msgstr "選取的供應項目類型無效。有效的值有:" -#: tools/ascli-actions-validate.c:363 tools/ascli-actions-validate.c:492 +#. TRANSLATORS: Search for provided items (e.g. mimetypes, modaliases, ..) yielded no results +#: tools/ascli-actions-mdata.c:227 #, c-format -msgid "" -"The validator can not create reports in the '%s' format. You may select " -"'yaml' or 'text' instead." -msgstr "" +msgid "Could not find component providing '%s::%s'." +msgstr "找不到提供「%s::%s」的組件。" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:410 -msgid "This 'bundle' tag has an unknown type and can not be used." -msgstr "" +#: tools/ascli-actions-mdata.c:306 +msgid "You need to specify a metadata file." +msgstr "您需要指定中介資料檔。" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:404 -msgid "This 'launchable' tag has an unknown type and can not be used." -msgstr "" +#: tools/ascli-actions-mdata.c:320 +#, fuzzy, c-format +msgid "Unable to install metadata file: %s" +msgstr "無法儲存桌面條目檔:%s" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:515 -msgid "" -"This 'localization' component does not define any languages this " -"localization is for." -msgstr "" +#: tools/ascli-actions-mdata.c:340 +msgid "You need to specify an input and output file." +msgstr "您需要指定輸入檔和輸出檔。" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:509 -msgid "" -"This 'localization' component is missing an 'extends' tag, to specify the " -"components it adds localization to." -msgstr "" +#: tools/ascli-actions-mdata.c:347 +#, c-format +msgid "Metadata file '%s' does not exist." +msgstr "「%s」中介資料檔並不存在。" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:521 +#. TRANSLATORS: User is trying to convert a file in ascli +#: tools/ascli-actions-mdata.c:387 msgid "" -"This 'service' component is missing a 'launchable' tag of type 'service'." -msgstr "" +"Unable to convert file: Could not determine output format, please set it " +"explicitly using '--format='." +msgstr "無法轉換檔案:無法判定輸出格式,請使用「--format=」明確設定。" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:473 -msgid "" -"This 'web-application' component is missing a 'icon' tag to specify a valid " -"icon." -msgstr "" +#: tools/ascli-actions-mdata.c:438 +#, fuzzy, c-format +msgid "Unable to find operating system component '%s'!" +msgstr "找不到 ID 為「%s」的組件!" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:467 -msgid "" -"This 'web-application' component is missing a 'launchable' tag of type 'url'." -msgstr "" +#: tools/ascli-actions-mdata.c:443 +#, fuzzy +msgid "Version" +msgstr "版本:%s" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:479 +#: tools/ascli-actions-mdata.c:467 msgid "" -"This 'web-application' component is missing categorizations. A 'categories' " -"block is likely missing." -msgstr "" +"You need to give an AppStream software component type to generate a " +"template. Possible values are:" +msgstr "您需要給予 AppStream 軟體組件類型以生成範本。可用的值有:" -#: src/as-validator-issue-tag.h:564 +#: tools/ascli-actions-mdata.c:469 +#, c-format msgid "" -"This XML document has an unknown root tag. Maybe this file is not a metainfo " -"document?" -msgstr "" +"The software component type '%s' is not valid in AppStream. Possible values " +"are:" +msgstr "「%s」軟體組件類型在 AppStream 中無效。可用的值有:" -#. TRANSLATORS: Additional help text for the 'new-template' ascli subcommand -#: tools/appstream-cli.c:680 -msgid "" -"This command takes optional TYPE and FILE positional arguments, FILE being a " -"file to write to (or \"-\" for standard output)." -msgstr "" -"這個指令會取用選填的 TYPE 和 FILE 位置引數,FILE 代表要寫入的檔案(或用「-」" -"表示標準輸出)。" +#: tools/ascli-actions-mdata.c:487 +#, c-format +msgid "The .desktop file '%s' does not exist." +msgstr "「%s」.desktop 檔並不存在。" -#: src/as-validator-issue-tag.h:622 -msgid "" -"This component extends, provides, requires or recommends itself, which is " -"certainly not intended and may confuse users or machines dealing with this " -"metadata." -msgstr "" +#: tools/ascli-actions-mdata.c:493 +#, c-format +msgid "Unable to read the .desktop file: %s" +msgstr "無法讀取 .desktop 檔:%s" -#: src/as-validator-issue-tag.h:579 -msgid "This component metadata refers to a non-existing .desktop file." -msgstr "" +#: tools/ascli-actions-mdata.c:564 +#, c-format +msgid "Unable to build the template metainfo file: %s" +msgstr "無法建置中介資訊檔:%s" -#: src/as-validator-issue-tag.h:69 -msgid "" -"This description paragraph contains invalid markup. Currently, only " -"and are permitted." -msgstr "" +#: tools/ascli-actions-mdata.c:572 +#, c-format +msgid "Unable to save the template metainfo file: %s" +msgstr "無法儲存範本中介資訊檔:%s" -#: src/as-validator-issue-tag.h:57 -msgid "" -"This element (paragraph, list, etc.) of a tag must not be " -"localized individually in collection metadata. Localize the whole " -" tag instead. The AppStream collection metadata generator (e." -"g. `appstream-generator`) will already do the right thing when compiling the " -"data." -msgstr "" +#. TRANSLATORS: In the status report of ascli: Header +#: tools/ascli-actions-misc.c:47 +msgid "AppStream Status:" +msgstr "AppStream 狀態:" -#: src/as-validator-issue-tag.h:455 -msgid "" -"This generic component is missing a long description. It may be useful to " -"add one." -msgstr "" +#: tools/ascli-actions-misc.c:48 +#, c-format +msgid "Version: %s" +msgstr "版本:%s" -#: src/as-validator-issue-tag.h:421 -msgid "" -"This tag is a GNOME-specific extension to AppStream and not part of the " -"official specification. Do not expect it to work in all implementations and " -"in all software centers." -msgstr "" +#. TRANSLATORS: In the status report of ascli: Refers to the metadata shipped by distributions +#: tools/ascli-actions-misc.c:52 +msgid "Distribution metadata:" +msgstr "散佈版中介資料:" -#: src/as-validator-issue-tag.h:41 -msgid "This tag requires a type property." -msgstr "" +#: tools/ascli-actions-misc.c:94 +msgid "Iconsets" +msgstr "圖示集" -#: data/org.freedesktop.appstream.cli.metainfo.xml:15 -msgid "" -"This tool allows for reading, writing, validating and transformation of " -"AppStream XML or YAML metadata. It also gives access to the system metadata " -"pool, for example to query for software that provides a specific MIME-type, " -"and installing it by its software component identifier." -msgstr "" -"本工具可以讀寫、驗證與變換 AppStream XML 或 YAML 中介資料;此外還能存取系統中" -"介資料池,搜尋諸如提供某特定 MIME 類型使用的軟體,並按照其軟體組件辨識碼安裝" -"等。" +#: tools/ascli-actions-misc.c:105 +msgid "No icons." +msgstr "無圖示。" -#: src/as-validator-issue-tag.h:388 -msgid "" -"This web link uses the FTP protocol. Consider switching to HTTP(S) instead." -msgstr "" +#. TRANSLATORS: No metainfo files have been found +#: tools/ascli-actions-misc.c:109 tools/ascli-actions-misc.c:129 +msgid "Empty." +msgstr "空的。" -#: tools/appstream-cli.c:648 -msgid "" -"Too many parameters: Need two version numbers or version numbers and a " -"comparison operator." -msgstr "過多參數:需要的只有兩個版本號,或是版號加比較操作符。" +#. TRANSLATORS: Info about upstream metadata / metainfo files in the ascli status report +#: tools/ascli-actions-misc.c:116 +msgid "Metainfo files:" +msgstr "中介資料檔:" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:461 -msgid "" -"Type 'console-application' component, but no information about binaries in " -"$PATH was provided via a 'provides/binary' tag." -msgstr "" +#: tools/ascli-actions-misc.c:123 +#, c-format +msgid "Found %i components." +msgstr "找到 %i 個組件。" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:491 -msgid "" -"Type 'driver' component, but no modalias information was provided via a " -"provides/modalias tag." -msgstr "" +#. TRANSLATORS: Found metainfo files in legacy directories +#: tools/ascli-actions-misc.c:138 +#, c-format +msgid "Found %i components in legacy paths." +msgstr "遺留路徑中找到 %i 個組件。" -#. TRANSLATORS: Please do not translate AppStream tag and property names. -#: src/as-validator-issue-tag.h:485 -msgid "" -"Type 'font' component, but no font information was provided via a 'provides/" -"font' tag." -msgstr "" +#. TRANSLATORS: Status summary in ascli +#: tools/ascli-actions-misc.c:145 +msgid "Summary:" +msgstr "摘要:" -#: src/as-validator.c:333 -msgid "URL format is invalid." -msgstr "" +#: tools/ascli-actions-misc.c:153 +#, c-format +msgid "We have information on %i software components." +msgstr "我們有 %i 個軟體組件的相關資訊。" -#: tools/ascli-actions-mdata.c:544 +#: tools/ascli-actions-misc.c:159 #, c-format -msgid "Unable to build the template metainfo file: %s" -msgstr "無法建置中介資訊檔:%s" +msgid "Error while loading the metadata pool: %s" +msgstr "載入中介資料集池時發生錯誤:%s" -#. TRANSLATORS: User is trying to convert a file in ascli -#: tools/ascli-actions-mdata.c:400 +#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 +msgid "You need to specify a metainfo file as input." +msgstr "您需要指定中介資訊檔作為輸入。" + +#: tools/ascli-actions-misc.c:188 msgid "" -"Unable to convert file: Could not determine output format, please set it " -"explicitly using '--format='." -msgstr "無法轉換檔案:無法判定輸出格式,請使用「--format=」明確設定。" +"You need to specify a desktop-entry file to create or augment as output." +msgstr "您需要指定個要建立的桌面條目檔或擴增為輸出。" -#. TRANSLATORS: We failed to find any component in the database, likely due to an error -#: tools/ascli-actions-mdata.c:177 +#: tools/ascli-actions-misc.c:198 tools/ascli-actions-misc.c:436 +#: tools/ascli-actions-misc.c:515 #, c-format -msgid "Unable to find component matching %s!" -msgstr "找不到符合 %s 的組件!" +msgid "Metainfo file '%s' does not exist." +msgstr "「%s」中介資訊檔不存在。" -#: tools/ascli-actions-mdata.c:144 tools/ascli-actions-mdata.c:266 -#: tools/ascli-actions-pkgmgr.c:93 +#: tools/ascli-actions-misc.c:219 #, c-format -msgid "Unable to find component with ID '%s'!" -msgstr "找不到 ID 為「%s」的組件!" +msgid "Augmenting existing desktop-entry file '%s' with data from '%s'." +msgstr "" #: tools/ascli-actions-misc.c:224 -#, fuzzy, c-format +#, c-format msgid "Unable to load existing desktop-entry file template: %s" -msgstr "無法讀取 .desktop 檔:%s" +msgstr "無法載入既有的 desktop-entry 檔模板:%s" -#: src/as-validator-issue-tag.h:356 -msgid "Unable to reach remote icon at the given web location - does it exist?" +#: tools/ascli-actions-misc.c:228 +#, c-format +msgid "Creating new desktop-entry file '%s' using data from '%s'" msgstr "" -#: src/as-validator-issue-tag.h:378 -msgid "" -"Unable to reach remote location that this URL references - does it exist?" +#: tools/ascli-actions-misc.c:284 +msgid "No stock icon name was provided in the metainfo file. Can not continue." msgstr "" -#: src/as-validator-issue-tag.h:179 +#: tools/ascli-actions-misc.c:306 msgid "" -"Unable to reach the screenshot image on its remote location - does the image " -"exist?" +"No provided binary specified in metainfo file, and no exec command specified " +"via '--exec'. Can not create 'Exec=' key." msgstr "" -#: src/as-validator-issue-tag.h:184 -msgid "" -"Unable to reach the screenshot video on its remote location - does the video " -"file exist?" -msgstr "" +#: tools/ascli-actions-misc.c:370 +#, c-format +msgid "Unable to save desktop entry file: %s" +msgstr "無法儲存桌面條目檔:%s" -#: src/as-validator-issue-tag.h:542 -#, fuzzy -msgid "Unable to read file." -msgstr "無法移除舊的快取。" +#: tools/ascli-actions-misc.c:393 +msgid "You need to specify a NEWS file as input." +msgstr "您需要指定 NEWS 檔作為輸入。" -#: src/as-validator-issue-tag.h:574 -#, fuzzy -msgid "Unable to read the .desktop file associated with this component." -msgstr "無法讀取 .desktop 檔:%s" +#: tools/ascli-actions-misc.c:397 +msgid "" +"You need to specify a metainfo file to augment, or '-' to print to stdout." +msgstr "您需要指定要擴增的中介資訊檔,或用「-」列印至 stdout。" -#: tools/ascli-actions-mdata.c:473 -#, c-format -msgid "Unable to read the .desktop file: %s" -msgstr "無法讀取 .desktop 檔:%s" +#: tools/ascli-actions-misc.c:402 +msgid "No output filename specified, modifying metainfo file directly." +msgstr "" -#: src/as-pool.c:606 -msgid "Unable to remove old cache." -msgstr "無法移除舊的快取。" +#: tools/ascli-actions-misc.c:509 +msgid "You need to specify a NEWS file as output, or '-' to print to stdout." +msgstr "您需要指定 NEWS 檔作為輸出,或是用「-」列印至 stdout。" -#: tools/ascli-actions-misc.c:370 -#, fuzzy, c-format -msgid "Unable to save desktop entry file: %s" -msgstr "無法讀取 .desktop 檔:%s" +#: tools/ascli-actions-misc.c:540 +msgid "You need to specify a NEWS format to write the output in." +msgstr "您需要指定 NEWS 格式以寫入輸出。" -#: tools/ascli-actions-mdata.c:552 -#, c-format -msgid "Unable to save the template metainfo file: %s" -msgstr "無法儲存範本中介資訊檔:%s" +#: tools/ascli-actions-pkgmgr.c:53 +msgid "" +"No suitable package manager CLI found. Please make sure that e.g. \"pkcon" +"\" (part of PackageKit) is available." +msgstr "" +"找不到適當的軟體包管理程式 CLI。例如請確認「pkcon」是否可以使用(PackageKit " +"的一部分)。" #: tools/ascli-actions-pkgmgr.c:67 #, c-format msgid "Unable to spawn package manager: %s" msgstr "無法多重啟動軟體包管理程式:%s" -#: tools/ascli-actions-mdata.c:322 +#. TRANSLATORS: We found no distribution package or bundle to install to make this software available +#: tools/ascli-actions-pkgmgr.c:106 #, c-format -msgid "Unable to write to '%s', can not install metainfo file." -msgstr "無法寫入「%s」,無法安裝中介資料檔。" +msgid "Component '%s' has no installation candidate." +msgstr "「%s」組件尚無安裝候選。" -#. TRANSLATORS: ascli has been run with unknown command. -#: tools/appstream-cli.c:1009 +#: tools/ascli-actions-validate.c:176 tools/ascli-actions-validate.c:354 #, c-format -msgid "Unknown command '%s'." -msgstr "未知指令「%s」。" +msgid "File '%s' does not exist." +msgstr "「%s」檔案不存在。" -#. * TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. -#: tools/appstream-cli.c:608 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "error"-type hints +#: tools/ascli-actions-validate.c:228 #, c-format -msgid "Unknown compare relation '%s'. Valid values are:" -msgstr "未知比較關係「%s」。有效的值有:" - -#. TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) -#: tools/appstream-cli.c:675 -msgid "" -"Use the given .desktop file to fill in the basic values of the metainfo file." -msgstr "使用給定的 .deskotp 檔以在中介資訊檔中填入基礎值。" - -#. TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) -#: tools/appstream-cli.c:725 -msgid "Use the specified line for the 'Exec=' key of the desktop-entry file." -msgstr "" - -#. TRANSLATORS: this is the menu spec main category for Utilities -#: src/as-category.c:329 -msgid "Utilities" -msgstr "公用程式" +msgid "errors: %lu" +msgstr "errors: %lu" -#: tools/appstream-cli.c:856 -msgid "Validate AppStream XML files for issues." -msgstr "驗證 AppStream XML 檔是否有問題。" +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "warning"-type hints +#: tools/ascli-actions-validate.c:235 +#, c-format +msgid "warnings: %lu" +msgstr "warnings: %lu" -#: tools/appstream-cli.c:857 -msgid "Validate an installed file-tree of an application for valid metadata." -msgstr "驗證已安裝應用程式的檔案樹是否存在有效的中介資料。" +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "info"-type hints +#: tools/ascli-actions-validate.c:242 +#, c-format +msgid "infos: %lu" +msgstr "infos: %lu" -#: tools/ascli-actions-validate.c:301 tools/ascli-actions-validate.c:442 +#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "pedantic"-type hints +#: tools/ascli-actions-validate.c:249 #, c-format -msgid "Validation failed: %s" -msgstr "驗證失敗:%s" +msgid "pedantic: %lu" +msgstr "pedantic: %lu" + +#: tools/ascli-actions-validate.c:268 tools/ascli-actions-validate.c:342 +msgid "You need to specify at least one file to validate!" +msgstr "您需要指定至少一個檔案作驗證!" -#: tools/ascli-actions-validate.c:289 tools/ascli-actions-validate.c:430 +#: tools/ascli-actions-validate.c:294 tools/ascli-actions-validate.c:435 msgid "Validation was successful." msgstr "驗證成功。" -#: tools/ascli-actions-validate.c:291 tools/ascli-actions-validate.c:432 +#: tools/ascli-actions-validate.c:296 tools/ascli-actions-validate.c:437 #, c-format msgid "Validation was successful: %s" msgstr "驗證成功:%s" -#: tools/appstream-cli.c:851 -msgid "Value of the item that should be found." -msgstr "應找到的項目值。" - -#: src/as-category.c:177 -msgctxt "Category of Graphics" -msgid "Vector Graphics" -msgstr "向量圖形" - -#: tools/ascli-actions-misc.c:48 +#: tools/ascli-actions-validate.c:306 tools/ascli-actions-validate.c:447 #, c-format -msgid "Version: %s" -msgstr "版本:%s" - -#: src/as-category.c:180 -msgctxt "Category of Graphics" -msgid "Viewers" -msgstr "檢視器" +msgid "Validation failed: %s" +msgstr "驗證失敗:%s" -#: tools/ascli-actions-misc.c:153 +#: tools/ascli-actions-validate.c:368 tools/ascli-actions-validate.c:497 #, c-format -msgid "We have information on %i software components." -msgstr "我們有 %i 個軟體組件的相關資訊。" - -#: src/as-category.c:270 -msgctxt "Category of Communication" -msgid "Web Browsers" -msgstr "網頁瀏覽器" - -#: src/as-category.c:202 -msgctxt "Category of Office" -msgid "Word Processor" -msgstr "文書處理器" - -#: tools/appstream-cli.c:871 -msgid "Write NEWS text or YAML file with information from a metainfo file." +msgid "" +"The validator can not create reports in the '%s' format. You may select " +"'yaml' or 'text' instead." msgstr "" -#: tools/appstream-cli.c:874 -msgid "" -"You can find information about subcommand-specific options by passing \"--" -"help\" to the subcommand." -msgstr "您可以藉由傳遞「--help」給子指令來查詢子指令專屬的選項資訊。" +#: tools/ascli-actions-validate.c:390 tools/ascli-actions-validate.c:484 +msgid "You need to specify a root directory to start validation!" +msgstr "您需要指定根基目錄才能開始驗證!" -#. TRANSLATORS: In ascli: The requested action needs higher permissions. -#: tools/ascli-actions-mdata.c:70 -msgid "You might need superuser permissions to perform this action." -msgstr "您也許需要超級使用者權利才能執行此動作。" +#: tools/ascli-utils.c:266 +msgid "Identifier" +msgstr "辨識碼" -#: tools/ascli-actions-mdata.c:447 -msgid "" -"You need to give an AppStream software component type to generate a " -"template. Possible values are:" -msgstr "您需要給予 AppStream 軟體組件類型以生成範本。可用的值有:" +#: tools/ascli-utils.c:268 +msgid "Internal ID" +msgstr "" -#: tools/appstream-cli.c:579 -msgid "" -"You need to provide at least two version numbers to compare as parameters." -msgstr "您需要提供至少兩個版本號作為參數比較。" +#: tools/ascli-utils.c:269 +msgid "Name" +msgstr "名稱" -#: tools/ascli-actions-misc.c:393 -#, fuzzy -msgid "You need to specify a NEWS file as input." -msgstr "您需要指定中介資料檔。" +#: tools/ascli-utils.c:270 +msgid "Summary" +msgstr "摘要" -#: tools/ascli-actions-misc.c:509 -#, fuzzy -msgid "You need to specify a NEWS file as output, or '-' to print to stdout." -msgstr "您需要指定中介資料檔。" +#: tools/ascli-utils.c:271 +msgid "Package" +msgstr "軟體包" -#: tools/ascli-actions-misc.c:540 -#, fuzzy -msgid "You need to specify a NEWS format to write the output in." -msgstr "您需要指定輸入檔和輸出檔。" +#: tools/ascli-utils.c:272 +msgid "Bundle" +msgstr "套組" -#. TRANSLATORS: ascli has been run without command. -#: tools/appstream-cli.c:925 -msgid "You need to specify a command." -msgstr "您需要指定個指令。" +#: tools/ascli-utils.c:273 +msgid "Homepage" +msgstr "首頁" -#. TRANSLATORS: An AppStream component-id is missing in the command-line arguments -#. TRANSLATORS: ascli was told to find a software component by its ID, but no component-id was specified. -#: tools/ascli-actions-mdata.c:132 tools/ascli-actions-mdata.c:254 -#: tools/ascli-actions-pkgmgr.c:80 -msgid "You need to specify a component-ID." -msgstr "您需要指定組件 ID。" +#: tools/ascli-utils.c:274 +msgid "Icon" +msgstr "圖示" -#: tools/ascli-actions-misc.c:188 -#, fuzzy -msgid "" -"You need to specify a desktop-entry file to create or augment as output." -msgstr "您需要指定個檔案來驗證!" +#. developer name +#: tools/ascli-utils.c:294 +msgid "Developer" +msgstr "開發者" -#: tools/ascli-actions-mdata.c:309 -msgid "You need to specify a metadata file." -msgstr "您需要指定中介資料檔。" +#: tools/ascli-utils.c:300 +msgid "Extends" +msgstr "擴展" -#: tools/ascli-actions-misc.c:184 tools/ascli-actions-misc.c:505 -#, fuzzy -msgid "You need to specify a metainfo file as input." -msgstr "您需要指定中介資料檔。" +#: tools/ascli-utils.c:306 +msgid "Description" +msgstr "描述" -#: tools/ascli-actions-misc.c:397 -#, fuzzy -msgid "" -"You need to specify a metainfo file to augment, or '-' to print to stdout." -msgstr "您需要指定中介資料檔。" +#: tools/ascli-utils.c:326 +msgid "Default Screenshot URL" +msgstr "預設螢幕快照 URL" -#: tools/ascli-actions-validate.c:385 tools/ascli-actions-validate.c:479 -msgid "You need to specify a root directory to start validation!" -msgstr "您需要指定根基目錄才能開始驗證!" +#. project group +#: tools/ascli-utils.c:333 +msgid "Project Group" +msgstr "專案群組" -#: tools/ascli-actions-mdata.c:164 -msgid "You need to specify a term to search for." -msgstr "您需要指定個關鍵字來搜尋。" +#. license +#: tools/ascli-utils.c:336 +msgid "License" +msgstr "授權條款" -#: tools/ascli-actions-mdata.c:357 -msgid "You need to specify an input and output file." -msgstr "您需要指定輸入檔和輸出檔。" +#: tools/ascli-utils.c:342 +msgid "Categories" +msgstr "類別" -#: tools/ascli-actions-validate.c:263 tools/ascli-actions-validate.c:337 -#, fuzzy -msgid "You need to specify at least one file to validate!" -msgstr "您需要指定個檔案來驗證!" +#: tools/ascli-utils.c:350 +msgid "Compulsory for" +msgstr "強制項目為" -#. TRANSLATORS: List of "grey-listed" words sperated with ";" -#. * Do not translate this list directly. Instead, -#. * provide a list of words in your language that people are likely -#. * to include in a search but that should normally be ignored in -#. * the search. -#. -#: src/as-pool.c:107 -msgid "app;application;package;program;programme;suite;tool" -msgstr "" -"app;application;package;program;programme;suite;tool;程式;應用程式;軟體包;套" -"件;套裝軟體;工具;公用程式" +#: tools/ascli-utils.c:378 +msgid "Provided Items" +msgstr "提供的項目" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:223 -#, c-format -msgid "errors: %lu" -msgstr "errors: %lu" +#, fuzzy, c-format +#~ msgid "Unable to open new cache file: %s" +#~ msgstr "無法讀取 .desktop 檔:%s" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:237 -#, c-format -msgid "infos: %lu" -msgstr "infos: %lu" +#~ msgid "" +#~ "AppStream is a cross-distribution specification to provide metadata about " +#~ "software components." +#~ msgstr "AppStream 是種跨散布版的規格,旨在提供軟體組件的中介資料。" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:244 #, c-format -msgid "pedantic: %lu" -msgstr "pedantic: %lu" +#~ msgid "Unable to write to '%s', can not install metainfo file." +#~ msgstr "無法寫入「%s」,無法安裝中介資料檔。" -#. TRANSLATORS: Used for small issue-statistics in appstreamcli-validate -#: tools/ascli-actions-validate.c:230 #, c-format -msgid "warnings: %lu" -msgstr "warnings: %lu" - -#~ msgid "Command '%s' is unknown." -#~ msgstr "指令「%s」未知。" - -#~ msgid "Do not use any caches when performing the request." -#~ msgstr "執行請求時不要使用任何快取。" - -#~ msgid "AppStream cache update failed." -#~ msgstr "AppStream 快取更新失敗。" - #~ msgid "" -#~ "AppStream data pool was loaded, but some metadata was ignored due to " -#~ "errors." -#~ msgstr "已載入 AppStrem 資料集池,但是有些中介資料因錯誤而忽略。" - -#~ msgid "Can not search for unknown component type." -#~ msgstr "無法搜尋未知的組件類型。" - -#, fuzzy -#~ msgid "Category of Education" -#~ msgstr "教育" - -#, fuzzy -#~ msgid "Category of Games" -#~ msgstr "類別" - -#, fuzzy -#~ msgid "Category of Office" -#~ msgstr "類別" - -#, fuzzy -#~ msgid "Category of Science" -#~ msgstr "類別" +#~ "Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' " +#~ "suffix." +#~ msgstr "無法複製「%s」:檔案沒有「.metainfo.xml」或「.appdata.xml」後綴字。" -#~ msgid "Extensions" -#~ msgstr "擴充套件" +#~ msgid "An item type (e.g. lib, bin, python3, …)" +#~ msgstr "項目類型(例:lib、bin、python3…等)" -#~ msgid "File %s not found or permission denied!" -#~ msgstr "找不到檔案 %s,或未獲得存取許可!" +#~ msgid "Get components which provide the given item." +#~ msgstr "取得提供指定項目的組件。" -#~ msgid "No component providing '%s::%s' found." -#~ msgstr "找不到供應「%s::%s」的組件。" +#, c-format +#~ msgid "Unknown command '%s'." +#~ msgstr "未知指令「%s」。" -#~ msgid "XDG Menu XML file '%s' is damaged." -#~ msgstr "XDG 選單 XML 檔案「%s」已損毀。" +#~ msgid "Value of the item that should be found." +#~ msgstr "應找到的項目值。" diff -Nru appstream-0.12.10/qt/component.cpp appstream-0.14.5/qt/component.cpp --- appstream-0.12.10/qt/component.cpp 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/qt/component.cpp 2021-08-28 20:15:28.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2016-2020 Matthias Klumpp + * Copyright (C) 2016-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -29,6 +29,7 @@ #include "icon.h" #include "screenshot.h" #include "release.h" +#include "relation.h" #include "bundle.h" #include "suggested.h" #include "contentrating.h" @@ -412,6 +413,11 @@ return as_component_has_category(m_cpt, qPrintable(category)); } +bool AppStream::Component::isMemberOfCategory(const AppStream::Category& category) const +{ + return as_component_is_member_of_category(m_cpt, category.asCategory()); +} + QStringList Component::extends() const { return valueWrap(as_component_get_extends(m_cpt)); @@ -440,6 +446,37 @@ as_component_add_addon(m_cpt, addon.asComponent()); } +QList Component::recommends() const +{ + QList res; + + auto recommends = as_component_get_recommends (m_cpt); + res.reserve(recommends->len); + for (uint i = 0; i < recommends->len; i++) { + auto rel = AS_RELATION (g_ptr_array_index (recommends, i)); + res.append(Relation(rel)); + } + return res; +} + +QList Component::requires() const +{ + QList res; + + auto requires = as_component_get_requires (m_cpt); + res.reserve(requires->len); + for (uint i = 0; i < requires->len; i++) { + auto rel = AS_RELATION (g_ptr_array_index (requires, i)); + res.append(Relation(rel)); + } + return res; +} + +void Component::addRelation(const Relation &relation) +{ + as_component_add_relation(m_cpt, relation.asRelation()); +} + QStringList AppStream::Component::languages() const { return valueWrap(as_component_get_languages(m_cpt)); @@ -641,6 +678,16 @@ return searchMatches; } +uint AppStream::Component::sortScore() const +{ + return as_component_get_sort_score(m_cpt); +} + +void AppStream::Component::setSortScore(uint score) +{ + as_component_set_sort_score(m_cpt, score); +} + AppStream::Component::MergeKind AppStream::Component::mergeKind() const { return static_cast(as_component_get_merge_kind(m_cpt)); @@ -701,9 +748,14 @@ as_component_add_content_rating(m_cpt, contentRating.asContentRating()); } -bool AppStream::Component::isMemberOfCategory(const AppStream::Category& category) const +QString Component::nameVariantSuffix() const { - return as_component_is_member_of_category(m_cpt, category.asCategory()); + return valueWrap(as_component_get_name_variant_suffix(m_cpt)); +} + +void Component::setNameVariantSuffix(const QString& variantSuffix, const QString& lang) +{ + as_component_set_name_variant_suffix(m_cpt, qPrintable(variantSuffix), lang.isEmpty()? NULL : qPrintable(lang)); } bool AppStream::Component::isIgnored() const diff -Nru appstream-0.12.10/qt/component.h appstream-0.14.5/qt/component.h --- appstream-0.12.10/qt/component.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/qt/component.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2016-2020 Matthias Klumpp + * Copyright (C) 2016-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -39,6 +39,7 @@ class Icon; class Screenshot; class Release; +class Relation; class Suggested; class ComponentData; @@ -47,7 +48,7 @@ * Describes a software component (application, driver, font, ...) */ class APPSTREAMQT_EXPORT Component { -Q_GADGET + Q_GADGET friend class Pool; public: enum Kind { @@ -181,6 +182,7 @@ QStringList categories() const; void addCategory(const QString& category); bool hasCategory(const QString& category) const; + bool isMemberOfCategory(const AppStream::Category& category) const; QStringList extends() const; void setExtends(const QStringList& extends); @@ -189,6 +191,10 @@ QList addons() const; void addAddon(const AppStream::Component& addon); + QList recommends() const; + QList requires() const; + void addRelation(const AppStream::Relation &relation); + QStringList languages() const; int language(const QString& locale) const; void addLanguage(const QString& locale, int percentage); @@ -233,6 +239,9 @@ uint searchMatches(const QString& term) const; uint searchMatchesAll(const QStringList& terms) const; + uint sortScore() const; + void setSortScore(uint score); + MergeKind mergeKind() const; void setMergeKind(MergeKind kind); @@ -244,7 +253,8 @@ AppStream::ContentRating contentRating(const QString& kind) const; void addContentRating(const AppStream::ContentRating& contentRating); - bool isMemberOfCategory(const AppStream::Category& category) const; + QString nameVariantSuffix() const; + void setNameVariantSuffix(const QString& variantSuffix, const QString& lang = {}); bool isIgnored() const; bool isValid() const; diff -Nru appstream-0.12.10/qt/launchable.cpp appstream-0.14.5/qt/launchable.cpp --- appstream-0.12.10/qt/launchable.cpp 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/qt/launchable.cpp 2021-08-28 20:15:28.000000000 +0000 @@ -125,6 +125,8 @@ QDebug operator<<(QDebug s, const AppStream::Launchable& launchable) { - s.nospace() << "AppStream::Launchable(" << launchable.entries() << ")"; + s.nospace() << "AppStream::Launchable(" + << Launchable::kindToString(launchable.kind()) << ":" + << launchable.entries() << ")"; return s.space(); } diff -Nru appstream-0.12.10/qt/launchable.h appstream-0.14.5/qt/launchable.h --- appstream-0.12.10/qt/launchable.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/qt/launchable.h 2021-08-28 20:15:28.000000000 +0000 @@ -44,14 +44,14 @@ Q_ENUM(Kind) Launchable(); - Launchable(_AsLaunchable* category); - Launchable(const Launchable& category); + Launchable(_AsLaunchable* launchable); + Launchable(const Launchable& launchable); ~Launchable(); static Kind stringToKind(const QString& kindString); static QString kindToString(Kind kind); - Launchable& operator=(const Launchable& category); + Launchable& operator=(const Launchable& launchable); bool operator==(const Launchable& r) const; /** @@ -70,7 +70,7 @@ }; } -APPSTREAMQT_EXPORT QDebug operator<<(QDebug s, const AppStream::Launchable& category); +APPSTREAMQT_EXPORT QDebug operator<<(QDebug s, const AppStream::Launchable& launchable); #endif // APPSTREAMQT_LAUNCHABLE_H diff -Nru appstream-0.12.10/qt/meson.build appstream-0.14.5/qt/meson.build --- appstream-0.12.10/qt/meson.build 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/qt/meson.build 2021-08-28 20:15:28.000000000 +0000 @@ -8,44 +8,46 @@ qt5_dep = dependency('qt5', modules: ['Core']) asqt_src = [ + 'bundle.cpp', 'category.cpp', 'component.cpp', - 'pool.cpp', - 'image.cpp', - 'video.cpp', - 'screenshot.cpp', + 'contentrating.cpp', 'icon.cpp', + 'image.cpp', + 'launchable.cpp', + 'metadata.cpp', + 'pool.cpp', 'provided.cpp', + 'relation.cpp', 'release.cpp', - 'bundle.cpp', + 'screenshot.cpp', + 'spdx.cpp', 'suggested.cpp', - 'contentrating.cpp', - 'launchable.cpp', 'translation.cpp', - 'metadata.cpp', - 'spdx.cpp', - 'utils.cpp' + 'utils.cpp', + 'video.cpp' ] asqt_pub_headers = [ 'appstreamqt_export.h', + 'bundle.h', 'category.h', 'component.h', - 'pool.h', - 'image.h', - 'video.h', - 'screenshot.h', + 'contentrating.h', 'icon.h', + 'image.h', + 'launchable.h', + 'metadata.h', + 'pool.h', 'provided.h', + 'relation.h', 'release.h', - 'bundle.h', + 'screenshot.h', + 'spdx.h', 'suggested.h', - 'contentrating.h', - 'launchable.h', 'translation.h', - 'metadata.h', - 'spdx.h', - 'utils.h' + 'utils.h', + 'video.h' ] asqt_priv_headers = [ @@ -69,11 +71,8 @@ soversion: asqt_api_level, version: as_version, dependencies: [qt5_dep, - glib_dep, - gobject_dep, + appstream_dep, gio_dep], - link_with: [appstream_lib], - include_directories: [appstream_lib_inc], cpp_args: asqt_cpp_args, install: true ) diff -Nru appstream-0.12.10/qt/metadata.cpp appstream-0.14.5/qt/metadata.cpp --- appstream-0.12.10/qt/metadata.cpp 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/qt/metadata.cpp 2021-08-28 20:15:28.000000000 +0000 @@ -54,6 +54,7 @@ return m_metadata; } + QString lastError; AsMetadata* m_metadata; }; @@ -139,7 +140,11 @@ as_metadata_parse_file(d->m_metadata, gFile, (AsFormatKind) format, &error); if (error != nullptr) { - return static_cast(error->code); + d->lastError = QString::fromUtf8(error->message); + if (error->domain == AS_METADATA_ERROR) + return static_cast(error->code); + else + return AppStream::Metadata::MetadataErrorFailed; } return AppStream::Metadata::MetadataErrorNoError; @@ -151,7 +156,11 @@ as_metadata_parse(d->m_metadata, qPrintable(data), (AsFormatKind) format, &error); if (error != nullptr) { - return static_cast(error->code); + d->lastError = QString::fromUtf8(error->message); + if (error->domain == AS_METADATA_ERROR) + return static_cast(error->code); + else + return AppStream::Metadata::MetadataErrorFailed; } return AppStream::Metadata::MetadataErrorNoError; @@ -163,7 +172,11 @@ as_metadata_parse_desktop_data(d->m_metadata, qPrintable(data), qPrintable(cid), &error); if (error != nullptr) { - return static_cast(error->code); + d->lastError = QString::fromUtf8(error->message); + if (error->domain == AS_METADATA_ERROR) + return static_cast(error->code); + else + return AppStream::Metadata::MetadataErrorFailed; } return AppStream::Metadata::MetadataErrorNoError; @@ -211,7 +224,11 @@ as_metadata_save_metainfo(d->m_metadata, qPrintable(fname), (AsFormatKind) format, &error); if (error != nullptr) { - return static_cast(error->code); + d->lastError = QString::fromUtf8(error->message); + if (error->domain == AS_METADATA_ERROR) + return static_cast(error->code); + else + return AppStream::Metadata::MetadataErrorFailed; } return AppStream::Metadata::MetadataErrorNoError; @@ -228,7 +245,11 @@ as_metadata_save_collection(d->m_metadata, qPrintable(collection), (AsFormatKind) format, &error); if (error != nullptr) { - return static_cast(error->code); + d->lastError = QString::fromUtf8(error->message); + if (error->domain == AS_METADATA_ERROR) + return static_cast(error->code); + else + return AppStream::Metadata::MetadataErrorFailed; } return AppStream::Metadata::MetadataErrorNoError; diff -Nru appstream-0.12.10/qt/metadata.h appstream-0.14.5/qt/metadata.h --- appstream-0.12.10/qt/metadata.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/qt/metadata.h 2021-08-28 20:15:28.000000000 +0000 @@ -132,6 +132,11 @@ QString architecture() const; void setArchitecture(const QString& architecture); + /** + * \return The last error message received. + */ + QString lastError() const; + private: QSharedDataPointer d; }; diff -Nru appstream-0.12.10/qt/pool.cpp appstream-0.14.5/qt/pool.cpp --- appstream-0.12.10/qt/pool.cpp 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/qt/pool.cpp 2021-08-28 20:15:28.000000000 +0000 @@ -48,10 +48,11 @@ QList res; res.reserve(cpts->len); for (uint i = 0; i < cpts->len; i++) { - auto cpt = AS_COMPONENT(g_ptr_array_index(cpts, i)); - Component x(cpt); - res.append(x); + auto ccpt = AS_COMPONENT(g_ptr_array_index(cpts, i)); + Component cpt(ccpt); + res.append(cpt); } + g_ptr_array_unref (cpts); return res; } @@ -124,12 +125,16 @@ return cptArrayToQList(as_pool_get_components_by_kind(d->pool, static_cast(kind))); } -QList Pool::componentsByCategories(const QStringList categories) const +QList Pool::componentsByCategories(const QStringList& categories) const { - // FIXME: Todo QList res; - //! return cptArrayToQList(as_pool_get_components_by_categories (d->pool, ); - return res; + g_autofree gchar **cats_strv = NULL; + + cats_strv = g_new0(gchar *, categories.size() + 1); + for (int i = 0; i < categories.size(); ++i) + cats_strv[i] = (gchar*) qPrintable(categories.at(i)); + + return cptArrayToQList(as_pool_get_components_by_categories (d->pool, cats_strv)); } QList Pool::componentsByLaunchable(Launchable::Kind kind, const QString& value) const @@ -178,3 +183,13 @@ { as_pool_set_cache_flags (d->pool, (AsCacheFlags) flags); } + +QString AppStream::Pool::cacheLocation() const +{ + return QString::fromUtf8(as_pool_get_cache_location(d->pool)); +} + +void Pool::setCacheLocation(const QString &location) +{ + as_pool_set_cache_location(d->pool, qPrintable(location)); +} diff -Nru appstream-0.12.10/qt/pool.h appstream-0.14.5/qt/pool.h --- appstream-0.12.10/qt/pool.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/qt/pool.h 2021-08-28 20:15:28.000000000 +0000 @@ -35,7 +35,7 @@ * See http://www.freedesktop.org/wiki/Distributions/AppStream/ for details */ class PoolPrivate; -class APPSTREAMQT_EXPORT Pool : QObject{ +class APPSTREAMQT_EXPORT Pool : public QObject { Q_OBJECT public: Pool(QObject *parent = nullptr); @@ -73,9 +73,9 @@ /** * \return true on success. False on failure - * - * Loads all available metadata and opens the cache. In case of an error, - * \sa lastError() will contain the error message. + * + * Loads all available metadata and opens the cache. In case of an error, + * \sa lastError() will contain the error message. */ bool load(); @@ -91,10 +91,10 @@ */ void clear(); - /** + /** * \return The last error message received. */ - QString lastError() const; + QString lastError() const; /** * Add a component to the pool. @@ -109,7 +109,7 @@ QList componentsByKind(Component::Kind kind) const; - QList componentsByCategories(const QStringList categories) const; + QList componentsByCategories(const QStringList& categories) const; QList componentsByLaunchable(Launchable::Kind kind, const QString& value) const; @@ -126,6 +126,9 @@ uint cacheFlags() const; void setCacheFlags(uint flags); + void setCacheLocation(const QString &path); + QString cacheLocation() const; + private: Q_DISABLE_COPY(Pool); QScopedPointer d; diff -Nru appstream-0.12.10/qt/provided.h appstream-0.14.5/qt/provided.h --- appstream-0.12.10/qt/provided.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/qt/provided.h 2021-08-28 20:15:28.000000000 +0000 @@ -59,7 +59,8 @@ KindDBusSystemService, KindDBusUserService, KindFirmwareRuntime, - KindFirmwareFlashed + KindFirmwareFlashed, + KindId, }; Q_ENUM(Kind) diff -Nru appstream-0.12.10/qt/relation.cpp appstream-0.14.5/qt/relation.cpp --- appstream-0.12.10/qt/relation.cpp 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/qt/relation.cpp 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,276 @@ +/* + * Copyright (C) 2021 Matthias Klumpp + * + * Licensed under the GNU Lesser General Public License Version 2.1 + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 2.1 of the license, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +#include "appstream.h" +#include "relation.h" + +#include +#include "chelpers.h" + +using namespace AppStream; + +class AppStream::RelationData : public QSharedData { +public: + RelationData() + { + m_relation = as_relation_new(); + } + + RelationData(AsRelation* cat) : m_relation(cat) + { + g_object_ref(m_relation); + } + + ~RelationData() + { + g_object_unref(m_relation); + } + + bool operator==(const RelationData& rd) const + { + return rd.m_relation == m_relation; + } + + AsRelation *relation() const + { + return m_relation; + } + + QString lastError; + AsRelation* m_relation; +}; + + +QString Relation::kindToString(Relation::Kind kind) +{ + return QString::fromUtf8(as_relation_kind_to_string(static_cast(kind))); +} + +Relation::Kind Relation::stringToKind(const QString &string) +{ + return static_cast(as_relation_kind_from_string(qPrintable(string))); +} + +QString Relation::itemKindToString(Relation::ItemKind ikind) +{ + return QString::fromUtf8(as_relation_item_kind_to_string(static_cast(ikind))); +} + +Relation::ItemKind Relation::stringToItemKind(const QString &string) +{ + return static_cast(as_relation_item_kind_from_string(qPrintable(string))); +} + +Relation::Compare Relation::stringToCompare(const QString &string) +{ + return static_cast(as_relation_compare_from_string(qPrintable(string))); +} + +QString Relation::compareToString(Relation::Compare cmp) +{ + return QString::fromUtf8(as_relation_compare_to_string(static_cast(cmp))); +} + +QString Relation::compareToSymbolsString(Relation::Compare cmp) +{ + return QString::fromUtf8(as_relation_compare_to_symbols_string(static_cast(cmp))); +} + +QString Relation::controlKindToString(Relation::ControlKind ckind) +{ + return QString::fromUtf8(as_control_kind_to_string(static_cast(ckind))); +} + +Relation::ControlKind Relation::controlKindFromString(const QString &string) +{ + return static_cast(as_control_kind_from_string(qPrintable(string))); +} + +QString Relation::displaySideKindToString(Relation::DisplaySideKind kind) +{ + return QString::fromUtf8(as_display_side_kind_to_string(static_cast(kind))); +} + +Relation::DisplaySideKind Relation::stringToDisplaySideKind(const QString &string) +{ + return static_cast(as_display_side_kind_from_string(qPrintable(string))); +} + +QString Relation::displayLengthKindToString(Relation::DisplayLengthKind kind) +{ + return QString::fromUtf8(as_display_length_kind_to_string(static_cast(kind))); +} + +Relation::DisplayLengthKind Relation::stringToDisplayLengthKind(const QString &string) +{ + return static_cast(as_display_length_kind_from_string(qPrintable(string))); +} + +Relation::Relation() + : d(new RelationData) +{} + +Relation::Relation(_AsRelation* relation) + : d(new RelationData(relation)) +{} + +Relation::Relation(const Relation &relation) = default; + +Relation::~Relation() = default; + +Relation& Relation::operator=(const Relation &relation) = default; + +bool Relation::operator==(const Relation &other) const +{ + if(this->d == other.d) { + return true; + } + if(this->d && other.d) { + return *(this->d) == *other.d; + } + return false; +} + +_AsRelation* AppStream::Relation::asRelation() const +{ + return d->relation(); +} + +QDebug operator<<(QDebug s, const AppStream::Relation& relation) +{ + s.nospace() << "AppStream::Relation(" + << Relation::kindToString(relation.kind()) << ":" + << Relation::itemKindToString(relation.itemKind()) << ":" + << relation.valueStr() << ")"; + return s.space(); +} + +Relation::Kind Relation::kind() const +{ + return static_cast(as_relation_get_kind (d->relation())); +} + +void Relation::setKind(Relation::Kind kind) +{ + as_relation_set_kind(d->relation(), static_cast(kind)); +} + +Relation::ItemKind Relation::itemKind() const +{ + return static_cast(as_relation_get_item_kind (d->relation())); +} + +void Relation::setItemKind(Relation::ItemKind kind) +{ + as_relation_set_item_kind(d->relation(), static_cast(kind)); +} + +Relation::Compare Relation::compare() const +{ + return static_cast(as_relation_get_compare (d->relation())); +} + +void Relation::setCompare(Relation::Compare compare) +{ + as_relation_set_compare(d->relation(), static_cast(compare)); +} + +QString Relation::version() const +{ + return valueWrap(as_relation_get_version(d->relation())); +} + +void Relation::setVersion(const QString &version) +{ + as_relation_set_version(d->relation(), qPrintable(version)); +} + +QString Relation::valueStr() const +{ + return valueWrap(as_relation_get_value_str(d->relation())); +} + +void Relation::setValueStr(const QString &value) +{ + as_relation_set_value_str(d->relation(), qPrintable(value)); +} + +int Relation::valueInt() const +{ + return as_relation_get_value_int(d->relation()); +} + +void Relation::setValueInt(int value) +{ + as_relation_set_value_int(d->relation(), value); +} + +Relation::ControlKind Relation::valueControlKind() const +{ + return static_cast(as_relation_get_value_control_kind(d->relation())); +} + +void Relation::setValueControlKind(Relation::ControlKind kind) +{ + as_relation_set_value_control_kind(d->relation(), static_cast(kind)); +} + +Relation::DisplaySideKind Relation::displaySideKind() const +{ + return static_cast(as_relation_get_display_side_kind(d->relation())); +} + +void Relation::setDisplaySideKind(Relation::DisplaySideKind kind) +{ + as_relation_set_display_side_kind(d->relation(), static_cast(kind)); +} + +int Relation::valuePx() const +{ + return as_relation_get_value_px(d->relation()); +} + +void Relation::setValuePx(int logicalPx) +{ + as_relation_set_value_px(d->relation(), logicalPx); +} + +Relation::DisplayLengthKind Relation::valueDisplayLengthKind() const +{ + return static_cast(as_relation_get_value_display_length_kind(d->relation())); +} + +void Relation::setValueDisplayLengthKind(Relation::DisplayLengthKind kind) +{ + as_relation_set_value_display_length_kind(d->relation(), static_cast(kind)); +} + +bool Relation::versionCompare(const QString &version) +{ + g_autoptr(GError) error = NULL; + bool ret = as_relation_version_compare(d->relation(), qPrintable(version), &error); + if (!ret && error) + d->lastError = QString::fromUtf8(error->message); + return ret; +} + +QString Relation::lastError() const +{ + return d->lastError; +} diff -Nru appstream-0.12.10/qt/relation.h appstream-0.14.5/qt/relation.h --- appstream-0.12.10/qt/relation.h 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/qt/relation.h 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,170 @@ +/* + * Copyright (C) 2021 Matthias Klumpp + * + * Licensed under the GNU Lesser General Public License Version 2.1 + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 2.1 of the license, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +#pragma once + +#include +#include +#include +#include "appstreamqt_export.h" + +struct _AsRelation; + +namespace AppStream { + +class RelationData; + +/** + * Description of relations a software component has with other components and entities. + */ +class APPSTREAMQT_EXPORT Relation { + Q_GADGET + public: + enum Kind { + KindUnknown, + KindRequires, + KindRecommends + }; + Q_ENUM(Kind) + + enum ItemKind { + ItemKindUnknown, + ItemKindId, + ItemKindModalias, + ItemKindKernel, + ItemKindMemory, + ItemKindFirmware, + ItemKindControl, + ItemKindDisplayLength + }; + Q_ENUM(ItemKind) + + enum Compare { + CompareUnknown, + CompareEq, + CompareNe, + CompareLt, + CompareGt, + CompareLe, + CompareGe + }; + Q_ENUM(Compare) + + enum ControlKind { + ControlKindUnknown, + ControlKindPointing, + ControlKindKeyboard, + ControlKindConsole, + ControlKindTouch, + ControlKindGamepad, + ControlKindVoice, + ControlKindVision, + ControlKindTvRemote + }; + Q_ENUM(ControlKind) + + enum DisplaySideKind { + DisplaySideKindUnknown, + DisplaySideKindShortest, + DisplaySideKindLongest + }; + Q_ENUM(DisplaySideKind) + + enum DisplayLengthKind { + DisplayLengthKindUnknown, + DisplayLengthKindXSmall, + DisplayLengthKindSmall, + DisplayLengthKindMedium, + DisplayLengthKindLarge, + DisplayLengthKindXLarge + }; + Q_ENUM(DisplayLengthKind) + + static QString kindToString(Kind kind); + static Kind stringToKind(const QString &string); + + static QString itemKindToString(ItemKind ikind); + static ItemKind stringToItemKind(const QString &string); + + static Compare stringToCompare(const QString &string); + static QString compareToString(Compare cmp); + static QString compareToSymbolsString(Compare cmp); + + static QString controlKindToString(ControlKind ckind); + static ControlKind controlKindFromString(const QString &string); + + static QString displaySideKindToString(DisplaySideKind kind); + static DisplaySideKind stringToDisplaySideKind(const QString &string); + + static QString displayLengthKindToString(DisplayLengthKind kind); + static DisplayLengthKind stringToDisplayLengthKind(const QString &string); + + Relation(); + Relation(_AsRelation* relation); + Relation(const Relation& relation); + ~Relation(); + + Relation& operator=(const Relation& relation); + bool operator==(const Relation& r) const; + + /** + * \returns the internally stored AsRelation + */ + _AsRelation *asRelation() const; + + Kind kind() const; + void setKind(Kind kind); + + ItemKind itemKind() const; + void setItemKind(ItemKind kind); + + Compare compare() const; + void setCompare(Compare compare); + + QString version() const; + void setVersion(const QString &version); + + QString valueStr() const; + void setValueStr(const QString &value); + + int valueInt() const; + void setValueInt(int value); + + ControlKind valueControlKind() const; + void setValueControlKind(ControlKind kind); + + DisplaySideKind displaySideKind() const; + void setDisplaySideKind(DisplaySideKind kind); + + int valuePx() const; + void setValuePx(int logicalPx); + + DisplayLengthKind valueDisplayLengthKind() const; + void setValueDisplayLengthKind(DisplayLengthKind kind); + + bool versionCompare(const QString &version); + + QString lastError() const; + + private: + QSharedDataPointer d; +}; +} + +APPSTREAMQT_EXPORT QDebug operator<<(QDebug s, const AppStream::Relation& relation); diff -Nru appstream-0.12.10/qt/tests/asqt-pool-test.cpp appstream-0.14.5/qt/tests/asqt-pool-test.cpp --- appstream-0.12.10/qt/tests/asqt-pool-test.cpp 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/qt/tests/asqt-pool-test.cpp 2021-08-28 20:15:28.000000000 +0000 @@ -34,7 +34,7 @@ void PoolReadTest::testRead01() { // set up the data pool to read our sample data, without localization - auto pool = new Pool(); + auto pool = std::make_unique(); pool->clearMetadataLocations(); pool->addMetadataLocation(AS_SAMPLE_DATA_PATH); @@ -62,8 +62,6 @@ QVERIFY(!cpt.id().isEmpty()); QCOMPARE(cpt.name(), QLatin1String("Neverball")); - - delete pool; } QTEST_MAIN(PoolReadTest) diff -Nru appstream-0.12.10/qt/utils.cpp appstream-0.14.5/qt/utils.cpp --- appstream-0.12.10/qt/utils.cpp 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/qt/utils.cpp 2021-08-28 20:15:28.000000000 +0000 @@ -30,11 +30,19 @@ QString AppStream::Utils::currentAppStreamVersion() { - return QString::fromUtf8(as_get_appstream_version()); + return QString::fromUtf8(as_version_string()); } +int AppStream::Utils::vercmpSimple(const QString &a, const QString &b) +{ + return as_vercmp (qPrintable(a), qPrintable(b), AS_VERCMP_FLAG_NONE); +} int AppStream::Utils::compareVersions(const QString &a, const QString &b) { - return as_utils_compare_versions (qPrintable(a), qPrintable(b)); + gint r; + r = as_vercmp (qPrintable(a), qPrintable(b), AS_VERCMP_FLAG_NONE); + if (r == 0) + return 0; + return (r < 0)? -1 : 1; } diff -Nru appstream-0.12.10/qt/utils.h appstream-0.14.5/qt/utils.h --- appstream-0.12.10/qt/utils.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/qt/utils.h 2021-08-28 20:15:28.000000000 +0000 @@ -31,6 +31,11 @@ APPSTREAMQT_EXPORT QString currentAppStreamVersion(); +APPSTREAMQT_EXPORT int vercmpSimple(const QString &a, const QString &b); + +/* DEPRECATED */ + +Q_DECL_DEPRECATED APPSTREAMQT_EXPORT int compareVersions(const QString &a, const QString &b); } diff -Nru appstream-0.12.10/README.md appstream-0.14.5/README.md --- appstream-0.12.10/README.md 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/README.md 2021-08-28 20:15:28.000000000 +0000 @@ -1,54 +1,71 @@ AppStream ========= + -AppStream is a cross-distro effort for providing metadata for software in the (Linux) ecosystem. It provides a convenient way -to get information about not installed software, and is one of the building blocks for software centers. -It consists of specifications for things like upstream metainfo files, an unified software metadata pool for distributors, -screenshot services and various other useful bits needed to create user-friendly software-centers or other tools requiring -rich metadata for software and other content. +AppStream is a collaborative effort for making machine-readable software metadata easily available to programs that need it. +It is part of the Freedesktop ecosystem and provides a convenient way to retrieve information about available software, +making it one of the building blocks for modern software centers. + +AppStream consists of a specification to describe individual software component metadata in XML (so-called MetaInfo files), as well as +a derived specification for a metadata-collection format to provide a list of these metadata entries in XML or YAML for easy +consumption by software centers and other tools which need to know about available software in a repository. +In addition to the metadata specification, AppStream specifies a set of related features to help providing better metadata for software +repositories (primarily in Linux distributions). +This reference implementation of AppStream provides a shared library to work with these metadata files, features to index and query their +data quickly, as well as other useful related functionality to make building programs which work with software metadata very easy. This repository contains: * the AppStream specification - * the `appstreamcli` utility to access metadata, manipulate caches, show diagnostic information, etc. (see `man appstreamcli`) - * a GLib/GObject based library for reading and writing AppStream metadata in XML and YAML, accessing the system data pool, and for various other useful methods. - * a Qt5 based library for accessing AppStream. - -![AppStream Architecture](docs/sources/images/architecture-small.png "AppStream Architecture") + * the `appstreamcli` utility to access and edit metadata, manipulate caches, show diagnostic information, etc. (see `man appstreamcli`) + * a GLib/GObject based library for reading and writing AppStream metadata in XML and YAML, accessing the system data pool, and auxiliary functionality + * a Qt5 based library for accessing AppStream ## Useful Links -[AppStream Documentation](http://www.freedesktop.org/software/appstream/docs/) - The AppStream specification and help -[Releases](http://www.freedesktop.org/software/appstream/releases/) - All releases of AppStream -[AppStream on Freedesktop](http://www.freedesktop.org/wiki/Distributions/AppStream/) - The original Freedesktop.org page +[AppStream Documentation](https://www.freedesktop.org/software/appstream/docs/) - The AppStream specification and help +[Releases](https://www.freedesktop.org/software/appstream/releases/) - All (signed) releases of AppStream +[AppStream on Freedesktop](https://www.freedesktop.org/wiki/Distributions/AppStream/) - The original Freedesktop.org page For help and development discussion, check out the [AppStream mailinglist](https://lists.freedesktop.org/mailman/listinfo/appstream). -If you are looking for a way to generate distribution AppStream metadata for a package repository, -you may want to take a look at [appstream-generator](https://github.com/ximion/appstream-generator). +## Users + +If you are an upstream application author and want to add a MetaInfo file to your application, check out the +[Quickstart Guides](https://www.freedesktop.org/software/appstream/docs/chap-Quickstart.html) in the documentation. +An even quicker way to get to your metadata is using the [MetaInfo Creator](https://www.freedesktop.org/software/appstream/metainfocreator/) +web application. You can check out its source code [here](https://github.com/ximion/metainfocreator). + +If you are a (Linux) distributor or owner of a software repository you want to generate AppStream Collection Metadata for, +you may want to take a look at the [AppStream Generator](https://github.com/ximion/appstream-generator) project. ## Developers -[![Build Status](https://travis-ci.org/ximion/appstream.svg?branch=master)](https://travis-ci.org/ximion/appstream) +![Build Test](https://github.com/ximion/appstream/workflows/Build%20Test/badge.svg) [![Translation status](https://hosted.weblate.org/widgets/appstream/-/svg-badge.svg)](https://hosted.weblate.org/engage/appstream/?utm_source=widget) ### Dependencies #### Required - * Meson (>= 0.42) - * glib2 (>= 2.54) + * Meson (>= 0.48) + * glib2 (>= 2.58) * GObject-Introspection * libxml2 * libyaml + * libcurl (>= 7.62) * LMDB #### Optional * Vala Compiler (vapigen) (for Vala VAPI file) - * [Snowball](http://snowballstem.org/download.html) (for stemming support) - -#### Documentation / Specification - * Publican + * [Snowball](https://snowballstem.org/download.html) (for stemming support) #### Qt (for libappstream-qt) * Qt5 Core +#### Documentation / Specification + * [DAPS](https://github.com/openSUSE/daps) + +If you are using the released tarballs, the HTML documentation will be prebuilt and DAPS, which is a heavy +dependency, is not required to make it available locally. Of course, AppStream doesn't need the documentation +to function, so it can even be built completely without it. + ### Build instructions To compile AppStream, make sure that you have all required libraries (development files!) installed. @@ -65,7 +82,7 @@ Possible AppStream-specific flags are: -Dqt=true -- Build the Qt interface library (default: false) -Dvapi=true -- Build Vala API to use the library with the Vala programming language (default: false) - -Ddocs=true -- Build specification and other documentation, requires Publican (default: false) + -Ddocs=true -- Build specification and other documentation, requires DAPS (default: false) -Dinstall-docs=true -- Install documentation (default: true) -Dmaintainer=true -- Enable strict compiler options - use this if you write a patch for AppStream (default: false) -Dstemming=true -- Enable support for stemming in fulltext searches (default: true) diff -Nru appstream-0.12.10/RELEASE appstream-0.14.5/RELEASE --- appstream-0.12.10/RELEASE 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/RELEASE 2021-08-28 20:15:28.000000000 +0000 @@ -2,12 +2,12 @@ 1. Write NEWS entries for AppStream in the same format as usual. -git shortlog v0.12.9.. | grep -i -v trivial | grep -v Merge > NEWS.new +git shortlog v0.14.4.. | grep -i -v trivial | grep -v Merge > NEWS.new -------------------------------------------------------------------------------- -Version 0.12.10 +Version 0.14.5 ~~~~~~~~~~~~~~ -Released: 2019-xx-xx +Released: 2021-xx-xx Notes: @@ -16,18 +16,20 @@ Specification: Bugfixes: + +Contributors: -------------------------------------------------------------------------------- 2. Update library version if new ABI or API in meson.build 3. Commit changes in AppStream git: -git commit -a -m "Release version 0.12.10" -git tag -s -f -m "Release 0.12.10" v0.12.10 +git commit -a -m "Release version 0.14.5" +git tag -s -f -m "Release 0.14.5" v0.14.5 git push --tags git push -4. run './release.sh --version=0.12.10 --git-tag=v0.12.10 --sign' +4. run './release.sh --version=0.14.5 --git-tag=v0.14.5 --sign' 5. Upload tarball: scp -r *.tar.xz* annarchy.freedesktop.org:/srv/www.freedesktop.org/www/software/appstream/releases/ @@ -44,7 +46,7 @@ 9. Send an email to appstream@lists.freedesktop.org ================================================= -AppStream 0.12.10 released! +AppStream 0.14.5 released! Tarballs available here: https://www.freedesktop.org/software/appstream/releases/ diff -Nru appstream-0.12.10/src/appstream.gresource.xml appstream-0.14.5/src/appstream.gresource.xml --- appstream-0.12.10/src/appstream.gresource.xml 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/appstream.gresource.xml 2021-08-28 20:15:28.000000000 +0000 @@ -5,6 +5,10 @@ iana-filtered-tld-list.txt desktop-environments.txt spdx-license-ids.txt + spdx-free-license-ids.txt spdx-license-exception-ids.txt + platform_arch.txt + platform_os.txt + platform_env.txt diff -Nru appstream-0.12.10/src/appstream.h appstream-0.14.5/src/appstream.h --- appstream-0.12.10/src/appstream.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/appstream.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2012-2020 Matthias Klumpp + * Copyright (C) 2012-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -22,13 +22,12 @@ #define __APPSTREAM_H #define __APPSTREAM_H_INSIDE__ -#ifdef __cplusplus -extern "C" { -#endif +#include #include #include #include +#include #include #include #include @@ -48,16 +47,15 @@ #include #include #include +#include #include #include #include +#include #include -#ifdef __cplusplus -}; -#endif #undef __APPSTREAM_H_INSIDE__ #endif /* __APPSTREAM_H */ diff -Nru appstream-0.12.10/src/as-agreement.c appstream-0.14.5/src/as-agreement.c --- appstream-0.12.10/src/as-agreement.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-agreement.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,7 +1,7 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * * Copyright (C) 2018 Richard Hughes - * Copyright (C) 2018-2020 Matthias Klumpp + * Copyright (C) 2018-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -31,10 +31,11 @@ */ #include "config.h" - #include "as-agreement-private.h" #include "as-agreement-section-private.h" +#include "as-utils-private.h" + typedef struct { AsAgreementKind kind; gchar *version_id; @@ -185,9 +186,7 @@ as_agreement_set_version_id (AsAgreement *agreement, const gchar *version_id) { AsAgreementPrivate *priv = GET_PRIVATE (agreement); - - g_free (priv->version_id); - priv->version_id = g_strdup (version_id); + as_assign_string_safe (priv->version_id, version_id); } /** @@ -196,7 +195,7 @@ * * Gets all the sections in the agreement. * - * Returns: (transfer container) (element-type AsAgreementSection): array + * Returns: (transfer none) (element-type AsAgreementSection): array * * Since: 0.12.1 **/ diff -Nru appstream-0.12.10/src/as-agreement.h appstream-0.14.5/src/as-agreement.h --- appstream-0.12.10/src/as-agreement.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-agreement.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2018-2020 Matthias Klumpp + * Copyright (C) 2018-2021 Matthias Klumpp * Copyright (C) 2018 Richard Hughes * * Licensed under the GNU Lesser General Public License Version 2.1 diff -Nru appstream-0.12.10/src/as-agreement-private.h appstream-0.14.5/src/as-agreement-private.h --- appstream-0.12.10/src/as-agreement-private.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-agreement-private.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2018-2020 Matthias Klumpp + * Copyright (C) 2018-2021 Matthias Klumpp * Copyright (C) 2018 Richard Hughes * * Licensed under the GNU Lesser General Public License Version 2.1 diff -Nru appstream-0.12.10/src/as-agreement-section.c appstream-0.14.5/src/as-agreement-section.c --- appstream-0.12.10/src/as-agreement-section.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-agreement-section.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,7 +1,7 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * * Copyright (C) 2018 Richard Hughes - * Copyright (C) 2018-2020 Matthias Klumpp + * Copyright (C) 2018-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -70,8 +70,12 @@ { AsAgreementSectionPrivate *priv = GET_PRIVATE (agreement_section); - priv->name = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free); - priv->description = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free); + priv->name = g_hash_table_new_full (g_str_hash, g_str_equal, + (GDestroyNotify) as_ref_string_release, + g_free); + priv->description = g_hash_table_new_full (g_str_hash, g_str_equal, + (GDestroyNotify) as_ref_string_release, + g_free); } static void @@ -268,9 +272,7 @@ as_agreement_section_set_active_locale (AsAgreementSection *agreement_section, const gchar *locale) { AsAgreementSectionPrivate *priv = GET_PRIVATE (agreement_section); - - g_free (priv->active_locale_override); - priv->active_locale_override = g_strdup (locale); + as_assign_string_safe (priv->active_locale_override, locale); } /** diff -Nru appstream-0.12.10/src/as-agreement-section.h appstream-0.14.5/src/as-agreement-section.h --- appstream-0.12.10/src/as-agreement-section.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-agreement-section.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,7 +1,7 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * * Copyright (C) 2018 Richard Hughes - * Copyright (C) 2018-2020 Matthias Klumpp + * Copyright (C) 2018-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * diff -Nru appstream-0.12.10/src/as-agreement-section-private.h appstream-0.14.5/src/as-agreement-section-private.h --- appstream-0.12.10/src/as-agreement-section-private.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-agreement-section-private.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2018-2020 Matthias Klumpp + * Copyright (C) 2018-2021 Matthias Klumpp * Copyright (C) 2018 Richard Hughes * * Licensed under the GNU Lesser General Public License Version 2.1 diff -Nru appstream-0.12.10/src/as-artifact.c appstream-0.14.5/src/as-artifact.c --- appstream-0.12.10/src/as-artifact.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-artifact.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2018-2020 Matthias Klumpp + * Copyright (C) 2018-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -30,6 +30,7 @@ #include "config.h" #include "as-artifact.h" #include "as-checksum-private.h" +#include "as-utils-private.h" typedef struct { @@ -38,8 +39,9 @@ GPtrArray *locations; GPtrArray *checksums; guint64 size[AS_SIZE_KIND_LAST]; + gchar *filename; - gchar *platform; + GRefString *platform; AsBundleKind bundle_kind; } AsArtifactPrivate; @@ -129,6 +131,8 @@ AsArtifact *artifact = AS_ARTIFACT (object); AsArtifactPrivate *priv = GET_PRIVATE (artifact); + g_free (priv->filename); + as_ref_string_release (priv->platform); g_ptr_array_unref (priv->locations); g_ptr_array_unref (priv->checksums); @@ -320,8 +324,7 @@ as_artifact_set_platform (AsArtifact *artifact, const gchar *platform) { AsArtifactPrivate *priv = GET_PRIVATE (artifact); - g_free (priv->platform); - priv->platform = g_strdup (platform); + as_ref_string_assign_safe (&priv->platform, platform); } /** @@ -354,6 +357,36 @@ } /** + * as_artifact_get_filename: + * @artifact: a #AsArtifact instance. + * + * Gets a suggested filename for the downloaded artifact, + * or %NULL if none is suggested. + * + * Returns: The platform triplet or identifier string. + **/ +const gchar* +as_artifact_get_filename (AsArtifact *artifact) +{ + AsArtifactPrivate *priv = GET_PRIVATE (artifact); + return priv->filename; +} + +/** + * as_artifact_set_filename: + * @artifact: a #AsArtifact instance. + * @filename: the file name suggestion. + * + * Sets a suggested filename for this artifact after it has been downloaded. + **/ +void +as_artifact_set_filename (AsArtifact *artifact, const gchar *filename) +{ + AsArtifactPrivate *priv = GET_PRIVATE (artifact); + as_assign_string_safe (priv->filename, filename); +} + +/** * as_artifact_load_from_xml: * @artifact: a #AsArtifact instance. * @ctx: the AppStream document context. @@ -368,8 +401,9 @@ AsArtifactPrivate *priv = GET_PRIVATE (artifact); gchar *str; - g_free (priv->platform); - priv->platform = (gchar*) xmlGetProp (node, (xmlChar*) "platform"); + str = as_xml_get_prop_value (node, "platform"); + as_ref_string_assign_safe (&priv->platform, str); + g_free (str); str = (gchar*) xmlGetProp (node, (xmlChar*) "type"); priv->kind = as_artifact_kind_from_string (str); @@ -387,6 +421,9 @@ if (g_strcmp0 ((gchar*) iter->name, "location") == 0) { content = as_xml_get_node_value (iter); as_artifact_add_location (artifact, content); + } else if (g_strcmp0 ((gchar*) iter->name, "filename") == 0) { + g_free (priv->filename); + priv->filename = as_xml_get_node_value (iter); } else if (g_strcmp0 ((gchar*) iter->name, "checksum") == 0) { g_autoptr(AsChecksum) cs = NULL; @@ -427,6 +464,9 @@ AsArtifactPrivate *priv = GET_PRIVATE (artifact); xmlNode* n_artifact = NULL; + if (priv->kind == AS_ARTIFACT_KIND_UNKNOWN) + return; + n_artifact = xmlNewChild (root, NULL, (xmlChar*) "artifact", (xmlChar*) ""); xmlNewProp (n_artifact, @@ -448,9 +488,12 @@ /* add location urls */ for (guint j = 0; j < priv->locations->len; j++) { const gchar *lurl = (const gchar*) g_ptr_array_index (priv->locations, j); - xmlNewTextChild (n_artifact, NULL, (xmlChar*) "location", (xmlChar*) lurl); + as_xml_add_text_node (n_artifact, "location", lurl); } + /* add filename tag */ + as_xml_add_text_node (n_artifact, "filename", priv->filename); + /* add checksum node */ for (guint j = 0; j < priv->checksums->len; j++) { AsChecksum *cs = AS_CHECKSUM (g_ptr_array_index (priv->checksums, j)); @@ -459,11 +502,12 @@ /* add size node */ for (guint j = 0; j < AS_SIZE_KIND_LAST; j++) { - if (as_artifact_get_size (artifact, j) > 0) { + guint64 asize = as_artifact_get_size (artifact, j); + if (asize > 0) { xmlNode *s_node; g_autofree gchar *size_str; - size_str = g_strdup_printf ("%" G_GUINT64_FORMAT, as_artifact_get_size (artifact, j)); + size_str = g_strdup_printf ("%" G_GUINT64_FORMAT, asize); s_node = xmlNewTextChild (n_artifact, NULL, (xmlChar*) "size", @@ -487,11 +531,54 @@ * Loads data from a YAML field. **/ gboolean -as_artifact_load_from_yaml (AsArtifact *artifact, AsContext *ctx, GNode *node, AsArtifactKind kind, GError **error) +as_artifact_load_from_yaml (AsArtifact *artifact, AsContext *ctx, GNode *node, GError **error) { - /* TODO: DEP-11 isn't defined for artifacts yet */ + AsArtifactPrivate *priv = GET_PRIVATE (artifact); - return TRUE; + for (GNode *n = node->children; n != NULL; n = n->next) { + const gchar *key = as_yaml_node_get_key (n); + + if (g_strcmp0 (key, "type") == 0) { + priv->kind = as_artifact_kind_from_string (as_yaml_node_get_value (n)); + + } else if (g_strcmp0 (key, "platform") == 0) { + as_ref_string_assign_safe (&priv->platform, + as_yaml_node_get_value (n)); + + } else if (g_strcmp0 (key, "bundle") == 0) { + priv->bundle_kind = as_bundle_kind_from_string (as_yaml_node_get_value (n)); + + } else if (g_strcmp0 (key, "locations") == 0) { + as_yaml_list_to_str_array (n, priv->locations); + + } else if (g_strcmp0 (key, "filename") == 0) { + g_free (priv->filename); + priv->filename = g_strdup (as_yaml_node_get_value (n)); + + } else if (g_strcmp0 (key, "checksum") == 0) { + for (GNode *sn = n->children; sn != NULL; sn = sn->next) { + g_autoptr(AsChecksum) cs = as_checksum_new (); + if (as_checksum_load_from_yaml (cs, ctx, sn, NULL)) + as_artifact_add_checksum (artifact, cs); + } + + } else if (g_strcmp0 (key, "size") == 0) { + for (GNode *sn = n->children; sn != NULL; sn = sn->next) { + AsSizeKind size_kind = as_size_kind_from_string (as_yaml_node_get_key (sn)); + guint64 asize = g_ascii_strtoull (as_yaml_node_get_value (sn), NULL, 10); + if (size_kind == AS_SIZE_KIND_UNKNOWN) + continue; + if (asize <= 0) + continue; + as_artifact_set_size (artifact, asize, size_kind); + } + + } else { + as_yaml_print_unknown ("artifact", key); + } + } + + return priv->kind != AS_ARTIFACT_KIND_UNKNOWN; } /** @@ -505,7 +592,59 @@ void as_artifact_emit_yaml (AsArtifact *artifact, AsContext *ctx, yaml_emitter_t *emitter) { - /* TODO: DEP-11 isn't defined for artifacts yet */ + AsArtifactPrivate *priv = GET_PRIVATE (artifact); + + if (priv->kind == AS_ARTIFACT_KIND_UNKNOWN) + return; + + as_yaml_mapping_start (emitter); + + as_yaml_emit_entry (emitter, + "type", + as_artifact_kind_to_string (priv->kind)); + + as_yaml_emit_entry (emitter, + "platform", + priv->platform); + + if (priv->bundle_kind != AS_BUNDLE_KIND_UNKNOWN) { + as_yaml_emit_entry (emitter, + "bundle", + as_bundle_kind_to_string (priv->bundle_kind)); + } + + /* location URLs */ + as_yaml_emit_sequence_from_str_array (emitter, "locations", priv->locations); + + /* filename suggestion */ + as_yaml_emit_entry (emitter, + "filename", + priv->filename); + + /* checksums */ + if (priv->locations->len > 0) { + as_yaml_emit_scalar (emitter, "checksum"); + as_yaml_mapping_start (emitter); + + for (guint j = 0; j < priv->checksums->len; j++) { + AsChecksum *cs = AS_CHECKSUM (g_ptr_array_index (priv->checksums, j)); + as_checksum_emit_yaml (cs, ctx, emitter); + } + + as_yaml_mapping_end (emitter); + } + + /* sizes */ + as_yaml_emit_scalar (emitter, "size"); + as_yaml_mapping_start (emitter); + for (guint j = 0; j < AS_SIZE_KIND_LAST; j++) { + guint64 asize = as_artifact_get_size (artifact, j); + if (asize > 0) + as_yaml_emit_entry_uint64 (emitter, as_size_kind_to_string (j), asize); + } + as_yaml_mapping_end (emitter); + + as_yaml_mapping_end (emitter); } /** diff -Nru appstream-0.12.10/src/as-artifact.h appstream-0.14.5/src/as-artifact.h --- appstream-0.12.10/src/as-artifact.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-artifact.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2018-2020 Matthias Klumpp + * Copyright (C) 2018-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -86,7 +86,7 @@ AsArtifactKind as_artifact_kind_from_string (const gchar *kind); const gchar *as_artifact_kind_to_string (AsArtifactKind kind); -AsArtifact *as_artifact_new (void); +AsArtifact *as_artifact_new (void); AsArtifactKind as_artifact_get_kind (AsArtifact *artifact); void as_artifact_set_kind (AsArtifact *artifact, @@ -116,6 +116,10 @@ void as_artifact_set_bundle_kind (AsArtifact *artifact, AsBundleKind kind); +const gchar *as_artifact_get_filename (AsArtifact *artifact); +void as_artifact_set_filename (AsArtifact *artifact, + const gchar *filename); + G_END_DECLS diff -Nru appstream-0.12.10/src/as-artifact-private.h appstream-0.14.5/src/as-artifact-private.h --- appstream-0.12.10/src/as-artifact-private.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-artifact-private.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2018-2020 Matthias Klumpp + * Copyright (C) 2018-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -37,9 +37,9 @@ xmlNode *root); gboolean as_artifact_load_from_yaml (AsArtifact *artifact, - AsContext *ctx, - GNode *node, - GError **error); + AsContext *ctx, + GNode *node, + GError **error); void as_artifact_emit_yaml (AsArtifact *artifact, AsContext *ctx, yaml_emitter_t *emitter); diff -Nru appstream-0.12.10/src/as-bundle.c appstream-0.14.5/src/as-bundle.c --- appstream-0.12.10/src/as-bundle.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-bundle.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2016-2020 Matthias Klumpp + * Copyright (C) 2016-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -65,8 +65,10 @@ return "appimage"; if (kind == AS_BUNDLE_KIND_SNAP) return "snap"; - if (kind == AS_BUNDLE_KIND_TARBALL) + if (kind == AS_BUNDLE_KIND_TARBALL) return "tarball"; + if (kind == AS_BUNDLE_KIND_CABINET) + return "cabinet"; return "unknown"; } @@ -91,8 +93,10 @@ return AS_BUNDLE_KIND_APPIMAGE; if (g_strcmp0 (bundle_str, "snap") == 0) return AS_BUNDLE_KIND_SNAP; - if (g_strcmp0 (bundle_str, "tarball") == 0) + if (g_strcmp0 (bundle_str, "tarball") == 0) return AS_BUNDLE_KIND_TARBALL; + if (g_strcmp0 (bundle_str, "cabinet") == 0) + return AS_BUNDLE_KIND_CABINET; return AS_BUNDLE_KIND_UNKNOWN; } diff -Nru appstream-0.12.10/src/as-bundle.h appstream-0.14.5/src/as-bundle.h --- appstream-0.12.10/src/as-bundle.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-bundle.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2016-2020 Matthias Klumpp + * Copyright (C) 2016-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -53,6 +53,7 @@ * @AS_BUNDLE_KIND_APPIMAGE: An AppImageKit bundle * @AS_BUNDLE_KIND_SNAP: A Snap/Snappy bundle * @AS_BUNDLE_KIND_TARBALL: A (maybe compressed) tarball. + * @AS_BUNDLE_KIND_CABINET: Cabinet firmware deployment * * The bundle type. **/ @@ -63,7 +64,8 @@ AS_BUNDLE_KIND_FLATPAK, AS_BUNDLE_KIND_APPIMAGE, AS_BUNDLE_KIND_SNAP, - AS_BUNDLE_KIND_TARBALL, + AS_BUNDLE_KIND_TARBALL, + AS_BUNDLE_KIND_CABINET, /*< private >*/ AS_BUNDLE_KIND_LAST } AsBundleKind; diff -Nru appstream-0.12.10/src/as-bundle-private.h appstream-0.14.5/src/as-bundle-private.h --- appstream-0.12.10/src/as-bundle-private.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-bundle-private.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2014-2020 Matthias Klumpp + * Copyright (C) 2014-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * diff -Nru appstream-0.12.10/src/as-cache.c appstream-0.14.5/src/as-cache.c --- appstream-0.12.10/src/as-cache.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-cache.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2018-2020 Matthias Klumpp + * Copyright (C) 2018-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -35,6 +35,8 @@ #include #include +#include +#include #include #include "as-utils-private.h" @@ -340,7 +342,11 @@ *len = val.mv_size; if (val.mv_size == 0) return NULL; +#if GLIB_CHECK_VERSION(2,68,0) + return g_memdup2 (val.mv_data, val.mv_size); +#else return g_memdup (val.mv_data, val.mv_size); +#endif } /** @@ -429,7 +435,6 @@ MDB_val dkey; MDB_val dval; gint rc; - g_autofree gchar *key_hash = NULL; dkey.mv_size = AS_CACHE_CHECKSUM_LEN; dkey.mv_data = (guint8*) hash; @@ -578,7 +583,6 @@ MDB_cursor *cur; MDB_val dkey; MDB_val dval = {0, NULL}; - g_autofree gchar *key_hash = NULL; gint rc; if (hash == NULL) @@ -715,14 +719,15 @@ AsCachePrivate *priv = GET_PRIVATE (cache); GError *tmp_error = NULL; gint rc; - const gchar *volatile_dir = NULL; MDB_txn *txn = NULL; MDB_dbi db_config; g_autofree gchar *cache_format = NULL; - mdb_mode_t db_mode; + unsigned int db_flags; gboolean nosync; gboolean readonly; g_autoptr(GMutexLocker) locker = NULL; + int db_fd; + g_autofree gchar *volatile_fname = NULL; /* close cache in case it was open */ as_cache_close (cache); @@ -758,18 +763,21 @@ } /* determine database mode */ - db_mode = MDB_NOSUBDIR | MDB_NOMETASYNC | MDB_NOLOCK; + db_flags = MDB_NOSUBDIR | MDB_NOMETASYNC | MDB_NOLOCK; nosync = priv->nosync; readonly = priv->readonly; /* determine where to put a volatile database */ if (g_strcmp0 (fname, ":temporary") == 0) { - if (as_utils_is_root ()) { - volatile_dir = g_get_tmp_dir (); - } else { - volatile_dir = g_get_user_cache_dir (); - if ((volatile_dir == NULL) || (!g_file_test (volatile_dir, G_FILE_TEST_IS_DIR))) - volatile_dir = g_get_tmp_dir (); + g_autofree gchar *volatile_dir = as_get_user_cache_dir (); + volatile_fname = g_build_filename (volatile_dir, "appcache-XXXXXX.mdb", NULL); + + if (g_mkdir_with_parents (volatile_dir, 0755) != 0) { + g_set_error (error, + AS_CACHE_ERROR, + AS_CACHE_ERROR_FAILED, + "Unable to create cache directory (%s)",volatile_dir); + goto fail; } /* we can skip syncs in temporary mode - in case of a crash, the data is lost anyway */ @@ -779,7 +787,7 @@ readonly = FALSE; } else if (g_strcmp0 (fname, ":memory") == 0) { - volatile_dir = g_get_user_runtime_dir (); + volatile_fname = g_build_filename (g_get_user_runtime_dir (), "appstream-cache-XXXXXX.mdb", NULL); /* we can skip syncs in in-memory mode - they don't mean anything anyway*/ nosync = TRUE; @@ -788,15 +796,15 @@ } if (readonly) - db_mode |= MDB_RDONLY; + db_flags |= MDB_RDONLY; if (nosync) - db_mode |= MDB_NOSYNC; + db_flags |= MDB_NOSYNC; - g_free (priv->fname); - if (volatile_dir != NULL) { + if (volatile_fname != NULL) { gint fd; - priv->fname = g_build_filename (volatile_dir, "appstream-cache-XXXXXX.mdb", NULL); + g_free (priv->fname); + priv->fname = g_steal_pointer (&volatile_fname); fd = g_mkstemp (priv->fname); if (fd < 0) { g_set_error (error, @@ -808,8 +816,10 @@ close (fd); } + g_free (priv->volatile_db_fname); priv->volatile_db_fname = g_strdup (priv->fname); } else { + g_free (priv->fname); priv->fname = g_strdup (fname); } @@ -819,7 +829,7 @@ g_debug ("Opening cache file: %s", priv->fname); rc = mdb_env_open (priv->db_env, priv->fname, - db_mode, + db_flags, 0755); if (rc != MDB_SUCCESS) { g_set_error (error, @@ -829,6 +839,14 @@ goto fail; } + /* set FD_CLOEXEC manually. LMDB should do that, but it doesn't: + https://www.openldap.org/lists/openldap-bugs/201702/msg00003.html */ + if (mdb_env_get_fd (priv->db_env, &db_fd) == MDB_SUCCESS) { + int db_fd_flags = fcntl (db_fd, F_GETFD); + if (db_fd_flags != -1) + fcntl (db_fd, F_SETFD, db_fd_flags | FD_CLOEXEC); + } + /* unlink the file, so it gets removed as soon as we don't need it anymore */ if (priv->volatile_db_fname != NULL) g_unlink (priv->volatile_db_fname); @@ -1022,6 +1040,8 @@ if (!priv->opened) return FALSE; + if (!priv->readonly) + mdb_env_sync (priv->db_env, 1); mdb_env_close (priv->db_env); /* ensure any temporary file is gone, in case we used an in-memory database */ @@ -1175,8 +1195,6 @@ g_hash_table_iter_init (&tc_iter, token_cache); while (g_hash_table_iter_next (&tc_iter, &tc_key, &tc_value)) { - g_autoptr(GPtrArray) entries = NULL; - g_autoptr(GVariant) nvar = NULL; MDB_val fts_val; g_autofree guint8 *match_list = NULL; gsize match_list_len; @@ -1192,7 +1210,7 @@ continue; } if (token_len > priv->max_keysize) { - g_warning ("Ignored search token '%s': Too long to be stored in the cache.", token_str); + g_debug ("Ignored search token '%s': Too long to be stored in the cache.", token_str); continue; } @@ -1204,7 +1222,12 @@ NULL); match_pval = (AsTokenType *) tc_value; - match_list = g_memdup (fts_val.mv_data, fts_val.mv_size); /* TODO: There is potential to save on allocations here */ + /* TODO: There is potential to save on allocations here */ +#if GLIB_CHECK_VERSION(2,68,0) + match_list = g_memdup2 (fts_val.mv_data, fts_val.mv_size); +#else + match_list = g_memdup (fts_val.mv_data, fts_val.mv_size); +#endif match_list_len = fts_val.mv_size; if (as_cache_hash_match_dict_insert (&match_list, &match_list_len, cpt_checksum, *match_pval)) { @@ -1400,9 +1423,10 @@ const gchar *extended_cid = (const gchar*) g_ptr_array_index (extends, i); extended_cdid = as_utils_build_data_id (as_component_get_scope (cpt), - as_component_get_origin (cpt), as_utils_get_component_bundle_kind (cpt), - extended_cid); + as_component_get_origin (cpt), + extended_cid, + NULL); hash_list = lmdb_val_memdup (as_cache_txn_get_value (cache, txn, @@ -1841,9 +1865,18 @@ lmdb_transaction_abort (txn); return NULL; } + if (dval.mv_size <= 0) { + /* nothing found? */ + lmdb_transaction_abort (txn); + return NULL; + } + cpt = as_cache_component_from_dval (cache, txn, dval, error); - if (cpt == NULL) - return NULL; /* error */ + if (cpt == NULL) { + g_propagate_error (error, tmp_error); + lmdb_transaction_abort (txn); + return NULL; + } lmdb_transaction_commit (txn, NULL); return cpt; @@ -2050,17 +2083,35 @@ } } +typedef struct { + AsComponent *cpt; + GPtrArray *matched_terms; + guint terms_found; +} AsSearchResultItem; + +static void +as_search_result_item_free (AsSearchResultItem *item) +{ + if (item->cpt != NULL) + g_object_unref (item->cpt); + if (item->matched_terms != NULL) + g_ptr_array_unref (item->matched_terms); + g_slice_free (AsSearchResultItem, item); +} + /** * as_cache_update_results_with_fts_value: * * Update results table using the full-text search scoring data from a GVariant dict */ static gboolean -as_cache_update_results_with_fts_value (AsCache *cache, MDB_txn *txn, MDB_val dval, GHashTable *results_ht, gboolean exact_match, GError **error) +as_cache_update_results_with_fts_value (AsCache *cache, MDB_txn *txn, + MDB_val dval, const gchar *matched_term, + GHashTable *results_ht, + gboolean exact_match, + GError **error) { GError *tmp_error = NULL; - g_autofree gchar *entry_data = NULL; - g_auto(GStrv) entries = NULL; guint8 *data = NULL; gsize data_len = 0; const gsize ENTRY_LEN = sizeof(AsTokenType) + AS_CACHE_CHECKSUM_LEN * sizeof(guint8); @@ -2074,50 +2125,78 @@ for (gsize i = 0; i < data_len; i += ENTRY_LEN) { guint sort_score; - AsComponent *cpt; + AsSearchResultItem *sitem; const guint8 *cpt_hash; AsTokenType match_pval; cpt_hash = data + i; - match_pval = (AsTokenType) *(data + AS_CACHE_CHECKSUM_LEN); + match_pval = (AsTokenType) *(data + i + AS_CACHE_CHECKSUM_LEN); /* retrieve component with this hash */ - cpt = g_hash_table_lookup (results_ht, cpt_hash); - if (cpt == NULL) { - cpt = as_cache_component_by_hash (cache, txn, cpt_hash, &tmp_error); + sitem = g_hash_table_lookup (results_ht, cpt_hash); + if (sitem == NULL) { + sitem = g_slice_new0 (AsSearchResultItem); + sitem->cpt = as_cache_component_by_hash (cache, txn, cpt_hash, &tmp_error); + sitem->matched_terms = g_ptr_array_new_with_free_func (g_free); if (tmp_error != NULL) { g_propagate_prefixed_error (error, tmp_error, "Failed to retrieve component data: "); + as_search_result_item_free (sitem); return FALSE; } - if (cpt != NULL) { + if (sitem->cpt == NULL) { + as_search_result_item_free (sitem); + } else { sort_score = 0; if (exact_match) sort_score |= match_pval << 2; else sort_score |= match_pval; - if ((as_component_get_kind (cpt) == AS_COMPONENT_KIND_ADDON) && (match_pval > 0)) + if ((as_component_get_kind (sitem->cpt) == AS_COMPONENT_KIND_ADDON) && (match_pval > 0)) sort_score--; - as_component_set_sort_score (cpt, sort_score); + as_component_set_sort_score (sitem->cpt, sort_score); + sitem->terms_found = 1; + g_ptr_array_add (sitem->matched_terms, g_strdup (matched_term)); +#if GLIB_CHECK_VERSION(2,68,0) + g_hash_table_insert (results_ht, + g_memdup2 (cpt_hash, AS_CACHE_CHECKSUM_LEN), + sitem); +#else g_hash_table_insert (results_ht, g_memdup (cpt_hash, AS_CACHE_CHECKSUM_LEN), - cpt); + sitem); +#endif + } } else { - sort_score = as_component_get_sort_score (cpt); + gboolean term_matched = FALSE; + + sort_score = as_component_get_sort_score (sitem->cpt); if (exact_match) sort_score |= match_pval << 2; else sort_score |= match_pval; - if (as_component_get_sort_score (cpt) == 0) { - if ((as_component_get_kind (cpt) == AS_COMPONENT_KIND_ADDON)) + if (as_component_get_sort_score (sitem->cpt) == 0) { + if ((as_component_get_kind (sitem->cpt) == AS_COMPONENT_KIND_ADDON)) sort_score--; } - as_component_set_sort_score (cpt, sort_score); + as_component_set_sort_score (sitem->cpt, sort_score); + + /* due to stemming and partial matches, we may match the same term a lot of times, + * but we only want to register a specific term match once (while still bumping up the + * search result's match score) */ + for (guint j = 0; j < sitem->matched_terms->len; j++) { + if (g_strcmp0 (matched_term, (const gchar *) g_ptr_array_index (sitem->matched_terms, j)) == 0) { + term_matched = TRUE; + break; + } + } + if (!term_matched) + sitem->terms_found++; } } @@ -2125,6 +2204,32 @@ } /** + * as_cache_search_items_table_to_results: + * + * Converts the found items hash table entries to results list of components. + */ +static void +as_cache_search_items_table_to_results (GHashTable *results_ht, GPtrArray *results, guint required_terms_n) +{ + GHashTableIter ht_iter; + gpointer ht_value; + + if (g_hash_table_size (results_ht) == 0) + return; + + g_hash_table_iter_init (&ht_iter, results_ht); + while (g_hash_table_iter_next (&ht_iter, NULL, &ht_value)) { + AsSearchResultItem *sitem = (AsSearchResultItem*) ht_value; + if (sitem->terms_found < required_terms_n) + continue; + g_ptr_array_add (results, g_steal_pointer (&sitem->cpt)); + } + + /* the items hash table contents are invalid now */ + g_hash_table_remove_all (results_ht); +} + +/** * as_cache_search: * @cache: An instance of #AsCache. * @terms: List of search terms @@ -2133,20 +2238,24 @@ * * Perform a search for the given terms. * - * Returns: (transfer full): An array of #AsComponent + * Returns: (transfer container): An array of #AsComponent */ GPtrArray* as_cache_search (AsCache *cache, gchar **terms, gboolean sort, GError **error) { AsCachePrivate *priv = GET_PRIVATE (cache); MDB_txn *txn; - GError *tmp_error = NULL; g_autoptr(GPtrArray) results = NULL; g_autoptr(GHashTable) results_ht = NULL; - GHashTableIter ht_iter; - gpointer ht_value; g_autoptr(GMutexLocker) locker = NULL; + MDB_cursor *cur; + gint rc; + MDB_val dkey; + MDB_val dval; + g_autofree gsize *terms_lens = NULL; + guint terms_n = 0; + if (!as_cache_check_opened (cache, FALSE, error)) return NULL; @@ -2165,87 +2274,79 @@ results_ht = g_hash_table_new_full (as_cache_checksum_hash, as_cache_checksum_equal, g_free, - (GDestroyNotify) g_object_unref); + (GDestroyNotify) as_search_result_item_free); - /* search by using exact matches first */ - for (guint i = 0; terms[i] != NULL; i++) { - g_autoptr(GPtrArray) tmp_res = NULL; - MDB_val dval; + terms_n = g_strv_length (terms); - dval = as_cache_txn_get_value (cache, txn, priv->db_fts, terms[i], &tmp_error); - if (tmp_error != NULL) { - g_propagate_error (error, tmp_error); - lmdb_transaction_abort (txn); - return NULL; - } - if (dval.mv_size <= 0) - continue; - - if (!as_cache_update_results_with_fts_value (cache, txn, dval, results_ht, TRUE, error)) { - lmdb_transaction_abort (txn); - return NULL; - } + /* unconditionally perform partial matching, which is slower, but yields more complete results + * closer to what the users seem to expect compared to the more narrow results we get when running + * an exact match query on the database */ + rc = mdb_cursor_open (txn, priv->db_fts, &cur); + if (rc != MDB_SUCCESS) { + g_set_error (error, + AS_CACHE_ERROR, + AS_CACHE_ERROR_FAILED, + "Unable to iterate cache (no cursor): %s", mdb_strerror (rc)); + lmdb_transaction_abort (txn); + return NULL; } - /* if we got no results by exact matches, try partial matches (which is slower) */ - if (g_hash_table_size (results_ht) <= 0) { - MDB_cursor *cur; - gint rc; - MDB_val dkey; - MDB_val dval; + /* cache term string lengths */ + terms_lens = g_new0 (gsize, terms_n + 1); + for (guint i = 0; terms[i] != NULL; i++) + terms_lens[i] = strlen (terms[i]); - rc = mdb_cursor_open (txn, priv->db_fts, &cur); - if (rc != MDB_SUCCESS) { - g_set_error (error, - AS_CACHE_ERROR, - AS_CACHE_ERROR_FAILED, - "Unable to iterate cache (no cursor): %s", mdb_strerror (rc)); - lmdb_transaction_abort (txn); - return NULL; - } + rc = mdb_cursor_get (cur, &dkey, &dval, MDB_FIRST); + while (rc == 0) { + const gchar *matched_term = NULL; + const gchar *token = dkey.mv_data; + gsize token_len = dkey.mv_size; + + for (guint i = 0; terms[i] != NULL; i++) { + gsize term_len = terms_lens[i]; + /* if term length is bigger than the key, it will never match */ + if (term_len > dkey.mv_size) + continue; - rc = mdb_cursor_get (cur, &dkey, &dval, MDB_FIRST); - while (rc == 0) { - gboolean match = FALSE; - - for (guint i = 0; terms[i] != NULL; i++) { - gsize term_len = strlen (terms[i]); - /* if term length is bigger than the key, it will never match. - * if it is equal, we already matches it and shouldn't be here */ - if (term_len >= dkey.mv_size) - continue; - if (strncmp (dkey.mv_data, terms[i], term_len) == 0) { - /* prefix match was successful */ - match = TRUE; + for (guint j = 0; j < token_len - term_len + 1; j++) { + if (strncmp (token + j, terms[i], term_len) == 0) { + /* partial match was successful */ + matched_term = terms[i]; break; } } - if (!match) { - rc = mdb_cursor_get(cur, &dkey, &dval, MDB_NEXT); - continue; - } - - /* we got a prefix match, so add the components to our search result */ - if (dval.mv_size <= 0) - continue; - if (!as_cache_update_results_with_fts_value (cache, txn, dval, results_ht, FALSE, error)) { - mdb_cursor_close (cur); - lmdb_transaction_abort (txn); - return NULL; - } - + if (matched_term != NULL) + break; + } + if (matched_term == NULL) { rc = mdb_cursor_get(cur, &dkey, &dval, MDB_NEXT); + continue; } - mdb_cursor_close (cur); - } - /* we don't need the mutex anymore, no class struct access here */ - g_clear_pointer (&locker, g_mutex_locker_free); + /* we got a partial match, so add the components to our search result */ + if (dval.mv_size <= 0) + continue; + if (!as_cache_update_results_with_fts_value (cache, txn, + dval, matched_term, + results_ht, + FALSE, + error)) { + mdb_cursor_close (cur); + lmdb_transaction_abort (txn); + return NULL; + } + + rc = mdb_cursor_get(cur, &dkey, &dval, MDB_NEXT); + } + mdb_cursor_close (cur); /* compile our result */ - g_hash_table_iter_init (&ht_iter, results_ht); - while (g_hash_table_iter_next (&ht_iter, NULL, &ht_value)) - g_ptr_array_add (results, g_object_ref (AS_COMPONENT (ht_value))); + as_cache_search_items_table_to_results (results_ht, + results, + terms_n); + + /* we don't need the mutex anymore, no class member access here */ + g_clear_pointer (&locker, g_mutex_locker_free); /* sort the results by their priority */ if (sort) diff -Nru appstream-0.12.10/src/as-cache.h appstream-0.14.5/src/as-cache.h --- appstream-0.12.10/src/as-cache.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-cache.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2018-2020 Matthias Klumpp + * Copyright (C) 2018-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * diff -Nru appstream-0.12.10/src/as-category.c appstream-0.14.5/src/as-category.c --- appstream-0.12.10/src/as-category.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-category.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2012-2020 Matthias Klumpp + * Copyright (C) 2012-2021 Matthias Klumpp * Copyright (C) 2015-2016 Richard Hughes * * Licensed under the GNU Lesser General Public License Version 2.1 @@ -26,6 +26,7 @@ #include #include "as-component.h" +#include "as-utils-private.h" /** * SECTION:as-category @@ -412,8 +413,7 @@ { AsCategoryPrivate *priv = GET_PRIVATE (category); - g_free (priv->id); - priv->id = g_strdup (id); + as_assign_string_safe (priv->id, id); g_object_notify (G_OBJECT (category), "id"); } @@ -441,8 +441,7 @@ { AsCategoryPrivate *priv = GET_PRIVATE (category); - g_free (priv->name); - priv->name = g_strdup (value); + as_assign_string_safe (priv->name, value); g_object_notify (G_OBJECT (category), "name"); } @@ -527,8 +526,7 @@ { AsCategoryPrivate *priv = GET_PRIVATE (category); - g_free (priv->summary); - priv->summary = g_strdup (value); + as_assign_string_safe (priv->summary, value); g_object_notify (G_OBJECT (category), "summary"); } @@ -556,8 +554,7 @@ { AsCategoryPrivate *priv = GET_PRIVATE (category); - g_free (priv->icon); - priv->icon = g_strdup (value); + as_assign_string_safe (priv->icon, value); g_object_notify (G_OBJECT (category), "icon"); } diff -Nru appstream-0.12.10/src/as-category.h appstream-0.14.5/src/as-category.h --- appstream-0.12.10/src/as-category.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-category.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2012-2020 Matthias Klumpp + * Copyright (C) 2012-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * diff -Nru appstream-0.12.10/src/as-checksum.c appstream-0.14.5/src/as-checksum.c --- appstream-0.12.10/src/as-checksum.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-checksum.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2016-2020 Matthias Klumpp + * Copyright (C) 2016-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -58,6 +58,10 @@ return "sha1"; if (kind == AS_CHECKSUM_KIND_SHA256) return "sha256"; + if (kind == AS_CHECKSUM_KIND_BLAKE2B) + return "blake2b"; + if (kind == AS_CHECKSUM_KIND_BLAKE2S) + return "blake2s"; return "unknown"; } @@ -78,6 +82,10 @@ return AS_CHECKSUM_KIND_SHA1; if (g_strcmp0 (kind_str, "sha256") == 0) return AS_CHECKSUM_KIND_SHA256; + if (g_strcmp0 (kind_str, "blake2b") == 0) + return AS_CHECKSUM_KIND_BLAKE2B; + if (g_strcmp0 (kind_str, "blake2s") == 0) + return AS_CHECKSUM_KIND_BLAKE2S; return AS_CHECKSUM_KIND_NONE; } @@ -260,6 +268,25 @@ } /** + * as_checksum_new_for_kind_value: + * + * Creates a new #AsChecksum with the given hash + * function and hash value. + * + * Returns: (transfer full): an #AsChecksum + * + * Since: 0.12.11 + **/ +AsChecksum* +as_checksum_new_for_kind_value (AsChecksumKind kind, const gchar *value) +{ + AsChecksum *cs = as_checksum_new (); + as_checksum_set_kind (cs, kind); + as_checksum_set_value (cs, value); + return cs; +} + +/** * as_checksum_new: * * Creates a new #AsChecksum. diff -Nru appstream-0.12.10/src/as-checksum.h appstream-0.14.5/src/as-checksum.h --- appstream-0.12.10/src/as-checksum.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-checksum.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2016-2020 Matthias Klumpp + * Copyright (C) 2016-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -47,8 +47,10 @@ /** * AsChecksumKind: * @AS_CHECKSUM_KIND_NONE: No checksum - * @AS_CHECKSUM_KIND_SHA1: SHA1 - * @AS_CHECKSUM_KIND_SHA256: SHA256 + * @AS_CHECKSUM_KIND_SHA1: SHA1 checksum + * @AS_CHECKSUM_KIND_SHA256: SHA256 checksum + * @AS_CHECKSUM_KIND_BLAKE2B: BLAKE2b checksum + * @AS_CHECKSUM_KIND_BLAKE2S: BLAKE2s checksum * * Checksums supported by #AsRelease **/ @@ -56,6 +58,8 @@ AS_CHECKSUM_KIND_NONE, AS_CHECKSUM_KIND_SHA1, AS_CHECKSUM_KIND_SHA256, + AS_CHECKSUM_KIND_BLAKE2B, + AS_CHECKSUM_KIND_BLAKE2S, /*< private >*/ AS_CHECKSUM_KIND_LAST } AsChecksumKind; @@ -64,6 +68,8 @@ AsChecksumKind as_checksum_kind_from_string (const gchar *kind_str); AsChecksum *as_checksum_new (void); +AsChecksum *as_checksum_new_for_kind_value (AsChecksumKind kind, + const gchar *value); AsChecksumKind as_checksum_get_kind (AsChecksum *cs); void as_checksum_set_kind (AsChecksum *cs, diff -Nru appstream-0.12.10/src/as-checksum-private.h appstream-0.14.5/src/as-checksum-private.h --- appstream-0.12.10/src/as-checksum-private.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-checksum-private.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2014-2020 Matthias Klumpp + * Copyright (C) 2014-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * diff -Nru appstream-0.12.10/src/as-component.c appstream-0.14.5/src/as-component.c --- appstream-0.12.10/src/as-component.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-component.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2012-2020 Matthias Klumpp + * Copyright (C) 2012-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -40,6 +40,8 @@ #include "as-provided-private.h" #include "as-relation-private.h" #include "as-agreement-private.h" +#include "as-review-private.h" +#include "as-desktop-entry.h" /** @@ -65,13 +67,14 @@ AsComponentScope scope; AsOriginKind origin_kind; AsContext *context; /* the document context associated with this component */ - gchar *active_locale_override; + GRefString *active_locale_override; gchar *id; gchar *data_id; - gchar *origin; gchar **pkgnames; gchar *source_pkgname; + GRefString *origin; + GRefString *branch; GHashTable *name; /* localized entry */ GHashTable *summary; /* localized entry */ @@ -79,9 +82,9 @@ GHashTable *keywords; /* localized entry, value:strv */ GHashTable *developer_name; /* localized entry */ - gchar *metadata_license; - gchar *project_license; - gchar *project_group; + GRefString *metadata_license; + GRefString *project_license; + GRefString *project_group; GPtrArray *launchables; /* of #AsLaunchable */ GPtrArray *categories; /* of utf8 */ @@ -97,43 +100,30 @@ GPtrArray *recommends; /* of AsRelation */ GPtrArray *requires; /* of AsRelation */ GPtrArray *agreements; /* of AsAgreement */ - GHashTable *urls; /* of int:utf8 */ - GHashTable *languages; /* of utf8:utf8 */ + GHashTable *languages; /* of utf8:utf8 */ GPtrArray *translations; /* of AsTranslation */ GPtrArray *icons; /* of AsIcon elements */ + GPtrArray *reviews; /* of AsReview */ - gchar *arch; /* the architecture this data was generated from */ + GRefString *arch; /* the architecture this data was generated from */ gint priority; /* used internally */ AsMergeKind merge_kind; /* whether and how the component data should be merged */ guint sort_score; /* used to priorize components in listings */ gsize token_cache_valid; - GHashTable *token_cache; /* of utf8:AsTokenType* */ + GHashTable *token_cache; /* of RefString:AsTokenType* */ AsValueFlags value_flags; gboolean ignored; /* whether we should ignore this component */ GHashTable *name_variant_suffix; /* variant suffix for component name */ - GHashTable *custom; /* free-form user-defined custom data */ + GHashTable *custom; /* of RefString:RefString, free-form user-defined custom data */ } AsComponentPrivate; -typedef enum { - AS_TOKEN_MATCH_NONE = 0, - AS_TOKEN_MATCH_MIMETYPE = 1 << 0, - AS_TOKEN_MATCH_PKGNAME = 1 << 1, - AS_TOKEN_MATCH_DESCRIPTION = 1 << 2, - AS_TOKEN_MATCH_SUMMARY = 1 << 3, - AS_TOKEN_MATCH_KEYWORD = 1 << 4, - AS_TOKEN_MATCH_NAME = 1 << 5, - AS_TOKEN_MATCH_ID = 1 << 6, - - AS_TOKEN_MATCH_LAST -} AsTokenMatch; - G_DEFINE_TYPE_WITH_PRIVATE (AsComponent, as_component, G_TYPE_OBJECT) #define GET_PRIVATE(o) (as_component_get_instance_private (o)) @@ -156,43 +146,6 @@ }; /** - * as_component_kind_get_type: - * - * Defines registered component types. - */ -GType -as_component_kind_get_type (void) -{ - static volatile gsize as_component_kind_type_id__volatile = 0; - if (g_once_init_enter (&as_component_kind_type_id__volatile)) { - static const GEnumValue values[] = { - {AS_COMPONENT_KIND_UNKNOWN, "AS_COMPONENT_KIND_UNKNOWN", "unknown"}, - {AS_COMPONENT_KIND_GENERIC, "AS_COMPONENT_KIND_GENERIC", "generic"}, - {AS_COMPONENT_KIND_DESKTOP_APP, "AS_COMPONENT_KIND_DESKTOP_APP", "desktop-app"}, - {AS_COMPONENT_KIND_CONSOLE_APP, "AS_COMPONENT_KIND_CONSOLE_APP", "console-app"}, - {AS_COMPONENT_KIND_WEB_APP, "AS_COMPONENT_KIND_WEB_APP", "web-app"}, - {AS_COMPONENT_KIND_ADDON, "AS_COMPONENT_KIND_ADDON", "addon"}, - {AS_COMPONENT_KIND_FONT, "AS_COMPONENT_KIND_FONT", "font"}, - {AS_COMPONENT_KIND_CODEC, "AS_COMPONENT_KIND_CODEC", "codec"}, - {AS_COMPONENT_KIND_INPUTMETHOD, "AS_COMPONENT_KIND_INPUTMETHOD", "inputmethod"}, - {AS_COMPONENT_KIND_FIRMWARE, "AS_COMPONENT_KIND_FIRMWARE", "firmware"}, - {AS_COMPONENT_KIND_DRIVER, "AS_COMPONENT_KIND_DRIVER", "driver"}, - {AS_COMPONENT_KIND_LOCALIZATION, "AS_COMPONENT_KIND_LOCALIZATION", "localization"}, - {AS_COMPONENT_KIND_SERVICE, "AS_COMPONENT_KIND_SERVICE", "service"}, - {AS_COMPONENT_KIND_REPOSITORY, "AS_COMPONENT_KIND_REPOSITORY", "repository"}, - {AS_COMPONENT_KIND_OPERATING_SYSTEM, "AS_COMPONENT_KIND_OPERATING_SYSTEM", "operating-system"}, - {AS_COMPONENT_KIND_ICON_THEME, "AS_COMPONENT_KIND_ICON_THEME", "icon-theme"}, - {AS_COMPONENT_KIND_RUNTIME, "AS_COMPONENT_KIND_RUNTIME", "runtime"}, - {0, NULL, NULL} - }; - GType as_component_type_type_id; - as_component_type_type_id = g_enum_register_static ("AsComponentKind", values); - g_once_init_leave (&as_component_kind_type_id__volatile, as_component_type_type_id); - } - return as_component_kind_type_id__volatile; -} - -/** * as_component_kind_to_string: * @kind: the #AsComponentKind. * @@ -217,7 +170,7 @@ return "font"; if (kind == AS_COMPONENT_KIND_CODEC) return "codec"; - if (kind == AS_COMPONENT_KIND_INPUTMETHOD) + if (kind == AS_COMPONENT_KIND_INPUT_METHOD) return "inputmethod"; if (kind == AS_COMPONENT_KIND_FIRMWARE) return "firmware"; @@ -266,7 +219,7 @@ if (g_strcmp0 (kind_str, "codec") == 0) return AS_COMPONENT_KIND_CODEC; if (g_strcmp0 (kind_str, "inputmethod") == 0) - return AS_COMPONENT_KIND_INPUTMETHOD; + return AS_COMPONENT_KIND_INPUT_METHOD; if (g_strcmp0 (kind_str, "firmware") == 0) return AS_COMPONENT_KIND_FIRMWARE; if (g_strcmp0 (kind_str, "driver") == 0) @@ -363,7 +316,7 @@ * * Returns: a #AsComponentScope or %AS_COMPONENT_SCOPE_UNKNOWN for unknown **/ -AsMergeKind +AsComponentScope as_component_scope_from_string (const gchar *scope_str) { if (g_strcmp0 (scope_str, "system") == 0) @@ -382,11 +335,21 @@ AsComponentPrivate *priv = GET_PRIVATE (cpt); /* translatable entities */ - priv->name = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free); - priv->summary = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free); - priv->description = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free); - priv->developer_name = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free); - priv->keywords = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, (GDestroyNotify) g_strfreev); + priv->name = g_hash_table_new_full (g_str_hash, g_str_equal, + (GDestroyNotify) as_ref_string_release, + g_free); + priv->summary = g_hash_table_new_full (g_str_hash, g_str_equal, + (GDestroyNotify) as_ref_string_release, + g_free); + priv->description = g_hash_table_new_full (g_str_hash, g_str_equal, + (GDestroyNotify) as_ref_string_release, + g_free); + priv->developer_name = g_hash_table_new_full (g_str_hash, g_str_equal, + (GDestroyNotify) as_ref_string_release, + g_free); + priv->keywords = g_hash_table_new_full (g_str_hash, g_str_equal, + (GDestroyNotify) as_ref_string_release, + (GDestroyNotify) g_strfreev); /* lists */ priv->launchables = g_ptr_array_new_with_free_func (g_object_unref); @@ -404,13 +367,18 @@ priv->recommends = g_ptr_array_new_with_free_func (g_object_unref); priv->requires = g_ptr_array_new_with_free_func (g_object_unref); priv->agreements = g_ptr_array_new_with_free_func (g_object_unref); + priv->reviews = g_ptr_array_new_with_free_func (g_object_unref); /* others */ priv->urls = g_hash_table_new_full (g_direct_hash, g_direct_equal, NULL, g_free); priv->languages = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL); - priv->custom = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free); - - priv->token_cache = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free); + priv->custom = g_hash_table_new_full (g_str_hash, g_str_equal, + (GDestroyNotify) g_ref_string_release, + (GDestroyNotify) g_ref_string_release); + + priv->token_cache = g_hash_table_new_full (g_str_hash, g_str_equal, + (GDestroyNotify) g_ref_string_release, + g_free); priv->priority = 0; } @@ -426,12 +394,15 @@ g_free (priv->id); g_free (priv->data_id); + g_free (priv->source_pkgname); g_strfreev (priv->pkgnames); - g_free (priv->metadata_license); - g_free (priv->project_license); - g_free (priv->project_group); - g_free (priv->active_locale_override); - g_free (priv->arch); + as_ref_string_release (priv->metadata_license); + as_ref_string_release (priv->project_license); + as_ref_string_release (priv->project_group); + as_ref_string_release (priv->active_locale_override); + as_ref_string_release (priv->arch); + as_ref_string_release (priv->origin); + as_ref_string_release (priv->branch); g_hash_table_unref (priv->name); g_hash_table_unref (priv->summary); @@ -455,17 +426,18 @@ g_hash_table_unref (priv->custom); g_ptr_array_unref (priv->content_ratings); g_ptr_array_unref (priv->icons); - if (priv->name_variant_suffix != NULL) - g_hash_table_unref (priv->name_variant_suffix); g_ptr_array_unref (priv->recommends); g_ptr_array_unref (priv->requires); - g_ptr_array_unref (priv->agreements); + g_ptr_array_unref (priv->reviews); if (priv->translations != NULL) g_ptr_array_unref (priv->translations); + if (priv->name_variant_suffix != NULL) + g_hash_table_unref (priv->name_variant_suffix); + g_hash_table_unref (priv->token_cache); if (priv->context != NULL) @@ -512,14 +484,14 @@ return FALSE; if (priv->merge_kind != AS_MERGE_KIND_NONE) { /* merge components only need an ID to be valid */ - return !as_str_empty (priv->id); + return !as_is_empty (priv->id); } cname = as_component_get_name (cpt); csummary = as_component_get_summary (cpt); - if ((!as_str_empty (priv->id)) && - (!as_str_empty (cname)) && - (!as_str_empty (csummary))) { + if ((!as_is_empty (priv->id)) && + (!as_is_empty (cname)) && + (!as_is_empty (csummary))) { return TRUE; } @@ -568,6 +540,7 @@ as_component_add_screenshot (AsComponent *cpt, AsScreenshot* sshot) { GPtrArray* sslist; + g_return_if_fail (sshot != NULL); sslist = as_component_get_screenshots (cpt); g_ptr_array_add (sslist, g_object_ref (sshot)); @@ -747,8 +720,7 @@ as_component_set_bundles_array (AsComponent *cpt, GPtrArray *bundles) { AsComponentPrivate *priv = GET_PRIVATE (cpt); - g_ptr_array_unref (priv->bundles); - priv->bundles = g_ptr_array_ref (bundles); + as_assign_ptr_array_safe (priv->bundles, bundles); as_component_invalidate_data_id (cpt); } @@ -917,6 +889,8 @@ as_component_set_pkgnames (AsComponent *cpt, gchar **packages) { AsComponentPrivate *priv = GET_PRIVATE (cpt); + if (G_UNLIKELY (priv->pkgnames == packages)) + return; g_strfreev (priv->pkgnames); priv->pkgnames = g_strdupv (packages); @@ -924,6 +898,25 @@ } /** + * as_component_set_pkgname: + * @cpt: a #AsComponent instance. + * @pkgname: the package name + * + * Set the package name that provides this component. + * + * Since: 0.14.5 + */ +void +as_component_set_pkgname (AsComponent *cpt, const gchar *pkgname) +{ + AsComponentPrivate *priv = GET_PRIVATE (cpt); + g_strfreev (priv->pkgnames); + priv->pkgnames = g_new0 (gchar*, 2); + priv->pkgnames[0] = g_strdup (pkgname); + g_object_notify ((GObject *) cpt, "pkgnames"); +} + +/** * as_component_get_source_pkgname: * @cpt: a #AsComponent instance. * @@ -945,9 +938,7 @@ as_component_set_source_pkgname (AsComponent *cpt, const gchar* spkgname) { AsComponentPrivate *priv = GET_PRIVATE (cpt); - - g_free (priv->source_pkgname); - priv->source_pkgname = g_strdup (spkgname); + as_assign_string_safe (priv->source_pkgname, spkgname); } /** @@ -982,8 +973,7 @@ { AsComponentPrivate *priv = GET_PRIVATE (cpt); - g_free (priv->id); - priv->id = g_strdup (value); + as_assign_string_safe (priv->id, value); g_object_notify ((GObject *) cpt, "id"); as_component_invalidate_data_id (cpt); } @@ -1029,8 +1019,7 @@ as_component_set_data_id (AsComponent *cpt, const gchar* value) { AsComponentPrivate *priv = GET_PRIVATE (cpt); - g_free (priv->data_id); - priv->data_id = g_strdup (value); + as_assign_string_safe (priv->data_id, value); } /** @@ -1055,8 +1044,41 @@ as_component_set_origin (AsComponent *cpt, const gchar *origin) { AsComponentPrivate *priv = GET_PRIVATE (cpt); - g_free (priv->origin); - priv->origin = g_strdup (origin); + as_ref_string_assign_safe (&priv->origin, origin); + as_component_invalidate_data_id (cpt); +} + +/** + * as_component_get_branch: + * @cpt: a #AsComponent instance. + * + * Gets the branch for the application. + * + * Returns: string, or %NULL if unset + * + * Since: 0.14.0 + */ +const gchar* +as_component_get_branch (AsComponent *cpt) +{ + AsComponentPrivate *priv = GET_PRIVATE (cpt); + return priv->branch; +} + +/** + * as_component_set_branch: + * @cpt: a #AsComponent instance. + * @branch: the branch, e.g. "master" or "3-16". + * + * Set the branch that the component instance was sourced from. + * + * Since: 0.14.0 + */ +void +as_component_set_branch (AsComponent *cpt, const gchar *branch) +{ + AsComponentPrivate *priv = GET_PRIVATE (cpt); + as_ref_string_assign_safe (&priv->branch, branch); as_component_invalidate_data_id (cpt); } @@ -1084,8 +1106,7 @@ as_component_set_architecture (AsComponent *cpt, const gchar *arch) { AsComponentPrivate *priv = GET_PRIVATE (cpt); - g_free (priv->arch); - priv->arch = g_strdup (arch); + as_ref_string_assign_safe (&priv->arch, arch); } /** @@ -1101,7 +1122,7 @@ as_component_get_active_locale (AsComponent *cpt) { AsComponentPrivate *priv = GET_PRIVATE (cpt); - const gchar *locale; + const GRefString *locale; /* return context locale, if the locale isn't explicitly overridden for this component */ if ((priv->context != NULL) && (priv->active_locale_override == NULL)) { @@ -1130,9 +1151,7 @@ as_component_set_active_locale (AsComponent *cpt, const gchar *locale) { AsComponentPrivate *priv = GET_PRIVATE (cpt); - - g_free (priv->active_locale_override); - priv->active_locale_override = g_strdup (locale); + as_ref_string_assign_safe (&priv->active_locale_override, locale); } /** @@ -1298,14 +1317,31 @@ as_component_set_keywords (AsComponent *cpt, gchar **value, const gchar *locale) { AsComponentPrivate *priv = GET_PRIVATE (cpt); + g_autoptr(GPtrArray) keywords = NULL; /* if no locale was specified, we assume the default locale */ if (locale == NULL) locale = as_component_get_active_locale (cpt); + keywords = g_ptr_array_new (); + + if (value != NULL) { + for (guint i = 0; value[i] != NULL; ++i) { + if (g_strcmp0 (value[i], "") != 0) + g_ptr_array_add (keywords, g_strdup (value[i])); + } + } + g_ptr_array_add (keywords, NULL); + +#if GLIB_CHECK_VERSION(2,64,0) g_hash_table_insert (priv->keywords, - g_strdup (locale), - g_strdupv (value)); + g_ref_string_new_intern (locale), + (gchar **) (g_ptr_array_steal (keywords, NULL))); +#else + g_hash_table_insert (priv->keywords, + g_ref_string_new_intern (locale), + (gchar **) g_ptr_array_free (g_steal_pointer (&keywords), FALSE)); +#endif g_object_notify ((GObject *) cpt, "keywords"); } @@ -1449,8 +1485,7 @@ as_component_set_metadata_license (AsComponent *cpt, const gchar *value) { AsComponentPrivate *priv = GET_PRIVATE (cpt); - g_free (priv->metadata_license); - priv->metadata_license = g_strdup (value); + as_ref_string_assign_safe (&priv->metadata_license, value); } /** @@ -1479,9 +1514,7 @@ as_component_set_project_license (AsComponent *cpt, const gchar *value) { AsComponentPrivate *priv = GET_PRIVATE (cpt); - - g_free (priv->project_license); - priv->project_license = g_strdup (value); + as_ref_string_assign_safe (&priv->project_license, value); g_object_notify ((GObject *) cpt, "project-license"); } @@ -1511,9 +1544,7 @@ as_component_set_project_group (AsComponent *cpt, const gchar *value) { AsComponentPrivate *priv = GET_PRIVATE (cpt); - - g_free (priv->project_group); - priv->project_group = g_strdup (value); + as_ref_string_assign_safe (&priv->project_group, value); } /** @@ -1591,7 +1622,9 @@ { AsComponentPrivate *priv = GET_PRIVATE (cpt); if (priv->name_variant_suffix == NULL) - priv->name_variant_suffix = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free); + priv->name_variant_suffix = g_hash_table_new_full (g_str_hash, g_str_equal, + (GDestroyNotify) as_ref_string_release, + g_free); as_context_localized_ht_set (priv->context, priv->name_variant_suffix, value, @@ -1679,13 +1712,12 @@ as_component_get_provided_for_kind (AsComponent *cpt, AsProvidedKind kind) { AsComponentPrivate *priv = GET_PRIVATE (cpt); - guint i; - - for (i = 0; i < priv->provided->len; i++) { + for (guint i = 0; i < priv->provided->len; i++) { AsProvided *prov = AS_PROVIDED (g_ptr_array_index (priv->provided, i)); if (as_provided_get_kind (prov) == kind) return prov; } + return NULL; } @@ -1717,6 +1749,7 @@ as_component_add_provided (AsComponent *cpt, AsProvided *prov) { AsComponentPrivate *priv = GET_PRIVATE (cpt); + g_return_if_fail (prov != NULL); if (as_flags_contains (priv->value_flags, AS_VALUE_FLAG_DUPLICATE_CHECK)) { guint i; @@ -1739,12 +1772,11 @@ /** * as_component_add_provided_item: * @cpt: a #AsComponent instance. - * @kind: the kind of the provided item (e.g. %AS_PROVIDED_KIND_MIMETYPE) + * @kind: the kind of the provided item (e.g. %AS_PROVIDED_KIND_MEDIATYPE) * @item: the item to add. * - * Adds a provided item to the component. - * - * Internal convenience function for use by the metadata reading classes. + * Adds a provided item to the component with the given @kind, creating a new + * @AsProvided for this kind internally if necessary. **/ void as_component_add_provided_item (AsComponent *cpt, AsProvidedKind kind, const gchar *item) @@ -1753,7 +1785,7 @@ AsComponentPrivate *priv = GET_PRIVATE (cpt); /* we just skip empty items */ - if (as_str_empty (item)) + if (as_is_empty (item)) return; prov = as_component_get_provided_for_kind (cpt, kind); @@ -1869,7 +1901,18 @@ * * Returns the sorting priority of this component. * - * Since: 0.9.8 + * This will only return a valid value if this component + * was the result of or involved in a search operation which + * returned sorted results. + * In most cases you will not need to access this value explicitly, + * as all results of search operations in AppStream are already sorted + * from best match to worst. + * + * The returned value is an arbitrary integer value, valid only for + * the search terms involved in the search operation that yielded + * this component as a result. + * + * Since: 0.12.11 */ guint as_component_get_sort_score (AsComponent *cpt) @@ -1961,6 +2004,21 @@ } /** + * as_component_clear_languages: + * @cpt: an #AsComponent instance. + * + * Remove all registered language translation information. + * + * Since: 0.14.5 + **/ +void +as_component_clear_languages (AsComponent *cpt) +{ + AsComponentPrivate *priv = GET_PRIVATE (cpt); + g_hash_table_remove_all (priv->languages); +} + +/** * as_component_get_languages_table: * @cpt: an #AsComponent instance. * @@ -2393,7 +2451,7 @@ static void as_component_add_token_helper (AsComponent *cpt, const gchar *value, - AsTokenMatch match_flag, + AsSearchTokenMatch match_flag, AsStemmer *stemmer) { AsComponentPrivate *priv = GET_PRIVATE (cpt); @@ -2404,7 +2462,7 @@ if (!as_utils_search_token_valid (value)) return; /* small tokens are invalid unless they are in the summary / name of the component */ - if (match_flag < AS_TOKEN_MATCH_SUMMARY) { + if (match_flag < AS_SEARCH_TOKEN_MATCH_SUMMARY) { if (strlen (value) < 3) return; } @@ -2427,7 +2485,7 @@ match_pval = g_new0 (AsTokenType, 1); *match_pval = match_flag; g_hash_table_insert (priv->token_cache, - g_steal_pointer (&token_stemmed), + g_ref_string_new_intern (token_stemmed), match_pval); } @@ -2438,7 +2496,7 @@ as_component_add_token (AsComponent *cpt, const gchar *value, gboolean allow_split, - AsTokenMatch match_flag) + AsSearchTokenMatch match_flag) { /* get global stemmer instance (it's threadsafe and should survive this invocation) */ AsStemmer *stemmer = as_stemmer_get (); @@ -2492,7 +2550,7 @@ as_component_add_tokens (AsComponent *cpt, const gchar *value, gboolean allow_split, - AsTokenMatch match_flag) + AsSearchTokenMatch match_flag) { guint i; g_auto(GStrv) values_utf8 = NULL; @@ -2531,28 +2589,28 @@ /* tokenize all the data we have */ if (priv->id != NULL) { as_component_add_token (cpt, priv->id, FALSE, - AS_TOKEN_MATCH_ID); + AS_SEARCH_TOKEN_MATCH_ID); } tmp = as_component_get_name (cpt); if (tmp != NULL) { - as_component_add_tokens (cpt, tmp, TRUE, AS_TOKEN_MATCH_NAME); + as_component_add_tokens (cpt, tmp, TRUE, AS_SEARCH_TOKEN_MATCH_NAME); } tmp = as_component_get_summary (cpt); if (tmp != NULL) { - as_component_add_tokens (cpt, tmp, TRUE, AS_TOKEN_MATCH_SUMMARY); + as_component_add_tokens (cpt, tmp, TRUE, AS_SEARCH_TOKEN_MATCH_SUMMARY); } tmp = as_component_get_description (cpt); if (tmp != NULL) { - as_component_add_tokens (cpt, tmp, TRUE, AS_TOKEN_MATCH_DESCRIPTION); + as_component_add_tokens (cpt, tmp, TRUE, AS_SEARCH_TOKEN_MATCH_DESCRIPTION); } keywords = as_component_get_keywords (cpt); if (keywords != NULL) { for (i = 0; keywords[i] != NULL; i++) - as_component_add_tokens (cpt, keywords[i], FALSE, AS_TOKEN_MATCH_KEYWORD); + as_component_add_tokens (cpt, keywords[i], FALSE, AS_SEARCH_TOKEN_MATCH_KEYWORD); } prov = as_component_get_provided_for_kind (donor, AS_PROVIDED_KIND_MIMETYPE); @@ -2562,12 +2620,12 @@ as_component_add_token (cpt, (const gchar*) g_ptr_array_index (items, i), FALSE, - AS_TOKEN_MATCH_MIMETYPE); + AS_SEARCH_TOKEN_MATCH_MIMETYPE); } if (priv->pkgnames != NULL) { for (i = 0; priv->pkgnames[i] != NULL; i++) - as_component_add_token (cpt, priv->pkgnames[i], FALSE, AS_TOKEN_MATCH_PKGNAME); + as_component_add_token (cpt, priv->pkgnames[i], FALSE, AS_SEARCH_TOKEN_MATCH_PKGNAME); } } @@ -2892,8 +2950,41 @@ if (key == NULL) return FALSE; return g_hash_table_insert (priv->custom, - g_strdup (key), - g_strdup (value)); + g_ref_string_new_intern (key), + g_ref_string_new_intern (value)); +} + +/** + * as_component_get_reviews: + * @cpt: a #AsComponent instance. + * + * Gets any reviews associated with the component. + * + * Returns: (element-type AsReview) (transfer none): an array + * + * Since: 0.14.0 + **/ +GPtrArray* +as_component_get_reviews (AsComponent *cpt) +{ + AsComponentPrivate *priv = GET_PRIVATE (cpt); + return priv->reviews; +} + +/** + * as_component_add_review: + * @cpt: a #AsComponent instance. + * @review: a #AsReview instance. + * + * Adds a user review to a software component. + * + * Since: 0.14.0 + **/ +void +as_component_add_review (AsComponent *cpt, AsReview *review) +{ + AsComponentPrivate *priv = GET_PRIVATE (cpt); + g_ptr_array_add (priv->reviews, g_object_ref (review)); } /** @@ -3009,6 +3100,7 @@ as_component_add_launchable (AsComponent *cpt, AsLaunchable *launchable) { AsComponentPrivate *priv = GET_PRIVATE (cpt); + g_return_if_fail (launchable != NULL); g_ptr_array_add (priv->launchables, g_object_ref (launchable)); } @@ -3119,8 +3211,12 @@ * as_component_get_context: * @cpt: a #AsComponent instance. * - * Returns: the #AsContext associated with this component. - * This function may return %NULL if no context is set. + * Get the #AsContext associated with this component. + * This function may return %NULL if no context is set + * (which will be the case if the component was not loaded from + * a file or cache but constructed in memory). + * + * Returns: (transfer none) (nullable): the associated #AsContext or %NULL * * Since: 0.11.2 */ @@ -3150,11 +3246,8 @@ priv->context = g_object_ref (context); /* reset individual properties, so the new context overrides them */ - g_free (priv->active_locale_override); - priv->active_locale_override = NULL; - - g_free (priv->origin); - priv->origin = NULL; + as_ref_string_assign_safe (&priv->active_locale_override, NULL); + as_ref_string_assign_safe (&priv->origin, NULL); g_free (priv->arch); priv->arch = NULL; @@ -3167,8 +3260,7 @@ as_copy_l10n_hashtable_hfunc (gpointer key, gpointer value, gpointer user_data) { GHashTable *dest = (GHashTable*) user_data; - - g_hash_table_insert (dest, g_strdup (key), g_strdup (value)); + g_hash_table_insert (dest, g_ref_string_acquire (key), g_strdup (value)); } /** @@ -3375,18 +3467,6 @@ } /** - * as_xml_metainfo_description_to_cpt: - * - * Helper function for GHashTable - */ -static void -as_xml_metainfo_description_to_cpt (gchar *key, GString *value, AsComponent *cpt) -{ - as_component_set_description (cpt, value->str, key); - g_string_free (value, TRUE); -} - -/** * as_component_load_provides_from_xml: */ static void @@ -3420,25 +3500,22 @@ } else if (g_strcmp0 (node_name, "modalias") == 0) { as_component_add_provided_item (cpt, AS_PROVIDED_KIND_MODALIAS, content); } else if (g_strcmp0 (node_name, "firmware") == 0) { - g_autofree gchar *fwtype = NULL; - fwtype = (gchar*) xmlGetProp (iter, (xmlChar*) "type"); - if (fwtype != NULL) { - if (g_strcmp0 (fwtype, "runtime") == 0) - as_component_add_provided_item (cpt, AS_PROVIDED_KIND_FIRMWARE_RUNTIME, content); - else if (g_strcmp0 (fwtype, "flashed") == 0) - as_component_add_provided_item (cpt, AS_PROVIDED_KIND_FIRMWARE_FLASHED, content); - } + g_autofree gchar *fw_type = NULL; + fw_type = as_xml_get_prop_value (iter, "type"); + if (g_strcmp0 (fw_type, "runtime") == 0) + as_component_add_provided_item (cpt, AS_PROVIDED_KIND_FIRMWARE_RUNTIME, content); + else if (g_strcmp0 (fw_type, "flashed") == 0) + as_component_add_provided_item (cpt, AS_PROVIDED_KIND_FIRMWARE_FLASHED, content); } else if (g_strcmp0 (node_name, "python2") == 0) { as_component_add_provided_item (cpt, AS_PROVIDED_KIND_PYTHON_2, content); } else if (g_strcmp0 (node_name, "python3") == 0) { as_component_add_provided_item (cpt, AS_PROVIDED_KIND_PYTHON, content); } else if (g_strcmp0 (node_name, "dbus") == 0) { - g_autofree gchar *dbustype = NULL; - dbustype = (gchar*) xmlGetProp (iter, (xmlChar*) "type"); + g_autofree gchar *dbus_type = as_xml_get_prop_value (iter, "type"); - if (g_strcmp0 (dbustype, "system") == 0) + if (g_strcmp0 (dbus_type, "system") == 0) as_component_add_provided_item (cpt, AS_PROVIDED_KIND_DBUS_SYSTEM, content); - else if ((g_strcmp0 (dbustype, "user") == 0) || (g_strcmp0 (dbustype, "session") == 0)) + else if ((g_strcmp0 (dbus_type, "user") == 0) || (g_strcmp0 (dbus_type, "session") == 0)) as_component_add_provided_item (cpt, AS_PROVIDED_KIND_DBUS_USER, content); } } @@ -3482,9 +3559,11 @@ { AsLaunchableKind lkind; AsLaunchable *launchable; + g_autofree gchar *lstr = NULL; g_autofree gchar *value = NULL; - lkind = as_launchable_kind_from_string ((gchar*) xmlGetProp (node, (xmlChar*) "type")); + lstr = as_xml_get_prop_value (node, "type"); + lkind = as_launchable_kind_from_string (lstr); if (lkind == AS_LAUNCHABLE_KIND_UNKNOWN) return; @@ -3503,43 +3582,13 @@ } /** - * as_component_xml_parse_custom_node: - */ -static void -as_component_xml_parse_custom_node (AsComponent *cpt, xmlNode *node) -{ - xmlNode *iter; - GHashTable *custom; - - custom = as_component_get_custom (cpt); - for (iter = node->children; iter != NULL; iter = iter->next) { - gchar *key_str = NULL; - - if (iter->type != XML_ELEMENT_NODE) - continue; - if (g_strcmp0 ((gchar*) iter->name, "value") != 0) - continue; - - key_str = (gchar*) xmlGetProp (iter, (xmlChar*) "key"); - if (key_str == NULL) - continue; - g_hash_table_insert (custom, - key_str, - as_xml_get_node_value (iter)); - } -} - -/** * as_component_load_relations_from_xml: */ static void as_component_load_relations_from_xml (AsComponent *cpt, AsContext *ctx, xmlNode *node, AsRelationKind kind) { - xmlNode *iter; - - for (iter = node->children; iter != NULL; iter = iter->next) { + for (xmlNode *iter = node->children; iter != NULL; iter = iter->next) { g_autoptr(AsRelation) relation = NULL; - g_autofree gchar *content = NULL; /* discard spaces */ if (iter->type != XML_ELEMENT_NODE) @@ -3600,7 +3649,6 @@ as_component_load_from_xml (AsComponent *cpt, AsContext *ctx, xmlNode *node, GError **error) { AsComponentPrivate *priv = GET_PRIVATE (cpt); - xmlNode *iter; const gchar *node_name; g_autoptr(GPtrArray) pkgnames = NULL; g_autofree gchar *priority_str = NULL; @@ -3637,7 +3685,10 @@ /* set context for this component */ as_component_set_context (cpt, ctx); - for (iter = node->children; iter != NULL; iter = iter->next) { + /* clear any existing descriptions */ + g_hash_table_remove_all (priv->description); + + for (xmlNode *iter = node->children; iter != NULL; iter = iter->next) { g_autofree gchar *content = NULL; g_autofree gchar *lang = NULL; AsTag tag_id; @@ -3679,10 +3730,7 @@ g_free (desc); } } else { - as_xml_parse_metainfo_description_node (ctx, - iter, - (GHFunc) as_xml_metainfo_description_to_cpt, - cpt); + as_xml_parse_metainfo_description_node (ctx, iter, priv->description); } } else if (tag_id == AS_TAG_ICON) { g_autoptr(AsIcon) icon = NULL; @@ -3782,7 +3830,7 @@ if (as_suggested_load_from_xml (suggested, ctx, iter, NULL)) as_component_add_suggested (cpt, suggested); } else if (tag_id == AS_TAG_CUSTOM) { - as_component_xml_parse_custom_node (cpt, iter); + as_xml_parse_custom_node (iter, as_component_get_custom (cpt)); } else if (tag_id == AS_TAG_CONTENT_RATING) { g_autoptr(AsContentRating) ctrating = as_content_rating_new (); if (as_content_rating_load_from_xml (ctrating, ctx, iter, NULL)) @@ -3795,6 +3843,16 @@ g_autoptr(AsAgreement) agreement = as_agreement_new (); if (as_agreement_load_from_xml (agreement, ctx, iter, NULL)) as_component_add_agreement (cpt, agreement); + } else if (tag_id == AS_TAG_REVIEWS) { + for (xmlNode *sn = iter->children; sn != NULL; sn = sn->next) { + if (sn->type != XML_ELEMENT_NODE) + continue; + if (g_strcmp0 ((const gchar*) sn->name, "review") == 0) { + g_autoptr(AsReview) review = as_review_new (); + if (as_review_load_from_xml (review, ctx, sn, NULL)) + as_component_add_review (cpt, review); + } + } } else if (as_context_get_internal_mode (ctx)) { /* internal information */ @@ -3802,6 +3860,8 @@ priv->scope = as_component_scope_from_string (content); } else if (tag_id == AS_TAG_INTERNAL_ORIGIN) { as_component_set_origin (cpt, content); + } else if (tag_id == AS_TAG_INTERNAL_BRANCH) { + as_component_set_branch (cpt, content); } } else if (tag_id == AS_TAG_NAME_VARIANT_SUFFIX) { if (lang != NULL) @@ -3859,45 +3919,27 @@ AsComponentPrivate *priv = GET_PRIVATE (cpt); xmlNode *node; GPtrArray *items; - guint i; - AsProvided *prov_mime; if (priv->provided->len == 0) return; - prov_mime = as_component_get_provided_for_kind (cpt, AS_PROVIDED_KIND_MIMETYPE); - if (prov_mime != NULL) { - /* mimetypes get special treatment in XML for historical reasons */ - node = xmlNewChild (cnode, NULL, (xmlChar*) "mimetypes", NULL); - items = as_provided_get_items (prov_mime); - - for (i = 0; i < items->len; i++) { - xmlNewTextChild (node, - NULL, - (xmlChar*) "mimetype", - (xmlChar*) g_ptr_array_index (items, i)); - } - - /* check if we only had mimetype provided items, in that case we don't need to continue */ - if (priv->provided->len == 1) - return; - } - node = xmlNewChild (cnode, NULL, (xmlChar*) "provides", NULL); - for (i = 0; i < priv->provided->len; i++) { + for (guint i = 0; i < priv->provided->len; i++) { guint j; AsProvided *prov = AS_PROVIDED (g_ptr_array_index (priv->provided, i)); items = as_provided_get_items (prov); switch (as_provided_get_kind (prov)) { - case AS_PROVIDED_KIND_MIMETYPE: - /* we already handled those */ - break; case AS_PROVIDED_KIND_ID: as_xml_add_node_list (node, NULL, "id", items); break; + case AS_PROVIDED_KIND_MEDIATYPE: + as_xml_add_node_list (node, NULL, + "mediatype", + items); + break; case AS_PROVIDED_KIND_LIBRARY: as_xml_add_node_list (node, NULL, "library", @@ -3947,7 +3989,7 @@ (xmlChar*) g_ptr_array_index (items, j)); xmlNewProp (n, (xmlChar*) "type", - (xmlChar*) "runtime"); + (xmlChar*) "flashed"); } break; case AS_PROVIDED_KIND_DBUS_SYSTEM: @@ -4018,37 +4060,6 @@ } /** - * as_component_xml_serialize_custom: - */ -static void -as_component_xml_serialize_custom (AsComponent *cpt, xmlNode *cptnode) -{ - AsComponentPrivate *priv = GET_PRIVATE (cpt); - xmlNode *node; - g_autoptr(GList) keys = NULL; - GList *link; - - if (g_hash_table_size (priv->custom) == 0) - return; - - node = xmlNewChild (cptnode, NULL, (xmlChar*) "custom", NULL); - keys = g_hash_table_get_keys (priv->custom); - keys = g_list_sort (keys, (GCompareFunc) g_ascii_strcasecmp); - for (link = keys; link != NULL; link = link->next) { - const gchar *key = (const gchar*) link->data; - xmlNode *snode; - - snode = xmlNewTextChild (node, - NULL, - (xmlChar*) "value", - (xmlChar*) g_hash_table_lookup (priv->custom, key)); - xmlNewProp (snode, - (xmlChar*) "key", - (xmlChar*) key); - } -} - -/** * as_component_to_xml_node: * @cpt: an #AsComponent. * @ctx: the AppStream document context. @@ -4061,7 +4072,6 @@ { AsComponentPrivate *priv = GET_PRIVATE (cpt); xmlNode *cnode; - guint i; /* define component root node properties */ if (root == NULL) @@ -4095,37 +4105,87 @@ /* component tags */ as_xml_add_text_node (cnode, "id", as_component_get_id (cpt)); + /* name */ as_xml_add_localized_text_node (cnode, "name", priv->name); + + /* name variant suffix */ + if (priv->name_variant_suffix != NULL) + as_xml_add_localized_text_node (cnode, "name_variant_suffix", priv->name_variant_suffix); + + /* summary */ as_xml_add_localized_text_node (cnode, "summary", priv->summary); /* order license and project group after name/summary */ if (as_context_get_style (ctx) == AS_FORMAT_STYLE_METAINFO) as_xml_add_text_node (cnode, "metadata_license", priv->metadata_license); + /* project license */ as_xml_add_text_node (cnode, "project_license", priv->project_license); - as_xml_add_text_node (cnode, "project_group", priv->project_group); - - /* name variant suffix */ - if (priv->name_variant_suffix != NULL) - as_xml_add_localized_text_node (cnode, "name_variant_suffix", priv->name_variant_suffix); /* developer name */ as_xml_add_localized_text_node (cnode, "developer_name", priv->developer_name); + /* project group */ + as_xml_add_text_node (cnode, "project_group", priv->project_group); + /* long description */ as_xml_add_description_node (ctx, cnode, priv->description); + /* extends nodes */ + as_xml_add_node_list (cnode, NULL, "extends", priv->extends); + + /* requires */ + if (priv->requires->len > 0) { + xmlNode *rqnode = xmlNewChild (cnode, NULL, (xmlChar*) "requires", NULL); + + for (guint i = 0; i < priv->requires->len; i++) { + AsRelation *relation = AS_RELATION (g_ptr_array_index (priv->requires, i)); + as_relation_to_xml_node (relation, ctx, rqnode); + } + } + + /* recommends */ + if (priv->recommends->len > 0) { + xmlNode *rcnode = xmlNewChild (cnode, NULL, (xmlChar*) "recommends", NULL); + + for (guint i = 0; i < priv->recommends->len; i++) { + AsRelation *relation = AS_RELATION (g_ptr_array_index (priv->recommends, i)); + as_relation_to_xml_node (relation, ctx, rcnode); + } + } + + /* suggests nodes */ + for (guint i = 0; i < priv->suggestions->len; i++) { + AsSuggested *suggested = AS_SUGGESTED (g_ptr_array_index (priv->suggestions, i)); + as_suggested_to_xml_node (suggested, ctx, cnode); + } + + /* package name(s) (if any) */ as_xml_add_node_list_strv (cnode, NULL, "pkgname", priv->pkgnames); - as_xml_add_node_list (cnode, NULL, "extends", priv->extends); + /* bundles */ + for (guint i = 0; i < priv->bundles->len; i++) { + AsBundle *bundle = AS_BUNDLE (g_ptr_array_index (priv->bundles, i)); + as_bundle_to_xml_node (bundle, ctx, cnode); + } + + /* launchables */ + for (guint i = 0; i < priv->launchables->len; i++) { + AsLaunchable *launchable = AS_LAUNCHABLE (g_ptr_array_index (priv->launchables, i)); + as_launchable_to_xml_node (launchable, ctx, cnode); + } + + /* compulsory for desktop(s) */ as_xml_add_node_list (cnode, NULL, "compulsory_for_desktop", priv->compulsory_for_desktops); - as_xml_add_node_list (cnode, "categories", "category", priv->categories); - /* keywords */ - as_component_xml_keywords_to_node (cpt, cnode); + /* icons */ + for (guint i = 0; i < priv->icons->len; i++) { + AsIcon *icon = AS_ICON (g_ptr_array_index (priv->icons, i)); + as_icon_to_xml_node (icon, ctx, cnode); + } /* urls */ - for (i = AS_URL_KIND_UNKNOWN; i < AS_URL_KIND_LAST; i++) { + for (guint i = AS_URL_KIND_UNKNOWN; i < AS_URL_KIND_LAST; i++) { xmlNode *n; const gchar *value; value = as_component_get_url (cpt, i); @@ -4137,44 +4197,38 @@ (xmlChar*) as_url_kind_to_string (i)); } - /* icons */ - for (i = 0; i < priv->icons->len; i++) { - AsIcon *icon = AS_ICON (g_ptr_array_index (priv->icons, i)); - as_icon_to_xml_node (icon, ctx, cnode); - } - - /* bundles */ - for (i = 0; i < priv->bundles->len; i++) { - AsBundle *bundle = AS_BUNDLE (g_ptr_array_index (priv->bundles, i)); - as_bundle_to_xml_node (bundle, ctx, cnode); - } + /* software sorting catgories */ + as_xml_add_node_list (cnode, "categories", "category", priv->categories); - /* launchables */ - for (i = 0; i < priv->launchables->len; i++) { - AsLaunchable *launchable = AS_LAUNCHABLE (g_ptr_array_index (priv->launchables, i)); - as_launchable_to_xml_node (launchable, ctx, cnode); - } + /* provides node */ + as_component_xml_serialize_provides (cpt, cnode); /* translations */ if (priv->translations != NULL) { - for (i = 0; i < priv->translations->len; i++) { + for (guint i = 0; i < priv->translations->len; i++) { AsTranslation *tr = AS_TRANSLATION (g_ptr_array_index (priv->translations, i)); as_translation_to_xml_node (tr, ctx, cnode); } } + /* languages node */ + as_component_xml_serialize_languages (cpt, cnode); + /* screenshots */ if (priv->screenshots->len > 0) { xmlNode *rnode = xmlNewChild (cnode, NULL, (xmlChar*) "screenshots", NULL); - for (i = 0; i < priv->screenshots->len; i++) { + for (guint i = 0; i < priv->screenshots->len; i++) { AsScreenshot *scr = AS_SCREENSHOT (g_ptr_array_index (priv->screenshots, i)); as_screenshot_to_xml_node (scr, ctx, rnode); } } + /* keywords */ + as_component_xml_keywords_to_node (cpt, cnode); + /* agreements */ - for (i = 0; i < priv->agreements->len; i++) { + for (guint i = 0; i < priv->agreements->len; i++) { AsAgreement *agreement = AS_AGREEMENT (g_ptr_array_index (priv->agreements, i)); as_agreement_to_xml_node (agreement, ctx, cnode); } @@ -4185,53 +4239,31 @@ /* ensure releases are sorted, then emit XML nodes */ as_component_sort_releases (cpt); - for (i = 0; i < priv->releases->len; i++) { + for (guint i = 0; i < priv->releases->len; i++) { AsRelease *rel = AS_RELEASE (g_ptr_array_index (priv->releases, i)); as_release_to_xml_node (rel, ctx, rnode); } } - /* provides & mimetypes node */ - as_component_xml_serialize_provides (cpt, cnode); - - /* languages node */ - as_component_xml_serialize_languages (cpt, cnode); - - /* suggests nodes */ - for (i = 0; i < priv->suggestions->len; i++) { - AsSuggested *suggested = AS_SUGGESTED (g_ptr_array_index (priv->suggestions, i)); - as_suggested_to_xml_node (suggested, ctx, cnode); - } - /* content_rating nodes */ - for (i = 0; i < priv->content_ratings->len; i++) { + for (guint i = 0; i < priv->content_ratings->len; i++) { AsContentRating *ctrating = AS_CONTENT_RATING (g_ptr_array_index (priv->content_ratings, i)); as_content_rating_to_xml_node (ctrating, ctx, cnode); } - /* recommends */ - if (priv->recommends->len > 0) { - xmlNode *rcnode = xmlNewChild (cnode, NULL, (xmlChar*) "recommends", NULL); - - for (i = 0; i < priv->recommends->len; i++) { - AsRelation *relation = AS_RELATION (g_ptr_array_index (priv->recommends, i)); - as_relation_to_xml_node (relation, ctx, rcnode); - } - } - - /* requires */ - if (priv->requires->len > 0) { - xmlNode *rqnode = xmlNewChild (cnode, NULL, (xmlChar*) "requires", NULL); + /* custom node */ + as_xml_add_custom_node (cnode, "custom", priv->custom); - for (i = 0; i < priv->requires->len; i++) { - AsRelation *relation = AS_RELATION (g_ptr_array_index (priv->requires, i)); - as_relation_to_xml_node (relation, ctx, rqnode); + /* reviews */ + if (priv->reviews->len > 0) { + xmlNode *rnode = xmlNewChild (cnode, NULL, (xmlChar*) "reviews", NULL); + + for (guint i = 0; i < priv->reviews->len; i++) { + AsReview *review = AS_REVIEW (g_ptr_array_index (priv->reviews, i)); + as_review_to_xml_node (review, ctx, rnode); } } - /* custom node */ - as_component_xml_serialize_custom (cpt, cnode); - /* internal information */ if (as_context_get_internal_mode (ctx)) { const gchar *origin = as_component_get_origin (cpt); @@ -4239,6 +4271,8 @@ as_xml_add_text_node (cnode, "__asi_scope", as_component_scope_to_string (priv->scope)); if (origin != NULL) as_xml_add_text_node (cnode, "__asi_origin", origin); + if (priv->branch != NULL) + as_xml_add_text_node (cnode, "__asi_branch", priv->branch); } return cnode; @@ -4407,8 +4441,18 @@ as_component_add_provided_item (cpt, AS_PROVIDED_KIND_BINARY, (gchar*) sn->data); } } else if (g_strcmp0 (key, "fonts") == 0) { + GNode *dn; for (sn = n->children; sn != NULL; sn = sn->next) { - as_component_add_provided_item (cpt, AS_PROVIDED_KIND_FONT, (gchar*) sn->data); + for (dn = sn->children; dn != NULL; dn = dn->next) { + gchar *dvalue = NULL; + const gchar *dkey = (const gchar*) dn->data; + if (dn->children) + dvalue = (gchar*) dn->children->data; + if (dvalue == NULL) + continue; + if (g_strcmp0 (dkey, "name") == 0) + as_component_add_provided_item (cpt, AS_PROVIDED_KIND_FONT, dvalue); + } } } else if (g_strcmp0 (key, "modaliases") == 0) { for (sn = n->children; sn != NULL; sn = sn->next) { @@ -4420,10 +4464,8 @@ gchar *kind = NULL; gchar *fwdata = NULL; for (dn = sn->children; dn != NULL; dn = dn->next) { - gchar *dkey; gchar *dvalue; - - dkey = (gchar*) dn->data; + const gchar *dkey = (const gchar*) dn->data; if (dn->children) dvalue = (gchar*) dn->children->data; else @@ -4451,9 +4493,9 @@ for (sn = n->children; sn != NULL; sn = sn->next) { as_component_add_provided_item (cpt, AS_PROVIDED_KIND_PYTHON, (gchar*) sn->data); } - } else if ((g_strcmp0 (key, "mimetypes") == 0) || (g_strcmp0 (key, "mediatypes") == 0)) { + } else if (g_strcmp0 (key, "mediatypes") == 0) { for (sn = n->children; sn != NULL; sn = sn->next) { - as_component_add_provided_item (cpt, AS_PROVIDED_KIND_MIMETYPE, (gchar*) sn->data); + as_component_add_provided_item (cpt, AS_PROVIDED_KIND_MEDIATYPE, (gchar*) sn->data); } } else if (g_strcmp0 (key, "dbus") == 0) { GNode *dn; @@ -4461,14 +4503,10 @@ gchar *kind = NULL; gchar *service = NULL; for (dn = sn->children; dn != NULL; dn = dn->next) { - gchar *dkey; - gchar *dvalue; - - dkey = (gchar*) dn->data; + gchar *dvalue = NULL; + const gchar *dkey = (const gchar*) dn->data; if (dn->children) dvalue = (gchar*) dn->children->data; - else - dvalue = NULL; if (g_strcmp0 (dkey, "type") == 0) { kind = dvalue; } else if (g_strcmp0 (dkey, "service") == 0) { @@ -4529,9 +4567,7 @@ static void as_component_yaml_parse_relations (AsComponent *cpt, AsContext *ctx, GNode *node, AsRelationKind kind) { - GNode *n; - - for (n = node->children; n != NULL; n = n->next) { + for (GNode *n = node->children; n != NULL; n = n->next) { g_autoptr(AsRelation) relation = as_relation_new (); as_relation_set_kind (relation, kind); @@ -4546,13 +4582,12 @@ static void as_component_yaml_parse_custom (AsComponent *cpt, GNode *node) { - GNode *sn; - - for (sn = node->children; sn != NULL; sn = sn->next) { - const gchar *key = as_yaml_node_get_key (sn); - const gchar *value = as_yaml_node_get_value (sn); + AsComponentPrivate *priv = GET_PRIVATE (cpt); - as_component_insert_custom_value (cpt, key, value); + for (GNode *sn = node->children; sn != NULL; sn = sn->next) { + g_hash_table_insert (priv->custom, + as_yaml_node_get_key_refstr (sn), + as_yaml_node_get_value_refstr (sn)); } } @@ -4637,15 +4672,13 @@ } else if (field_id == AS_TAG_ICON) { as_component_yaml_parse_icons (cpt, ctx, node); } else if (field_id == AS_TAG_BUNDLE) { - GNode *n; - for (n = node->children; n != NULL; n = n->next) { + for (GNode *n = node->children; n != NULL; n = n->next) { g_autoptr(AsBundle) bundle = as_bundle_new (); if (as_bundle_load_from_yaml (bundle, ctx, n, NULL)) as_component_add_bundle (cpt, bundle); } } else if (field_id == AS_TAG_LAUNCHABLE) { - GNode *n; - for (n = node->children; n != NULL; n = n->next) { + for (GNode *n = node->children; n != NULL; n = n->next) { g_autoptr(AsLaunchable) launch = as_launchable_new (); if (as_launchable_load_from_yaml (launch, ctx, n, NULL)) as_component_add_launchable (cpt, launch); @@ -4653,8 +4686,7 @@ } else if (field_id == AS_TAG_PROVIDES) { as_component_yaml_parse_provides (cpt, node); } else if (field_id == AS_TAG_SCREENSHOTS) { - GNode *n; - for (n = node->children; n != NULL; n = n->next) { + for (GNode * n = node->children; n != NULL; n = n->next) { g_autoptr(AsScreenshot) scr = as_screenshot_new (); if (as_screenshot_load_from_yaml (scr, ctx, n, NULL)) as_component_add_screenshot (cpt, scr); @@ -4662,22 +4694,19 @@ } else if (field_id == AS_TAG_LANGUAGES) { as_component_yaml_parse_languages (cpt, node); } else if (field_id == AS_TAG_RELEASES) { - GNode *n; - for (n = node->children; n != NULL; n = n->next) { + for (GNode *n = node->children; n != NULL; n = n->next) { g_autoptr(AsRelease) release = as_release_new (); if (as_release_load_from_yaml (release, ctx, n, NULL)) g_ptr_array_add (priv->releases, g_steal_pointer (&release)); } } else if (field_id == AS_TAG_SUGGESTS) { - GNode *n; - for (n = node->children; n != NULL; n = n->next) { + for (GNode *n = node->children; n != NULL; n = n->next) { g_autoptr(AsSuggested) suggested = as_suggested_new (); if (as_suggested_load_from_yaml (suggested, ctx, n, NULL)) as_component_add_suggested (cpt, suggested); } } else if (field_id == AS_TAG_CONTENT_RATING) { - GNode *n; - for (n = node->children; n != NULL; n = n->next) { + for (GNode *n = node->children; n != NULL; n = n->next) { g_autoptr(AsContentRating) rating = as_content_rating_new (); if (as_content_rating_load_from_yaml (rating, ctx, n, NULL)) as_component_add_content_rating (cpt, rating); @@ -4687,17 +4716,26 @@ } else if (field_id == AS_TAG_REQUIRES) { as_component_yaml_parse_relations (cpt, ctx, node, AS_RELATION_KIND_REQUIRES); } else if (field_id == AS_TAG_AGREEMENT) { - GNode *n; - for (n = node->children; n != NULL; n = n->next) { + for (GNode *n = node->children; n != NULL; n = n->next) { g_autoptr(AsAgreement) agreement = as_agreement_new (); if (as_agreement_load_from_yaml (agreement, ctx, n, NULL)) as_component_add_agreement (cpt, agreement); } } else if (field_id == AS_TAG_NAME_VARIANT_SUFFIX) { - priv->name_variant_suffix = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free); + if (priv->name_variant_suffix != NULL) + g_hash_table_unref (priv->name_variant_suffix); + priv->name_variant_suffix = g_hash_table_new_full (g_str_hash, g_str_equal, + (GDestroyNotify) as_ref_string_release, + g_free); as_yaml_set_localized_table (ctx, node, priv->name_variant_suffix); } else if (field_id == AS_TAG_CUSTOM) { as_component_yaml_parse_custom (cpt, node); + } else if (field_id == AS_TAG_REVIEWS) { + for (GNode *n = node->children; n != NULL; n = n->next) { + g_autoptr(AsReview) review = as_review_new (); + if (as_review_load_from_yaml (review, ctx, n, NULL)) + as_component_add_review (cpt, review); + } } else { as_yaml_print_unknown ("root", key); } @@ -4770,19 +4808,19 @@ as_yaml_emit_entry (emitter, "name", as_icon_get_name (icon)); if (as_icon_get_width (icon) > 0) { - as_yaml_emit_entry_uint (emitter, + as_yaml_emit_entry_uint64 (emitter, "width", as_icon_get_width (icon)); } if (as_icon_get_height (icon) > 0) { - as_yaml_emit_entry_uint (emitter, + as_yaml_emit_entry_uint64 (emitter, "height", as_icon_get_height (icon)); } if (as_icon_get_scale (icon) > 1) { - as_yaml_emit_entry_uint (emitter, + as_yaml_emit_entry_uint64 (emitter, "scale", as_icon_get_scale (icon)); } @@ -4842,9 +4880,9 @@ "binaries", items); break; - case AS_PROVIDED_KIND_MIMETYPE: + case AS_PROVIDED_KIND_MEDIATYPE: as_yaml_emit_sequence (emitter, - "mimetypes", + "mediatypes", items); break; case AS_PROVIDED_KIND_PYTHON_2: @@ -4953,7 +4991,7 @@ as_yaml_mapping_start (emitter); as_yaml_emit_entry (emitter, "type", "runtime"); - as_yaml_emit_entry (emitter, "guid", value); + as_yaml_emit_entry (emitter, "file", value); as_yaml_mapping_end (emitter); } @@ -4965,7 +5003,7 @@ as_yaml_mapping_start (emitter); as_yaml_emit_entry (emitter, "type", "flashed"); - as_yaml_emit_entry (emitter, "file", value); + as_yaml_emit_entry (emitter, "guid", value); as_yaml_mapping_end (emitter); } @@ -5004,7 +5042,7 @@ as_yaml_mapping_start (emitter); as_yaml_emit_entry (emitter, "locale", locale); - as_yaml_emit_entry_uint (emitter, "percentage", percentage); + as_yaml_emit_entry_uint64 (emitter, "percentage", percentage); as_yaml_mapping_end (emitter); } @@ -5050,7 +5088,6 @@ as_component_emit_yaml (AsComponent *cpt, AsContext *ctx, yaml_emitter_t *emitter) { AsComponentPrivate *priv = GET_PRIVATE (cpt); - guint i; gint res; const gchar *cstr; yaml_event_t event; @@ -5158,7 +5195,7 @@ as_yaml_emit_scalar (emitter, "Bundles"); as_yaml_sequence_start (emitter); - for (i = 0; i < priv->bundles->len; i++) { + for (guint i = 0; i < priv->bundles->len; i++) { AsBundle *bundle = AS_BUNDLE (g_ptr_array_index (priv->bundles, i)); as_bundle_emit_yaml (bundle, ctx, emitter); } @@ -5171,7 +5208,7 @@ as_yaml_emit_scalar (emitter, "Launchable"); as_yaml_mapping_start (emitter); - for (i = 0; i < priv->launchables->len; i++) { + for (guint i = 0; i < priv->launchables->len; i++) { AsLaunchable *launch = AS_LAUNCHABLE (g_ptr_array_index (priv->launchables, i)); as_launchable_emit_yaml (launch, ctx, emitter); } @@ -5187,7 +5224,7 @@ as_yaml_emit_scalar (emitter, "Screenshots"); as_yaml_sequence_start (emitter); - for (i = 0; i < priv->screenshots->len; i++) { + for (guint i = 0; i < priv->screenshots->len; i++) { AsScreenshot *screenshot = AS_SCREENSHOT (g_ptr_array_index (priv->screenshots, i)); as_screenshot_emit_yaml (screenshot, ctx, emitter); } @@ -5203,7 +5240,7 @@ as_yaml_emit_scalar (emitter, "Agreements"); as_yaml_sequence_start (emitter); - for (i = 0; i < priv->agreements->len; i++) { + for (guint i = 0; i < priv->agreements->len; i++) { AsAgreement *agreement = AS_AGREEMENT (g_ptr_array_index (priv->agreements, i)); as_agreement_emit_yaml (agreement, ctx, emitter); } @@ -5219,7 +5256,7 @@ as_yaml_emit_scalar (emitter, "Releases"); as_yaml_sequence_start (emitter); - for (i = 0; i < priv->releases->len; i++) { + for (guint i = 0; i < priv->releases->len; i++) { AsRelease *release = AS_RELEASE (g_ptr_array_index (priv->releases, i)); as_release_emit_yaml (release, ctx, emitter); } @@ -5232,7 +5269,7 @@ as_yaml_emit_scalar (emitter, "Suggests"); as_yaml_sequence_start (emitter); - for (i = 0; i < priv->suggestions->len; i++) { + for (guint i = 0; i < priv->suggestions->len; i++) { AsSuggested *suggested = AS_SUGGESTED (g_ptr_array_index (priv->suggestions, i)); as_suggested_emit_yaml (suggested, ctx, emitter); } @@ -5245,7 +5282,7 @@ as_yaml_emit_scalar (emitter, "ContentRating"); as_yaml_mapping_start (emitter); - for (i = 0; i < priv->content_ratings->len; i++) { + for (guint i = 0; i < priv->content_ratings->len; i++) { AsContentRating *content_rating = AS_CONTENT_RATING (g_ptr_array_index (priv->content_ratings, i)); as_content_rating_emit_yaml (content_rating, ctx, emitter); } @@ -5258,7 +5295,7 @@ as_yaml_emit_scalar (emitter, "Recommends"); as_yaml_sequence_start (emitter); - for (i = 0; i < priv->recommends->len; i++) { + for (guint i = 0; i < priv->recommends->len; i++) { AsRelation *relation = AS_RELATION (g_ptr_array_index (priv->recommends, i)); as_relation_emit_yaml (relation, ctx, emitter); } @@ -5271,7 +5308,7 @@ as_yaml_emit_scalar (emitter, "Requires"); as_yaml_sequence_start (emitter); - for (i = 0; i < priv->requires->len; i++) { + for (guint i = 0; i < priv->requires->len; i++) { AsRelation *relation = AS_RELATION (g_ptr_array_index (priv->requires, i)); as_relation_emit_yaml (relation, ctx, emitter); } @@ -5282,6 +5319,19 @@ /* Custom fields */ as_component_yaml_emit_custom (cpt, emitter); + /* Reviews */ + if (priv->reviews->len > 0) { + as_yaml_emit_scalar (emitter, "Reviews"); + as_yaml_mapping_start (emitter); + + for (guint i = 0; i < priv->reviews->len; i++) { + AsReview *review = AS_REVIEW (g_ptr_array_index (priv->reviews, i)); + as_review_emit_yaml (review, ctx, emitter); + } + + as_yaml_mapping_end (emitter); + } + /* close main mapping */ as_yaml_mapping_end (emitter); @@ -5292,6 +5342,83 @@ } /** + * as_component_load_from_bytes: + * @cpt: an #AsComponent instance. + * @context: an #AsContext instance. + * @format: the format of the data to load, e.g. %AS_FORMAT_KIND_XML + * @bytes: the data to load. + * @error: a #GError. + * + * Load metadata for this component from an XML string. + * You normally do not want to use this method directly and instead use the more + * convenient API of #AsMetadata to create and update components. + * + * Returns: %TRUE on success. + * + * Since: 0.14.0 + */ +gboolean +as_component_load_from_bytes (AsComponent *cpt, AsContext *context, AsFormatKind format, GBytes *bytes, GError **error) +{ + AsComponentPrivate *priv = GET_PRIVATE (cpt); + gsize data_len; + const gchar *data = g_bytes_get_data (bytes, &data_len); + + if (data_len == 0) { + g_set_error_literal (error, + AS_METADATA_ERROR, + AS_METADATA_ERROR_FAILED, + "No data submitted to load component from."); + return FALSE; + } + + if ((format == AS_FORMAT_KIND_XML) || (format == AS_FORMAT_KIND_UNKNOWN)) { + xmlDoc *doc; + xmlNode *root; + gboolean ret; + g_return_val_if_fail (context != NULL, FALSE); + + doc = as_xml_parse_document (data, data_len, error); + if (doc == NULL) + return FALSE; + root = xmlDocGetRootElement (doc); + + ret = as_component_load_from_xml (cpt, context, root, error); + xmlFreeDoc (doc); + return ret; + } + + if (format == AS_FORMAT_KIND_DESKTOP_ENTRY) { + GError *tmp_error = NULL; + as_desktop_entry_parse_data (cpt, + data, + data_len, + AS_FORMAT_VERSION_CURRENT, + TRUE, + NULL, /* issues */ + NULL, /* l10n function */ + NULL, /* l10n func user data */ + &tmp_error); + if (tmp_error != NULL) { + g_propagate_error (error, tmp_error); + return FALSE; + } + + /* update context */ + priv->priority = as_context_get_priority (context); + as_component_set_context (cpt, context); + + return TRUE; + } + + g_set_error_literal (error, + AS_METADATA_ERROR, + AS_METADATA_ERROR_FAILED, + "Unable to load data: Unknown or unsupported format for this operation."); + return FALSE; +} + +/** * as_component_load_from_xml_data: * @cpt: an #AsComponent instance. * @context: an #AsContext instance. @@ -5309,19 +5436,12 @@ gboolean as_component_load_from_xml_data (AsComponent *cpt, AsContext *context, const gchar *data, GError **error) { - xmlDoc *doc; - xmlNode *root; - gboolean ret; - g_return_val_if_fail (context != NULL, FALSE); - - doc = as_xml_parse_document (data, -1, error); - if (doc == NULL) - return FALSE; - root = xmlDocGetRootElement (doc); - - ret = as_component_load_from_xml (cpt, context, root, error); - xmlFreeDoc (doc); - return ret; + g_autoptr(GBytes) bytes = g_bytes_new_static (data, strlen (data)); + return as_component_load_from_bytes (cpt, + context, + AS_FORMAT_KIND_XML, + bytes, + error); } /** diff -Nru appstream-0.12.10/src/as-component.h appstream-0.14.5/src/as-component.h --- appstream-0.12.10/src/as-component.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-component.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2012-2020 Matthias Klumpp + * Copyright (C) 2012-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -28,6 +28,7 @@ #include #include "as-context.h" #include "as-enums.h" +#include "as-enum-types.h" #include "as-provided.h" #include "as-icon.h" #include "as-screenshot.h" @@ -40,6 +41,7 @@ #include "as-launchable.h" #include "as-relation.h" #include "as-agreement.h" +#include "as-review.h" G_BEGIN_DECLS @@ -68,7 +70,7 @@ * @AS_COMPONENT_KIND_ADDON: An extension of existing software, which does not run standalone * @AS_COMPONENT_KIND_FONT: A font * @AS_COMPONENT_KIND_CODEC: A multimedia codec - * @AS_COMPONENT_KIND_INPUTMETHOD: An input-method provider + * @AS_COMPONENT_KIND_INPUT_METHOD: An input-method provider * @AS_COMPONENT_KIND_FIRMWARE: Firmware * @AS_COMPONENT_KIND_DRIVER: A driver * @AS_COMPONENT_KIND_LOCALIZATION: Software localization (usually l10n resources) @@ -89,7 +91,7 @@ AS_COMPONENT_KIND_ADDON, AS_COMPONENT_KIND_FONT, AS_COMPONENT_KIND_CODEC, - AS_COMPONENT_KIND_INPUTMETHOD, + AS_COMPONENT_KIND_INPUT_METHOD, AS_COMPONENT_KIND_FIRMWARE, AS_COMPONENT_KIND_DRIVER, AS_COMPONENT_KIND_LOCALIZATION, @@ -102,8 +104,8 @@ AS_COMPONENT_KIND_LAST } AsComponentKind; -#define AS_TYPE_COMPONENT_KIND (as_component_kind_get_type ()) -GType as_component_kind_get_type (void) G_GNUC_CONST; +#define AS_COMPONENT_KIND_INPUTMETHOD AS_COMPONENT_KIND_INPUT_METHOD + const gchar *as_component_kind_to_string (AsComponentKind kind); AsComponentKind as_component_kind_from_string (const gchar *kind_str); @@ -146,7 +148,7 @@ } AsComponentScope; const gchar *as_component_scope_to_string (AsComponentScope scope); -AsMergeKind as_component_scope_from_string (const gchar *scope_str); +AsComponentScope as_component_scope_from_string (const gchar *scope_str); /** * AsValueFlags: @@ -163,6 +165,37 @@ AS_VALUE_FLAG_NO_TRANSLATION_FALLBACK = 1 << 1 } AsValueFlags; +/** + * AsSearchTokenMatch: + * @AS_SEARCH_TOKEN_MATCH_NONE: No token matching + * @AS_SEARCH_TOKEN_MATCH_MEDIATYPE: Use the component mediatypes + * @AS_SEARCH_TOKEN_MATCH_PKGNAME: Use the component package name + * @AS_SEARCH_TOKEN_MATCH_ORIGIN: Use the app origin + * @AS_SEARCH_TOKEN_MATCH_DESCRIPTION: Use the component description + * @AS_SEARCH_TOKEN_MATCH_COMMENT: Use the component comment + * @AS_SEARCH_TOKEN_MATCH_NAME: Use the component name + * @AS_SEARCH_TOKEN_MATCH_KEYWORD: Use the component keyword + * @AS_SEARCH_TOKEN_MATCH_ID: Use the component ID + * + * The token match kind, which we want to be exactly 16 bits for storage + * reasons. + **/ +typedef enum /*< skip >*/ __attribute__((__packed__)) { + AS_SEARCH_TOKEN_MATCH_NONE = 0, + AS_SEARCH_TOKEN_MATCH_MEDIATYPE = 1 << 0, + AS_SEARCH_TOKEN_MATCH_PKGNAME = 1 << 1, + AS_SEARCH_TOKEN_MATCH_ORIGIN = 1 << 2, + AS_SEARCH_TOKEN_MATCH_DESCRIPTION = 1 << 3, + AS_SEARCH_TOKEN_MATCH_SUMMARY = 1 << 4, + AS_SEARCH_TOKEN_MATCH_KEYWORD = 1 << 5, + AS_SEARCH_TOKEN_MATCH_NAME = 1 << 6, + AS_SEARCH_TOKEN_MATCH_ID = 1 << 7, + /*< private >*/ + AS_SEARCH_TOKEN_MATCH_LAST = 0xffff +} AsSearchTokenMatch; + +#define AS_SEARCH_TOKEN_MATCH_MIMETYPE AS_SEARCH_TOKEN_MATCH_MEDIATYPE + AsComponent *as_component_new (void); AsValueFlags as_component_get_value_flags (AsComponent *cpt); @@ -189,6 +222,10 @@ void as_component_set_origin (AsComponent *cpt, const gchar *origin); +const gchar *as_component_get_branch (AsComponent *cpt); +void as_component_set_branch (AsComponent *cpt, + const gchar *branch); + AsComponentScope as_component_get_scope (AsComponent *cpt); void as_component_set_scope (AsComponent *cpt, AsComponentScope scope); @@ -197,6 +234,8 @@ gchar **as_component_get_pkgnames (AsComponent *cpt); void as_component_set_pkgnames (AsComponent *cpt, gchar **packages); +void as_component_set_pkgname (AsComponent *cpt, + const gchar *pkgname); const gchar *as_component_get_source_pkgname (AsComponent *cpt); void as_component_set_source_pkgname (AsComponent *cpt, @@ -273,6 +312,9 @@ AsProvided *prov); AsProvided *as_component_get_provided_for_kind (AsComponent *cpt, AsProvidedKind kind); +void as_component_add_provided_item (AsComponent *cpt, + AsProvidedKind kind, + const gchar *item); const gchar *as_component_get_url (AsComponent *cpt, AsUrlKind url_kind); @@ -298,6 +340,7 @@ void as_component_add_language (AsComponent *cpt, const gchar *locale, gint percentage); +void as_component_clear_languages (AsComponent *cpt); GPtrArray *as_component_get_translations (AsComponent *cpt); void as_component_add_translation (AsComponent *cpt, @@ -332,6 +375,10 @@ gboolean as_component_is_valid (AsComponent *cpt); gchar *as_component_to_string (AsComponent *cpt); +gint as_component_get_priority (AsComponent *cpt); +void as_component_set_priority (AsComponent *cpt, + gint priority); + GHashTable *as_component_get_custom (AsComponent *cpt); const gchar *as_component_get_custom_value (AsComponent *cpt, const gchar *key); @@ -360,14 +407,25 @@ const gchar *value, const gchar *locale); +guint as_component_get_sort_score (AsComponent *cpt); +void as_component_set_sort_score (AsComponent *cpt, + guint score); + +GPtrArray *as_component_get_reviews (AsComponent *cpt); +void as_component_add_review (AsComponent *cpt, + AsReview *review); + +AsContext *as_component_get_context (AsComponent *cpt); + GHashTable *as_component_get_name_table (AsComponent *cpt); GHashTable *as_component_get_summary_table (AsComponent *cpt); GHashTable *as_component_get_keywords_table (AsComponent *cpt); -gboolean as_component_load_from_xml_data (AsComponent *cpt, - AsContext *context, - const gchar *data, - GError **error); +gboolean as_component_load_from_bytes (AsComponent *cpt, + AsContext *context, + AsFormatKind format, + GBytes *bytes, + GError **error); gchar *as_component_to_xml_data (AsComponent *cpt, AsContext *context, GError **error); @@ -377,6 +435,12 @@ G_DEPRECATED const gchar *as_component_get_desktop_id (AsComponent *cpt); +G_DEPRECATED +gboolean as_component_load_from_xml_data (AsComponent *cpt, + AsContext *context, + const gchar *data, + GError **error); + G_END_DECLS #endif /* __AS_COMPONENT_H */ diff -Nru appstream-0.12.10/src/as-component-private.h appstream-0.14.5/src/as-component-private.h --- appstream-0.12.10/src/as-component-private.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-component-private.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2012-2020 Matthias Klumpp + * Copyright (C) 2012-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -50,12 +50,6 @@ typedef guint16 AsTokenType; /* big enough for both bitshifts */ -AS_INTERNAL_VISIBLE -gint as_component_get_priority (AsComponent *cpt); -AS_INTERNAL_VISIBLE -void as_component_set_priority (AsComponent *cpt, - gint priority); - void as_component_complete (AsComponent *cpt, gchar *scr_base_url, GPtrArray *icon_paths); @@ -69,10 +63,6 @@ gboolean as_component_has_package (AsComponent *cpt); gboolean as_component_has_install_candidate (AsComponent *cpt); -void as_component_add_provided_item (AsComponent *cpt, - AsProvidedKind kind, - const gchar *item); - const gchar *as_component_get_architecture (AsComponent *cpt); void as_component_set_architecture (AsComponent *cpt, const gchar *arch); @@ -82,10 +72,6 @@ void as_component_set_token_cache_valid (AsComponent *cpt, gboolean valid); -guint as_component_get_sort_score (AsComponent *cpt); -void as_component_set_sort_score (AsComponent *cpt, - guint score); - void as_component_set_ignored (AsComponent *cpt, gboolean ignore); @@ -99,7 +85,6 @@ AsComponent *source, AsMergeKind merge_kind); -AsContext *as_component_get_context (AsComponent *cpt); void as_component_set_context (AsComponent *cpt, AsContext *context); diff -Nru appstream-0.12.10/src/as-content-rating.c appstream-0.14.5/src/as-content-rating.c --- appstream-0.12.10/src/as-content-rating.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-content-rating.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2016-2020 Matthias Klumpp + * Copyright (C) 2016-2021 Matthias Klumpp * Copyright (C) 2016-2020 Richard Hughes * * Licensed under the GNU Lesser General Public License Version 2.1 @@ -33,8 +33,10 @@ #include "config.h" +#include #include "as-content-rating.h" #include "as-content-rating-private.h" +#include "as-utils-private.h" typedef struct { gchar *id; @@ -75,8 +77,7 @@ static void as_content_rating_key_free (AsContentRatingKey *key) { - if (key->id != NULL) - g_free (key->id); + as_ref_string_release (key->id); g_slice_free (AsContentRatingKey, key); } @@ -158,7 +159,7 @@ g_return_if_fail (value != AS_CONTENT_RATING_VALUE_UNKNOWN); key = g_slice_new0 (AsContentRatingKey); - key->id = g_strdup (id); + key->id = g_ref_string_new_intern (id); key->value = value; g_ptr_array_add (priv->keys, key); } @@ -247,6 +248,946 @@ return AS_CONTENT_RATING_VALUE_UNKNOWN; } +static const gchar *rating_system_names[] = { + [AS_CONTENT_RATING_SYSTEM_UNKNOWN] = NULL, + [AS_CONTENT_RATING_SYSTEM_INCAA] = "INCAA", + [AS_CONTENT_RATING_SYSTEM_ACB] = "ACB", + [AS_CONTENT_RATING_SYSTEM_DJCTQ] = "DJCTQ", + [AS_CONTENT_RATING_SYSTEM_GSRR] = "GSRR", + [AS_CONTENT_RATING_SYSTEM_PEGI] = "PEGI", + [AS_CONTENT_RATING_SYSTEM_KAVI] = "KAVI", + [AS_CONTENT_RATING_SYSTEM_USK] = "USK", + [AS_CONTENT_RATING_SYSTEM_ESRA] = "ESRA", + [AS_CONTENT_RATING_SYSTEM_CERO] = "CERO", + [AS_CONTENT_RATING_SYSTEM_OFLCNZ] = "OFLCNZ", + [AS_CONTENT_RATING_SYSTEM_RUSSIA] = "RUSSIA", + [AS_CONTENT_RATING_SYSTEM_MDA] = "MDA", + [AS_CONTENT_RATING_SYSTEM_GRAC] = "GRAC", + [AS_CONTENT_RATING_SYSTEM_ESRB] = "ESRB", + [AS_CONTENT_RATING_SYSTEM_IARC] = "IARC", +}; +G_STATIC_ASSERT (G_N_ELEMENTS (rating_system_names) == AS_CONTENT_RATING_SYSTEM_LAST); + +/** + * as_content_rating_system_to_string: + * @system: an #AsContentRatingSystem + * + * Get a human-readable string to identify @system. %NULL will be returned for + * %AS_CONTENT_RATING_SYSTEM_UNKNOWN. + * + * Returns: (nullable): a human-readable string for @system, or %NULL if unknown + * Since: 0.12.12 + */ +const gchar * +as_content_rating_system_to_string (AsContentRatingSystem system) +{ + if ((gint) system < AS_CONTENT_RATING_SYSTEM_UNKNOWN || + (gint) system >= AS_CONTENT_RATING_SYSTEM_LAST) + return NULL; + + return rating_system_names[system]; +} + +static char * +get_esrb_string (const gchar *source, const gchar *translate) +{ + if (g_strcmp0 (source, translate) == 0) + return g_strdup (source); + /* TRANSLATORS: This is the formatting of English and localized name + * of the rating e.g. "Adults Only (solo adultos)" */ + return g_strdup_printf (_("%s (%s)"), source, translate); +} + +/** + * as_content_rating_system_format_age: + * @system: an #AsContentRatingSystem + * @age: a CSM age to format + * + * Format @age as a human-readable string in the given rating @system. This is + * the way to present system-specific strings in a UI. + * + * Returns: (transfer full) (nullable): a newly allocated formatted version of + * @age, or %NULL if the given @system has no representation for @age + * Since: 0.12.12 + */ +/* data obtained from https://en.wikipedia.org/wiki/Video_game_rating_system */ +gchar * +as_content_rating_system_format_age (AsContentRatingSystem system, guint age) +{ + if (system == AS_CONTENT_RATING_SYSTEM_INCAA) { + if (age >= 18) + return g_strdup ("+18"); + if (age >= 13) + return g_strdup ("+13"); + return g_strdup ("ATP"); + } + if (system == AS_CONTENT_RATING_SYSTEM_ACB) { + if (age >= 18) + return g_strdup ("R18+"); + if (age >= 15) + return g_strdup ("MA15+"); + return g_strdup ("PG"); + } + if (system == AS_CONTENT_RATING_SYSTEM_DJCTQ) { + if (age >= 18) + return g_strdup ("18"); + if (age >= 16) + return g_strdup ("16"); + if (age >= 14) + return g_strdup ("14"); + if (age >= 12) + return g_strdup ("12"); + if (age >= 10) + return g_strdup ("10"); + return g_strdup ("L"); + } + if (system == AS_CONTENT_RATING_SYSTEM_GSRR) { + if (age >= 18) + return g_strdup ("限制"); + if (age >= 15) + return g_strdup ("輔15"); + if (age >= 12) + return g_strdup ("輔12"); + if (age >= 6) + return g_strdup ("保護"); + return g_strdup ("普通"); + } + if (system == AS_CONTENT_RATING_SYSTEM_PEGI) { + if (age >= 18) + return g_strdup ("18"); + if (age >= 16) + return g_strdup ("16"); + if (age >= 12) + return g_strdup ("12"); + if (age >= 7) + return g_strdup ("7"); + if (age >= 3) + return g_strdup ("3"); + return NULL; + } + if (system == AS_CONTENT_RATING_SYSTEM_KAVI) { + if (age >= 18) + return g_strdup ("18+"); + if (age >= 16) + return g_strdup ("16+"); + if (age >= 12) + return g_strdup ("12+"); + if (age >= 7) + return g_strdup ("7+"); + if (age >= 3) + return g_strdup ("3+"); + return NULL; + } + if (system == AS_CONTENT_RATING_SYSTEM_USK) { + if (age >= 18) + return g_strdup ("18"); + if (age >= 16) + return g_strdup ("16"); + if (age >= 12) + return g_strdup ("12"); + if (age >= 6) + return g_strdup ("6"); + return g_strdup ("0"); + } + /* Reference: http://www.esra.org.ir/ */ + if (system == AS_CONTENT_RATING_SYSTEM_ESRA) { + if (age >= 18) + return g_strdup ("+18"); + if (age >= 15) + return g_strdup ("+15"); + if (age >= 12) + return g_strdup ("+12"); + if (age >= 7) + return g_strdup ("+7"); + if (age >= 3) + return g_strdup ("+3"); + return NULL; + } + if (system == AS_CONTENT_RATING_SYSTEM_CERO) { + if (age >= 18) + return g_strdup ("Z"); + if (age >= 17) + return g_strdup ("D"); + if (age >= 15) + return g_strdup ("C"); + if (age >= 12) + return g_strdup ("B"); + return g_strdup ("A"); + } + if (system == AS_CONTENT_RATING_SYSTEM_OFLCNZ) { + if (age >= 18) + return g_strdup ("R18"); + if (age >= 16) + return g_strdup ("R16"); + if (age >= 15) + return g_strdup ("R15"); + if (age >= 13) + return g_strdup ("R13"); + return g_strdup ("G"); + } + if (system == AS_CONTENT_RATING_SYSTEM_RUSSIA) { + if (age >= 18) + return g_strdup ("18+"); + if (age >= 16) + return g_strdup ("16+"); + if (age >= 12) + return g_strdup ("12+"); + if (age >= 6) + return g_strdup ("6+"); + return g_strdup ("0+"); + } + if (system == AS_CONTENT_RATING_SYSTEM_MDA) { + if (age >= 18) + return g_strdup ("M18"); + if (age >= 16) + return g_strdup ("ADV"); + return get_esrb_string ("General", _("General")); + } + if (system == AS_CONTENT_RATING_SYSTEM_GRAC) { + if (age >= 18) + return g_strdup ("18"); + if (age >= 15) + return g_strdup ("15"); + if (age >= 12) + return g_strdup ("12"); + return get_esrb_string ("ALL", _("ALL")); + } + if (system == AS_CONTENT_RATING_SYSTEM_ESRB) { + if (age >= 18) + return get_esrb_string ("Adults Only", _("Adults Only")); + if (age >= 17) + return get_esrb_string ("Mature", _("Mature")); + if (age >= 13) + return get_esrb_string ("Teen", _("Teen")); + if (age >= 10) + return get_esrb_string ("Everyone 10+", _("Everyone 10+")); + if (age >= 6) + return get_esrb_string ("Everyone", _("Everyone")); + + return get_esrb_string ("Early Childhood", _("Early Childhood")); + } + /* IARC = everything else */ + if (age >= 18) + return g_strdup ("18+"); + if (age >= 16) + return g_strdup ("16+"); + if (age >= 12) + return g_strdup ("12+"); + if (age >= 7) + return g_strdup ("7+"); + if (age >= 3) + return g_strdup ("3+"); + return NULL; +} + +static const gchar *content_rating_strings[AS_CONTENT_RATING_SYSTEM_LAST][7] = { + /* AS_CONTENT_RATING_SYSTEM_UNKNOWN is handled in code */ + [AS_CONTENT_RATING_SYSTEM_INCAA] = { "ATP", "+13", "+18", NULL }, + [AS_CONTENT_RATING_SYSTEM_ACB] = { "PG", "MA15+", "R18+", NULL }, + [AS_CONTENT_RATING_SYSTEM_DJCTQ] = { "L", "10", "12", "14", "16", "18", NULL }, + [AS_CONTENT_RATING_SYSTEM_GSRR] = { "普通", "保護", "輔12", "輔15", "限制", NULL }, + [AS_CONTENT_RATING_SYSTEM_PEGI] = { "3", "7", "12", "16", "18", NULL }, + [AS_CONTENT_RATING_SYSTEM_KAVI] = { "3+", "7+", "12+", "16+", "18+", NULL }, + [AS_CONTENT_RATING_SYSTEM_USK] = { "0", "6", "12", "16", "18", NULL }, + [AS_CONTENT_RATING_SYSTEM_ESRA] = { "+3", "+7", "+12", "+15", "+18", NULL }, + [AS_CONTENT_RATING_SYSTEM_CERO] = { "A", "B", "C", "D", "Z", NULL }, + [AS_CONTENT_RATING_SYSTEM_OFLCNZ] = { "G", "R13", "R15", "R16", "R18", NULL }, + [AS_CONTENT_RATING_SYSTEM_RUSSIA] = { "0+", "6+", "12+", "16+", "18+", NULL }, + [AS_CONTENT_RATING_SYSTEM_MDA] = { "General", "ADV", "M18", NULL }, + [AS_CONTENT_RATING_SYSTEM_GRAC] = { "ALL", "12", "15", "18", NULL }, + /* Note: ESRB has locale-specific suffixes, so needs special further + * handling in code. These strings are just the locale-independent parts. */ + [AS_CONTENT_RATING_SYSTEM_ESRB] = { "Early Childhood", "Everyone", "Everyone 10+", "Teen", "Mature", "Adults Only", NULL }, + [AS_CONTENT_RATING_SYSTEM_IARC] = { "3+", "7+", "12+", "16+", "18+", NULL }, +}; + +/** + * as_content_rating_add_attribute: + * @content_rating: a #AsContentRating instance. + * @id: a content rating ID, e.g. `money-gambling`. + * @value: a #AsContentRatingValue, e.g. %AS_CONTENT_RATING_VALUE_MODERATE. + * + * Adds an attribute value to the content rating. + * + * Since: 0.14.0 + **/ +void +as_content_rating_add_attribute (AsContentRating *content_rating, + const gchar *id, + AsContentRatingValue value) +{ + AsContentRatingKey *key = g_slice_new0 (AsContentRatingKey); + AsContentRatingPrivate *priv = GET_PRIVATE (content_rating); + + g_return_if_fail (AS_IS_CONTENT_RATING (content_rating)); + g_return_if_fail (id != NULL); + g_return_if_fail (value != AS_CONTENT_RATING_VALUE_UNKNOWN); + + key->id = g_ref_string_new_intern (id); + key->value = value; + g_ptr_array_add (priv->keys, key); +} + +/** + * as_content_rating_system_get_formatted_ages: + * @system: an #AsContentRatingSystem + * + * Get an array of all the possible return values of + * as_content_rating_system_format_age() for the given @system. The array is + * sorted with youngest CSM age first. + * + * Returns: (transfer full): %NULL-terminated array of human-readable age strings + * Since: 0.12.12 + */ +gchar ** +as_content_rating_system_get_formatted_ages (AsContentRatingSystem system) +{ + g_return_val_if_fail ((int) system < AS_CONTENT_RATING_SYSTEM_LAST, NULL); + + /* IARC is the fallback for everything */ + if (system == AS_CONTENT_RATING_SYSTEM_UNKNOWN) + system = AS_CONTENT_RATING_SYSTEM_IARC; + + /* ESRB is special as it requires localised suffixes */ + if (system == AS_CONTENT_RATING_SYSTEM_ESRB) { + g_auto(GStrv) esrb_ages = g_new0 (gchar *, 7); + + esrb_ages[0] = get_esrb_string (content_rating_strings[system][0], _("Early Childhood")); + esrb_ages[1] = get_esrb_string (content_rating_strings[system][1], _("Everyone")); + esrb_ages[2] = get_esrb_string (content_rating_strings[system][2], _("Everyone 10+")); + esrb_ages[3] = get_esrb_string (content_rating_strings[system][3], _("Teen")); + esrb_ages[4] = get_esrb_string (content_rating_strings[system][4], _("Mature")); + esrb_ages[5] = get_esrb_string (content_rating_strings[system][5], _("Adults Only")); + esrb_ages[6] = NULL; + + return g_steal_pointer (&esrb_ages); + } + + return g_strdupv ((gchar **) content_rating_strings[system]); +} + +static guint content_rating_csm_ages[AS_CONTENT_RATING_SYSTEM_LAST][7] = { + /* AS_CONTENT_RATING_SYSTEM_UNKNOWN is handled in code */ + [AS_CONTENT_RATING_SYSTEM_INCAA] = { 0, 13, 18 }, + [AS_CONTENT_RATING_SYSTEM_ACB] = { 0, 15, 18 }, + [AS_CONTENT_RATING_SYSTEM_DJCTQ] = { 0, 10, 12, 14, 16, 18 }, + [AS_CONTENT_RATING_SYSTEM_GSRR] = { 0, 6, 12, 15, 18 }, + [AS_CONTENT_RATING_SYSTEM_PEGI] = { 3, 7, 12, 16, 18 }, + [AS_CONTENT_RATING_SYSTEM_KAVI] = { 3, 7, 12, 16, 18 }, + [AS_CONTENT_RATING_SYSTEM_USK] = { 0, 6, 12, 16, 18 }, + [AS_CONTENT_RATING_SYSTEM_ESRA] = { 3, 7, 12, 15, 18 }, + [AS_CONTENT_RATING_SYSTEM_CERO] = { 0, 12, 15, 17, 18 }, + [AS_CONTENT_RATING_SYSTEM_OFLCNZ] = { 0, 13, 15, 16, 18 }, + [AS_CONTENT_RATING_SYSTEM_RUSSIA] = { 0, 6, 12, 16, 18 }, + [AS_CONTENT_RATING_SYSTEM_MDA] = { 0, 16, 18 }, + [AS_CONTENT_RATING_SYSTEM_GRAC] = { 0, 12, 15, 18 }, + [AS_CONTENT_RATING_SYSTEM_ESRB] = { 0, 6, 10, 13, 17, 18 }, + [AS_CONTENT_RATING_SYSTEM_IARC] = { 3, 7, 12, 16, 18 }, +}; + +/** + * as_content_rating_system_get_csm_ages: + * @system: an #AsContentRatingSystem + * @length_out: (out) (not optional): return location for the length of the + * returned array + * + * Get the CSM ages corresponding to the entries returned by + * as_content_rating_system_get_formatted_ages() for this @system. + * + * Returns: (transfer container) (array length=length_out): an array of CSM ages + * Since: 0.12.12 + */ +const guint * +as_content_rating_system_get_csm_ages (AsContentRatingSystem system, gsize *length_out) +{ + g_return_val_if_fail ((int) system < AS_CONTENT_RATING_SYSTEM_LAST, NULL); + g_return_val_if_fail (length_out != NULL, NULL); + + /* IARC is the fallback for everything */ + if (system == AS_CONTENT_RATING_SYSTEM_UNKNOWN) + system = AS_CONTENT_RATING_SYSTEM_IARC; + + *length_out = g_strv_length ((gchar **) content_rating_strings[system]); + return content_rating_csm_ages[system]; +} + +/* + * parse_locale: + * @locale: (transfer full): a locale to parse + * @language_out: (out) (optional) (nullable): return location for the parsed + * language, or %NULL to ignore + * @territory_out: (out) (optional) (nullable): return location for the parsed + * territory, or %NULL to ignore + * @codeset_out: (out) (optional) (nullable): return location for the parsed + * codeset, or %NULL to ignore + * @modifier_out: (out) (optional) (nullable): return location for the parsed + * modifier, or %NULL to ignore + * + * Parse @locale as a locale string of the form + * `language[_territory][.codeset][@modifier]` — see `man 3 setlocale` for + * details. + * + * On success, %TRUE will be returned, and the components of the locale will be + * returned in the given addresses, with each component not including any + * separators. Otherwise, %FALSE will be returned and the components will be set + * to %NULL. + * + * @locale is modified, and any returned non-%NULL pointers will point inside + * it. + * + * Returns: %TRUE on success, %FALSE otherwise + */ +static gboolean +parse_locale (gchar *locale /* (transfer full) */, + const gchar **language_out, + const gchar **territory_out, + const gchar **codeset_out, + const gchar **modifier_out) +{ + gchar *separator; + const gchar *language = NULL, *territory = NULL, *codeset = NULL, *modifier = NULL; + + separator = strrchr (locale, '@'); + if (separator != NULL) { + modifier = separator + 1; + *separator = '\0'; + } + + separator = strrchr (locale, '.'); + if (separator != NULL) { + codeset = separator + 1; + *separator = '\0'; + } + + separator = strrchr (locale, '_'); + if (separator != NULL) { + territory = separator + 1; + *separator = '\0'; + } + + language = locale; + + /* Parse failure? */ + if (*language == '\0') { + language = NULL; + territory = NULL; + codeset = NULL; + modifier = NULL; + } + + if (language_out != NULL) + *language_out = language; + if (territory_out != NULL) + *territory_out = territory; + if (codeset_out != NULL) + *codeset_out = codeset; + if (modifier_out != NULL) + *modifier_out = modifier; + + return (language != NULL); +} + +/** + * as_content_rating_system_from_locale: + * @locale: a locale, in the format described in `man 3 setlocale` + * + * Determine the most appropriate #AsContentRatingSystem for the given @locale. + * Content rating systems are selected by territory. If no content rating system + * seems suitable, %AS_CONTENT_RATING_SYSTEM_IARC is returned. + * + * Returns: the most relevant #AsContentRatingSystem + * Since: 0.12.12 + */ +/* data obtained from https://en.wikipedia.org/wiki/Video_game_rating_system */ +AsContentRatingSystem +as_content_rating_system_from_locale (const gchar *locale) +{ + g_autofree gchar *locale_copy = g_strdup (locale); + const gchar *territory; + + /* Default to IARC for locales which can’t be parsed. */ + if (!parse_locale (locale_copy, NULL, &territory, NULL, NULL)) + return AS_CONTENT_RATING_SYSTEM_IARC; + + /* Argentina */ + if (g_strcmp0 (territory, "AR") == 0) + return AS_CONTENT_RATING_SYSTEM_INCAA; + + /* Australia */ + if (g_strcmp0 (territory, "AU") == 0) + return AS_CONTENT_RATING_SYSTEM_ACB; + + /* Brazil */ + if (g_strcmp0 (territory, "BR") == 0) + return AS_CONTENT_RATING_SYSTEM_DJCTQ; + + /* Taiwan */ + if (g_strcmp0 (territory, "TW") == 0) + return AS_CONTENT_RATING_SYSTEM_GSRR; + + /* Europe (but not Finland or Germany), India, Israel, + * Pakistan, Quebec, South Africa */ + if ((g_strcmp0 (territory, "GB") == 0) || + g_strcmp0 (territory, "AL") == 0 || + g_strcmp0 (territory, "AD") == 0 || + g_strcmp0 (territory, "AM") == 0 || + g_strcmp0 (territory, "AT") == 0 || + g_strcmp0 (territory, "AZ") == 0 || + g_strcmp0 (territory, "BY") == 0 || + g_strcmp0 (territory, "BE") == 0 || + g_strcmp0 (territory, "BA") == 0 || + g_strcmp0 (territory, "BG") == 0 || + g_strcmp0 (territory, "HR") == 0 || + g_strcmp0 (territory, "CY") == 0 || + g_strcmp0 (territory, "CZ") == 0 || + g_strcmp0 (territory, "DK") == 0 || + g_strcmp0 (territory, "EE") == 0 || + g_strcmp0 (territory, "FR") == 0 || + g_strcmp0 (territory, "GE") == 0 || + g_strcmp0 (territory, "GR") == 0 || + g_strcmp0 (territory, "HU") == 0 || + g_strcmp0 (territory, "IS") == 0 || + g_strcmp0 (territory, "IT") == 0 || + g_strcmp0 (territory, "LZ") == 0 || + g_strcmp0 (territory, "XK") == 0 || + g_strcmp0 (territory, "LV") == 0 || + g_strcmp0 (territory, "FL") == 0 || + g_strcmp0 (territory, "LU") == 0 || + g_strcmp0 (territory, "LT") == 0 || + g_strcmp0 (territory, "MK") == 0 || + g_strcmp0 (territory, "MT") == 0 || + g_strcmp0 (territory, "MD") == 0 || + g_strcmp0 (territory, "MC") == 0 || + g_strcmp0 (territory, "ME") == 0 || + g_strcmp0 (territory, "NL") == 0 || + g_strcmp0 (territory, "NO") == 0 || + g_strcmp0 (territory, "PL") == 0 || + g_strcmp0 (territory, "PT") == 0 || + g_strcmp0 (territory, "RO") == 0 || + g_strcmp0 (territory, "SM") == 0 || + g_strcmp0 (territory, "RS") == 0 || + g_strcmp0 (territory, "SK") == 0 || + g_strcmp0 (territory, "SI") == 0 || + g_strcmp0 (territory, "ES") == 0 || + g_strcmp0 (territory, "SE") == 0 || + g_strcmp0 (territory, "CH") == 0 || + g_strcmp0 (territory, "TR") == 0 || + g_strcmp0 (territory, "UA") == 0 || + g_strcmp0 (territory, "VA") == 0 || + g_strcmp0 (territory, "IN") == 0 || + g_strcmp0 (territory, "IL") == 0 || + g_strcmp0 (territory, "PK") == 0 || + g_strcmp0 (territory, "ZA") == 0) + return AS_CONTENT_RATING_SYSTEM_PEGI; + + /* Finland */ + if (g_strcmp0 (territory, "FI") == 0) + return AS_CONTENT_RATING_SYSTEM_KAVI; + + /* Germany */ + if (g_strcmp0 (territory, "DE") == 0) + return AS_CONTENT_RATING_SYSTEM_USK; + + /* Iran */ + if (g_strcmp0 (territory, "IR") == 0) + return AS_CONTENT_RATING_SYSTEM_ESRA; + + /* Japan */ + if (g_strcmp0 (territory, "JP") == 0) + return AS_CONTENT_RATING_SYSTEM_CERO; + + /* New Zealand */ + if (g_strcmp0 (territory, "NZ") == 0) + return AS_CONTENT_RATING_SYSTEM_OFLCNZ; + + /* Russia: Content rating law */ + if (g_strcmp0 (territory, "RU") == 0) + return AS_CONTENT_RATING_SYSTEM_RUSSIA; + + /* Singapore */ + if (g_strcmp0 (territory, "SQ") == 0) + return AS_CONTENT_RATING_SYSTEM_MDA; + + /* South Korea */ + if (g_strcmp0 (territory, "KR") == 0) + return AS_CONTENT_RATING_SYSTEM_GRAC; + + /* USA, Canada, Mexico */ + if ((g_strcmp0 (territory, "US") == 0) || + g_strcmp0 (territory, "CA") == 0 || + g_strcmp0 (territory, "MX") == 0) + return AS_CONTENT_RATING_SYSTEM_ESRB; + + /* everything else is IARC */ + return AS_CONTENT_RATING_SYSTEM_IARC; +} + +/* Table of the human-readable descriptions for each #AsContentRatingValue for + * each content rating category. @desc_none must be non-%NULL, but the other + * values may be %NULL if no description is appropriate. In that case, the next + * non-%NULL description for a lower #AsContentRatingValue will be used. */ +static const struct { + const gchar *id; /* (not nullable) */ + const gchar *desc_none; /* (not nullable) */ + const gchar *desc_mild; /* (nullable) */ + const gchar *desc_moderate; /* (nullable) */ + const gchar *desc_intense; /* (nullable) */ +} oars_descriptions[] = { + { + "violence-cartoon", + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("No cartoon violence"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Cartoon characters in unsafe situations"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Cartoon characters in aggressive conflict"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Graphic violence involving cartoon characters"), + }, + { + "violence-fantasy", + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("No fantasy violence"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Characters in unsafe situations easily distinguishable from reality"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Characters in aggressive conflict easily distinguishable from reality"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Graphic violence easily distinguishable from reality"), + }, + { + "violence-realistic", + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("No realistic violence"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Mildly realistic characters in unsafe situations"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Depictions of realistic characters in aggressive conflict"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Graphic violence involving realistic characters"), + }, + { + "violence-bloodshed", + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("No bloodshed"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Unrealistic bloodshed"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Realistic bloodshed"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Depictions of bloodshed and the mutilation of body parts"), + }, + { + "violence-sexual", + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("No sexual violence"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Rape or other violent sexual behavior"), + NULL, + NULL, + }, + { + "drugs-alcohol", + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("No references to alcohol"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("References to alcoholic beverages"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Use of alcoholic beverages"), + NULL, + }, + { + "drugs-narcotics", + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("No references to illicit drugs"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("References to illicit drugs"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Use of illicit drugs"), + NULL, + }, + { + "drugs-tobacco", + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("No references to tobacco products"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("References to tobacco products"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Use of tobacco products"), + NULL, + }, + { + "sex-nudity", + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("No nudity of any sort"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Brief artistic nudity"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Prolonged nudity"), + NULL, + }, + { + "sex-themes", + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("No references to or depictions of sexual nature"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Provocative references or depictions"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Sexual references or depictions"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Graphic sexual behavior"), + }, + { + "language-profanity", + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("No profanity of any kind"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Mild or infrequent use of profanity"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Moderate use of profanity"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Strong or frequent use of profanity"), + }, + { + "language-humor", + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("No inappropriate humor"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Slapstick humor"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Vulgar or bathroom humor"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Mature or sexual humor"), + }, + { + "language-discrimination", + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("No discriminatory language of any kind"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Negativity towards a specific group of people"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Discrimination designed to cause emotional harm"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Explicit discrimination based on gender, sexuality, race or religion"), + }, + { + "money-advertising", + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("No advertising of any kind"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Product placement"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Explicit references to specific brands or trademarked products"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Users are encouraged to purchase specific real-world items"), + }, + { + "money-gambling", + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("No gambling of any kind"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Gambling on random events using tokens or credits"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Gambling using “play” money"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Gambling using real money"), + }, + { + "money-purchasing", + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("No ability to spend money"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Users are encouraged to donate real money"), + NULL, + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Ability to spend real money in-app"), + }, + { + "social-chat", + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("No way to chat with other users"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("User-to-user interactions without chat functionality"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Moderated chat functionality between users"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Uncontrolled chat functionality between users"), + }, + { + "social-audio", + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("No way to talk with other users"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Uncontrolled audio or video chat functionality between users"), + NULL, + NULL, + }, + { + "social-contacts", + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("No sharing of social network usernames or email addresses"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Sharing social network usernames or email addresses"), + NULL, + NULL, + }, + { + "social-info", + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("No sharing of user information with third parties"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Checking for the latest application version"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Sharing diagnostic data that does not let others identify the user"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Sharing information that lets others identify the user"), + }, + { + "social-location", + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("No sharing of physical location with other users"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Sharing physical location with other users"), + NULL, + NULL, + }, + + /* v1.1 */ + { + /* Why is there an OARS category which discriminates based on sexual orientation? + * It’s because there are, very unfortunately, still countries in the world in + * which homosexuality, or software which refers to it, is illegal. In order to be + * able to ship FOSS in those countries, there needs to be a mechanism for apps to + * describe whether they refer to anything illegal, and for ratings mechanisms in + * those countries to filter out any apps which describe themselves as such. + * + * As a counterpoint, it’s illegal in many more countries to discriminate on the + * basis of sexual orientation, so this category is treated exactly the same as + * sex-themes (once the intensities of the ratings levels for both categories are + * normalised) in those countries. + * + * The differences between countries are handled through handling #AsContentRatingSystem + * values differently. */ + "sex-homosexuality", + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("No references to homosexuality"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Indirect references to homosexuality"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Kissing between people of the same gender"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Graphic sexual behavior between people of the same gender"), + }, + { + "sex-prostitution", + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("No references to prostitution"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Indirect references to prostitution"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Direct references to prostitution"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Graphic depictions of the act of prostitution"), + }, + { + "sex-adultery", + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("No references to adultery"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Indirect references to adultery"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Direct references to adultery"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Graphic depictions of the act of adultery"), + }, + { + "sex-appearance", + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("No sexualized characters"), + NULL, + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Scantily clad human characters"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Overtly sexualized human characters"), + }, + { + "violence-worship", + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("No references to desecration"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Depictions of or references to historical desecration"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Depictions of modern-day human desecration"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Graphic depictions of modern-day desecration"), + }, + { + "violence-desecration", + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("No visible dead human remains"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Visible dead human remains"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Dead human remains that are exposed to the elements"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Graphic depictions of desecration of human bodies"), + }, + { + "violence-slavery", + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("No references to slavery"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Depictions of or references to historical slavery"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Depictions of modern-day slavery"), + /* TRANSLATORS: content rating description, see https://hughsie.github.io/oars/ */ + N_("Graphic depictions of modern-day slavery"), + }, +}; + +/** + * as_content_rating_attribute_get_description: + * @id: the subsection ID e.g. `violence-cartoon` + * @value: the #AsContentRatingValue, e.g. %AS_CONTENT_RATING_VALUE_INTENSE + * + * Get a human-readable description of what content would be expected to + * require the content rating attribute given by @id and @value. + * + * Returns: a human-readable description of @id and @value + * Since: 0.12.12 + */ +const gchar * +as_content_rating_attribute_get_description (const gchar *id, AsContentRatingValue value) +{ + gsize i; + + if ((gint) value < AS_CONTENT_RATING_VALUE_NONE || + (gint) value > AS_CONTENT_RATING_VALUE_INTENSE) + return NULL; + + for (i = 0; i < G_N_ELEMENTS (oars_descriptions); i++) { + if (!g_str_equal (oars_descriptions[i].id, id)) + continue; + + /* Return the most-intense non-NULL string. */ + if (oars_descriptions[i].desc_intense != NULL && value >= AS_CONTENT_RATING_VALUE_INTENSE) + return _(oars_descriptions[i].desc_intense); + if (oars_descriptions[i].desc_moderate != NULL && value >= AS_CONTENT_RATING_VALUE_MODERATE) + return _(oars_descriptions[i].desc_moderate); + if (oars_descriptions[i].desc_mild != NULL && value >= AS_CONTENT_RATING_VALUE_MILD) + return _(oars_descriptions[i].desc_mild); + if (oars_descriptions[i].desc_none != NULL && value >= AS_CONTENT_RATING_VALUE_NONE) + return _(oars_descriptions[i].desc_none); + g_assert_not_reached (); + } + + /* This means the requested @id is missing from @oars_descriptions, so + * presumably the OARS spec has been updated but appstream-glib hasn’t. */ + g_warn_if_reached (); + + return NULL; +} + /* The struct definition below assumes we don’t grow more * #AsContentRating values. */ G_STATIC_ASSERT (AS_CONTENT_RATING_VALUE_LAST == AS_CONTENT_RATING_VALUE_INTENSE + 1); @@ -284,7 +1225,7 @@ { "social-info", OARS_1_0, 0, 0, 13, 13 }, { "social-location", OARS_1_0, 0, 13, 13, 13 }, /* v1.1 additions */ - { "sex-homosexuality", OARS_1_1, 0, 10, 13, 18 }, + { "sex-homosexuality", OARS_1_1, 0, 13, 14, 15 }, { "sex-prostitution", OARS_1_1, 0, 12, 14, 18 }, { "sex-adultery", OARS_1_1, 0, 8, 10, 18 }, { "sex-appearance", OARS_1_1, 0, 10, 10, 15 }, @@ -345,6 +1286,48 @@ } /** + * as_content_rating_attribute_from_csm_age: + * @id: the subsection ID e.g. `violence-cartoon` + * @age: the CSM age + * + * Gets the highest #AsContentRatingValue which is allowed to be seen by the + * given Common Sense Media @age for the given subsection @id. + * + * For example, if the CSM age mappings for `violence-bloodshed` are: + * * age ≥ 0 for %AS_CONTENT_RATING_VALUE_NONE + * * age ≥ 9 for %AS_CONTENT_RATING_VALUE_MILD + * * age ≥ 11 for %AS_CONTENT_RATING_VALUE_MODERATE + * * age ≥ 18 for %AS_CONTENT_RATING_VALUE_INTENSE + * then calling this function with `violence-bloodshed` and @age set to 17 would + * return %AS_CONTENT_RATING_VALUE_MODERATE. Calling it with age 18 would + * return %AS_CONTENT_RATING_VALUE_INTENSE. + * + * Returns: the #AsContentRatingValue, or %AS_CONTENT_RATING_VALUE_UNKNOWN if + * unknown + * Since: 0.12.12 + */ +AsContentRatingValue +as_content_rating_attribute_from_csm_age (const gchar *id, guint age) +{ + for (gsize i = 0; G_N_ELEMENTS (oars_to_csm_mappings); i++) { + if (g_strcmp0 (id, oars_to_csm_mappings[i].id) == 0) { + if (age >= oars_to_csm_mappings[i].csm_age_intense) + return AS_CONTENT_RATING_VALUE_INTENSE; + else if (age >= oars_to_csm_mappings[i].csm_age_moderate) + return AS_CONTENT_RATING_VALUE_MODERATE; + else if (age >= oars_to_csm_mappings[i].csm_age_mild) + return AS_CONTENT_RATING_VALUE_MILD; + else if (age >= oars_to_csm_mappings[i].csm_age_none) + return AS_CONTENT_RATING_VALUE_NONE; + else + return AS_CONTENT_RATING_VALUE_UNKNOWN; + } + } + + return AS_CONTENT_RATING_VALUE_UNKNOWN; +} + +/** * as_content_rating_get_all_rating_ids: * * Returns a list of all the valid OARS content rating attribute IDs as could @@ -595,6 +1578,6 @@ as_content_rating_new (void) { AsContentRating *content_rating; - content_rating = g_object_new (AS_TYPE_CONTENT, NULL); + content_rating = g_object_new (AS_TYPE_CONTENT_RATING, NULL); return AS_CONTENT_RATING (content_rating); } diff -Nru appstream-0.12.10/src/as-content-rating.h appstream-0.14.5/src/as-content-rating.h --- appstream-0.12.10/src/as-content-rating.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-content-rating.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2016-2020 Matthias Klumpp + * Copyright (C) 2016-2021 Matthias Klumpp * Copyright (C) 2016-2020 Richard Hughes * * Licensed under the GNU Lesser General Public License Version 2.1 @@ -31,7 +31,7 @@ G_BEGIN_DECLS -#define AS_TYPE_CONTENT (as_content_rating_get_type ()) +#define AS_TYPE_CONTENT_RATING (as_content_rating_get_type ()) G_DECLARE_DERIVABLE_TYPE (AsContentRating, as_content_rating, AS, CONTENT_RATING, GObject) struct _AsContentRatingClass @@ -47,6 +47,50 @@ }; /** + * AsContentRatingSystem: + * @AS_CONTENT_RATING_SYSTEM_UNKNOWN: Unknown ratings system + * @AS_CONTENT_RATING_SYSTEM_INCAA: INCAA + * @AS_CONTENT_RATING_SYSTEM_ACB: ACB + * @AS_CONTENT_RATING_SYSTEM_DJCTQ: DJCTQ + * @AS_CONTENT_RATING_SYSTEM_GSRR: GSRR + * @AS_CONTENT_RATING_SYSTEM_PEGI: PEGI + * @AS_CONTENT_RATING_SYSTEM_KAVI: KAVI + * @AS_CONTENT_RATING_SYSTEM_USK: USK + * @AS_CONTENT_RATING_SYSTEM_ESRA: ESRA + * @AS_CONTENT_RATING_SYSTEM_CERO: CERO + * @AS_CONTENT_RATING_SYSTEM_OFLCNZ: OFLCNZ + * @AS_CONTENT_RATING_SYSTEM_RUSSIA: Russia + * @AS_CONTENT_RATING_SYSTEM_MDA: MDA + * @AS_CONTENT_RATING_SYSTEM_GRAC: GRAC + * @AS_CONTENT_RATING_SYSTEM_ESRB: ESRB + * @AS_CONTENT_RATING_SYSTEM_IARC: IARC + * + * A content rating system for a particular territory. + * + * Since: 0.12.12 + */ +typedef enum { + AS_CONTENT_RATING_SYSTEM_UNKNOWN, + AS_CONTENT_RATING_SYSTEM_INCAA, + AS_CONTENT_RATING_SYSTEM_ACB, + AS_CONTENT_RATING_SYSTEM_DJCTQ, + AS_CONTENT_RATING_SYSTEM_GSRR, + AS_CONTENT_RATING_SYSTEM_PEGI, + AS_CONTENT_RATING_SYSTEM_KAVI, + AS_CONTENT_RATING_SYSTEM_USK, + AS_CONTENT_RATING_SYSTEM_ESRA, + AS_CONTENT_RATING_SYSTEM_CERO, + AS_CONTENT_RATING_SYSTEM_OFLCNZ, + AS_CONTENT_RATING_SYSTEM_RUSSIA, + AS_CONTENT_RATING_SYSTEM_MDA, + AS_CONTENT_RATING_SYSTEM_GRAC, + AS_CONTENT_RATING_SYSTEM_ESRB, + AS_CONTENT_RATING_SYSTEM_IARC, + /*< private >*/ + AS_CONTENT_RATING_SYSTEM_LAST +} AsContentRatingSystem; + +/** * AsContentRatingValue: * @AS_CONTENT_RATING_VALUE_UNKNOWN: Unknown value * @AS_CONTENT_RATING_VALUE_NONE: None @@ -74,6 +118,21 @@ const gchar **as_content_rating_get_all_rating_ids (void); +const gchar *as_content_rating_system_to_string (AsContentRatingSystem system); +gchar *as_content_rating_system_format_age (AsContentRatingSystem system, + guint age); + +AsContentRatingSystem as_content_rating_system_from_locale (const gchar *locale); + +gchar **as_content_rating_system_get_formatted_ages (AsContentRatingSystem system); +const guint *as_content_rating_system_get_csm_ages (AsContentRatingSystem system, + gsize *length_out); + +AsContentRatingValue as_content_rating_attribute_from_csm_age (const gchar *id, + guint age); +const gchar *as_content_rating_attribute_get_description (const gchar *id, + AsContentRatingValue value); + AsContentRating *as_content_rating_new (void); const gchar *as_content_rating_get_kind (AsContentRating *content_rating); @@ -90,6 +149,10 @@ const gchar **as_content_rating_get_rating_ids (AsContentRating *content_rating); +void as_content_rating_add_attribute (AsContentRating *content_rating, + const gchar *id, + AsContentRatingValue value); + G_END_DECLS #endif /* __AS_CONTENT_RATING_H */ diff -Nru appstream-0.12.10/src/as-content-rating-private.h appstream-0.14.5/src/as-content-rating-private.h --- appstream-0.12.10/src/as-content-rating-private.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-content-rating-private.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2017-2020 Matthias Klumpp + * Copyright (C) 2017-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * diff -Nru appstream-0.12.10/src/as-context.c appstream-0.14.5/src/as-context.c --- appstream-0.12.10/src/as-context.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-context.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2012-2020 Matthias Klumpp + * Copyright (C) 2012-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -42,11 +42,11 @@ { AsFormatVersion format_version; AsFormatStyle style; - gchar *locale; - gchar *origin; - gchar *media_baseurl; - gchar *arch; - gchar *fname; + GRefString *locale; + GRefString *origin; + GRefString *media_baseurl; + GRefString *arch; + GRefString *fname; gint priority; gboolean internal_mode; @@ -58,46 +58,6 @@ #define GET_PRIVATE(o) (as_context_get_instance_private (o)) /** - * as_format_kind_to_string: - * @kind: the #AsFormatKind. - * - * Converts the enumerated value to an text representation. - * - * Returns: string version of @kind - * - * Since: 0.10 - **/ -const gchar* -as_format_kind_to_string (AsFormatKind kind) -{ - if (kind == AS_FORMAT_KIND_XML) - return "xml"; - if (kind == AS_FORMAT_KIND_YAML) - return "yaml"; - return "unknown"; -} - -/** - * as_format_kind_from_string: - * @kind_str: the string. - * - * Converts the text representation to an enumerated value. - * - * Returns: a #AsFormatKind or %AS_FORMAT_KIND_UNKNOWN for unknown - * - * Since: 0.10 - **/ -AsFormatKind -as_format_kind_from_string (const gchar *kind_str) -{ - if (g_strcmp0 (kind_str, "xml") == 0) - return AS_FORMAT_KIND_XML; - if (g_strcmp0 (kind_str, "yaml") == 0) - return AS_FORMAT_KIND_YAML; - return AS_FORMAT_KIND_UNKNOWN; -} - -/** * as_format_version_to_string: * @version: the #AsFormatKind. * @@ -124,6 +84,10 @@ return "0.11"; if (version == AS_FORMAT_VERSION_V0_12) return "0.12"; + if (version == AS_FORMAT_VERSION_V0_13) + return "0.13"; + if (version == AS_FORMAT_VERSION_V0_14) + return "0.14"; return "?.??"; } @@ -141,6 +105,10 @@ AsFormatVersion as_format_version_from_string (const gchar *version_str) { + if (g_strcmp0 (version_str, "0.14") == 0) + return AS_FORMAT_VERSION_V0_14; + if (g_strcmp0 (version_str, "0.13") == 0) + return AS_FORMAT_VERSION_V0_13; if (g_strcmp0 (version_str, "0.12") == 0) return AS_FORMAT_VERSION_V0_12; if (g_strcmp0 (version_str, "0.11") == 0) @@ -164,11 +132,11 @@ AsContext *ctx = AS_CONTEXT (object); AsContextPrivate *priv = GET_PRIVATE (ctx); - g_free (priv->locale); - g_free (priv->origin); - g_free (priv->media_baseurl); - g_free (priv->arch); - g_free (priv->fname); + as_ref_string_release (priv->locale); + as_ref_string_release (priv->origin); + as_ref_string_release (priv->media_baseurl); + as_ref_string_release (priv->arch); + as_ref_string_release (priv->fname); G_OBJECT_CLASS (as_context_parent_class)->finalize (object); } @@ -178,9 +146,8 @@ { AsContextPrivate *priv = GET_PRIVATE (ctx); - priv->format_version = AS_CURRENT_FORMAT_VERSION; + priv->format_version = AS_FORMAT_VERSION_CURRENT; priv->style = AS_FORMAT_STYLE_UNKNOWN; - priv->fname = g_strdup (":memory"); priv->priority = 0; priv->internal_mode = FALSE; } @@ -297,8 +264,7 @@ as_context_set_origin (AsContext *ctx, const gchar *value) { AsContextPrivate *priv = GET_PRIVATE (ctx); - g_free (priv->origin); - priv->origin = g_strdup (value); + as_ref_string_assign_safe (&priv->origin, value); } /** @@ -325,14 +291,14 @@ as_context_set_locale (AsContext *ctx, const gchar *value) { AsContextPrivate *priv = GET_PRIVATE (ctx); - g_free (priv->locale); g_atomic_int_set (&priv->all_locale, FALSE); if (g_strcmp0 (value, "ALL") == 0) { + g_autofree gchar *tmp = as_get_current_locale (); g_atomic_int_set (&priv->all_locale, TRUE); - priv->locale = as_get_current_locale (); + as_ref_string_assign_safe (&priv->locale, tmp); } else { - priv->locale = g_strdup (value); + as_ref_string_assign_safe (&priv->locale, value); } } @@ -386,8 +352,7 @@ as_context_set_media_baseurl (AsContext *ctx, const gchar *value) { AsContextPrivate *priv = GET_PRIVATE (ctx); - g_free (priv->media_baseurl); - priv->media_baseurl = g_strdup (value); + as_ref_string_assign_safe (&priv->media_baseurl, value); } /** @@ -414,8 +379,7 @@ as_context_set_architecture (AsContext *ctx, const gchar *value) { AsContextPrivate *priv = GET_PRIVATE (ctx); - g_free (priv->arch); - priv->arch = g_strdup (value); + as_ref_string_assign_safe (&priv->arch, value); } /** @@ -442,8 +406,7 @@ as_context_set_filename (AsContext *ctx, const gchar *fname) { AsContextPrivate *priv = GET_PRIVATE (ctx); - g_free (priv->fname); - priv->fname = g_strdup (fname); + as_ref_string_assign_safe (&priv->fname, fname); } /** @@ -535,6 +498,7 @@ as_context_localized_ht_set (AsContext *ctx, GHashTable *lht, const gchar *value, const gchar *locale) { const gchar *selected_locale; + g_autofree gchar *locale_noenc = NULL; /* if no locale was specified, we assume the default locale * NOTE: %NULL does NOT necessarily mean lang=C here! */ @@ -548,8 +512,9 @@ if (selected_locale == NULL) selected_locale = "C"; + locale_noenc = as_locale_strip_encoding (selected_locale); g_hash_table_insert (lht, - as_locale_strip_encoding (g_strdup (selected_locale)), + g_ref_string_new_intern (locale_noenc), g_strdup (value)); } diff -Nru appstream-0.12.10/src/as-context.h appstream-0.14.5/src/as-context.h --- appstream-0.12.10/src/as-context.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-context.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2012-2020 Matthias Klumpp + * Copyright (C) 2012-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -26,6 +26,7 @@ #define __AS_CONTEXT_H #include +#include "as-enums.h" G_BEGIN_DECLS @@ -45,46 +46,8 @@ }; /** - * AsFormatStyle: - * @AS_FORMAT_STYLE_METAINFO: Parse AppStream upstream metadata (metainfo files) - * @AS_FORMAT_STYLE_COLLECTION: Parse AppStream metadata collections (shipped by software distributors) - * - * There are a few differences between AppStream's metainfo files (shipped by upstream projects) - * and the collection metadata (shipped by distributors). - * The data source kind indicates which style we should process. - * Usually you do not want to set this explicitly. - **/ -typedef enum { - AS_FORMAT_STYLE_UNKNOWN, - AS_FORMAT_STYLE_METAINFO, - AS_FORMAT_STYLE_COLLECTION, - /*< private >*/ - AS_FORMAT_STYLE_LAST -} AsFormatStyle; - -/** - * AsFormatKind: - * @AS_FORMAT_KIND_UNKNOWN: Unknown metadata format. - * @AS_FORMAT_KIND_XML: AppStream XML metadata. - * @AS_FORMAT_KIND_YAML: AppStream YAML (DEP-11) metadata. - * @AS_FORMAT_KIND_DESKTOP_ENTRY: XDG Desktop Entry data. - * - * Format of the AppStream metadata. - **/ -typedef enum { - AS_FORMAT_KIND_UNKNOWN, - AS_FORMAT_KIND_XML, - AS_FORMAT_KIND_YAML, - AS_FORMAT_KIND_DESKTOP_ENTRY, - /*< private >*/ - AS_FORMAT_KIND_LAST -} AsFormatKind; - -const gchar *as_format_kind_to_string (AsFormatKind kind); -AsFormatKind as_format_kind_from_string (const gchar *kind_str); - -/** * AsFormatVersion: + * @AS_FORMAT_VERSION_UNKNOWN: Unknown * @AS_FORMAT_VERSION_V0_6: 0.6 * @AS_FORMAT_VERSION_V0_7: 0.7 * @AS_FORMAT_VERSION_V0_8: 0.8 @@ -92,6 +55,8 @@ * @AS_FORMAT_VERSION_V0_10: 0.10 * @AS_FORMAT_VERSION_V0_11: 0.11 * @AS_FORMAT_VERSION_V0_12: 0.12 + * @AS_FORMAT_VERSION_V0_13: 0.13 + * @AS_FORMAT_VERSION_V0_14: 0.14 * * Format version / API level of the AppStream metadata. **/ @@ -103,15 +68,18 @@ AS_FORMAT_VERSION_V0_10, AS_FORMAT_VERSION_V0_11, AS_FORMAT_VERSION_V0_12, + AS_FORMAT_VERSION_V0_13, + AS_FORMAT_VERSION_V0_14, + AS_FORMAT_VERSION_UNKNOWN, /* added to work around GIR inconsistencies */ /*< private >*/ AS_FORMAT_VERSION_LAST } AsFormatVersion; +#define AS_FORMAT_VERSION_CURRENT AS_FORMAT_VERSION_V0_14 + const gchar *as_format_version_to_string (AsFormatVersion version); AsFormatVersion as_format_version_from_string (const gchar *version_str); -#define AS_CURRENT_FORMAT_VERSION AS_FORMAT_VERSION_V0_12 - AsContext *as_context_new (void); AsFormatVersion as_context_get_format_version (AsContext *ctx); diff -Nru appstream-0.12.10/src/as-context-private.h appstream-0.14.5/src/as-context-private.h --- appstream-0.12.10/src/as-context-private.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-context-private.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2012-2020 Matthias Klumpp + * Copyright (C) 2012-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * diff -Nru appstream-0.12.10/src/as-curl.c appstream-0.14.5/src/as-curl.c --- appstream-0.12.10/src/as-curl.c 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/src/as-curl.c 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,302 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2020-2021 Matthias Klumpp + * + * Licensed under the GNU Lesser General Public License Version 2.1 + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 2.1 of the license, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +/** + * SECTION:as-curl + * @short_description: Internal convenience wrapper around some cURL functions for AppStream + * @include: appstream.h + */ + +#include "config.h" +#include "as-curl.h" + +#include +#include + +struct _AsCurl +{ + GObject parent_instance; +}; + +typedef struct +{ + CURL *curl; + const gchar *user_agent; + + curl_off_t bytes_downloaded; +} AsCurlPrivate; + +G_DEFINE_TYPE_WITH_PRIVATE (AsCurl, as_curl, G_TYPE_OBJECT) +#define GET_PRIVATE(o) (as_curl_get_instance_private (o)) + +G_DEFINE_AUTOPTR_CLEANUP_FUNC(CURLU, curl_url_cleanup) + +G_DEFINE_QUARK (AsCurlError, as_curl_error) + +/** + * as_curl_is_url: + * + * Check if the URL is valid. + */ +gboolean +as_curl_is_url (const gchar *url) +{ + g_autoptr(CURLU) cu = curl_url (); + return curl_url_set (cu, CURLUPART_URL, url, 0) == CURLUE_OK; +} + +static void +as_curl_finalize (GObject *object) +{ + AsCurl *acurl = AS_CURL (object); + AsCurlPrivate *priv = GET_PRIVATE (acurl); + + if (priv->curl != NULL) + curl_easy_cleanup (priv->curl); + + G_OBJECT_CLASS (as_curl_parent_class)->finalize (object); +} + +static void +as_curl_init (AsCurl *acurl) +{ + AsCurlPrivate *priv = GET_PRIVATE (acurl); + + priv->user_agent = "appstream/" PACKAGE_VERSION; +} + +static void +as_curl_class_init (AsCurlClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + object_class->finalize = as_curl_finalize; +} + +static int +as_curl_progress_dummy_cb (void *clientp, + curl_off_t dltotal, + curl_off_t dlnow, + curl_off_t ultotal, + curl_off_t ulnow) +{ + return 0; +} + +static size_t +as_curl_download_write_bytearray_cb (char *ptr, size_t size, size_t nmemb, void *udata) +{ + GByteArray *buf = (GByteArray *) udata; + gsize realsize = size * nmemb; + g_byte_array_append (buf, (const guint8 *) ptr, realsize); + return realsize; +} + +static gboolean +as_curl_perform_download (AsCurl *acurl, gboolean abort_is_error, GError **error) +{ + AsCurlPrivate *priv = GET_PRIVATE (acurl); + CURLcode res; + gchar errbuf[CURL_ERROR_SIZE] = { '\0' }; + glong status_code = 0; + + curl_easy_setopt (priv->curl, CURLOPT_ERRORBUFFER, errbuf); + + res = curl_easy_perform (priv->curl); + curl_easy_getinfo (priv->curl, CURLINFO_RESPONSE_CODE, &status_code); + if (res != CURLE_OK) { + g_debug ("cURL status-code was %ld", status_code); + + if (!abort_is_error && res == CURLE_ABORTED_BY_CALLBACK) + return TRUE; + + if (status_code == 429) { + g_set_error (error, + AS_CURL_ERROR, + AS_CURL_ERROR_REMOTE, + /* TRANSLATORS: We got a 429 error while trying to download data */ + _("Failed to download due to server limit")); + return FALSE; + } + if (errbuf[0] != '\0') { + g_set_error (error, + AS_CURL_ERROR, + AS_CURL_ERROR_DOWNLOAD, + _("Failed to download file: %s"), + errbuf); + return FALSE; + } + g_set_error (error, + AS_CURL_ERROR, + AS_CURL_ERROR_DOWNLOAD, + _("Failed to download file: %s"), + curl_easy_strerror (res)); + return FALSE; + } + if (status_code == 404) { + g_set_error (error, + AS_CURL_ERROR, + AS_CURL_ERROR_REMOTE, + /* TRANSLATORS: We tried to download an URL, but received a 404 error code */ + _("URL was not found on the server.")); + return FALSE; + } else if (status_code != 200) { + g_set_error (error, + AS_CURL_ERROR, + AS_CURL_ERROR_REMOTE, + /* TRANSLATORS: We received an uexpected HTTP status code while talking to a server, likely an error */ + _("Unexpected status code: %ld"), + status_code); + return FALSE; + } + + return TRUE; +} + +/** + * as_curl_download_bytes: + * @acurl: an #AsCurl instance. + * @url: URL to download + * @error: a #GError. + * + * Download an URL as GBytes, returns %NULL on error. + **/ +GBytes* +as_curl_download_bytes (AsCurl *acurl, const gchar *url, GError **error) +{ + AsCurlPrivate *priv = GET_PRIVATE (acurl); + g_autoptr(GByteArray) buf = g_byte_array_new (); + + curl_easy_setopt (priv->curl, CURLOPT_URL, url); + curl_easy_setopt (priv->curl, CURLOPT_WRITEFUNCTION, as_curl_download_write_bytearray_cb); + curl_easy_setopt (priv->curl, CURLOPT_WRITEDATA, buf); + curl_easy_setopt (priv->curl, CURLOPT_XFERINFOFUNCTION, as_curl_progress_dummy_cb); + curl_easy_setopt (priv->curl, CURLOPT_XFERINFODATA, acurl); + + if (!as_curl_perform_download (acurl, TRUE, error)) + return NULL; + + return g_byte_array_free_to_bytes (g_steal_pointer (&buf)); +} + +static int +as_curl_progress_check_url_cb (void *clientp, + curl_off_t dltotal, + curl_off_t dlnow, + curl_off_t ultotal, + curl_off_t ulnow) +{ + AsCurlPrivate *priv = GET_PRIVATE ((AsCurl*) clientp); + priv->bytes_downloaded = dlnow; + + /* stop after 2kb have been successfully downloaded - it turns out a lot + * of downloads fail later, so just checking for the first byte is not enough */ + if (dlnow >= 2048) + return 1; + return 0; +} + +/** + * as_curl_check_url_exists: + * @acurl: an #AsCurl instance. + * @url: URL to download + * @error: a #GError. + * + * Test if an URL exists by downloading the first few bytes of data, + * then aborting if no issue was received. + * If the resource could not be accessed, and error is returned. + **/ +gboolean +as_curl_check_url_exists (AsCurl *acurl, const gchar *url, GError **error) +{ + AsCurlPrivate *priv = GET_PRIVATE (acurl); + g_autoptr(GByteArray) buf = g_byte_array_new (); + + curl_easy_setopt (priv->curl, CURLOPT_URL, url); + curl_easy_setopt (priv->curl, CURLOPT_WRITEFUNCTION, as_curl_download_write_bytearray_cb); + curl_easy_setopt (priv->curl, CURLOPT_WRITEDATA, buf); + curl_easy_setopt (priv->curl, CURLOPT_XFERINFOFUNCTION, as_curl_progress_check_url_cb); + curl_easy_setopt (priv->curl, CURLOPT_XFERINFODATA, acurl); + + priv->bytes_downloaded = 0; + if (!as_curl_perform_download (acurl, FALSE, error)) + return FALSE; + + /* check if it's a zero sized file */ + if (buf->len == 0 && priv->bytes_downloaded == 0) { + g_set_error (error, + AS_CURL_ERROR, + AS_CURL_ERROR_SIZE, + /* TRANSLATORS: We tried to download from an URL, but the retrieved data was empty */ + _("Retrieved file size was zero.")); + return FALSE; + } + + return TRUE; +} + +/** + * as_curl_new: + * + * Creates a new #AsCurl. + **/ +AsCurl* +as_curl_new (GError **error) +{ + AsCurlPrivate *priv; + const gchar *http_proxy; + g_autoptr(AsCurl) acurl = g_object_new (AS_TYPE_CURL, NULL); + priv = GET_PRIVATE (acurl); + + priv->curl = curl_easy_init (); + if (priv->curl == NULL) { + g_set_error_literal (error, + AS_CURL_ERROR, + AS_CURL_ERROR_FAILED, + "Failed to setup networking, could not initialize cURL."); + return NULL; + } + + if (g_getenv ("AS_CURL_VERBOSE") != NULL) + curl_easy_setopt (priv->curl, CURLOPT_VERBOSE, 1L); + + curl_easy_setopt (priv->curl, CURLOPT_USERAGENT, priv->user_agent); + curl_easy_setopt (priv->curl, CURLOPT_CONNECTTIMEOUT, 60L); + curl_easy_setopt (priv->curl, CURLOPT_FOLLOWLOCATION, 1L); + + /* some servers redirect a lot, but 8 redirections seems to be enough for all common cases */ + curl_easy_setopt (priv->curl, CURLOPT_MAXREDIRS, 8L); + + /* no progress feedback by default (set dummy function so we can keep CURLOPT_NOPROGRESS at false */ + curl_easy_setopt (priv->curl, CURLOPT_XFERINFOFUNCTION, as_curl_progress_dummy_cb); + curl_easy_setopt (priv->curl, CURLOPT_NOPROGRESS, 0L); + + /* read common proxy environment variables */ + http_proxy = g_getenv ("https_proxy"); + if (http_proxy == NULL) + http_proxy = g_getenv ("HTTPS_PROXY"); + if (http_proxy == NULL) + http_proxy = g_getenv ("http_proxy"); + if (http_proxy == NULL) + http_proxy = g_getenv ("HTTP_PROXY"); + if (http_proxy != NULL && strlen (http_proxy) > 0) + curl_easy_setopt (priv->curl, CURLOPT_PROXY, http_proxy); + + return AS_CURL (g_steal_pointer (&acurl)); +} diff -Nru appstream-0.12.10/src/as-curl.h appstream-0.14.5/src/as-curl.h --- appstream-0.12.10/src/as-curl.h 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/src/as-curl.h 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,67 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2020-2021 Matthias Klumpp + * + * Licensed under the GNU Lesser General Public License Version 2.1 + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 2.1 of the license, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +#if !defined (AS_COMPILATION) +#error "Can not use internal AppStream API from external project." +#endif + +#pragma once + +#include + +G_BEGIN_DECLS + +#define AS_TYPE_CURL (as_curl_get_type ()) +G_DECLARE_FINAL_TYPE (AsCurl, as_curl, AS, CURL, GObject) + +/** + * AsCurlError: + * @AS_CURL_ERROR_FAILED: Generic failure. + * @AS_CURL_ERROR_REMOTE: Some issue happened on the remote side. + * @AS_CURL_ERROR_DOWNLOAD: Download failed. + * @AS_CURL_ERROR_SIZE: Some filesize value was unexpected. + * + * An cURL error. + **/ +typedef enum { + AS_CURL_ERROR_FAILED, + AS_CURL_ERROR_REMOTE, + AS_CURL_ERROR_DOWNLOAD, + AS_CURL_ERROR_SIZE, + /*< private >*/ + AS_CURL_ERROR_LAST +} AsCurlError; + +#define AS_CURL_ERROR as_curl_error_quark () +GQuark as_curl_error_quark (void); + +AsCurl *as_curl_new (GError **error); + +GBytes *as_curl_download_bytes (AsCurl *acurl, + const gchar *url, + GError **error); + +gboolean as_curl_check_url_exists (AsCurl *acurl, + const gchar *url, + GError **error); + +gboolean as_curl_is_url (const gchar *url); + +G_END_DECLS diff -Nru appstream-0.12.10/src/as-desktop-entry.c appstream-0.14.5/src/as-desktop-entry.c --- appstream-0.12.10/src/as-desktop-entry.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-desktop-entry.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2016-2020 Matthias Klumpp + * Copyright (C) 2016-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -34,6 +34,7 @@ #include "as-metadata.h" #include "as-component.h" #include "as-component-private.h" +#include "as-validator-issue.h" #define DESKTOP_GROUP G_KEY_FILE_DESKTOP_GROUP @@ -54,6 +55,32 @@ } /** + * as_desktop_entry_add_issue: + */ +static void +as_desktop_entry_add_issue (GPtrArray *issues, const gchar *tag, const gchar *format, ...) +{ + va_list args; + g_autofree gchar *buffer = NULL; + AsValidatorIssue *issue = NULL; + + /* do nothing if we shouldn't record issues */ + if (issues == NULL) + return; + + if (format != NULL) { + va_start (args, format); + buffer = g_strdup_vprintf (format, args); + va_end (args); + } + + issue = as_validator_issue_new (); + as_validator_issue_set_tag (issue, tag); + as_validator_issue_set_hint (issue, buffer); + g_ptr_array_add (issues, issue); +} + +/** * as_get_locale_from_key: */ static gchar* @@ -61,8 +88,8 @@ { gchar *tmp1; gchar *tmp2; - gchar *locale = NULL; gchar *delim; + g_autofree gchar *locale = NULL; tmp1 = g_strstr_len (key, -1, "["); if (tmp1 == NULL) @@ -97,7 +124,7 @@ } } - return locale; + return g_steal_pointer (&locale); } /** @@ -108,7 +135,7 @@ * Add the remaining ones to the new #AsComponent. */ static void -as_add_filtered_categories (gchar **cats, AsComponent *cpt) +as_add_filtered_categories (gchar **cats, AsComponent *cpt, GPtrArray *issues) { guint i; @@ -141,33 +168,144 @@ /* add the category if it is valid */ if (as_utils_is_category_name (cat)) as_component_add_category (cpt, cat); + else + as_desktop_entry_add_issue (issues, + "desktop-entry-category-invalid", + cat); + } +} + +/** + * as_get_desktop_entry_value: + */ +static gchar * +as_get_desktop_entry_value (GKeyFile *df, GPtrArray *issues, const gchar *key) +{ + g_autofree gchar *str = NULL; + const gchar *str_iter; + GString *sane_str; + gboolean has_invalid_chars = FALSE; + g_autoptr(GError) error = NULL; + + str = g_key_file_get_string (df, DESKTOP_GROUP, key, &error); + if (error != NULL) + as_desktop_entry_add_issue (issues, + "desktop-entry-bad-data", + error->message); + if (str == NULL) + return NULL; + + /* some dumb .desktop files contain non-printable characters. If we are in XML mode, + * this will hard-break some XML readers at a later point, so we need to clean this up + * and replace these characters with a nice questionmark, so someone will notice and hopefully + * fix the issue at the source */ + sane_str = g_string_new (""); + str_iter = str; + while (*str_iter != '\0') { + gunichar c = g_utf8_get_char (str_iter); + if (as_unichar_accepted (c)) + g_string_append_unichar (sane_str, c); + else { + g_string_append (sane_str, "�"); + has_invalid_chars = TRUE; + } + + str_iter = g_utf8_next_char (str_iter); } + + if (has_invalid_chars) + as_desktop_entry_add_issue (issues, + "desktop-entry-value-invalid-chars", + key); + return g_string_free (sane_str, FALSE); +} + +/** + * as_check_desktop_string: + */ +void +as_check_desktop_string (GPtrArray *issues, const gchar *field, const gchar *str) +{ + if (issues == NULL) + return; + if ((g_str_has_prefix (str, "\"") && g_str_has_suffix (str, "\"")) || + (g_str_has_prefix (str, "'") && g_str_has_suffix (str, "'"))) + as_desktop_entry_add_issue (issues, + "desktop-entry-value-quoted", + "%s: %s", field, str); } +/** + * as_get_external_desktop_translations: + */ +static GPtrArray* +as_get_external_desktop_translations (GKeyFile *kf, const gchar *text, const gchar *locale, + AsTranslateDesktopTextFn de_l10n_fn, gpointer user_data) +{ + GPtrArray *l10n; + if (de_l10n_fn == NULL) + return NULL; + if (g_strcmp0 (locale, "C") != 0) + return NULL; + + l10n = de_l10n_fn (kf, text, user_data); + if (G_UNLIKELY (l10n->len % 2 != 0)) { + /* NOTE: We could use g_return_val_if_fail here, but we could just as well write a more descriptive message */ + g_critical ("Invalid amount of list entries in external desktop translation l10n listing. " + "Make sure you return locale names in even, and translations in odd indices. This is a programmer error."); + return NULL; + } + return l10n; +} /** * as_desktop_entry_parse_data: */ -AsComponent* -as_desktop_entry_parse_data (const gchar *data, const gchar *cid, AsFormatVersion fversion, GError **error) +gboolean +as_desktop_entry_parse_data (AsComponent *cpt, + const gchar *data, gssize data_len, + AsFormatVersion fversion, + gboolean ignore_nodisplay, + GPtrArray *issues, + AsTranslateDesktopTextFn de_l10n_fn, + gpointer user_data, + GError **error) { - g_autoptr(AsComponent) cpt = NULL; g_autoptr(GKeyFile) df = NULL; - gchar *tmp; - gboolean ignore_cpt = FALSE; g_auto(GStrv) keys = NULL; - guint i; + gboolean ignore_cpt = FALSE; + GError *tmp_error = NULL; + gchar *tmp; + gboolean had_name, had_summary, had_categories, had_mimetypes; + g_autofree gchar *desktop_basename = g_strdup (as_component_get_id (cpt)); - g_assert (cid != NULL); + if (desktop_basename == NULL) { + g_set_error_literal (error, + AS_METADATA_ERROR, + AS_METADATA_ERROR_PARSE, + "Unable to determine component-id for component from desktop-entry data."); + return FALSE; + } df = g_key_file_new (); g_key_file_load_from_data (df, data, - -1, + data_len, G_KEY_FILE_KEEP_TRANSLATIONS, - error); - if (*error != NULL) - return NULL; + &tmp_error); + if (tmp_error != NULL) { + g_propagate_error (error, tmp_error); + return FALSE; + } + + /* check this is a valid desktop file */ + if (!g_key_file_has_group (df, DESKTOP_GROUP)) { + g_set_error (error, + AS_METADATA_ERROR, + AS_METADATA_ERROR_PARSE, + "Data in '%s' does not contain a valid Desktop Entry.", as_component_get_id (cpt)); + return FALSE; + } /* Type */ tmp = g_key_file_get_string (df, @@ -177,7 +315,7 @@ if (!as_strequal_casefold (tmp, "application")) { g_free (tmp); /* not an application, so we can't proceed, but also no error */ - return NULL; + return FALSE; } g_free (tmp); @@ -187,8 +325,12 @@ "NoDisplay", NULL); if (as_strequal_casefold (tmp, "true")) { - /* we will read the application data, but it will be ignored in its current form */ + /* we may read the application data, but it will be ignored in its current form */ ignore_cpt = TRUE; + if (!ignore_nodisplay) { + g_free (tmp); + return FALSE; + } } g_free (tmp); @@ -200,35 +342,60 @@ if (as_strequal_casefold (tmp, "true")) { g_free (tmp); /* this file should be ignored, we can't return a component (but this is also no error) */ - return NULL; + return FALSE; } g_free (tmp); - /* check this is a valid desktop file */ - if (!g_key_file_has_group (df, DESKTOP_GROUP)) { - g_set_error (error, - AS_METADATA_ERROR, - AS_METADATA_ERROR_PARSE, - "Data in '%s' does not contain a valid Desktop Entry.", cid); - return NULL; + /* Hidden */ + tmp = g_key_file_get_string (df, + DESKTOP_GROUP, + "Hidden", + NULL); + if (as_strequal_casefold (tmp, "true")) { + ignore_cpt = TRUE; + as_desktop_entry_add_issue (issues, + "desktop-entry-hidden-set", + NULL); + if (!ignore_nodisplay) { + g_free (tmp); + return FALSE; + } + } + g_free (tmp); + + /* OnlyShowIn */ + tmp = g_key_file_get_string (df, + DESKTOP_GROUP, + "OnlyShowIn", + NULL); + if (tmp != NULL) { + if (as_is_empty (tmp)) + as_desktop_entry_add_issue (issues, + "desktop-entry-empty-onlyshowin", + NULL); + /* We want to ignore all desktop-entry files which were made desktop-exclusive + * via OnlyShowIn (those are usually configuration apps and control center modules) + * Only exception is if a metainfo file was present. */ + g_free (tmp); + ignore_cpt = TRUE; + if (!ignore_nodisplay) + return FALSE; } /* create the new component we synthesize for this desktop entry */ - cpt = as_component_new (); as_component_set_kind (cpt, AS_COMPONENT_KIND_DESKTOP_APP); - as_component_set_id (cpt, cid); as_component_set_ignored (cpt, ignore_cpt); as_component_set_origin_kind (cpt, AS_ORIGIN_KIND_DESKTOP_ENTRY); /* strip .desktop suffix if the reverse-domain-name scheme is followed and we build for * a recent AppStream version */ if (fversion >= AS_FORMAT_VERSION_V0_10) { - g_auto(GStrv) parts = g_strsplit (cid, ".", 3); + g_auto(GStrv) parts = g_strsplit (desktop_basename, ".", 3); if (g_strv_length (parts) == 3) { - if (as_utils_is_tld (parts[0]) && g_str_has_suffix (cid, ".desktop")) { + if (as_utils_is_tld (parts[0]) && g_str_has_suffix (desktop_basename, ".desktop")) { g_autofree gchar *id_raw = NULL; /* remove .desktop suffix */ - id_raw = g_strdup (cid); + id_raw = g_strdup (desktop_basename); id_raw[strlen (id_raw)-8] = '\0'; as_component_set_id (cpt, id_raw); @@ -236,12 +403,20 @@ } } + had_name = !as_is_empty (as_component_get_name (cpt)); + had_summary = !as_is_empty (as_component_get_name (cpt)); + had_categories = as_component_get_categories (cpt)->len > 0; + had_mimetypes = as_component_get_provided_for_kind (cpt, AS_PROVIDED_KIND_MEDIATYPE) != NULL; + keys = g_key_file_get_keys (df, DESKTOP_GROUP, NULL, NULL); - for (i = 0; keys[i] != NULL; i++) { + for (guint i = 0; keys[i] != NULL; i++) { g_autofree gchar *locale = NULL; g_autofree gchar *val = NULL; gchar *key = keys[i]; + if (g_strcmp0 (key, "Type") == 0) + continue; + g_strstrip (key); locale = as_get_locale_from_key (key); @@ -249,43 +424,84 @@ if (locale == NULL) continue; - val = g_key_file_get_string (df, DESKTOP_GROUP, key, NULL); + val = as_get_desktop_entry_value (df, issues, key); + if (val == NULL) + continue; if (g_str_has_prefix (key, "Name")) { + g_autoptr(GPtrArray) l10n_data = NULL; + if (had_name) + continue; + as_component_set_name (cpt, val, locale); + as_check_desktop_string (issues, key, val); + l10n_data = as_get_external_desktop_translations (df, val, locale, + de_l10n_fn, user_data); + if (l10n_data != NULL) { + for (guint j = 0; j < l10n_data->len; j += 2) + as_component_set_name (cpt, + g_ptr_array_index (l10n_data, j), + g_ptr_array_index (l10n_data, j + 1)); + } } else if (g_str_has_prefix (key, "Comment")) { + g_autoptr(GPtrArray) l10n_data = NULL; + if (had_summary) + continue; + as_component_set_summary (cpt, val, locale); + as_check_desktop_string (issues, key, val); + l10n_data = as_get_external_desktop_translations (df, val, locale, + de_l10n_fn, user_data); + if (l10n_data != NULL) { + for (guint j = 0; j < l10n_data->len; j += 2) + as_component_set_name (cpt, + g_ptr_array_index (l10n_data, j), + g_ptr_array_index (l10n_data, j + 1)); + } } else if (g_strcmp0 (key, "Categories") == 0) { g_auto(GStrv) cats = NULL; + if (had_categories) + continue; cats = g_strsplit (val, ";", -1); - as_add_filtered_categories (cats, cpt); + as_add_filtered_categories (cats, cpt, issues); } else if (g_str_has_prefix (key, "Keywords")) { g_auto(GStrv) kws = NULL; - - /* drop last ";" to not get an empty entry later */ - if (g_str_has_suffix (val, ";")) - val[strlen (val) -1] = '\0'; + g_autoptr(GPtrArray) l10n_data = NULL; kws = g_strsplit (val, ";", -1); as_component_set_keywords (cpt, kws, locale); + + l10n_data = as_get_external_desktop_translations (df, val, locale, + de_l10n_fn, user_data); + if (l10n_data != NULL) { + for (guint j = 0; j < l10n_data->len; j += 2) { + g_auto(GStrv) e_kws = NULL; + const gchar *e_locale = g_ptr_array_index (l10n_data, j); + gchar *e_value = g_ptr_array_index (l10n_data, j + 1); + + e_kws = g_strsplit (e_value, ";", -1); + as_component_set_keywords (cpt, e_kws, e_locale); + } + } } else if (g_strcmp0 (key, "MimeType") == 0) { g_auto(GStrv) mts = NULL; g_autoptr(AsProvided) prov = NULL; - guint j; + if (had_mimetypes) + continue; mts = g_strsplit (val, ";", -1); if (mts == NULL) continue; - prov = as_component_get_provided_for_kind (cpt, AS_PROVIDED_KIND_MIMETYPE); + prov = as_component_get_provided_for_kind (cpt, AS_PROVIDED_KIND_MEDIATYPE); if (prov == NULL) { prov = as_provided_new (); - as_provided_set_kind (prov, AS_PROVIDED_KIND_MIMETYPE); + as_provided_set_kind (prov, AS_PROVIDED_KIND_MEDIATYPE); } else { g_object_ref (prov); } - for (j = 0; mts[j] != NULL; j++) { + for (guint j = 0; mts[j] != NULL; j++) { if (g_strcmp0 (mts[j], "") == 0) continue; as_provided_add_item (prov, mts[j]); @@ -320,9 +536,18 @@ } } - /* we have the lowest priority */ - as_component_set_priority (cpt, -G_MAXINT); - return g_object_ref (cpt); + /* add this .desktop file as launchable entry, if we don't have one set already */ + if (as_component_get_launchable (cpt, AS_LAUNCHABLE_KIND_DESKTOP_ID) == NULL) { + g_autoptr(AsLaunchable) launch = as_launchable_new (); + as_launchable_set_kind (launch, AS_LAUNCHABLE_KIND_DESKTOP_ID); + as_launchable_add_entry (launch, desktop_basename); + as_component_add_launchable (cpt, launch); + + /* we have the lowest priority */ + as_component_set_priority (cpt, -G_MAXINT); + } + + return TRUE; } /** @@ -330,8 +555,15 @@ * * Parse a .desktop file. */ -AsComponent* -as_desktop_entry_parse_file (GFile *file, AsFormatVersion fversion, GError **error) +gboolean +as_desktop_entry_parse_file (AsComponent *cpt, + GFile *file, + AsFormatVersion fversion, + gboolean ignore_nodisplay, + GPtrArray *issues, + AsTranslateDesktopTextFn de_l10n_fn, + gpointer user_data, + GError **error) { g_autofree gchar *file_basename = NULL; g_autoptr(GInputStream) file_stream = NULL; @@ -342,7 +574,7 @@ file_stream = G_INPUT_STREAM (g_file_read (file, NULL, error)); if (file_stream == NULL) - return NULL; + return FALSE; file_basename = g_file_get_basename (file); dedata = g_string_new (""); @@ -352,11 +584,17 @@ } /* check if there was an error */ if (len < 0) - return NULL; + return FALSE; /* parse desktop entry */ - return as_desktop_entry_parse_data (dedata->str, - file_basename, + as_component_set_id (cpt, file_basename); + return as_desktop_entry_parse_data (cpt, + dedata->str, + dedata->len, fversion, + ignore_nodisplay, + issues, + de_l10n_fn, + user_data, error); } diff -Nru appstream-0.12.10/src/as-desktop-entry.h appstream-0.14.5/src/as-desktop-entry.h --- appstream-0.12.10/src/as-desktop-entry.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-desktop-entry.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2016-2020 Matthias Klumpp + * Copyright (C) 2016-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -25,18 +25,34 @@ #include "as-component.h" #include "as-metadata.h" +#include "as-utils-private.h" G_BEGIN_DECLS #pragma GCC visibility push(hidden) -AsComponent *as_desktop_entry_parse_data (const gchar *data, - const gchar *cid, - AsFormatVersion fversion, - GError **error); - -AsComponent *as_desktop_entry_parse_file (GFile *file, - AsFormatVersion fversion, - GError **error); +typedef GPtrArray* (*AsTranslateDesktopTextFn)(const GKeyFile *de, + const gchar *text, + gpointer user_data); + +AS_INTERNAL_VISIBLE +gboolean as_desktop_entry_parse_data (AsComponent *cpt, + const gchar *data, + gssize data_len, + AsFormatVersion fversion, + gboolean ignore_nodisplay, + GPtrArray *issues, + AsTranslateDesktopTextFn de_l10n_fn, + gpointer user_data, + GError **error); + +gboolean as_desktop_entry_parse_file (AsComponent *cpt, + GFile *file, + AsFormatVersion fversion, + gboolean ignore_nodisplay, + GPtrArray *issues, + AsTranslateDesktopTextFn de_l10n_fn, + gpointer user_data, + GError **error); #pragma GCC visibility pop G_END_DECLS diff -Nru appstream-0.12.10/src/as-distro-details.c appstream-0.14.5/src/as-distro-details.c --- appstream-0.12.10/src/as-distro-details.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-distro-details.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2012-2020 Matthias Klumpp + * Copyright (C) 2012-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -87,6 +87,7 @@ AsDistroDetailsPrivate *priv = GET_PRIVATE (distro); g_free (priv->id); + g_free (priv->cid); g_free (priv->name); g_free (priv->version); g_free (priv->homepage); diff -Nru appstream-0.12.10/src/as-distro-details.h appstream-0.14.5/src/as-distro-details.h --- appstream-0.12.10/src/as-distro-details.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-distro-details.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2012-2020 Matthias Klumpp + * Copyright (C) 2012-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * diff -Nru appstream-0.12.10/src/as-distro-details-private.h appstream-0.14.5/src/as-distro-details-private.h --- appstream-0.12.10/src/as-distro-details-private.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-distro-details-private.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2018-2020 Matthias Klumpp + * Copyright (C) 2018-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * diff -Nru appstream-0.12.10/src/as-distro-extras.c appstream-0.14.5/src/as-distro-extras.c --- appstream-0.12.10/src/as-distro-extras.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-distro-extras.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2016-2020 Matthias Klumpp + * Copyright (C) 2016-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -34,6 +34,7 @@ #include #include #include +#include #include "as-utils.h" #include "as-utils-private.h" @@ -165,15 +166,11 @@ as_extract_icon_cache_tarball (const gchar *asicons_target, const gchar *origin, const gchar *apt_basename, - const gchar *apt_lists_dir, const gchar *icons_size) { g_autofree gchar *escaped_size = NULL; g_autofree gchar *icons_tarball = NULL; g_autofree gchar *target_dir = NULL; - g_autofree gchar *cmd = NULL; - g_autofree gchar *stderr_txt = NULL; - gint res; g_autoptr(GError) tmp_error = NULL; escaped_size = g_uri_escape_string (icons_size, NULL, FALSE); @@ -189,19 +186,8 @@ return; } - if (!as_utils_is_writable (target_dir)) { - g_debug ("Unable to write to '%s': Can't add AppStream icon-cache from APT to the pool.", target_dir); - return; - } - - cmd = g_strdup_printf ("/bin/tar -xzf '%s' -C '%s'", icons_tarball, target_dir); - g_spawn_command_line_sync (cmd, NULL, &stderr_txt, &res, &tmp_error); - if (tmp_error != NULL) { - g_debug ("Failed to run tar: %s", tmp_error->message); - } - if (res != 0) { - g_debug ("Running tar failed with exit-code %i: %s", res, stderr_txt); - } + if (!as_utils_extract_tarball (icons_tarball, target_dir, &tmp_error)) + g_debug ("ERROR: Unable to extract AppStream icon tarball from APT cache: %s", tmp_error->message); } /** @@ -240,6 +226,8 @@ gboolean icons_available = FALSE; guint i; + g_debug ("Scanning for metadata changes in the APT cache."); + /* skip this step if the APT lists directory doesn't exist */ if (!g_file_test (apt_lists_dir, G_FILE_TEST_IS_DIR)) { g_debug ("APT lists directory (%s) not found!", apt_lists_dir); @@ -400,7 +388,6 @@ as_extract_icon_cache_tarball (appstream_icons_target, origin, file_baseprefix, - apt_lists_dir, default_icon_sizes[j]); } } diff -Nru appstream-0.12.10/src/as-distro-extras.h appstream-0.14.5/src/as-distro-extras.h --- appstream-0.12.10/src/as-distro-extras.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-distro-extras.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2016-2020 Matthias Klumpp + * Copyright (C) 2016-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * diff -Nru appstream-0.12.10/src/as-enums.c appstream-0.14.5/src/as-enums.c --- appstream-0.12.10/src/as-enums.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-enums.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2012-2020 Matthias Klumpp + * Copyright (C) 2012-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -27,6 +27,46 @@ */ /** + * as_format_kind_to_string: + * @kind: the #AsFormatKind. + * + * Converts the enumerated value to an text representation. + * + * Returns: string version of @kind + * + * Since: 0.10 + **/ +const gchar* +as_format_kind_to_string (AsFormatKind kind) +{ + if (kind == AS_FORMAT_KIND_XML) + return "xml"; + if (kind == AS_FORMAT_KIND_YAML) + return "yaml"; + return "unknown"; +} + +/** + * as_format_kind_from_string: + * @kind_str: the string. + * + * Converts the text representation to an enumerated value. + * + * Returns: a #AsFormatKind or %AS_FORMAT_KIND_UNKNOWN for unknown + * + * Since: 0.10 + **/ +AsFormatKind +as_format_kind_from_string (const gchar *kind_str) +{ + if (g_strcmp0 (kind_str, "xml") == 0) + return AS_FORMAT_KIND_XML; + if (g_strcmp0 (kind_str, "yaml") == 0) + return AS_FORMAT_KIND_YAML; + return AS_FORMAT_KIND_UNKNOWN; +} + +/** * as_url_kind_to_string: * @url_kind: the %AsUrlKind. * diff -Nru appstream-0.12.10/src/as-enums.h appstream-0.14.5/src/as-enums.h --- appstream-0.12.10/src/as-enums.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-enums.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2012-2020 Matthias Klumpp + * Copyright (C) 2012-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -36,6 +36,42 @@ #define as_flags_contains(bitfield,enum) (((bitfield) & enum) > 0) /** + * AsFormatStyle: + * @AS_FORMAT_STYLE_METAINFO: Parse AppStream upstream metadata (metainfo files) + * @AS_FORMAT_STYLE_COLLECTION: Parse AppStream metadata collections (shipped by software distributors) + * + * There are a few differences between AppStream's metainfo files (shipped by upstream projects) + * and the collection metadata (shipped by distributors). + * The data source kind indicates which style we should process. + * Usually you do not want to set this explicitly. + **/ +typedef enum { + AS_FORMAT_STYLE_UNKNOWN, + AS_FORMAT_STYLE_METAINFO, + AS_FORMAT_STYLE_COLLECTION, + /*< private >*/ + AS_FORMAT_STYLE_LAST +} AsFormatStyle; + +/** + * AsFormatKind: + * @AS_FORMAT_KIND_UNKNOWN: Unknown metadata format. + * @AS_FORMAT_KIND_XML: AppStream XML metadata. + * @AS_FORMAT_KIND_YAML: AppStream YAML (DEP-11) metadata. + * @AS_FORMAT_KIND_DESKTOP_ENTRY: XDG Desktop Entry data. + * + * Format of the AppStream metadata. + **/ +typedef enum { + AS_FORMAT_KIND_UNKNOWN, + AS_FORMAT_KIND_XML, + AS_FORMAT_KIND_YAML, + AS_FORMAT_KIND_DESKTOP_ENTRY, + /*< private >*/ + AS_FORMAT_KIND_LAST +} AsFormatKind; + +/** * AsUrlKind: * @AS_URL_KIND_UNKNOWN: Type invalid or not known * @AS_URL_KIND_HOMEPAGE: Project homepage @@ -61,9 +97,6 @@ AS_URL_KIND_LAST } AsUrlKind; -const gchar *as_url_kind_to_string (AsUrlKind url_kind); -AsUrlKind as_url_kind_from_string (const gchar *url_kind); - /** * AsUrgencyKind: * @AS_URGENCY_KIND_UNKNOWN: Urgency is unknown or not set @@ -84,8 +117,14 @@ AS_URGENCY_KIND_LAST } AsUrgencyKind; -const gchar *as_urgency_kind_to_string (AsUrgencyKind urgency_kind); -AsUrgencyKind as_urgency_kind_from_string (const gchar *urgency_kind); +const gchar *as_url_kind_to_string (AsUrlKind url_kind); +AsUrlKind as_url_kind_from_string (const gchar *url_kind); + +const gchar *as_format_kind_to_string (AsFormatKind kind); +AsFormatKind as_format_kind_from_string (const gchar *kind_str); + +const gchar *as_urgency_kind_to_string (AsUrgencyKind urgency_kind); +AsUrgencyKind as_urgency_kind_from_string (const gchar *urgency_kind); G_END_DECLS diff -Nru appstream-0.12.10/src/as-icon.c appstream-0.14.5/src/as-icon.c --- appstream-0.12.10/src/as-icon.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-icon.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2015-2020 Matthias Klumpp + * Copyright (C) 2015-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -185,8 +185,7 @@ as_icon_set_name (AsIcon *icon, const gchar *name) { AsIconPrivate *priv = GET_PRIVATE (icon); - g_free (priv->name); - priv->name = g_strdup (name); + as_assign_string_safe (priv->name, name); } /** @@ -220,8 +219,7 @@ as_icon_set_url (AsIcon *icon, const gchar *url) { AsIconPrivate *priv = GET_PRIVATE (icon); - g_free (priv->url); - priv->url = g_strdup (url); + as_assign_string_safe (priv->url, url); } /** @@ -250,8 +248,7 @@ as_icon_set_filename (AsIcon *icon, const gchar *filename) { AsIconPrivate *priv = GET_PRIVATE (icon); - g_free (priv->filename); - priv->filename = g_strdup (filename); + as_assign_string_safe (priv->filename, filename); /* invalidate URL */ if (priv->url != NULL) { diff -Nru appstream-0.12.10/src/as-icon.h appstream-0.14.5/src/as-icon.h --- appstream-0.12.10/src/as-icon.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-icon.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2015-2020 Matthias Klumpp + * Copyright (C) 2015-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * diff -Nru appstream-0.12.10/src/as-icon-private.h appstream-0.14.5/src/as-icon-private.h --- appstream-0.12.10/src/as-icon-private.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-icon-private.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2014-2020 Matthias Klumpp + * Copyright (C) 2014-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * diff -Nru appstream-0.12.10/src/as-image.c appstream-0.14.5/src/as-image.c --- appstream-0.12.10/src/as-image.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-image.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2014-2020 Matthias Klumpp + * Copyright (C) 2014-2021 Matthias Klumpp * Copyright (C) 2014 Richard Hughes * * Licensed under the GNU Lesser General Public License Version 2.1 @@ -34,13 +34,15 @@ #include "as-image.h" #include "as-image-private.h" +#include "as-utils-private.h" + typedef struct { AsImageKind kind; gchar *url; guint width; guint height; - gchar *locale; + GRefString *locale; } AsImagePrivate; G_DEFINE_TYPE_WITH_PRIVATE (AsImage, as_image, G_TYPE_OBJECT) @@ -56,7 +58,7 @@ AsImagePrivate *priv = GET_PRIVATE (image); g_free (priv->url); - g_free (priv->locale); + as_ref_string_release (priv->locale); G_OBJECT_CLASS (as_image_parent_class)->finalize (object); } @@ -166,8 +168,7 @@ as_image_set_url (AsImage *image, const gchar *url) { AsImagePrivate *priv = GET_PRIVATE (image); - g_free (priv->url); - priv->url = g_strdup (url); + as_assign_string_safe (priv->url, url); } /** @@ -262,8 +263,7 @@ as_image_set_locale (AsImage *image, const gchar *locale) { AsImagePrivate *priv = GET_PRIVATE (image); - g_free (priv->locale); - priv->locale = g_strdup (locale); + as_ref_string_assign_safe (&priv->locale, locale); } /** @@ -399,11 +399,10 @@ as_image_load_from_yaml (AsImage *image, AsContext *ctx, GNode *node, AsImageKind kind, GError **error) { AsImagePrivate *priv = GET_PRIVATE (image); - GNode *n; priv->kind = kind; as_image_set_locale (image, "C"); - for (n = node->children; n != NULL; n = n->next) { + for (GNode *n = node->children; n != NULL; n = n->next) { const gchar *key = as_yaml_node_get_key (n); const gchar *value = as_yaml_node_get_value (n); @@ -460,11 +459,11 @@ as_yaml_emit_entry (emitter, "url", url); if ((priv->width > 0) && (priv->height > 0)) { - as_yaml_emit_entry_uint (emitter, + as_yaml_emit_entry_uint64 (emitter, "width", priv->width); - as_yaml_emit_entry_uint (emitter, + as_yaml_emit_entry_uint64 (emitter, "height", priv->height); } diff -Nru appstream-0.12.10/src/as-image.h appstream-0.14.5/src/as-image.h --- appstream-0.12.10/src/as-image.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-image.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2014-2020 Matthias Klumpp + * Copyright (C) 2014-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -60,6 +60,14 @@ AS_IMAGE_KIND_LAST } AsImageKind; +/* some useful constants */ +#define AS_IMAGE_LARGE_HEIGHT 423 /* Since: 0.14.0 */ +#define AS_IMAGE_LARGE_WIDTH 752 /* Since: 0.14.0 */ +#define AS_IMAGE_NORMAL_HEIGHT 351 /* Since: 0.14.0 */ +#define AS_IMAGE_NORMAL_WIDTH 624 /* Since: 0.14.0 */ +#define AS_IMAGE_THUMBNAIL_HEIGHT 63 /* Since: 0.14.0 */ +#define AS_IMAGE_THUMBNAIL_WIDTH 112 /* Since: 0.14.0 */ + AsImageKind as_image_kind_from_string (const gchar *kind); const gchar *as_image_kind_to_string (AsImageKind kind); diff -Nru appstream-0.12.10/src/as-image-private.h appstream-0.14.5/src/as-image-private.h --- appstream-0.12.10/src/as-image-private.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-image-private.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2014-2020 Matthias Klumpp + * Copyright (C) 2014-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * diff -Nru appstream-0.12.10/src/as-issue.c appstream-0.14.5/src/as-issue.c --- appstream-0.12.10/src/as-issue.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-issue.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2019-2020 Matthias Klumpp + * Copyright (C) 2019-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -215,7 +215,6 @@ { AsIssuePrivate *priv = GET_PRIVATE (issue); g_autofree gchar *prop = NULL; - g_autofree gchar *content = NULL; prop = (gchar*) xmlGetProp (node, (xmlChar*) "type"); priv->kind = as_issue_kind_from_string (prop); @@ -285,7 +284,7 @@ const gchar *key = as_yaml_node_get_key (n); const gchar *value = as_yaml_node_get_value (n); - if (value == NULL) + if (G_UNLIKELY (value == NULL)) continue; /* there should be no key without value */ if (g_strcmp0 (key, "type") == 0) { diff -Nru appstream-0.12.10/src/as-issue.h appstream-0.14.5/src/as-issue.h --- appstream-0.12.10/src/as-issue.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-issue.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2019-2020 Matthias Klumpp + * Copyright (C) 2019-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * diff -Nru appstream-0.12.10/src/as-issue-private.h appstream-0.14.5/src/as-issue-private.h --- appstream-0.12.10/src/as-issue-private.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-issue-private.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2019-2020 Matthias Klumpp + * Copyright (C) 2019-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * diff -Nru appstream-0.12.10/src/as-launchable.c appstream-0.14.5/src/as-launchable.c --- appstream-0.12.10/src/as-launchable.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-launchable.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2017-2020 Matthias Klumpp + * Copyright (C) 2017-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * diff -Nru appstream-0.12.10/src/as-launchable.h appstream-0.14.5/src/as-launchable.h --- appstream-0.12.10/src/as-launchable.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-launchable.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2017-2020 Matthias Klumpp + * Copyright (C) 2017-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * diff -Nru appstream-0.12.10/src/as-launchable-private.h appstream-0.14.5/src/as-launchable-private.h --- appstream-0.12.10/src/as-launchable-private.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-launchable-private.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2014-2020 Matthias Klumpp + * Copyright (C) 2014-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * diff -Nru appstream-0.12.10/src/as-metadata.c appstream-0.14.5/src/as-metadata.c --- appstream-0.12.10/src/as-metadata.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-metadata.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2012-2020 Matthias Klumpp + * Copyright (C) 2012-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -68,6 +68,39 @@ #define GET_PRIVATE(o) (as_metadata_get_instance_private (o)) /** + * as_metadata_file_guess_style: + * @filename: a file name + * + * Guesses the AppStream metadata style (metainfo or collection) based on + * the filename. + * + * Return value: An #AsFormatStyle, e.g. %AS_FORMAT_STYLE_METAINFO. + * + * Since: 0.14.0 + **/ +AsFormatStyle +as_metadata_file_guess_style (const gchar *filename) +{ + if (g_str_has_suffix (filename, ".xml.gz")) + return AS_FORMAT_STYLE_COLLECTION; + if (g_str_has_suffix (filename, ".yml")) + return AS_FORMAT_STYLE_COLLECTION; + if (g_str_has_suffix (filename, ".yml.gz")) + return AS_FORMAT_STYLE_COLLECTION; + if (g_str_has_suffix (filename, ".appdata.xml")) + return AS_FORMAT_STYLE_METAINFO; + if (g_str_has_suffix (filename, ".appdata.xml.in")) + return AS_FORMAT_STYLE_METAINFO; + if (g_str_has_suffix (filename, ".metainfo.xml")) + return AS_FORMAT_STYLE_METAINFO; + if (g_str_has_suffix (filename, ".metainfo.xml.in")) + return AS_FORMAT_STYLE_METAINFO; + if (g_str_has_suffix (filename, ".xml")) + return AS_FORMAT_STYLE_COLLECTION; + return AS_FORMAT_STYLE_UNKNOWN; +} + +/** * as_metadata_init: **/ static void @@ -81,7 +114,7 @@ as_metadata_set_locale (metad, str); g_free (str); - priv->format_version = AS_CURRENT_FORMAT_VERSION; + priv->format_version = AS_FORMAT_VERSION_CURRENT; priv->mode = AS_FORMAT_STYLE_METAINFO; priv->default_priority = 0; priv->write_header = TRUE; @@ -159,18 +192,21 @@ /* set origin of this metadata */ tmp = (gchar*) xmlGetProp (node, (xmlChar*) "origin"); as_context_set_origin (context, tmp); + as_metadata_set_origin (metad, tmp); g_free (tmp); /* set baseurl for the media files */ if (!as_flags_contains (priv->parse_flags, AS_PARSE_FLAG_IGNORE_MEDIABASEURL)) { tmp = (gchar*) xmlGetProp (node, (xmlChar*) "media_baseurl"); as_context_set_media_baseurl (context, tmp); + as_metadata_set_media_baseurl (metad, tmp); g_free (tmp); } /* set architecture for the components */ tmp = (gchar*) xmlGetProp (node, (xmlChar*) "architecture"); as_context_set_architecture (context, tmp); + as_metadata_set_architecture (metad, tmp); g_free (tmp); /* collection metadata allows setting a priority for components */ @@ -179,6 +215,7 @@ gint default_priority; default_priority = g_ascii_strtoll (priority_str, NULL, 10); as_context_set_priority (context, default_priority); + priv->default_priority = default_priority; } g_free (priority_str); @@ -207,6 +244,7 @@ * @metad: an instance of #AsMetadata. * @context: an #AsContext * @data: YAML metadata to parse + * @data_len: Length of @data * @error: a #GError * * Read an array of #AsComponent from AppStream YAML metadata. @@ -214,7 +252,7 @@ * Returns: (transfer container) (element-type AsComponent) (nullable): An array of #AsComponent or %NULL */ static GPtrArray* -as_metadata_yaml_parse_collection_doc (AsMetadata *metad, AsContext *context, const gchar *data, GError **error) +as_metadata_yaml_parse_collection_doc (AsMetadata *metad, AsContext *context, const gchar *data, gssize data_len, GError **error) { AsMetadataPrivate *priv = GET_PRIVATE (metad); yaml_parser_t parser; @@ -228,13 +266,15 @@ * or download interruption. */ if (data == NULL) return NULL; + if (data_len < 0) + data_len = strlen (data); /* create container for the components we find */ cpts = g_ptr_array_new_with_free_func (g_object_unref); /* initialize YAML parser */ yaml_parser_initialize (&parser); - yaml_parser_set_input_string (&parser, (unsigned char*) data, strlen (data)); + yaml_parser_set_input_string (&parser, (unsigned char*) data, data_len); while (parse) { if (!yaml_parser_parse (&parser, &event)) { @@ -300,6 +340,7 @@ if (g_strcmp0 (key, "Origin") == 0) { if (value != NULL) { as_context_set_origin (context, value); + as_metadata_set_origin (metad, value); } else { parse = FALSE; ret = FALSE; @@ -310,16 +351,20 @@ } } else if (g_strcmp0 (key, "Priority") == 0) { if (value != NULL) { - as_context_set_priority (context, g_ascii_strtoll (value, NULL, 10)); + gint priority = g_ascii_strtoll (value, NULL, 10); + as_context_set_priority (context, priority); + priv->default_priority = priority; } } else if (g_strcmp0 (key, "MediaBaseUrl") == 0) { if (value != NULL && !as_flags_contains (priv->parse_flags, AS_PARSE_FLAG_IGNORE_MEDIABASEURL)) { as_context_set_media_baseurl (context, value); + as_metadata_set_media_baseurl (metad, value); } } else if (g_strcmp0 (key, "Architecture") == 0) { if (value != NULL) { as_context_set_architecture (context, value); + as_metadata_set_architecture (metad, value); } } } @@ -364,28 +409,23 @@ } /** - * as_metadata_parse: - * @metad: An instance of #AsMetadata. - * @data: Metadata describing one or more software components. - * @format: The format of the data (XML or YAML). - * @error: A #GError or %NULL. + * as_metadata_parse_data: * * Parses AppStream metadata. **/ -void -as_metadata_parse (AsMetadata *metad, const gchar *data, AsFormatKind format, GError **error) +static gboolean +as_metadata_parse_data (AsMetadata *metad, const gchar *data, gssize data_len, AsFormatKind format, GError **error) { AsMetadataPrivate *priv = GET_PRIVATE (metad); - - g_return_if_fail (format > AS_FORMAT_KIND_UNKNOWN && format < AS_FORMAT_KIND_LAST); + g_return_val_if_fail (format > AS_FORMAT_KIND_UNKNOWN && format < AS_FORMAT_KIND_LAST, FALSE); if (format == AS_FORMAT_KIND_XML) { xmlDoc *doc; xmlNode *root; - doc = as_xml_parse_document (data, -1, error); + doc = as_xml_parse_document (data, data_len, error); if (doc == NULL) - return; + return FALSE; root = xmlDocGetRootElement (doc); if (priv->mode == AS_FORMAT_STYLE_COLLECTION) { @@ -405,6 +445,7 @@ AS_METADATA_ERROR, AS_METADATA_ERROR_FAILED, "XML file does not contain valid AppStream data!"); + return FALSE; } } else { g_autoptr(AsContext) context = NULL; @@ -420,7 +461,7 @@ AS_METADATA_ERROR_NO_COMPONENT, "No component found that could be updated."); xmlFreeDoc (doc); - return; + return FALSE; } else { cpt = g_object_ref (cpt); as_component_load_from_xml (cpt, context, root, error); @@ -437,17 +478,23 @@ /* free the XML document */ xmlFreeDoc (doc); + return TRUE; + } - } else if (format == AS_FORMAT_KIND_YAML) { + if (format == AS_FORMAT_KIND_YAML) { if (priv->mode == AS_FORMAT_STYLE_COLLECTION) { g_autoptr(AsContext) context = NULL; g_autoptr(GPtrArray) new_cpts = NULL; guint i; context = as_metadata_new_context (metad, AS_FORMAT_STYLE_COLLECTION, NULL); - new_cpts = as_metadata_yaml_parse_collection_doc (metad, context, data, error); + new_cpts = as_metadata_yaml_parse_collection_doc (metad, + context, + data, + data_len, + error); if (new_cpts == NULL) - return; + return TRUE; for (i = 0; i < new_cpts->len; i++) { AsComponent *cpt = AS_COMPONENT (g_ptr_array_index (new_cpts, i)); as_component_set_origin_kind (cpt, AS_ORIGIN_KIND_COLLECTION); @@ -455,11 +502,74 @@ g_ptr_array_add (priv->cpts, g_object_ref (cpt)); } } else { - g_warning ("Can not load non-collection AppStream YAML data, because their format is not specified."); + g_set_error_literal (error, + AS_METADATA_ERROR, + AS_METADATA_ERROR_FORMAT_UNEXPECTED, + "Can not load non-collection AppStream YAML data, because their format is not specified."); + return FALSE; } - } else if (format == AS_FORMAT_KIND_DESKTOP_ENTRY) { - g_critical ("Refusing to load desktop entry without knowing its ID. Use as_metadata_parse_desktop() to parse .desktop files."); + return TRUE; + } + + if (format == AS_FORMAT_KIND_DESKTOP_ENTRY) { + g_set_error_literal (error, + AS_METADATA_ERROR, + AS_METADATA_ERROR_FORMAT_UNEXPECTED, + "Refusing to load desktop entry without knowing its ID. Use as_metadata_parse_desktop() to parse .desktop files."); + return FALSE; } + + g_set_error_literal (error, + AS_METADATA_ERROR, + AS_METADATA_ERROR_FORMAT_UNEXPECTED, + "The selected metadata format is unknown."); + return FALSE; +} + +/** + * as_metadata_parse: + * @metad: An instance of #AsMetadata. + * @data: Metadata describing one or more software components as null-terminated string. + * @format: The format of the data (XML or YAML). + * @error: A #GError or %NULL. + * + * Parses any AppStream metadata into one or more #AsComponent instances. + * + * Returns: %TRUE on success. + **/ +gboolean +as_metadata_parse (AsMetadata *metad, const gchar *data, AsFormatKind format, GError **error) +{ + return as_metadata_parse_data (metad, + data, + -1, + format, + error); +} + +/** + * as_metadata_parse_bytes: + * @metad: An instance of #AsMetadata. + * @bytes: Metadata describing one or more software components. + * @format: The format of the data (XML or YAML). + * @error: A #GError or %NULL. + * + * Parses any AppStream metadata into one or more #AsComponent instances. + * + * Returns: %TRUE on success. + * + * Since: 0.14.0 + **/ +gboolean +as_metadata_parse_bytes (AsMetadata *metad, GBytes *bytes, AsFormatKind format, GError **error) +{ + gsize data_len; + const gchar *data = g_bytes_get_data (bytes, &data_len); + return as_metadata_parse_data (metad, + data, + data_len, + format, + error); } /** @@ -469,33 +579,55 @@ * @cid: The component-id the new #AsComponent should have. * @error: A #GError or %NULL. * - * Parses XDG Desktop Entry metadata and adds it to the pool. + * Parses XDG Desktop Entry metadata and adds it to the list of parsed entities. + * + * Please note that not every desktop-entry file will result in a valid component + * being generated, even if parsing succeeds without error (The desktiop-entry file + * may be valid but not generate a component on purpose). + * + * Returns: %TRUE if the file was parsed without error. **/ -void +gboolean as_metadata_parse_desktop_data (AsMetadata *metad, const gchar *data, const gchar *cid, GError **error) { AsMetadataPrivate *priv = GET_PRIVATE (metad); - AsComponent *cpt; + gboolean ret; + GError *tmp_error = NULL; + g_autoptr(AsComponent) cpt = as_component_new (); - cpt = as_desktop_entry_parse_data (data, - cid, + as_component_set_id (cpt, cid); + ret = as_desktop_entry_parse_data (cpt, + data, + -1, priv->format_version, - error); - if (cpt == NULL) { - if (*error == NULL) { + TRUE, + NULL, /* issues */ + NULL, /* l10n function */ + NULL, /* l10n func user data */ + &tmp_error); + if (!ret) { + if (tmp_error == NULL) { if (cid == NULL) g_debug ("No component found in desktop-entry data."); else g_debug ("No component found in desktop-entry file: %s", cid); + + /* not an actual error here, we just haven't found data */ + ret = TRUE; + } else { + g_propagate_error (error, tmp_error); + ret = FALSE; } - return; + return ret; } /* ensure the right active locale is set */ as_component_set_active_locale (cpt, priv->locale); /* add component to our list */ - g_ptr_array_add (priv->cpts, cpt); + g_ptr_array_add (priv->cpts, g_steal_pointer (&cpt)); + + return TRUE; } /** @@ -507,8 +639,9 @@ * * Parses an AppStream upstream metadata file. * + * Returns: %TRUE if the file was parsed without error. **/ -void +gboolean as_metadata_parse_file (AsMetadata *metad, GFile *file, AsFormatKind format, GError **error) { g_autofree gchar *file_basename = NULL; @@ -517,6 +650,7 @@ g_autoptr(GInputStream) stream_data = NULL; g_autoptr(GConverter) conv = NULL; g_autoptr(GString) asdata = NULL; + GError *tmp_error = NULL; gssize len; const gsize buffer_size = 1024 * 32; g_autofree gchar *buffer = NULL; @@ -550,9 +684,11 @@ format = AS_FORMAT_KIND_DESKTOP_ENTRY; } - file_stream = G_INPUT_STREAM (g_file_read (file, NULL, error)); - if (file_stream == NULL) - return; + file_stream = G_INPUT_STREAM (g_file_read (file, NULL, &tmp_error)); + if (file_stream == NULL) { + g_propagate_error (error, tmp_error); + return FALSE; + } if ((g_strcmp0 (content_type, "application/gzip") == 0) || (g_strcmp0 (content_type, "application/x-gzip") == 0)) { /* decompress the GZip stream */ @@ -569,24 +705,38 @@ asdata = g_string_new (""); buffer = g_malloc (buffer_size); - while ((len = g_input_stream_read (stream_data, buffer, buffer_size, NULL, error)) > 0) { + while ((len = g_input_stream_read (stream_data, buffer, buffer_size, NULL, &tmp_error)) > 0) { g_string_append_len (asdata, buffer, len); } /* check if there was an error */ - if (len < 0) - return; + if (len < 0) { + g_propagate_error (error, tmp_error); + return FALSE; + } /* parse metadata */ if (format == AS_FORMAT_KIND_DESKTOP_ENTRY) - as_metadata_parse_desktop_data (metad, asdata->str, file_basename, error); + as_metadata_parse_desktop_data (metad, + asdata->str, + file_basename, + &tmp_error); else - as_metadata_parse (metad, asdata->str, format, error); + as_metadata_parse_data (metad, + asdata->str, + asdata->len, + format, + &tmp_error); + if (tmp_error != NULL) { + g_propagate_error (error, tmp_error); + return FALSE; + } + return TRUE; } /** * as_metadata_save_data: */ -static void +static gboolean as_metadata_save_data (AsMetadata *metad, const gchar *fname, const gchar *metadata, GError **error) { g_autoptr(GFile) file = NULL; @@ -605,19 +755,24 @@ g_object_unref (compressor); /* ensure data is not NULL */ - if (metadata == NULL) - return; + if (metadata == NULL) { + g_set_error_literal (error, + AS_METADATA_ERROR, + AS_METADATA_ERROR_FAILED, + "Metadata to save was NULL."); + return FALSE; + } if (!g_output_stream_write_all (out2, metadata, strlen (metadata), NULL, NULL, &tmp_error)) { g_propagate_error (error, tmp_error); - return; + return FALSE; } g_output_stream_close (out2, NULL, &tmp_error); if (tmp_error != NULL) { g_propagate_error (error, tmp_error); - return; + return FALSE; } if (!g_file_replace_contents (file, @@ -630,7 +785,7 @@ NULL, &tmp_error)) { g_propagate_error (error, tmp_error); - return; + return FALSE; } } else { GFileOutputStream *fos = NULL; @@ -651,7 +806,7 @@ if (tmp_error != NULL) { g_object_unref (fos); g_propagate_error (error, tmp_error); - return; + return FALSE; } dos = g_data_output_stream_new (G_OUTPUT_STREAM (fos)); @@ -662,9 +817,11 @@ if (tmp_error != NULL) { g_propagate_error (error, tmp_error); - return; + return FALSE; } } + + return TRUE; } /** @@ -674,16 +831,21 @@ * * Serialize #AsComponent instance to XML and save it to file. * An existing file at the same location will be overridden. + * + * Returns: %TRUE if the file was written without error. */ -void +gboolean as_metadata_save_metainfo (AsMetadata *metad, const gchar *fname, AsFormatKind format, GError **error) { g_autofree gchar *xml_data = NULL; + GError *tmp_error = NULL; - xml_data = as_metadata_component_to_metainfo (metad, format, error); - if ((error != NULL) && (*error != NULL)) - return; - as_metadata_save_data (metad, fname, xml_data, error); + xml_data = as_metadata_component_to_metainfo (metad, format, &tmp_error); + if (tmp_error != NULL) { + g_propagate_error (error, tmp_error); + return FALSE; + } + return as_metadata_save_data (metad, fname, xml_data, error); } /** @@ -694,16 +856,21 @@ * Serialize all #AsComponent instances to XML or YAML metadata and save * the data to a file. * An existing file at the same location will be overridden. + * + * Returns: %TRUE if the file was written without error. */ -void +gboolean as_metadata_save_collection (AsMetadata *metad, const gchar *fname, AsFormatKind format, GError **error) { g_autofree gchar *data = NULL; + GError *tmp_error = NULL; - data = as_metadata_components_to_collection (metad, format, error); - if ((error != NULL) && (*error != NULL)) - return; - as_metadata_save_data (metad, fname, data, error); + data = as_metadata_components_to_collection (metad, format, &tmp_error); + if (tmp_error != NULL) { + g_propagate_error (error, tmp_error); + return FALSE; + } + return as_metadata_save_data (metad, fname, data, error); } /** @@ -761,13 +928,21 @@ guint i; root = xmlNewNode (NULL, (xmlChar*) "components"); - xmlNewProp (root, - (xmlChar*) "version", - (xmlChar*) as_format_version_to_string (priv->format_version)); + as_xml_add_text_prop (root, + "version", + as_format_version_to_string (priv->format_version)); if (priv->origin != NULL) - xmlNewProp (root, (xmlChar*) "origin", (xmlChar*) priv->origin); + as_xml_add_text_prop (root, + "origin", + priv->origin); if (priv->arch != NULL) - xmlNewProp (root, (xmlChar*) "architecture", (xmlChar*) priv->arch); + as_xml_add_text_prop (root, + "architecture", + priv->arch); + if (as_context_has_media_baseurl (context)) + as_xml_add_text_prop (root, + "media_baseurl", + as_context_get_media_baseurl (context)); for (i = 0; i < cpts->len; i++) { xmlNode *node; @@ -961,7 +1136,7 @@ g_return_val_if_fail (format > AS_FORMAT_KIND_UNKNOWN && format < AS_FORMAT_KIND_LAST, NULL); if (priv->cpts->len == 0) - return NULL; + return g_strdup (""); context = as_metadata_new_context (metad, AS_FORMAT_STYLE_COLLECTION, NULL); @@ -1095,6 +1270,35 @@ } /** + * as_metadata_set_media_baseurl: + * @metad: an #AsMetadata instance. + * @url: the base URL. + * + * Set the base URL for all media links referenced in the metadata, + * or %NULL if every component has absolute URLs. + **/ +void +as_metadata_set_media_baseurl (AsMetadata *metad, const gchar *url) +{ + AsMetadataPrivate *priv = GET_PRIVATE (metad); + g_free (priv->media_baseurl); + priv->media_baseurl = g_strdup (url); +} + +/** + * as_metadata_get_media_baseurl: + * @metad: an #AsMetadata instance. + * + * Returns: The media URL prefix. + **/ +const gchar* +as_metadata_get_media_baseurl (AsMetadata *metad) +{ + AsMetadataPrivate *priv = GET_PRIVATE (metad); + return priv->media_baseurl; +} + +/** * as_metadata_set_architecture: * @metad: an #AsMetadata instance. * @arch: an architecture string. diff -Nru appstream-0.12.10/src/as-metadata.h appstream-0.14.5/src/as-metadata.h --- appstream-0.12.10/src/as-metadata.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-metadata.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2012-2020 Matthias Klumpp + * Copyright (C) 2012-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -83,20 +83,26 @@ #define AS_METADATA_ERROR as_metadata_error_quark () +AsFormatStyle as_metadata_file_guess_style (const gchar *filename); + AsMetadata *as_metadata_new (void); GQuark as_metadata_error_quark (void); -void as_metadata_parse_file (AsMetadata *metad, +gboolean as_metadata_parse_file (AsMetadata *metad, GFile *file, AsFormatKind format, GError **error); -void as_metadata_parse (AsMetadata *metad, - const gchar *data, - AsFormatKind format, - GError **error); +gboolean as_metadata_parse (AsMetadata *metad, + const gchar *data, + AsFormatKind format, + GError **error); +gboolean as_metadata_parse_bytes (AsMetadata *metad, + GBytes *bytes, + AsFormatKind format, + GError **error); -void as_metadata_parse_desktop_data (AsMetadata *metad, +gboolean as_metadata_parse_desktop_data (AsMetadata *metad, const gchar *data, const gchar *cid, GError **error); @@ -111,7 +117,7 @@ gchar *as_metadata_component_to_metainfo (AsMetadata *metad, AsFormatKind format, GError **error); -void as_metadata_save_metainfo (AsMetadata *metad, +gboolean as_metadata_save_metainfo (AsMetadata *metad, const gchar *fname, AsFormatKind format, GError **error); @@ -119,7 +125,7 @@ gchar *as_metadata_components_to_collection (AsMetadata *metad, AsFormatKind format, GError **error); -void as_metadata_save_collection (AsMetadata *metad, +gboolean as_metadata_save_collection (AsMetadata *metad, const gchar *fname, AsFormatKind format, GError **error); @@ -138,7 +144,7 @@ const gchar *as_metadata_get_origin (AsMetadata *metad); void as_metadata_set_origin (AsMetadata *metad, - const gchar *origin); + const gchar *origin); gboolean as_metadata_get_update_existing (AsMetadata *metad); void as_metadata_set_update_existing (AsMetadata *metad, @@ -148,6 +154,10 @@ void as_metadata_set_write_header (AsMetadata *metad, gboolean wheader); +const gchar *as_metadata_get_media_baseurl (AsMetadata *metad); +void as_metadata_set_media_baseurl (AsMetadata *metad, + const gchar *url); + const gchar *as_metadata_get_architecture (AsMetadata *metad); void as_metadata_set_architecture (AsMetadata *metad, const gchar *arch); diff -Nru appstream-0.12.10/src/as-news-convert.c appstream-0.14.5/src/as-news-convert.c --- appstream-0.12.10/src/as-news-convert.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-news-convert.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2018-2020 Matthias Klumpp + * Copyright (C) 2018-2021 Matthias Klumpp * Copyright (C) 2014-2016 Richard Hughes * * Licensed under the GNU Lesser General Public License Version 2.1 @@ -120,6 +120,8 @@ lines = g_strv_length (strv); if (lines < 4) return NULL; /* something went wrong here */ + g_free(strv[lines - 1]); + g_free(strv[lines - 2]); strv[lines - 2] = NULL; return g_strjoinv ("\n", strv + 2); @@ -331,7 +333,6 @@ xmlNode *root; xmlNode *iter; g_autofree gchar *xmldata = NULL; - g_autoptr(GString) str = g_string_new (""); /* make XML parser happy by providing a root element */ xmldata = g_strdup_printf ("%s", desc_markup); @@ -362,8 +363,7 @@ continue; if (g_strcmp0 ((gchar*) iter2->name, "li") == 0) { g_autofree gchar *content = (gchar*) xmlNodeGetContent (iter2); - g_strstrip (content); - as_yaml_emit_scalar (&emitter, content); + as_yaml_emit_scalar (&emitter, as_strstripnl (content)); } } } @@ -406,6 +406,7 @@ AS_NEWS_SECTION_KIND_NOTES, AS_NEWS_SECTION_KIND_TRANSLATION, AS_NEWS_SECTION_KIND_DOCUMENTATION, + AS_NEWS_SECTION_KIND_CONTRIBUTORS, AS_NEWS_SECTION_KIND_LAST } AsNewsSectionKind; @@ -438,6 +439,12 @@ return AS_NEWS_SECTION_KIND_TRANSLATION; if (g_strstr_len (lines, -1, "Translations\n") != NULL) return AS_NEWS_SECTION_KIND_TRANSLATION; + if (g_strstr_len (lines, -1, "Contributors:\n") != NULL) + return AS_NEWS_SECTION_KIND_CONTRIBUTORS; + if (g_strstr_len (lines, -1, "With contributions from:\n") != NULL) + return AS_NEWS_SECTION_KIND_CONTRIBUTORS; + if (g_strstr_len (lines, -1, "Thanks to:\n") != NULL) + return AS_NEWS_SECTION_KIND_CONTRIBUTORS; return AS_NEWS_SECTION_KIND_UNKNOWN; } @@ -504,6 +511,24 @@ return FALSE; } + /* apply version number */ + as_release_set_version (release, version); + + /* check if the release is unreleased */ + if ((g_strstr_len (release_txt, -1, "-xx") != NULL) || + (g_strstr_len (release_txt, -1, "-XX") != NULL) || + (g_strstr_len (release_txt, -1, "-??") != NULL)) { + g_autoptr(GDateTime) dt_now = g_date_time_new_now_local (); + date_str = as_date_time_format_iso8601 (dt_now); + as_release_set_kind (release, AS_RELEASE_KIND_DEVELOPMENT); + as_release_set_date (release, date_str); + + /* no further date parsing is needed at this point */ + return TRUE; + } else { + as_release_set_kind (release, AS_RELEASE_KIND_STABLE); + } + /* parse date */ release_split = g_strsplit (release_txt, "-", -1); if (g_strv_length (release_split) != 3) { @@ -529,7 +554,6 @@ date_str = g_strdup_printf ("%s-%s-%s", release_split[0], release_split[1], release_split[2]); - as_release_set_version (release, version); as_release_set_date (release, date_str); return TRUE; @@ -543,8 +567,9 @@ as_news_text_add_markup (desc, "ul", NULL); for (i = 0; lines[i] != NULL; i++) { guint prefix = 0; - if ((g_str_has_prefix (lines[i], " - ")) || (g_str_has_prefix (lines[i], " * "))) - prefix = 3; + g_strstrip(lines[i]); + if ((g_str_has_prefix (lines[i], "- ")) || (g_str_has_prefix (lines[i], "* "))) + prefix = 2; as_news_text_add_markup (desc, "li", lines[i] + prefix); } as_news_text_add_markup (desc, "/ul", NULL); @@ -554,16 +579,48 @@ static gboolean as_news_text_to_para_markup (GString *desc, const gchar *txt, GError **error) { - guint i; g_auto(GStrv) lines = NULL; + gboolean para_generated = FALSE; - lines = g_strsplit (txt, "\n", -1); - for (i = 1; lines[i] != NULL; i++) { - guint prefix = 0; - if ((g_str_has_prefix (lines[i], " - ")) || (g_str_has_prefix (lines[i], " * "))) - prefix = 3; - as_news_text_add_markup (desc, "p", lines[i] + prefix); + if (g_strstr_len (txt, -1, "* ") != NULL || g_strstr_len (txt, -1, "- ") != NULL) { + /* enumerations to paragraphs */ + lines = g_strsplit (txt, "\n", -1); + for (guint i = 1; lines[i] != NULL; i++) { + guint prefix = 0; + g_strstrip (lines[i]); + if ((g_str_has_prefix (lines[i], "- ")) || (g_str_has_prefix (lines[i], "* "))) + prefix = 2; + + as_news_text_add_markup (desc, "p", lines[i] + prefix); + para_generated = TRUE; + } + } else { + /* freeform text to paragraphs */ + const gchar *txt_content = g_strstr_len (txt, -1, "\n"); + if (txt_content == NULL) { + g_set_error (error, + AS_METADATA_ERROR, + AS_METADATA_ERROR_FAILED, + "Unable to write sensible paragraph markup (missing header) for: %s.", txt); + return FALSE; + } + lines = g_strsplit (txt_content, "\n\n", -1); + for (guint i = 0; lines[i] != NULL; i++) { + g_strstrip (lines[i]); + + as_news_text_add_markup (desc, "p", lines[i]); + para_generated = TRUE; + } + } + + if (!para_generated) { + g_set_error (error, + AS_METADATA_ERROR, + AS_METADATA_ERROR_FAILED, + "Unable to write sensible paragraph markup (source data may be malformed) for: %s.", txt); + return FALSE; } + return TRUE; } @@ -592,7 +649,7 @@ /* try to unsplit lines */ data_str = g_string_new (data); - as_gstring_replace (data_str, "\n ", " "); + as_gstring_replace2 (data_str, "\n ", " ", 0); /* break up into sections */ desc = g_string_new (""); @@ -618,10 +675,9 @@ /* parse header */ if (!as_news_text_to_release_hdr (rel, desc, split[i], error)) { - g_set_error (error, - AS_METADATA_ERROR, - AS_METADATA_ERROR_FAILED, - "Unable to parse NEWS header: '%s'", split[i]); + g_prefix_error (error, + "Unable to parse NEWS header '%s': ", + split[i]); return NULL; } break; @@ -665,6 +721,20 @@ as_news_text_add_markup (desc, "p", "This release updates translations."); break; + case AS_NEWS_SECTION_KIND_CONTRIBUTORS: + as_news_text_add_markup (desc, "p", + "With contributions from:"); + + if (g_strstr_len (split[i], -1, "* ") != NULL || + g_strstr_len (split[i], -1, "- ") != NULL) { + lines = g_strsplit (split[i], "\n", -1); + if (!as_news_text_to_list_markup (desc, lines + 1, error)) + return FALSE; + } else { + if (!as_news_text_to_para_markup (desc, split[i], error)) + return FALSE; + } + break; default: g_set_error (error, AS_METADATA_ERROR, diff -Nru appstream-0.12.10/src/as-news-convert.h appstream-0.14.5/src/as-news-convert.h --- appstream-0.12.10/src/as-news-convert.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-news-convert.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2018-2020 Matthias Klumpp + * Copyright (C) 2018-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * diff -Nru appstream-0.12.10/src/as-pool.c appstream-0.14.5/src/as-pool.c --- appstream-0.12.10/src/as-pool.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-pool.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2012-2020 Matthias Klumpp + * Copyright (C) 2012-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -49,6 +49,7 @@ #include #include #include +#include #include "as-utils.h" #include "as-utils-private.h" @@ -58,6 +59,7 @@ #include "as-distro-extras.h" #include "as-stemmer.h" #include "as-cache.h" +#include "as-profile.h" #include "as-metadata.h" @@ -66,6 +68,7 @@ gchar *screenshot_service_url; gchar *locale; gchar *current_arch; + AsProfile *profile; GPtrArray *xml_dirs; GPtrArray *yaml_dirs; @@ -74,7 +77,8 @@ AsCache *system_cache; AsCache *cache; gchar *cache_fname; - gchar *sys_cache_dir; + gchar *sys_cache_dir_system; + gchar *sys_cache_dir_user; gchar **term_greylist; @@ -114,6 +118,7 @@ static void as_pool_add_metadata_location_internal (AsPool *pool, const gchar *directory, gboolean add_root); static void as_pool_cache_refine_component_cb (gpointer data, gpointer user_data); +static void as_pool_cleanup_cache_dir (AsPool *pool, const gchar *cache_dir); /** * as_pool_init: @@ -122,12 +127,14 @@ as_pool_init (AsPool *pool) { AsPoolPrivate *priv = GET_PRIVATE (pool); - GError *tmp_error = NULL; - guint i; + g_autofree gchar *cache_root = NULL; + g_autoptr(GError) tmp_error = NULL; g_autoptr(AsDistroDetails) distro = NULL; g_mutex_init (&priv->mutex); + priv->profile = as_profile_new (); + /* set active locale */ priv->locale = as_get_current_locale (); @@ -141,8 +148,12 @@ /* set up our localized search-term greylist */ priv->term_greylist = g_strsplit (AS_SEARCH_GREYLIST_STR, ";", -1); - /* system-wide cache locations */ - priv->sys_cache_dir = g_strdup (AS_APPSTREAM_CACHE_PATH); + /* system-wide system data cache locations */ + priv->sys_cache_dir_system = g_strdup (AS_APPSTREAM_CACHE_PATH); + + /* per-user system data cache locations */ + cache_root = as_get_user_cache_dir (); + priv->sys_cache_dir_user = g_build_filename (cache_root, "system", NULL); if (as_utils_is_root ()) { /* users umask shouldn't interfere with us creating new files when we are root */ @@ -167,8 +178,7 @@ priv->cache_fname = g_strdup (":temporary"); if (!as_cache_open (priv->cache, priv->cache_fname, priv->locale, &tmp_error)) { g_critical ("Unable to open temporary cache: %s", tmp_error->message); - g_error_free (tmp_error); - tmp_error = NULL; + g_clear_pointer (&tmp_error, g_error_free); } distro = as_distro_details_new (); @@ -178,14 +188,14 @@ priv->prefer_local_metainfo = as_distro_details_get_bool (distro, "PreferLocalMetainfoData", FALSE); /* set watched default directories for AppStream metadata */ - for (i = 0; AS_SYSTEM_COLLECTION_METADATA_PATHS[i] != NULL; i++) + for (guint i = 0; AS_SYSTEM_COLLECTION_METADATA_PATHS[i] != NULL; i++) as_pool_add_metadata_location_internal (pool, AS_SYSTEM_COLLECTION_METADATA_PATHS[i], FALSE); /* set default pool flags */ priv->flags = AS_POOL_FLAG_READ_COLLECTION | AS_POOL_FLAG_READ_METAINFO; /* set default cache flags */ - priv->cache_flags = AS_CACHE_FLAG_USE_SYSTEM | AS_CACHE_FLAG_USE_USER; + priv->cache_flags = AS_CACHE_FLAG_USE_SYSTEM | AS_CACHE_FLAG_USE_USER | AS_CACHE_FLAG_REFRESH_SYSTEM; } /** @@ -207,12 +217,15 @@ g_object_unref (priv->cache); g_object_unref (priv->system_cache); g_free (priv->cache_fname); - g_free (priv->sys_cache_dir); + g_free (priv->sys_cache_dir_user); + g_free (priv->sys_cache_dir_system); g_free (priv->locale); g_free (priv->current_arch); g_strfreev (priv->term_greylist); + g_object_unref (priv->profile); + g_mutex_unlock (&priv->mutex); g_mutex_clear (&priv->mutex); @@ -487,6 +500,7 @@ * (we hope that collection data was loaded first here, so the existing_cpt already contains * the information we want - if that's not the case, no harm is done here) */ as_component_set_pkgnames (cpt, as_component_get_pkgnames (existing_cpt)); + as_component_set_bundles_array (cpt, as_component_get_bundles (existing_cpt)); if (!as_pool_insert (pool, cpt, error)) return FALSE; @@ -659,6 +673,11 @@ static gboolean as_path_is_system_metadata_location (const gchar *dir) { + /* we can't just do a "/home/" prefix check here, as e.g. Flatpak data may also be + * in system directories, and not every instance of an AppStream-using app will have + * these included, which would mess up cross-app cache sharing. + * In addition, some cliants may have multiple AsPool instance, further complicating + * this issue. */ for (gint i = 0; AS_SYSTEM_COLLECTION_METADATA_PATHS[i] != NULL; i++) if (g_str_has_prefix (dir, AS_SYSTEM_COLLECTION_METADATA_PATHS[i])) return TRUE; @@ -696,17 +715,21 @@ as_pool_metadata_changed (AsPool *pool, AsCache *cache, gboolean system_only) { AsPoolPrivate *priv = GET_PRIVATE (pool); - guint i; g_autoptr(GMutexLocker) locker = g_mutex_locker_new (&priv->mutex); - for (i = 0; i < priv->xml_dirs->len; i++) { + /* if the cache does not exist, we always need to recreate it */ + if (!g_file_test (as_cache_get_location (cache), G_FILE_TEST_EXISTS)) + return TRUE; + + /* compare file times */ + for (guint i = 0; i < priv->xml_dirs->len; i++) { const gchar *dir = (const gchar*) g_ptr_array_index (priv->xml_dirs, i); if (system_only && !as_path_is_system_metadata_location (dir)) continue; if (as_pool_ctime_newer (pool, dir, cache)) return TRUE; } - for (i = 0; i < priv->yaml_dirs->len; i++) { + for (guint i = 0; i < priv->yaml_dirs->len; i++) { const gchar *dir = (const gchar*) g_ptr_array_index (priv->yaml_dirs, i); if (system_only && !as_path_is_system_metadata_location (dir)) continue; @@ -728,59 +751,113 @@ AsPoolPrivate *priv = GET_PRIVATE (pool); GPtrArray *cpts; g_autoptr(GPtrArray) merge_cpts = NULL; - guint i; gboolean ret; g_autoptr(AsMetadata) metad = NULL; g_autoptr(GPtrArray) mdata_files = NULL; - GError *tmp_error = NULL; + g_autoptr(GError) tmp_error = NULL; g_autoptr(GMutexLocker) locker = NULL; + g_autoptr(AsProfileTask) ptask = NULL; + gboolean system_cache_used = FALSE; /* see if we can use the system caches */ if (!refresh && as_pool_has_system_metadata_paths (pool)) { - g_autofree gchar *fname = NULL; + g_autofree gchar *cache_fname = NULL; + gboolean use_user_cache = FALSE; + gboolean cache_stale = TRUE; + g_mutex_lock (&priv->mutex); - fname = g_strdup_printf ("%s/%s.cache", priv->sys_cache_dir, priv->locale); - as_cache_set_location (priv->system_cache, fname); + cache_fname = g_strdup_printf ("%s/%s.cache", priv->sys_cache_dir_system, priv->locale); + as_cache_set_location (priv->system_cache, cache_fname); g_mutex_unlock (&priv->mutex); - if (!as_pool_metadata_changed (pool, priv->system_cache, TRUE)) { - g_debug ("System metadata cache seems up to date."); - + g_debug ("Shared metadata cache of system data seems up to date."); + cache_stale = FALSE; + } else { g_mutex_lock (&priv->mutex); - if (as_flags_contains (priv->cache_flags, AS_CACHE_FLAG_USE_SYSTEM)) { - g_mutex_unlock (&priv->mutex); - g_debug ("Using system cache data."); - if (g_file_test (fname, G_FILE_TEST_EXISTS)) { - as_cache_close (priv->system_cache); + g_free (cache_fname); + cache_fname = g_strdup_printf ("%s/%s.cache", priv->sys_cache_dir_user, priv->locale); + as_cache_set_location (priv->system_cache, cache_fname); + g_mutex_unlock (&priv->mutex); + + use_user_cache = TRUE; + cache_stale = as_pool_metadata_changed (pool, priv->system_cache, TRUE); + if (cache_stale) + g_debug ("User metadata cache of system data is stale, may try to recreate it."); + else + g_debug ("User metadata cache of system data seems up to date."); + } + + g_mutex_lock (&priv->mutex); + if (as_flags_contains (priv->cache_flags, AS_CACHE_FLAG_USE_SYSTEM)) { + g_mutex_unlock (&priv->mutex); - g_mutex_lock (&priv->mutex); - if (as_cache_open2 (priv->system_cache, priv->locale, &tmp_error)) { + as_cache_close (priv->system_cache); + if (cache_stale) { + if (as_flags_contains (priv->cache_flags, AS_CACHE_FLAG_REFRESH_SYSTEM)) { + g_autoptr(AsPool) refresh_pool = as_pool_new (); + g_debug ("System-wide metadata cache is stale, will refresh it now."); + ret = as_pool_refresh_system_cache (refresh_pool, + TRUE, /* user */ + FALSE, /* force */ + &tmp_error); + if (tmp_error != NULL) { + if (ret) + g_warning ("System cache issue: %s", tmp_error->message); + else + g_warning ("Unable to refresh system cache: %s", tmp_error->message); + g_clear_pointer (&tmp_error, g_error_free); + } + if (ret) { + /* the cache should exist now, ready to be loaded */ + g_mutex_lock (&priv->mutex); + if (as_cache_open2 (priv->system_cache, priv->locale, &tmp_error)) { + system_cache_used = TRUE; + } else { + g_warning ("Unable to load newly generated system cache: %s", tmp_error->message); + g_clear_pointer (&tmp_error, g_error_free); + system_cache_used = FALSE; + } g_mutex_unlock (&priv->mutex); - return TRUE; - } else { - /* if we can't open the system cache for whatever reason, we complain but - * silently fall back to reading all data again */ - g_warning ("Unable to load system cache: %s", tmp_error->message); - g_error_free (tmp_error); - tmp_error = NULL; } - g_mutex_unlock (&priv->mutex); } else { - g_debug ("Missing cache for language '%s', attempting to load fresh data.", priv->locale); + g_debug ("System-wide metadata cache is stale, but refresh was prohibited."); + system_cache_used = FALSE; } } else { + g_debug ("Using system cache data %s.", use_user_cache? "from user cache" : "from shared cache"); + + g_mutex_lock (&priv->mutex); + if (as_cache_open2 (priv->system_cache, priv->locale, &tmp_error)) { + system_cache_used = TRUE; + } else { + /* if we can't open the system cache for whatever reason, we complain but + * silently fall back to reading all data again */ + g_warning ("Unable to load system cache: %s", tmp_error->message); + g_clear_pointer (&tmp_error, g_error_free); + system_cache_used = FALSE; + } g_mutex_unlock (&priv->mutex); - g_debug ("Not using system cache."); - as_cache_close (priv->system_cache); + + /* try to clean up old caches for the user, in case the system cache is up to date + * and we are using it instead */ + if (!use_user_cache) + as_pool_cleanup_cache_dir (pool, priv->sys_cache_dir_user); } + } else { - g_debug ("System cache is stale, ignoring it."); + g_mutex_unlock (&priv->mutex); + g_debug ("Not using system cache."); + as_cache_close (priv->system_cache); + system_cache_used = FALSE; } + } else { if (!refresh) g_debug ("No system collection metadata paths selected, can not use system cache."); } + ptask = as_profile_start_literal (priv->profile, "AsPool:load_collection_data"); + /* prepare metadata parser */ metad = as_metadata_new (); as_metadata_set_format_style (metad, AS_FORMAT_STYLE_COLLECTION); @@ -796,9 +873,12 @@ locker = g_mutex_locker_new (&priv->mutex); /* find XML data */ - for (i = 0; i < priv->xml_dirs->len; i++) { + for (guint i = 0; i < priv->xml_dirs->len; i++) { const gchar *xml_path = (const gchar *) g_ptr_array_index (priv->xml_dirs, i); - guint j; + if (system_cache_used && as_path_is_system_metadata_location (xml_path)) { + g_debug ("Skipped XML path '%s' for session cache: Already considered for system cache.", xml_path); + continue; + } if (g_file_test (xml_path, G_FILE_TEST_IS_DIR)) { g_autoptr(GPtrArray) xmls = NULL; @@ -806,7 +886,7 @@ g_debug ("Searching for data in: %s", xml_path); xmls = as_utils_find_files_matching (xml_path, "*.xml*", FALSE, NULL); if (xmls != NULL) { - for (j = 0; j < xmls->len; j++) { + for (guint j = 0; j < xmls->len; j++) { const gchar *val; val = (const gchar *) g_ptr_array_index (xmls, j); g_ptr_array_add (mdata_files, @@ -817,9 +897,12 @@ } /* find YAML metadata */ - for (i = 0; i < priv->yaml_dirs->len; i++) { + for (guint i = 0; i < priv->yaml_dirs->len; i++) { const gchar *yaml_path = (const gchar *) g_ptr_array_index (priv->yaml_dirs, i); - guint j; + if (system_cache_used && as_path_is_system_metadata_location (yaml_path)) { + g_debug ("Skipped YAML path '%s' for session cache: Already considered for system cache.", yaml_path); + continue; + } if (g_file_test (yaml_path, G_FILE_TEST_IS_DIR)) { g_autoptr(GPtrArray) yamls = NULL; @@ -827,7 +910,7 @@ g_debug ("Searching for data in: %s", yaml_path); yamls = as_utils_find_files_matching (yaml_path, "*.yml*", FALSE, NULL); if (yamls != NULL) { - for (j = 0; j < yamls->len; j++) { + for (guint j = 0; j < yamls->len; j++) { const gchar *val; val = (const gchar *) g_ptr_array_index (yamls, j); g_ptr_array_add (mdata_files, @@ -841,7 +924,7 @@ g_clear_pointer (&locker, g_mutex_locker_free); /* parse the found data */ - for (i = 0; i < mdata_files->len; i++) { + for (guint i = 0; i < mdata_files->len; i++) { g_autoptr(GFile) infile = NULL; const gchar *fname; @@ -860,8 +943,7 @@ &tmp_error); if (tmp_error != NULL) { g_debug ("WARNING: %s", tmp_error->message); - g_error_free (tmp_error); - tmp_error = NULL; + g_clear_pointer (&tmp_error, g_error_free); ret = FALSE; if (error != NULL) { @@ -883,7 +965,7 @@ /* add found components to the metadata pool */ cpts = as_metadata_get_components (metad); merge_cpts = g_ptr_array_new (); - for (i = 0; i < cpts->len; i++) { + for (guint i = 0; i < cpts->len; i++) { AsComponent *cpt = AS_COMPONENT (g_ptr_array_index (cpts, i)); /* TODO: We support only system components at time */ @@ -898,21 +980,19 @@ as_pool_add_component_internal (pool, cpt, TRUE, &tmp_error); if (tmp_error != NULL) { g_debug ("Metadata ignored: %s", tmp_error->message); - g_error_free (tmp_error); - tmp_error = NULL; + g_clear_pointer (&tmp_error, g_error_free); } } /* we need to merge the merge-components into the pool last, so the merge process can fetch * all components with matching IDs from the pool */ - for (i = 0; i < merge_cpts->len; i++) { + for (guint i = 0; i < merge_cpts->len; i++) { AsComponent *mcpt = AS_COMPONENT (g_ptr_array_index (merge_cpts, i)); as_pool_add_component_internal (pool, mcpt, TRUE, &tmp_error); if (tmp_error != NULL) { g_debug ("Merge component ignored: %s", tmp_error->message); - g_error_free (tmp_error); - tmp_error = NULL; + g_clear_pointer (&tmp_error, g_error_free); } } @@ -929,12 +1009,14 @@ static GHashTable* as_pool_get_desktop_entries_table (AsPool *pool) { - guint i; + AsPoolPrivate *priv = GET_PRIVATE (pool); g_autoptr(AsMetadata) metad = NULL; g_autoptr(GPtrArray) de_files = NULL; + g_autoptr(AsProfileTask) ptask = NULL; GHashTable *de_cpt_table = NULL; GError *error = NULL; - AsPoolPrivate *priv = GET_PRIVATE (pool); + + ptask = as_profile_start_literal (priv->profile, "AsPool:get_desktop_entries_table"); /* prepare metadata parser */ metad = as_metadata_new (); @@ -956,7 +1038,7 @@ } /* parse the found data */ - for (i = 0; i < de_files->len; i++) { + for (guint i = 0; i < de_files->len; i++) { g_autoptr(GFile) infile = NULL; AsComponent *cpt; const gchar *fname = (const gchar*) g_ptr_array_index (de_files, i); @@ -1002,11 +1084,13 @@ static void as_pool_load_metainfo_data (AsPool *pool, GHashTable *desktop_entry_cpts) { - guint i; + AsPoolPrivate *priv = GET_PRIVATE (pool); g_autoptr(AsMetadata) metad = NULL; g_autoptr(GPtrArray) mi_files = NULL; + g_autoptr(AsProfileTask) ptask = NULL; GError *error = NULL; - AsPoolPrivate *priv = GET_PRIVATE (pool); + + ptask = as_profile_start_literal (priv->profile, "AsPool:load_metainfo_data"); /* prepare metadata parser */ metad = as_metadata_new (); @@ -1023,7 +1107,7 @@ } /* parse the found data */ - for (i = 0; i < mi_files->len; i++) { + for (guint i = 0; i < mi_files->len; i++) { AsComponent *cpt; AsLaunchable *launchable; g_autoptr(GFile) infile = NULL; @@ -1124,6 +1208,9 @@ { AsPoolPrivate *priv = GET_PRIVATE (pool); g_autoptr(GHashTable) de_cpts = NULL; + g_autoptr(AsProfileTask) ptask = NULL; + + ptask = as_profile_start_literal (priv->profile, "AsPool:load_metainfo_desktop_data"); /* check if we actually need to load anything */ g_mutex_lock (&priv->mutex); @@ -1211,12 +1298,15 @@ as_pool_load (AsPool *pool, GCancellable *cancellable, GError **error) { AsPoolPrivate *priv = GET_PRIVATE (pool); + g_autoptr(AsProfileTask) ptask = NULL; gboolean ret = TRUE; guint invalid_cpts_n; gssize all_cpts_n; gdouble valid_percentage; GError *tmp_error = NULL; + ptask = as_profile_start_literal (priv->profile, "AsPool:load"); + g_mutex_lock (&priv->mutex); if (as_flags_contains (priv->cache_flags, AS_CACHE_FLAG_NO_CLEAR)) { g_autoptr(GMutexLocker) inner_locker = NULL; @@ -1270,7 +1360,7 @@ /* we only return a non-TRUE value if a significant amount (10%) of components has been declared invalid. */ if ((invalid_cpts_n != 0) && (valid_percentage <= 90)) ret = FALSE; - + /* report errors if refining has failed */ if (!ret && (error != NULL)) { if (*error == NULL) { @@ -1405,15 +1495,18 @@ * * Get a list of found components. * - * Returns: (transfer full) (element-type AsComponent): an array of #AsComponent instances. + * Returns: (transfer container) (element-type AsComponent): an array of #AsComponent instances. */ GPtrArray* as_pool_get_components (AsPool *pool) { AsPoolPrivate *priv = GET_PRIVATE (pool); + g_autoptr(AsProfileTask) ptask = NULL; g_autoptr(GError) tmp_error = NULL; GPtrArray *result = NULL; + ptask = as_profile_start_literal (priv->profile, "AsPool:get_components"); + result = as_cache_get_components_all (priv->cache, &tmp_error); if (result == NULL) { g_warning ("Unable to retrieve all components from session cache: %s", tmp_error->message); @@ -1442,15 +1535,18 @@ * This function may contain multiple results if we have * data describing this component from multiple scopes/origin types. * - * Returns: (transfer full) (element-type AsComponent): An #AsComponent + * Returns: (transfer container) (element-type AsComponent): An #AsComponent */ GPtrArray* as_pool_get_components_by_id (AsPool *pool, const gchar *cid) { AsPoolPrivate *priv = GET_PRIVATE (pool); + g_autoptr(AsProfileTask) ptask = NULL; g_autoptr(GError) tmp_error = NULL; GPtrArray *result = NULL; + ptask = as_profile_start_literal (priv->profile, "AsPool:get_components_by_id"); + result = as_cache_get_components_by_id (priv->cache, cid, &tmp_error); if (result == NULL) { g_warning ("Unable find components by ID in session cache: %s", tmp_error->message); @@ -1478,7 +1574,7 @@ * * Find components in the AppStream data pool which provide a certain item. * - * Returns: (transfer full) (element-type AsComponent): an array of #AsComponent objects which have been found. + * Returns: (transfer container) (element-type AsComponent): an array of #AsComponent objects which have been found. */ GPtrArray* as_pool_get_components_by_provided_item (AsPool *pool, @@ -1515,7 +1611,7 @@ * * Return a list of all components in the pool which are of a certain kind. * - * Returns: (transfer full) (element-type AsComponent): an array of #AsComponent objects which have been found. + * Returns: (transfer container) (element-type AsComponent): an array of #AsComponent objects which have been found. */ GPtrArray* as_pool_get_components_by_kind (AsPool *pool, AsComponentKind kind) @@ -1550,7 +1646,7 @@ * * Return a list of components which are in one of the categories. * - * Returns: (transfer full) (element-type AsComponent): an array of #AsComponent objects which have been found. + * Returns: (transfer container) (element-type AsComponent): an array of #AsComponent objects which have been found. */ GPtrArray* as_pool_get_components_by_categories (AsPool *pool, gchar **categories) @@ -1594,7 +1690,7 @@ * Find components in the AppStream data pool which provide a specific launchable. * See #AsLaunchable for details on launchables, or refer to the AppStream specification. * - * Returns: (transfer full) (element-type AsComponent): an array of #AsComponent objects which have been found. + * Returns: (transfer container) (element-type AsComponent): an array of #AsComponent objects which have been found. * * Since: 0.11.4 */ @@ -1650,47 +1746,61 @@ } /** - * as_pool_build_search_terms: + * as_pool_build_search_tokens: + * @pool: An instance of #AsPool. + * @search: the (user-provided) search phrase. * - * Build an array of search terms from a search string and improve the search terms - * slightly, by stripping whitespaces, casefolding the terms and removing greylist words. + * Splits up a string into an array of tokens that are suitable for searching. + * This includes stripping whitespaces, casefolding the terms and removing greylist words. + * + * This function is usually called automatically when needed, you will only need to + * run it explicitly when you need to check which search tokens the pool will actually + * use internally for a given phrase. + * + * Returns: (transfer full): Valid tokens to search for, or %NULL for error */ -static gchar** -as_pool_build_search_terms (AsPool *pool, const gchar *search) +gchar** +as_pool_build_search_tokens (AsPool *pool, const gchar *search) { AsPoolPrivate *priv = GET_PRIVATE (pool); g_autoptr(AsStemmer) stemmer = NULL; - g_autofree gchar *tmp_str = NULL; + g_autofree gchar *search_norm = NULL; + g_auto(GStrv) words = NULL; g_auto(GStrv) strv = NULL; gchar **terms; - guint i; guint idx; if (search == NULL) return NULL; - tmp_str = g_utf8_casefold (search, -1); + search_norm = g_utf8_casefold (search, -1); /* filter query by greylist (to avoid overly generic search terms) */ - for (i = 0; priv->term_greylist[i] != NULL; i++) { - gchar *str; - str = as_str_replace (tmp_str, priv->term_greylist[i], ""); - g_free (tmp_str); - tmp_str = str; + words = g_strsplit (search_norm, " ", -1); + for (guint i = 0; words[i] != NULL; i++) { + as_strstripnl (words[i]); + for (guint j = 0; priv->term_greylist[j] != NULL; j++) { + if (g_strcmp0 (words[i], priv->term_greylist[j]) == 0) { + g_free (words[i]); + words[i] = g_strdup (""); + } + } } + g_free (search_norm); + search_norm = g_strjoinv (" ", words); /* restore query if it was just greylist words */ - g_strstrip (tmp_str); - if (g_strcmp0 (tmp_str, "") == 0) { + g_strstrip (search_norm); + if (g_strcmp0 (search_norm, "") == 0) { g_debug ("grey-list replaced all terms, restoring"); - g_free (tmp_str); - tmp_str = g_utf8_casefold (search, -1); + g_free (search_norm); + search_norm = g_utf8_casefold (search, -1); } - strv = g_str_tokenize_and_fold (tmp_str, priv->locale, NULL); + strv = g_str_tokenize_and_fold (search_norm, priv->locale, NULL); /* we might still be able to extract tokens if g_str_tokenize_and_fold() can't do it or +/- were found */ if (strv == NULL) { g_autofree gchar *delim = NULL; - delim = g_utf8_strdown (tmp_str, -1); + delim = g_utf8_strdown (search_norm, -1); g_strdelimit (delim, "/,.;:", ' '); strv = g_strsplit (delim, " ", -1); } @@ -1698,7 +1808,7 @@ terms = g_new0 (gchar *, g_strv_length (strv) + 1); idx = 0; stemmer = g_object_ref (as_stemmer_get ()); - for (i = 0; strv[i] != NULL; i++) { + for (guint i = 0; strv[i] != NULL; i++) { gchar *token; if (!as_user_search_term_valid (strv[i])) continue; @@ -1721,7 +1831,7 @@ * @pool: An instance of #AsPool * @search: A search string * - * Search for a list of components matching the search terms. + * Search for a list of components matching the search term. * The list will be ordered by match score. * * Returns: (transfer container) (element-type AsComponent): an array of the found #AsComponent objects. @@ -1732,32 +1842,35 @@ as_pool_search (AsPool *pool, const gchar *search) { AsPoolPrivate *priv = GET_PRIVATE (pool); + g_autoptr(AsProfileTask) ptask = NULL; g_autoptr(GError) tmp_error = NULL; GPtrArray *result = NULL; - g_auto(GStrv) terms = NULL; + g_auto(GStrv) tokens = NULL; + + ptask = as_profile_start_literal (priv->profile, "AsPool:search"); /* sanitize user's search term */ - terms = as_pool_build_search_terms (pool, search); + tokens = as_pool_build_search_tokens (pool, search); - if (terms == NULL) { + if (tokens == NULL) { /* the query was invalid */ g_autofree gchar *tmp = g_strdup (search); - g_strstrip (tmp); + as_strstripnl (tmp); if (strlen (tmp) <= 1) { /* we have a one-letter search query - we cheat here and just return everything */ g_debug ("Search query too broad. Matching everything."); return as_pool_get_components (pool); } else { - g_debug ("No valid search terms. Can not find any results."); + g_debug ("No valid search tokens. Can not find any results."); return g_ptr_array_new_with_free_func (g_object_unref); } } else { g_autofree gchar *tmp_str = NULL; - tmp_str = g_strjoinv (" ", terms); + tmp_str = g_strjoinv (" ", tokens); g_debug ("Searching for: %s", tmp_str); } - result = as_cache_search (priv->cache, terms, FALSE, &tmp_error); + result = as_cache_search (priv->cache, tokens, FALSE, &tmp_error); if (result == NULL) { g_mutex_lock (&priv->mutex); g_warning ("Search in session cache failed: %s", tmp_error->message); @@ -1767,7 +1880,7 @@ if (as_pool_can_query_system_cache (pool)) { g_autoptr(GPtrArray) tmp_res = NULL; - tmp_res = as_cache_search (priv->system_cache, terms, FALSE, &tmp_error); + tmp_res = as_cache_search (priv->system_cache, tokens, FALSE, &tmp_error); if (tmp_res == NULL) { g_warning ("Search in system cache failed: %s", tmp_error->message); return result; @@ -1795,12 +1908,58 @@ gboolean as_pool_refresh_cache (AsPool *pool, gboolean force, GError **error) { - return as_pool_refresh_system_cache (pool, force, error); + return as_pool_refresh_system_cache (pool, FALSE, force, error); +} + +/** + * as_pool_cleanup_cache_dir: + * + * Delete all files in a cache directory. + */ +static void +as_pool_cleanup_cache_dir (AsPool *pool, const gchar *cache_dir) +{ + g_autoptr(GFileEnumerator) direnum = NULL; + g_autoptr(GFile) cdir = NULL; + g_autoptr(GError) error = NULL; + + cdir = g_file_new_for_path (cache_dir); + direnum = g_file_enumerate_children (cdir, + G_FILE_ATTRIBUTE_STANDARD_NAME, + G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, + NULL, + &error); + if (error != NULL) { + g_debug ("Unable to clean cache directories '%s': %s", cache_dir, error->message); + return; + } + + while (TRUE) { + GFileInfo *finfo = NULL; + g_autofree gchar *fname_full = NULL; + const gchar *fname; + if (!g_file_enumerator_iterate (direnum, &finfo, NULL, NULL, NULL)) + return; + if (finfo == NULL) + break; + if (g_file_info_get_file_type (finfo) != G_FILE_TYPE_REGULAR) + continue; + fname = g_file_info_get_name (finfo); + if (!g_str_has_suffix (fname, ".cache") && + !g_str_has_suffix (fname, ".tmp") && + !g_str_has_suffix (fname, ".mdb")) + continue; + + fname_full = g_build_filename (cache_dir, fname, NULL); + g_debug ("Deleting cache file: %s", fname); + g_unlink (fname_full); + } } /** * as_pool_refresh_system_cache: * @pool: An instance of #AsPool. + * @user: Build cache for the current user, instead of system-wide. * @force: Enforce refresh, even if source data has not changed. * * Update the AppStream cache. There is normally no need to call this function manually, because cache updates are handled @@ -1809,23 +1968,32 @@ * Returns: %TRUE if the cache was updated, %FALSE on error or if the cache update was not necessary and has been skipped. */ gboolean -as_pool_refresh_system_cache (AsPool *pool, gboolean force, GError **error) +as_pool_refresh_system_cache (AsPool *pool, gboolean user, gboolean force, GError **error) { AsPoolPrivate *priv = GET_PRIVATE (pool); gboolean ret = FALSE; + gboolean cache_updated = FALSE; g_autofree gchar *cache_fname = NULL; + g_autofree gchar *cache_fname_tmp = NULL; + g_autofree gchar *random_str = NULL; g_autoptr(GError) data_load_error = NULL; GError *tmp_error = NULL; AsCacheFlags prev_cache_flags; guint invalid_cpts_n; + const gchar *sys_cache_dir; + + if (user) + sys_cache_dir = priv->sys_cache_dir_user; + else + sys_cache_dir = priv->sys_cache_dir_system; /* try to create cache directory, in case it doesn't exist */ - g_mkdir_with_parents (priv->sys_cache_dir, 0755); - if (!as_utils_is_writable (priv->sys_cache_dir)) { + g_mkdir_with_parents (sys_cache_dir, 0755); + if (!as_utils_is_writable (sys_cache_dir)) { g_set_error (error, AS_POOL_ERROR, AS_POOL_ERROR_TARGET_NOT_WRITABLE, - _("Cache location '%s' is not writable."), priv->sys_cache_dir); + _("Cache location '%s' is not writable."), sys_cache_dir); return FALSE; } @@ -1833,18 +2001,20 @@ * This has to happen before we check for new metadata, so the system cache can * determine its age (so we know whether a refresh is needed at all). */ g_mutex_lock (&priv->mutex); - cache_fname = g_strdup_printf ("%s/%s.cache", priv->sys_cache_dir, priv->locale); - g_mutex_unlock (&priv->mutex); + cache_fname = g_strdup_printf ("%s/%s.cache", sys_cache_dir, priv->locale); as_cache_set_location (priv->system_cache, cache_fname); + g_mutex_unlock (&priv->mutex); /* collect metadata */ #ifdef HAVE_APT_SUPPORT - /* currently, we only do something here if we are running with explicit APT support compiled in */ - as_pool_scan_apt (pool, force, &tmp_error); - if (tmp_error != NULL) { - /* the exact error is not forwarded here, since we might be able to partially update the cache */ - g_warning ("Error while collecting metadata: %s", tmp_error->message); - g_clear_error (&tmp_error); + /* currently, we only do something here if we are running with explicit APT support compiled in and are root */ + if (!user || as_utils_is_root ()) { + as_pool_scan_apt (pool, force, &tmp_error); + if (tmp_error != NULL) { + /* the exact error is not forwarded here, since we might be able to partially update the cache */ + g_warning ("Error while collecting metadata: %s", tmp_error->message); + g_clear_error (&tmp_error); + } } #endif @@ -1858,7 +2028,7 @@ return FALSE; } } - g_debug ("Refreshing AppStream cache"); + g_debug ("Refreshing AppStream system data cache"); /* ensure we start with an empty pool */ as_cache_close (priv->system_cache); @@ -1867,11 +2037,19 @@ /* don't call sync explicitly for a dramatic improvement in speed */ as_cache_set_nosync (priv->cache, TRUE); - /* open system cache as user cache temporarily, so we can modify it */ - g_remove (cache_fname); + /* open new system cache as user cache temporarily, so we can modify it */ g_mutex_lock (&priv->mutex); - if (!as_cache_open (priv->cache, cache_fname, priv->locale, error)) { + + random_str = as_random_alnum_string (8); + cache_fname_tmp = g_strconcat (cache_fname, random_str, ".tmp", NULL); + + /* remove old files for other languages in per-user mode */ + if (user) + as_pool_cleanup_cache_dir (pool, sys_cache_dir); + + if (!as_cache_open (priv->cache, cache_fname_tmp, priv->locale, error)) { g_mutex_unlock (&priv->mutex); + g_remove (cache_fname_tmp); return FALSE; } g_mutex_unlock (&priv->mutex); @@ -1886,7 +2064,7 @@ g_mutex_unlock (&priv->mutex); /* set cache to floating mode to increase performance by holding all data - *in memory in a serialized form */ + * in memory in unserialized form */ as_cache_make_floating (priv->cache); /* load AppStream collection metadata only and refine it */ @@ -1898,12 +2076,21 @@ invalid_cpts_n = as_cache_unfloat (priv->cache, &tmp_error); if (tmp_error != NULL) { g_propagate_error (error, tmp_error); + g_remove (cache_fname_tmp); return FALSE; } - /* save the cache object */ + /* save the cache object (this will sync it to disk explicitly too) */ as_cache_close (priv->cache); + /* atomically replace any old cache */ + g_chmod (cache_fname_tmp, 0644); + if (g_rename (cache_fname_tmp, cache_fname) < 0) + g_warning ("Unable to replace old cache '%s': %s", cache_fname, g_strerror (errno)); + else + cache_updated = TRUE; + g_clear_pointer (&cache_fname_tmp, g_free); + /* restore cache flags */ g_mutex_lock (&priv->mutex); priv->cache_flags = prev_cache_flags; @@ -1929,7 +2116,8 @@ error_message); } /* update the cache mtime, to not needlessly rebuild it again */ - as_touch_location (cache_fname); + if (cache_updated) + as_touch_location (cache_fname); } else { g_set_error (error, AS_POOL_ERROR, diff -Nru appstream-0.12.10/src/as-pool.h appstream-0.14.5/src/as-pool.h --- appstream-0.12.10/src/as-pool.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-pool.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2012-2020 Matthias Klumpp + * Copyright (C) 2012-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -48,18 +48,20 @@ /** * AsCacheFlags: - * @AS_CACHE_FLAG_NONE: No flags. - * @AS_CACHE_FLAG_USE_USER: Create an user-specific metadata cache. - * @AS_CACHE_FLAG_USE_SYSTEM: Use and - if possible - update the global metadata cache. - * @AS_CACHE_FLAG_NO_CLEAR: Don't clear the cache when opening it. + * @AS_CACHE_FLAG_NONE: No flags. + * @AS_CACHE_FLAG_USE_USER: Create an user-specific metadata cache. + * @AS_CACHE_FLAG_USE_SYSTEM: Use and - if possible - update the system metadata cache. + * @AS_CACHE_FLAG_NO_CLEAR: Don't clear the cache when opening it. + * @AS_CACHE_FLAG_REFRESH_SYSTEM: Refresh the system cache that is shared between applications. * * Flags on how caching should be used. **/ typedef enum { AS_CACHE_FLAG_NONE = 0, - AS_CACHE_FLAG_USE_USER = 1 << 0, - AS_CACHE_FLAG_USE_SYSTEM = 1 << 1, - AS_CACHE_FLAG_NO_CLEAR = 1 << 2, + AS_CACHE_FLAG_USE_USER = 1 << 0, + AS_CACHE_FLAG_USE_SYSTEM = 1 << 1, + AS_CACHE_FLAG_NO_CLEAR = 1 << 2, + AS_CACHE_FLAG_REFRESH_SYSTEM = 1 << 3, } AsCacheFlags; /** @@ -139,6 +141,8 @@ const gchar *id); GPtrArray *as_pool_search (AsPool *pool, const gchar *search); +gchar **as_pool_build_search_tokens (AsPool *pool, + const gchar *search); void as_pool_clear_metadata_locations (AsPool *pool); void as_pool_add_metadata_location (AsPool *pool, diff -Nru appstream-0.12.10/src/as-pool-private.h appstream-0.14.5/src/as-pool-private.h --- appstream-0.12.10/src/as-pool-private.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-pool-private.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2012-2020 Matthias Klumpp + * Copyright (C) 2012-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -41,8 +41,9 @@ AS_INTERNAL_VISIBLE gboolean as_pool_refresh_system_cache (AsPool *pool, - gboolean force, - GError **error); + gboolean force, + gboolean cleanup_old, + GError **error); #pragma GCC visibility pop G_END_DECLS diff -Nru appstream-0.12.10/src/as-profile.c appstream-0.14.5/src/as-profile.c --- appstream-0.12.10/src/as-profile.c 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/src/as-profile.c 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,516 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2013-2015 Richard Hughes + * + * Licensed under the GNU Lesser General Public License Version 2.1 + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 2.1 of the license, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +#include "config.h" + +#include + +#include "as-profile.h" + +struct _AsProfile +{ + GObject parent_instance; + GPtrArray *current; + GPtrArray *archived; + GMutex mutex; + GThread *unthreaded; + guint autodump_id; + guint autoprune_duration; + guint duration_min; +}; + +typedef struct { + gchar *id; + gint64 time_start; + gint64 time_stop; + gboolean threaded; +} AsProfileItem; + +G_DEFINE_TYPE (AsProfile, as_profile, G_TYPE_OBJECT) + +struct _AsProfileTask +{ + AsProfile *profile; + gchar *id; +}; + +static gpointer as_profile_object = NULL; + +static void +as_profile_item_free (AsProfileItem *item) +{ + g_free (item->id); + g_free (item); +} + +static void +as_profile_item_free_cb (AsProfileItem *item, gpointer user_data) +{ + as_profile_item_free (item); +} + +static AsProfileItem * +as_profile_item_find (GPtrArray *array, const gchar *id) +{ + AsProfileItem *tmp; + guint i; + + g_return_val_if_fail (id != NULL, NULL); + + for (i = 0; i < array->len; i++) { + tmp = g_ptr_array_index (array, i); + if (g_strcmp0 (tmp->id, id) == 0) + return tmp; + } + return NULL; +} + +/** + * as_profile_task_set_threaded: + * @ptask: A #AsProfileTask + * @threaded: boolean + * + * Sets if the profile task is threaded so it can be printed differently in + * in the profile output. + * + * Since: 0.14.0 + **/ +void +as_profile_task_set_threaded (AsProfileTask *ptask, gboolean threaded) +{ + AsProfileItem *item; + g_autoptr(GMutexLocker) locker = g_mutex_locker_new (&ptask->profile->mutex); + item = as_profile_item_find (ptask->profile->current, ptask->id); + if (item == NULL) + return; + item->threaded = threaded; +} + +static void +as_profile_prune_safe (AsProfile *profile, guint duration) +{ + gint64 now; + guint i; + g_autoptr(GPtrArray) removal = g_ptr_array_new (); + + /* find all events older than duration */ + now = g_get_real_time () / 1000; + for (i = 0; i < profile->archived->len; i++) { + AsProfileItem *item = g_ptr_array_index (profile->archived, i); + if (now - item->time_start / 1000 > duration) + g_ptr_array_add (removal, item); + } + + /* remove each one */ + for (i = 0; i < removal->len; i++) { + AsProfileItem *item = g_ptr_array_index (removal, i); + g_ptr_array_remove (profile->archived, item); + } +} + +static gint +as_profile_sort_cb (gconstpointer a, gconstpointer b) +{ + AsProfileItem *item_a = *((AsProfileItem **) a); + AsProfileItem *item_b = *((AsProfileItem **) b); + if (item_a->time_start < item_b->time_start) + return -1; + if (item_a->time_start > item_b->time_start) + return 1; + return 0; +} + +static const gchar * +as_profile_get_item_printable (AsProfileItem *item) +{ + if (item->threaded) + return "\033[1m#\033[0m"; + return "#"; +} + +static void +as_profile_dump_safe (AsProfile *profile) +{ + AsProfileItem *item; + gint64 time_start = G_MAXINT64; + gint64 time_stop = 0; + gint64 time_ms; + guint console_width = 86; + guint i; + guint j; + gdouble scale; + guint bar_offset; + guint bar_length; + + /* nothing to show */ + if (profile->archived->len == 0) + return; + + /* get the start and end times */ + for (i = 0; i < profile->archived->len; i++) { + item = g_ptr_array_index (profile->archived, i); + if (item->time_start < time_start) + time_start = item->time_start; + if (item->time_stop > time_stop) + time_stop = item->time_stop; + } + scale = (gdouble) console_width / (gdouble) ((time_stop - time_start) / 1000); + + /* sort the list */ + g_ptr_array_sort (profile->archived, as_profile_sort_cb); + + /* dump a list of what happened when */ + for (i = 0; i < profile->archived->len; i++) { + const gchar *printable; + item = g_ptr_array_index (profile->archived, i); + time_ms = (item->time_stop - item->time_start) / 1000; + if (time_ms < profile->duration_min) + continue; + + /* print a timechart of what we've done */ + bar_offset = (guint) (scale * (gdouble) (item->time_start - + time_start) / 1000); + for (j = 0; j < bar_offset; j++) + g_printerr (" "); + bar_length = (guint) (scale * (gdouble) time_ms); + if (bar_length == 0) + bar_length = 1; + printable = as_profile_get_item_printable (item); + for (j = 0; j < bar_length; j++) + g_printerr ("%s", printable); + for (j = bar_offset + bar_length; j < console_width + 1; j++) + g_printerr (" "); + g_printerr ("@%04" G_GINT64_FORMAT "ms ", + (item->time_stop - time_start) / 1000); + g_printerr ("%s %" G_GINT64_FORMAT "ms\n", item->id, time_ms); + } + + /* not all complete */ + if (profile->current->len > 0) { + for (i = 0; i < profile->current->len; i++) { + item = g_ptr_array_index (profile->current, i); + item->time_stop = g_get_real_time (); + for (j = 0; j < console_width; j++) + g_print ("$"); + time_ms = (item->time_stop - item->time_start) / 1000; + g_printerr (" @????ms %s %" G_GINT64_FORMAT "ms\n", + item->id, time_ms); + } + } +} + +/** + * as_profile_start: (skip) + * @profile: A #AsProfile + * @fmt: Format string + * @...: varargs + * + * Starts profiling a section of code. + * + * Since: 0.14.0 + * + * Returns: A #AsProfileTask, free with as_profile_task_free() + **/ +AsProfileTask * +as_profile_start (AsProfile *profile, const gchar *fmt, ...) +{ + va_list args; + g_autofree gchar *tmp = NULL; + va_start (args, fmt); + tmp = g_strdup_vprintf (fmt, args); + va_end (args); + return as_profile_start_literal (profile, tmp); +} + +/** + * as_profile_start_literal: (skip) + * @profile: A #AsProfile + * @id: ID string + * + * Starts profiling a section of code. + * + * Since: 0.14.0 + * + * Returns: A #AsProfileTask, free with as_profile_task_free() + **/ +AsProfileTask * +as_profile_start_literal (AsProfile *profile, const gchar *id) +{ + GThread *self; + AsProfileItem *item; + AsProfileTask *ptask = NULL; + g_autofree gchar *id_thr = NULL; + g_autoptr(GMutexLocker) locker = g_mutex_locker_new (&profile->mutex); + + g_return_val_if_fail (AS_IS_PROFILE (profile), NULL); + g_return_val_if_fail (id != NULL, NULL); + + /* autoprune old data */ + if (profile->autoprune_duration != 0) + as_profile_prune_safe (profile, profile->autoprune_duration); + + /* only use the thread ID when not using the main thread */ + self = g_thread_self (); + if (self != profile->unthreaded) { + id_thr = g_strdup_printf ("%p~%s", self, id); + } else { + id_thr = g_strdup (id); + } + + /* already started */ + item = as_profile_item_find (profile->current, id_thr); + if (item != NULL) { + as_profile_dump_safe (profile); + g_warning ("Already a started task for %s", id_thr); + return NULL; + } + + /* add new item */ + item = g_new0 (AsProfileItem, 1); + item->id = g_strdup (id_thr); + item->time_start = g_get_real_time (); + g_ptr_array_add (profile->current, item); + g_debug ("run %s", id_thr); + + /* create token */ + ptask = g_new0 (AsProfileTask, 1); + ptask->profile = g_object_ref (profile); + ptask->id = g_strdup (id); + return ptask; +} + +static void +as_profile_task_free_internal (AsProfile *profile, const gchar *id) +{ + GThread *self; + AsProfileItem *item; + gdouble elapsed_ms; + g_autofree gchar *id_thr = NULL; + g_autoptr(GMutexLocker) locker = g_mutex_locker_new (&profile->mutex); + + g_return_if_fail (AS_IS_PROFILE (profile)); + g_return_if_fail (id != NULL); + + /* only use the thread ID when not using the main thread */ + self = g_thread_self (); + if (self != profile->unthreaded) { + id_thr = g_strdup_printf ("%p~%s", self, id); + } else { + id_thr = g_strdup (id); + } + + /* already started */ + item = as_profile_item_find (profile->current, id_thr); + if (item == NULL) { + g_warning ("Not already a started task for %s", id_thr); + return; + } + + /* debug */ + elapsed_ms = (gdouble) (item->time_stop - item->time_start) / 1000; + if (elapsed_ms > 5) + g_debug ("%s took %.0fms", id_thr, elapsed_ms); + + /* update */ + item->time_stop = g_get_real_time (); + + /* move to archive */ + g_ptr_array_remove (profile->current, item); + g_ptr_array_add (profile->archived, item); +} + +/** + * as_profile_task_free: + * @ptask: A #AsProfileTask + * + * Frees a profile token, and marks the portion of code complete. + * + * Since: 0.14.0 + **/ +void +as_profile_task_free (AsProfileTask *ptask) +{ + if (ptask == NULL) + return; + g_assert (ptask->id != NULL); + as_profile_task_free_internal (ptask->profile, ptask->id); + g_free (ptask->id); + g_object_unref (ptask->profile); + g_free (ptask); +} + +/** + * as_profile_clear: + * @profile: A #AsProfile + * + * Clears the list of profiled events. + * + * Since: 0.14.0 + **/ +void +as_profile_clear (AsProfile *profile) +{ + g_autoptr(GMutexLocker) locker = g_mutex_locker_new (&profile->mutex); + g_ptr_array_set_size (profile->archived, 0); +} + +/** + * as_profile_prune: + * @profile: A #AsProfile + * @duration: A time in ms + * + * Clears the list of profiled events older than @duration. + * + * Since: 0.14.0 + **/ +void +as_profile_prune (AsProfile *profile, guint duration) +{ + g_autoptr(GMutexLocker) locker = g_mutex_locker_new (&profile->mutex); + g_return_if_fail (AS_IS_PROFILE (profile)); + as_profile_prune_safe (profile, duration); +} + +/** + * as_profile_set_autoprune: + * @profile: A #AsProfile + * @duration: A time in ms + * + * Automatically prunes events older than @duration when new ones are added. + * + * Since: 0.14.0 + **/ +void +as_profile_set_autoprune (AsProfile *profile, guint duration) +{ + profile->autoprune_duration = duration; + as_profile_prune (profile, duration); +} + +/** + * as_profile_set_duration_min: + * @profile: A #AsProfile + * @duration_min: A time in ms + * + * Sets the smallest recordable task duration. + * + * Since: 0.14.0 + **/ +void +as_profile_set_duration_min (AsProfile *profile, guint duration_min) +{ + profile->duration_min = duration_min; +} + +/** + * as_profile_dump: + * @profile: A #AsProfile + * + * Dumps the current profiling table to stdout. + * + * Since: 0.14.0 + **/ +void +as_profile_dump (AsProfile *profile) +{ + g_autoptr(GMutexLocker) locker = g_mutex_locker_new (&profile->mutex); + g_return_if_fail (AS_IS_PROFILE (profile)); + as_profile_dump_safe (profile); +} + +static gboolean +as_profile_autodump_cb (gpointer user_data) +{ + AsProfile *profile = AS_PROFILE (user_data); + as_profile_dump (profile); + profile->autodump_id = 0; + return G_SOURCE_REMOVE; +} + +/** + * as_profile_set_autodump: + * @profile: A #AsProfile + * @delay: Duration in ms + * + * Dumps the current profiling table to stdout on a set interval. + * + * Since: 0.14.0 + **/ +void +as_profile_set_autodump (AsProfile *profile, guint delay) +{ + if (profile->autodump_id != 0) + g_source_remove (profile->autodump_id); + profile->autodump_id = g_timeout_add (delay, as_profile_autodump_cb, profile); +} + +static void +as_profile_finalize (GObject *object) +{ + AsProfile *profile = AS_PROFILE (object); + + if (profile->autodump_id != 0) + g_source_remove (profile->autodump_id); + g_ptr_array_foreach (profile->current, + (GFunc) as_profile_item_free_cb, NULL); + g_ptr_array_unref (profile->current); + g_ptr_array_unref (profile->archived); + g_mutex_clear (&profile->mutex); + + G_OBJECT_CLASS (as_profile_parent_class)->finalize (object); +} + +static void +as_profile_class_init (AsProfileClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + object_class->finalize = as_profile_finalize; +} + +static void +as_profile_init (AsProfile *profile) +{ + profile->duration_min = 5; + profile->current = g_ptr_array_new (); + profile->unthreaded = g_thread_self (); + profile->archived = g_ptr_array_new_with_free_func ((GDestroyNotify) as_profile_item_free); + g_mutex_init (&profile->mutex); +} + +/** + * as_profile_new: + * + * Creates a new #AsProfile. + * + * Returns: (transfer full): a #AsProfile + * + * Since: 0.14.0 + **/ +AsProfile * +as_profile_new (void) +{ + if (as_profile_object != NULL) { + g_object_ref (as_profile_object); + } else { + as_profile_object = g_object_new (AS_TYPE_PROFILE, NULL); + g_object_add_weak_pointer (as_profile_object, &as_profile_object); + } + return AS_PROFILE (as_profile_object); +} diff -Nru appstream-0.12.10/src/as-profile.h appstream-0.14.5/src/as-profile.h --- appstream-0.12.10/src/as-profile.h 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/src/as-profile.h 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,62 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2013-2015 Richard Hughes + * + * Licensed under the GNU Lesser General Public License Version 2.1 + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 2.1 of the license, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +#if !defined (AS_COMPILATION) +#error "Can not use internal AppStream API from external project." +#endif + +#pragma once + +#include + +G_BEGIN_DECLS + +#define AS_TYPE_PROFILE (as_profile_get_type ()) + +G_DECLARE_FINAL_TYPE (AsProfile, as_profile, AS, PROFILE, GObject) + +typedef struct _AsProfileTask AsProfileTask; + +AsProfile *as_profile_new (void); +AsProfileTask *as_profile_start_literal (AsProfile *profile, + const gchar *id) + G_GNUC_WARN_UNUSED_RESULT; +AsProfileTask *as_profile_start (AsProfile *profile, + const gchar *fmt, + ...) + G_GNUC_PRINTF (2, 3) + G_GNUC_WARN_UNUSED_RESULT; +void as_profile_clear (AsProfile *profile); +void as_profile_prune (AsProfile *profile, + guint duration); +void as_profile_dump (AsProfile *profile); +void as_profile_set_autodump (AsProfile *profile, + guint delay); +void as_profile_set_autoprune (AsProfile *profile, + guint duration); +void as_profile_set_duration_min (AsProfile *profile, + guint duration_min); +void as_profile_task_set_threaded (AsProfileTask *ptask, + gboolean threaded); +void as_profile_task_free (AsProfileTask *ptask); + +G_DEFINE_AUTOPTR_CLEANUP_FUNC(AsProfileTask, as_profile_task_free) + +G_END_DECLS diff -Nru appstream-0.12.10/src/as-provided.c appstream-0.14.5/src/as-provided.c --- appstream-0.12.10/src/as-provided.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-provided.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2014-2020 Matthias Klumpp + * Copyright (C) 2014-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * diff -Nru appstream-0.12.10/src/as-provided.h appstream-0.14.5/src/as-provided.h --- appstream-0.12.10/src/as-provided.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-provided.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2014-2020 Matthias Klumpp + * Copyright (C) 2014-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * diff -Nru appstream-0.12.10/src/as-provided-private.h appstream-0.14.5/src/as-provided-private.h --- appstream-0.12.10/src/as-provided-private.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-provided-private.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2014-2020 Matthias Klumpp + * Copyright (C) 2014-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * diff -Nru appstream-0.12.10/src/as-relation.c appstream-0.14.5/src/as-relation.c --- appstream-0.12.10/src/as-relation.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-relation.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2018-2020 Matthias Klumpp + * Copyright (C) 2018-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -24,14 +24,15 @@ #include #include "as-utils.h" +#include "as-vercmp.h" /** * SECTION:as-relation - * @short_description: Description of relations a software component has with other items + * @short_description: Description of relations a software component has with other things * @include: appstream.h * * A component can have recommends- or requires relations on other components, system properties, - * other hardware and interfaces. + * hardware and other interfaces. * This class contains a representation of those relations. * * See also: #AsComponent @@ -43,8 +44,12 @@ AsRelationItemKind item_kind; AsRelationCompare compare; - gchar *value; + GVariant *value; gchar *version; + + /* specific to "display_length" relations */ + AsDisplaySideKind display_side_kind; + AsDisplayLengthKind display_length_kind; } AsRelationPrivate; G_DEFINE_TYPE_WITH_PRIVATE (AsRelation, as_relation, G_TYPE_OBJECT) @@ -114,6 +119,10 @@ return "memory"; if (kind == AS_RELATION_ITEM_KIND_FIRMWARE) return "firmware"; + if (kind == AS_RELATION_ITEM_KIND_CONTROL) + return "control"; + if (kind == AS_RELATION_ITEM_KIND_DISPLAY_LENGTH) + return "display_length"; return "unknown"; } @@ -140,6 +149,10 @@ return AS_RELATION_ITEM_KIND_MEMORY; if (g_strcmp0 (kind_str, "firmware") == 0) return AS_RELATION_ITEM_KIND_FIRMWARE; + if (g_strcmp0 (kind_str, "control") == 0) + return AS_RELATION_ITEM_KIND_CONTROL; + if (g_strcmp0 (kind_str, "display_length") == 0) + return AS_RELATION_ITEM_KIND_DISPLAY_LENGTH; return AS_RELATION_ITEM_KIND_UNKNOWN; } @@ -252,6 +265,218 @@ } /** + * as_control_kind_to_string: + * @kind: the #AsControlKind. + * + * Converts the enumerated value to a text representation. + * + * Returns: string version of @kind + * + * Since: 0.12.11 + **/ +const gchar* +as_control_kind_to_string (AsControlKind kind) +{ + if (kind == AS_CONTROL_KIND_POINTING) + return "pointing"; + if (kind == AS_CONTROL_KIND_KEYBOARD) + return "keyboard"; + if (kind == AS_CONTROL_KIND_CONSOLE) + return "console"; + if (kind == AS_CONTROL_KIND_TOUCH) + return "touch"; + if (kind == AS_CONTROL_KIND_GAMEPAD) + return "gamepad"; + if (kind == AS_CONTROL_KIND_VOICE) + return "voice"; + if (kind == AS_CONTROL_KIND_VISION) + return "vision"; + if (kind == AS_CONTROL_KIND_TV_REMOTE) + return "tv-remote"; + return "unknown"; +} + +/** + * as_control_kind_from_string: + * @kind_str: the string. + * + * Converts the text representation to an enumerated value. + * + * Returns: a #AsControlKind or %AS_CONTROL_KIND_UNKNOWN for unknown + * + * Since: 0.12.11 + **/ +AsControlKind +as_control_kind_from_string (const gchar *kind_str) +{ + if (g_strcmp0 (kind_str, "pointing") == 0) + return AS_CONTROL_KIND_POINTING; + if (g_strcmp0 (kind_str, "keyboard") == 0) + return AS_CONTROL_KIND_KEYBOARD; + if (g_strcmp0 (kind_str, "console") == 0) + return AS_CONTROL_KIND_CONSOLE; + if (g_strcmp0 (kind_str, "touch") == 0) + return AS_CONTROL_KIND_TOUCH; + if (g_strcmp0 (kind_str, "gamepad") == 0) + return AS_CONTROL_KIND_GAMEPAD; + if (g_strcmp0 (kind_str, "voice") == 0) + return AS_CONTROL_KIND_VOICE; + if (g_strcmp0 (kind_str, "vision") == 0) + return AS_CONTROL_KIND_VISION; + if (g_strcmp0 (kind_str, "tv-remote") == 0) + return AS_CONTROL_KIND_TV_REMOTE; + return AS_CONTROL_KIND_UNKNOWN; +} + +/** + * as_display_side_kind_to_string: + * @kind: the #AsDisplaySideKind. + * + * Converts the enumerated value to a text representation. + * + * Returns: string version of @kind + * + * Since: 0.12.12 + **/ +const gchar* +as_display_side_kind_to_string (AsDisplaySideKind kind) +{ + if (kind == AS_DISPLAY_SIDE_KIND_SHORTEST) + return "shortest"; + if (kind == AS_DISPLAY_SIDE_KIND_LONGEST) + return "longest"; + return "unknown"; +} + +/** + * as_display_side_kind_from_string: + * @kind_str: the string. + * + * Converts the text representation to an enumerated value. + * + * Returns: a #AsDisplaySideKind or %AS_DISPLAY_SIDE_KIND_UNKNOWN for unknown + * + * Since: 0.12.12 + **/ +AsDisplaySideKind +as_display_side_kind_from_string (const gchar *kind_str) +{ + if (kind_str == NULL) + return AS_DISPLAY_SIDE_KIND_SHORTEST; + if (g_strcmp0 (kind_str, "shortest") == 0) + return AS_DISPLAY_SIDE_KIND_SHORTEST; + if (g_strcmp0 (kind_str, "longest") == 0) + return AS_DISPLAY_SIDE_KIND_LONGEST; + return AS_DISPLAY_SIDE_KIND_UNKNOWN; +} + +/** + * as_display_length_kind_to_px: + * @kind: the #AsDisplaySideKind. + * + * Converts the rough display length value to an absolute + * logical pixel measurement, roughly matching the shortest + * display size of the respective screen size. + * + * Returns: amount of logical pixels for shortest display edge, or -1 on invalid input. + * + * Since: 0.12.12 + **/ +gint +as_display_length_kind_to_px (AsDisplayLengthKind kind) +{ + if (kind == AS_DISPLAY_LENGTH_KIND_XSMALL) + return 360; + if (kind == AS_DISPLAY_LENGTH_KIND_SMALL) + return 420; + if (kind == AS_DISPLAY_LENGTH_KIND_MEDIUM) + return 760; + if (kind == AS_DISPLAY_LENGTH_KIND_LARGE) + return 900; + if (kind == AS_DISPLAY_LENGTH_KIND_XLARGE) + return 1200; + return -1; +} + +/** + * as_display_length_kind_from_px: + * @kind: the #AsDisplaySideKind. + * + * Classify a logical pixel amount into a display size. + * + * Returns: display size enum. + * + * Since: 0.12.12 + **/ +AsDisplayLengthKind +as_display_length_kind_from_px (gint px) +{ + if (px <= 360 ) + return AS_DISPLAY_LENGTH_KIND_XSMALL; + if (px >= 360 ) + return AS_DISPLAY_LENGTH_KIND_SMALL; + if (px >= 760 ) + return AS_DISPLAY_LENGTH_KIND_MEDIUM; + if (px >= 900 ) + return AS_DISPLAY_LENGTH_KIND_LARGE; + if (px >= 1200 ) + return AS_DISPLAY_LENGTH_KIND_XLARGE; + return AS_DISPLAY_LENGTH_KIND_UNKNOWN; +} + +/** + * as_display_length_kind_from_string: + * @kind_str: the string. + * + * Converts the text representation to an enumerated value. + * + * Returns: a #AsDisplayLengthKind or %AS_DISPLAY_LENGTH_KIND_UNKNOWN for unknown + * + * Since: 0.12.12 + **/ +AsDisplayLengthKind +as_display_length_kind_from_string (const gchar *kind_str) +{ + if (g_strcmp0 (kind_str, "xsmall") == 0) + return AS_DISPLAY_LENGTH_KIND_XSMALL; + if (g_strcmp0 (kind_str, "small") == 0) + return AS_DISPLAY_LENGTH_KIND_SMALL; + if (g_strcmp0 (kind_str, "medium") == 0) + return AS_DISPLAY_LENGTH_KIND_MEDIUM; + if (g_strcmp0 (kind_str, "large") == 0) + return AS_DISPLAY_LENGTH_KIND_LARGE; + if (g_strcmp0 (kind_str, "xlarge") == 0) + return AS_DISPLAY_LENGTH_KIND_XLARGE; + return AS_DISPLAY_LENGTH_KIND_UNKNOWN; +} + +/** + * as_display_length_kind_to_string: + * @kind: the #AsDisplayLengthKind. + * + * Converts the enumerated value to a text representation. + * + * Returns: string version of @kind + * + * Since: 0.12.12 + **/ +const gchar* +as_display_length_kind_to_string (AsDisplayLengthKind kind) +{ + if (kind == AS_DISPLAY_LENGTH_KIND_XSMALL) + return "xsmall"; + if (kind == AS_DISPLAY_LENGTH_KIND_SMALL) + return "small"; + if (kind == AS_DISPLAY_LENGTH_KIND_MEDIUM) + return "medium"; + if (kind == AS_DISPLAY_LENGTH_KIND_LARGE) + return "large"; + if (kind == AS_DISPLAY_LENGTH_KIND_XLARGE) + return "xlarge"; + return "unknown"; +} + +/** * as_relation_finalize: **/ static void @@ -260,8 +485,9 @@ AsRelation *relation = AS_RELATION (object); AsRelationPrivate *priv = GET_PRIVATE (relation); - g_free (priv->value); g_free (priv->version); + if (priv->value != NULL) + g_variant_unref (priv->value); G_OBJECT_CLASS (as_relation_parent_class)->finalize (object); } @@ -419,25 +645,81 @@ } /** - * as_relation_get_value: + * as_relation_get_value_var: * @relation: an #AsRelation instance. * - * Returns: The value of the item this #AsRelation is about. + * Returns: (transfer none): The value of the item this #AsRelation is about, or %NULL if none is set. * - * Since: 0.12.0 + * Since: 0.12.12 **/ -const gchar* -as_relation_get_value (AsRelation *relation) +GVariant* +as_relation_get_value_var (AsRelation *relation) { AsRelationPrivate *priv = GET_PRIVATE (relation); return priv->value; } /** + * as_relation_set_value_var: + * @relation: an #AsRelation instance. + * @value: the new value. + * + * Sets the item value. + * This function will call %g_variant_ref_sink on the passed variant. + * + * Since: 0.12.12 + **/ +void +as_relation_set_value_var (AsRelation *relation, GVariant *value) +{ + AsRelationPrivate *priv = GET_PRIVATE (relation); + if (priv->value != NULL) + g_variant_unref (priv->value); + priv->value = g_variant_ref_sink (value); +} + +/** + * as_relation_get_value_str: + * @relation: an #AsRelation instance. + * + * Returns: The value of the item this #AsRelation is about, as a string. + * + * Since: 0.12.12 + **/ +const gchar* +as_relation_get_value_str (AsRelation *relation) +{ + AsRelationPrivate *priv = GET_PRIVATE (relation); + if (priv->value == NULL) + return NULL; + return g_variant_get_string (priv->value, NULL); +} + +/** + * as_relation_set_value_str: + * @relation: an #AsRelation instance. + * @value: the new value. + * + * Sets the item value as a string, if the given item type + * of this #AsRelation permits string values. + * + * Since: 0.12.12 + **/ +void +as_relation_set_value_str (AsRelation *relation, const gchar *value) +{ + AsRelationPrivate *priv = GET_PRIVATE (relation); + if ((priv->item_kind == AS_RELATION_ITEM_KIND_MEMORY) || + (priv->item_kind == AS_RELATION_ITEM_KIND_DISPLAY_LENGTH)) + return; + as_relation_set_value_var (relation, g_variant_new_string (value)); +} + +/** * as_relation_get_value_int: * @relation: an #AsRelation instance. * - * Returns: The value of the item this #AsRelation is about as integer. + * Returns: The value of this #AsRelation item as an integer. Returns 0 if the value was no integer. * * Since: 0.12.0 **/ @@ -447,7 +729,204 @@ AsRelationPrivate *priv = GET_PRIVATE (relation); if (priv->value == NULL) return 0; - return g_ascii_strtoll (priv->value, NULL, 10); + if ((priv->item_kind != AS_RELATION_ITEM_KIND_MEMORY) && + (priv->item_kind != AS_RELATION_ITEM_KIND_DISPLAY_LENGTH)) + return 0; + return g_variant_get_int32 (priv->value); +} + +/** + * as_relation_set_value_int: + * @relation: an #AsRelation instance. + * @value: the new value. + * + * Sets the item value as an integer, if the given item type + * of this #AsRelation permits integer values. + * + * Since: 0.12.12 + **/ +void +as_relation_set_value_int (AsRelation *relation, gint value) +{ + AsRelationPrivate *priv = GET_PRIVATE (relation); + if ((priv->item_kind != AS_RELATION_ITEM_KIND_MEMORY) && + (priv->item_kind != AS_RELATION_ITEM_KIND_DISPLAY_LENGTH)) + return; + priv->display_length_kind = AS_DISPLAY_LENGTH_KIND_UNKNOWN; + as_relation_set_value_var (relation, g_variant_new_int32 (value)); +} + +/** + * as_relation_get_value_control_kind: + * @relation: an #AsRelation instance. + * + * Get the value of this #AsRelation item as #AsControlKind if the + * type of this relation is %AS_RELATION_ITEM_KIND_CONTROL. + * Otherwise return %AS_CONTROL_KIND_UNKNOWN + * + * Returns: a #AsControlKind or %AS_CONTROL_KIND_UNKNOWN in case the item is not of the right kind. + * + * Since: 0.12.11 + **/ +AsControlKind +as_relation_get_value_control_kind (AsRelation *relation) +{ + AsRelationPrivate *priv = GET_PRIVATE (relation); + if (priv->item_kind != AS_RELATION_ITEM_KIND_CONTROL) + return AS_CONTROL_KIND_UNKNOWN; + if (priv->value == NULL) + return AS_CONTROL_KIND_UNKNOWN; + return (AsControlKind) g_variant_get_int32 (priv->value); +} + +/** + * as_relation_set_value_control_kind: + * @relation: an #AsRelation instance. + * @kind: an #AsControlKind + * + * Set relation item value from an #AsControlKind. + * + * Since: 0.12.12 + **/ +void +as_relation_set_value_control_kind (AsRelation *relation, AsControlKind kind) +{ + as_relation_set_value_var (relation, g_variant_new_int32 (kind)); +} + +/** + * as_relation_get_value_px: + * @relation: an #AsRelation instance. + * + * In case this #AsRelation is of kind %AS_RELATION_ITEM_KIND_DISPLAY_LENGTH, + * return the set logical pixel amount. + * + * Returns: The logical pixel amount for this display length, value <= 0 on error. + * + * Since: 0.12.12 + **/ +gint +as_relation_get_value_px (AsRelation *relation) +{ + AsRelationPrivate *priv = GET_PRIVATE (relation); + gint value; + if (priv->item_kind != AS_RELATION_ITEM_KIND_DISPLAY_LENGTH) + return -1; + if (priv->value == NULL) + return as_display_length_kind_to_px (priv->display_length_kind); + value = g_variant_get_int32 (priv->value); + if (value == 0) + return as_display_length_kind_to_px (priv->display_length_kind); + return value; +} + +/** + * as_relation_set_value_px: + * @relation: an #AsRelation instance. + * @logical_px: logical pixel count. + * + * Sets the item value as logical pixel count. This requires the relation + * to be of item kind %AS_RELATION_ITEM_KIND_DISPLAY_LENGTH. + * + * Since: 0.12.12 + **/ +void +as_relation_set_value_px (AsRelation *relation, gint logical_px) +{ + AsRelationPrivate *priv = GET_PRIVATE (relation); + if (priv->item_kind != AS_RELATION_ITEM_KIND_DISPLAY_LENGTH) + return; + priv->display_length_kind = AS_DISPLAY_LENGTH_KIND_UNKNOWN; + as_relation_set_value_var (relation, g_variant_new_int32 (logical_px)); +} + +/** + * as_relation_get_value_display_length_kind: + * @relation: an #AsRelation instance. + * + * In case this #AsRelation is of kind %AS_RELATION_ITEM_KIND_DISPLAY_LENGTH, + * return the #AsDisplayLengthKind. + * + * Returns: The #AsDisplayLengthKind classification of the current pixel value, or %AS_DISPLAY_LENGTH_KIND_UNKNOWN on error. + * + * Since: 0.12.12 + **/ +AsDisplayLengthKind +as_relation_get_value_display_length_kind (AsRelation *relation) +{ + AsRelationPrivate *priv = GET_PRIVATE (relation); + if (priv->display_length_kind != AS_DISPLAY_LENGTH_KIND_UNKNOWN) + return priv->display_length_kind; + return as_display_length_kind_from_px (as_relation_get_value_px (relation)); +} + +/** + * as_relation_set_value_display_length_kind: + * @relation: an #AsRelation instance. + * @kind: the #AsDisplayLengthKind + * + * Sets the item value as display length placeholder value. This requires the relation + * to be of item kind %AS_RELATION_ITEM_KIND_DISPLAY_LENGTH. + * + * Since: 0.12.12 + **/ +void +as_relation_set_value_display_length_kind (AsRelation *relation, AsDisplayLengthKind kind) +{ + AsRelationPrivate *priv = GET_PRIVATE (relation); + if (priv->item_kind != AS_RELATION_ITEM_KIND_DISPLAY_LENGTH) + return; + priv->display_length_kind = kind; + as_relation_set_value_var (relation, g_variant_new_int32 (0)); +} + +/** + * as_relation_get_display_side_kind: + * @relation: an #AsRelation instance. + * + * Gets the display side kind, in case this item is of + * kind %AS_RELATION_ITEM_KIND_DISPLAY_LENGTH + * + * Returns: a #AsDisplaySideKind or %AS_DISPLAY_SIDE_KIND_UNKNOWN + * + * Since: 0.12.12 + **/ +AsDisplaySideKind +as_relation_get_display_side_kind (AsRelation *relation) +{ + AsRelationPrivate *priv = GET_PRIVATE (relation); + return priv->display_side_kind; +} + +/** + * as_relation_set_display_side_kind: + * @relation: an #AsRelation instance. + * @kind: the new #AsDisplaySideKind. + * + * Sets the display side kind, in case this item is of + * kind %AS_RELATION_ITEM_KIND_DISPLAY_LENGTH + * + * Since: 0.12.12 + **/ +void +as_relation_set_display_side_kind (AsRelation *relation, AsDisplaySideKind kind) +{ + AsRelationPrivate *priv = GET_PRIVATE (relation); + priv->display_side_kind = kind; +} + +/** + * as_relation_get_value: + * @relation: an #AsRelation instance. + * + * Deprecated method. Use %as_relation_get_value_str instead. + * + * Since: 0.12.0 + **/ +const gchar* +as_relation_get_value (AsRelation *relation) +{ + return as_relation_get_value_str (relation); } /** @@ -455,19 +934,16 @@ * @relation: an #AsRelation instance. * @value: the new value. * - * Sets the item value. + * Deprecated method. Use %as_relation_set_value_str instead. * * Since: 0.12.0 **/ void as_relation_set_value (AsRelation *relation, const gchar *value) { - AsRelationPrivate *priv = GET_PRIVATE (relation); - g_free (priv->value); - priv->value = g_strdup (value); + as_relation_set_value_str (relation, value); } - /** * as_relation_version_compare: * @relation: an #AsRelation instance. @@ -494,22 +970,22 @@ switch (priv->compare) { case AS_RELATION_COMPARE_EQ: - rc = as_utils_compare_versions (priv->version, version); + rc = as_vercmp_simple (priv->version, version); return rc == 0; case AS_RELATION_COMPARE_NE: - rc = as_utils_compare_versions (priv->version, version); + rc = as_vercmp_simple (priv->version, version); return rc != 0; case AS_RELATION_COMPARE_LT: - rc = as_utils_compare_versions (priv->version, version); + rc = as_vercmp_simple (priv->version, version); return rc > 0; case AS_RELATION_COMPARE_GT: - rc = as_utils_compare_versions (priv->version, version); + rc = as_vercmp_simple (priv->version, version); return rc < 0; case AS_RELATION_COMPARE_LE: - rc = as_utils_compare_versions (priv->version, version); + rc = as_vercmp_simple (priv->version, version); return rc >= 0; case AS_RELATION_COMPARE_GE: - rc = as_utils_compare_versions (priv->version, version); + rc = as_vercmp_simple (priv->version, version); return rc <= 0; default: return FALSE; @@ -529,20 +1005,41 @@ as_relation_load_from_xml (AsRelation *relation, AsContext *ctx, xmlNode *node, GError **error) { AsRelationPrivate *priv = GET_PRIVATE (relation); - gchar *content = NULL; + g_autofree gchar *content = NULL; content = as_xml_get_node_value (node); if (content == NULL) return FALSE; - g_free (priv->value); - priv->value = content; priv->item_kind = as_relation_item_kind_from_string ((const gchar*) node->name); - g_free (priv->version); - priv->version = (gchar*) xmlGetProp (node, (xmlChar*) "version"); + if (priv->item_kind == AS_RELATION_ITEM_KIND_MEMORY) { + as_relation_set_value_var (relation, g_variant_new_int32 (g_ascii_strtoll (content, NULL, 10))); + } else if (priv->item_kind == AS_RELATION_ITEM_KIND_DISPLAY_LENGTH) { + gint value = g_ascii_strtoll (content, NULL, 10); + priv->display_length_kind = AS_DISPLAY_LENGTH_KIND_UNKNOWN; + if (value == 0) + priv->display_length_kind = as_display_length_kind_from_string (content); + as_relation_set_value_var (relation, g_variant_new_int32 (value)); + + } else if (priv->item_kind == AS_RELATION_ITEM_KIND_CONTROL) { + as_relation_set_value_var (relation, g_variant_new_int32 (as_control_kind_from_string (content))); + } else { + as_relation_set_value_str (relation, content); + } + + if (priv->item_kind == AS_RELATION_ITEM_KIND_DISPLAY_LENGTH) { + g_autofree gchar *side_str = (gchar*) xmlGetProp (node, (xmlChar*) "side"); + priv->display_side_kind = as_display_side_kind_from_string (side_str); + + g_free (priv->version); + priv->version = NULL; + } else if (priv->item_kind != AS_RELATION_ITEM_KIND_CONTROL) { + g_free (priv->version); + priv->version = (gchar*) xmlGetProp (node, (xmlChar*) "version"); + } - if (priv->version != NULL) { + if ((priv->version != NULL) || (priv->item_kind == AS_RELATION_ITEM_KIND_DISPLAY_LENGTH)) { g_autofree gchar *compare_str = (gchar*) xmlGetProp (node, (xmlChar*) "compare"); priv->compare = as_relation_compare_from_string (compare_str); } @@ -569,13 +1066,50 @@ if (priv->item_kind == AS_RELATION_ITEM_KIND_UNKNOWN) return; - n = xmlNewTextChild (root, NULL, + if (priv->item_kind == AS_RELATION_ITEM_KIND_MEMORY) { + g_autofree gchar *value_str = g_strdup_printf("%i", as_relation_get_value_int (relation)); + n = xmlNewTextChild (root, NULL, + (xmlChar*) as_relation_item_kind_to_string (priv->item_kind), + (xmlChar*) value_str); + + } else if (priv->item_kind == AS_RELATION_ITEM_KIND_DISPLAY_LENGTH) { + if (priv->display_length_kind != AS_DISPLAY_LENGTH_KIND_UNKNOWN) { + n = xmlNewTextChild (root, NULL, + (xmlChar*) as_relation_item_kind_to_string (priv->item_kind), + (xmlChar*) as_display_length_kind_to_string (priv->display_length_kind)); + } else { + g_autofree gchar *value_str = g_strdup_printf("%i", as_relation_get_value_int (relation)); + n = xmlNewTextChild (root, NULL, + (xmlChar*) as_relation_item_kind_to_string (priv->item_kind), + (xmlChar*) value_str); + } + + } else if (priv->item_kind == AS_RELATION_ITEM_KIND_CONTROL) { + n = xmlNewTextChild (root, NULL, + (xmlChar*) as_relation_item_kind_to_string (priv->item_kind), + (xmlChar*) as_control_kind_to_string (as_relation_get_value_control_kind (relation))); + + } else { + n = xmlNewTextChild (root, NULL, (xmlChar*) as_relation_item_kind_to_string (priv->item_kind), - (xmlChar*) priv->value); - if (priv->version != NULL) { - xmlNewProp (n, (xmlChar*) "version", + (xmlChar*) as_relation_get_value_str (relation)); + } + + if (priv->item_kind == AS_RELATION_ITEM_KIND_DISPLAY_LENGTH) { + if ((priv->display_side_kind != AS_DISPLAY_SIDE_KIND_SHORTEST) && (priv->display_side_kind != AS_DISPLAY_SIDE_KIND_UNKNOWN)) + xmlNewProp (n, (xmlChar*) "side", + (xmlChar*) as_display_side_kind_to_string (priv->display_side_kind)); + if (priv->compare != AS_RELATION_COMPARE_GE) + xmlNewProp (n, (xmlChar*) "compare", + (xmlChar*) as_relation_compare_to_string (priv->compare)); + + } else if ((priv->item_kind == AS_RELATION_ITEM_KIND_CONTROL) || (priv->item_kind == AS_RELATION_ITEM_KIND_MEMORY)) { + } else if (priv->version != NULL) { + xmlNewProp (n, + (xmlChar*) "version", (xmlChar*) priv->version); - xmlNewProp (n, (xmlChar*) "compare", + xmlNewProp (n, + (xmlChar*) "compare", (xmlChar*) as_relation_compare_to_string (priv->compare)); } } @@ -605,7 +1139,7 @@ if (g_strcmp0 (entry, "version") == 0) { g_autofree gchar *compare_str = NULL; - g_autofree gchar *ver_str = g_strdup (as_yaml_node_get_value (n)); + const gchar *ver_str = as_yaml_node_get_value (n); if (strlen (ver_str) <= 2) continue; /* this string is too short to contain any valid version */ compare_str = g_strndup (ver_str, 2); @@ -613,14 +1147,53 @@ g_free (priv->version); priv->version = g_strdup (ver_str + 2); g_strstrip (priv->version); + } else if (g_strcmp0 (entry, "side") == 0) { + priv->display_side_kind = as_display_side_kind_from_string (as_yaml_node_get_value (n)); } else { AsRelationItemKind kind = as_relation_item_kind_from_string (entry); - if (kind != AS_RELATION_ITEM_KIND_UNKNOWN) { - priv->item_kind = kind; - g_free (priv->value); - priv->value = g_strdup (as_yaml_node_get_value (n)); - } else { + if (kind == AS_RELATION_ITEM_KIND_UNKNOWN) { g_debug ("Unknown Requires/Recommends YAML field: %s", entry); + continue; + } + + priv->item_kind = kind; + if (kind == AS_RELATION_ITEM_KIND_DISPLAY_LENGTH) { + g_autofree gchar *value_str = NULL; + gint value_px; + const gchar *len_str = as_yaml_node_get_value (n); + if (strlen (len_str) <= 2) { + /* this string is too short to contain a comparison operator */ + value_str = g_strdup (len_str); + } else { + g_autofree gchar *compare_str = NULL; + compare_str = g_strndup (len_str, 2); + priv->compare = as_relation_compare_from_string (compare_str); + + if (priv->compare == AS_RELATION_COMPARE_UNKNOWN) { + value_str = g_strdup (len_str); + priv->compare = AS_RELATION_COMPARE_GE; + } else { + value_str = g_strdup (len_str + 2); + g_strstrip (value_str); + } + } + + value_px = g_ascii_strtoll (value_str, NULL, 10); + priv->display_length_kind = AS_DISPLAY_LENGTH_KIND_UNKNOWN; + if (value_px == 0) + priv->display_length_kind = as_display_length_kind_from_string (value_str); + as_relation_set_value_var (relation, g_variant_new_int32 (value_px)); + + } else if (kind == AS_RELATION_ITEM_KIND_MEMORY) { + gint value_i = g_ascii_strtoll (as_yaml_node_get_value (n), NULL, 10); + as_relation_set_value_var (relation, g_variant_new_int32 (value_i)); + + } else if (kind == AS_RELATION_ITEM_KIND_CONTROL) { + as_relation_set_value_var (relation, + g_variant_new_int32 (as_control_kind_from_string (as_yaml_node_get_value (n)))); + + } else { + as_relation_set_value_str (relation, as_yaml_node_get_value (n)); } } } @@ -646,11 +1219,55 @@ as_yaml_mapping_start (emitter); - as_yaml_emit_entry (emitter, - as_relation_item_kind_to_string (priv->item_kind), - priv->value); + if (priv->item_kind == AS_RELATION_ITEM_KIND_DISPLAY_LENGTH) { + if ((priv->compare != AS_RELATION_COMPARE_UNKNOWN) && (priv->compare != AS_RELATION_COMPARE_GE)) { + g_autofree gchar *value = NULL; + g_autofree gchar *len_str = NULL; + + if (priv->display_length_kind != AS_DISPLAY_LENGTH_KIND_UNKNOWN) + value = g_strdup (as_display_length_kind_to_string (priv->display_length_kind)); + else + value = g_strdup_printf("%i", as_relation_get_value_int (relation)); + + len_str = g_strdup_printf ("%s %s", + as_relation_compare_to_symbols_string (priv->compare), + value); + as_yaml_emit_entry (emitter, + as_relation_item_kind_to_string (priv->item_kind), + len_str); + } else { + if (priv->display_length_kind != AS_DISPLAY_LENGTH_KIND_UNKNOWN) + as_yaml_emit_entry (emitter, + as_relation_item_kind_to_string (priv->item_kind), + as_display_length_kind_to_string (priv->display_length_kind)); + else + as_yaml_emit_entry_uint64 (emitter, + as_relation_item_kind_to_string (priv->item_kind), + as_relation_get_value_int (relation)); + } + + } else if (priv->item_kind == AS_RELATION_ITEM_KIND_CONTROL) { + as_yaml_emit_entry (emitter, + as_relation_item_kind_to_string (priv->item_kind), + as_control_kind_to_string (as_relation_get_value_control_kind (relation))); + + } else if (priv->item_kind == AS_RELATION_ITEM_KIND_MEMORY) { + as_yaml_emit_entry_uint64 (emitter, + as_relation_item_kind_to_string (priv->item_kind), + as_relation_get_value_int (relation)); + + } else { + as_yaml_emit_entry (emitter, + as_relation_item_kind_to_string (priv->item_kind), + as_relation_get_value_str (relation)); + } + + if (priv->item_kind == AS_RELATION_ITEM_KIND_DISPLAY_LENGTH) { + if ((priv->display_side_kind != AS_DISPLAY_SIDE_KIND_SHORTEST) && (priv->display_side_kind != AS_DISPLAY_SIDE_KIND_UNKNOWN)) + as_yaml_emit_entry (emitter, "side", as_display_side_kind_to_string (priv->display_side_kind)); - if (priv->version != NULL) { + } else if (priv->item_kind == AS_RELATION_ITEM_KIND_CONTROL) { + } else if (priv->version != NULL) { g_autofree gchar *ver_str = g_strdup_printf ("%s %s", as_relation_compare_to_symbols_string (priv->compare), priv->version); diff -Nru appstream-0.12.10/src/as-relation.h appstream-0.14.5/src/as-relation.h --- appstream-0.12.10/src/as-relation.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-relation.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2018-2020 Matthias Klumpp + * Copyright (C) 2018-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -62,12 +62,14 @@ /** * AsRelationItemKind: - * @AS_RELATION_ITEM_KIND_UNKNOWN: Unknown kind - * @AS_RELATION_ITEM_KIND_ID: A component ID - * @AS_RELATION_ITEM_KIND_MODALIAS: A hardware modalias - * @AS_RELATION_ITEM_KIND_KERNEL: An operating system kernel (like Linux) - * @AS_RELATION_ITEM_KIND_MEMORY: A system RAM requirement - * @AS_RELATION_ITEM_KIND_FIRMWARE: A device firmware requirement (used by fwupd) + * @AS_RELATION_ITEM_KIND_UNKNOWN: Unknown kind + * @AS_RELATION_ITEM_KIND_ID: A component ID + * @AS_RELATION_ITEM_KIND_MODALIAS: A hardware modalias + * @AS_RELATION_ITEM_KIND_KERNEL: An operating system kernel (like Linux) + * @AS_RELATION_ITEM_KIND_MEMORY: A system RAM requirement + * @AS_RELATION_ITEM_KIND_FIRMWARE: A device firmware requirement (used by fwupd) + * @AS_RELATION_ITEM_KIND_CONTROL: An input method for users to control software + * @AS_RELATION_ITEM_KIND_DISPLAY_LENGTH: Display edge length * * Type of the item an #AsRelation is for. **/ @@ -78,6 +80,8 @@ AS_RELATION_ITEM_KIND_KERNEL, AS_RELATION_ITEM_KIND_MEMORY, AS_RELATION_ITEM_KIND_FIRMWARE, + AS_RELATION_ITEM_KIND_CONTROL, + AS_RELATION_ITEM_KIND_DISPLAY_LENGTH, /*< private >*/ AS_RELATION_ITEM_KIND_LAST } AsRelationItemKind; @@ -106,6 +110,72 @@ AS_RELATION_COMPARE_LAST } AsRelationCompare; +/** + * AsControlKind: + * @AS_CONTROL_KIND_UNKNOWN: Unknown kind + * @AS_CONTROL_KIND_POINTING: Mouse/cursors/other pointing device + * @AS_CONTROL_KIND_KEYBOARD: Keyboard input + * @AS_CONTROL_KIND_CONSOLE: Console / command-line interface + * @AS_CONTROL_KIND_TOUCH: Touch input + * @AS_CONTROL_KIND_GAMEPAD: Gamepad input (any game controller with wheels/buttons/joysticks) + * @AS_CONTROL_KIND_VOICE: Control via voice recognition/activation + * @AS_CONTROL_KIND_VISION: Computer vision / visual object and sign detection + * @AS_CONTROL_KIND_TV_REMOTE: A television remote + * + * Kind of an input method for users to control software + **/ +typedef enum { + AS_CONTROL_KIND_UNKNOWN, + AS_CONTROL_KIND_POINTING, + AS_CONTROL_KIND_KEYBOARD, + AS_CONTROL_KIND_CONSOLE, + AS_CONTROL_KIND_TOUCH, + AS_CONTROL_KIND_GAMEPAD, + AS_CONTROL_KIND_VOICE, + AS_CONTROL_KIND_VISION, + AS_CONTROL_KIND_TV_REMOTE, + /*< private >*/ + AS_CONTROL_KIND_LAST +} AsControlKind; + +/** + * AsDisplaySideKind: + * @AS_DISPLAY_SIDE_KIND_UNKNOWN: Unknown + * @AS_DISPLAY_SIDE_KIND_SHORTEST: Shortest side of the display rectangle. + * @AS_DISPLAY_SIDE_KIND_LONGEST: Longest side of the display rectangle. + * + * Side a display_length requirement is for. + **/ +typedef enum { + AS_DISPLAY_SIDE_KIND_UNKNOWN, + AS_DISPLAY_SIDE_KIND_SHORTEST, + AS_DISPLAY_SIDE_KIND_LONGEST, + /*< private >*/ + AS_DISPLAY_SIDE_KIND_LAST +} AsDisplaySideKind; + +/** + * AsDisplayLengthKind: + * @AS_DISPLAY_LENGTH_KIND_UNKNOWN: Unknown + * @AS_DISPLAY_LENGTH_KIND_XSMALL: Very small display + * @AS_DISPLAY_LENGTH_KIND_SMALL: Small display + * @AS_DISPLAY_LENGTH_KIND_MEDIUM: Medium display + * @AS_DISPLAY_LENGTH_KIND_LARGE: Large display + * @AS_DISPLAY_LENGTH_KIND_XLARGE: Very large display + * + * A rought estimate of how large a given display length is. + **/ +typedef enum { + AS_DISPLAY_LENGTH_KIND_UNKNOWN, + AS_DISPLAY_LENGTH_KIND_XSMALL, + AS_DISPLAY_LENGTH_KIND_SMALL, + AS_DISPLAY_LENGTH_KIND_MEDIUM, + AS_DISPLAY_LENGTH_KIND_LARGE, + AS_DISPLAY_LENGTH_KIND_XLARGE, + /*< private >*/ + AS_DISPLAY_LENGTH_KIND_LAST +} AsDisplayLengthKind; + const gchar *as_relation_kind_to_string (AsRelationKind kind); AsRelationKind as_relation_kind_from_string (const gchar *kind_str); @@ -116,6 +186,15 @@ const gchar *as_relation_compare_to_string (AsRelationCompare compare); const gchar *as_relation_compare_to_symbols_string (AsRelationCompare compare); +const gchar *as_control_kind_to_string (AsControlKind kind); +AsControlKind as_control_kind_from_string (const gchar *kind_str); + +const gchar *as_display_side_kind_to_string (AsDisplaySideKind kind); +AsDisplaySideKind as_display_side_kind_from_string (const gchar *kind_str); + +const gchar *as_display_length_kind_to_string (AsDisplayLengthKind kind); +AsDisplayLengthKind as_display_length_kind_from_string (const gchar *kind_str); + AsRelation *as_relation_new (void); AsRelationKind as_relation_get_kind (AsRelation *relation); @@ -134,15 +213,41 @@ void as_relation_set_version (AsRelation *relation, const gchar *version); -const gchar *as_relation_get_value (AsRelation *relation); +const gchar *as_relation_get_value_str (AsRelation *relation); +void as_relation_set_value_str (AsRelation *relation, + const gchar *value); + gint as_relation_get_value_int (AsRelation *relation); -void as_relation_set_value (AsRelation *relation, - const gchar *value); +void as_relation_set_value_int (AsRelation *relation, + gint value); + +AsControlKind as_relation_get_value_control_kind (AsRelation *relation); +void as_relation_set_value_control_kind (AsRelation *relation, + AsControlKind kind); + +AsDisplaySideKind as_relation_get_display_side_kind (AsRelation *relation); +void as_relation_set_display_side_kind (AsRelation *relation, + AsDisplaySideKind kind); + +gint as_relation_get_value_px (AsRelation *relation); +void as_relation_set_value_px (AsRelation *relation, + gint logical_px); +AsDisplayLengthKind as_relation_get_value_display_length_kind (AsRelation *relation); +void as_relation_set_value_display_length_kind (AsRelation *relation, + AsDisplayLengthKind kind); gboolean as_relation_version_compare (AsRelation *relation, const gchar *version, GError **error); +/* DEPRECATED */ + +G_DEPRECATED +const gchar *as_relation_get_value (AsRelation *relation); +G_DEPRECATED +void as_relation_set_value (AsRelation *relation, + const gchar *value); + G_END_DECLS #endif /* __AS_RELATION_H */ diff -Nru appstream-0.12.10/src/as-relation-private.h appstream-0.14.5/src/as-relation-private.h --- appstream-0.12.10/src/as-relation-private.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-relation-private.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2018-2020 Matthias Klumpp + * Copyright (C) 2018-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -31,6 +31,10 @@ /* NOTE: Some XML/YAML parsing is done in AsComponent, the routines here load single entries from * a requires/recommends block */ +GVariant *as_relation_get_value_var (AsRelation *relation); +void as_relation_set_value_var (AsRelation *relation, + GVariant *value); + gboolean as_relation_load_from_xml (AsRelation *relation, AsContext *ctx, xmlNode *node, @@ -47,6 +51,9 @@ AsContext *ctx, yaml_emitter_t *emitter); +gint as_display_length_kind_to_px (AsDisplayLengthKind kind); +AsDisplayLengthKind as_display_length_kind_from_px (gint px); + #pragma GCC visibility pop G_END_DECLS diff -Nru appstream-0.12.10/src/as-release.c appstream-0.14.5/src/as-release.c --- appstream-0.12.10/src/as-release.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-release.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2014-2020 Matthias Klumpp + * Copyright (C) 2014-2021 Matthias Klumpp * Copyright (C) 2014 Richard Hughes * * Licensed under the GNU Lesser General Public License Version 2.1 @@ -38,6 +38,7 @@ #include "as-utils.h" #include "as-utils-private.h" +#include "as-vercmp.h" #include "as-context-private.h" #include "as-artifact-private.h" #include "as-checksum-private.h" @@ -155,7 +156,9 @@ /* we assume a stable release by default */ priv->kind = AS_RELEASE_KIND_STABLE; - priv->description = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free); + priv->description = g_hash_table_new_full (g_str_hash, g_str_equal, + (GDestroyNotify) as_ref_string_release, + g_free); priv->issues = g_ptr_array_new_with_free_func (g_object_unref); priv->artifacts = g_ptr_array_new_with_free_func (g_object_unref); priv->urgency = AS_URGENCY_KIND_UNKNOWN; @@ -253,8 +256,7 @@ as_release_set_version (AsRelease *release, const gchar *version) { AsReleasePrivate *priv = GET_PRIVATE (release); - g_free (priv->version); - priv->version = g_strdup (version); + as_assign_string_safe (priv->version, version); } /** @@ -269,8 +271,8 @@ gint as_release_vercmp (AsRelease *rel1, AsRelease *rel2) { - return as_utils_compare_versions (as_release_get_version (rel1), - as_release_get_version (rel2)); + return as_vercmp_simple (as_release_get_version (rel1), + as_release_get_version (rel2)); } /** @@ -346,8 +348,7 @@ return; } - g_free (priv->date); - priv->date = g_strdup (date); + as_assign_string_safe (priv->date, date); } /** @@ -650,10 +651,8 @@ { AsReleasePrivate *priv = GET_PRIVATE (release); - if (url_kind == AS_RELEASE_URL_KIND_DETAILS) { - g_free (priv->url_details); - priv->url_details = g_strdup (url); - } + if (url_kind == AS_RELEASE_URL_KIND_DETAILS) + as_assign_string_safe (priv->url_details, url); } /** @@ -835,20 +834,6 @@ } /** - * as_release_parse_xml_metainfo_description_cb: - * - * Helper function for GHashTable - */ -static void -as_release_parse_xml_metainfo_description_cb (gchar *key, GString *value, AsRelease *rel) -{ - g_assert (AS_IS_RELEASE (rel)); - - as_release_set_description (rel, value->str, key); - g_string_free (value, TRUE); -} - -/** * as_release_load_from_xml: * @release: an #AsRelease * @ctx: the AppStream document context. @@ -885,7 +870,9 @@ g_free (priv->date); priv->date = prop; } else { - g_debug ("Invalid ISO-8601 date in releases at %s line %li", as_context_get_filename (ctx), xmlGetLineNo (node)); + g_debug ("Invalid ISO-8601 date in releases at %s line %li", + as_context_get_filename (ctx), + xmlGetLineNo (node)); g_free (prop); } } @@ -924,6 +911,7 @@ as_release_add_artifact (release, artifact); } } else if (g_strcmp0 ((gchar*) iter->name, "description") == 0) { + g_hash_table_remove_all (priv->description); if (as_context_get_style (ctx) == AS_FORMAT_STYLE_COLLECTION) { g_autofree gchar *lang; @@ -933,10 +921,7 @@ if (lang != NULL) as_release_set_description (release, content, lang); } else { - as_xml_parse_metainfo_description_node (ctx, - iter, - (GHFunc) as_release_parse_xml_metainfo_description_cb, - release); + as_xml_parse_metainfo_description_node (ctx, iter, priv->description); } } else if (g_strcmp0 ((gchar*) iter->name, "url") == 0) { /* NOTE: Currently, every url in releases is a "details" URL */ @@ -1096,7 +1081,9 @@ if (time != NULL) { priv->timestamp = g_date_time_to_unix (time); } else { - g_debug ("Invalid ISO-8601 date in %s", as_context_get_filename (ctx)); // FIXME: Better error, maybe with line number? + // FIXME: Better error, maybe with line number? + g_debug ("Invalid ISO-8601 date in %s", + as_context_get_filename (ctx)); } } else if (g_strcmp0 (key, "date-eol") == 0) { as_release_set_date_eol (release, value); @@ -1128,6 +1115,13 @@ as_release_add_issue (release, issue); } + } else if (g_strcmp0 (key, "artifacts") == 0) { + for (GNode *sn = n->children; sn != NULL; sn = sn->next) { + g_autoptr(AsArtifact) artifact = as_artifact_new (); + if (as_artifact_load_from_yaml (artifact, ctx, sn, NULL)) + as_release_add_artifact (release, artifact); + } + } else { as_yaml_print_unknown ("release", key); } @@ -1213,7 +1207,18 @@ as_yaml_sequence_end (emitter); } - /* TODO: Artifacts are missing, because they are not specified yet for DEP-11. */ + /* artifacts */ + if (priv->artifacts->len > 0) { + as_yaml_emit_scalar (emitter, "artifacts"); + as_yaml_sequence_start (emitter); + + for (guint i = 0; i < priv->artifacts->len; i++) { + AsArtifact *artifact = AS_ARTIFACT (g_ptr_array_index (priv->artifacts, i)); + as_artifact_emit_yaml (artifact, ctx, emitter); + } + + as_yaml_sequence_end (emitter); + } /* end mapping for the release */ as_yaml_mapping_end (emitter); diff -Nru appstream-0.12.10/src/as-release.h appstream-0.14.5/src/as-release.h --- appstream-0.12.10/src/as-release.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-release.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2014-2020 Matthias Klumpp + * Copyright (C) 2014-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * diff -Nru appstream-0.12.10/src/as-release-private.h appstream-0.14.5/src/as-release-private.h --- appstream-0.12.10/src/as-release-private.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-release-private.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2016-2020 Matthias Klumpp + * Copyright (C) 2016-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * diff -Nru appstream-0.12.10/src/as-review.c appstream-0.14.5/src/as-review.c --- appstream-0.12.10/src/as-review.c 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/src/as-review.c 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,962 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2016 Canonical Ltd. + * Copyright (C) 2016 Richard Hughes + * Copyright (C) 2020-2021 Matthias Klumpp + * + * Licensed under the GNU Lesser General Public License Version 2.1 + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 2.1 of the license, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +/** + * SECTION:as-review + * @title: AsReview + * @include: appstream.h + * @short_description: A user review + * + * This object represents a user-submitted software review. + * + * Since: 0.14.0 + **/ + +#include "config.h" + +#include "as-review-private.h" +#include "as-utils-private.h" + +typedef struct +{ + AsReviewFlags flags; + GRefString *id; + GRefString *summary; + GRefString *description; + GRefString *locale; + gint priority; + gint rating; + GRefString *version; + GRefString *reviewer_id; + GRefString *reviewer_name; + GDateTime *date; + GHashTable *metadata; /* GRefString : GRefString */ +} AsReviewPrivate; + +enum { + PROP_0, + PROP_ID, + PROP_SUMMARY, + PROP_DESCRIPTION, + PROP_LOCALE, + PROP_RATING, + PROP_VERSION, + PROP_REVIEWER_ID, + PROP_REVIEWER_NAME, + PROP_DATE, + PROP_FLAGS, + PROP_LAST +}; + +G_DEFINE_TYPE_WITH_PRIVATE (AsReview, as_review, G_TYPE_OBJECT) + +#define GET_PRIVATE(o) (as_review_get_instance_private (o)) + +static void +as_review_finalize (GObject *object) +{ + AsReview *review = AS_REVIEW (object); + AsReviewPrivate *priv = GET_PRIVATE (review); + + as_ref_string_release (priv->id); + as_ref_string_release (priv->summary); + as_ref_string_release (priv->description); + as_ref_string_release (priv->locale); + as_ref_string_release (priv->version); + as_ref_string_release (priv->reviewer_id); + as_ref_string_release (priv->reviewer_name); + + g_hash_table_unref (priv->metadata); + if (priv->date != NULL) + g_date_time_unref (priv->date); + + G_OBJECT_CLASS (as_review_parent_class)->finalize (object); +} + +static void +as_review_init (AsReview *review) +{ + AsReviewPrivate *priv = GET_PRIVATE (review); + priv->metadata = g_hash_table_new_full (g_str_hash, g_str_equal, + (GDestroyNotify) g_ref_string_release, + (GDestroyNotify) g_ref_string_release); +} + +static void +as_review_get_property (GObject *object, guint prop_id, + GValue *value, GParamSpec *pspec) +{ + AsReview *review = AS_REVIEW (object); + AsReviewPrivate *priv = GET_PRIVATE (review); + + switch (prop_id) { + case PROP_ID: + g_value_set_string (value, priv->id); + break; + case PROP_SUMMARY: + g_value_set_string (value, priv->summary); + break; + case PROP_DESCRIPTION: + g_value_set_string (value, priv->description); + break; + case PROP_LOCALE: + g_value_set_string (value, priv->locale); + break; + case PROP_RATING: + g_value_set_int (value, priv->rating); + break; + case PROP_FLAGS: + g_value_set_uint64 (value, priv->flags); + break; + case PROP_VERSION: + g_value_set_string (value, priv->version); + break; + case PROP_REVIEWER_ID: + g_value_set_string (value, priv->reviewer_id); + break; + case PROP_REVIEWER_NAME: + g_value_set_string (value, priv->reviewer_name); + break; + case PROP_DATE: + g_value_set_object (value, priv->date); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +as_review_set_property (GObject *object, guint prop_id, + const GValue *value, GParamSpec *pspec) +{ + AsReview *review = AS_REVIEW (object); + + switch (prop_id) { + case PROP_ID: + as_review_set_id (review, g_value_get_string (value)); + break; + case PROP_SUMMARY: + as_review_set_summary (review, g_value_get_string (value)); + break; + case PROP_DESCRIPTION: + as_review_set_description (review, g_value_get_string (value)); + break; + case PROP_LOCALE: + as_review_set_locale (review, g_value_get_string (value)); + break; + case PROP_RATING: + as_review_set_rating (review, g_value_get_int (value)); + break; + case PROP_FLAGS: + as_review_set_flags (review, g_value_get_uint64 (value)); + break; + case PROP_VERSION: + as_review_set_version (review, g_value_get_string (value)); + break; + case PROP_REVIEWER_ID: + as_review_set_reviewer_id (review, g_value_get_string (value)); + break; + case PROP_REVIEWER_NAME: + as_review_set_reviewer_name (review, g_value_get_string (value)); + break; + case PROP_DATE: + as_review_set_date (review, g_value_get_object (value)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +as_review_class_init (AsReviewClass *klass) +{ + GParamSpec *pspec; + GObjectClass *object_class = G_OBJECT_CLASS (klass); + object_class->finalize = as_review_finalize; + object_class->get_property = as_review_get_property; + object_class->set_property = as_review_set_property; + + /** + * AsReview:id: + * + * Since: 0.14.0 + **/ + pspec = g_param_spec_string ("id", NULL, NULL, + NULL, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT); + g_object_class_install_property (object_class, PROP_ID, pspec); + + /** + * AsReview:summary: + * + * Since: 0.14.0 + **/ + pspec = g_param_spec_string ("summary", NULL, NULL, + NULL, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT); + g_object_class_install_property (object_class, PROP_SUMMARY, pspec); + + /** + * AsReview:description: + * + * Since: 0.14.0 + **/ + pspec = g_param_spec_string ("description", NULL, NULL, + NULL, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT); + g_object_class_install_property (object_class, PROP_DESCRIPTION, pspec); + + /** + * AsReview:locale: + * + * Since: 0.14.0 + **/ + pspec = g_param_spec_string ("locale", NULL, NULL, + NULL, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT); + g_object_class_install_property (object_class, PROP_LOCALE, pspec); + + /** + * AsReview:rating: + * + * Since: 0.14.0 + **/ + pspec = g_param_spec_int ("rating", NULL, NULL, + -1, 100, 0, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT); + g_object_class_install_property (object_class, PROP_RATING, pspec); + + /** + * AsReview:flags: + * + * Since: 0.14.0 + **/ + pspec = g_param_spec_uint64 ("flags", NULL, NULL, + AS_REVIEW_FLAG_NONE, + AS_REVIEW_FLAG_LAST, + AS_REVIEW_FLAG_NONE, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT); + g_object_class_install_property (object_class, PROP_FLAGS, pspec); + + /** + * AsReview:version: + * + * Since: 0.14.0 + **/ + pspec = g_param_spec_string ("version", NULL, NULL, + NULL, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT); + g_object_class_install_property (object_class, PROP_VERSION, pspec); + + /** + * AsReview:reviewer-id: + * + * Since: 0.14.0 + **/ + pspec = g_param_spec_string ("reviewer-id", NULL, NULL, + NULL, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT); + g_object_class_install_property (object_class, PROP_REVIEWER_ID, pspec); + + /** + * AsReview:reviewer-name: + * + * Since: 0.14.0 + **/ + pspec = g_param_spec_string ("reviewer-name", NULL, NULL, + NULL, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT); + g_object_class_install_property (object_class, PROP_REVIEWER_NAME, pspec); + + /** + * AsReview:date: + * + * Since: 0.14.0 + **/ + pspec = g_param_spec_object ("date", NULL, NULL, + AS_TYPE_REVIEW, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT); + g_object_class_install_property (object_class, PROP_DATE, pspec); +} + +/** + * as_review_get_priority: + * @review: a #AsReview + * + * This allows the UI to sort reviews into the correct order. + * Higher numbers indicate a more important or relevant review. + * + * Returns: the review priority, or 0 for unset. + * + * Since: 0.14.0 + **/ +gint +as_review_get_priority (AsReview *review) +{ + AsReviewPrivate *priv = GET_PRIVATE (review); + g_return_val_if_fail (AS_IS_REVIEW (review), 0); + return priv->priority; +} + +/** + * as_review_set_priority: + * @review: a #AsReview + * @priority: a priority value + * + * Sets the priority for the review, where positive numbers indicate + * a better review for the specific user. + * + * Since: 0.14.0 + **/ +void +as_review_set_priority (AsReview *review, gint priority) +{ + AsReviewPrivate *priv = GET_PRIVATE (review); + g_return_if_fail (AS_IS_REVIEW (review)); + priv->priority = priority; +} + +/** + * as_review_get_id: + * @review: a #AsReview + * + * Gets the review id. + * + * Returns: the review identifier, e.g. "deadbeef" + * + * Since: 0.14.0 + **/ +const gchar * +as_review_get_id (AsReview *review) +{ + AsReviewPrivate *priv = GET_PRIVATE (review); + g_return_val_if_fail (AS_IS_REVIEW (review), NULL); + return priv->id; +} + +/** + * as_review_get_summary: + * @review: a #AsReview + * + * Gets the review summary. + * + * Returns: the one-line summary, e.g. "Awesome application" + * + * Since: 0.14.0 + **/ +const gchar * +as_review_get_summary (AsReview *review) +{ + AsReviewPrivate *priv = GET_PRIVATE (review); + g_return_val_if_fail (AS_IS_REVIEW (review), NULL); + return priv->summary; +} + +/** + * as_review_set_id: + * @review: a #AsReview + * @id: review identifier, e.g. "deadbeef" + * + * Sets the review identifier that is unique to each review. + * + * Since: 0.14.0 + **/ +void +as_review_set_id (AsReview *review, const gchar *id) +{ + AsReviewPrivate *priv = GET_PRIVATE (review); + g_return_if_fail (AS_IS_REVIEW (review)); + as_ref_string_assign_safe (&priv->id, id); +} + +/** + * as_review_set_summary: + * @review: a #AsReview + * @summary: a one-line summary, e.g. "Awesome application" + * + * Sets the one-line summary that may be displayed in bold. + * + * Since: 0.14.0 + **/ +void +as_review_set_summary (AsReview *review, const gchar *summary) +{ + AsReviewPrivate *priv = GET_PRIVATE (review); + g_return_if_fail (AS_IS_REVIEW (review)); + as_ref_string_assign_safe (&priv->summary, summary); +} + +/** + * as_review_get_description: + * @review: a #AsReview + * + * Gets the multi-line review text that forms the body of the review. + * + * Returns: the string, or %NULL + * + * Since: 0.14.0 + **/ +const gchar * +as_review_get_description (AsReview *review) +{ + AsReviewPrivate *priv = GET_PRIVATE (review); + g_return_val_if_fail (AS_IS_REVIEW (review), NULL); + return priv->description; +} + +/** + * as_review_set_description: + * @review: a #AsReview + * @description: multi-line description + * + * Sets the multi-line review text that forms the body of the review. + * + * Since: 0.14.0 + **/ +void +as_review_set_description (AsReview *review, const gchar *description) +{ + AsReviewPrivate *priv = GET_PRIVATE (review); + g_return_if_fail (AS_IS_REVIEW (review)); + as_ref_string_assign_safe (&priv->description, description); +} + +/** + * as_review_get_locale: + * @review: a #AsReview + * + * Gets the locale for the review. + * + * Returns: the string, or %NULL + * + * Since: 0.14.0 + **/ +const gchar * +as_review_get_locale (AsReview *review) +{ + AsReviewPrivate *priv = GET_PRIVATE (review); + g_return_val_if_fail (AS_IS_REVIEW (review), NULL); + return priv->locale; +} + +/** + * as_review_set_locale: + * @review: a #AsReview + * @locale: locale, e.g. "en_GB" + * + * Sets the locale for the review. + * + * Since: 0.14.0 + **/ +void +as_review_set_locale (AsReview *review, const gchar *locale) +{ + AsReviewPrivate *priv = GET_PRIVATE (review); + g_return_if_fail (AS_IS_REVIEW (review)); + as_ref_string_assign_safe (&priv->locale, locale); +} + +/** + * as_review_get_rating: + * @review: a #AsReview + * + * Gets the star rating of the review, where 100 is 5 stars. + * + * Returns: integer as a percentage, or 0 for unset + * + * Since: 0.14.0 + **/ +gint +as_review_get_rating (AsReview *review) +{ + AsReviewPrivate *priv = GET_PRIVATE (review); + g_return_val_if_fail (AS_IS_REVIEW (review), 0); + return priv->rating; +} + +/** + * as_review_set_rating: + * @review: a #AsReview + * @rating: a integer as a percentage, or 0 for unset + * + * Sets the star rating of the review, where 100 is 5 stars.. + * + * Since: 0.14.0 + **/ +void +as_review_set_rating (AsReview *review, gint rating) +{ + AsReviewPrivate *priv = GET_PRIVATE (review); + g_return_if_fail (AS_IS_REVIEW (review)); + priv->rating = rating; +} + +/** + * as_review_get_flags: + * @review: a #AsReview + * + * Gets any flags set on the review, for example if the user has already + * voted on the review or if the user wrote the review themselves. + * + * Returns: a #AsReviewFlags, e.g. %AS_REVIEW_FLAG_SELF + * + * Since: 0.14.0 + **/ +AsReviewFlags +as_review_get_flags (AsReview *review) +{ + AsReviewPrivate *priv = GET_PRIVATE (review); + g_return_val_if_fail (AS_IS_REVIEW (review), AS_REVIEW_FLAG_NONE); + return priv->flags; +} + +/** + * as_review_set_flags: + * @review: a #AsReview + * @flags: a #AsReviewFlags, e.g. %AS_REVIEW_FLAG_SELF + * + * Gets any flags set on the review, for example if the user has already + * voted on the review or if the user wrote the review themselves. + * + * Since: 0.14.0 + **/ +void +as_review_set_flags (AsReview *review, AsReviewFlags flags) +{ + AsReviewPrivate *priv = GET_PRIVATE (review); + g_return_if_fail (AS_IS_REVIEW (review)); + priv->flags = flags; +} + +/** + * as_review_add_flags: + * @review: a #AsReview + * @flags: a #AsReviewFlags, e.g. %AS_REVIEW_FLAG_SELF + * + * Adds flags to an existing review without replacing the other flags. + * + * Since: 0.14.0 + **/ +void +as_review_add_flags (AsReview *review, AsReviewFlags flags) +{ + AsReviewPrivate *priv = GET_PRIVATE (review); + g_return_if_fail (AS_IS_REVIEW (review)); + priv->flags |= flags; +} + +/** + * as_review_get_reviewer_id: + * @review: a #AsReview + * + * Gets the name of the reviewer. + * + * Returns: the reviewer ID, e.g. "deadbeef", or %NULL + * + * Since: 0.14.0 + **/ +const gchar * +as_review_get_reviewer_id (AsReview *review) +{ + AsReviewPrivate *priv = GET_PRIVATE (review); + g_return_val_if_fail (AS_IS_REVIEW (review), NULL); + return priv->reviewer_id; +} + +/** + * as_review_get_reviewer_name: + * @review: a #AsReview + * + * Gets the name of the reviewer. + * + * Returns: the reviewer name, e.g. "David Smith", or %NULL + * + * Since: 0.14.0 + **/ +const gchar * +as_review_get_reviewer_name (AsReview *review) +{ + AsReviewPrivate *priv = GET_PRIVATE (review); + g_return_val_if_fail (AS_IS_REVIEW (review), NULL); + return priv->reviewer_name; +} + +/** + * as_review_set_reviewer_id: + * @review: a #AsReview + * @reviewer_id: the reviewer ID, e.g. "deadbeef" + * + * Sets the name of the reviewer, which can be left unset. + * + * Since: 0.14.0 + **/ +void +as_review_set_reviewer_id (AsReview *review, const gchar *reviewer_id) +{ + AsReviewPrivate *priv = GET_PRIVATE (review); + g_return_if_fail (AS_IS_REVIEW (review)); + as_ref_string_assign_safe (&priv->reviewer_id, reviewer_id); +} + +/** + * as_review_set_reviewer_name: + * @review: a #AsReview + * @reviewer_name: the reviewer name, e.g. "David Smith" + * + * Sets the name of the reviewer, which can be left unset. + * + * Since: 0.14.0 + **/ +void +as_review_set_reviewer_name (AsReview *review, const gchar *reviewer_name) +{ + AsReviewPrivate *priv = GET_PRIVATE (review); + g_return_if_fail (AS_IS_REVIEW (review)); + as_ref_string_assign_safe (&priv->reviewer_name, reviewer_name); +} + +/** + * as_review_set_version: + * @review: a #AsReview + * @version: a version string, e.g. "0.1.2" + * + * Sets the version string for the application being reviewed. + * + * Since: 0.14.0 + **/ +void +as_review_set_version (AsReview *review, const gchar *version) +{ + AsReviewPrivate *priv = GET_PRIVATE (review); + g_return_if_fail (AS_IS_REVIEW (review)); + as_ref_string_assign_safe (&priv->version, version); +} + +/** + * as_review_get_version: + * @review: a #AsReview + * + * Gets the version string for the application being reviewed.. + * + * Returns: the version string, e.g. "0.1.2", or %NULL for unset + * + * Since: 0.14.0 + **/ +const gchar * +as_review_get_version (AsReview *review) +{ + AsReviewPrivate *priv = GET_PRIVATE (review); + g_return_val_if_fail (AS_IS_REVIEW (review), NULL); + return priv->version; +} + +/** + * as_review_get_date: + * @review: a #AsReview + * + * Gets the date the review was originally submitted. + * + * Returns: (transfer none): the #GDateTime, or %NULL for unset + * + * Since: 0.14.0 + **/ +GDateTime * +as_review_get_date (AsReview *review) +{ + AsReviewPrivate *priv = GET_PRIVATE (review); + g_return_val_if_fail (AS_IS_REVIEW (review), NULL); + return priv->date; +} + +/** + * as_review_set_date: + * @review: a #AsReview + * @date: a #GDateTime, or %NULL + * + * Sets the date the review was originally submitted. + * + * Since: 0.14.0 + **/ +void +as_review_set_date (AsReview *review, GDateTime *date) +{ + AsReviewPrivate *priv = GET_PRIVATE (review); + g_return_if_fail (AS_IS_REVIEW (review)); + g_clear_pointer (&priv->date, g_date_time_unref); + if (date != NULL) + priv->date = g_date_time_ref (date); +} + +/** + * as_review_get_metadata_item: + * @review: a #AsReview + * @key: a string + * + * Gets some metadata from a review object. + * It is left for the the plugin to use this method as required, but a + * typical use would be to retrieve some secure authentication token. + * + * Returns: A string value, or %NULL for not found + * + * Since: 0.14.0 + **/ +const gchar * +as_review_get_metadata_item (AsReview *review, const gchar *key) +{ + AsReviewPrivate *priv = GET_PRIVATE (review); + g_return_val_if_fail (AS_IS_REVIEW (review), NULL); + g_return_val_if_fail (key != NULL, NULL); + return g_hash_table_lookup (priv->metadata, key); +} + +/** + * as_review_add_metadata: + * @review: a #AsReview + * @key: a string + * @value: a string + * + * Adds metadata to the review object. + * It is left for the the plugin to use this method as required, but a + * typical use would be to store some secure authentication token. + * + * Since: 0.14.0 + **/ +void +as_review_add_metadata (AsReview *review, const gchar *key, const gchar *value) +{ + AsReviewPrivate *priv = GET_PRIVATE (review); + g_return_if_fail (AS_IS_REVIEW (review)); + g_hash_table_insert (priv->metadata, + g_ref_string_new_intern (key), + g_ref_string_new_intern (value)); +} + +/** + * as_review_equal: + * @review1: a #AsReview instance. + * @review2: a #AsReview instance. + * + * Checks if two reviews are the same. + * + * Returns: %TRUE for success + * + * Since: 0.14.0 + **/ +gboolean +as_review_equal (AsReview *review1, AsReview *review2) +{ + AsReviewPrivate *priv1 = GET_PRIVATE (review1); + AsReviewPrivate *priv2 = GET_PRIVATE (review2); + + /* trivial */ + if (review1 == review2) + return TRUE; + + /* check for equality */ + if (!g_date_time_equal (priv1->date, priv2->date)) + return FALSE; + if (priv1->priority != priv2->priority) + return FALSE; + if (priv1->rating != priv2->rating) + return FALSE; + if (g_strcmp0 (priv1->id, priv2->id) != 0) + return FALSE; + if (g_strcmp0 (priv1->summary, priv2->summary) != 0) + return FALSE; + if (g_strcmp0 (priv1->description, priv2->description) != 0) + return FALSE; + if (g_strcmp0 (priv1->locale, priv2->locale) != 0) + return FALSE; + if (g_strcmp0 (priv1->version, priv2->version) != 0) + return FALSE; + + /* success */ + return TRUE; +} + +/** + * as_review_load_from_xml: + * @review: a #AsReview instance. + * @ctx: the AppStream document context. + * @node: the XML node. + * @error: a #GError. + * + * Loads review data from an XML node. + **/ +gboolean +as_review_load_from_xml (AsReview *review, AsContext *ctx, xmlNode *node, GError **error) +{ + AsReviewPrivate *priv = GET_PRIVATE (review); + gchar *str; + gint itmp; + + as_ref_string_assign_transfer (&priv->id, as_xml_get_prop_value_refstr (node, "id")); + + str = as_xml_get_prop_value (node, "date"); + if (str != NULL) { + g_autoptr(GDateTime) dt = as_iso8601_to_datetime (str); + if (dt != NULL) + as_review_set_date (review, dt); + g_free (str); + } + + itmp = as_xml_get_prop_value_as_int (node, "rating"); + if (itmp != G_MAXINT) + as_review_set_rating (review, itmp); + + for (xmlNode *iter = node->children; iter != NULL; iter = iter->next) { + if (iter->type != XML_ELEMENT_NODE) + continue; + + if (g_strcmp0 ((gchar*) iter->name, "priority") == 0) { + gint64 prio; + str = as_xml_get_node_value (iter); + prio = g_ascii_strtoll (str, NULL, 10); + as_review_set_priority (review, (gint) prio); + g_free (str); + + } else if (g_strcmp0 ((gchar*) iter->name, "summary") == 0) { + as_ref_string_assign_transfer (&priv->summary, as_xml_get_node_value_refstr (iter)); + + } else if (g_strcmp0 ((gchar*) iter->name, "description") == 0) { + g_autofree gchar *desc = as_xml_dump_node_children (iter); + as_ref_string_assign_transfer (&priv->description, g_ref_string_new_intern (desc)); + + } else if (g_strcmp0 ((gchar*) iter->name, "version") == 0) { + as_ref_string_assign_transfer (&priv->version, as_xml_get_node_value_refstr (iter)); + + } else if (g_strcmp0 ((gchar*) iter->name, "reviewer_id") == 0) { + as_ref_string_assign_transfer (&priv->reviewer_id, as_xml_get_node_value_refstr (iter)); + + } else if (g_strcmp0 ((gchar*) iter->name, "reviewer_name") == 0) { + as_ref_string_assign_transfer (&priv->reviewer_name, as_xml_get_node_value_refstr (iter)); + + } else if (g_strcmp0 ((gchar*) iter->name, "lang") == 0) { + as_ref_string_assign_transfer (&priv->locale, as_xml_get_node_value_refstr (iter)); + + } else if (g_strcmp0 ((gchar*) iter->name, "metadata") == 0) { + as_xml_parse_custom_node (iter, priv->metadata); + } + } + + return TRUE; +} + +/** + * as_review_to_xml_node: + * @review: a #AsReview instance. + * @ctx: the AppStream document context. + * @root: XML node to attach the new nodes to. + * + * Serializes the data to an XML node. + **/ +void +as_review_to_xml_node (AsReview *review, AsContext *ctx, xmlNode *root) +{ + AsReviewPrivate *priv = GET_PRIVATE (review); + xmlNode *n_review; + + n_review = xmlNewChild (root, NULL, (xmlChar*) "review", (xmlChar*) ""); + if (priv->id != NULL) { + as_xml_add_text_prop (n_review, "id", priv->id); + } + + if (priv->date != NULL) { + g_autofree gchar *str = g_date_time_format (priv->date, "%F"); + as_xml_add_text_prop (n_review, "date", str); + } + + if (priv->rating != 0) { + g_autofree gchar *str = g_strdup_printf ("%i", priv->rating); + as_xml_add_text_prop (n_review, "rating", str); + } + + if (priv->priority != 0) { + g_autofree gchar *str = g_strdup_printf ("%i", priv->priority); + as_xml_add_text_node (n_review, "priority", str); + } + + as_xml_add_text_node (n_review, "summary", priv->summary); + as_xml_add_description_node_raw (n_review, priv->description); + + as_xml_add_text_node (n_review, "version", priv->version); + + as_xml_add_text_node (n_review, "reviewer_id", priv->reviewer_id); + as_xml_add_text_node (n_review, "reviewer_name", priv->reviewer_name); + + as_xml_add_text_node (n_review, "lang", priv->locale); + + /* */ + as_xml_add_custom_node (n_review, "metadata", priv->metadata); + + xmlAddChild (root, n_review); +} + +/** + * as_review_load_from_yaml: + * @review: a #AsReview instance. + * @ctx: the AppStream document context. + * @node: the YAML node. + * @error: a #GError. + * + * Loads data from a YAML field. + **/ +gboolean +as_review_load_from_yaml (AsReview *review, AsContext *ctx, GNode *node, GError **error) +{ + /* TODO */ + return TRUE; +} + +/** + * as_review_emit_yaml: + * @review: a #AsReview instance. + * @ctx: the AppStream document context. + * @emitter: The YAML emitter to emit data on. + * + * Emit YAML data for this object. + **/ +void +as_review_emit_yaml (AsReview *review, AsContext *ctx, yaml_emitter_t *emitter) +{ + /* TODO */ + return; +} + +/** + * as_review_new: + * + * Creates a new #AsReview. + * + * Returns: (transfer full): a #AsReview + * + * Since: 0.14.0 + **/ +AsReview * +as_review_new (void) +{ + AsReview *review; + review = g_object_new (AS_TYPE_REVIEW, NULL); + return AS_REVIEW (review); +} diff -Nru appstream-0.12.10/src/as-review.h appstream-0.14.5/src/as-review.h --- appstream-0.12.10/src/as-review.h 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/src/as-review.h 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,125 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2016 Canonical Ltd. + * Copyright (C) 2016 Richard Hughes + * Copyright (C) 2020-2021 Matthias Klumpp + * + * Licensed under the GNU Lesser General Public License Version 2.1 + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 2.1 of the license, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +#pragma once + +#if !defined (__APPSTREAM_H_INSIDE__) && !defined (AS_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define AS_TYPE_REVIEW (as_review_get_type ()) +G_DECLARE_DERIVABLE_TYPE (AsReview, as_review, AS, REVIEW, GObject) + +struct _AsReviewClass +{ + GObjectClass parent_class; + /*< private >*/ + void (*_as_reserved1) (void); + void (*_as_reserved2) (void); + void (*_as_reserved3) (void); + void (*_as_reserved4) (void); + void (*_as_reserved5) (void); + void (*_as_reserved6) (void); + void (*_as_reserved7) (void); + void (*_as_reserved8) (void); +}; + +/** + * AsReviewFlags: + * @AS_REVIEW_FLAG_NONE: No special flags set + * @AS_REVIEW_FLAG_SELF: The user wrote the review themselves + * @AS_REVIEW_FLAG_VOTED: The user voted on the review + * + * The flags for the review. + * + * Since: 0.14.0 + **/ +typedef enum { + AS_REVIEW_FLAG_NONE = 0, + AS_REVIEW_FLAG_SELF = 1 << 0, + AS_REVIEW_FLAG_VOTED = 1 << 1, + /*< private >*/ + AS_REVIEW_FLAG_LAST +} AsReviewFlags; + +AsReview *as_review_new (void); + +gint as_review_get_priority (AsReview *review); +void as_review_set_priority (AsReview *review, + gint priority); + +const gchar *as_review_get_id (AsReview *review); +void as_review_set_id (AsReview *review, + const gchar *id); + +const gchar *as_review_get_summary (AsReview *review); +void as_review_set_summary (AsReview *review, + const gchar *summary); + +const gchar *as_review_get_description (AsReview *review); +void as_review_set_description (AsReview *review, + const gchar *description); + +const gchar *as_review_get_locale (AsReview *review); +void as_review_set_locale (AsReview *review, + const gchar *locale); + +gint as_review_get_rating (AsReview *review); +void as_review_set_rating (AsReview *review, + gint rating); + +const gchar *as_review_get_version (AsReview *review); +void as_review_set_version (AsReview *review, + const gchar *version); + +const gchar *as_review_get_reviewer_id (AsReview *review); +void as_review_set_reviewer_id (AsReview *review, + const gchar *reviewer_id); + +const gchar *as_review_get_reviewer_name (AsReview *review); +void as_review_set_reviewer_name (AsReview *review, + const gchar *reviewer_name); + +GDateTime *as_review_get_date (AsReview *review); +void as_review_set_date (AsReview *review, + GDateTime *date); + +AsReviewFlags as_review_get_flags (AsReview *review); +void as_review_set_flags (AsReview *review, + AsReviewFlags flags); +void as_review_add_flags (AsReview *review, + AsReviewFlags flags); + +const gchar *as_review_get_metadata_item (AsReview *review, + const gchar *key); +void as_review_add_metadata (AsReview *review, + const gchar *key, + const gchar *value); + +gboolean as_review_equal (AsReview *review1, + AsReview *review2); + +G_END_DECLS diff -Nru appstream-0.12.10/src/as-review-private.h appstream-0.14.5/src/as-review-private.h --- appstream-0.12.10/src/as-review-private.h 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/src/as-review-private.h 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,52 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2016 Richard Hughes + * Copyright (C) 2020-2021 Matthias Klumpp + * + * Licensed under the GNU Lesser General Public License Version 2.1 + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 2.1 of the license, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +#pragma once + +#if !defined (__APPSTREAM_PRIVATE_H) && !defined (AS_COMPILATION) +#error "Only can be included directly." +#endif + +#include "as-review.h" +#include "as-xml.h" +#include "as-yaml.h" + +G_BEGIN_DECLS +#pragma GCC visibility push(hidden) + +gboolean as_review_load_from_xml (AsReview *review, + AsContext *ctx, + xmlNode *node, + GError **error); +void as_review_to_xml_node (AsReview *review, + AsContext *ctx, + xmlNode *root); + +gboolean as_review_load_from_yaml (AsReview *review, + AsContext *ctx, + GNode *node, + GError **error); +void as_review_emit_yaml (AsReview *review, + AsContext *ctx, + yaml_emitter_t *emitter); + +#pragma GCC visibility pop +G_END_DECLS diff -Nru appstream-0.12.10/src/as-screenshot.c appstream-0.14.5/src/as-screenshot.c --- appstream-0.12.10/src/as-screenshot.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-screenshot.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2012-2020 Matthias Klumpp + * Copyright (C) 2012-2021 Matthias Klumpp * Copyright (C) 2014 Richard Hughes * * Licensed under the GNU Lesser General Public License Version 2.1 @@ -66,7 +66,9 @@ priv->kind = AS_SCREENSHOT_KIND_EXTRA; priv->media_kind = AS_SCREENSHOT_MEDIA_KIND_IMAGE; - priv->caption = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free); + priv->caption = g_hash_table_new_full (g_str_hash, g_str_equal, + (GDestroyNotify) as_ref_string_release, + g_free); priv->images = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref); priv->images_lang = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref); priv->videos = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref); @@ -205,6 +207,47 @@ } /** + * as_screenshot_get_image: + * @screenshot: a #AsScreenshot instance. + * @width: target width + * @height: target height + * + * Gets the AsImage closest to the target size. The #AsImage may not actually + * be the requested size, and the application may have to pad / rescale the + * image to make it fit. + * Only images for the current active locale (or fallback, if images are not localized) + * are considered. + * + * Returns: (transfer none): an #AsImage, or %NULL + * + * Since: 0.14.0 + **/ +AsImage* +as_screenshot_get_image (AsScreenshot *screenshot, guint width, guint height) +{ + AsImage *im; + AsImage *im_best = NULL; + gint64 best_size = G_MAXINT64; + guint i; + gint64 tmp; + GPtrArray *images; + + g_return_val_if_fail (AS_IS_SCREENSHOT (screenshot), NULL); + images = as_screenshot_get_images (screenshot); + + for (i = 0; i < images->len; i++) { + im = g_ptr_array_index (images, i); + tmp = ABS ((gint64) (width * height) - + (gint64) (as_image_get_width (im) * as_image_get_height (im))); + if (tmp < best_size) { + best_size = tmp; + im_best = im; + } + } + return im_best; +} + +/** * as_screenshot_add_image: * @screenshot: a #AsScreenshot instance. * @image: a #AsImage instance. diff -Nru appstream-0.12.10/src/as-screenshot.h appstream-0.14.5/src/as-screenshot.h --- appstream-0.12.10/src/as-screenshot.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-screenshot.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2012-2020 Matthias Klumpp + * Copyright (C) 2012-2021 Matthias Klumpp * Copyright (C) 2014 Richard Hughes * * Licensed under the GNU Lesser General Public License Version 2.1 @@ -99,8 +99,11 @@ GPtrArray *as_screenshot_get_images_all (AsScreenshot *screenshot); GPtrArray *as_screenshot_get_images (AsScreenshot *screenshot); +AsImage *as_screenshot_get_image (AsScreenshot *screenshot, + guint width, + guint height); void as_screenshot_add_image (AsScreenshot *screenshot, - AsImage *image); + AsImage *image); GPtrArray *as_screenshot_get_videos (AsScreenshot *screenshot); void as_screenshot_add_video (AsScreenshot *screenshot, diff -Nru appstream-0.12.10/src/as-screenshot-private.h appstream-0.14.5/src/as-screenshot-private.h --- appstream-0.12.10/src/as-screenshot-private.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-screenshot-private.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2015-2020 Matthias Klumpp + * Copyright (C) 2015-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * diff -Nru appstream-0.12.10/src/as-settings-private.h appstream-0.14.5/src/as-settings-private.h --- appstream-0.12.10/src/as-settings-private.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-settings-private.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2012-2020 Matthias Klumpp + * Copyright (C) 2012-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -22,7 +22,6 @@ #define __AS_SETTINGS_PRIVATE_H #include -#include "config.h" G_BEGIN_DECLS #pragma GCC visibility push(hidden) diff -Nru appstream-0.12.10/src/as-spdx.c appstream-0.14.5/src/as-spdx.c --- appstream-0.12.10/src/as-spdx.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-spdx.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,7 +1,7 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * * Copyright (C) 2016 Richard Hughes - * Copyright (C) 2016-2020 Matthias Klumpp + * Copyright (C) 2016-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -167,7 +167,7 @@ if (g_str_has_prefix (license_id, "LicenseRef-")) return TRUE; - /* load the readonly data section and look for the icon name */ + /* load the readonly data section and look for the license ID */ data = g_resource_lookup_data (as_get_resource (), "/org/freedesktop/appstream/spdx-license-ids.txt", G_RESOURCE_LOOKUP_FLAGS_NONE, @@ -199,7 +199,7 @@ if (exception_id == NULL || exception_id[0] == '\0') return FALSE; - /* load the readonly data section and look for the icon name */ + /* load the readonly data section and look for the license exception ID */ data = g_resource_lookup_data (as_get_resource (), "/org/freedesktop/appstream/spdx-license-exception-ids.txt", G_RESOURCE_LOOKUP_FLAGS_NONE, @@ -286,8 +286,8 @@ as_utils_spdx_license_3to2 (const gchar *license3) { GString *license2 = g_string_new (license3); - as_gstring_replace (license2, "-only", ""); - as_gstring_replace (license2, "-or-later", "+"); + as_gstring_replace2 (license2, "-only", "", 1); + as_gstring_replace2 (license2, "-or-later", "+", 1); return license2; } @@ -302,8 +302,8 @@ as_utils_spdx_license_2to3 (const gchar *license2) { GString *license3 = g_string_new (license2); - as_gstring_replace (license3, ".0+", ".0-or-later"); - as_gstring_replace (license3, ".1+", ".1-or-later"); + as_gstring_replace2 (license3, ".0+", ".0-or-later", 1); + as_gstring_replace2 (license3, ".1+", ".1-or-later", 1); return license3; } @@ -523,8 +523,20 @@ return g_string_free (str, FALSE); } -static gboolean -as_validate_is_content_license_id (const gchar *license_id) +/** + * as_license_is_metadata_license_id: + * @license_id: a single SPDX license ID, e.g. "FSFAP" + * + * Tests license ID against the vetted list of licenses that + * can be used for metainfo metadata. + * This function will not work for license expressions, if you need + * to test an SPDX license expression for compliance, please + * use %as_license_is_metadata_license insread. + * + * Returns: %TRUE if the string is a valid metadata license ID. + */ +gboolean +as_license_is_metadata_license_id (const gchar *license_id) { if (g_strcmp0 (license_id, "@FSFAP") == 0) return TRUE; @@ -587,19 +599,53 @@ gboolean as_license_is_metadata_license (const gchar *license) { - guint i; + gboolean requires_all_tokens = TRUE; + guint license_bad_cnt = 0; + guint license_good_cnt = 0; g_auto(GStrv) tokens = NULL; tokens = as_spdx_license_tokenize (license); + /* not a valid SPDX expression */ if (tokens == NULL) return FALSE; - for (i = 0; tokens[i] != NULL; i++) { - if (!as_validate_is_content_license_id (tokens[i])) + /* this is too complicated to process */ + for (guint i = 0; tokens[i] != NULL; i++) { + if (g_strcmp0 (tokens[i], "(") == 0 || + g_strcmp0 (tokens[i], ")") == 0) { return FALSE; + } } - return TRUE; + /* this is a simple expression parser and can be easily tricked */ + for (guint i = 0; tokens[i] != NULL; i++) { + if (g_strcmp0 (tokens[i], "+") == 0) + continue; + if (g_strcmp0 (tokens[i], "|") == 0) { + requires_all_tokens = FALSE; + continue; + } + if (g_strcmp0 (tokens[i], "&") == 0) { + requires_all_tokens = TRUE; + continue; + } + if (as_license_is_metadata_license_id (tokens[i])) { + license_good_cnt++; + } else { + license_bad_cnt++; + } + } + + /* any valid token makes this valid */ + if (!requires_all_tokens && license_good_cnt > 0) + return TRUE; + + /* all tokens are required to be valid */ + if (requires_all_tokens && license_bad_cnt == 0) + return TRUE; + + /* looks like the license was bad */ + return FALSE; } /** @@ -651,12 +697,17 @@ * @license: The SPDX license string to test. * * Check if the given license is for free-as-in-freedom software. - * Currently, all licenses listed on the SPDX website are considered to - * be "free software" licenses. + * A free software license is either approved by the Free Software Foundation + * or the Open Source Initiative. + * + * This function does *not* yet handle complex license expressions with AND and OR. + * If the expression contains any of these, it will still simply check if all mentioned + * licenses are Free licenses. + * Currently, any license exception recognized by SPDX is assumed to not impact the free-ness + * status of a software component. * - * This definition may be tightened in future. In any case, this function does - * not give any legal advice. Please read the license texts to know more about - * the individual licenses. + * Please note that this function does not give any legal advice. Please read the license texts + * to learn more about the individual licenses and their conditions. * * Returns: %TRUE if the license string contains only free-as-in-freedom licenses. * @@ -666,12 +717,23 @@ as_license_is_free_license (const gchar *license) { g_auto(GStrv) tokens = NULL; + g_autoptr(GBytes) rdata = NULL; gboolean is_free; + /* load the readonly data section of (free) license IDs */ + rdata = g_resource_lookup_data (as_get_resource (), + "/org/freedesktop/appstream/spdx-free-license-ids.txt", + G_RESOURCE_LOOKUP_FLAGS_NONE, + NULL); + if (rdata == NULL) + return FALSE; + /* assume we have a free software license, unless proven otherwise */ is_free = TRUE; tokens = as_spdx_license_tokenize (license); for (guint i = 0; tokens[i] != NULL; i++) { + g_autofree gchar *lkey = NULL; + if (g_strcmp0 (tokens[i], "&") == 0 || g_strcmp0 (tokens[i], "+") == 0 || g_strcmp0 (tokens[i], "|") == 0 || @@ -698,6 +760,19 @@ is_free = FALSE; break; } + + if (as_is_spdx_license_exception_id (tokens[i] + 1)) { + /* for now, we assume any SPDX license exception is still fine and doesn't change the + * "free-ness" status of a software component */ + continue; + } + + lkey = g_strdup_printf ("\n%s\n", tokens[i] + 1); + if (g_strstr_len (g_bytes_get_data (rdata, NULL), -1, lkey) == NULL) { + /* the license was not in our "free" list, so we consider it non-free */ + is_free = FALSE; + break; + } } return is_free; diff -Nru appstream-0.12.10/src/as-spdx.h appstream-0.14.5/src/as-spdx.h --- appstream-0.12.10/src/as-spdx.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-spdx.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2012-2020 Matthias Klumpp + * Copyright (C) 2012-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -38,6 +38,7 @@ gchar *as_license_to_spdx_id (const gchar *license); +gboolean as_license_is_metadata_license_id (const gchar *license_id); gboolean as_license_is_metadata_license (const gchar *license); gboolean as_license_is_free_license (const gchar *license); diff -Nru appstream-0.12.10/src/as-stemmer.c appstream-0.14.5/src/as-stemmer.c --- appstream-0.12.10/src/as-stemmer.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-stemmer.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2016-2020 Matthias Klumpp + * Copyright (C) 2016-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * diff -Nru appstream-0.12.10/src/as-stemmer.h appstream-0.14.5/src/as-stemmer.h --- appstream-0.12.10/src/as-stemmer.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-stemmer.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2016-2020 Matthias Klumpp + * Copyright (C) 2016-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * diff -Nru appstream-0.12.10/src/as-suggested.c appstream-0.14.5/src/as-suggested.c --- appstream-0.12.10/src/as-suggested.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-suggested.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,7 +1,7 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * * Copyright (C) 2016 Lucas Moura - * Copyright (C) 2017-2020 Matthias Klumpp + * Copyright (C) 2017-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * diff -Nru appstream-0.12.10/src/as-suggested.h appstream-0.14.5/src/as-suggested.h --- appstream-0.12.10/src/as-suggested.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-suggested.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,7 +1,7 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * * Copyright (C) 2016 Lucas Moura - * Copyright (C) 2017-2020 Matthias Klumpp + * Copyright (C) 2017-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * diff -Nru appstream-0.12.10/src/as-suggested-private.h appstream-0.14.5/src/as-suggested-private.h --- appstream-0.12.10/src/as-suggested-private.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-suggested-private.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2017-2020 Matthias Klumpp + * Copyright (C) 2017-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * diff -Nru appstream-0.12.10/src/as-tag.c appstream-0.14.5/src/as-tag.c --- appstream-0.12.10/src/as-tag.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-tag.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2014-2020 Matthias Klumpp + * Copyright (C) 2014-2021 Matthias Klumpp * Copyright (C) 2014-2017 Richard Hughes * * Licensed under the GNU Lesser General Public License Version 2.1 diff -Nru appstream-0.12.10/src/as-tag.h appstream-0.14.5/src/as-tag.h --- appstream-0.12.10/src/as-tag.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-tag.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2014-2020 Matthias Klumpp + * Copyright (C) 2014-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -65,7 +65,8 @@ * @AS_TAG_CONTENT_RATING: `content_rating` / `ContentRating` * @AS_TAG_RECOMMENDS: `recommends` / `Recommends` * @AS_TAG_REQUIRES: `requires` / `Requires` - * @AS_TAG_AGREEMENT: `agreement` / `Àgreement` + * @AS_TAG_AGREEMENT: `agreement` / `Agreement` + * @AS_TAG_REVIEWS: `reviews` / `Reviews` * @AS_TAG_NAME_VARIANT_SUFFIX: `name_variant_suffix` / `NameVariantSuffix` * @AS_TAG_P: Description markup `p` * @AS_TAG_LI: Description markup `li` @@ -109,6 +110,7 @@ AS_TAG_RECOMMENDS, AS_TAG_REQUIRES, AS_TAG_AGREEMENT, + AS_TAG_REVIEWS, AS_TAG_NAME_VARIANT_SUFFIX, AS_TAG_P, AS_TAG_LI, @@ -117,6 +119,7 @@ AS_TAG_INTERNAL_SCOPE, AS_TAG_INTERNAL_ORIGIN, + AS_TAG_INTERNAL_BRANCH, /*< private >*/ AS_TAG_LAST diff -Nru appstream-0.12.10/src/as-tag-xml.gperf appstream-0.14.5/src/as-tag-xml.gperf --- appstream-0.12.10/src/as-tag-xml.gperf 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-tag-xml.gperf 2021-08-28 20:15:28.000000000 +0000 @@ -39,6 +39,7 @@ recommends, AS_TAG_RECOMMENDS requires, AS_TAG_REQUIRES agreement, AS_TAG_AGREEMENT +reviews, AS_TAG_REVIEWS name_variant_suffix, AS_TAG_NAME_VARIANT_SUFFIX p, AS_TAG_P li, AS_TAG_LI @@ -46,3 +47,4 @@ ol, AS_TAG_OL __asi_scope, AS_TAG_INTERNAL_SCOPE __asi_origin, AS_TAG_INTERNAL_ORIGIN +__asi_branch, AS_TAG_INTERNAL_BRANCH diff -Nru appstream-0.12.10/src/as-tag-yaml.gperf appstream-0.14.5/src/as-tag-yaml.gperf --- appstream-0.12.10/src/as-tag-yaml.gperf 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-tag-yaml.gperf 2021-08-28 20:15:28.000000000 +0000 @@ -40,4 +40,5 @@ Recommends, AS_TAG_RECOMMENDS Requires, AS_TAG_REQUIRES Agreements, AS_TAG_AGREEMENT +Reviews, AS_TAG_REVIEWS NameVariantSuffix, AS_TAG_NAME_VARIANT_SUFFIX diff -Nru appstream-0.12.10/src/as-translation.c appstream-0.14.5/src/as-translation.c --- appstream-0.12.10/src/as-translation.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-translation.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2016-2020 Matthias Klumpp + * Copyright (C) 2016-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -24,6 +24,8 @@ #include #include +#include "as-utils-private.h" + /** * SECTION:as-translation * @short_description: Description of translation domains for an upstream component. @@ -39,7 +41,7 @@ typedef struct { AsTranslationKind kind; - gchar *id; + GRefString *id; } AsTranslationPrivate; G_DEFINE_TYPE_WITH_PRIVATE (AsTranslation, as_translation, G_TYPE_OBJECT) @@ -97,6 +99,11 @@ static void as_translation_finalize (GObject *object) { + AsTranslation *tr = AS_TRANSLATION (object); + AsTranslationPrivate *priv = GET_PRIVATE (tr); + + as_ref_string_release (priv->id); + G_OBJECT_CLASS (as_translation_parent_class)->finalize (object); } @@ -163,8 +170,7 @@ as_translation_set_id (AsTranslation *tr, const gchar *id) { AsTranslationPrivate *priv = GET_PRIVATE (tr); - g_free (priv->id); - priv->id = g_strdup (id); + as_ref_string_assign_safe (&priv->id, id); } /** diff -Nru appstream-0.12.10/src/as-translation.h appstream-0.14.5/src/as-translation.h --- appstream-0.12.10/src/as-translation.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-translation.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2016-2020 Matthias Klumpp + * Copyright (C) 2016-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * diff -Nru appstream-0.12.10/src/as-translation-private.h appstream-0.14.5/src/as-translation-private.h --- appstream-0.12.10/src/as-translation-private.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-translation-private.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2017-2020 Matthias Klumpp + * Copyright (C) 2017-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * diff -Nru appstream-0.12.10/src/as-utils.c appstream-0.14.5/src/as-utils.c --- appstream-0.12.10/src/as-utils.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-utils.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,7 +1,7 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2012-2020 Matthias Klumpp - * Copyright (C) 2016 Richard Hughes + * Copyright (C) 2012-2021 Matthias Klumpp + * Copyright (C) 2014-2016 Richard Hughes * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -38,9 +38,10 @@ #include #include +#include "as-version.h" #include "as-resources.h" #include "as-category.h" -#include "as-component.h" +#include "as-metadata.h" #include "as-component-private.h" /** @@ -64,7 +65,132 @@ const gchar* as_get_appstream_version (void) { - return PACKAGE_VERSION; + return as_version_string (); +} + +/** + * as_utils_error_quark: + * + * Return value: An error quark. + * + * Since: 0.14.0 + **/ +G_DEFINE_QUARK (as-utils-error-quark, as_utils_error) + +/** + * as_markup_strsplit_words: + * @text: the text to split. + * @line_len: the maximum length of the output line + * + * Splits up a long line into an array of smaller strings, each being no longer + * than @line_len. Words are not split. + * + * Returns: (transfer full): lines, or %NULL in event of an error + * + * Since: 0.14.0 + **/ +gchar** +as_markup_strsplit_words (const gchar *text, guint line_len) +{ + GPtrArray *lines; + g_autoptr(GString) curline = NULL; + g_auto(GStrv) tokens = NULL; + gsize curline_char_count = 0; + + /* sanity check */ + if (text == NULL) + return NULL; + if (text[0] == '\0') + return g_strsplit (text, " ", -1); + if (line_len == 0) + return NULL; + + lines = g_ptr_array_new (); + curline = g_string_new (""); + + /* tokenize the string */ + tokens = g_strsplit (text, " ", -1); + for (guint i = 0; tokens[i] != NULL; i++) { + gsize token_unilen = g_utf8_strlen (tokens[i], -1); + gboolean token_has_linebreak = g_strstr_len (tokens[i], -1, "\n") != NULL; + + /* current line plus new token is okay */ + if (curline_char_count + token_unilen < line_len) { + /* we can't just check for a suffix \n here, as tokens may contain internal linebreaks */ + if (token_has_linebreak) { + if (tokens[i][0] == '\0') + g_string_append_c (curline, ' '); + else + g_string_append_printf (curline, "%s ", tokens[i]); + g_ptr_array_add (lines, g_strdup (curline->str)); + g_string_truncate (curline, 0); + curline_char_count = 0; + } else { + g_string_append_printf (curline, "%s ", tokens[i]); + curline_char_count += token_unilen + 1; + } + continue; + } + + /* too long, so remove space, add newline and dump */ + if (curline->len > 0) { + g_string_truncate (curline, curline->len - 1); + curline_char_count -= 1; + } + + g_string_append (curline, "\n"); + g_ptr_array_add (lines, g_strdup (curline->str)); + g_string_truncate (curline, 0); + curline_char_count = 0; + if (token_has_linebreak) { + g_ptr_array_add (lines, g_strdup (tokens[i])); + } else { + g_string_append_printf (curline, "%s ", tokens[i]); + curline_char_count += token_unilen + 1; + } + } + + /* any incomplete line? */ + if (curline->len > 0) { + g_string_truncate (curline, curline->len - 1); + g_string_append (curline, "\n"); + g_ptr_array_add (lines, g_strdup (curline->str)); + } + + /* any superfluous linebreak at the start? + * (this may happen if text is just one, very long word with no spaces) */ + if (lines->len > 0) { + gchar *first_line = (gchar*) g_ptr_array_index (lines, 0); + if (!g_str_has_prefix (text, "\n") && g_strcmp0 (first_line, "\n") == 0) + g_ptr_array_remove_index (lines, 0); + } + + g_ptr_array_add (lines, NULL); + return (gchar **) g_ptr_array_free (lines, FALSE); +} + +/** + * as_sanitize_text_spaces: + * @text: The text to sanitize. + * + * Sanitize a text string by removing extra whitespaces and all + * linebreaks. This is ideal to run on a text obtained from XML + * prior to passing it through to a word-wrapping function. + * + * Returns: The sanitized string. + */ +gchar* +as_sanitize_text_spaces (const gchar *text) +{ + g_auto(GStrv) strv = NULL; + + if (text == NULL) + return NULL; + + strv = g_strsplit (text, "\n", -1); + for (guint i = 0; strv[i] != NULL; ++i) + g_strstrip (strv[i]); + return g_strjoinv (" ", strv); } /** @@ -83,9 +209,9 @@ xmlNode *root; xmlNode *iter; gboolean ret = TRUE; - gchar *xmldata; gchar *formatted = NULL; GString *str = NULL; + g_autofree gchar *xmldata = NULL; if (markup == NULL) return NULL; @@ -124,37 +250,59 @@ continue; if (g_strcmp0 ((gchar*) iter->name, "p") == 0) { - g_auto(GStrv) strv = NULL; - g_autofree gchar *tmp = NULL; - g_autofree gchar *content = (gchar*) xmlNodeGetContent (iter); - g_strstrip (content); - - /* remove extra whitespaces */ - strv = g_strsplit (content, "\n", -1); - for (guint i = 0; strv[i] != NULL; ++i) - g_strstrip (strv[i]); - tmp = g_strjoinv ("\n", strv); + g_autofree gchar *clean_text = NULL; + g_autofree gchar *text_content = (gchar*) xmlNodeGetContent (iter); + + /* remove extra whitespaces and linebreaks */ + clean_text = as_sanitize_text_spaces (text_content); if (str->len > 0) g_string_append (str, "\n"); - g_string_append_printf (str, "%s\n", tmp); + + if (to_kind == AS_MARKUP_KIND_MARKDOWN) { + g_auto(GStrv) spl = as_markup_strsplit_words (clean_text, 100); + for (guint i = 0; spl[i] != NULL; i++) + g_string_append (str, spl[i]); + } else { + g_string_append_printf (str, "%s\n", clean_text); + } } else if ((g_strcmp0 ((gchar*) iter->name, "ul") == 0) || (g_strcmp0 ((gchar*) iter->name, "ol") == 0)) { + g_autofree gchar *item_c = NULL; + gboolean is_ordered_list = g_strcmp0 ((gchar*) iter->name, "ol") == 0; + guint entry_no = 0; + + /* set item style for unordered lists */ + if (!is_ordered_list) { + if (to_kind == AS_MARKUP_KIND_MARKDOWN) + item_c = g_strdup ("*"); + else + item_c = g_strdup ("•"); + } + /* iterate over itemize contents */ for (iter2 = iter->children; iter2 != NULL; iter2 = iter2->next) { if (iter2->type != XML_ELEMENT_NODE) continue; if (g_strcmp0 ((gchar*) iter2->name, "li") == 0) { - g_autofree gchar *content = (gchar*) xmlNodeGetContent (iter2); - g_strstrip (content); - if (to_kind == AS_MARKUP_KIND_MARKDOWN) { - g_string_append_printf (str, - " - %s\n", - content); - } else { - g_string_append_printf (str, - " • %s\n", - content); + g_auto(GStrv) spl = NULL; + g_autofree gchar *clean_item = NULL; + g_autofree gchar *item_content = (gchar*) xmlNodeGetContent (iter2); + entry_no++; + + /* remove extra whitespaces and linebreaks */ + clean_item = as_sanitize_text_spaces (item_content); + + /* set item number for ordered list */ + if (is_ordered_list) { + g_free (item_c); + item_c = g_strdup_printf ("%u.", entry_no); } + + /* break to 100 chars, leaving room for the dot/indent */ + spl = as_markup_strsplit_words (clean_item, 100 - 4); + g_string_append_printf (str, " %s %s", item_c, spl[0]); + for (guint i = 1; spl[i] != NULL; i++) + g_string_append_printf (str, " %s", spl[i]); } else { /* only
                                                                                                                                                                                                                                                                                                                                                                                                                                                  3. is valid in lists */ ret = FALSE; @@ -197,15 +345,17 @@ } /** - * as_str_empty: + * as_is_empty: * @str: The string to test. * - * Test if a C string is NULL or empty (containing only spaces). + * Test if a C string is %NULL or empty (contains only terminating null character). + * + * Returns: %TRUE if string was empty. */ gboolean -as_str_empty (const gchar* str) +as_is_empty (const gchar *str) { - if ((str == NULL) || (g_strcmp0 (str, "") == 0)) + if ((str == NULL) || (str[0] == '\0')) return TRUE; return FALSE; } @@ -259,7 +409,7 @@ gboolean ret = FALSE; GFile *dir; GFileEnumerator *enr; - GFileInfo *info; + g_autoptr(GFileInfo) info = NULL; g_return_val_if_fail (dirname != NULL, FALSE); if (!g_file_test (dirname, G_FILE_TEST_IS_DIR)) @@ -356,7 +506,7 @@ g_strdup ((gchar *) g_ptr_array_index (subdir_list, i))); g_ptr_array_unref (subdir_list); } else { - if (!as_str_empty (pattern)) { + if (!as_is_empty (pattern)) { if (!g_pattern_match_simple (pattern, g_file_info_get_name (file_info))) { g_object_unref (file_info); continue; @@ -448,8 +598,7 @@ as_get_current_locale (void) { const gchar * const *locale_names; - gchar *tmp; - gchar *locale = NULL; + const gchar *locale = NULL; /* use LANGUAGE, LC_ALL, LC_MESSAGES and LANG */ locale_names = g_get_language_names (); @@ -463,17 +612,13 @@ * multiple caches on systems which generate them via a backend in PackageKit. */ const gchar *env_lang = g_getenv ("LANG"); if ((env_lang != NULL) && (g_strstr_len (env_lang, -1, "_") != NULL)) - locale = g_strdup (env_lang); + locale = env_lang; } if (locale == NULL) - locale = g_strdup (locale_names[0]); - - /* set active locale without UTF-8 suffix, UTF-8 is default in AppStream */ - tmp = g_strstr_len (locale, -1, ".UTF-8"); - if (tmp != NULL) - *tmp = '\0'; + locale = locale_names[0]; - return locale; + /* return active locale without UTF-8 suffix, UTF-8 is default in AppStream */ + return as_locale_strip_encoding (locale); } /** @@ -502,66 +647,70 @@ } /** - * as_gstring_replace: - * @string: The #GString to operate on - * @search: The text to search for - * @replace: The text to use for substitutions + * as_gstring_replace2: + * @string: a #GString + * @find: the string to find in @string + * @replace: the string to insert in place of @find + * @limit: the maximum instances of @find to replace with @replace, or `0` for no limit + * + * Replaces the string @find with the string @replace in a #GString up to + * @limit times. If the number of instances of @find in the #GString is + * less than @limit, all instances are replaced. If @limit is `0`, + * all instances of @find are replaced. * - * Performs multiple search and replace operations on the given string. - * - * Returns: the number of replacements done, or 0 if @search is not found. + * Returns: the number of find and replace operations performed. **/ guint -as_gstring_replace (GString *string, const gchar *search, const gchar *replace) +as_gstring_replace2 (GString *string, const gchar *find, const gchar *replace, guint limit) { - gchar *tmp; - guint count = 0; - gsize search_idx = 0; - gsize replace_len; - gsize search_len; +#if GLIB_CHECK_VERSION(2,68,0) + return g_string_replace (string, find, replace, limit); +#else + /* note: This is a direct copy from GLib upstream (with whitespace + * fixed spaces to tabs and with style fixed). Once we can depend on + * GLib 2.68, this copy should be dropped and g_string_replace() used + * instead. + * + * GLib is licensed under the LGPL-2.1+. + */ + gsize f_len, r_len, pos; + gchar *cur, *next; + guint n = 0; g_return_val_if_fail (string != NULL, 0); - g_return_val_if_fail (search != NULL, 0); + g_return_val_if_fail (find != NULL, 0); g_return_val_if_fail (replace != NULL, 0); - /* nothing to do */ - if (string->len == 0) - return 0; - - search_len = strlen (search); - replace_len = strlen (replace); - - do { - tmp = g_strstr_len (string->str + search_idx, -1, search); - if (tmp == NULL) - break; - - /* advance the counter in case @replace contains @search */ - search_idx = (gsize) (tmp - string->str); + f_len = strlen (find); + r_len = strlen (replace); + cur = string->str; + + while ((next = strstr (cur, find)) != NULL) { + pos = next - string->str; + g_string_erase (string, pos, f_len); + g_string_insert (string, pos, replace); + cur = string->str + pos + r_len; + n++; + } - /* reallocate the string if required */ - if (search_len > replace_len) { - g_string_erase (string, - (gssize) search_idx, - (gssize) (search_len - replace_len)); - memcpy (tmp, replace, replace_len); - } else if (search_len < replace_len) { - g_string_insert_len (string, - (gssize) search_idx, - replace, - (gssize) (replace_len - search_len)); - /* we have to treat this specially as it could have - * been reallocated when the insertion happened */ - memcpy (string->str + search_idx, replace, replace_len); - } else { - /* just memcmp in the new string */ - memcpy (tmp, replace, replace_len); - } - search_idx += replace_len; - count++; - } while (TRUE); + return n; +#endif /* !GLIB_CHECK_VERSION(2,68.0) */ +} - return count; +/** + * as_gstring_replace: + * @string: a #GString + * @find: the string to find in @string + * @replace: the string to insert in place of @find + * + * Replaces all occurences of @find with the string @replace in a #GString. + * + * Returns: the number of find and replace operations performed. + **/ +guint +as_gstring_replace (GString *string, const gchar *find, const gchar *replace) +{ + return as_gstring_replace2 (string, find, replace, 0); } /** @@ -569,18 +718,20 @@ * @str: The string to operate on * @old_str: The old value to replace. * @new_str: The new value to replace @old_str with. + * @limit: the maximum instances of @find to replace with @new_str, or `0` for + * no limit * * Performs search & replace on the given string. * * Returns: A new string with the characters replaced. */ gchar* -as_str_replace (const gchar *str, const gchar *old_str, const gchar *new_str) +as_str_replace (const gchar *str, const gchar *old_str, const gchar *new_str, guint limit) { GString *gstr; gstr = g_string_new (str); - as_gstring_replace (gstr, old_str, new_str); + as_gstring_replace2 (gstr, old_str, new_str, limit); return g_string_free (gstr, FALSE); } @@ -685,16 +836,12 @@ * as_locale_strip_encoding: * * Remove the encoding from a locale string. - * The function modifies the string directly. + * The function returns a newly allocated string. */ gchar* -as_locale_strip_encoding (gchar *locale) +as_locale_strip_encoding (const gchar *locale) { - gchar *tmp; - tmp = g_strstr_len (locale, -1, ".UTF-8"); - if (tmp != NULL) - *tmp = '\0'; - return locale; + return as_str_replace (locale, ".UTF-8", "", 1); } /** @@ -716,7 +863,7 @@ if (g_strcmp0 (uts.machine, "x86_64") == 0) { arch = g_strdup ("amd64"); } else if (g_pattern_match_simple ("i?86", uts.machine)) { - arch = g_strdup ("ia32"); + arch = g_strdup ("i386"); } else if (g_strcmp0 (uts.machine, "aarch64")) { arch = g_strdup ("arm64"); } else { @@ -766,6 +913,12 @@ tmp = g_strstr_len (country_code, -1, "_"); if (tmp != NULL) *tmp = '\0'; + + /* return the part before any "@" for locale with modifiers like "ca@valencia" */ + tmp = g_strstr_len (country_code, -1, "@"); + if (tmp != NULL) + *tmp = '\0'; + return country_code; } @@ -934,9 +1087,11 @@ { g_autoptr(GBytes) data = NULL; g_autofree gchar *key = NULL; + GResource *resource = as_get_resource (); + g_assert (resource != NULL); /* load the readonly data section and look for the TLD */ - data = g_resource_lookup_data (as_get_resource (), + data = g_resource_lookup_data (resource, "/org/freedesktop/appstream/iana-filtered-tld-list.txt", G_RESOURCE_LOOKUP_FLAGS_NONE, NULL); @@ -962,9 +1117,11 @@ { g_autoptr(GBytes) data = NULL; g_autofree gchar *key = NULL; + GResource *resource = as_get_resource (); + g_assert (resource != NULL); - /* load the readonly data section and look for the TLD */ - data = g_resource_lookup_data (as_get_resource (), + /* load the readonly data section and look for the desktop environment name */ + data = g_resource_lookup_data (resource, "/org/freedesktop/appstream/desktop-environments.txt", G_RESOURCE_LOOKUP_FLAGS_NONE, NULL); @@ -975,6 +1132,154 @@ } /** + * as_utils_is_platform_triplet_arch: + * @arch: an architecture ID. + * + * Check if the given string is a valid architecture part + * of a platform triplet. + * + * Returns: %TRUE if architecture is valid + * + * Since: 0.14.0 + **/ +gboolean +as_utils_is_platform_triplet_arch (const gchar *arch) +{ + g_autoptr(GBytes) data = NULL; + g_autofree gchar *key = NULL; + GResource *resource; + + if (arch == NULL) + return FALSE; + + /* "any" is always a valid value */ + if (g_strcmp0 (arch, "any") == 0) + return TRUE; + + resource = as_get_resource (); + g_assert (resource != NULL); + + /* load the readonly data section */ + data = g_resource_lookup_data (resource, + "/org/freedesktop/appstream/platform_arch.txt", + G_RESOURCE_LOOKUP_FLAGS_NONE, + NULL); + if (data == NULL) + return FALSE; + key = g_strdup_printf ("\n%s\n", arch); + return g_strstr_len (g_bytes_get_data (data, NULL), -1, key) != NULL; +} + +/** + * as_utils_is_platform_triplet_oskernel: + * @os: an OS/kernel ID. + * + * Check if the given string is a valid OS/kernel part + * of a platform triplet. + * + * Returns: %TRUE if kernel ID is valid + * + * Since: 0.14.0 + **/ +gboolean +as_utils_is_platform_triplet_oskernel (const gchar *os) +{ + g_autoptr(GBytes) data = NULL; + g_autofree gchar *key = NULL; + GResource *resource; + + if (os == NULL) + return FALSE; + + /* "any" is always a valid value */ + if (g_strcmp0 (os, "any") == 0) + return TRUE; + + resource = as_get_resource (); + g_assert (resource != NULL); + + /* load the readonly data section */ + data = g_resource_lookup_data (resource, + "/org/freedesktop/appstream/platform_os.txt", + G_RESOURCE_LOOKUP_FLAGS_NONE, + NULL); + if (data == NULL) + return FALSE; + key = g_strdup_printf ("\n%s\n", os); + return g_strstr_len (g_bytes_get_data (data, NULL), -1, key) != NULL; +} + +/** + * as_utils_is_platform_triplet_osenv: + * @env: an OS/environment ID. + * + * Check if the given string is a valid OS/environment part + * of a platform triplet. + * + * Returns: %TRUE if environment ID is valid + * + * Since: 0.14.0 + **/ +gboolean +as_utils_is_platform_triplet_osenv (const gchar *env) +{ + g_autoptr(GBytes) data = NULL; + g_autofree gchar *key = NULL; + GResource *resource; + + if (env == NULL) + return FALSE; + + /* "any" is always a valid value */ + if (g_strcmp0 (env, "any") == 0) + return TRUE; + + resource = as_get_resource (); + g_assert (resource != NULL); + + /* load the readonly data section */ + data = g_resource_lookup_data (resource, + "/org/freedesktop/appstream/platform_env.txt", + G_RESOURCE_LOOKUP_FLAGS_NONE, + NULL); + if (data == NULL) + return FALSE; + key = g_strdup_printf ("\n%s\n", env); + return g_strstr_len (g_bytes_get_data (data, NULL), -1, key) != NULL; +} + +/** + * as_utils_is_platform_triplet: + * @triplet: a platform triplet. + * + * Test if the given string is a valid platform triplet recognized by + * AppStream. + * + * Returns: %TRUE if triplet is valid. + * + * Since: 0.14.0 + **/ +gboolean +as_utils_is_platform_triplet (const gchar *triplet) +{ + g_auto(GStrv) parts = NULL; + + if (triplet == NULL) + return FALSE; + + parts = g_strsplit (triplet, "-", 3); + if (g_strv_length (parts) != 3) + return FALSE; + if (!as_utils_is_platform_triplet_arch (parts[0])) + return FALSE; + if (!as_utils_is_platform_triplet_oskernel (parts[1])) + return FALSE; + if (!as_utils_is_platform_triplet_osenv (parts[2])) + return FALSE; + return TRUE; +} + +/** * as_utils_sort_components_into_categories: * @cpts: (element-type AsComponent): List of components. * @categories: (element-type AsCategory): List of categories to sort components into. @@ -1028,153 +1333,79 @@ } } -/** - * as_utils_compare_versions: - * - * Compare alpha and numeric segments of two versions. - * The version compare algorithm is also used by RPM. - * - * Returns: 1: a is newer than b - * 0: a and b are the same version - * -1: b is newer than a - */ -gint -as_utils_compare_versions (const gchar* a, const gchar *b) +static inline const gchar* +_as_fix_data_id_part (const gchar *tmp) { - /* easy comparison to see if versions are identical */ - if (g_strcmp0 (a, b) == 0) - return 0; - - if (a == NULL) - return -1; - if (b == NULL) - return 1; - - gchar oldch1, oldch2; - gchar abuf[strlen(a)+1], bbuf[strlen(b)+1]; - gchar *str1 = abuf, *str2 = bbuf; - gchar *one, *two; - int rc; - gboolean isnum; - - strcpy (str1, a); - strcpy (str2, b); - - one = str1; - two = str2; - - /* loop through each version segment of str1 and str2 and compare them */ - while (*one || *two) { - while (*one && !g_ascii_isalnum (*one) && *one != '~') one++; - while (*two && !g_ascii_isalnum (*two) && *two != '~') two++; - - /* handle the tilde separator, it sorts before everything else */ - if (*one == '~' || *two == '~') { - if (*one != '~') return 1; - if (*two != '~') return -1; - one++; - two++; - continue; - } - - /* If we ran to the end of either, we are finished with the loop */ - if (!(*one && *two)) break; - - str1 = one; - str2 = two; - - /* grab first completely alpha or completely numeric segment */ - /* leave one and two pointing to the start of the alpha or numeric */ - /* segment and walk str1 and str2 to end of segment */ - if (g_ascii_isdigit (*str1)) { - while (*str1 && g_ascii_isdigit (*str1)) str1++; - while (*str2 && g_ascii_isdigit (*str2)) str2++; - isnum = TRUE; - } else { - while (*str1 && g_ascii_isalpha (*str1)) str1++; - while (*str2 && g_ascii_isalpha (*str2)) str2++; - isnum = FALSE; - } - - /* save character at the end of the alpha or numeric segment */ - /* so that they can be restored after the comparison */ - oldch1 = *str1; - *str1 = '\0'; - oldch2 = *str2; - *str2 = '\0'; - - /* this cannot happen, as we previously tested to make sure that */ - /* the first string has a non-null segment */ - if (one == str1) return -1; /* arbitrary */ - - /* take care of the case where the two version segments are */ - /* different types: one numeric, the other alpha (i.e. empty) */ - /* numeric segments are always newer than alpha segments */ - if (two == str2) return (isnum ? 1 : -1); - - if (isnum) { - size_t onelen, twolen; - /* this used to be done by converting the digit segments */ - /* to ints using atoi() - it's changed because long */ - /* digit segments can overflow an int - this should fix that. */ - - /* throw away any leading zeros - it's a number, right? */ - while (*one == '0') one++; - while (*two == '0') two++; - - /* whichever number has more digits wins */ - onelen = strlen (one); - twolen = strlen (two); - if (onelen > twolen) return 1; - if (twolen > onelen) return -1; - } - - /* strcmp will return which one is greater - even if the two */ - /* segments are alpha or if they are numeric. don't return */ - /* if they are equal because there might be more segments to */ - /* compare */ - rc = strcmp (one, two); - if (rc) return (rc < 1 ? -1 : 1); - - /* restore character that was replaced by null above */ - *str1 = oldch1; - one = str1; - *str2 = oldch2; - two = str2; - } - - /* this catches the case where all numeric and alpha segments have */ - /* compared identically but the segment sepparating characters were */ - /* different */ - if ((!*one) && (!*two)) return 0; - - /* whichever version still has characters left over wins */ - if (!*one) return -1; else return 1; + if (tmp == NULL || tmp[0] == '\0') + return AS_DATA_ID_WILDCARD; + return tmp; } /** * as_utils_build_data_id: + * @scope: Scope of the metadata as #AsComponentScope e.g. %AS_COMPONENT_SCOPE_SYSTEM + * @bundle_kind: Bundling system providing this data, e.g. 'package' or 'flatpak' + * @origin: Origin string, e.g. 'os' or 'gnome-apps-nightly' + * @cid: AppStream component ID, e.g. 'org.freedesktop.appstream.cli' + * @branch: Branch, e.g. '3-20' or 'master' + * + * Builds an identifier string unique to the individual dataset using the supplied information. * - * Builds the unique metadata ID using the supplied information. + * Since: 0.14.0 */ gchar* as_utils_build_data_id (AsComponentScope scope, - const gchar *origin, AsBundleKind bundle_kind, - const gchar *cid) + const gchar *origin, + const gchar *cid, + const gchar *branch) { + const gchar *scope_str = NULL; + const gchar *bundle_str = NULL; + /* if we have a package in system scope, the origin is "os", as they share the same namespace * and we can not have multiple versions of the same software installed on the system. * The data ID is needed to deduplicate entries */ - if ((scope == AS_COMPONENT_SCOPE_SYSTEM) && (bundle_kind == AS_BUNDLE_KIND_PACKAGE)) + if (scope == AS_COMPONENT_SCOPE_SYSTEM && bundle_kind == AS_BUNDLE_KIND_PACKAGE) origin = "os"; + if (scope != AS_COMPONENT_SCOPE_UNKNOWN) + scope_str = as_component_scope_to_string (scope); + if (bundle_kind != AS_BUNDLE_KIND_UNKNOWN) + bundle_str = as_bundle_kind_to_string (bundle_kind); + /* build the data-id */ - return g_strdup_printf ("%s/%s/%s/%s", - as_component_scope_to_string (scope), - origin, - as_bundle_kind_to_string (bundle_kind), - cid); + return g_strdup_printf ("%s/%s/%s/%s/%s", + _as_fix_data_id_part (scope_str), + _as_fix_data_id_part (bundle_str), + _as_fix_data_id_part (origin), + _as_fix_data_id_part (cid), + _as_fix_data_id_part (branch)); +} + +/** + * as_utils_data_id_valid: + * @data_id: a component data ID + * + * Checks if a data ID is valid i.e. has the correct number of + * sections. + * + * Returns: %TRUE if the ID is valid + * + * Since: 0.14.0 + */ +gboolean +as_utils_data_id_valid (const gchar *data_id) +{ + guint i; + guint sections = 1; + if (data_id == NULL) + return FALSE; + for (i = 0; data_id[i] != '\0'; i++) { + if (data_id[i] == '/') + sections++; + } + return sections == AS_DATA_ID_PARTS_COUNT; } /** @@ -1188,12 +1419,149 @@ { g_auto(GStrv) parts = NULL; - parts = g_strsplit (data_id, "/", 4); - if (g_strv_length (parts) != 4) + parts = g_strsplit (data_id, "/", 5); + if (g_strv_length (parts) != 5) return NULL; return g_strdup (parts[3]); } +static inline guint +_as_utils_data_id_find_part (const gchar *str) +{ + guint i; + for (i = 0; str[i] != '/' && str[i] != '\0'; i++); + return i; +} + +static inline gboolean +_as_utils_data_id_is_wildcard_part (const gchar *str, guint len) +{ + return len == 1 && str[0] == '*'; +} + +/** + * as_utils_data_id_match: + * @data_id1: a data ID + * @data_id2: another data ID + * @match_flags: a #AsDataIdMatchFlags bitfield, e.g. %AS_DATA_ID_MATCH_FLAG_ID + * + * Checks two data IDs for equality allowing globs to match, whilst also + * allowing clients to whitelist sections that have to match. + * + * Returns: %TRUE if the IDs should be considered equal. + * + * Since: 0.14.0 + */ +gboolean +as_utils_data_id_match (const gchar *data_id1, + const gchar *data_id2, + AsDataIdMatchFlags match_flags) +{ + guint last1 = 0; + guint last2 = 0; + guint len1; + guint len2; + + /* trivial */ + if (data_id1 == data_id2) + return TRUE; + + /* invalid */ + if (!as_utils_data_id_valid (data_id1) || + !as_utils_data_id_valid (data_id2)) + return g_strcmp0 (data_id1, data_id2) == 0; + + /* look at each part */ + for (guint i = 0; i < AS_DATA_ID_PARTS_COUNT; i++) { + const gchar *tmp1 = data_id1 + last1; + const gchar *tmp2 = data_id2 + last2; + + /* find the slash or the end of the string */ + len1 = _as_utils_data_id_find_part (tmp1); + len2 = _as_utils_data_id_find_part (tmp2); + + /* either string was a wildcard */ + if (match_flags & (1 << i) && + !_as_utils_data_id_is_wildcard_part (tmp1, len1) && + !_as_utils_data_id_is_wildcard_part (tmp2, len2)) { + /* are substrings the same */ + if (len1 != len2) + return FALSE; + if (memcmp (tmp1, tmp2, len1) != 0) + return FALSE; + } + + /* advance to next section */ + last1 += len1 + 1; + last2 += len2 + 1; + } + return TRUE; +} + +/** + * as_utils_data_id_equal: + * @data_id1: a data ID + * @data_id2: another data ID + * + * Checks two component data IDs for equality allowing globs to match. + * + * Returns: %TRUE if the ID's should be considered equal. + * + * Since: 0.14.0 + */ +gboolean +as_utils_data_id_equal (const gchar *data_id1, const gchar *data_id2) +{ + return as_utils_data_id_match (data_id1, + data_id2, + AS_DATA_ID_MATCH_FLAG_SCOPE | + AS_DATA_ID_MATCH_FLAG_BUNDLE_KIND | + AS_DATA_ID_MATCH_FLAG_ORIGIN | + AS_DATA_ID_MATCH_FLAG_ID | + AS_DATA_ID_MATCH_FLAG_BRANCH); +} + +/** + * as_utils_data_id_hash: + * @data_id: a data ID + * + * Converts a data-id to a hash value. + * + * This function implements the widely used DJB hash on the ID subset of the + * data-id string. + * + * It can be passed to g_hash_table_new() as the hash_func parameter, + * when using non-NULL strings or unique_ids as keys in a GHashTable. + * + * Returns: a hash value corresponding to the key + * + * Since: 0.14.0 + */ +guint +as_utils_data_id_hash (const gchar *data_id) +{ + gsize i; + guint hash = 5381; + guint section_cnt = 0; + + /* not a unique ID */ + if (!as_utils_data_id_valid (data_id)) + return g_str_hash (data_id); + + /* only include the component-id */ + for (i = 0; data_id[i] != '\0'; i++) { + if (data_id[i] == '/') { + if (++section_cnt > 3) + break; + continue; + } + if (section_cnt < 3) + continue; + hash = (guint) ((hash << 5) + hash) + (guint) (data_id[i]); + } + return hash; +} + /** * as_utils_get_component_bundle_kind: * @@ -1203,11 +1571,13 @@ as_utils_get_component_bundle_kind (AsComponent *cpt) { GPtrArray *bundles; - AsBundleKind bundle_kind; + AsBundleKind bundle_kind = AS_BUNDLE_KIND_UNKNOWN; /* determine bundle - what should we do if there are multiple bundles of different types * defined for one component? */ - bundle_kind = AS_BUNDLE_KIND_PACKAGE; + if (as_component_has_package (cpt) || + as_component_get_kind (cpt) == AS_COMPONENT_KIND_OPERATING_SYSTEM) + bundle_kind = AS_BUNDLE_KIND_PACKAGE; bundles = as_component_get_bundles (cpt); if (bundles->len > 0) bundle_kind = as_bundle_get_kind (AS_BUNDLE (g_ptr_array_index (bundles, 0))); @@ -1232,9 +1602,10 @@ /* build the data-id */ return as_utils_build_data_id (as_component_get_scope (cpt), - as_component_get_origin (cpt), - bundle_kind, - as_component_get_id (cpt)); + bundle_kind, + as_component_get_origin (cpt), + as_component_get_id (cpt), + as_component_get_branch (cpt)); } /** @@ -1431,3 +1802,637 @@ return g_string_free (outstr, FALSE); #endif } + +/** + * as_strstripnl: + * @string: a string to remove surrounding whitespaces and newlines + * + * Removes newlines and whitespaces surrounding a string. + * + * This function doesn't allocate or reallocate any memory; + * it modifies @string in place. + * + * As opposed to g_strstrip() this function also removes newlines + * from the start and end of strings. + * + * Returns: @string + */ +gchar* +as_strstripnl (gchar *string) +{ + gsize len; + guchar *start; + if (string == NULL) + return NULL; + + /* remove trailing whitespaces/newlines */ + len = strlen (string); + while (len--) { + const guchar c = string[len]; + if (g_ascii_isspace (c) || (c == '\n')) + string[len] = '\0'; + else + break; + } + + /* remove leading whitespaces/newlines */ + for (start = (guchar*) string; + *start && (g_ascii_isspace (*start) || ((*start) == '\n')); + start++) + ; + + memmove (string, start, strlen ((gchar *) start) + 1); + return string; +} + +/** + * as_ref_string_release: + * @rstr: a #GRefString to release. + * + * This function works exactly like %g_ref_string_release, except + * that it does not throw an error if %NULL is passed to it. + */ +void +as_ref_string_release (GRefString *rstr) +{ + if (rstr == NULL) + return; + g_ref_string_release (rstr); +} + +/** + * as_ref_string_assign_safe: + * @rstr_ptr: (out): a #AsRefString + * @str: a string, or a #AsRefString + * + * This function unrefs and clears @rstr_ptr if set, then sets @rstr if + * non-NULL. If @rstr and @rstr_ptr are the same string the action is ignored. + * + * This function should be used when @str cannot be guaranteed to be a + * refcounted string and is suitable for use in existing object setters. + */ +void +as_ref_string_assign_safe (GRefString **rstr_ptr, const gchar *str) +{ + g_return_if_fail (rstr_ptr != NULL); + if (*rstr_ptr != NULL) { + g_ref_string_release (*rstr_ptr); + *rstr_ptr = NULL; + } + if (str != NULL) + *rstr_ptr = g_ref_string_new_intern (str); +} + +/** + * as_ref_string_assign_transfer: + * @rstr_ptr: (out): a #AsRefString + * @new_rstr: a #AsRefString + * + * Clear the previous refstring in @rstr_ptr and move the new string @new_rstr in its place, + * without increasing its reference count again. + */ +void +as_ref_string_assign_transfer (GRefString **rstr_ptr, GRefString *new_rstr) +{ + g_return_if_fail (rstr_ptr != NULL); + if (*rstr_ptr != NULL) { + g_ref_string_release (*rstr_ptr); + *rstr_ptr = NULL; + } + if (new_rstr != NULL) + *rstr_ptr = new_rstr; +} + +/** + * as_utils_extract_tarball: + * + * Internal helper function to extract a tarball with tar. + */ +gboolean +as_utils_extract_tarball (const gchar *filename, const gchar *target_dir, GError **error) +{ + g_autofree gchar *wdir = NULL; + gboolean ret; + gint exit_status; + const gchar *argv[] = { "/bin/tar", + "-xzf", + filename, + "-C", + target_dir, + NULL }; + + g_return_val_if_fail (filename != NULL, FALSE); + + if (!as_utils_is_writable (target_dir)) { + g_set_error_literal (error, + AS_UTILS_ERROR, + AS_UTILS_ERROR_FAILED, + "Can not extract tarball: target directory is not writable."); + return FALSE; + } + + wdir = g_path_get_dirname (filename); + if (g_strcmp0 (wdir, ".") == 0) + g_clear_pointer (&wdir, g_free); + + ret = g_spawn_sync (wdir, + (gchar**) argv, + NULL, /* envp */ + G_SPAWN_CLOEXEC_PIPES, + NULL, /* child_setup */ + NULL, /* child_setup udata */ + NULL, /* stdout */ + NULL, /* stderr */ + &exit_status, + error); + if (!ret) { + g_prefix_error (error, "Unable to run tar: "); + return FALSE; + } + if (exit_status == 0) + return TRUE; + + g_set_error (error, + AS_UTILS_ERROR, + AS_UTILS_ERROR_FAILED, + "Tarball extraction failed with 'tar' exit-code %i.", + exit_status); + return FALSE; +} + +/** + * as_metadata_location_get_prefix: + */ +static const gchar* +as_metadata_location_get_prefix (AsMetadataLocation location) +{ + if (location == AS_METADATA_LOCATION_SHARED) + return "/usr/share"; + if (location == AS_METADATA_LOCATION_CACHE) + return "/var/cache"; + if (location == AS_METADATA_LOCATION_STATE) + return "/var/lib"; + if (location == AS_METADATA_LOCATION_USER) + return g_get_user_data_dir (); + return NULL; +} + +/** + * as_utils_install_metadata_file_internal: + */ +static gboolean +as_utils_install_metadata_file_internal (const gchar *filename, + const gchar *origin, + const gchar *dir, + const gchar *destdir, + gboolean is_yaml, + GError **error) +{ + gchar *tmp; + g_autofree gchar *basename = NULL; + g_autofree gchar *path_dest = NULL; + g_autofree gchar *path_parent = NULL; + g_autoptr(GFile) file_dest = NULL; + g_autoptr(GFile) file_src = NULL; + + /* create directory structure */ + path_parent = g_strdup_printf ("%s%s", destdir, dir); + if (g_mkdir_with_parents (path_parent, 0755) != 0) { + g_set_error (error, + AS_UTILS_ERROR, + AS_UTILS_ERROR_FAILED, + "Failed to create %s", path_parent); + return FALSE; + } + + /* calculate the new destination */ + file_src = g_file_new_for_path (filename); + basename = g_path_get_basename (filename); + if (origin != NULL) { + g_autofree gchar *basename_new = NULL; + tmp = g_strstr_len (basename, -1, "."); + if (tmp == NULL) { + g_set_error (error, + AS_UTILS_ERROR, + AS_UTILS_ERROR_FAILED, + "Name of metadata collection file is invalid %s", + basename); + return FALSE; + } + basename_new = g_strdup_printf ("%s%s", origin, tmp); + /* replace the fedora.xml.gz into %{origin}.xml.gz */ + path_dest = g_build_filename (path_parent, basename_new, NULL); + } else { + path_dest = g_build_filename (path_parent, basename, NULL); + } + + /* actually copy file */ + file_dest = g_file_new_for_path (path_dest); + if (!g_file_copy (file_src, file_dest, + G_FILE_COPY_OVERWRITE, + NULL, NULL, NULL, error)) + return FALSE; + + /* update the origin for XML files */ + if (origin != NULL && !is_yaml) { + g_autoptr(AsMetadata) mdata = as_metadata_new (); + as_metadata_set_locale (mdata, "ALL"); + if (!as_metadata_parse_file (mdata, file_dest, AS_FORMAT_KIND_XML, error)) + return FALSE; + as_metadata_set_origin (mdata, origin); + if (!as_metadata_save_collection (mdata, path_dest, AS_FORMAT_KIND_XML, error)) + return FALSE; + } + + g_chmod (path_dest, 0755); + return TRUE; +} + +/** + * as_utils_install_icon_tarball: + */ +static gboolean +as_utils_install_icon_tarball (AsMetadataLocation location, + const gchar *filename, + const gchar *origin, + const gchar *size_id, + const gchar *destdir, + GError **error) +{ + g_autofree gchar *dir = NULL; + dir = g_strdup_printf ("%s%s/app-info/icons/%s/%s", + destdir, + as_metadata_location_get_prefix (location), + origin, + size_id); + if (g_mkdir_with_parents (dir, 0755) != 0) { + g_set_error (error, + AS_UTILS_ERROR, + AS_UTILS_ERROR_FAILED, + "Failed to create %s", dir); + return FALSE; + } + + if (!as_utils_extract_tarball (filename, dir, error)) + return FALSE; + return TRUE; +} + +/** + * as_utils_install_metadata_file: + * @location: the #AsMetadataLocation, e.g. %AS_METADATA_LOCATION_CACHE + * @filename: the full path of the file to install + * @origin: the origin to use for the installation, or %NULL + * @destdir: the destdir to use, or %NULL + * @error: A #GError or %NULL + * + * Installs an AppStream MetaInfo, AppStream Metadata Collection or AppStream Icon tarball file + * to the right place on the filesystem. + * Please note that this function does almost no validation and may guess missing values such + * as icon sizes and origin names. + * Ensure your metadata is good before installing it. + * + * Returns: %TRUE for success, %FALSE if error is set + * + * Since: 0.14.0 + **/ +gboolean +as_utils_install_metadata_file (AsMetadataLocation location, + const gchar *filename, + const gchar *origin, + const gchar *destdir, + GError **error) +{ + gboolean ret = FALSE; + g_autofree gchar *basename = NULL; + g_autofree gchar *path = NULL; + const gchar *icons_size_id = NULL; + const gchar *icons_size_ids[] = { "48x48", + "48x48@2", + "64x64", + "64x64@2", + "128x128", + "128x128@2", + NULL }; + + /* default value */ + if (destdir == NULL) + destdir = ""; + if (location == AS_METADATA_LOCATION_USER) + destdir = ""; + + switch (as_metadata_file_guess_style (filename)) { + case AS_FORMAT_STYLE_COLLECTION: + if (g_strstr_len (filename, -1, ".yml.gz") != NULL) { + path = g_build_filename (as_metadata_location_get_prefix (location), + "app-info", "yaml", NULL); + ret = as_utils_install_metadata_file_internal (filename, origin, path, destdir, TRUE, error); + } else { + path = g_build_filename (as_metadata_location_get_prefix (location), + "app-info", "xmls", NULL); + ret = as_utils_install_metadata_file_internal (filename, origin, path, destdir, FALSE, error); + } + break; + case AS_FORMAT_STYLE_METAINFO: + if (location == AS_METADATA_LOCATION_CACHE || location == AS_METADATA_LOCATION_STATE) { + g_set_error_literal (error, + AS_UTILS_ERROR, + AS_UTILS_ERROR_FAILED, + "System cache and state locations are unsupported for MetaInfo files"); + return FALSE; + } + path = g_build_filename (as_metadata_location_get_prefix (location), + "metainfo", NULL); + ret = as_utils_install_metadata_file_internal (filename, NULL, path, destdir, FALSE, error); + break; + default: + basename = g_path_get_basename (filename); + + if (g_str_has_suffix (basename, ".tar.gz")) { + gchar *tmp; + g_autofree gchar *tmp2 = NULL; + /* we may have an icon tarball */ + + /* guess icon size */ + for (guint i = 0; icons_size_ids[i] != NULL; i++) { + if (g_strstr_len (basename, -1, icons_size_ids[i]) != NULL) { + icons_size_id = icons_size_ids[i]; + break; + } + } + + if (icons_size_id == NULL) { + g_set_error_literal (error, + AS_UTILS_ERROR, + AS_UTILS_ERROR_FAILED, + "Unable to find valid icon size in icon tarball name."); + return FALSE; + } + + /* install icons if we know the origin name */ + if (origin != NULL) { + ret = as_utils_install_icon_tarball (location, filename, origin, icons_size_id, destdir, error); + break; + } + + /* guess origin */ + tmp2 = g_strdup_printf ("_icons-%s.tar.gz", icons_size_id); + tmp = g_strstr_len (basename, -1, tmp2); + if (tmp != NULL) { + *tmp = '\0'; + ret = as_utils_install_icon_tarball (location, filename, basename, icons_size_id, destdir, error); + break; + } + } + + /* unrecognised */ + g_set_error_literal (error, + AS_UTILS_ERROR, + AS_UTILS_ERROR_FAILED, + "Can not process files of this type."); + break; + } + + return ret; +} + +/** + * as_get_user_cache_dir: + * + * Obtain the user-specific data cache directory for AppStream. + * + * Since: 0.14.2 + */ +gchar* +as_get_user_cache_dir () +{ + const gchar *cache_root = g_get_user_cache_dir (); + if (cache_root == NULL) { + g_autoptr(GError) error = NULL; + gchar *tmp_dir = g_dir_make_tmp ("appstream-XXXXXX", &error); + if (tmp_dir == NULL) { + /* something went very wrong here, we could neither get a user cache dir, nor + * access to a temporary directory in /tmp */ + g_error ("Unable to create temporary cache directory: %s", error->message); + return NULL; + } + return tmp_dir; + } else { + gchar *cache_dir = g_build_filename (cache_root, "appstream", NULL); + g_mkdir_with_parents (cache_dir, 0755); + return cache_dir; + } +} + +/** + * as_unichar_accepted: + * + * Test if the unicode character is in the accepted set for + * string values in AppStream. + * + * We permit any printable, non-spacing, format or zero-width space characters, as + * well as enclosing marks and U+00AD SOFT HYPHEN + */ +gboolean +as_unichar_accepted (gunichar c) +{ + return g_unichar_isprint (c) || g_unichar_iszerowidth (c) || c == 173; +} + +/** + * as_random_alnum_string: + * @len: Length of the generated string. + * + * Create a random alphanumeric (only ASCII letters and numbers) + * string that can be used for tests and filenames. + * + * Returns: A random alphanumeric string. + */ +gchar* +as_random_alnum_string (gssize len) +{ + gchar *ret; + static char alnum_plain_chars[] = + "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + "abcdefghijklmnopqrstuvwxyz" + "1234567890"; + + ret = g_new0 (gchar, len + 1); + for (gssize i = 0; i < len; i++) + ret[i] = alnum_plain_chars[g_random_int_range(0, strlen (alnum_plain_chars))]; + + return ret; +} + +/** + * as_utils_find_stock_icon_filename_full: + * @root_dir: the directory to search in, including prefix. + * @icon_name: the stock icon search name, e.g. "microphone.svg" or "kate" + * @icon_size: the icon color, e.g. 64 or 128. If size is 0, the first found icon is returned. + * @icon_scale the icon scaling factor, 1 for non HiDPI displays + * @error: a #GError or %NULL + * + * Finds an icon filename in the filesystem that matches the given specifications. + * This function may return a bigger icon than requested, which is suitable to be scaled down + * to the actually requested size. + * If no icon with the right scale factor is found, %NULL is returned. + * + * This algorithm does not implement the full Freedesktop icon theme specification, + * instead is is designed to find 99% of all application icons quickly and + * efficiently. It is not explicitly designed to find non-application stock + * icons as well. + * It also deliberately does not support legacy icon search locations and formats. + * It will however work on incomplete directory trees with missing icon theme definition files, + * by using a heuristic to find the right icon. + * If you need more features, and have a complete icon theme definition installed, use the + * icon-finding functions provided by GTK+ and Qt instead. + * + * If @icon_name is an absolute path, it will be returned unconditionally, as long + * as the icon it references exists on the filesystem. + * + * Returns: (transfer full): a newly allocated %NULL terminated string + * + * Since: 0.14.5 + **/ +gchar* +as_utils_find_stock_icon_filename_full (const gchar *root_dir, + const gchar *icon_name, + guint icon_size, + guint icon_scale, + GError **error) +{ + guint min_size_idx = 0; + const gchar *supported_ext[] = { ".png", + ".svg", + ".svgz", + "", + NULL }; + const struct { + guint size; + const gchar *size_str; + } sizes[] = { + { 48, "48x48" }, + { 64, "64x64" }, + { 96, "96x96" }, + { 128, "128x128" }, + { 256, "256x256" }, + { 512, "512x512" }, + { 0, "scalable" }, + { 0, NULL } + }; + const gchar *types[] = { "actions", + "animations", + "apps", + "categories", + "devices", + "emblems", + "emotes", + "filesystems", + "intl", + "mimetypes", + "places", + "status", + "stock", + NULL }; + g_autofree gchar *prefix = NULL; + + g_return_val_if_fail (icon_name != NULL, NULL); + + /* fallbacks & sanitizations */ + if (root_dir == NULL) + root_dir = ""; + if (icon_scale <= 0) + icon_scale = 1; + if (icon_size > 512) + icon_size = 512; + + /* is this an absolute path */ + if (icon_name[0] == '/') { + g_autofree gchar *tmp = NULL; + tmp = g_build_filename (root_dir, icon_name, NULL); + if (!g_file_test (tmp, G_FILE_TEST_EXISTS)) { + g_set_error (error, + AS_UTILS_ERROR, + AS_UTILS_ERROR_FAILED, + "specified icon '%s' does not exist", + icon_name); + return NULL; + } + return g_strdup (tmp); + } + + /* detect prefix */ + prefix = g_build_filename (root_dir, "usr", NULL); + if (!g_file_test (prefix, G_FILE_TEST_EXISTS)) { + g_free (prefix); + prefix = g_strdup (root_dir); + } + if (!g_file_test (prefix, G_FILE_TEST_EXISTS)) { + g_set_error (error, + AS_UTILS_ERROR, + AS_UTILS_ERROR_FAILED, + "Failed to find icon '%s' in %s", icon_name, prefix); + return NULL; + } + + /* select minimum size */ + for (guint i = 0; sizes[i].size_str != NULL; i++) { + if (sizes[i].size >= icon_size) { + min_size_idx = i; + break; + } + } + + /* hicolor icon theme search */ + for (guint i = min_size_idx; sizes[i].size_str != NULL; i++) { + g_autofree gchar *size = NULL; + if (icon_scale == 1) + size = g_strdup (sizes[i].size_str); + else + size = g_strdup_printf ("%s@%i", sizes[i].size_str, icon_scale); + for (guint m = 0; types[m] != NULL; m++) { + for (guint j = 0; supported_ext[j] != NULL; j++) { + g_autofree gchar *tmp = NULL; + tmp = g_strdup_printf ("%s/share/icons/" + "hicolor/%s/%s/%s%s", + prefix, + size, + types[m], + icon_name, + supported_ext[j]); + if (g_file_test (tmp, G_FILE_TEST_EXISTS)) + return g_strdup (tmp); + } + } + } + + /* breeze icon theme search, for KDE Plasma compatibility */ + for (guint i = min_size_idx; sizes[i].size_str != NULL; i++) { + g_autofree gchar *size = NULL; + if (icon_scale == 1) + size = g_strdup (sizes[i].size_str); + else + size = g_strdup_printf ("%s@%i", sizes[i].size_str, icon_scale); + for (guint m = 0; types[m] != NULL; m++) { + for (guint j = 0; supported_ext[j] != NULL; j++) { + g_autofree gchar *tmp = NULL; + tmp = g_strdup_printf ("%s/share/icons/" + "breeze/%s/%s/%s%s", + prefix, + types[m], + size, + icon_name, + supported_ext[j]); + if (g_file_test (tmp, G_FILE_TEST_EXISTS)) + return g_strdup (tmp); + } + } + } + + /* failed */ + g_set_error (error, + AS_UTILS_ERROR, + AS_UTILS_ERROR_FAILED, + "Failed to find icon %s", icon_name); + return NULL; +} diff -Nru appstream-0.12.10/src/as-utils.h appstream-0.14.5/src/as-utils.h --- appstream-0.12.10/src/as-utils.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-utils.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2012-2020 Matthias Klumpp + * Copyright (C) 2012-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -26,26 +26,117 @@ #define __AS_UTILS_H #include +#include "as-component.h" G_BEGIN_DECLS -gchar *as_markup_convert_simple (const gchar *markup, - GError **error); +/** + * AsUtilsError: + * @AS_UTILS_ERROR_FAILED: Generic failure + * + * The error type. + **/ +typedef enum { + AS_UTILS_ERROR_FAILED, + /*< private >*/ + AS_UTILS_ERROR_LAST +} AsUtilsError; + +#define AS_UTILS_ERROR as_utils_error_quark () + +/** + * AsDataIdMatchFlags: + * @AS_DATA_ID_MATCH_FLAG_NONE: No flags set + * @AS_DATA_ID_MATCH_FLAG_SCOPE: Scope, e.g. a #AsComponentScope + * @AS_DATA_ID_MATCH_FLAG_BUNDLE_KIND: Bundle kind, e.g. a #AsBundleKind + * @AS_DATA_ID_MATCH_FLAG_ORIGIN: Origin + * @AS_DATA_ID_MATCH_FLAG_ID: Component AppStream ID + * @AS_DATA_ID_MATCH_FLAG_BRANCH: Branch + * + * The flags used when matching unique IDs. + **/ +typedef enum { + AS_DATA_ID_MATCH_FLAG_NONE = 0, + AS_DATA_ID_MATCH_FLAG_SCOPE = 1 << 0, + AS_DATA_ID_MATCH_FLAG_BUNDLE_KIND = 1 << 1, + AS_DATA_ID_MATCH_FLAG_ORIGIN = 1 << 2, + AS_DATA_ID_MATCH_FLAG_ID = 1 << 3, + AS_DATA_ID_MATCH_FLAG_BRANCH = 1 << 4, + /*< private >*/ + AS_DATA_ID_MATCH_FLAG_LAST +} AsDataIdMatchFlags; + +/** + * AsMetadataLocation: + * @AS_METADATA_LOCATION_SHARED: Installed by the vendor, shared + * @AS_METADATA_LOCATION_STATE: Installed as metadata into /var/lib, shared + * @AS_METADATA_LOCATION_CACHE: Installed as metadata into /var/cache, shared + * @AS_METADATA_LOCATION_USER: Installed for the current user + * + * The flags used when installing and removing metadata files. + **/ +typedef enum { + AS_METADATA_LOCATION_SHARED, + AS_METADATA_LOCATION_STATE, + AS_METADATA_LOCATION_CACHE, + AS_METADATA_LOCATION_USER, + /*< private >*/ + AS_METADATA_LOCATION_LAST +} AsMetadataLocation; + +GQuark as_utils_error_quark (void); + +gchar **as_markup_strsplit_words (const gchar *text, + guint line_len); +gchar *as_markup_convert_simple (const gchar *markup, + GError **error); + +gboolean as_utils_locale_is_compatible (const gchar *locale1, + const gchar *locale2); +gboolean as_utils_is_category_name (const gchar *category_name); +gboolean as_utils_is_tld (const gchar *tld); +gboolean as_utils_is_desktop_environment (const gchar *desktop); + +void as_utils_sort_components_into_categories (GPtrArray *cpts, + GPtrArray *categories, + gboolean check_duplicates); + +gchar *as_utils_build_data_id (AsComponentScope scope, + AsBundleKind bundle_kind, + const gchar *origin, + const gchar *cid, + const gchar *branch); +gboolean as_utils_data_id_valid (const gchar *data_id); +gchar *as_utils_data_id_get_cid (const gchar *data_id); + +gboolean as_utils_data_id_match (const gchar *data_id1, + const gchar *data_id2, + AsDataIdMatchFlags match_flags); +gboolean as_utils_data_id_equal (const gchar *data_id1, + const gchar *data_id2); +guint as_utils_data_id_hash (const gchar *data_id); + +guint as_gstring_replace (GString *string, + const gchar *find, + const gchar *replace); +guint as_gstring_replace2 (GString *string, + const gchar *find, + const gchar *replace, + guint limit); + +gboolean as_utils_is_platform_triplet (const gchar *triplet); + +gboolean as_utils_install_metadata_file (AsMetadataLocation location, + const gchar *filename, + const gchar *origin, + const gchar *destdir, + GError **error); -gboolean as_utils_locale_is_compatible (const gchar *locale1, - const gchar *locale2); -gboolean as_utils_is_category_name (const gchar *category_name); -gboolean as_utils_is_tld (const gchar *tld); -gboolean as_utils_is_desktop_environment (const gchar *desktop); - -void as_utils_sort_components_into_categories (GPtrArray *cpts, - GPtrArray *categories, - gboolean check_duplicates); -gint as_utils_compare_versions (const gchar* a, - const gchar *b); +/* DEPRECATED */ -const gchar *as_get_appstream_version (void); +G_DEPRECATED_FOR(as_version_string) +const gchar *as_get_appstream_version (void); G_END_DECLS diff -Nru appstream-0.12.10/src/as-utils-private.h appstream-0.14.5/src/as-utils-private.h --- appstream-0.12.10/src/as-utils-private.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-utils-private.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2012-2020 Matthias Klumpp + * Copyright (C) 2012-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -24,11 +24,53 @@ #include #include "as-settings-private.h" #include "as-utils.h" -#include "as-component.h" G_BEGIN_DECLS #pragma GCC visibility push(hidden) +/* component data-ID constants */ +#define AS_DATA_ID_WILDCARD "*" +#define AS_DATA_ID_PARTS_COUNT 5 + + +/** + * as_assign_string_safe: + * @target: target variable variable to assign string to + * @new_val: the value to set the target variable to + * + * Assigns @new_val to @target, freeing the previous content of + * @target, unless both variables have been identical. + * + * This is useful in setter functions for class members, to ensure + * we do not accidentally free a memory region that is still in use. + */ +#define as_assign_string_safe(target, new_val) \ + G_STMT_START { \ + if (G_LIKELY ((target) != (new_val))) { \ + g_free (target); \ + target = g_strdup (new_val); \ + } \ + } G_STMT_END + +/** + * as_assign_ptr_array_safe: + * @target: target variable variable to assign #GPtrArray to + * @new_ptrarray: the value to set the target variable to + * + * Assigns @new_ptrarray to @target, decreasing the reference count of + * @target, unless both variables are already identical. + * + * This is useful in setter functions for class members, to ensure + * we do not accidentally free a memory region that is still in use. + */ +#define as_assign_ptr_array_safe(target, new_ptrarray) \ + G_STMT_START { \ + if (G_LIKELY ((target) != (new_ptrarray))) { \ + g_ptr_array_unref (target); \ + target = g_ptr_array_ref (new_ptrarray); \ + } \ + } G_STMT_END + /** * AsMarkupKind: * @AS_MARKUP_KIND_UNKNOWN: Unknown markup. @@ -55,7 +97,8 @@ gchar *as_get_current_locale (void); -gboolean as_str_empty (const gchar* str); +AS_INTERNAL_VISIBLE +gboolean as_is_empty (const gchar *str); GDateTime *as_iso8601_to_datetime (const gchar *iso_date); gboolean as_utils_delete_dir_recursive (const gchar* dirname); @@ -75,12 +118,11 @@ AS_INTERNAL_VISIBLE gboolean as_utils_is_writable (const gchar *path); -guint as_gstring_replace (GString *string, - const gchar *search, - const gchar *replace); +AS_INTERNAL_VISIBLE gchar *as_str_replace (const gchar *str, const gchar *old_str, - const gchar *new_str); + const gchar *new_str, + guint limit); gchar **as_ptr_array_to_strv (GPtrArray *array); const gchar *as_ptr_array_find_string (GPtrArray *array, @@ -95,7 +137,10 @@ gboolean as_copy_file (const gchar *source, const gchar *destination, GError **error); gboolean as_is_cruft_locale (const gchar *locale); -gchar *as_locale_strip_encoding (gchar *locale); + +AS_INTERNAL_VISIBLE +gchar *as_locale_strip_encoding (const gchar *locale); + gchar *as_utils_locale_to_language (const gchar *locale); gchar *as_get_current_arch (void); @@ -104,11 +149,6 @@ gboolean as_utils_search_token_valid (const gchar *token); -gchar *as_utils_build_data_id (AsComponentScope scope, - const gchar *origin, - AsBundleKind bundle_kind, - const gchar *cid); -gchar *as_utils_data_id_get_cid (const gchar *data_id); AsBundleKind as_utils_get_component_bundle_kind (AsComponent *cpt); gchar *as_utils_build_data_id_for_cpt (AsComponent *cpt); @@ -130,6 +170,41 @@ gchar *as_date_time_format_iso8601 (GDateTime *datetime); +AS_INTERNAL_VISIBLE +gchar *as_strstripnl (gchar *string); + +AS_INTERNAL_VISIBLE +void as_ref_string_release (GRefString *rstr); +AS_INTERNAL_VISIBLE +void as_ref_string_assign_safe (GRefString **rstr_ptr, + const gchar *str); + +void as_ref_string_assign_transfer (GRefString **rstr_ptr, + GRefString *new_rstr); + +gboolean as_utils_extract_tarball (const gchar *filename, + const gchar *target_dir, + GError **error); + +gboolean as_utils_is_platform_triplet_arch (const gchar *arch); +gboolean as_utils_is_platform_triplet_oskernel (const gchar *os); +gboolean as_utils_is_platform_triplet_osenv (const gchar *env); + +gchar *as_get_user_cache_dir (); + +gboolean as_unichar_accepted (gunichar c); + +gchar *as_sanitize_text_spaces (const gchar *text); + +AS_INTERNAL_VISIBLE +gchar *as_random_alnum_string (gssize len); + +gchar *as_utils_find_stock_icon_filename_full (const gchar *root_dir, + const gchar *icon_name, + guint icon_size, + guint icon_scale, + GError **error); + #pragma GCC visibility pop G_END_DECLS diff -Nru appstream-0.12.10/src/as-validator.c appstream-0.14.5/src/as-validator.c --- appstream-0.12.10/src/as-validator.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-validator.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2014-2020 Matthias Klumpp + * Copyright (C) 2014-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -36,15 +36,14 @@ #include #include -#include -#include - #include "as-validator.h" #include "as-validator-issue.h" #include "as-validator-issue-tag.h" #include "as-utils.h" #include "as-utils-private.h" +#include "as-curl.h" +#include "as-vercmp.h" #include "as-spdx.h" #include "as-component.h" #include "as-component-private.h" @@ -61,7 +60,7 @@ gchar *current_fname; gboolean check_urls; - SoupSession *soup_session; + AsCurl *acurl; } AsValidatorPrivate; G_DEFINE_TYPE_WITH_PRIVATE (AsValidator, as_validator, G_TYPE_OBJECT) @@ -98,7 +97,6 @@ g_str_equal, g_free, (GDestroyNotify) g_ptr_array_unref); - priv->soup_session = NULL; priv->current_fname = NULL; priv->current_cpt = NULL; priv->check_urls = FALSE; @@ -122,8 +120,8 @@ if (priv->current_cpt != NULL) g_object_unref (priv->current_cpt); - if (priv->soup_session != NULL) - g_object_unref (priv->soup_session); + if (priv->acurl != NULL) + g_object_unref (priv->acurl); G_OBJECT_CLASS (as_validator_parent_class)->finalize (object); } @@ -158,9 +156,11 @@ explanation = tag_data->explanation; } - va_start (args, format); - buffer = g_strdup_vprintf (format, args); - va_end (args); + if (format != NULL) { + va_start (args, format); + buffer = g_strdup_vprintf (format, args); + va_end (args); + } issue = as_validator_issue_new (); as_validator_issue_set_tag (issue, tag_final); @@ -265,48 +265,65 @@ } /** + * as_validator_check_success: + * + * Check if, according to the current recorded issues, the last validated data was valid. + */ +static gboolean +as_validator_check_success (AsValidator *validator) +{ + AsValidatorPrivate *priv = GET_PRIVATE (validator); + GHashTableIter iter; + gpointer value; + + g_hash_table_iter_init (&iter, priv->issues); + while (g_hash_table_iter_next (&iter, NULL, &value)) { + AsIssueSeverity severity; + AsValidatorIssue *issue = AS_VALIDATOR_ISSUE (value); + severity = as_validator_issue_get_severity (issue); + if (severity == AS_ISSUE_SEVERITY_ERROR || severity == AS_ISSUE_SEVERITY_WARNING) + return FALSE; + } + + return TRUE; +} + +/** * as_validator_setup_networking: */ static gboolean as_validator_setup_networking (AsValidator *validator) { AsValidatorPrivate *priv = GET_PRIVATE (validator); + g_autoptr(GError) tmp_error = NULL; /* check if we are already initialized */ - if (priv->soup_session != NULL) + if (priv->acurl != NULL) return TRUE; /* don't initialize if no URLs should be checked */ if (!priv->check_urls) return TRUE; - priv->soup_session = soup_session_new_with_options (SOUP_SESSION_USER_AGENT, - "appstream-validator", - SOUP_SESSION_TIMEOUT, - 5000, - NULL); - if (priv->soup_session == NULL) { - g_critical ("Failed to set up networking support"); + priv->acurl = as_curl_new (&tmp_error); + if (priv->acurl == NULL) { + g_critical ("Failed to set up networking support: %s", tmp_error->message); return FALSE; } - soup_session_add_feature_by_type (priv->soup_session, - SOUP_TYPE_PROXY_RESOLVER_DEFAULT); return TRUE; } /** - * as_validator_validate_web_url: + * as_validator_check_web_url: * * Check if an URL is valid and is reachable, creating a new * issue tag of value @tag in case of errors. */ static gboolean -as_validator_validate_web_url (AsValidator *validator, xmlNode *node, const gchar *url, const gchar *tag) +as_validator_check_web_url (AsValidator *validator, xmlNode *node, const gchar *url, const gchar *tag) { AsValidatorPrivate *priv = GET_PRIVATE (validator); - guint status_code; - g_autoptr(SoupMessage) msg = NULL; - g_autoptr(SoupURI) base_uri = NULL; + g_autoptr(GError) tmp_error = NULL; /* we don't check mailto URLs */ if (g_str_has_prefix (url, "mailto:")) @@ -320,52 +337,30 @@ return FALSE; } - /* do nothing and assume the URL exists if we shouldn't check URLs */ - if (!priv->check_urls) - return TRUE; - - g_debug ("Checking URL: %s\n", url); - base_uri = soup_uri_new (url); - if (!SOUP_URI_VALID_FOR_HTTP (base_uri)) { + if (!as_curl_is_url (url)) { as_validator_add_issue (validator, node, tag, "%s - %s", url, _("URL format is invalid.")); return FALSE; } - msg = soup_message_new_from_uri (SOUP_METHOD_GET, base_uri); - if (msg == NULL) { - g_warning ("Failed to setup HTTP GET message for URL."); - return FALSE; - } - /* try to download the file */ - status_code = soup_session_send_message (priv->soup_session, msg); - if (SOUP_STATUS_IS_TRANSPORT_ERROR (status_code)) { - as_validator_add_issue (validator, node, tag, - "%s - %s", - url, - soup_status_get_phrase (status_code)); - return FALSE; - } else if (status_code != SOUP_STATUS_OK) { - as_validator_add_issue (validator, node, tag, - "%s - HTTP %d: %s", - url, - status_code, soup_status_get_phrase(status_code)); - return FALSE; - } + /* do nothing and assume the URL exists if we shouldn't check URLs */ + if (!priv->check_urls) + return TRUE; - /* check if it's a zero sized file */ - if (msg->response_body->length == 0) { + g_debug ("Checking URL availability: %s\n", url); + + /* try to download first few bytes of the file, get error if that fails */ + if (!as_curl_check_url_exists (priv->acurl, url, &tmp_error)) { as_validator_add_issue (validator, node, tag, "%s - %s", url, - /* TRANSLATORS: We tried to download from an URL, but the retrieved data was empty */ - _("Retrieved file size was zero.")); + tmp_error->message); return FALSE; } - /* we we din't get a zero-length file, we just assume everything is fine here */ + /* if we we din't get a zero-length file, we just assume everything is fine here */ return TRUE; } @@ -407,7 +402,7 @@ { gchar *prop; gchar *content; - prop = (gchar*) xmlGetProp (node, (xmlChar*) "type"); + prop = as_xml_get_prop_value (node, "type"); content = (gchar*) xmlNodeGetContent (node); if (prop == NULL) { as_validator_add_issue (validator, node, @@ -429,13 +424,8 @@ { g_autofree gchar *node_content = NULL; - node_content = (gchar*) xmlNodeGetContent (node); - g_strstrip (node_content); - if (!as_str_empty (node_content)) - return; - - /* release tags are allowed to be empty */ - if (g_str_has_prefix (tag_path, "release")) + node_content = as_strstripnl ((gchar*) xmlNodeGetContent (node)); + if (!as_is_empty (node_content)) return; as_validator_add_issue (validator, node, @@ -451,14 +441,22 @@ static gboolean as_validate_has_hyperlink (const gchar *text) { + gchar *tmp; if (text == NULL) return FALSE; - if (g_strstr_len (text, -1, "http://") != NULL) + + tmp = g_strstr_len (text, -1, "https://"); + if ((tmp != NULL) && (!g_str_has_prefix (tmp + 8, " "))) return TRUE; - if (g_strstr_len (text, -1, "https://") != NULL) + + tmp = g_strstr_len (text, -1, "http://"); + if ((tmp != NULL) && (!g_str_has_prefix (tmp + 7, " "))) return TRUE; - if (g_strstr_len (text, -1, "ftp://") != NULL) + + tmp = g_strstr_len (text, -1, "ftp://"); + if ((tmp != NULL) && (!g_str_has_prefix (tmp + 6, " "))) return TRUE; + return FALSE; } @@ -503,9 +501,7 @@ static void as_validator_check_children_quick (AsValidator *validator, xmlNode *node, const gchar *allowed_tagname, gboolean allow_empty) { - xmlNode *iter; - - for (iter = node->children; iter != NULL; iter = iter->next) { + for (xmlNode *iter = node->children; iter != NULL; iter = iter->next) { const gchar *node_name; /* discard spaces */ if (iter->type != XML_ELEMENT_NODE) @@ -538,7 +534,7 @@ { g_autofree gchar *lang = NULL; - lang = (gchar*) xmlGetProp (node, (xmlChar*) "lang"); + lang = as_xml_get_prop_value (node, "lang"); if (lang != NULL) { as_validator_add_issue (validator, node, @@ -553,9 +549,7 @@ static void as_validator_check_description_paragraph (AsValidator *validator, xmlNode *node) { - xmlNode *iter; - - for (iter = node->children; iter != NULL; iter = iter->next) { + for (xmlNode *iter = node->children; iter != NULL; iter = iter->next) { const gchar *node_name; /* discard spaces */ if (iter->type != XML_ELEMENT_NODE) @@ -578,9 +572,7 @@ static void as_validator_check_description_enumeration (AsValidator *validator, xmlNode *node) { - xmlNode *iter; - - for (iter = node->children; iter != NULL; iter = iter->next) { + for (xmlNode *iter = node->children; iter != NULL; iter = iter->next) { const gchar *node_name; /* discard spaces */ if (iter->type != XML_ELEMENT_NODE) @@ -608,7 +600,6 @@ static void as_validator_check_description_tag (AsValidator *validator, xmlNode* node, AsFormatStyle mode, gboolean main_description) { - xmlNode *iter; gboolean first_paragraph = TRUE; if (mode == AS_FORMAT_STYLE_METAINFO) { @@ -618,7 +609,7 @@ (const gchar*) node->name); } - for (iter = node->children; iter != NULL; iter = iter->next) { + for (xmlNode *iter = node->children; iter != NULL; iter = iter->next) { const gchar *node_name = (gchar*) iter->name; g_autofree gchar *node_content = (gchar*) xmlNodeGetContent (iter); @@ -640,6 +631,8 @@ "description/p"); } if (main_description) { + if (node_content != NULL) + g_strstrip (node_content); if ((first_paragraph) && (strlen (node_content) < 80)) { as_validator_add_issue (validator, iter, "description-first-para-too-short", @@ -691,7 +684,7 @@ /* generate tag-id to make a unique identifier for localized and unlocalized tags */ node_name = (const gchar*) node->name; - lang = (gchar*) xmlGetProp (node, (xmlChar*) "lang"); + lang = as_xml_get_prop_value (node, "lang"); if (lang == NULL) tag_id = g_strdup (node_name); else @@ -756,6 +749,9 @@ hyphen_found = TRUE; as_validator_add_issue (validator, idnode, "cid-contains-hyphen", cid); } + + if (g_ascii_isalpha (cid[i]) && g_ascii_isupper (cid[i])) + as_validator_add_issue (validator, idnode, "cid-contains-uppercase-letter", cid); } /* check if any segment starts with a number */ @@ -871,7 +867,7 @@ requires_all_tokens = TRUE; continue; } - if (as_license_is_metadata_license (tokens[i])) { + if (as_license_is_metadata_license_id (tokens[i])) { license_good_cnt++; } else { license_bad_cnt++; @@ -919,8 +915,7 @@ static void as_validator_check_screenshots (AsValidator *validator, xmlNode *node, AsComponent *cpt) { - xmlNode *iter; - for (iter = node->children; iter != NULL; iter = iter->next) { + for (xmlNode *iter = node->children; iter != NULL; iter = iter->next) { xmlNode *iter2; gboolean image_found = FALSE; gboolean video_found = FALSE; @@ -931,7 +926,7 @@ if (iter->type != XML_ELEMENT_NODE) continue; - scr_kind_str = (gchar*) xmlGetProp (iter, (xmlChar*) "type"); + scr_kind_str = as_xml_get_prop_value (iter, "type"); if (g_strcmp0 (scr_kind_str, "default") == 0) default_screenshot = TRUE; @@ -940,8 +935,8 @@ "invalid-child-tag-name", /* TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. */ _("Found: %s - Allowed: %s"), - (const gchar*) iter->name), - "screenshot"; + (const gchar*) iter->name, + "screenshot"); } for (iter2 = iter->children; iter2 != NULL; iter2 = iter2->next) { @@ -950,11 +945,15 @@ continue; if (g_strcmp0 (node_name, "image") == 0) { - g_autofree gchar *image_url = (gchar*) xmlNodeGetContent (iter2); - g_strstrip (image_url); + g_autofree gchar *image_url = as_strstripnl ((gchar*) xmlNodeGetContent (iter2)); image_found = TRUE; - + if (!as_validate_is_url (image_url)) { + as_validator_add_issue (validator, iter2, + "web-url-expected", + image_url); + continue; + } if (!as_validate_is_secure_url (image_url)) { as_validator_add_issue (validator, iter2, "screenshot-media-url-not-secure", @@ -962,17 +961,16 @@ } /* check if we can reach the URL */ - as_validator_validate_web_url (validator, - iter2, - image_url, - "screenshot-image-not-found"); + as_validator_check_web_url (validator, + iter2, + image_url, + "screenshot-image-not-found"); } else if (g_strcmp0 (node_name, "video") == 0) { g_autofree gchar *codec_str = NULL; g_autofree gchar *container_str = NULL; g_autofree gchar *video_url_basename = NULL; g_autofree gchar *video_url_base_lower = NULL; - g_autofree gchar *video_url = (gchar*) xmlNodeGetContent (iter2); - g_strstrip (video_url); + g_autofree gchar *video_url = as_strstripnl ((gchar*) xmlNodeGetContent (iter2)); video_found = TRUE; @@ -980,18 +978,24 @@ if (default_screenshot) as_validator_add_issue (validator, iter, "screenshot-default-contains-video", NULL); - as_validator_validate_web_url (validator, - iter2, - video_url, - "screenshot-video-not-found"); + as_validator_check_web_url (validator, + iter2, + video_url, + "screenshot-video-not-found"); + if (!as_validate_is_url (video_url)) { + as_validator_add_issue (validator, iter2, + "web-url-expected", + video_url); + continue; + } if (!as_validate_is_secure_url (video_url)) { as_validator_add_issue (validator, iter2, "screenshot-media-url-not-secure", video_url); } - codec_str = (gchar*) xmlGetProp (iter2, (xmlChar*) "codec"); + codec_str = as_xml_get_prop_value (iter2, "codec"); if (codec_str == NULL) { as_validator_add_issue (validator, iter2, "screenshot-video-codec-missing", NULL); } else { @@ -1000,7 +1004,7 @@ as_validator_add_issue (validator, iter2, "screenshot-video-codec-invalid", codec_str); } - container_str = (gchar*) xmlGetProp (iter2, (xmlChar*) "container"); + container_str = as_xml_get_prop_value (iter2, "container"); if (container_str == NULL) { as_validator_add_issue (validator, iter2, "screenshot-video-container-missing", NULL); } else { @@ -1025,8 +1029,8 @@ "invalid-child-tag-name", /* TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. */ _("Found: %s - Allowed: %s"), - (const gchar*) iter2->name), - "caption; image; video"; + (const gchar*) iter2->name, + "caption; image; video"); } } @@ -1046,21 +1050,22 @@ static void as_validator_check_requires_recommends (AsValidator *validator, xmlNode *node, AsComponent *cpt, AsRelationKind kind) { - xmlNode *iter; - - for (iter = node->children; iter != NULL; iter = iter->next) { + for (xmlNode *iter = node->children; iter != NULL; iter = iter->next) { const gchar *node_name; g_autofree gchar *content = NULL; g_autofree gchar *version = NULL; - gboolean can_have_version; + g_autofree gchar *compare_str = NULL; + gboolean can_have_version = FALSE; + gboolean can_have_compare = FALSE; AsRelationItemKind item_kind; + AsRelationCompare compare; /* discard spaces */ if (iter->type != XML_ELEMENT_NODE) continue; node_name = (const gchar*) iter->name; content = as_xml_get_node_value (iter); - g_strstrip (content); + as_strstripnl (content); item_kind = as_relation_item_kind_from_string (node_name); if (item_kind == AS_RELATION_ITEM_KIND_UNKNOWN) { @@ -1088,19 +1093,25 @@ } switch (item_kind) { - case AS_RELATION_ITEM_KIND_MEMORY: case AS_RELATION_ITEM_KIND_MODALIAS: + case AS_RELATION_ITEM_KIND_CONTROL: + can_have_version = FALSE; + can_have_compare = FALSE; + break; + case AS_RELATION_ITEM_KIND_MEMORY: + case AS_RELATION_ITEM_KIND_DISPLAY_LENGTH: can_have_version = FALSE; + can_have_compare = TRUE; break; default: can_have_version = TRUE; + can_have_compare = TRUE; } - version = (gchar*) xmlGetProp (iter, (xmlChar*) "version"); + version = as_xml_get_prop_value (iter, "version"); + compare_str = as_xml_get_prop_value (iter, "compare"); + compare = as_relation_compare_from_string (compare_str); if (version != NULL) { - AsRelationCompare compare; - g_autofree gchar *compare_str = (gchar*) xmlGetProp (iter, (xmlChar*) "compare"); - if (!can_have_version) { as_validator_add_issue (validator, iter, "relation-item-has-version", @@ -1112,17 +1123,44 @@ as_validator_add_issue (validator, iter, "relation-item-missing-compare", NULL); continue; } + } - compare = as_relation_compare_from_string (compare_str); - if (compare == AS_RELATION_COMPARE_UNKNOWN) { - as_validator_add_issue (validator, iter, - "relation-item-invalid-vercmp", - compare_str); - } + if (can_have_compare && compare == AS_RELATION_COMPARE_UNKNOWN) { + as_validator_add_issue (validator, iter, + "relation-item-invalid-vercmp", + compare_str); + } else if (!can_have_compare && compare_str != NULL) { + as_validator_add_issue (validator, iter, + "relation-item-has-vercmp", + compare_str); } - if ((kind == AS_RELATION_KIND_REQUIRES) && (item_kind == AS_RELATION_ITEM_KIND_MEMORY)) - as_validator_add_issue (validator, iter, "relation-memory-in-requires", NULL); + if (kind == AS_RELATION_KIND_REQUIRES) { + if (item_kind == AS_RELATION_ITEM_KIND_MEMORY) + as_validator_add_issue (validator, iter, "relation-memory-in-requires", NULL); + else if (item_kind == AS_RELATION_ITEM_KIND_CONTROL) + as_validator_add_issue (validator, iter, "relation-control-in-requires", NULL); + } + + /* check input control names for sanity */ + if (item_kind == AS_RELATION_ITEM_KIND_CONTROL) { + if (as_control_kind_from_string (content) == AS_CONTROL_KIND_UNKNOWN) + as_validator_add_issue (validator, iter, "relation-control-value-invalid", content); + } + + /* check display length for sanity */ + if (item_kind == AS_RELATION_ITEM_KIND_DISPLAY_LENGTH) { + g_autofree gchar *side_str = NULL; + if (as_display_length_kind_from_string (content) == AS_DISPLAY_LENGTH_KIND_UNKNOWN) { + /* no text name, but we still may have an integer */ + if (g_ascii_strtoll (content, NULL, 10) == 0) + as_validator_add_issue (validator, iter, "relation-display-length-value-invalid", content); + } + + side_str = as_xml_get_prop_value (iter, "side"); + if (as_display_side_kind_from_string (side_str) == AS_DISPLAY_SIDE_KIND_UNKNOWN) + as_validator_add_issue (validator, iter, "relation-display-length-side-property-invalid", side_str); + } } } @@ -1132,9 +1170,7 @@ static void as_validator_check_provides (AsValidator *validator, xmlNode *node, AsComponent *cpt) { - xmlNode *iter; - - for (iter = node->children; iter != NULL; iter = iter->next) { + for (xmlNode *iter = node->children; iter != NULL; iter = iter->next) { const gchar *node_name; g_autofree gchar *node_content = NULL; if (iter->type != XML_ELEMENT_NODE) @@ -1142,7 +1178,7 @@ node_name = (const gchar*) iter->name; node_content = as_xml_get_node_value (iter); g_strstrip (node_content); - if (as_str_empty (node_content)) { + if (as_is_empty (node_content)) { as_validator_add_issue (validator, iter, "tag-empty", "%s", node_name); @@ -1184,27 +1220,179 @@ } /** + * as_validator_check_platform_triplet: + **/ +static void +as_validator_check_platform_triplet (AsValidator *validator, xmlNode *node, const gchar *triplet) +{ + g_auto(GStrv) parts = g_strsplit (triplet, "-", 3); + if (g_strv_length (parts) != 3) { + as_validator_add_issue (validator, node, + "artifact-invalid-platform-triplet", + "%u != 3", g_strv_length (parts)); + return; + } + if (!as_utils_is_platform_triplet_arch (parts[0])) { + as_validator_add_issue (validator, node, + "artifact-invalid-platform-triplet", + "Architecture invalid: %s", parts[0]); + return; + } + if (!as_utils_is_platform_triplet_oskernel (parts[1])) { + as_validator_add_issue (validator, node, + "artifact-invalid-platform-triplet", + "OS/Kernel invalid: %s", parts[1]); + return; + } + if (!as_utils_is_platform_triplet_osenv (parts[2])) { + as_validator_add_issue (validator, node, + "artifact-invalid-platform-triplet", + "OS/Environment invalid: %s", parts[2]); + return; + } +} + +/** + * as_validator_check_artifact: + **/ +static void +as_validator_check_artifact (AsValidator *validator, xmlNode *node) +{ + gchar *prop; + + /* validate type */ + prop = as_xml_get_prop_value (node, "type"); + if (prop != NULL) { + if (as_artifact_kind_from_string (prop) == AS_ARTIFACT_KIND_UNKNOWN) + as_validator_add_issue (validator, node, "artifact-type-invalid", prop); + g_free (prop); + } + + /* validate platform */ + prop = as_xml_get_prop_value (node, "platform"); + if (prop != NULL) { + as_validator_check_platform_triplet (validator, node, prop); + g_free (prop); + } + + /* validate bundle type */ + prop = as_xml_get_prop_value (node, "bundle"); + if (prop != NULL) { + if (as_bundle_kind_from_string (prop) == AS_BUNDLE_KIND_UNKNOWN) + as_validator_add_issue (validator, node, "artifact-bundle-type-invalid", prop); + g_free (prop); + } + + for (xmlNode *iter = node->children; iter != NULL; iter = iter->next) { + const gchar *node_name; + if (iter->type != XML_ELEMENT_NODE) + continue; + node_name = (const gchar*) iter->name; + + if (g_strcmp0 (node_name, "location") == 0) { + g_autofree gchar *url = as_xml_get_node_value (iter); + if (!as_validate_is_url (url)) { + as_validator_add_issue (validator, iter, "web-url-expected", url); + continue; + } + if (!as_validate_is_secure_url (url)) + as_validator_add_issue (validator, iter, "url-not-secure", url); + continue; + } else if (g_strcmp0 (node_name, "checksum") == 0) { + g_autofree gchar *tmp = as_xml_get_prop_value (iter, "type"); + if (as_checksum_kind_from_string (tmp) == AS_CHECKSUM_KIND_NONE) + as_validator_add_issue (validator, iter, "artifact-checksum-type-invalid", tmp); + continue; + } else if (g_strcmp0 (node_name, "size") == 0) { + g_autofree gchar *tmp = as_xml_get_prop_value (iter, "type"); + if (as_size_kind_from_string (tmp) == AS_SIZE_KIND_UNKNOWN) + as_validator_add_issue (validator, iter, "artifact-size-type-invalid", tmp); + continue; + } else if (g_strcmp0 (node_name, "filename") == 0) { + g_autofree gchar *fname = as_xml_get_node_value (iter); + if (g_path_is_absolute (fname) || g_str_has_prefix (fname, ".")) + as_validator_add_issue (validator, iter, "artifact-filename-not-basename", fname); + continue; + } else { + /* unknown tag */ + as_validator_add_issue (validator, iter, "unknown-tag", node_name); + } + } +} + +/** + * as_validator_check_release_issue: + **/ +static void +as_validator_check_release_issue (AsValidator *validator, xmlNode *node) +{ + gchar *prop; + AsIssueKind kind = AS_ISSUE_KIND_UNKNOWN; + + /* validate type */ + prop = as_xml_get_prop_value (node, "type"); + kind = as_issue_kind_from_string (prop); + if (prop != NULL) { + if (kind == AS_ISSUE_KIND_UNKNOWN) + as_validator_add_issue (validator, node, "release-issue-type-invalid", prop); + g_free (prop); + } + + /* validate url */ + prop = as_xml_get_prop_value (node, "url"); + if (prop != NULL) { + if (!as_validate_is_url (prop)) + as_validator_add_issue (validator, node, "web-url-expected", prop); + else if (!as_validate_is_secure_url (prop)) + as_validator_add_issue (validator, node, "url-not-secure", prop); + g_free (prop); + } + + /* validate value */ + if (kind == AS_ISSUE_KIND_CVE) { + g_autofree gchar *value = as_xml_get_node_value (node); + if (!g_str_has_prefix (value, "CVE-")) + as_validator_add_issue (validator, node, "release-issue-is-cve-but-no-cve-id", value); + } +} + +/** * as_validator_check_release: **/ static void as_validator_check_release (AsValidator *validator, xmlNode *node, AsFormatStyle mode) { - xmlNode *iter; gchar *prop; /* validate date strings */ - prop = (gchar*) xmlGetProp (node, (xmlChar*) "date"); + prop = as_xml_get_prop_value (node, "date"); if (prop != NULL) { as_validator_validate_iso8601_complete_date (validator, node, prop); g_free (prop); } - prop = (gchar*) xmlGetProp (node, (xmlChar*) "date_eol"); + prop = as_xml_get_prop_value (node, "date_eol"); if (prop != NULL) { as_validator_validate_iso8601_complete_date (validator, node, prop); g_free (prop); } - for (iter = node->children; iter != NULL; iter = iter->next) { + /* validate type */ + prop = as_xml_get_prop_value (node, "type"); + if (prop != NULL) { + if (as_release_kind_from_string (prop) == AS_RELEASE_KIND_UNKNOWN) + as_validator_add_issue (validator, node, "release-type-invalid", prop); + g_free (prop); + } + + /* validate urgency */ + prop = as_xml_get_prop_value (node, "urgency"); + if (prop != NULL) { + if (as_urgency_kind_from_string (prop) == AS_URGENCY_KIND_UNKNOWN) + as_validator_add_issue (validator, node, "release-urgency-invalid", prop); + g_free (prop); + } + + for (xmlNode *iter = node->children; iter != NULL; iter = iter->next) { const gchar *node_name; if (iter->type != XML_ELEMENT_NODE) continue; @@ -1215,6 +1403,61 @@ as_validator_check_description_tag (validator, iter, mode, FALSE); continue; } + + /* validate url */ + if (g_strcmp0 (node_name, "url") == 0) { + g_autofree gchar *url = as_xml_get_node_value (iter); + if (!as_validate_is_url (url)) { + as_validator_add_issue (validator, iter, "web-url-expected", url); + continue; + } + if (!as_validate_is_secure_url (url)) + as_validator_add_issue (validator, iter, "url-not-secure", url); + continue; + } + + /* validate artifacts */ + if (g_strcmp0 (node_name, "artifacts") == 0) { + for (xmlNode *iter2 = iter->children; iter2 != NULL; iter2 = iter2->next) { + if (iter2->type != XML_ELEMENT_NODE) + continue; + if (g_strcmp0 ((const gchar*) iter2->name, "artifact") != 0) { + as_validator_add_issue (validator, iter2, + "invalid-child-tag-name", + /* TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. */ + _("Found: %s - Allowed: %s"), + (const gchar*) iter2->name, + "artifact"); + continue; + } + /* validate artifact */ + as_validator_check_artifact (validator, iter2); + } + continue; + } + + /* validate issues */ + if (g_strcmp0 (node_name, "issues") == 0) { + for (xmlNode *iter2 = iter->children; iter2 != NULL; iter2 = iter2->next) { + if (iter2->type != XML_ELEMENT_NODE) + continue; + if (g_strcmp0 ((const gchar*) iter2->name, "issue") != 0) { + as_validator_add_issue (validator, iter2, + "invalid-child-tag-name", + /* TRANSLATORS: An invalid XML tag was found, "Found" refers to the tag name found, "Allowed" to the permitted name. */ + _("Found: %s - Allowed: %s"), + (const gchar*) iter2->name, + "issue"); + continue; + } + /* validate issue */ + as_validator_check_release_issue (validator, iter2); + } + continue; + } + + /* if we are here, we have an unknown tag */ + as_validator_add_issue (validator, iter, "unknown-tag", node_name); } } @@ -1224,9 +1467,7 @@ static void as_validator_check_releases (AsValidator *validator, xmlNode *node, AsFormatStyle mode) { - xmlNode *iter; - - for (iter = node->children; iter != NULL; iter = iter->next) { + for (xmlNode *iter = node->children; iter != NULL; iter = iter->next) { const gchar *node_name; /* discard spaces */ if (iter->type != XML_ELEMENT_NODE) @@ -1254,7 +1495,6 @@ static AsComponent* as_validator_validate_component_node (AsValidator *validator, AsContext *ctx, xmlNode *root) { - xmlNode *iter; AsComponent *cpt; g_autofree gchar *cpttype = NULL; g_autoptr(GHashTable) found_tags = NULL; @@ -1271,7 +1511,7 @@ as_validator_set_current_cpt (validator, cpt); /* check if component type is valid */ - cpttype = (gchar*) xmlGetProp (root, (xmlChar*) "type"); + cpttype = as_xml_get_prop_value (root, (xmlChar*) "type"); if (cpttype != NULL) { if (as_component_kind_from_string (cpttype) == AS_COMPONENT_KIND_UNKNOWN) { as_validator_add_issue (validator, root, @@ -1287,24 +1527,24 @@ as_validator_add_issue (validator, root, "component-merge-in-metainfo", NULL); /* the component must have an id */ - if (as_str_empty (as_component_get_id (cpt))) { + if (as_is_empty (as_component_get_id (cpt))) { /* we don't have an id */ as_validator_add_issue (validator, NULL, "component-id-missing", NULL); } /* the component must have a name */ - if (as_str_empty (as_component_get_name (cpt))) { + if (as_is_empty (as_component_get_name (cpt))) { /* we don't have a name */ as_validator_add_issue (validator, NULL, "component-name-missing", NULL); } /* the component must have a summary */ - if (as_str_empty (as_component_get_summary (cpt))) { + if (as_is_empty (as_component_get_summary (cpt))) { /* we don't have a summary */ as_validator_add_issue (validator, NULL, "component-summary-missing", NULL); } - for (iter = root->children; iter != NULL; iter = iter->next) { + for (xmlNode *iter = root->children; iter != NULL; iter = iter->next) { const gchar *node_name; g_autofree gchar *node_content = NULL; gboolean tag_valid = TRUE; @@ -1317,7 +1557,7 @@ node_content = (gchar*) xmlNodeGetContent (iter); if (g_strcmp0 (node_name, "id") == 0) { - g_autofree gchar *prop = (gchar*) xmlGetProp (iter, (xmlChar*) "type"); + g_autofree gchar *prop = as_xml_get_prop_value (iter, (xmlChar*) "type"); if (prop != NULL) { as_validator_add_issue (validator, iter, "id-tag-has-type", node_content); } @@ -1371,16 +1611,16 @@ } if (g_strcmp0 (prop, "remote") == 0) { - if (!as_validate_is_url (node_content)) { - as_validator_add_issue (validator, iter, "icon-remote-no-url", NULL); - } else { + if (as_validate_is_url (node_content)) { if (!as_validate_is_secure_url (node_content)) as_validator_add_issue (validator, iter, "icon-remote-not-secure", node_content); - as_validator_validate_web_url (validator, - iter, - node_content, - "icon-remote-not-found"); + as_validator_check_web_url (validator, + iter, + node_content, + "icon-remote-not-found"); + } else { + as_validator_add_issue (validator, iter, "icon-remote-no-url", node_content); } } @@ -1394,13 +1634,18 @@ if (as_url_kind_from_string (prop) == AS_URL_KIND_UNKNOWN) as_validator_add_issue (validator, iter, "url-invalid-type", prop); + if (!as_validate_is_url (node_content)) { + as_validator_add_issue (validator, iter, "web-url-expected", node_content); + continue; + } + if (!as_validate_is_secure_url (node_content)) as_validator_add_issue (validator, iter, "url-not-secure", node_content); - as_validator_validate_web_url (validator, - iter, - node_content, - "url-not-found"); + as_validator_check_web_url (validator, + iter, + node_content, + "url-not-found"); } else if (g_strcmp0 (node_name, "categories") == 0) { as_validator_check_appear_once (validator, iter, found_tags); @@ -1411,6 +1656,9 @@ } else if (g_strcmp0 (node_name, "mimetypes") == 0) { as_validator_check_appear_once (validator, iter, found_tags); as_validator_check_children_quick (validator, iter, "mimetype", FALSE); + as_validator_add_issue (validator, iter, + "mimetypes-tag-deprecated", + NULL); } else if (g_strcmp0 (node_name, "provides") == 0) { as_validator_check_appear_once (validator, iter, found_tags); as_validator_check_provides (validator, iter, cpt); @@ -1435,6 +1683,7 @@ } } else if (g_strcmp0 (node_name, "releases") == 0) { as_validator_check_releases (validator, iter, mode); + can_be_empty = TRUE; } else if (g_strcmp0 (node_name, "languages") == 0) { as_validator_check_appear_once (validator, iter, found_tags); as_validator_check_children_quick (validator, iter, "lang", FALSE); @@ -1510,7 +1759,7 @@ as_validator_add_issue (validator, NULL, "metadata-license-missing", NULL); /* check if we have a description */ - if (as_str_empty (as_component_get_description (cpt))) { + if (as_is_empty (as_component_get_description (cpt))) { AsComponentKind cpt_kind; cpt_kind = as_component_get_kind (cpt); @@ -1661,7 +1910,7 @@ const gchar *version_prev = as_release_get_version (release_prev); if (version == NULL || version_prev == NULL) continue; - if (as_utils_compare_versions (version_prev, version) < 0) { + if (as_vercmp_simple (version_prev, version) < 0) { as_validator_add_issue (validator, NULL, "releases-not-in-order", "%s << %s", @@ -1670,6 +1919,25 @@ } release_prev = release; } + } else { + /* we have no release information! */ + AsComponentKind kind = as_component_get_kind (cpt); + if (kind == AS_COMPONENT_KIND_DESKTOP_APP || + kind == AS_COMPONENT_KIND_CONSOLE_APP) { + /* show an info about missing age rating for application-type components */ + as_validator_add_issue (validator, NULL, "releases-info-missing", NULL); + } + } + + /* check content_rating */ + if (as_component_get_content_ratings (cpt)->len == 0) { + AsComponentKind kind = as_component_get_kind (cpt); + if (kind == AS_COMPONENT_KIND_DESKTOP_APP || + kind == AS_COMPONENT_KIND_CONSOLE_APP || + kind == AS_COMPONENT_KIND_WEB_APP) { + /* show an info about missing age rating for application-type components */ + as_validator_add_issue (validator, NULL, "content-rating-missing", NULL); + } } as_validator_clear_current_cpt (validator); @@ -1681,7 +1949,11 @@ * @validator: An instance of #AsValidator. * @metadata_file: An AppStream XML file. * - * Validate an AppStream XML file + * Validate an AppStream XML file. + * Remember to run %as_validator_clear_issues if you do not want previous + * validation runs to affect the outcome of this validation. + * + * Returns: %TRUE if file validated successfully. **/ gboolean as_validator_validate_file (AsValidator *validator, GFile *metadata_file) @@ -1691,6 +1963,7 @@ g_autoptr(GInputStream) stream_data = NULL; g_autoptr(GConverter) conv = NULL; g_autoptr(GString) asxmldata = NULL; + g_autoptr(GBytes) bytes = NULL; g_autofree gchar *fname = NULL; gssize len; const gsize buffer_size = 1024 * 32; @@ -1742,7 +2015,8 @@ if (len < 0) return FALSE; - ret = as_validator_validate_data (validator, asxmldata->str); + bytes = g_bytes_new_static (asxmldata->str, asxmldata->len); + ret = as_validator_validate_bytes (validator, bytes); as_validator_clear_current_fname (validator); return ret; @@ -1752,12 +2026,12 @@ * as_validator_open_xml_document: */ static xmlDoc* -as_validator_open_xml_document (AsValidator *validator, const gchar *xmldata) +as_validator_open_xml_document (AsValidator *validator, const gchar *xmldata, gssize len) { xmlDoc *doc; g_autoptr(GError) error = NULL; - doc = as_xml_parse_document (xmldata, -1, &error); + doc = as_xml_parse_document (xmldata, len, &error); if (doc == NULL) { if (error != NULL) { as_validator_add_issue (validator, NULL, @@ -1772,19 +2046,27 @@ } /** - * as_validator_validate_data: + * as_validator_validate_bytes: * @validator: An instance of #AsValidator. - * @metadata: XML metadata. + * @metadata: XML metadata as #GBytes. * - * Validate AppStream XML data + * Validate AppStream XML data from a byte array. + * Remember to run %as_validator_clear_issues if you do not want previous + * validation runs to affect the outcome of this validation. + * + * Returns: %TRUE if bytes validated successfully. + * + * Since: 0.14.0 **/ gboolean -as_validator_validate_data (AsValidator *validator, const gchar *metadata) +as_validator_validate_bytes (AsValidator *validator, GBytes *metadata) { gboolean ret; xmlNode* root; xmlDoc *doc; g_autoptr(AsContext) ctx = NULL; + const gchar *data; + gsize data_len; AsComponent *cpt; /* setup networking, in case we want to check URLs */ @@ -1794,7 +2076,8 @@ ctx = as_context_new (); as_context_set_locale (ctx, "C"); - doc = as_validator_open_xml_document (validator, metadata); + data = g_bytes_get_data (metadata, &data_len); + doc = as_validator_open_xml_document (validator, data, data_len); if (doc == NULL) return FALSE; root = xmlDocGetRootElement (doc); @@ -1806,11 +2089,10 @@ if (cpt != NULL) g_object_unref (cpt); } else if (g_strcmp0 ((gchar*) root->name, "components") == 0) { - xmlNode *iter; const gchar *node_name; as_context_set_style (ctx, AS_FORMAT_STYLE_COLLECTION); - for (iter = root->children; iter != NULL; iter = iter->next) { + for (xmlNode *iter = root->children; iter != NULL; iter = iter->next) { /* discard spaces */ if (iter->type != XML_ELEMENT_NODE) continue; @@ -1839,7 +2121,25 @@ } xmlFreeDoc (doc); - return ret; + return ret && as_validator_check_success (validator); +} + +/** + * as_validator_validate_data: + * @validator: An instance of #AsValidator. + * @metadata: XML metadata. + * + * Validate AppStream XML data. + * Remember to run %as_validator_clear_issues if you do not want previous + * validation runs to affect the outcome of this validation. + * + * Returns: %TRUE if data validated successfully. + **/ +gboolean +as_validator_validate_data (AsValidator *validator, const gchar *metadata) +{ + g_autoptr(GBytes) bytes = g_bytes_new_static (metadata, strlen (metadata)); + return as_validator_validate_bytes (validator, bytes); } /** @@ -1942,7 +2242,7 @@ G_KEY_FILE_DESKTOP_KEY_CATEGORIES, NULL); cats = g_strsplit (cats_str, ";", -1); for (i = 0; cats[i] != NULL; i++) { - if (as_str_empty (cats[i])) + if (as_is_empty (cats[i])) continue; if (!as_utils_is_category_name (cats[i])) { as_validator_add_issue (data->validator, NULL, @@ -1969,6 +2269,8 @@ * @root_dir: The root directory of the filesystem tree that should be validated. * * Validate a full directory tree for issues in AppStream metadata. + * + * Returns: %TRUE if file validated successfully. **/ gboolean as_validator_validate_tree (AsValidator *validator, const gchar *root_dir) @@ -2094,7 +2396,7 @@ } /* now read the XML */ - doc = as_validator_open_xml_document (validator, asdata->str); + doc = as_validator_open_xml_document (validator, asdata->str, asdata->len); if (doc == NULL) { as_validator_clear_current_fname (validator); continue; @@ -2153,7 +2455,7 @@ if (validated_cpts != NULL) g_hash_table_unref (validated_cpts); - return ret; + return ret && as_validator_check_success (validator); } /** @@ -2285,7 +2587,7 @@ if (cid != NULL) as_yaml_emit_entry (&emitter, "component", cid); if (line > 0) - as_yaml_emit_entry_uint (&emitter, "line", (guint) line); + as_yaml_emit_entry_uint64 (&emitter, "line", (guint) line); if (hint != NULL) as_yaml_emit_entry (&emitter, "hint", hint); as_yaml_emit_long_entry (&emitter, diff -Nru appstream-0.12.10/src/as-validator.h appstream-0.14.5/src/as-validator.h --- appstream-0.12.10/src/as-validator.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-validator.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2014-2020 Matthias Klumpp + * Copyright (C) 2014-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -50,6 +50,8 @@ void as_validator_clear_issues (AsValidator *validator); gboolean as_validator_validate_file (AsValidator *validator, GFile* metadata_file); +gboolean as_validator_validate_bytes (AsValidator *validator, + GBytes *metadata); gboolean as_validator_validate_data (AsValidator *validator, const gchar *metadata); gboolean as_validator_validate_tree (AsValidator *validator, diff -Nru appstream-0.12.10/src/as-validator-issue.c appstream-0.14.5/src/as-validator-issue.c --- appstream-0.12.10/src/as-validator-issue.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-validator-issue.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2014-2020 Matthias Klumpp + * Copyright (C) 2014-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * diff -Nru appstream-0.12.10/src/as-validator-issue.h appstream-0.14.5/src/as-validator-issue.h --- appstream-0.12.10/src/as-validator-issue.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-validator-issue.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2014-2020 Matthias Klumpp + * Copyright (C) 2014-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -46,10 +46,10 @@ /** * AsIssueSeverity: - * @AS_ISSUE_SEVERITY_ERROR: There is a serious error in your metadata - * @AS_ISSUE_SEVERITY_WARNING: Something which should be fixed, but is not fatal - * @AS_ISSUE_SEVERITY_INFO: Non-essential information on how to improve your metadata - * @AS_ISSUE_SEVERITY_PEDANTIC: Pedantic information + * @AS_ISSUE_SEVERITY_ERROR: There is a serious, fatal error in your metadata + * @AS_ISSUE_SEVERITY_WARNING: Something metadata issue which should be fixed as soon as possible. + * @AS_ISSUE_SEVERITY_INFO: Non-essential information on how to improve metadata, no immediate action needed. + * @AS_ISSUE_SEVERITY_PEDANTIC: Pedantic information about ways to improve the data, but could also be ignored. * * The severity of an issue found by #AsValidator **/ diff -Nru appstream-0.12.10/src/as-validator-issue-tag.h appstream-0.14.5/src/as-validator-issue-tag.h --- appstream-0.12.10/src/as-validator-issue-tag.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-validator-issue-tag.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2018-2020 Matthias Klumpp + * Copyright (C) 2018-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -76,7 +76,7 @@ { "description-first-para-too-short", AS_ISSUE_SEVERITY_INFO, - N_("The first 'description/p' paragraph of this component might be too short (< 80 characters). " + N_("The first `description/p` paragraph of this component might be too short (< 80 characters). " "Please consider starting with a longer paragraph to improve how the description looks like in software centers " "and to provide more detailed information on this component immediately in the first paragraph.") }, @@ -122,7 +122,7 @@ { "cid-contains-hyphen", AS_ISSUE_SEVERITY_INFO, N_("The component ID contains a hyphen/minus. Using a hyphen is strongly discouraged, to improve interoperability with other tools such as D-Bus. " - "A good option is to replace any hyphens with underscores ('_').") + "A good option is to replace any hyphens with underscores (`_`).") }, { "cid-has-number-prefix", @@ -131,6 +131,11 @@ "to keep interoperability with other tools such as D-Bus. Ideally, prefix these segments with an underscore.") }, + { "cid-contains-uppercase-letter", + AS_ISSUE_SEVERITY_PEDANTIC, + N_("The component ID should only contain lowercase letters.") + }, + { "cid-missing-affiliation-freedesktop", AS_ISSUE_SEVERITY_WARNING, N_("The component is part of the Freedesktop project, but its ID does not start with fd.o's reverse-DNS name (\"org.freedesktop\").") @@ -171,7 +176,7 @@ { "update-contact-no-mail", AS_ISSUE_SEVERITY_WARNING, - N_("The update-contact does not appear to be a valid email address (escaping of '@' is only allowed as '_at_' or '_AT_').") + N_("The update-contact does not appear to be a valid email address (escaping of `@` is only allowed as `_at_` or `_AT_`).") }, { "screenshot-image-not-found", @@ -191,7 +196,7 @@ { "screenshot-no-media", AS_ISSUE_SEVERITY_ERROR, - /* TRANSLATORS: Please do not translate AppStream tag and property names. */ + /* TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). */ N_("A screenshot must contain at least one image or video in order to be useful. Please add an to it.") }, @@ -208,28 +213,28 @@ { "screenshot-video-codec-missing", AS_ISSUE_SEVERITY_INFO, - /* TRANSLATORS: Please do not translate AppStream tag and property names. */ - N_("The screenshot video does not specify which video codec was used in a 'codec' property.") + /* TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). */ + N_("The screenshot video does not specify which video codec was used in a `codec` property.") }, { "screenshot-video-container-missing", AS_ISSUE_SEVERITY_PEDANTIC, - /* TRANSLATORS: Please do not translate AppStream tag and property names. */ - N_("The screenshot video does not specify which container format was used in a 'container' property.") + /* TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). */ + N_("The screenshot video does not specify which container format was used in a `container` property.") }, { "screenshot-video-codec-invalid", AS_ISSUE_SEVERITY_WARNING, - /* TRANSLATORS: Please do not translate AppStream tag and property names. */ + /* TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). */ N_("The selected video codec is not supported by AppStream and software centers may not be able to play the video. " - "Only the AV1 and VP9 codecs are currently supported, using 'av1' and 'vp9' as values for the 'codec' property.") + "Only the AV1 and VP9 codecs are currently supported, using `av1` and `vp9` as values for the `codec` property.") }, { "screenshot-video-container-invalid", AS_ISSUE_SEVERITY_WARNING, - /* TRANSLATORS: Please do not translate AppStream tag and property names. */ + /* TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). */ N_("The selected video container format is not supported by AppStream and software centers may not be able to play the video. " - "Only the WebM and Matroska video containers are currently supported, using 'webm' and 'mkv' as values for the 'container' property.") + "Only the WebM and Matroska video containers are currently supported, using `webm` and `mkv` as values for the `container` property.") }, { "screenshot-video-file-wrong-container", @@ -250,32 +255,64 @@ { "relation-item-no-value", AS_ISSUE_SEVERITY_ERROR, - /* TRANSLATORS: Please do not translate AppStream tag and property names. */ - N_("A 'requires' or 'recommends' item requires a value to denote a valid relation.") + /* TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). */ + N_("A `requires` or `recommends` item requires a value to denote a valid relation.") }, { "relation-item-has-version", AS_ISSUE_SEVERITY_WARNING, - /* TRANSLATORS: 'version' is an AppStream XML property. Please do not translate it. */ - N_("Found 'version' property on required/recommended item of a type that should not have or require a version.") + /* TRANSLATORS: `version` is an AppStream XML property. Please do not translate it. */ + N_("Found `version` property on required/recommended item of a type that should not have or require a version.") }, { "relation-item-missing-compare", AS_ISSUE_SEVERITY_INFO, - /* TRANSLATORS: 'version' and 'compare' are AppStream XML properties. Please do not translate them. */ - N_("Found 'version' property on this required/recommended item, but not 'compare' property. It is recommended to explicitly define a comparison operation.") + /* TRANSLATORS: `version` and `compare` are AppStream XML properties. Please do not translate them. */ + N_("Found `version` property on this required/recommended item, but not `compare` property. It is recommended to explicitly define a comparison operation.") }, { "relation-item-invalid-vercmp", AS_ISSUE_SEVERITY_ERROR, - N_("Invalid version comparison operation on relation item. Only eq/ne/lt/gt/le/ge are permitted.") + N_("Invalid comparison operation on relation item. Only eq/ne/lt/gt/le/ge are permitted.") + }, + + { "relation-item-has-vercmp", + AS_ISSUE_SEVERITY_INFO, + N_("The relation item has a comparison operation set, but does not support any comparisons.") }, { "relation-memory-in-requires", AS_ISSUE_SEVERITY_INFO, - /* TRANSLATORS: Please do not translate AppStream tag and property names. */ - N_("Found a memory size dependency in a 'requires' tag. This means users will not be able to even install the component without having enough RAM. " - "This is usually not intended and you want to use 'memory' in the 'recommends' tag instead.") + /* TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). */ + N_("Found a memory size relation in a `requires` tag. This means users will not be able to even install the component without having enough RAM. " + "This is usually not intended and you want to use `memory` in the `recommends` tag instead.") + }, + + { "relation-control-in-requires", + AS_ISSUE_SEVERITY_INFO, + /* TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). */ + N_("Found a user input control relation in a `requires` tag. This means users will not be able to even install the component without having the " + "defined input control available on the system. This is usually not intended and you want to use `control` in the `recommends` tag instead.") + }, + + { "relation-control-value-invalid", + AS_ISSUE_SEVERITY_WARNING, + /* TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). */ + N_("This `control` item defines an unknown input method and is invalid. Check the specification for a list of permitted values.") + }, + + { "relation-display-length-value-invalid", + AS_ISSUE_SEVERITY_WARNING, + /* TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). */ + N_("This `display_length` item contains an invalid display length. Its value must either be a shorthand string, or positive integer value denoting logical pixels. " + "Please refer to the AppStream specification for more information on this tag.") + }, + + { "relation-display-length-side-property-invalid", + AS_ISSUE_SEVERITY_WARNING, + /* TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). */ + N_("This `side` property of this `display_length` item contains an invalid value. It must either be `shortest` or `longest`, or unset to imply `shortest` to " + "make the item value refer to either the shortest or longest side of the display.") }, { "component-type-invalid", @@ -290,7 +327,7 @@ { "component-merge-in-metainfo", AS_ISSUE_SEVERITY_WARNING, - N_("The component has a 'merge' method defined. This is not allowed in metainfo files.") + N_("The component has a `merge` method defined. This is not allowed in metainfo files.") }, { "component-id-missing", @@ -310,22 +347,22 @@ { "id-tag-has-type", AS_ISSUE_SEVERITY_INFO, - N_("The tag still contains a 'type' property, probably from an old conversion to the recent metainfo format.") + N_("The tag still contains a `type` property, probably from an old conversion to the recent metainfo format.") }, { "multiple-pkgname", AS_ISSUE_SEVERITY_PEDANTIC, - N_("The 'pkgname' tag appears multiple times. You should evaluate creating a metapackage containing the metainfo and .desktop files in order to avoid defining multiple package names per component.") + N_("The `pkgname` tag appears multiple times. You should evaluate creating a metapackage containing the metainfo and .desktop files in order to avoid defining multiple package names per component.") }, { "name-has-dot-suffix", AS_ISSUE_SEVERITY_PEDANTIC, - N_("The component name should (likely) not end with a dot ('.').") + N_("The component name should (likely) not end with a dot (`.`).") }, { "summary-has-dot-suffix", AS_ISSUE_SEVERITY_INFO, - N_("The component summary should not end with a dot ('.').") + N_("The component summary should not end with a dot (`.`).") }, { "summary-has-tabs-or-linebreaks", @@ -340,15 +377,15 @@ { "icon-stock-cached-has-url", AS_ISSUE_SEVERITY_ERROR, - /* TRANSLATORS: Please do not translate AppStream tag and property names. */ - N_("Icons of type 'stock' or 'cached' must not contain an URL, a full or an relative path to the icon. " + /* TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). */ + N_("Icons of type `stock` or `cached` must not contain an URL, a full or an relative path to the icon. " "Only file basenames or stock names are allowed."), }, { "icon-remote-no-url", AS_ISSUE_SEVERITY_ERROR, - /* TRANSLATORS: Please do not translate AppStream tag and property names. */ - N_("Icons of type 'remote' must contain an URL to the referenced icon."), + /* TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). */ + N_("Icons of type `remote` must contain an URL to the referenced icon."), }, { "icon-remote-not-found", @@ -363,14 +400,14 @@ { "metainfo-invalid-icon-type", AS_ISSUE_SEVERITY_ERROR, - /* TRANSLATORS: Please do not translate AppStream tag and property names. */ - N_("Metainfo files may only contain icons of type 'stock' or 'remote', the set type is not allowed."), + /* TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). */ + N_("Metainfo files may only contain icons of type `stock` or `remote`, the set type is not allowed."), }, { "url-invalid-type", AS_ISSUE_SEVERITY_WARNING, - /* TRANSLATORS: Please do not translate AppStream tag and property names. */ - N_("Invalid 'type' property for this 'url' tag. URLs of this type are not known in the AppStream specification."), + /* TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). */ + N_("Invalid `type` property for this `url` tag. URLs of this type are not known in the AppStream specification."), }, { "url-not-found", @@ -383,6 +420,11 @@ N_("Consider using a secure (HTTPS) URL for this web link."), }, + { "web-url-expected", + AS_ISSUE_SEVERITY_ERROR, + N_("A web URL was expected for this value."), + }, + { "url-uses-ftp", AS_ISSUE_SEVERITY_WARNING, N_("This web link uses the FTP protocol. Consider switching to HTTP(S) instead."), @@ -400,20 +442,20 @@ { "launchable-unknown-type", AS_ISSUE_SEVERITY_ERROR, - /* TRANSLATORS: Please do not translate AppStream tag and property names. */ - N_("This 'launchable' tag has an unknown type and can not be used."), + /* TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). */ + N_("This `launchable` tag has an unknown type and can not be used."), }, { "bundle-unknown-type", AS_ISSUE_SEVERITY_ERROR, - /* TRANSLATORS: Please do not translate AppStream tag and property names. */ - N_("This 'bundle' tag has an unknown type and can not be used."), + /* TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). */ + N_("This `bundle` tag has an unknown type and can not be used."), }, { "update-contact-in-collection-data", AS_ISSUE_SEVERITY_WARNING, - /* TRANSLATORS: Please do not translate AppStream tag and property names. */ - N_("The 'update_contact' tag should not be included in collection AppStream XML."), + /* TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). */ + N_("The `update_contact` tag should not be included in collection AppStream XML."), }, { "nonstandard-gnome-extension", @@ -424,15 +466,15 @@ { "unknown-tag", AS_ISSUE_SEVERITY_INFO, - N_("Found invalid tag. Non-standard tags should be prefixed with 'x-'. " + N_("Found invalid tag. Non-standard tags should be prefixed with `x-`. " "AppStream also provides the tag to add arbitrary custom data to metainfo files. This tag is read by AppStream libraries and may be useful " - "instead of defining new custom toplevel or 'x-'-prefixed tags if you just want to add custom data to a metainfo file.") + "instead of defining new custom toplevel or `x-`-prefixed tags if you just want to add custom data to a metainfo file.") }, { "metadata-license-missing", AS_ISSUE_SEVERITY_ERROR, - /* TRANSLATORS: Please do not translate AppStream tag and property names. */ - N_("The essential tag 'metadata_license' is missing. A license for the metadata itself always has to be defined."), + /* TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). */ + N_("The essential tag `metadata_license` is missing. A license for the metadata itself always has to be defined."), }, { "app-description-required", @@ -457,74 +499,74 @@ { "console-app-no-binary", AS_ISSUE_SEVERITY_WARNING, - /* TRANSLATORS: Please do not translate AppStream tag and property names. */ - N_("Type 'console-application' component, but no information about binaries in $PATH was provided via a 'provides/binary' tag."), + /* TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). */ + N_("Type `console-application` component, but no information about binaries in $PATH was provided via a `provides/binary` tag."), }, { "web-app-no-url-launchable", AS_ISSUE_SEVERITY_ERROR, - /* TRANSLATORS: Please do not translate AppStream tag and property names. */ - N_("This 'web-application' component is missing a 'launchable' tag of type 'url'."), + /* TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). */ + N_("This `web-application` component is missing a `launchable` tag of type `url`."), }, { "web-app-no-icon", AS_ISSUE_SEVERITY_ERROR, - /* TRANSLATORS: Please do not translate AppStream tag and property names. */ - N_("This 'web-application' component is missing a 'icon' tag to specify a valid icon."), + /* TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). */ + N_("This `web-application` component is missing a `icon` tag to specify a valid icon."), }, { "web-app-no-category", AS_ISSUE_SEVERITY_WARNING, - /* TRANSLATORS: Please do not translate AppStream tag and property names. */ - N_("This 'web-application' component is missing categorizations. A 'categories' block is likely missing."), + /* TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). */ + N_("This `web-application` component is missing categorizations. A `categories` block is likely missing."), }, { "font-no-font-data", AS_ISSUE_SEVERITY_ERROR, - /* TRANSLATORS: Please do not translate AppStream tag and property names. */ - N_("Type 'font' component, but no font information was provided via a 'provides/font' tag."), + /* TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). */ + N_("Type `font` component, but no font information was provided via a `provides/font` tag."), }, { "driver-no-modalias", AS_ISSUE_SEVERITY_WARNING, - /* TRANSLATORS: Please do not translate AppStream tag and property names. */ - N_("Type 'driver' component, but no modalias information was provided via a provides/modalias tag."), + /* TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). */ + N_("Type `driver` component, but no modalias information was provided via a `provides/modalias` tag."), }, { "extends-not-allowed", AS_ISSUE_SEVERITY_ERROR, - /* TRANSLATORS: Please do not translate AppStream tag and property names. */ - N_("An 'extends' tag is specified, but the component is not of type 'addon', 'localization' or 'repository'."), + /* TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). */ + N_("An `extends` tag is specified, but the component is not of type `addon`, `localization` or `repository`."), }, { "addon-extends-missing", AS_ISSUE_SEVERITY_ERROR, - /* TRANSLATORS: Please do not translate AppStream tag and property names. */ - N_("The component is an addon, but no 'extends' tag was specified."), + /* TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). */ + N_("The component is an addon, but no `extends` tag was specified."), }, { "localization-extends-missing", AS_ISSUE_SEVERITY_INFO, - /* TRANSLATORS: Please do not translate AppStream tag and property names. */ - N_("This 'localization' component is missing an 'extends' tag, to specify the components it adds localization to."), + /* TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). */ + N_("This `localization` component is missing an `extends` tag, to specify the components it adds localization to."), }, { "localization-no-languages", AS_ISSUE_SEVERITY_ERROR, - /* TRANSLATORS: Please do not translate AppStream tag and property names. */ - N_("This 'localization' component does not define any languages this localization is for."), + /* TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). */ + N_("This `localization` component does not define any languages this localization is for."), }, { "service-no-service-launchable", AS_ISSUE_SEVERITY_ERROR, - /* TRANSLATORS: Please do not translate AppStream tag and property names. */ - N_("This 'service' component is missing a 'launchable' tag of type 'service'."), + /* TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). */ + N_("This `service` component is missing a `launchable` tag of type `service`."), }, { "metainfo-suggestion-type-invalid", AS_ISSUE_SEVERITY_WARNING, - /* TRANSLATORS: Please do not translate AppStream tag and property names. */ - N_("Suggestions of any type other than 'upstream' are not allowed in metainfo files."), + /* TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). */ + N_("Suggestions of any type other than `upstream` are not allowed in metainfo files."), }, { "category-invalid", @@ -549,13 +591,13 @@ { "component-collection-tag-invalid", AS_ISSUE_SEVERITY_ERROR, - /* TRANSLATORS: Please do not translate AppStream tag and property names. */ - N_("Invalid tag found in collection metadata. Only 'component' tags are permitted."), + /* TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). */ + N_("Invalid tag found in collection metadata. Only `component` tags are permitted."), }, { "metainfo-ancient", AS_ISSUE_SEVERITY_ERROR, - /* TRANSLATORS: Please do not translate AppStream tag and property names. */ + /* TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). */ N_("The metainfo file uses an ancient version of the AppStream specification, which can not be validated. Please migrate it to version 0.6 (or higher)."), }, @@ -596,7 +638,7 @@ { "metainfo-legacy-path", AS_ISSUE_SEVERITY_WARNING, - N_("The metainfo file is stored in a legacy path. Please place it in '/usr/share/metainfo'."), + N_("The metainfo file is stored in a legacy path. Please place it in `/usr/share/metainfo/`."), }, { "metainfo-multiple-components", @@ -611,6 +653,66 @@ "Sorting releases also increases overall readability of the metainfo file."), }, + { "release-urgency-invalid", + AS_ISSUE_SEVERITY_WARNING, + N_("The value set as release urgency is not a known urgency value."), + }, + + { "release-type-invalid", + AS_ISSUE_SEVERITY_WARNING, + N_("The value set as release type is invalid."), + }, + + { "artifact-type-invalid", + AS_ISSUE_SEVERITY_ERROR, + /* TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). */ + N_("The value set as artifact type is invalid. Must be either `source` or `binary`."), + }, + + { "artifact-bundle-type-invalid", + AS_ISSUE_SEVERITY_WARNING, + N_("The value set as artifact bundle type is invalid."), + }, + + { "artifact-invalid-platform-triplet", + AS_ISSUE_SEVERITY_WARNING, + N_("The platform triplet for this release is invalid. It must be in the form of " + "`architecture-oskernel-osenv` - refer to the AppStream documentation or information " + "on normalized GNU triplets for more information and valid fields."), + }, + + { "artifact-checksum-type-invalid", + AS_ISSUE_SEVERITY_ERROR, + N_("The selected checksumming algorithm is unsupported or unknown."), + }, + + { "artifact-size-type-invalid", + AS_ISSUE_SEVERITY_ERROR, + /* TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). */ + N_("The size type is unknown. Must be `download` or `installed`."), + }, + + { "artifact-filename-not-basename", + AS_ISSUE_SEVERITY_ERROR, + N_("The artifact filename must be a file basename, not a (relative or absolute) path."), + }, + + { "release-issue-type-invalid", + AS_ISSUE_SEVERITY_ERROR, + N_("The value set as release issue type is invalid."), + }, + + { "release-issue-is-cve-but-no-cve-id", + AS_ISSUE_SEVERITY_WARNING, + N_("The issue is tagged at security vulnerability with a CVE number, but its value does not look like a valid CVE identifier."), + }, + + { "releases-info-missing", + AS_ISSUE_SEVERITY_PEDANTIC, + /* TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). */ + N_("This component is missing information about releases. Consider adding a `releases` tag to describe releases and their changes."), + }, + { "invalid-iso8601-date", AS_ISSUE_SEVERITY_WARNING, N_("The AppStream specification requires a complete, ISO 8601 date string with at least day-granularity to denote dates. " @@ -625,14 +727,14 @@ { "runtime-project-license-no-ref", AS_ISSUE_SEVERITY_INFO, - /* TRANSLATORS: Please do not translate AppStream tag and property names. */ - N_("Licenses for 'runtime' components are usually too complex to reflect them in a simple SPDX expression. Consider using a `LicenseRef` and a web URL " - "as value for this component's 'project_license'. E.g. `LicenseRef-free=https://example.com/licenses.html`") + /* TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). */ + N_("Licenses for `runtime` components are usually too complex to reflect them in a simple SPDX expression. Consider using a `LicenseRef` and a web URL " + "as value for this component's `project_license`. E.g. `LicenseRef-free=https://example.com/licenses.html`") }, { "runtime-no-provides", AS_ISSUE_SEVERITY_PEDANTIC, - N_("Since a 'runtime' component is comprised of multiple other software components, their component-IDs may be listed in a `` section for this runtime.") + N_("Since a `runtime` component is comprised of multiple other software components, their component-IDs may be listed in a `` section for this runtime.") }, { "unknown-provides-item-type", @@ -640,6 +742,20 @@ N_("The type of the item that the component provides is not known to AppStream."), }, + { "mimetypes-tag-deprecated", + AS_ISSUE_SEVERITY_WARNING, + /* TRANSLATORS: Please do not translate AppStream tag and property names (in backticks). */ + N_("The toplevel `mimetypes` tag is deprecated. Please use `mediatype` tags in a `provides` block instead " + "to indicate that your software provides a media handler for the given types."), + }, + + { "content-rating-missing", + AS_ISSUE_SEVERITY_INFO, + /* TRANSLATORS: Please do not translate AppStream tag and property names (in backticks) and keep the URL intact. */ + N_("This component has no `content_rating` tag to provide age rating information. " + "You can generate the tag data online by answering a few questions at https://hughsie.github.io/oars/"), + }, + { NULL, AS_ISSUE_SEVERITY_UNKNOWN, NULL } }; diff -Nru appstream-0.12.10/src/as-vercmp.c appstream-0.14.5/src/as-vercmp.c --- appstream-0.12.10/src/as-vercmp.c 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/src/as-vercmp.c 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,240 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2020-2021 Matthias Klumpp + * Copyright (C) 2010 Julian Andres Klode + * + * Licensed under the GNU Lesser General Public License Version 2.1 + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 2.1 of the license, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +#include "as-vercmp.h" + +#include +#include + +#include "as-enums.h" + +/** + * SECTION:as-vercmp + * @short_description: Version comparison functions. + * @include: appstream.h + * + * Compare software version numbers. + */ + +typedef struct AsVersion { + const gchar *epoch; + const gchar *version; + const gchar *version_end; + const gchar *revision; + const gchar *revision_end; +} AsVersion; + +/** + * as_version_parse: + */ +static void +as_version_parse (AsVersion *version, const gchar *v) +{ + const gchar *epoch_end = strchr(v, ':'); + const gchar *version_end = strrchr(v, '-'); + const gchar *complete_end = v + strlen(v); + + version->epoch = (epoch_end == NULL) ? "" : v; + version->version = (epoch_end == NULL) ? v : epoch_end + 1; + version->version_end = (version_end == NULL) ? complete_end : version_end; + version->revision = (version_end == NULL) ? "0" : version_end + 1; + version->revision_end = ((version_end == NULL) ? version->revision + 1 + : complete_end); +} + +/** + * cmp_number: + * @a: The first number as a string. + * @b: The second number as a string. + * @pa: A pointer to a pointer which will be set to the first non-digit in @a. + * @pb: A pointer to a pointer which will be set to the first non-digit in @b. + * + * Compares two numbers that are represented as strings + * against each other. Compared to converting to an int + * and comparing the integers, this has the advantage + * that it does not cause overflow. + */ +static gint +cmp_number (const gchar *a, const gchar *b, const gchar **pa, + const gchar **pb) +{ + gint res = 0; + if (*a == '\0' && *b == '\0') + return 0; + for (; *a == '0'; a++); + for (; *b == '0'; b++); + for (; g_ascii_isdigit (*a) && g_ascii_isdigit (*b); a++, b++) { + if (res == 0 && *a != *b) + res = *a < *b ? -1 : 1; + } + if (g_ascii_isdigit (*a)) { + if (!g_ascii_isdigit (*b)) + res = 1; + } else if (g_ascii_isdigit (*b)) { + res = -1; + } + if (pa != NULL) { + g_assert (pb != NULL); + *pa = a; + *pb = b; + } + return res; +} + +/** + * cmp_part: + */ +static gint +cmp_part (const gchar *a, const gchar *a_end, + const gchar *b, const gchar *b_end) +{ + while (a != a_end || b != b_end) { + int cmpres; + for (; !g_ascii_isdigit (*a) || !g_ascii_isdigit (*b); a++, b++) { + if (a == a_end && b == b_end) + return 0; + else if (*a == *b && a != a_end && b != b_end) + continue; + /* Tilde always sorts first; i.e., the string with tilde loses */ + else if (*a == '~' || *b == '~') + return (*a == '~') ? -1 : 1; + /* One string is empty, other is a number -> go into number mode */ + else if ((a == a_end && *b == '0') || (b == b_end && *a == '0')) + return cmp_number (a, b, NULL, NULL); + /* One string is empty, other is not a number -> other wins */ + else if (a == a_end || b == b_end) + return (a == a_end) ? -1 : 1; + /* One non-digit part is shorter than the other one */ + else if (g_ascii_isdigit (*a) != g_ascii_isdigit (*b)) + return g_ascii_isdigit(*a) ? -1 : 1; + /* Alpha looses against not alpha */ + else if (g_ascii_isalpha (*a) != g_ascii_isalpha (*b)) + return g_ascii_isalpha (*a) ? -1 : 1; + /* Standard ASCII comparison */ + else + return *a < *b ? -1 : 1; + } + + /* Now compare numbers */ + cmpres = cmp_number (a, b, &a, &b); + if (cmpres != 0 || (a == a_end && b == b_end)) + return cmpres; + } + + return 0; +} + +/** + * as_vercmp: + * @a: First version number + * @b: Second version number + * @flags: Flags, e.g. %AS_VERCMP_FLAG_NONE + * + * Compare alpha and numeric segments of two software versions, + * considering @flags. + * + * Returns: >>0 if a is newer than b; + * 0 if a and b are the same version; + * <<0 if b is newer than a + */ +gint +as_vercmp (const gchar* a, const gchar *b, AsVercmpFlags flags) +{ + AsVersion ver_a, ver_b; + gint res = 0; + + if (a == 0 && b == 0) + return 0; + if (a == NULL) + return -1; + if (b == NULL) + return 1; + + /* check if a and b are the same pointer */ + if (a == b) + return 0; + + /* Optimize the case of differing single digit epochs. */ + if (!as_flags_contains (flags, AS_VERCMP_FLAG_IGNORE_EPOCH)) { + if (*a != *b && *a != '\0' && *b != '\0' && a[1] == ':' && b[1] == ':') + return *a < *b ? -1 : 1; + } + + /* easy comparison to see if versions are identical */ + if (g_strcmp0 (a, b) == 0) + return 0; + + as_version_parse (&ver_a, a); + as_version_parse (&ver_b, b); + + if (G_UNLIKELY (ver_a.epoch != ver_b.epoch) && + (!as_flags_contains (flags, AS_VERCMP_FLAG_IGNORE_EPOCH)) && + (res = cmp_number (ver_a.epoch, ver_b.epoch, NULL, NULL)) != 0) + goto out; + else if ((res = cmp_part (ver_a.version, ver_a.version_end, + ver_b.version, ver_b.version_end)) != 0) + goto out; + /* Optimizes for native version numbers (where revision is a string literal) */ + else if (G_LIKELY (ver_a.revision != ver_b.revision) && + (res = cmp_part (ver_a.revision, ver_a.revision_end, + ver_b.revision, ver_b.revision_end)) != 0) + goto out; + + out: + return res; +} + +/** + * as_vercmp_simple: + * @a: First version number + * @b: Second version number + * + * Compare alpha and numeric segments of two software versions. + * + * Returns: >>0 if a is newer than b; + * 0 if a and b are the same version; + * <<0 if b is newer than a + */ +gint +as_vercmp_simple (const gchar* a, const gchar *b) +{ + return as_vercmp (a, b, AS_VERCMP_FLAG_NONE); +} + +/** + * as_utils_compare_versions: + * + * Compare alpha and numeric segments of two versions. + * The version compare algorithm is also used by RPM. + * + * Returns: 1: a is newer than b + * 0: a and b are the same version + * -1: b is newer than a + */ +gint +as_utils_compare_versions (const gchar* a, const gchar *b) +{ + gint r; + r = as_vercmp (a, b, AS_VERCMP_FLAG_NONE); + if (r == 0) + return 0; + return (r < 0)? -1 : 1; +} diff -Nru appstream-0.12.10/src/as-vercmp.h appstream-0.14.5/src/as-vercmp.h --- appstream-0.12.10/src/as-vercmp.h 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/src/as-vercmp.h 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,59 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2012-2021 Matthias Klumpp + * + * Licensed under the GNU Lesser General Public License Version 2.1 + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 2.1 of the license, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +#if !defined (__APPSTREAM_H) && !defined (AS_COMPILATION) +#error "Only can be included directly." +#endif +#pragma once + +#include +#include "as-component.h" + +G_BEGIN_DECLS + +/** + * AsVercmpFlags: + * @AS_VERCMP_FLAG_NONE: No flags set + * @AS_VERCMP_FLAG_IGNORE_EPOCH: Ignore epoch part of a version string. + * + * The flags used when matching unique IDs. + **/ +typedef enum { + AS_VERCMP_FLAG_NONE = 0, + AS_VERCMP_FLAG_IGNORE_EPOCH = 1 << 0, + /*< private >*/ + AS_VERCMP_FLAG_LAST +} AsVercmpFlags; + + +gint as_vercmp (const gchar* a, + const gchar *b, + AsVercmpFlags flags); +gint as_vercmp_simple (const gchar* a, + const gchar *b); + + +/* DEPRECATED */ + +G_DEPRECATED_FOR(as_vercmp_simple) +gint as_utils_compare_versions (const gchar* a, + const gchar *b); + +G_END_DECLS diff -Nru appstream-0.12.10/src/as-version.c appstream-0.14.5/src/as-version.c --- appstream-0.12.10/src/as-version.c 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/src/as-version.c 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,56 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2018 Richard Hughes + * Copyright (C) 2021 Matthias Klumpp + * + * Licensed under the GNU Lesser General Public License Version 2.1 + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 2.1 of the license, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +/** + * SECTION:as-version + * @short_description: Macros and functions to check the AppStream version + * @include: appstream.h + * @stability: Stable + * + * These functions are used in client code to conditionalize compilation + * depending on the version of libappstream headers installed. + * + * Also, a function to obtain the AppStream version at runtime is provided. + */ + +#include "config.h" + +#include + +#include "as-version.h" + +/** + * as_version_string: + * + * Get the version of the AppStream library that is currently used + * at runtime as a string. + * + * Returns: a version number, e.g. "0.14.2" + * + * Since: 0.14.0 + **/ +const gchar* +as_version_string (void) +{ + return G_STRINGIFY(AS_MAJOR_VERSION) "." + G_STRINGIFY(AS_MINOR_VERSION) "." + G_STRINGIFY(AS_MICRO_VERSION); +} diff -Nru appstream-0.12.10/src/as-version.h.in appstream-0.14.5/src/as-version.h.in --- appstream-0.12.10/src/as-version.h.in 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/src/as-version.h.in 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,49 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2014 Richard Hughes + * Copyright (C) 2021 Matthias Klumpp + * + * Licensed under the GNU Lesser General Public License Version 2.1 + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 2.1 of the license, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +#pragma once + +#if !defined (__APPSTREAM_H_INSIDE__) && !defined (AS_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +/* compile time version + */ +#define AS_MAJOR_VERSION @AS_MAJOR_VERSION_CONF@ +#define AS_MINOR_VERSION @AS_MINOR_VERSION_CONF@ +#define AS_MICRO_VERSION @AS_MICRO_VERSION_CONF@ + +/* check whether a As version equal to or greater than + * major.minor.micro. + */ +#define AS_CHECK_VERSION(major,minor,micro) \ + (AS_MAJOR_VERSION > (major) || \ + (AS_MAJOR_VERSION == (major) && AS_MINOR_VERSION > (minor)) || \ + (AS_MAJOR_VERSION == (major) && AS_MINOR_VERSION == (minor) && \ + AS_MICRO_VERSION >= (micro))) + +const gchar *as_version_string (void); + +G_END_DECLS diff -Nru appstream-0.12.10/src/as-video.c appstream-0.14.5/src/as-video.c --- appstream-0.12.10/src/as-video.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-video.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2019-2020 Matthias Klumpp + * Copyright (C) 2019-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -32,6 +32,8 @@ #include "as-video.h" #include "as-video-private.h" +#include "as-utils-private.h" + typedef struct { AsVideoCodecKind codec; @@ -237,8 +239,7 @@ as_video_set_url (AsVideo *video, const gchar *url) { AsVideoPrivate *priv = GET_PRIVATE (video); - g_free (priv->url); - priv->url = g_strdup (url); + as_assign_string_safe (priv->url, url); } /** @@ -329,8 +330,7 @@ as_video_set_locale (AsVideo *video, const gchar *locale) { AsVideoPrivate *priv = GET_PRIVATE (video); - g_free (priv->locale); - priv->locale = g_strdup (locale); + as_assign_string_safe (priv->locale, locale); } /** @@ -522,13 +522,13 @@ as_yaml_emit_entry (emitter, "url", url); if ((priv->width > 0) && (priv->height > 0)) { - as_yaml_emit_entry_uint (emitter, - "width", - priv->width); - - as_yaml_emit_entry_uint (emitter, - "height", - priv->height); + as_yaml_emit_entry_uint64 (emitter, + "width", + priv->width); + + as_yaml_emit_entry_uint64 (emitter, + "height", + priv->height); } if ((priv->locale != NULL) && (g_strcmp0 (priv->locale, "C") != 0)) as_yaml_emit_entry (emitter, "lang", priv->locale); diff -Nru appstream-0.12.10/src/as-video.h appstream-0.14.5/src/as-video.h --- appstream-0.12.10/src/as-video.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-video.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2019-2020 Matthias Klumpp + * Copyright (C) 2019-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * diff -Nru appstream-0.12.10/src/as-video-private.h appstream-0.14.5/src/as-video-private.h --- appstream-0.12.10/src/as-video-private.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-video-private.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2019-2020 Matthias Klumpp + * Copyright (C) 2019-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * diff -Nru appstream-0.12.10/src/as-xml.c appstream-0.14.5/src/as-xml.c --- appstream-0.12.10/src/as-xml.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-xml.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2012-2020 Matthias Klumpp + * Copyright (C) 2012-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -21,6 +21,8 @@ #include "as-xml.h" #include +#include + #include "as-utils.h" #include "as-utils-private.h" @@ -30,21 +32,75 @@ * @include: appstream.h */ +#if !defined(LIBXML_THREAD_ENABLED) +#error "libxml2 needs to be compiled with thread support!" +#endif + /** * as_xml_get_node_value: */ gchar* -as_xml_get_node_value (xmlNode *node) +as_xml_get_node_value (const xmlNode *node) { gchar *content; content = (gchar*) xmlNodeGetContent (node); if (content != NULL) - g_strstrip (content); + as_strstripnl (content); return content; } /** + * as_xml_get_node_value_refstr: + */ +GRefString* +as_xml_get_node_value_refstr (const xmlNode *node) +{ + g_autofree gchar *content = NULL; + content = (gchar*) xmlNodeGetContent (node); + if (content != NULL) + as_strstripnl (content); + if (content == NULL) + return g_ref_string_new_intern (""); + return g_ref_string_new_intern (content); +} + +/** + * as_xml_get_prop_value_refstr: + */ +GRefString* +as_xml_get_prop_value_refstr (const xmlNode *node, const gchar *prop_name) +{ + g_autofree gchar *tmp = as_xml_get_prop_value (node, prop_name); + return g_ref_string_new_intern (tmp); +} + +/** + * as_xml_get_prop_value_as_int: + * + * Gets a XML node property, e.g. 34 + * + * Return value: integer value, or %G_MAXINT for error + **/ +gint +as_xml_get_prop_value_as_int (const xmlNode *node, const gchar *prop_name) +{ + g_autofree gchar *tmp = NULL; + gchar *endptr = NULL; + gint64 value_tmp; + + tmp = as_xml_get_prop_value (node, prop_name); + if (tmp == NULL) + return G_MAXINT; + value_tmp = g_ascii_strtoll (tmp, &endptr, 10); + if (value_tmp == 0 && tmp == endptr) + return G_MAXINT; + if (value_tmp > G_MAXINT || value_tmp < G_MININT) + return G_MAXINT; + return (gint) value_tmp; +} + +/** * as_xml_get_node_locale_match: * @node: A XML node * @@ -112,17 +168,17 @@ } /** - * as_xml_dump_node_content: + * as_xml_dump_node_content_raw: */ gchar* -as_xml_dump_node_content (xmlNode *node) +as_xml_dump_node_content_raw (xmlNode *node) { g_autofree gchar *content = NULL; gchar *tmp; gssize len; /* discard spaces */ - if (node->type != XML_ELEMENT_NODE) + if (G_UNLIKELY (node->type != XML_ELEMENT_NODE)) return NULL; if (!as_xml_dump_node (node, &content, &len)) @@ -170,6 +226,46 @@ } /** + * as_xml_dump_desc_para_node_content_raw: + */ +static gchar* +as_xml_dump_desc_para_node_content_raw (xmlNode *node) +{ + gboolean is_valid_markup = TRUE; + + /* ignore node if it is a space */ + if (G_UNLIKELY (node->type != XML_ELEMENT_NODE)) + return NULL; + + /* perform a sanity check before dumping the node contents */ + for (xmlNode *iter = node->children; iter != NULL; iter = iter->next) { + const gchar *node_name = (const gchar*) iter->name; + if (iter->type != XML_ELEMENT_NODE) + continue; + + /* only permit valid markup */ + if ((g_strcmp0 (node_name, "em") != 0) && (g_strcmp0 (node_name, "code") != 0)) { + is_valid_markup = FALSE; + break; + } + } + + /* We dump the whole content, including subnodes/markup if the markup content + * was deemed valid. Otherwise we will just try to dump any string content, and hope + * people call the validator on their files to see that their metadata is broken. + * TODO: Parse the data properly, and remove only the bad nodes on error, if libxml permits + * that in an efficient way? */ + if (G_LIKELY (is_valid_markup)) { + return as_xml_dump_node_content_raw (node); + } else { + g_autofree gchar *tmp = as_xml_get_node_value (node); + if (G_UNLIKELY (tmp == NULL)) + return NULL; + return g_markup_escape_text (tmp, -1); + } +} + +/** * as_xml_add_children_values_to_array: */ void @@ -240,7 +336,7 @@ AsXMLMarkupParseHelper *helper = g_slice_new0 (AsXMLMarkupParseHelper); helper->locale = g_strdup (locale); - xmldata = g_strdup_printf ("%s", markup); + xmldata = g_strconcat ("", markup, "", NULL); helper->doc = xmlReadMemory (xmldata, strlen (xmldata), NULL, "utf-8", @@ -334,18 +430,50 @@ return NULL; } +typedef struct +{ + guint elem_count; + GString *data; +} AsXMLMetaInfoDescParseHelper; + +/** + * as_xml_metainfo_desc_parse_helper_new: (skip) + **/ +static AsXMLMetaInfoDescParseHelper* +as_xml_metainfo_desc_parse_helper_new () +{ + AsXMLMetaInfoDescParseHelper *helper = g_slice_new0 (AsXMLMetaInfoDescParseHelper); + helper->data = g_string_new (""); + helper->elem_count = 0; + return helper; +} + +/** + * as_xml_metainfo_desc_parse_helper_free: (skip) + **/ +static gchar* +as_xml_metainfo_desc_parse_helper_free (AsXMLMetaInfoDescParseHelper *helper) +{ + gchar *data = g_string_free (helper->data, FALSE); + g_slice_free (AsXMLMetaInfoDescParseHelper, helper); + return data; +} + /** * as_xml_parse_metainfo_description_node: */ void -as_xml_parse_metainfo_description_node (AsContext *ctx, xmlNode *node, GHFunc func, gpointer entity) +as_xml_parse_metainfo_description_node (AsContext *ctx, xmlNode *node, GHashTable *l10n_desc) { - xmlNode *iter; - g_autoptr(GHashTable) desc = NULL; + g_autoptr(GHashTable) tmp_desc = NULL; + GHashTableIter res_iter; + gpointer res_value; + gpointer res_key; + AsXMLMetaInfoDescParseHelper *phelper; + guint untranslated_elem_count = 0; - desc = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL); - for (iter = node->children; iter != NULL; iter = iter->next) { - GString *str; + tmp_desc = g_hash_table_new_full (g_str_hash, g_str_equal, (GDestroyNotify) g_ref_string_release, NULL); + for (xmlNode *iter = node->children; iter != NULL; iter = iter->next) { AsTag tag_id; const gchar *node_name = (const gchar*) iter->name; @@ -363,15 +491,19 @@ /* this locale is not for us */ continue; - str = g_hash_table_lookup (desc, lang); - if (str == NULL) { - str = g_string_new (""); - g_hash_table_insert (desc, g_strdup (lang), str); + phelper = g_hash_table_lookup (tmp_desc, lang); + if (phelper == NULL) { + phelper = as_xml_metainfo_desc_parse_helper_new (); + g_hash_table_insert (tmp_desc, + g_ref_string_new_intern (lang), + phelper); } - content = as_xml_dump_node_content (iter); - if (content != NULL) - g_string_append_printf (str, "

                                                                                                                                                                                                                                                                                                                                                                                                                                                    %s

                                                                                                                                                                                                                                                                                                                                                                                                                                                    \n", content); + content = as_xml_dump_desc_para_node_content_raw (iter); + if (content != NULL) { + g_string_append_printf (phelper->data, "

                                                                                                                                                                                                                                                                                                                                                                                                                                                    %s

                                                                                                                                                                                                                                                                                                                                                                                                                                                    \n", content); + phelper->elem_count += 1; + } } else if ((tag_id == AS_TAG_UL) || (tag_id == AS_TAG_OL)) { GHashTableIter htiter; @@ -379,9 +511,9 @@ xmlNode *iter2; /* append listing node tag to every locale string */ - g_hash_table_iter_init (&htiter, desc); + g_hash_table_iter_init (&htiter, tmp_desc); while (g_hash_table_iter_next (&htiter, NULL, &hvalue)) { - GString *hstr = (GString*) hvalue; + GString *hstr = ((AsXMLMetaInfoDescParseHelper*) hvalue)->data; g_string_append_printf (hstr, "<%s>\n", node_name); } @@ -400,28 +532,61 @@ continue; /* if the language is new, we add a listing tag first */ - str = g_hash_table_lookup (desc, lang); - if (str == NULL) { - str = g_string_new (""); - g_string_append_printf (str, "<%s>\n", node_name); - g_hash_table_insert (desc, g_strdup (lang), str); + phelper = g_hash_table_lookup (tmp_desc, lang); + if (phelper == NULL) { + phelper = as_xml_metainfo_desc_parse_helper_new (); + g_string_append_printf (phelper->data, "<%s>\n", node_name); + g_hash_table_insert (tmp_desc, + g_ref_string_new_intern (lang), + phelper); } - content = as_xml_dump_node_content (iter2); - if (content != NULL) - g_string_append_printf (str, " <%s>%s\n", (gchar*) iter2->name, content, (gchar*) iter2->name); + content = as_xml_dump_desc_para_node_content_raw (iter2); + if (content != NULL) { + g_string_append_printf (phelper->data, " <%s>%s\n", + (gchar*) iter2->name, + content, + (gchar*) iter2->name); + phelper->elem_count += 1; + } } /* close listing tags */ - g_hash_table_iter_init (&htiter, desc); + g_hash_table_iter_init (&htiter, tmp_desc); while (g_hash_table_iter_next (&htiter, NULL, &hvalue)) { - GString *hstr = (GString*) hvalue; + GString *hstr = ((AsXMLMetaInfoDescParseHelper*) hvalue)->data; g_string_append_printf (hstr, "\n", node_name); } } } - g_hash_table_foreach (desc, func, entity); + phelper = g_hash_table_lookup (tmp_desc, "C"); + if (phelper != NULL) + untranslated_elem_count = phelper->elem_count; + + /* finalize the data */ + g_hash_table_iter_init (&res_iter, tmp_desc); + while (g_hash_table_iter_next (&res_iter, &res_key, &res_value)) { + g_autofree gchar *text = NULL; + guint elem_count; + phelper = (AsXMLMetaInfoDescParseHelper*) res_value; + + elem_count = phelper->elem_count; + text = as_xml_metainfo_desc_parse_helper_free (phelper); + + /* we require at the very least either more than 3 elements of the description to be translated or + * all of the elements if there are less than 3 elements to accept a translation. + * See https://github.com/ximion/appstream/issues/293 for more information on the kind of issue that + * caused this workaround. */ + if (elem_count < 3) { + if (elem_count < untranslated_elem_count) + continue; + } + + g_hash_table_insert (l10n_desc, + g_ref_string_acquire (res_key), + g_steal_pointer (&text)); + } } /** @@ -436,7 +601,7 @@ xmlNode *cnode; g_autoptr(AsXMLMarkupParseHelper) helper = NULL; - if (as_str_empty (description_markup)) + if (as_is_empty (description_markup)) return FALSE; /* skip cruft */ @@ -577,6 +742,47 @@ } /** + * as_xml_add_description_node_raw: + * + * Add a simple description node in verbatim, performing only basic markup + * validation. The node will not have a language property attached. + * + * Returns: The new xmlNode, or %NULL if no node was appended. + */ +xmlNode* +as_xml_add_description_node_raw (xmlNode *root, const gchar *description) +{ + xmlNode *dnode; + xmlNode *cnode; + g_autoptr(AsXMLMarkupParseHelper) helper = NULL; + + if (as_is_empty (description)) + return NULL; + + helper = as_xml_markup_parse_helper_new (description, NULL); + if (helper == NULL) + return NULL; + + dnode = xmlNewChild (root, NULL, (xmlChar*) "description", NULL); + if (helper->node == NULL) + return NULL; + cnode = dnode; + + do { + if ((helper->tag_id == AS_TAG_UL) || (helper->tag_id == AS_TAG_OL)) { + cnode = as_xml_markup_parse_helper_export_node (helper, dnode, FALSE); + } else { + if (helper->tag_id != AS_TAG_LI) + cnode = dnode; + + as_xml_markup_parse_helper_export_node (helper, cnode, FALSE); + } + } while (as_xml_markup_parse_helper_next (helper)); + + return dnode; +} + +/** * as_xml_add_localized_text_node: * * Add set of localized XML nodes based on a localization table. @@ -593,7 +799,7 @@ const gchar *locale = (const gchar*) link->data; const gchar *str = (const gchar*) g_hash_table_lookup (value_table, locale); - if (as_str_empty (str)) + if (as_is_empty (str)) continue; /* skip cruft */ @@ -678,20 +884,98 @@ } /** + * as_xml_parse_custom_node: + * + * Parse a custom key/value table from XML into a #GHashTable + * using #GRefString as key/value. + */ +void +as_xml_parse_custom_node (xmlNode *node, GHashTable *custom) +{ + for (xmlNode *iter = node->children; iter != NULL; iter = iter->next) { + g_autofree gchar *key_str = NULL; + + if (iter->type != XML_ELEMENT_NODE) + continue; + if (g_strcmp0 ((gchar*) iter->name, "value") != 0) + continue; + + key_str = (gchar*) xmlGetProp (iter, (xmlChar*) "key"); + if (key_str == NULL) + continue; + + g_hash_table_insert (custom, + g_ref_string_new_intern (key_str), + as_xml_get_node_value_refstr (iter)); + } +} + +/** + * as_xml_add_custom_node: + * + * Add a custom key/value table to the XML DOM. + * The #GHashTable should use #GRefString as keys/values. + */ +void +as_xml_add_custom_node (xmlNode *root, const gchar *node_name, GHashTable *custom) +{ + xmlNode *node; + g_autoptr(GList) keys = NULL; + + if (g_hash_table_size (custom) == 0) + return; + + node = xmlNewChild (root, NULL, (xmlChar*) node_name, NULL); + keys = g_hash_table_get_keys (custom); + keys = g_list_sort (keys, (GCompareFunc) g_ascii_strcasecmp); + for (GList *link = keys; link != NULL; link = link->next) { + const GRefString *key = (const GRefString*) link->data; + + xmlNode *snode = xmlNewTextChild (node, + NULL, + (xmlChar*) "value", + (xmlChar*) g_hash_table_lookup (custom, key)); + xmlNewProp (snode, + (xmlChar*) "key", + (xmlChar*) key); + } +} + +/** * as_xml_add_text_node: + * @root: The node to add a child to. + * @name: The new node name. + * @value: The new node value. * - * Add node if value is not empty + * Add node if value is not empty. */ xmlNode* as_xml_add_text_node (xmlNode *root, const gchar *name, const gchar *value) { - if (as_str_empty (value)) + if (as_is_empty (value)) return NULL; return xmlNewTextChild (root, NULL, (xmlChar*) name, (xmlChar*) value); } /** + * as_xml_add_text_prop: + * @node: The node to attach a property to. + * @name: The new property name. + * @value: The new property value. + * + * Add property to node if value is not empty. + */ +xmlAttr* +as_xml_add_text_prop (xmlNode *node, const gchar *name, const gchar *value) +{ + if (as_is_empty (value)) + return NULL; + + return xmlNewProp (node, (xmlChar*) name, (xmlChar*) value); +} + +/** * libxml_generic_error: * * Catch out-of-context errors emitted by libxml2. @@ -721,13 +1005,14 @@ /** * as_xml_set_out_of_context_error: + * + * NOTE: The error-function is supposed to be set & called + * thread-local, so we don't need to do any locking here. We just + * need to make sure it is set for each thread. */ static void as_xml_set_out_of_context_error (gchar **error_msg_ptr) { - static GMutex mutex; - - g_mutex_lock (&mutex); if (error_msg_ptr == NULL) { xmlSetGenericErrorFunc (NULL, NULL); } else { @@ -735,7 +1020,6 @@ (*error_msg_ptr) = NULL; xmlSetGenericErrorFunc (error_msg_ptr, (xmlGenericErrorFunc) libxml_generic_error); } - g_mutex_unlock (&mutex); } /** @@ -765,12 +1049,12 @@ if (error_msg_str == NULL) { g_set_error (error, AS_METADATA_ERROR, - AS_METADATA_ERROR_FAILED, + AS_METADATA_ERROR_PARSE, "Could not parse XML data (no details received)"); } else { g_set_error (error, AS_METADATA_ERROR, - AS_METADATA_ERROR_FAILED, + AS_METADATA_ERROR_PARSE, "Could not parse XML data: %s", error_msg_str); } as_xml_set_out_of_context_error (NULL); @@ -782,7 +1066,7 @@ if (root == NULL) { g_set_error_literal (error, AS_METADATA_ERROR, - AS_METADATA_ERROR_FAILED, + AS_METADATA_ERROR_PARSE, "The XML document is empty."); xmlFreeDoc (doc); return NULL; diff -Nru appstream-0.12.10/src/as-xml.h appstream-0.14.5/src/as-xml.h --- appstream-0.12.10/src/as-xml.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-xml.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2012-2020 Matthias Klumpp + * Copyright (C) 2012-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -35,7 +35,13 @@ G_BEGIN_DECLS #pragma GCC visibility push(hidden) -gchar *as_xml_get_node_value (xmlNode *node); +gchar *as_xml_get_node_value (const xmlNode *node); +GRefString *as_xml_get_node_value_refstr (const xmlNode *node); + +#define as_xml_get_prop_value(node, prop_name) (gchar*) (xmlGetProp (node, (xmlChar*) prop_name)) +GRefString *as_xml_get_prop_value_refstr (const xmlNode *node, const gchar *prop_name); +gint as_xml_get_prop_value_as_int (const xmlNode *node, const gchar *prop_name); + gchar *as_xml_get_node_locale_match (AsContext *ctx, xmlNode *node); @@ -50,15 +56,16 @@ void as_xml_parse_metainfo_description_node (AsContext *ctx, xmlNode *node, - GHFunc func, - gpointer entity); + GHashTable *l10n_desc); -gchar *as_xml_dump_node_content (xmlNode *node); +gchar *as_xml_dump_node_content_raw (xmlNode *node); gchar *as_xml_dump_node_children (xmlNode *node); void as_xml_add_description_node (AsContext *ctx, xmlNode *root, GHashTable *desc_table); +xmlNode *as_xml_add_description_node_raw (xmlNode *root, + const gchar *description); void as_xml_add_localized_text_node (xmlNode *root, const gchar *node_name, @@ -74,8 +81,17 @@ const gchar *child_name, GPtrArray *array); +void as_xml_parse_custom_node (xmlNode *node, + GHashTable *custom); +void as_xml_add_custom_node (xmlNode *root, + const gchar *node_name, + GHashTable *custom); + xmlNode *as_xml_add_text_node (xmlNode *root, - const gchar *name, + const gchar *name, + const gchar *value); +xmlAttr *as_xml_add_text_prop (xmlNode *node, + const gchar *name, const gchar *value); xmlDoc *as_xml_parse_document (const gchar *data, diff -Nru appstream-0.12.10/src/as-yaml.c appstream-0.14.5/src/as-yaml.c --- appstream-0.12.10/src/as-yaml.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-yaml.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2012-2020 Matthias Klumpp + * Copyright (C) 2012-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -72,7 +72,7 @@ g_set_error (error, AS_METADATA_ERROR, AS_METADATA_ERROR_PARSE, - "Invalid DEP-11 file found. Could not parse YAML: %s", parser->problem); + "Metadata is invalid. Unable to parse YAML: %s", parser->problem); break; } @@ -163,6 +163,28 @@ } /** + * as_yaml_node_get_key_refstr: + * + * Helper method to get the key of a node. + */ +GRefString* +as_yaml_node_get_key_refstr (GNode *n) +{ + return g_ref_string_new_intern (as_yaml_node_get_key (n)); +} + +/** + * as_yaml_node_get_value_refstr: + * + * Helper method to get the value of a node. + */ +GRefString* +as_yaml_node_get_value_refstr (GNode *n) +{ + return g_ref_string_new_intern (as_yaml_node_get_value (n)); +} + +/** * as_yaml_print_unknown: */ void @@ -239,7 +261,7 @@ NULL, NULL, (yaml_char_t*) value, - strlen (value), + -1, TRUE, TRUE, style); @@ -261,7 +283,7 @@ NULL, NULL, (yaml_char_t*) value, - strlen (value), + -1, TRUE, TRUE, YAML_ANY_SCALAR_STYLE); @@ -270,21 +292,21 @@ } /** - * as_yaml_emit_scalar_uint: + * as_yaml_emit_scalar_uint64: */ void -as_yaml_emit_scalar_uint (yaml_emitter_t *emitter, guint value) +as_yaml_emit_scalar_uint64 (yaml_emitter_t *emitter, guint64 value) { gint ret; yaml_event_t event; g_autofree gchar *value_str = NULL; - value_str = g_strdup_printf("%i", value); + value_str = g_strdup_printf ("%" G_GUINT64_FORMAT, value); yaml_scalar_event_initialize (&event, NULL, NULL, (yaml_char_t*) value_str, - strlen (value_str), + -1, TRUE, TRUE, YAML_ANY_SCALAR_STYLE); @@ -314,7 +336,7 @@ NULL, NULL, (yaml_char_t*) key, - strlen (key), + -1, TRUE, TRUE, keystyle); @@ -336,13 +358,13 @@ } /** - * as_yaml_emit_entry_uint: + * as_yaml_emit_entry_uint64: */ void -as_yaml_emit_entry_uint (yaml_emitter_t *emitter, const gchar *key, guint value) +as_yaml_emit_entry_uint64 (yaml_emitter_t *emitter, const gchar *key, guint64 value) { as_yaml_emit_scalar_key (emitter, key); - as_yaml_emit_scalar_uint (emitter, value); + as_yaml_emit_scalar_uint64 (emitter, value); } /** @@ -362,7 +384,7 @@ NULL, NULL, (yaml_char_t*) time_str, - strlen (time_str), + -1, TRUE, TRUE, YAML_ANY_SCALAR_STYLE); @@ -388,7 +410,7 @@ NULL, NULL, (yaml_char_t*) value, - strlen (value), + -1, TRUE, TRUE, YAML_FOLDED_SCALAR_STYLE); @@ -413,7 +435,7 @@ NULL, NULL, (yaml_char_t*) value, - strlen (value), + -1, TRUE, TRUE, YAML_LITERAL_SCALAR_STYLE); @@ -484,14 +506,14 @@ void as_yaml_set_localized_table (AsContext *ctx, GNode *node, GHashTable *l10n_table) { - GNode *n; - - for (n = node->children; n != NULL; n = n->next) { + for (GNode *n = node->children; n != NULL; n = n->next) { const gchar *locale = as_yaml_get_node_locale (ctx, n); - if (locale != NULL) + if (locale != NULL) { + g_autofree gchar *locale_noenc = as_locale_strip_encoding (locale); g_hash_table_insert (l10n_table, - as_locale_strip_encoding (g_strdup (locale)), + g_ref_string_new_intern (locale_noenc), g_strdup (as_yaml_node_get_value (n))); + } } } @@ -524,15 +546,14 @@ static void as_yaml_emit_lang_hashtable_entries (gchar *key, gchar *value, yaml_emitter_t *emitter) { - if (as_str_empty (value)) + if (as_is_empty (value)) return; /* skip cruft */ if (as_is_cruft_locale (key)) return; - g_strstrip (value); - as_yaml_emit_entry (emitter, key, value); + as_yaml_emit_entry (emitter, key, as_strstripnl (value)); } /** @@ -553,15 +574,14 @@ static void as_yaml_emit_lang_hashtable_entries_long (gchar *key, gchar *value, yaml_emitter_t *emitter) { - if (as_str_empty (value)) + if (as_is_empty (value)) return; /* skip cruft */ if (as_is_cruft_locale (key)) return; - g_strstrip (value); - as_yaml_emit_long_entry (emitter, key, value); + as_yaml_emit_long_entry (emitter, key, as_strstripnl (value)); } /** @@ -621,6 +641,7 @@ static void as_yaml_localized_list_helper (gchar *key, gchar **strv, yaml_emitter_t *emitter) { + g_autofree gchar *locale_noenc = NULL; guint i; if (strv == NULL) return; @@ -629,7 +650,8 @@ if (as_is_cruft_locale (key)) return; - as_yaml_emit_scalar (emitter, key); + locale_noenc = as_locale_strip_encoding (key); + as_yaml_emit_scalar (emitter, locale_noenc); as_yaml_sequence_start (emitter); for (i = 0; strv[i] != NULL; i++) { as_yaml_emit_scalar (emitter, strv[i]); diff -Nru appstream-0.12.10/src/as-yaml.h appstream-0.14.5/src/as-yaml.h --- appstream-0.12.10/src/as-yaml.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/as-yaml.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2012-2020 Matthias Klumpp + * Copyright (C) 2012-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -43,9 +43,14 @@ const gchar *as_yaml_node_get_key (GNode *n); const gchar *as_yaml_node_get_value (GNode *n); +GRefString *as_yaml_node_get_key_refstr (GNode *n); +GRefString *as_yaml_node_get_value_refstr (GNode *n); + void as_yaml_print_unknown (const gchar *root, const gchar *key); +/* these functions have internal visibility, so appstream-compose can write YAML data */ +#pragma GCC visibility push(default) void as_yaml_mapping_start (yaml_emitter_t *emitter); void as_yaml_mapping_end (yaml_emitter_t *emitter); @@ -59,16 +64,16 @@ const gchar *value); void as_yaml_emit_scalar (yaml_emitter_t *emitter, const gchar *value); -void as_yaml_emit_scalar_uint (yaml_emitter_t *emitter, - guint value); +void as_yaml_emit_scalar_uint64 (yaml_emitter_t *emitter, + guint64 value); void as_yaml_emit_scalar_key (yaml_emitter_t *emitter, const gchar *key); void as_yaml_emit_entry (yaml_emitter_t *emitter, const gchar *key, const gchar *value); -void as_yaml_emit_entry_uint (yaml_emitter_t *emitter, - const gchar *key, - guint value); +void as_yaml_emit_entry_uint64 (yaml_emitter_t *emitter, + const gchar *key, + guint64 value); void as_yaml_emit_entry_timestamp (yaml_emitter_t *emitter, const gchar *key, guint64 unixtime); @@ -78,6 +83,7 @@ void as_yaml_emit_sequence (yaml_emitter_t *emitter, const gchar *key, GPtrArray *list); +#pragma GCC visibility pop void as_yaml_emit_sequence_from_str_array (yaml_emitter_t *emitter, const gchar *key, GPtrArray *array); diff -Nru appstream-0.12.10/src/meson.build appstream-0.14.5/src/meson.build --- appstream-0.12.10/src/meson.build 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/src/meson.build 2021-08-28 20:15:28.000000000 +0000 @@ -1,122 +1,144 @@ # Meson build configuration for the AppStream library -appstream_lib_inc = include_directories ('.') +appstream_lib_inc = include_directories('.') aslib_src = [ 'as-utils.c', # internal - 'as-tag.c', - 'as-context.c', - 'as-xml.c', - 'as-yaml.c', 'as-cache.c', + 'as-curl.c', 'as-desktop-entry.c', 'as-distro-extras.c', - 'as-stemmer.c', 'as-news-convert.c', + 'as-profile.c', + 'as-stemmer.c', + 'as-tag.c', + 'as-xml.c', + 'as-yaml.c', # (mostly) public - 'as-spdx.c', - 'as-metadata.c', - 'as-component.c', - 'as-enums.c', - 'as-provided.c', + 'as-agreement.c', + 'as-agreement-section.c', + 'as-artifact.c', 'as-bundle.c', - 'as-pool.c', 'as-category.c', + 'as-checksum.c', + 'as-component.c', + 'as-content-rating.c', + 'as-context.c', 'as-distro-details.c', - 'as-screenshot.c', + 'as-enums.c', + 'as-icon.c', 'as-image.c', - 'as-video.c', + 'as-issue.c', + 'as-launchable.c', + 'as-metadata.c', + 'as-pool.c', + 'as-provided.c', + 'as-relation.c', 'as-release.c', - 'as-checksum.c', + 'as-review.c', + 'as-screenshot.c', + 'as-spdx.c', + 'as-suggested.c', + 'as-translation.c', 'as-validator.c', 'as-validator-issue.c', - 'as-icon.c', - 'as-translation.c', - 'as-suggested.c', - 'as-content-rating.c', - 'as-launchable.c', - 'as-relation.c', - 'as-agreement.c', - 'as-agreement-section.c', - 'as-artifact.c', - 'as-issue.c' + 'as-vercmp.c', + 'as-version.c', + 'as-video.c' ] aslib_pub_headers = [ 'appstream.h', - 'as-utils.h', - 'as-spdx.h', - 'as-context.h', - 'as-metadata.h', - 'as-component.h', - 'as-pool.h', - 'as-enums.h', - 'as-provided.h', + 'as-agreement.h', + 'as-agreement-section.h', + 'as-artifact.h', 'as-bundle.h', 'as-category.h', + 'as-checksum.h', + 'as-component.h', + 'as-content-rating.h', + 'as-context.h', 'as-distro-details.h', - 'as-screenshot.h', + 'as-enums.h', + 'as-icon.h', 'as-image.h', - 'as-video.h', + 'as-issue.h', + 'as-launchable.h', + 'as-metadata.h', + 'as-pool.h', + 'as-provided.h', + 'as-relation.h', 'as-release.h', - 'as-checksum.h', + 'as-review.h', + 'as-screenshot.h', + 'as-spdx.h', + 'as-suggested.h', + 'as-translation.h', + 'as-utils.h', 'as-validator.h', 'as-validator-issue.h', - 'as-icon.h', - 'as-translation.h', - 'as-suggested.h', - 'as-content-rating.h', - 'as-launchable.h', - 'as-relation.h', - 'as-agreement.h', - 'as-agreement-section.h', - 'as-artifact.h', - 'as-issue.h' + 'as-vercmp.h', + 'as-video.h' ] aslib_priv_headers = [ - 'as-utils-private.h', - 'as-tag.h', - 'as-context-private.h', - 'as-xml.h', - 'as-yaml.h', + 'as-agreement-private.h', + 'as-agreement-section-private.h', + 'as-bundle-private.h', 'as-cache.h', - 'as-desktop-entry.h', - 'as-pool-private.h', - 'as-image-private.h', + 'as-checksum-private.h', 'as-component-private.h', + 'as-content-rating-private.h', + 'as-context-private.h', + 'as-curl.h', + 'as-desktop-entry.h', 'as-distro-details-private.h', - 'as-screenshot-private.h', - 'as-release-private.h', 'as-distro-extras.h', - 'as-stemmer.h', - 'as-content-rating-private.h', - 'as-bundle-private.h', - 'as-checksum-private.h', 'as-icon-private.h', + 'as-image-private.h', + 'as-issue-private.h', 'as-launchable-private.h', + 'as-news-convert.h', + 'as-pool-private.h', + 'as-profile.h', 'as-relation-private.h', - 'as-agreement-private.h', - 'as-agreement-section-private.h', + 'as-release-private.h', + 'as-review-private.h', + 'as-screenshot-private.h', + 'as-stemmer.h', + 'as-tag.h', + 'as-utils-private.h', 'as-validator-issue-tag.h', - 'as-news-convert.h', - 'as-issue-private.h' + 'as-xml.h', + 'as-yaml.h' ] +as_version_h = configure_file( + input: 'as-version.h.in', + output: 'as-version.h', + install_dir: join_paths(get_option('includedir'), 'appstream'), + configuration: conf +) + +aslib_pub_enums = glib.mkenums_simple('as-enum-types', + sources: aslib_pub_headers, + install_header: true, + install_dir: join_paths(get_option('includedir'), 'appstream') +) + aslib_res = glib.compile_resources ( 'as-resources', 'appstream.gresource.xml', - c_name : 'as', - source_dir : ['../data'] + c_name: 'as', + source_dir: ['../data'] ) - # gperf sources aslib_gperf_xml = custom_target( 'gperf as-xml-tag', - output : 'as-tag-xml-private.h', - input : 'as-tag-xml.gperf', - command : [ + output: 'as-tag-xml-private.h', + input: 'as-tag-xml.gperf', + command: [ gperf.path(), '@INPUT@', '--output-file', @@ -125,9 +147,9 @@ ) aslib_gperf_yaml = custom_target( 'gperf as-yaml-tag', - output : 'as-tag-yaml-private.h', - input : 'as-tag-yaml.gperf', - command : [ + output: 'as-tag-yaml-private.h', + input: 'as-tag-yaml.gperf', + command: [ gperf.path(), '@INPUT@', '--output-file', @@ -139,7 +161,7 @@ aslib_deps = [glib_dep, gobject_dep, gio_unix_dep, - soup_dep, + curl_dep, lmdb_dep, xml2_dep, yaml_dep] @@ -154,18 +176,30 @@ [aslib_src, aslib_pub_headers, aslib_priv_headers, - aslib_res], + aslib_res, + aslib_pub_enums], soversion: as_api_level, version: as_version, dependencies: [aslib_deps], include_directories: [stemmer_inc_dirs, - include_directories ('..')], + root_inc_dir], install: true ) -pkgc.generate ( +appstream_dep = declare_dependency( + link_with: appstream_lib, + sources: [ + aslib_pub_headers, + aslib_pub_enums + ], + dependencies: [glib_dep, + gobject_dep], + include_directories: [appstream_lib_inc] +) + +pkgc.generate( + appstream_lib, version: as_version, - libraries: appstream_lib, name: 'appstream', description: 'Library to work with AppStream metadata.', filebase: 'appstream', @@ -189,7 +223,10 @@ if get_option ('gir') as_gir_typelib = glib.generate_gir ( appstream_lib, - sources: aslib_src + aslib_pub_headers, + sources: [aslib_src, + aslib_pub_headers, + aslib_pub_enums, + as_version_h], nsversion: '1.0', namespace: 'AppStream', symbol_prefix: 'as', @@ -199,7 +236,7 @@ 'GObject-2.0', 'Gio-2.0' ], - extra_args: ['--c-include=appstream.h'], + header: 'appstream.h', install: true ) diff -Nru appstream-0.12.10/tests/as-test-utils.c appstream-0.14.5/tests/as-test-utils.c --- appstream-0.12.10/tests/as-test-utils.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/tests/as-test-utils.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2012-2020 Matthias Klumpp + * Copyright (C) 2012-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -76,6 +76,15 @@ } /** + * as_sort_strings: + */ +void +as_sort_strings (GPtrArray *utf8) +{ + g_ptr_array_sort (utf8, as_sort_strings_cb); +} + +/** * as_component_sort_values: */ void @@ -116,3 +125,12 @@ { g_ptr_array_sort (cpts, as_sort_components_cb); } + +/** + * as_gbytes_from_literal: + */ +GBytes* +as_gbytes_from_literal (const gchar *string) +{ + return g_bytes_new_static (string, strlen (string)); +} diff -Nru appstream-0.12.10/tests/as-test-utils.h appstream-0.14.5/tests/as-test-utils.h --- appstream-0.12.10/tests/as-test-utils.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/tests/as-test-utils.h 2021-08-28 20:15:28.000000000 +0000 @@ -12,6 +12,9 @@ void as_component_sort_values (AsComponent *cpt); void as_sort_components (GPtrArray *cpts); +void as_sort_strings (GPtrArray *utf8); + +GBytes *as_gbytes_from_literal (const gchar *string); G_END_DECLS diff -Nru appstream-0.12.10/tests/ci/build_and_test.sh appstream-0.14.5/tests/ci/build_and_test.sh --- appstream-0.12.10/tests/ci/build_and_test.sh 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/tests/ci/build_and_test.sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,43 +0,0 @@ -#!/bin/sh -set -e - -echo "C compiler: $CC" -echo "C++ compiler: $CXX" -set -x - -# -# This script is supposed to run inside the AppStream Docker container -# on the CI system. -# - -$CC --version - -# configure AppStream build with all flags enabled -mkdir build && cd build -meson -Dmaintainer=true \ - -Ddocs=true \ - -Dqt=true \ - -Dapt-support=true \ - -Dvapi=true \ - .. - -# Build, Test & Install -# (the number of Ninja jobs needs to be limited, so Travis doesn't kill us) -ninja -j4 -ninja documentation -ninja test -v -DESTDIR=/tmp/install_root/ ninja install - -# Rebuild everything with Sanitizers enabled -# FIXME: Doesn't work properly with Clang at time, so we only run this test with GCC. -cd .. && rm -rf build && mkdir build && cd build - -# FIXME: we can not build with sanitizers at the moment, because Meson/g-ir-scanner is buggy -# Add -Db_sanitize=address,undefined to try the full thing. -#meson -Dmaintainer=true \ -# -Dqt=true \ -# -Dapt-support=true \ -# -Dvapi=true \ -# -Db_sanitize=address \ -# .. -#if [ "$CC" != "clang" ]; then ninja -j4 && ninja test -v; fi diff -Nru appstream-0.12.10/tests/ci/Dockerfile appstream-0.14.5/tests/ci/Dockerfile --- appstream-0.12.10/tests/ci/Dockerfile 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/tests/ci/Dockerfile 1970-01-01 00:00:00.000000000 +0000 @@ -1,35 +0,0 @@ -# -# Docker file for AppStream CI tests -# -FROM debian:testing - -# prepare -RUN apt-get update -qq - -# install build essentials -RUN apt-get install -yq gcc g++ clang - -# install build dependencies -RUN apt-get install -yq --no-install-recommends \ - meson \ - ninja-build \ - gettext \ - itstool \ - libglib2.0-dev \ - libxml2-dev \ - libyaml-dev \ - liblmdb-dev \ - libsoup2.4-dev \ - gtk-doc-tools \ - libgirepository1.0-dev \ - qt5-default \ - xmlto \ - publican \ - gobject-introspection \ - libstemmer-dev \ - gperf \ - valac - -# finish -RUN mkdir /build -WORKDIR /build diff -Nru appstream-0.12.10/tests/ci/Dockerfile-debian-stable appstream-0.14.5/tests/ci/Dockerfile-debian-stable --- appstream-0.12.10/tests/ci/Dockerfile-debian-stable 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/tests/ci/Dockerfile-debian-stable 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,14 @@ +# +# Docker file for AppStream CI tests on Debian Stable +# +FROM debian:bullseye + +# prepare +RUN mkdir -p /build/ci/ + +# install build dependencies +COPY install-deps-deb.sh /build/ci/ +RUN chmod +x /build/ci/install-deps-deb.sh && /build/ci/install-deps-deb.sh + +# finish +WORKDIR /build diff -Nru appstream-0.12.10/tests/ci/Dockerfile-debian-testing appstream-0.14.5/tests/ci/Dockerfile-debian-testing --- appstream-0.12.10/tests/ci/Dockerfile-debian-testing 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/tests/ci/Dockerfile-debian-testing 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,14 @@ +# +# Docker file for AppStream CI tests on Debian Testing +# +FROM debian:testing + +# prepare +RUN mkdir -p /build/ci/ + +# install build dependencies +COPY install-deps-deb.sh /build/ci/ +RUN chmod +x /build/ci/install-deps-deb.sh && /build/ci/install-deps-deb.sh + +# finish +WORKDIR /build diff -Nru appstream-0.12.10/tests/ci/install-deps-deb.sh appstream-0.14.5/tests/ci/install-deps-deb.sh --- appstream-0.12.10/tests/ci/install-deps-deb.sh 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/tests/ci/install-deps-deb.sh 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,54 @@ +#!/bin/sh +# +# Install AppStream build dependencies +# +set -e +set -x + +export DEBIAN_FRONTEND=noninteractive + +# update caches +apt-get update -qq + +# install build essentials +apt-get install -yq \ + eatmydata \ + build-essential \ + gdb \ + gcc \ + g++ + +# install common build dependencies +eatmydata apt-get install -yq --no-install-recommends \ + meson \ + ninja-build \ + gettext \ + itstool \ + libglib2.0-dev \ + libxml2-dev \ + libyaml-dev \ + liblmdb-dev \ + libcurl4-gnutls-dev \ + gtk-doc-tools \ + libgirepository1.0-dev \ + qtbase5-dev \ + xmlto \ + daps \ + gobject-introspection \ + libstemmer-dev \ + gperf \ + valac + +# install build dependencies for libappstream-compose +. /etc/os-release +if [ "$ID" = "ubuntu" ]; then + gdk_pixbuf_dep="libgdk-pixbuf2.0-dev" +else + gdk_pixbuf_dep="libgdk-pixbuf-2.0-dev" +fi; +eatmydata apt-get install -yq --no-install-recommends \ + $gdk_pixbuf_dep \ + librsvg2-dev \ + libcairo2-dev \ + libfontconfig-dev \ + libpango1.0-dev diff -Nru appstream-0.12.10/tests/ci/run-build.sh appstream-0.14.5/tests/ci/run-build.sh --- appstream-0.12.10/tests/ci/run-build.sh 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/tests/ci/run-build.sh 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,62 @@ +#!/bin/sh +set -e + +# This script is supposed to run inside the AppStream Docker container +# on the CI system. + +# +# Read options for the current test build +# + +. /etc/os-release +build_compose=true +maintainer_mode=true +if [ "$ID" = "ubuntu" ] && [ "$VERSION_CODENAME" = "focal" ]; then + # we don't make warnings fatal on Ubuntu 20.04 + maintainer_mode=false +fi; + +build_type=debugoptimized +build_dir="cibuild" +sanitize_flag="" +if [ "$1" = "sanitize" ]; then + build_dir="cibuild-san" + # FIXME: Build withour GIR, as g-ir-scanner hangs endlessly when using asan + sanitize_flags="-Db_sanitize=address,undefined -Dgir=false" + build_type=debug + echo "Running build with sanitizers 'address,undefined' enabled." + # Slow unwind, but we get better backtraces + export ASAN_OPTIONS=fast_unwind_on_malloc=0 +fi; +if [ "$1" = "codeql" ]; then + build_type=debug +fi; + +echo "C compiler: $CC" +echo "C++ compiler: $CXX" +set -x +$CC --version + +# +# Configure AppStream build with all flags enabled +# + +mkdir $build_dir && cd $build_dir +meson --buildtype=$build_type \ + $sanitize_flags \ + -Dmaintainer=$maintainer_mode \ + -Ddocs=true \ + -Dqt=true \ + -Dcompose=$build_compose \ + -Dapt-support=true \ + -Dvapi=true \ + .. + +# +# Build & Install +# + +ninja +ninja documentation +DESTDIR=/tmp/install_root/ ninja install +rm -r /tmp/install_root/ diff -Nru appstream-0.12.10/tests/ci/run-tests.sh appstream-0.14.5/tests/ci/run-tests.sh --- appstream-0.12.10/tests/ci/run-tests.sh 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/tests/ci/run-tests.sh 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,37 @@ +#!/bin/sh +set -e + +# This script is supposed to run inside the AppStream Docker container +# on the CI system. + +# +# Read options for the current test run +# + +build_dir="cibuild" +if [ "$1" = "sanitize" ]; then + build_dir="cibuild-san" + echo "Testing sanitized build." + # Slow unwind, but we get better backtraces + export ASAN_OPTIONS=fast_unwind_on_malloc=0 + + # no GLib memory pools + export G_SLICE=always-malloc + + # pedantic malloc + export MALLOC_CHECK_=3 +fi; + +if [ ! -d "$build_dir" ]; then + # Take action if $DIR exists. # + echo "Build directory '$build_dir' did not exist. Can not continue." + exit 1 +fi +set -x + +# +# Run tests +# + +cd $build_dir +meson test --print-errorlogs diff -Nru appstream-0.12.10/tests/installed-tests/meson.build appstream-0.14.5/tests/installed-tests/meson.build --- appstream-0.12.10/tests/installed-tests/meson.build 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/tests/installed-tests/meson.build 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,14 @@ + +itconf = configuration_data() +itconf.set('bindir', join_paths(get_option('prefix'), + get_option('bindir'))) +itconf.set('datadir', join_paths(get_option('prefix'), + get_option('datadir'))) + +configure_file( + input : 'metainfo-validate.test.in', + output : 'metainfo-validate.test', + configuration : itconf, + install: true, + install_dir: join_paths('share', 'installed-tests', 'appstream'), +) diff -Nru appstream-0.12.10/tests/installed-tests/metainfo-validate.test.in appstream-0.14.5/tests/installed-tests/metainfo-validate.test.in --- appstream-0.12.10/tests/installed-tests/metainfo-validate.test.in 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/tests/installed-tests/metainfo-validate.test.in 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,3 @@ +[Test] +Type=session +Exec=sh -c "@bindir@/appstreamcli validate --no-net @datadir@/metainfo/*.xml" diff -Nru appstream-0.12.10/tests/lsan.supp appstream-0.14.5/tests/lsan.supp --- appstream-0.12.10/tests/lsan.supp 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/tests/lsan.supp 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -leak:libxml2.so diff -Nru appstream-0.12.10/tests/lsan-suppr.txt appstream-0.14.5/tests/lsan-suppr.txt --- appstream-0.12.10/tests/lsan-suppr.txt 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/tests/lsan-suppr.txt 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1 @@ +leak:rsvg_rust_handle_new_from_stream_sync diff -Nru appstream-0.12.10/tests/meson.build appstream-0.14.5/tests/meson.build --- appstream-0.12.10/tests/meson.build 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/tests/meson.build 2021-08-28 20:15:28.000000000 +0000 @@ -1,11 +1,8 @@ # Meson definition for AppStream Tests -as_test_env = [] -opt_sanitize = get_option('b_sanitize').split(',') -if opt_sanitize.contains('address') or opt_sanitize.contains('undefined') - as_test_env = ['ASAN_OPTIONS=detect_leaks=0'] # otherwise we fail on leaks in 3rd-party libraries -endif +subdir('installed-tests/') +as_test_env = [] as_test_args = [meson.current_source_dir()] as_test_common_src = [ @@ -21,13 +18,9 @@ as_test_basic_exe = executable ('as-test_basic', ['test-basics.c', as_test_common_src], - include_directories: [appstream_lib_inc, - include_directories('..')], - dependencies: [glib_dep, - gobject_dep, + dependencies: [appstream_dep, gio_dep, xml2_dep], - link_with: [appstream_lib], ) test ('as-test_basic', as_test_basic_exe, @@ -39,13 +32,9 @@ as_test_xml_exe = executable ('as-test_xml', ['test-xmldata.c', as_test_common_src], - include_directories: [appstream_lib_inc, - include_directories('..')], - dependencies: [glib_dep, - gobject_dep, + dependencies: [appstream_dep, gio_dep, xml2_dep], - link_with: [appstream_lib], ) test ('as-test_xml', as_test_xml_exe, @@ -57,13 +46,9 @@ as_test_yaml_exe = executable ('as-test_yaml', ['test-yamldata.c', as_test_common_src], - include_directories: [appstream_lib_inc, - include_directories('..')], - dependencies: [glib_dep, - gobject_dep, + dependencies: [appstream_dep, gio_dep, xml2_dep], - link_with: [appstream_lib], ) test ('as-test_yaml', as_test_yaml_exe, @@ -75,13 +60,10 @@ as_test_pool_exe = executable ('as-test_pool', ['test-pool.c', as_test_common_src], - include_directories: [appstream_lib_inc, - include_directories('..')], - dependencies: [glib_dep, - gobject_dep, + dependencies: [appstream_dep, gio_dep, xml2_dep], - link_with: [appstream_lib], + include_directories: [root_inc_dir] ) test ('as-test_pool', as_test_pool_exe, @@ -93,13 +75,9 @@ as_test_validate_exe = executable ('as-test_validate', ['test-validate.c', as_test_common_src], - include_directories: [appstream_lib_inc, - include_directories('..')], - dependencies: [glib_dep, - gobject_dep, + dependencies: [appstream_dep, gio_dep, xml2_dep], - link_with: [appstream_lib], ) test ('as-test_validate', as_test_validate_exe, @@ -111,13 +89,9 @@ as_test_perf_exe = executable ('as-test_perf', ['test-performance.c', as_test_common_src], - include_directories: [appstream_lib_inc, - include_directories('..')], - dependencies: [glib_dep, - gobject_dep, + dependencies: [appstream_dep, gio_dep, xml2_dep], - link_with: [appstream_lib], ) test ('as-test_perf', as_test_perf_exe, @@ -129,16 +103,32 @@ as_test_misc_exe = executable ('as-test_misc', ['test-misc.c', as_test_common_src], - include_directories: [appstream_lib_inc, - include_directories('..')], - dependencies: [glib_dep, - gobject_dep, + dependencies: [appstream_dep, gio_dep, xml2_dep], - link_with: [appstream_lib], ) test ('as-test_misc', as_test_misc_exe, args: as_test_args, env: as_test_env ) + +# AppStream Compose tests +if get_option('compose') + as_test_compose_exe = executable ('as-test_compose', + ['test-compose.c', + as_test_common_src], + dependencies: [appstream_compose_dep, + gio_dep, + freetype_dep, + gdkpixbuf_dep], + c_args: ['-DI_KNOW_THE_APPSTREAM_COMPOSE_API_IS_SUBJECT_TO_CHANGE'], + ) + test ('as-test_compose', + as_test_compose_exe, + args: as_test_args, + env: as_test_env + + ['LSAN_OPTIONS=suppressions=' + + join_paths(meson.current_source_dir(), 'lsan-suppr.txt')] + ) +endif diff -Nru appstream-0.12.10/tests/samples/appdata.xml appstream-0.14.5/tests/samples/appdata.xml --- appstream-0.12.10/tests/samples/appdata.xml 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/tests/samples/appdata.xml 2021-08-28 20:15:28.000000000 +0000 @@ -1,34 +1,34 @@ - firefox.desktop - firefox-bin + org.mozilla.firefox Firefox - Firefoux + Renard de feu Feuerfuchs Web browser Navigateur web + + text/html + text/xml + application/xhtml+xml + application/vnd.mozilla.xul+xml + text/mml + application/x-xpinstall + x-scheme-handler/http + x-scheme-handler/https + + firefox-bin + web-browser + firefox_web-browser.png internet web browser navigateur - web-browser - firefox_web-browser.png network web - - text/html - text/xml - application/xhtml+xml - application/vnd.mozilla.xul+xml - text/mml - application/x-xpinstall - x-scheme-handler/http - x-scheme-handler/https - http://www.mozilla.com firefox diff -Nru appstream-0.12.10/tests/samples/collection/xml/foobar-1.xml appstream-0.14.5/tests/samples/collection/xml/foobar-1.xml --- appstream-0.12.10/tests/samples/collection/xml/foobar-1.xml 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/tests/samples/collection/xml/foobar-1.xml 2021-08-28 20:15:28.000000000 +0000 @@ -216,7 +216,7 @@ org.foobar.AsSampleGame game-package A Game - A real game with content rating + A real strategy game with content rating game.png org.foobar.AsSampleGame.desktop diff -Nru appstream-0.12.10/tests/samples/collection/xml/lvfs-gdpr.xml appstream-0.14.5/tests/samples/collection/xml/lvfs-gdpr.xml --- appstream-0.12.10/tests/samples/collection/xml/lvfs-gdpr.xml 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/tests/samples/collection/xml/lvfs-gdpr.xml 2021-08-28 20:15:28.000000000 +0000 @@ -1,5 +1,5 @@ - + Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/tests/samples/compose/appstream-logo.png and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/tests/samples/compose/appstream-logo.png differ diff -Nru appstream-0.12.10/tests/samples/compose/gnome-breakout_badUTF-8.desktop appstream-0.14.5/tests/samples/compose/gnome-breakout_badUTF-8.desktop --- appstream-0.12.10/tests/samples/compose/gnome-breakout_badUTF-8.desktop 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/tests/samples/compose/gnome-breakout_badUTF-8.desktop 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,12 @@ +[Desktop Entry] +Name=GNOME Breakout +Name[tr]=Gnome Breakout +Name[de]=GNOME Breakout +Comment=Play a clone of the classic arcade game Breakout for GNOME +Comment[tr]=Breakout klasiinin Gnome tekili +Comment[de]=Das klassische Arcade Spiel Breakout fr GNOME +Exec=gnome-breakout +Icon=gnome-breakout.png +Terminal=false +Type=Application +Categories=Game;ArcadeGame; diff -Nru appstream-0.12.10/tests/samples/compose/Noto.LICENSE appstream-0.14.5/tests/samples/compose/Noto.LICENSE --- appstream-0.12.10/tests/samples/compose/Noto.LICENSE 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/tests/samples/compose/Noto.LICENSE 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,88 @@ +Copyright: 2010-2015, Google Corporation +License: SIL-1.1 + PREAMBLE + . + The goals of the Open Font License (OFL) are to stimulate worldwide + development of collaborative font projects, to support the font + creation efforts of academic and linguistic communities, and to provide + a free and open framework in which fonts may be shared and improved in + partnership with others. + . + The OFL allows the licensed fonts to be used, studied, modified and + redistributed freely as long as they are not sold by themselves. The + fonts, including any derivative works, can be bundled, embedded, + redistributed and/or sold with any software provided that any reserved + names are not used by derivative works. The fonts and derivatives, + however, cannot be released under any other type of license. The + requirement for fonts to remain under this license does not apply to + any document created using the fonts or their derivatives. + . + DEFINITIONS + . + "Font Software" refers to the set of files released by the Copyright + Holder(s) under this license and clearly marked as such. This may + include source files, build scripts and documentation. + . + "Reserved Font Name" refers to any names specified as such after the + copyright statement(s). + . + "Original Version" refers to the collection of Font Software components + as distributed by the Copyright Holder(s). + . + "Modified Version" refers to any derivative made by adding to,deleting, + or substituting -- in part or in whole -- any of the components of the + Original Version, by changing formats or by porting the Font Software + to a new environment. + . + "Author" refers to any designer, engineer, programmer, technical writer + or other person who contributed to the Font Software. + . + PERMISSION & CONDITIONS + . + Permission is hereby granted, free of charge, to any person obtaining a + copy of the Font Software, to use, study, copy, merge, embed, modify, + redistribute, and sell modified and unmodified copies of the Font + Software, subject to the following conditions: + . + 1) Neither the Font Software nor any of its individual components, in + Original or Modified Versions, may be sold by itself. + . + 2) Original or Modified Versions of the Font Software may be bundled, + redistributed and/or sold with any software, provided that each copy + contains the above copyright notice and this license. These can be + included either as stand-alone text files, human-readable headers or in + the appropriate machine-readable metadata fields within text or binary + files as long as those fields can be easily viewed by the user. + . + 3) No Modified Version of the Font Software may use the Reserved Font + Name(s) unless explicit written permission is granted by the + corresponding Copyright Holder. This restriction only applies to the + primary font name as presented to the users. + . + 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font + Software shall not be used to promote, endorse or advertise any + Modified Version, except to acknowledge the contribution(s) of the + Copyright Holder(s) and the Author(s) or with their explicit written + permission. + . + 5) The Font Software, modified or unmodified, in part or in whole, must + be distributed entirely under this license, and must not be distributed + under any other license. The requirement for fonts to remain under this + license does not apply to any document created using the Font Software. + . + TERMINATION + . + This license becomes null and void if any of the above conditions are + not met. + . + DISCLAIMER + . + THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT + OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE + COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL + DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM + OTHER DEALINGS IN THE FONT SOFTWARE. Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/tests/samples/compose/NotoSans-Regular.ttf and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/tests/samples/compose/NotoSans-Regular.ttf differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/tests/samples/compose/table.svgz and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/tests/samples/compose/table.svgz differ diff -Nru appstream-0.12.10/tests/samples/compose/usr/dummy appstream-0.14.5/tests/samples/compose/usr/dummy --- appstream-0.12.10/tests/samples/compose/usr/dummy 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/tests/samples/compose/usr/dummy 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1 @@ +Hello Universe! Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/tests/samples/compose/usr/share/kdeapp1/translations/kdeapp_fr.qm and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/tests/samples/compose/usr/share/kdeapp1/translations/kdeapp_fr.qm differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/tests/samples/compose/usr/share/kdeapp2/translations/kdeapp/fr.qm and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/tests/samples/compose/usr/share/kdeapp2/translations/kdeapp/fr.qm differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/tests/samples/compose/usr/share/locale/de/LC_MESSAGES/kdeapp3.qm and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/tests/samples/compose/usr/share/locale/de/LC_MESSAGES/kdeapp3.qm differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/tests/samples/compose/usr/share/locale/en_GB/LC_MESSAGES/app.mo and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/tests/samples/compose/usr/share/locale/en_GB/LC_MESSAGES/app.mo differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/tests/samples/compose/usr/share/locale/fr/LC_MESSAGES/kdeapp3.qm and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/tests/samples/compose/usr/share/locale/fr/LC_MESSAGES/kdeapp3.qm differ Binary files /tmp/tmp2e9i5t_e/PZTSzZVsHZ/appstream-0.12.10/tests/samples/compose/usr/share/locale/ru/LC_MESSAGES/app.mo and /tmp/tmp2e9i5t_e/jIL4TEyQ37/appstream-0.14.5/tests/samples/compose/usr/share/locale/ru/LC_MESSAGES/app.mo differ diff -Nru appstream-0.12.10/tests/samples/desktop-converted.xml appstream-0.14.5/tests/samples/desktop-converted.xml --- appstream-0.12.10/tests/samples/desktop-converted.xml 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/tests/samples/desktop-converted.xml 2021-08-28 20:15:28.000000000 +0000 @@ -1,5 +1,5 @@ - + org.kde.ksysguard حارس نظامك @@ -104,13 +104,14 @@ Стеження за процесами та швидкодією системи 监视运行的进程和系统效率 監視執行中的行程與系統效能 + org.kde.ksysguard.desktop + utilities-system-monitor System - utilities-system-monitor - - application/x-ksysguard - + + application/x-ksysguard + org.gnome.Nautilus @@ -266,11 +267,17 @@ 访问和组织文件 存取與組織檔案 存取與組織檔案 + org.gnome.Nautilus.desktop + org.gnome.Nautilus Utility Core FileManager + + inode/directory + application/x-gnome-saved-search + folder manager @@ -902,10 +909,5 @@ 磁碟 檔案系統 - org.gnome.Nautilus - - inode/directory - application/x-gnome-saved-search - diff -Nru appstream-0.12.10/tests/samples/validate_many-errors-desktopapp.xml appstream-0.14.5/tests/samples/validate_many-errors-desktopapp.xml --- appstream-0.12.10/tests/samples/validate_many-errors-desktopapp.xml 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/tests/samples/validate_many-errors-desktopapp.xml 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,51 @@ + + + + + + 7-bad-ID + GPL-2.0+ + weird + + A name. + Too short, ends with dot. + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Have some invalid markup as well as some valid one. +

                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + not a link + http://www.example.org/insecure-url + + Unregistered + + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                    This stable release fixes bugs.

                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + not an URL + + hmm... + bug-77 + + + + + https://example.com/mytarball.bin.tar.xz + .... + .... + 12345678 + 42424242 + /root/file.dat + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    diff -Nru appstream-0.12.10/tests/samples/validate_relationissues.xml appstream-0.14.5/tests/samples/validate_relationissues.xml --- appstream-0.12.10/tests/samples/validate_relationissues.xml 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/tests/samples/validate_relationissues.xml 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,31 @@ + + + + + + org.example.goodid + FSFAP + FSFAP + + A name + A very pointless, but long-enough summary test, without end dot + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                    + A first, equally pointless but decently long explanatory paragraph, that just goes on in order + to satisfy the validator's length requirement for a first paragraph. +

                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + telekinesis + keyboard + org.example.test + bleh + 600 + small + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    diff -Nru appstream-0.12.10/tests/test-basics.c appstream-0.14.5/tests/test-basics.c --- appstream-0.12.10/tests/test-basics.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/tests/test-basics.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2012-2020 Matthias Klumpp + * Copyright (C) 2012-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -29,6 +29,97 @@ static gchar *datadir = NULL; /** + * test_strstripnl: + * + * Test our version of strstrip. + */ +static void +test_strstripnl () +{ + gchar *tmp; + + tmp = g_strdup (" MyString "); + as_strstripnl (tmp); + g_assert_cmpstr (tmp, ==, "MyString"); + g_free (tmp); + + tmp = g_strdup ("\n \n My\nString \n \n \n"); + as_strstripnl (tmp); + g_assert_cmpstr (tmp, ==, "My\nString"); + g_free (tmp); + + tmp = g_strdup ("My\nString"); + as_strstripnl (tmp); + g_assert_cmpstr (tmp, ==, "My\nString"); + g_free (tmp); + + tmp = g_strdup (""); + as_strstripnl (tmp); + g_assert_cmpstr (tmp, ==, ""); + g_free (tmp); +} + +/** + * test_random: + */ +static void +test_random () +{ + g_autofree gchar *str1 = NULL; + g_autofree gchar *str2 = NULL; + + str1 = as_random_alnum_string (24); + g_assert_cmpint (strlen (str1), ==, 24); + + str2 = as_random_alnum_string (24); + g_assert_cmpint (strlen (str2), ==, 24); + + g_assert_cmpstr (str1, !=, str2); +} + +/** + * test_safe_assign: + * + * Test safe variable assignment macros. + */ +static void +test_safe_assign () +{ + gchar *tmp; + g_autofree gchar *member1 = g_strdup ("Test A"); + g_autofree gchar *value1 = g_strdup ("New Value"); + g_autoptr(GPtrArray) member2 = g_ptr_array_new_with_free_func (g_free); + g_autoptr(GPtrArray) value2 = g_ptr_array_new_with_free_func (g_free); + + /* assigning a variable to itself should be safe */ + tmp = member1; + as_assign_string_safe (member1, member1); + g_assert_cmpstr (member1, ==, "Test A"); + g_assert_true (tmp == member1); + + /* assign new literal */ + tmp = member1; + as_assign_string_safe (member1, "Literal"); + g_assert_cmpstr (member1, ==, (const gchar*) "Literal"); + + /* assign new value */ + tmp = member1; + as_assign_string_safe (member1, value1); + g_assert_cmpstr (member1, ==, "New Value"); + g_assert_true (member1 != value1); + g_assert_cmpstr (value1, ==, "New Value"); + + /* test PtrArray assignments */ + g_ptr_array_add (member2, g_strdup ("Item1")); + as_assign_ptr_array_safe (member2, member2); + g_assert_cmpstr (g_ptr_array_index (member2, 0), ==, "Item1"); + + g_ptr_array_add (value2, g_strdup ("Very new item")); + as_assign_ptr_array_safe (member2, value2); + g_assert_cmpstr (g_ptr_array_index (member2, 0), ==, "Very new item"); +} + +/** * test_categories: * * Test #AsCategory properties. @@ -51,11 +142,11 @@ test_simplemarkup () { g_autofree gchar *str = NULL; - GError *error = NULL; + g_autoptr(GError) error = NULL; str = as_markup_convert_simple ("

                                                                                                                                                                                                                                                                                                                                                                                                                                                    Test!

                                                                                                                                                                                                                                                                                                                                                                                                                                                    Blah.

                                                                                                                                                                                                                                                                                                                                                                                                                                                    • A
                                                                                                                                                                                                                                                                                                                                                                                                                                                    • B

                                                                                                                                                                                                                                                                                                                                                                                                                                                    End.

                                                                                                                                                                                                                                                                                                                                                                                                                                                    ", &error); g_assert_no_error (error); - g_assert (g_strcmp0 (str, "Test!\n\nBlah.\n • A\n • B\n\nEnd.") == 0); + g_assert_true (g_strcmp0 (str, "Test!\n\nBlah.\n • A\n • B\n\nEnd.") == 0); g_free (str); str = as_markup_convert_simple ("

                                                                                                                                                                                                                                                                                                                                                                                                                                                    Paragraph using all allowed markup, " @@ -67,8 +158,7 @@ "

                                                                                                                                                                                                                                                                                                                                                                                                                                                " "

                                                                                                                                                                                                                                                                                                                                                                                                                                                Last paragraph.

                                                                                                                                                                                                                                                                                                                                                                                                                                                ", &error); g_assert_no_error (error); - g_print ("!!! %s\n", str); - g_assert (g_strcmp0 (str, "Paragraph using all allowed markup, like an emphasis or some code.\n\n" + g_assert_true (g_strcmp0 (str, "Paragraph using all allowed markup, like an emphasis or some code.\n\n" "Second paragraph.\n" " • List item, emphasized\n" " • Item with a bit of code\n\n" @@ -98,11 +188,11 @@ static void test_component () { - AsComponent *cpt; - AsMetadata *metad; - gchar *str; - gchar *str2; - gchar **strv; + g_autoptr(AsComponent) cpt = NULL; + g_autoptr(AsMetadata) metad = NULL; + g_autofree gchar *str = NULL; + g_autofree gchar *str2 = NULL; + g_auto(GStrv) strv = NULL; cpt = as_component_new (); as_component_set_kind (cpt, AS_COMPONENT_KIND_DESKTOP_APP); @@ -113,13 +203,11 @@ strv = _get_dummy_strv ("fedex"); as_component_set_pkgnames (cpt, strv); - g_strfreev (strv); metad = as_metadata_new (); as_metadata_add_component (metad, cpt); str = as_metadata_component_to_metainfo (metad, AS_FORMAT_KIND_XML, NULL); str2 = as_metadata_components_to_collection (metad, AS_FORMAT_KIND_XML, NULL); - g_object_unref (metad); g_debug ("%s", str2); g_assert_cmpstr (str, ==, "\n" @@ -130,7 +218,7 @@ " fedex\n" "\n"); g_assert_cmpstr (str2, ==, "\n" - "\n" + "\n" " \n" " org.example.test.desktop\n" " Test\n" @@ -138,9 +226,6 @@ " fedex\n" " \n" "\n"); - - g_free (str); - g_free (str2); } /** @@ -176,6 +261,22 @@ } /** + * test_locale_compat: + */ +static void +test_locale_compat (void) +{ + g_assert_true (as_utils_locale_is_compatible ("de_DE", "de_DE")); + g_assert_true (!as_utils_locale_is_compatible ("de_DE", "en")); + g_assert_true (as_utils_locale_is_compatible ("de_DE", "de")); + g_assert_true (as_utils_locale_is_compatible ("ca_ES@valencia", "ca")); + g_assert_true (as_utils_locale_is_compatible ("ca@valencia", "ca")); + g_assert_true (!as_utils_locale_is_compatible ("ca@valencia", "de")); + g_assert_true (!as_utils_locale_is_compatible ("de_CH", "de_DE")); + g_assert_true (as_utils_locale_is_compatible ("de", "de_CH")); +} + +/** * test_spdx: * * Test SPDX license description parsing. @@ -202,7 +303,7 @@ /* invalid */ tok = as_spdx_license_tokenize (NULL); - g_assert (tok == NULL); + g_assert_true (tok == NULL); /* random */ tok = as_spdx_license_tokenize ("Public Domain"); @@ -265,7 +366,7 @@ /* invalid tokens */ tmp = as_spdx_license_detokenize (NULL); - g_assert (tmp == NULL); + g_assert_true (tmp == NULL); /* leading brackets */ tok = as_spdx_license_tokenize ("(MPLv1.1 or LGPLv3+) and LGPLv3"); @@ -302,19 +403,19 @@ g_free (tmp); /* SPDX strings */ - g_assert (as_is_spdx_license_expression ("CC0-1.0")); - g_assert (as_is_spdx_license_expression ("CC0")); - g_assert (as_is_spdx_license_expression ("LicenseRef-proprietary")); - g_assert (as_is_spdx_license_expression ("CC0-1.0 and GFDL-1.3")); - g_assert (as_is_spdx_license_expression ("CC0-1.0 AND GFDL-1.3")); - g_assert (as_is_spdx_license_expression ("CC-BY-SA-3.0+")); - g_assert (as_is_spdx_license_expression ("CC-BY-SA-3.0+ AND Zlib")); - g_assert (as_is_spdx_license_expression ("GPL-3.0-or-later WITH GCC-exception-3.1")); - g_assert (as_is_spdx_license_expression ("GPL-3.0-or-later WITH Font-exception-2.0 AND OFL-1.1")); - g_assert (as_is_spdx_license_expression ("NOASSERTION")); - g_assert (!as_is_spdx_license_expression ("CC0 dave")); - g_assert (!as_is_spdx_license_expression ("")); - g_assert (!as_is_spdx_license_expression (NULL)); + g_assert_true (as_is_spdx_license_expression ("CC0-1.0")); + g_assert_true (as_is_spdx_license_expression ("CC0")); + g_assert_true (as_is_spdx_license_expression ("LicenseRef-proprietary")); + g_assert_true (as_is_spdx_license_expression ("CC0-1.0 and GFDL-1.3")); + g_assert_true (as_is_spdx_license_expression ("CC0-1.0 AND GFDL-1.3")); + g_assert_true (as_is_spdx_license_expression ("CC-BY-SA-3.0+")); + g_assert_true (as_is_spdx_license_expression ("CC-BY-SA-3.0+ AND Zlib")); + g_assert_true (as_is_spdx_license_expression ("GPL-3.0-or-later WITH GCC-exception-3.1")); + g_assert_true (as_is_spdx_license_expression ("GPL-3.0-or-later WITH Font-exception-2.0 AND OFL-1.1")); + g_assert_true (as_is_spdx_license_expression ("NOASSERTION")); + g_assert_true (!as_is_spdx_license_expression ("CC0 dave")); + g_assert_true (!as_is_spdx_license_expression ("")); + g_assert_true (!as_is_spdx_license_expression (NULL)); /* importing non-SPDX formats */ tmp = as_license_to_spdx_id ("CC0 and (Public Domain and GPLv3+ with exceptions)"); @@ -322,11 +423,12 @@ g_free (tmp); /* licenses suitable for metadata licensing */ - g_assert (as_license_is_metadata_license ("CC0")); - g_assert (as_license_is_metadata_license ("CC0-1.0")); - g_assert (as_license_is_metadata_license ("0BSD")); - g_assert (as_license_is_metadata_license ("MIT AND FSFAP")); - g_assert (!as_license_is_metadata_license ("GPL-2.0 AND FSFAP")); + g_assert_true (as_license_is_metadata_license ("CC0")); + g_assert_true (as_license_is_metadata_license ("CC0-1.0")); + g_assert_true (as_license_is_metadata_license ("0BSD")); + g_assert_true (as_license_is_metadata_license ("MIT AND FSFAP")); + g_assert_true (!as_license_is_metadata_license ("GPL-2.0 AND FSFAP")); + g_assert_true (as_license_is_metadata_license ("GPL-2.0+ OR GFDL-1.3-only")); /* check license URL generation */ tmp = as_get_license_url ("LGPL-2.0-or-later"); @@ -346,21 +448,95 @@ g_free (tmp); /* licenses are free-as-in-freedom */ - g_assert (as_license_is_free_license ("CC0")); - g_assert (as_license_is_free_license ("GPL-2.0 AND FSFAP")); - g_assert (as_license_is_free_license ("OFL-1.1 OR (GPL-3.0-or-later WITH Font-exception-2.0)")); - g_assert (!as_license_is_free_license ("NOASSERTION")); - g_assert (!as_license_is_free_license ("LicenseRef-proprietary=https://example.com/mylicense.txt")); - g_assert (!as_license_is_free_license ("MIT AND LicenseRef-proprietary=https://example.com/lic.txt")); + g_assert_true (as_license_is_free_license ("CC0")); + g_assert_true (as_license_is_free_license ("GPL-2.0 AND FSFAP")); + g_assert_true (as_license_is_free_license ("OFL-1.1 OR (GPL-3.0-or-later WITH Font-exception-2.0)")); + g_assert_true (!as_license_is_free_license ("NOASSERTION")); + g_assert_true (!as_license_is_free_license ("LicenseRef-proprietary=https://example.com/mylicense.txt")); + g_assert_true (!as_license_is_free_license ("MIT AND LicenseRef-proprietary=https://example.com/lic.txt")); + g_assert_true (!as_license_is_free_license ("ADSL")); + g_assert_true (!as_license_is_free_license ("JSON AND GPL-3.0-or-later")); +} + +/** + * test_read_desktop_entry_simple: + * + * Read XDG desktop-entry file. + */ +static void +test_read_desktop_entry_simple () +{ + static const gchar *desktop_entry_data = + "[Desktop Entry]\n" + "Type=Application\n" + "Name=FooBar\n" + "Name[de_DE]=FööBär\n" + "Comment=A foo-ish bar.\n" + "Keywords=Hobbes;Bentham;Locke;\n" + "Keywords[de_DE]=Heidegger;Kant;Hegel;\n"; + + gboolean ret; + g_autoptr(AsMetadata) metad = NULL; + g_autoptr(GError) error = NULL; + AsComponent *cpt; + AsLaunchable *launch; + GPtrArray *entries; + gchar *tmp; + + metad = as_metadata_new (); + + ret = as_metadata_parse_desktop_data (metad, desktop_entry_data, "foobar.desktop", &error); + g_assert_no_error (error); + g_assert_true (ret); + + cpt = as_metadata_get_component (metad); + g_assert_nonnull (cpt); + as_component_set_active_locale (cpt, "C.UTF-8"); + g_assert_cmpstr (as_component_get_id (cpt), ==, "foobar.desktop"); + g_assert_cmpstr (as_component_get_name (cpt), ==, "FooBar"); + tmp = g_strjoinv (", ", as_component_get_keywords (cpt)); + g_assert_cmpstr (tmp, ==, "Hobbes, Bentham, Locke"); + g_free (tmp); + + as_component_set_active_locale (cpt, "de_DE"); + g_assert_cmpstr (as_component_get_name (cpt), ==, "FööBär"); + tmp = g_strjoinv (", ", as_component_get_keywords (cpt)); + g_assert_cmpstr (tmp, ==, "Heidegger, Kant, Hegel"); + g_free (tmp); + + launch = as_component_get_launchable (cpt, AS_LAUNCHABLE_KIND_DESKTOP_ID); + g_assert_nonnull (launch); + g_assert_cmpint (as_launchable_get_kind (launch), ==, AS_LAUNCHABLE_KIND_DESKTOP_ID); + entries = as_launchable_get_entries (launch); + g_assert_cmpint (entries->len, ==, 1); + g_assert_cmpstr ((const gchar*) g_ptr_array_index (entries, 0), ==, "foobar.desktop"); + + /* test component-id trimming */ + as_metadata_clear_components (metad); + ret = as_metadata_parse_desktop_data (metad, desktop_entry_data, "org.example.foobar.desktop", &error); + g_assert_no_error (error); + g_assert_true (ret); + cpt = as_metadata_get_component (metad); + g_assert_nonnull (cpt); + + as_component_set_active_locale (cpt, "C.UTF-8"); + g_assert_cmpstr (as_component_get_id (cpt), ==, "org.example.foobar"); + + launch = as_component_get_launchable (cpt, AS_LAUNCHABLE_KIND_DESKTOP_ID); + g_assert_nonnull (launch); + g_assert_cmpint (as_launchable_get_kind (launch), ==, AS_LAUNCHABLE_KIND_DESKTOP_ID); + entries = as_launchable_get_entries (launch); + g_assert_cmpint (entries->len, ==, 1); + g_assert_cmpstr ((const gchar*) g_ptr_array_index (entries, 0), ==, "org.example.foobar.desktop"); } /** - * test_desktop_entry: + * test_desktop_entry_convert: * * Test reading a desktop-entry. */ static void -test_desktop_entry () +test_desktop_entry_convert () { g_autoptr(AsMetadata) metad = NULL; g_autofree gchar *nautilus_de_fname = NULL; @@ -433,7 +609,7 @@ tmp = as_metadata_components_to_collection (metad, AS_FORMAT_KIND_XML, &error); g_assert_no_error (error); - g_assert (as_test_compare_lines (tmp, expected_xml)); + g_assert_true (as_test_compare_lines (tmp, expected_xml)); g_free (tmp); } @@ -445,26 +621,78 @@ static void test_version_compare () { - g_assert_cmpint (as_utils_compare_versions ("6", "8"), <, 0); - g_assert_cmpint (as_utils_compare_versions ("0.6.12b-d", "0.6.12a"), >, 0); - g_assert_cmpint (as_utils_compare_versions ("7.4", "7.4"), ==, 0); - g_assert_cmpint (as_utils_compare_versions ("ab.d", "ab.f"), <, 0); - - g_assert_cmpint (as_utils_compare_versions ("0.6.16", "0.6.14"), >, 0); - - g_assert_cmpint (as_utils_compare_versions ("5.9.1+dfsg-5pureos1", "5.9.1+dfsg-5"), >, 0); - g_assert_cmpint (as_utils_compare_versions ("2.79", "2.79a"), <, 0); - - g_assert_cmpint (as_utils_compare_versions ("3.0.rc2", "3.0.0"), <, 0); - g_assert_cmpint (as_utils_compare_versions ("3.0.0~rc2", "3.0.0"), <, 0); - - g_assert_cmpint (as_utils_compare_versions (NULL, NULL), ==, 0); - g_assert_cmpint (as_utils_compare_versions (NULL, "4.0"), <, 0); - g_assert_cmpint (as_utils_compare_versions ("4.0", NULL), >, 0); - - /* TODO: Handle epochs as well? */ - /* g_assert_cmpint (as_utils_compare_versions ("4:5.6-2", "8.0-6"), >, 0); */ - /* g_assert_cmpint (as_utils_compare_versions ("1:1.0-4", "3:0.8-2"), <, 0); */ + g_assert_cmpint (as_vercmp_simple ("6", "8"), <, 0); + g_assert_cmpint (as_vercmp_simple ("0.6.12b-d", "0.6.12a"), >, 0); + g_assert_cmpint (as_vercmp_simple ("7.4", "7.4"), ==, 0); + g_assert_cmpint (as_vercmp_simple ("ab.d", "ab.f"), <, 0); + + g_assert_cmpint (as_vercmp_simple ("0.6.16", "0.6.14"), >, 0); + + g_assert_cmpint (as_vercmp_simple ("5.9.1+dfsg-5pureos1", "5.9.1+dfsg-5"), >, 0); + g_assert_cmpint (as_vercmp_simple ("2.79", "2.79a"), <, 0); + + g_assert_cmpint (as_vercmp_simple ("3.0.rc2", "3.0.0"), >, 0); + g_assert_cmpint (as_vercmp_simple ("3.0.0~rc2", "3.0.0"), <, 0); + + g_assert_cmpint (as_vercmp_simple (NULL, NULL), ==, 0); + g_assert_cmpint (as_vercmp_simple (NULL, "4.0"), <, 0); + g_assert_cmpint (as_vercmp_simple ("4.0", NULL), >, 0); + + /* issue #288 */ + g_assert_cmpint (as_vercmp_simple ("11.0.9.1+1-0ubuntu1", "11.0.9+11-0ubuntu2"), >, 0); + + /* same */ + g_assert_cmpint (as_vercmp_simple ("1.2.3", "1.2.3"), ==, 0); + g_assert_cmpint (as_vercmp_simple ("001.002.003", "001.002.003"), ==, 0); + + /* epochs */ + g_assert_cmpint (as_vercmp_simple ("4:5.6-2", "8.0-6"), >, 0); + g_assert_cmpint (as_vercmp_simple ("1:1.0-4", "3:0.8-2"), <, 0); + g_assert_cmpint (as_vercmp_simple ("1:1.0-4", "3:0.8-2"), <, 0); + g_assert_cmpint (as_vercmp ("1:1.0-4", "3:0.8-2", AS_VERCMP_FLAG_IGNORE_EPOCH), >, 0); + + /* upgrade and downgrade */ + g_assert_cmpint (as_vercmp_simple ("1.2.3", "1.2.4"), <, 0); + g_assert_cmpint (as_vercmp_simple ("001.002.000", "001.002.009"), <, 0); + g_assert_cmpint (as_vercmp_simple ("1.2.3", "1.2.2"), >, 0); + g_assert_cmpint (as_vercmp_simple ("001.002.009", "001.002.000"), >, 0); + + /* unequal depth */ + g_assert_cmpint (as_vercmp_simple ("1.2.3", "1.2.3.1"), <, 0); + g_assert_cmpint (as_vercmp_simple ("1.2.3.1", "1.2.4"), <, 0); + + /* mixed-alpha-numeric */ + g_assert_cmpint (as_vercmp_simple ("1.2.3a", "1.2.3a"), ==, 0); + g_assert_cmpint (as_vercmp_simple ("1.2.3a", "1.2.3b"), <, 0); + g_assert_cmpint (as_vercmp_simple ("1.2.3b", "1.2.3a"), >, 0); + + /* alpha version append */ + g_assert_cmpint (as_vercmp_simple ("1.2.3", "1.2.3a"), <, 0); + g_assert_cmpint (as_vercmp_simple ("1.2.3a", "1.2.3"), >, 0); + + /* alpha only */ + g_assert_cmpint (as_vercmp_simple ("alpha", "alpha"), ==, 0); + g_assert_cmpint (as_vercmp_simple ("alpha", "beta"), <, 0); + g_assert_cmpint (as_vercmp_simple ("beta", "alpha"), >, 0); + + /* alpha-compare */ + g_assert_cmpint (as_vercmp_simple ("1.2a.3", "1.2a.3"), ==, 0); + g_assert_cmpint (as_vercmp_simple ("1.2a.3", "1.2b.3"), <, 0); + g_assert_cmpint (as_vercmp_simple ("1.2b.3", "1.2a.3"), >, 0); + + /* tilde is all-powerful */ + g_assert_cmpint (as_vercmp_simple ("1.2.3~rc1", "1.2.3~rc1"), ==, 0); + g_assert_cmpint (as_vercmp_simple ("1.2.3~rc1", "1.2.3"), <, 0); + g_assert_cmpint (as_vercmp_simple ("1.2.3", "1.2.3~rc1"), >, 0); + g_assert_cmpint (as_vercmp_simple ("1.2.3~rc2", "1.2.3~rc1"), >, 0); + + /* more complex */ + g_assert_cmpint (as_vercmp_simple ("0.9", "1"), <, 0); + g_assert_cmpint (as_vercmp_simple ("9", "9a"), <, 0); + g_assert_cmpint (as_vercmp_simple ("9a", "10"), <, 0); + g_assert_cmpint (as_vercmp_simple ("9+", "10"), <, 0); + g_assert_cmpint (as_vercmp_simple ("9half", "10"), <, 0); + g_assert_cmpint (as_vercmp_simple ("9.5", "10"), <, 0); } /** @@ -589,6 +817,168 @@ g_assert_cmpuint (as_content_rating_attribute_to_csm_age ("not-valid-id", AS_CONTENT_RATING_VALUE_INTENSE), ==, 0); } +/* Test that gs_utils_content_rating_system_from_locale() returns the correct + * rating system for various standard locales and various forms of locale name. + * See `locale -a` for the list of all available locales which some of these + * test vectors were derived from. */ +static void +as_test_content_rating_from_locale (void) +{ + const struct { + const gchar *locale; + AsContentRatingSystem expected_system; + } vectors[] = { + /* Simple tests to get coverage of each rating system: */ + { "es_AR", AS_CONTENT_RATING_SYSTEM_INCAA }, + { "en_AU", AS_CONTENT_RATING_SYSTEM_ACB }, + { "pt_BR", AS_CONTENT_RATING_SYSTEM_DJCTQ }, + { "zh_TW", AS_CONTENT_RATING_SYSTEM_GSRR }, + { "en_GB", AS_CONTENT_RATING_SYSTEM_PEGI }, + { "hy_AM", AS_CONTENT_RATING_SYSTEM_PEGI }, + { "bg_BG", AS_CONTENT_RATING_SYSTEM_PEGI }, + { "fi_FI", AS_CONTENT_RATING_SYSTEM_KAVI }, + { "de_DE", AS_CONTENT_RATING_SYSTEM_USK }, + { "az_IR", AS_CONTENT_RATING_SYSTEM_ESRA }, + { "jp_JP", AS_CONTENT_RATING_SYSTEM_CERO }, + { "en_NZ", AS_CONTENT_RATING_SYSTEM_OFLCNZ }, + { "ru_RU", AS_CONTENT_RATING_SYSTEM_RUSSIA }, + { "en_SQ", AS_CONTENT_RATING_SYSTEM_MDA }, + { "ko_KR", AS_CONTENT_RATING_SYSTEM_GRAC }, + { "en_US", AS_CONTENT_RATING_SYSTEM_ESRB }, + { "en_US", AS_CONTENT_RATING_SYSTEM_ESRB }, + { "en_CA", AS_CONTENT_RATING_SYSTEM_ESRB }, + { "es_MX", AS_CONTENT_RATING_SYSTEM_ESRB }, + /* Fallback (arbitrarily chosen Venezuela since it seems to use IARC): */ + { "es_VE", AS_CONTENT_RATING_SYSTEM_IARC }, + /* Locale with a codeset: */ + { "nl_NL.iso88591", AS_CONTENT_RATING_SYSTEM_PEGI }, + /* Locale with a codeset and modifier: */ + { "nl_NL.iso885915@euro", AS_CONTENT_RATING_SYSTEM_PEGI }, + /* Locale with a less esoteric codeset: */ + { "en_GB.UTF-8", AS_CONTENT_RATING_SYSTEM_PEGI }, + /* Locale with a modifier but no codeset: */ + { "fi_FI@euro", AS_CONTENT_RATING_SYSTEM_KAVI }, + /* Invalid locale: */ + { "_invalid", AS_CONTENT_RATING_SYSTEM_IARC }, + }; + + for (gsize i = 0; i < G_N_ELEMENTS (vectors); i++) { + g_test_message ("Test %" G_GSIZE_FORMAT ": %s", i, vectors[i].locale); + g_assert_cmpint (as_content_rating_system_from_locale (vectors[i].locale), ==, vectors[i].expected_system); + } +} + +/** + * test_utils_data_id_hash: + * + * Shows the data-id globbing functions at work + */ +void +test_utils_data_id_hash (void) +{ + AsComponent *found; + g_autoptr(AsComponent) cpt1 = NULL; + g_autoptr(AsComponent) cpt2 = NULL; + g_autoptr(GHashTable) hash = NULL; + + /* create new couple of apps */ + cpt1 = as_component_new (); + as_component_set_id (cpt1, "org.gnome.Software.desktop"); + as_component_set_branch (cpt1, "master"); + g_assert_cmpstr (as_component_get_data_id (cpt1), ==, + "*/*/*/org.gnome.Software.desktop/master"); + cpt2 = as_component_new (); + as_component_set_id (cpt2, "org.gnome.Software.desktop"); + as_component_set_branch (cpt2, "stable"); + g_assert_cmpstr (as_component_get_data_id (cpt2), ==, + "*/*/*/org.gnome.Software.desktop/stable"); + + /* add to hash table using the data ID as a key */ + hash = g_hash_table_new ((GHashFunc) as_utils_data_id_hash, + (GEqualFunc) as_utils_data_id_equal); + g_hash_table_insert (hash, (gpointer) as_component_get_data_id (cpt1), cpt1); + g_hash_table_insert (hash, (gpointer) as_component_get_data_id (cpt2), cpt2); + + /* get with exact key */ + found = g_hash_table_lookup (hash, "*/*/*/org.gnome.Software.desktop/master"); + g_assert_true (found != NULL); + found = g_hash_table_lookup (hash, "*/*/*/org.gnome.Software.desktop/stable"); + g_assert_true (found != NULL); + + /* get with more details specified */ + found = g_hash_table_lookup (hash, "system/*/*/org.gnome.Software.desktop/master"); + g_assert_true (found != NULL); + found = g_hash_table_lookup (hash, "system/*/*/org.gnome.Software.desktop/stable"); + g_assert_true (found != NULL); + + /* get with less details specified */ + found = g_hash_table_lookup (hash, "*/*/*/org.gnome.Software.desktop/*"); + g_assert_true (found != NULL); + + /* different key */ + found = g_hash_table_lookup (hash, "*/*/*/gimp.desktop/*"); + g_assert_true (found == NULL); + + /* different branch */ + found = g_hash_table_lookup (hash, "*/*/*/org.gnome.Software.desktop/obsolete"); + g_assert_true (found == NULL); + + /* check hash function */ + g_assert_cmpint (as_utils_data_id_hash ("*/*/*/gimp.desktop/master"), ==, + as_utils_data_id_hash ("system/*/*/gimp.desktop/stable")); +} + +/** + * test_utils_data_id_hash_str: + * + * Shows the as_utils_data_id_* functions are safe with bare text. + */ +void +test_utils_data_id_hash_str (void) +{ + AsComponent *found; + g_autoptr(AsComponent) app = NULL; + g_autoptr(GHashTable) hash = NULL; + + /* create new app */ + app = as_component_new (); + as_component_set_id (app, "org.gnome.Software"); + + /* add to hash table using the data ID as a key */ + hash = g_hash_table_new ((GHashFunc) as_utils_data_id_hash, + (GEqualFunc) as_utils_data_id_equal); + g_hash_table_insert (hash, (gpointer) "dave", app); + + /* get with exact key */ + found = g_hash_table_lookup (hash, "dave"); + g_assert_true (found != NULL); + + /* different key */ + found = g_hash_table_lookup (hash, "frank"); + g_assert_true (found == NULL); +} + +/** + * test_utils_platform_triplet: + */ +void +test_utils_platform_triplet (void) +{ + g_assert_true (as_utils_is_platform_triplet ("x86_64-linux-gnu")); + g_assert_true (as_utils_is_platform_triplet ("x86_64-windows-msvc")); + g_assert_true (as_utils_is_platform_triplet ("x86_64-linux-gnu")); + g_assert_true (as_utils_is_platform_triplet ("aarch64-linux-gnu_ilp32")); + g_assert_true (as_utils_is_platform_triplet ("wasm64-any-any")); + g_assert_true (as_utils_is_platform_triplet ("any-linux-gnu")); + g_assert_true (as_utils_is_platform_triplet ("any-any-any")); + g_assert_false (as_utils_is_platform_triplet ("aarch64-any")); + g_assert_false (as_utils_is_platform_triplet ("---")); + g_assert_false (as_utils_is_platform_triplet (NULL)); + g_assert_false (as_utils_is_platform_triplet ("x86_64-gnu-windows")); + g_assert_false (as_utils_is_platform_triplet ("x86-64-linux-gnu")); + g_assert_false (as_utils_is_platform_triplet ("x86-lunix-gna")); +} + int main (int argc, char **argv) { @@ -599,9 +989,9 @@ return 1; } - g_assert (argv[1] != NULL); + g_assert_nonnull (argv[1]); datadir = g_build_filename (argv[1], "samples", NULL); - g_assert (g_file_test (datadir, G_FILE_TEST_EXISTS) != FALSE); + g_assert_true (g_file_test (datadir, G_FILE_TEST_EXISTS)); g_setenv ("G_MESSAGES_DEBUG", "all", TRUE); g_test_init (&argc, &argv, NULL); @@ -609,17 +999,28 @@ /* only critical and error are fatal */ g_log_set_fatal_mask (NULL, G_LOG_LEVEL_ERROR | G_LOG_LEVEL_CRITICAL); + g_test_add_func ("/AppStream/Strstrip", test_strstripnl); + g_test_add_func ("/AppStream/Random", test_random); + g_test_add_func ("/AppStream/SafeAssign", test_safe_assign); g_test_add_func ("/AppStream/Categories", test_categories); g_test_add_func ("/AppStream/SimpleMarkupConvert", test_simplemarkup); g_test_add_func ("/AppStream/Component", test_component); g_test_add_func ("/AppStream/SPDX", test_spdx); g_test_add_func ("/AppStream/TranslationFallback", test_translation_fallback); - g_test_add_func ("/AppStream/DesktopEntry", test_desktop_entry); + g_test_add_func ("/AppStream/LocaleCompat", test_locale_compat); + g_test_add_func ("/AppStream/ReadDesktopEntry", test_read_desktop_entry_simple); + g_test_add_func ("/AppStream/ConvertDesktopEntry", test_desktop_entry_convert); g_test_add_func ("/AppStream/VersionCompare", test_version_compare); g_test_add_func ("/AppStream/DistroDetails", test_distro_details); g_test_add_func ("/AppStream/rDNSConvert", test_rdns_convert); g_test_add_func ("/AppStream/URIToBasename", test_filebasename_from_uri); - g_test_add_func ("/AppStream/ContentRatingMapings", test_content_rating_mappings); + g_test_add_func ("/AppStream/ContentRating/Mapings", test_content_rating_mappings); + g_test_add_func ("/AppStream/ContentRating/from-locale", as_test_content_rating_from_locale); + + g_test_add_func ("/AppStream/DataID/hash", test_utils_data_id_hash); + g_test_add_func ("/AppStream/DataID/hash-str", test_utils_data_id_hash_str); + + g_test_add_func ("/AppStream/PlatformTriplets", test_utils_platform_triplet); ret = g_test_run (); g_free (datadir); diff -Nru appstream-0.12.10/tests/test-compose.c appstream-0.14.5/tests/test-compose.c --- appstream-0.12.10/tests/test-compose.c 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/tests/test-compose.c 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,708 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2018-2021 Matthias Klumpp + * + * Licensed under the GNU Lesser General Public License Version 2.1 + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 2.1 of the license, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +#include +#include "appstream-compose.h" +#include "asc-font-private.h" +#include "asc-utils-metainfo.h" +#include "asc-utils-l10n.h" + +#include "as-test-utils.h" + +static gchar *datadir = NULL; + +typedef struct +{ + gchar *path; +} Fixture; + +/** + * asc_assert_no_results_issue: + */ +void +asc_assert_no_hints_in_result (AscResult *cres) +{ + g_autoptr(GPtrArray) hints = asc_result_fetch_hints_all (cres); + + if (hints->len > 0) { + g_printerr("--------\nHints:"); + for (guint i = 0; i < hints->len; i++) { + g_autofree gchar *text = NULL; + AscHint *hint = ASC_HINT (g_ptr_array_index (hints, i)); + text = asc_hint_format_explanation (hint); + g_printerr("\n%s\n", text); + } + } + g_assert_cmpint (hints->len, ==, 0); +} + +/** + * test_utils: + * + * Test global and utility functions. + */ +static void +test_utils () +{ + gchar *tmp; + + tmp = asc_build_component_global_id ("foobar.desktop", "DEADBEEF"); + g_assert_cmpstr (tmp, ==, "f/fo/foobar.desktop/DEADBEEF"); + g_free (tmp); + + tmp = asc_build_component_global_id ("org.gnome.yelp.desktop", "DEADBEEF"); + g_assert_cmpstr (tmp, ==, "org/gnome/yelp.desktop/DEADBEEF"); + g_free (tmp); + + tmp = asc_build_component_global_id ("noto-cjk.font", "DEADBEEF"); + g_assert_cmpstr (tmp, ==, "n/no/noto-cjk.font/DEADBEEF"); + g_free (tmp); + + tmp = asc_build_component_global_id ("io.sample.awesomeapp.sdk", "ABAD1DEA"); + g_assert_cmpstr (tmp, ==, "io/sample/awesomeapp.sdk/ABAD1DEA"); + g_free (tmp); + + tmp = asc_build_component_global_id ("io.sample.awesomeapp.sdk", NULL); + g_assert_cmpstr (tmp, ==, "io/sample/awesomeapp.sdk/last"); + g_free (tmp); +} + +/** + * test_read_fontinfo: + * + * Extract font information from a font file. + */ +static void +test_read_fontinfo () +{ + g_autofree gchar *font_fname = NULL; + g_autoptr(AscFont) font = NULL; + g_autoptr(GError) error = NULL; + g_autofree gchar *data = NULL; + gsize data_len; + g_autoptr(GList) lang_list = NULL; + guint i; + const gchar *expected_langs[] = { "aa", "ab", "af", "ak", "an", "ast", "av", "ay", "az-az", "ba", "be", "ber-dz", "bg", "bi", "bin", + "bm", "br", "bs", "bua", "ca", "ce", "ch", "chm", "co", "crh", "cs", "csb", "cu", "cv", "cy", "da", + "de", "ee", "el", "en", "eo", "es", "et", "eu", "fat", "ff", "fi", "fil", "fj", "fo", "fr", "fur", + "fy", "ga", "gd", "gl", "gn", "gv", "ha", "haw", "ho", "hr", "hsb", "ht", "hu", "hz", "ia", "id", + "ie", "ig", "ik", "io", "is", "it", "jv", "kaa", "kab", "ki", "kj", "kk", "kl", "kr", "ku-am", + "ku-tr", "kum", "kv", "kw", "kwm", "ky", "la", "lb", "lez", "lg", "li", "ln", "lt","lv", "mg", "mh", + "mi", "mk", "mn-mn", "mo", "ms", "mt", "na", "nb", "nds", "ng", "nl", "nn", "no", "nr", "nso", "nv", + "ny", "oc", "om", "os", "pap-an", "pap-aw", "pl", "pt", "qu", "quz", "rm", "rn", "ro", "ru", "rw", + "sah", "sc", "sco", "se", "sel", "sg", "sh", "shs", "sk", "sl", "sm","sma", "smj", "smn", "sms", "sn", + "so", "sq", "sr", "ss", "st", "su", "sv", "sw", "tg", "tk", "tl", "tn", "to", "tr", "ts", "tt", "tw", + "ty", "tyv", "uk", "uz", "ve", "vi", "vo", "vot", "wa", "wen", "wo", "xh", "yap", "yo", "za", "zu", NULL }; + + font_fname = g_build_filename (datadir, "NotoSans-Regular.ttf", NULL); + + /* test reading from file */ + font = asc_font_new_from_file (font_fname, &error); + g_assert_no_error (error); + g_assert_cmpstr (asc_font_get_family (font), ==, "Noto Sans"); + g_assert_cmpstr (asc_font_get_style (font), ==, "Regular"); + g_object_unref (font); + font = NULL; + + /* test reading from memory */ + g_file_get_contents (font_fname, &data, &data_len, &error); + g_assert_no_error (error); + + font = asc_font_new_from_data (data, data_len, "NotoSans-Regular.ttf", &error); + g_assert_no_error (error); + g_assert_cmpstr (asc_font_get_family (font), ==, "Noto Sans"); + g_assert_cmpstr (asc_font_get_style (font), ==, "Regular"); + g_assert_cmpint (asc_font_get_charset (font), ==, FT_ENCODING_UNICODE); + g_assert_cmpstr (asc_font_get_homepage (font), ==, "http://www.monotype.com/studio"); + g_assert_cmpstr (asc_font_get_description (font), ==, "Data hinted. Designed by Monotype design team."); + + lang_list = asc_font_get_language_list (font); + i = 0; + for (GList *l = lang_list; l != NULL; l = l->next) { + g_assert_true (expected_langs[i] != NULL); + g_assert_cmpstr (expected_langs[i], ==, l->data); + i++; + } + + /* uses "Noto Sans" */ + g_assert_cmpstr (asc_font_get_sample_text (font), ==, "My grandfather picks up quartz and valuable onyx jewels."); + g_assert_cmpstr (asc_font_find_pangram(font, "en", "Noto Sans"), ==, "My grandfather picks up quartz and valuable onyx jewels."); + + g_assert_cmpstr (asc_font_find_pangram(font, "en", "aaaaa"), ==, "Pack my box with five dozen liquor jugs."); + g_assert_cmpstr (asc_font_find_pangram(font, "en", "abcdefg"), ==, "Five or six big jet planes zoomed quickly past the tower."); +} + +/** + * test_image_transform: + * + * Test image related things, like transformations. + */ +static void +test_image_transform () +{ + g_autoptr(GHashTable) supported_fmts = NULL; + g_autofree gchar *sample_img_fname = NULL; + g_autoptr(AscImage) image = NULL; + g_autoptr(GError) error = NULL; + gboolean ret; + + g_autofree gchar *data = NULL; + gsize data_len; + + /* check if our GdkPixbuf supports the minimum amount of image formats we need */ + supported_fmts = asc_image_supported_format_names (); + g_assert_true (g_hash_table_contains (supported_fmts, "png")); + g_assert_true (g_hash_table_contains (supported_fmts, "svg")); + g_assert_true (g_hash_table_contains (supported_fmts, "jpeg")); + + sample_img_fname = g_build_filename (datadir, "appstream-logo.png", NULL); + + /* load image from file */ + image = asc_image_new_from_file (sample_img_fname, + 0, + ASC_IMAGE_LOAD_FLAG_NONE, + &error); + g_assert_no_error (error); + g_assert_nonnull (image); + + g_assert_cmpint (asc_image_get_width (image), ==, 136); + g_assert_cmpint (asc_image_get_height (image), ==, 144); + + /* scale image */ + asc_image_scale (image, 64, 64); + g_assert_cmpint (asc_image_get_width (image), ==, 64); + g_assert_cmpint (asc_image_get_height (image), ==, 64); + + ret = asc_image_save_filename (image, + "/tmp/asc-iscale_test.png", + 0, 0, + ASC_IMAGE_SAVE_FLAG_NONE, + &error); + g_assert_no_error (error); + g_assert_true (ret); + + g_object_unref (image); + image = NULL; + + /* test reading image from memory */ + g_file_get_contents (sample_img_fname, &data, &data_len, &error); + g_assert_no_error (error); + + image = asc_image_new_from_data (data, data_len, + 0, + FALSE, + ASC_IMAGE_LOAD_FLAG_NONE, + &error); + g_assert_no_error (error); + g_assert_nonnull (image); + + asc_image_scale (image, 124, 124); + ret = asc_image_save_filename (image, + "/tmp/asc-iscale-d_test.png", + 0, 0, + ASC_IMAGE_SAVE_FLAG_NONE, + &error); + g_assert_no_error (error); + g_assert_true (ret); +} + +/** + * test_canvas: + * + * Test canvas. + */ +static void +test_canvas () +{ + g_autofree gchar *sample_svg_fname = NULL; + g_autofree gchar *font_fname = NULL; + g_autofree gchar *data = NULL; + gsize data_len; + g_autoptr(AscCanvas) cv = NULL; + g_autoptr(AscFont) font = NULL; + g_autoptr(GInputStream) stream = NULL; + g_autoptr(GError) error = NULL; + + sample_svg_fname = g_build_filename (datadir, "table.svgz", NULL); + + /* read & render compressed SVG file */ + g_file_get_contents (sample_svg_fname, &data, &data_len, &error); + g_assert_no_error (error); + + stream = g_memory_input_stream_new_from_data (data, data_len, NULL); + + cv = asc_canvas_new (512, 512); + asc_canvas_render_svg (cv, stream, &error); + g_assert_no_error (error); + + asc_canvas_save_png (cv, "/tmp/asc-svgrender_test1.png", &error); + g_assert_no_error (error); + + g_object_unref (cv); + cv = NULL; + + /* test font rendering */ + font_fname = g_build_filename (datadir, "NotoSans-Regular.ttf", NULL); + font = asc_font_new_from_file (font_fname, &error); + g_assert_no_error (error); + + cv = asc_canvas_new (400, 100); + + asc_canvas_draw_text (cv, + font, + "Hello World!\nSecond Line!\nThird line - äöüß!\nA very, very, very long line.", + -1, -1, + &error); + g_assert_no_error (error); + + asc_canvas_save_png (cv, "/tmp/asc-fontrender_test1.png", &error); + g_assert_no_error (error); +} + +/** + * test_compose_hints: + * + * Test compose hints and issue reporting. + */ +static void +test_compose_hints () +{ + g_autoptr(AscHint) hint = NULL; + g_autoptr(GError) error = NULL; + g_autofree gchar *tmp = NULL; + + hint = asc_hint_new_for_tag ("internal-unknown-tag", &error); + g_assert_no_error (error); + g_assert_nonnull (hint); + + g_assert_cmpstr (asc_hint_get_tag (hint), ==, "internal-unknown-tag"); + g_assert_cmpint (asc_hint_get_severity (hint), ==, AS_ISSUE_SEVERITY_ERROR); + g_assert_cmpstr (asc_hint_get_explanation_template (hint), ==, "The given tag was unknown. This is a bug."); + g_assert_true (asc_hint_is_valid (hint)); + g_assert_true (asc_hint_is_error (hint)); + + asc_hint_set_tag (hint, "dev-testsuite-test"); + asc_hint_set_severity (hint, AS_ISSUE_SEVERITY_INFO); + g_assert_true (asc_hint_is_valid (hint)); + g_assert_true (!asc_hint_is_error (hint)); + + asc_hint_set_explanation_template (hint, + "This is an explanation for {{name}} which contains {{amount}} placeholders, " + "including one {odd} one and one left {{invalid}} intentionally."); + asc_hint_add_explanation_var (hint, "name", "the compose testsuite"); + asc_hint_add_explanation_var (hint, "amount", "3"); + + tmp = asc_hint_format_explanation (hint); + g_assert_cmpstr (tmp, ==, "This is an explanation for the compose testsuite which contains 3 placeholders, " + "including one {odd} one and one left {{invalid}} intentionally."); +} + +/** + * test_compose_result: + * + * Test the result object. + */ +static void +test_compose_result () +{ + g_autoptr(AscResult) cres = NULL; + g_autoptr(AsComponent) cpt = NULL; + g_autoptr(GError) error = NULL; + GPtrArray *hints; + gchar *tmp; + gboolean ret; + + cpt = as_component_new (); + as_component_set_id (cpt, "org.freedesktop.appstream.dummy"); + + cres = asc_result_new (); + ret = asc_result_add_component_with_string (cres, cpt, "", &error); + g_assert_no_error (error); + g_assert_true (ret); + + ret = asc_result_add_hint (cres, cpt, + "x-dev-testsuite-info", + "var1", "testvalue-info", NULL); + g_assert_true (ret); + + g_assert_cmpint (asc_result_components_count (cres), ==, 1); + g_assert_cmpint (asc_result_hints_count (cres), ==, 1); + + ret = asc_result_update_component_gcid_with_string (cres, cpt, ""); + g_assert_true (ret); + + g_assert_true (asc_result_get_component (cres, "org.freedesktop.appstream.dummy") == cpt); + + ret = asc_result_add_hint (cres, cpt, + "x-dev-testsuite-error", + "var1", "testvalue-error", NULL); + g_assert_false (ret); + + /* component no longer exists after an error, so this should fail now */ + ret = asc_result_update_component_gcid_with_string (cres, cpt, ""); + g_assert_false (ret); + + g_assert_cmpint (asc_result_components_count (cres), ==, 0); + g_assert_cmpint (asc_result_hints_count (cres), ==, 2); + + hints = asc_result_get_hints (cres, "org.freedesktop.appstream.dummy"); + g_assert_cmpint (hints->len, ==, 2); + + tmp = asc_hint_format_explanation (ASC_HINT (g_ptr_array_index (hints, 0))); + g_assert_cmpstr (tmp, ==, "Dummy info hint for the testsuite. Var1: testvalue-info."); + g_free (tmp); + + tmp = asc_hint_format_explanation (ASC_HINT (g_ptr_array_index (hints, 1))); + g_assert_cmpstr (tmp, ==, "Dummy error hint for the testsuite. Var1: testvalue-error."); + g_free (tmp); +} + +/** + * test_compose_desktop_entry: + */ +static void +test_compose_desktop_entry () +{ + g_autoptr(GError) error = NULL; + g_autoptr(AscResult) cres = NULL; + g_autoptr(AsComponent) cpt = NULL; + g_autoptr(AsComponent) ecpt = NULL; + g_autofree gchar *de_fname = NULL; + g_autoptr(GBytes) de_bytes2 = NULL; + gchar *contents; + gsize contents_len; + gchar *tmp; + AsLaunchable *launch; + GPtrArray *hints; + g_autoptr(GBytes) de_bytes = as_gbytes_from_literal ("[Desktop Entry]\n" + "Type=Application\n" + "Name=FooBar\n" + "Name[de_DE]=FööBär\n" + "Comment=A foo-ish bar.\n" + "Keywords=Hobbes;Bentham;Locke;\n" + "Keywords[de_DE]=Heidegger;Kant;Hegel;\n"); + + cres = asc_result_new (); + + /* test parsing standalone desktop-entry file */ + cpt = asc_parse_desktop_entry_data (cres, + NULL, /* cpt */ + de_bytes, + "foobar.desktop", + FALSE, /* don't ignore nodisplay */ + AS_FORMAT_VERSION_CURRENT, + NULL, NULL); + g_assert_nonnull (cpt); + g_clear_pointer (&cpt, g_object_unref); + + cpt = asc_result_get_component (cres, "foobar.desktop"); + g_assert_nonnull (cpt); + cpt = g_object_ref (cpt); + + g_assert_cmpstr (as_component_get_name (cpt), ==, "FooBar"); + g_assert_cmpint (asc_result_hints_count (cres), ==, 0); + g_clear_pointer (&cpt, g_object_unref); + + /* test component-id trimming */ + g_object_unref (cres); + cres = asc_result_new (); + cpt = asc_parse_desktop_entry_data (cres, + NULL, /* cpt */ + de_bytes, + "org.example.foobar.desktop", + FALSE, /* don't ignore nodisplay */ + AS_FORMAT_VERSION_CURRENT, + NULL, NULL); + g_assert_nonnull (cpt); + g_clear_pointer (&cpt, g_object_unref); + + cpt = asc_result_get_component (cres, "org.example.foobar"); + g_assert_nonnull (cpt); + cpt = g_object_ref (cpt); + g_clear_pointer (&cpt, g_object_unref); + g_assert_cmpint (asc_result_hints_count (cres), ==, 0); + + /* test preexisting component */ + g_object_unref (cres); + cres = asc_result_new (); + + ecpt = as_component_new (); + as_component_set_kind (ecpt, AS_COMPONENT_KIND_DESKTOP_APP); + as_component_set_id (ecpt, "org.example.foobar"); + as_component_set_name (ecpt, "TestX", "C"); + as_component_set_summary (ecpt, "Summary of TestX", "C"); + asc_result_add_component_with_string (cres, ecpt, "", NULL); + + cpt = asc_parse_desktop_entry_data (cres, + ecpt, + de_bytes, + "org.example.foobar.desktop", + TRUE, /* ignore nodisplay */ + AS_FORMAT_VERSION_CURRENT, + NULL, NULL); + g_assert_nonnull (cpt); + g_clear_pointer (&cpt, g_object_unref); + + cpt = asc_result_get_component (cres, "org.example.foobar"); + g_assert_nonnull (cpt); + cpt = g_object_ref (cpt); + g_assert_cmpint (asc_result_hints_count (cres), ==, 0); + + g_assert_cmpstr (as_component_get_name (cpt), ==, "TestX"); + g_assert_cmpstr (as_component_get_summary (cpt), ==, "Summary of TestX"); + + + as_component_set_active_locale (cpt, "C.UTF-8"); + tmp = g_strjoinv (", ", as_component_get_keywords (cpt)); + g_assert_cmpstr (tmp, ==, "Hobbes, Bentham, Locke"); + g_free (tmp); + + /* test launchable */ + launch = as_component_get_launchable (cpt, AS_LAUNCHABLE_KIND_DESKTOP_ID); + g_assert_nonnull (launch); + + g_assert_cmpint (as_launchable_get_entries (launch)->len, ==, 1); + g_assert_cmpstr (g_ptr_array_index (as_launchable_get_entries (launch), 0), ==, "org.example.foobar.desktop"); + g_clear_pointer (&cpt, g_object_unref); + + /* from file with damaged UTF-8 */ + de_fname = g_build_filename (datadir, "gnome-breakout_badUTF-8.desktop", NULL); + g_file_get_contents (de_fname, &contents, &contents_len, &error); + g_assert_no_error (error); + de_bytes2 = g_bytes_new_take (contents, contents_len); + + g_object_unref (cres); + cres = asc_result_new (); + cpt = asc_parse_desktop_entry_data (cres, + NULL, /* cpt */ + de_bytes2, + "gnome-breakout.desktop", + FALSE, /* don't ignore nodisplay */ + AS_FORMAT_VERSION_CURRENT, + NULL, NULL); + g_assert_nonnull (cpt); + + as_component_set_active_locale (cpt, "C.UTF-8"); + g_assert_cmpstr (as_component_get_name (cpt), ==, "GNOME Breakout"); + g_assert_cmpstr (as_component_get_summary (cpt), ==, "Play a clone of the classic arcade game Breakout for GNOME"); + as_component_set_active_locale (cpt, "de"); + g_assert_cmpstr (as_component_get_name (cpt), ==, "GNOME Breakout"); + g_assert_cmpstr (as_component_get_summary (cpt), ==, "Play a clone of the classic arcade game Breakout for GNOME"); /* not loaded, contains bad UTF-8 */ + as_component_set_active_locale (cpt, "tr"); + g_assert_cmpstr (as_component_get_name (cpt), ==, "Gnome Breakout"); + g_assert_cmpstr (as_component_get_summary (cpt), ==, "Play a clone of the classic arcade game Breakout for GNOME"); + + /* we should have two warnings about the bad UTF-8 */ + g_assert_cmpint (asc_result_hints_count (cres), ==, 2); + hints = asc_result_get_hints (cres, "gnome-breakout.desktop"); + g_assert_cmpint (hints->len, ==, 2); + for (guint i = 0; i < hints->len; i++) { + AscHint *hint = ASC_HINT (g_ptr_array_index (hints, i)); + g_assert_cmpstr (asc_hint_get_tag (hint), ==, "desktop-entry-bad-data"); + } + g_clear_pointer (&cpt, g_object_unref); +} + +static void +setup (Fixture *fixture, gconstpointer user_data) +{ + fixture->path = g_strdup (g_getenv ("PATH")); + /* not unset because glib has a hardcoded fallback */ + g_setenv ("PATH", "", TRUE); +} + +static void +teardown (Fixture *fixture, gconstpointer user_data) +{ + g_setenv ("PATH", fixture->path, TRUE); + g_clear_pointer (&fixture->path, g_free); +} + +/** + * test_compose_optipng_not_found: + */ +static void +test_compose_optipng_not_found (Fixture *fixture, gconstpointer user_data) +{ + g_test_expect_message (G_LOG_DOMAIN, + G_LOG_LEVEL_CRITICAL, + "*Refusing to enable optipng: not found in $PATH"); + asc_globals_set_use_optipng (TRUE); + g_assert_false (asc_globals_get_use_optipng ()); + g_test_assert_expected_messages (); +} + +/** + * test_compose_directory_unit: + */ +static void +test_compose_directory_unit () +{ + g_autoptr(GError) error = NULL; + gboolean ret; + GPtrArray *contents; + g_autoptr(GBytes) data = NULL; + g_autoptr(AscDirectoryUnit) dirunit = asc_directory_unit_new (datadir); + + ret = asc_unit_open (ASC_UNIT (dirunit), &error); + g_assert_no_error (error); + g_assert_true (ret); + + contents = asc_unit_get_contents (ASC_UNIT (dirunit)); + g_assert_cmpint (contents->len, ==, 12); + as_sort_strings (contents); + + g_assert_cmpstr (g_ptr_array_index (contents, 0), ==, "/Noto.LICENSE"); + g_assert_cmpstr (g_ptr_array_index (contents, 4), ==, "/table.svgz"); + + /* read existent data */ + g_assert_true (asc_unit_file_exists (ASC_UNIT (dirunit), "/usr/dummy")); + data = asc_unit_read_data (ASC_UNIT (dirunit), "/usr/dummy", &error); + g_assert_no_error (error); + g_assert_nonnull (data); + g_assert_cmpstr ((const gchar*) g_bytes_get_data (data, NULL), ==, "Hello Universe!\n"); + + /* read nonexistent data */ + g_bytes_unref (data); + g_assert_false (asc_unit_file_exists (ASC_UNIT (dirunit), "/nonexistent")); + data = asc_unit_read_data (ASC_UNIT (dirunit), "/nonexistent", &error); + g_assert_error (error, G_FILE_ERROR, G_FILE_ERROR_NOENT); + g_assert_null (data); +} + +/** + * test_compose_locale_stats: + */ +static void +test_compose_locale_stats () +{ + gboolean ret; + g_autoptr(GError) error = NULL; + g_autoptr(AscResult) cres = NULL; + g_autoptr(AsComponent) cpt = NULL; + g_autoptr(AsTranslation) tr = NULL; + g_autoptr(AscDirectoryUnit) dirunit = asc_directory_unit_new (datadir); + + /* open sample data directory unit */ + ret = asc_unit_open (ASC_UNIT (dirunit), &error); + g_assert_no_error (error); + g_assert_true (ret); + + /* create dummy result with a dummy component */ + cpt = as_component_new (); + as_component_set_id (cpt, "org.freedesktop.appstream.dummy"); + + tr = as_translation_new (); + as_translation_set_kind (tr, AS_TRANSLATION_KIND_GETTEXT); + as_translation_set_id (tr, "app"); + as_component_add_translation (cpt, tr); + + cres = asc_result_new (); + ret = asc_result_add_component_with_string (cres, cpt, "", &error); + g_assert_no_error (error); + g_assert_true (ret); + + /* try loading a Gettext translation */ + asc_read_translation_status (cres, + ASC_UNIT (dirunit), + "/usr", + 25); + asc_assert_no_hints_in_result (cres); + g_assert_cmpint (as_component_get_language (cpt, "en_GB"), ==, 100); + g_assert_cmpint (as_component_get_language (cpt, "ru"), ==, 33); + + /* try loading Qt translations, style 1 */ + as_component_clear_languages (cpt); + as_translation_set_kind (tr, AS_TRANSLATION_KIND_QT); + as_translation_set_id (tr, "kdeapp1/translations/kdeapp"); + as_component_add_translation (cpt, tr); + + asc_read_translation_status (cres, + ASC_UNIT (dirunit), + "/usr", + 25); + asc_assert_no_hints_in_result (cres); + g_assert_cmpint (as_component_get_language (cpt, "fr"), ==, 100); + g_assert_cmpint (as_component_get_language (cpt, "de"), ==, -1); + + /* try loading Qt translations, style 2 */ + as_component_clear_languages (cpt); + as_translation_set_kind (tr, AS_TRANSLATION_KIND_QT); + as_translation_set_id (tr, "kdeapp2/translations/kdeapp"); + as_component_add_translation (cpt, tr); + + asc_read_translation_status (cres, + ASC_UNIT (dirunit), + "/usr", + 25); + asc_assert_no_hints_in_result (cres); + g_assert_cmpint (as_component_get_language (cpt, "fr"), ==, 100); + g_assert_cmpint (as_component_get_language (cpt, "de"), ==, -1); + + /* try loading Qt translations, style 3 */ + as_component_clear_languages (cpt); + as_translation_set_kind (tr, AS_TRANSLATION_KIND_QT); + as_translation_set_id (tr, "kdeapp3"); + as_component_add_translation (cpt, tr); + + asc_read_translation_status (cres, + ASC_UNIT (dirunit), + "/usr", + 25); + asc_assert_no_hints_in_result (cres); + g_assert_cmpint (as_component_get_language (cpt, "fr"), ==, 100); + g_assert_cmpint (as_component_get_language (cpt, "de"), ==, 100); +} + +int +main (int argc, char **argv) +{ + int ret; + + if (argc == 0) { + g_error ("No test directory specified!"); + return 1; + } + + g_assert_nonnull (argv[1]); + datadir = g_build_filename (argv[1], "samples", "compose", NULL); + g_assert_true (g_file_test (datadir, G_FILE_TEST_EXISTS)); + + g_setenv ("G_MESSAGES_DEBUG", "all", TRUE); + g_test_init (&argc, &argv, NULL); + + /* only critical and error are fatal */ + g_log_set_fatal_mask (NULL, G_LOG_LEVEL_ERROR | G_LOG_LEVEL_CRITICAL); + + g_test_add ("/AppStream/Compose/OptipngNotfound", Fixture, NULL, setup, test_compose_optipng_not_found, teardown); + g_test_add_func ("/AppStream/Compose/Utils", test_utils); + g_test_add_func ("/AppStream/Compose/FontInfo", test_read_fontinfo); + g_test_add_func ("/AppStream/Compose/Image", test_image_transform); + g_test_add_func ("/AppStream/Compose/Canvas", test_canvas); + g_test_add_func ("/AppStream/Compose/Hints", test_compose_hints); + g_test_add_func ("/AppStream/Compose/Result", test_compose_result); + g_test_add_func ("/AppStream/Compose/DesktopEntry", test_compose_desktop_entry); + g_test_add_func ("/AppStream/Compose/DirectoryUnit", test_compose_directory_unit); + g_test_add_func ("/AppStream/Compose/LocaleStats", test_compose_locale_stats); + + ret = g_test_run (); + g_free (datadir); + return ret; +} diff -Nru appstream-0.12.10/tests/test-misc.c appstream-0.14.5/tests/test-misc.c --- appstream-0.12.10/tests/test-misc.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/tests/test-misc.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2018-2020 Matthias Klumpp + * Copyright (C) 2018-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -21,6 +21,7 @@ #include #include "appstream.h" #include "as-news-convert.h" +#include "as-utils-private.h" #include "as-test-utils.h" @@ -98,14 +99,14 @@ tmp = as_releases_to_metainfo_xml_chunk (releases, &error); g_assert_no_error (error); g_assert_nonnull (tmp); - g_assert (as_test_compare_lines (tmp, expected_xml_releases_data)); + g_assert_true (as_test_compare_lines (tmp, expected_xml_releases_data)); g_free (tmp); /* write */ ret = as_releases_to_news_data (releases, AS_NEWS_FORMAT_KIND_YAML, &tmp, &error); g_assert_no_error (error); - g_assert (ret); - g_assert (as_test_compare_lines (tmp, yaml_news_data)); + g_assert_true (ret); + g_assert_true (as_test_compare_lines (tmp, yaml_news_data)); g_free (tmp); } @@ -131,7 +132,7 @@ "\n" "Bugfixes:\n" " * Restore compatibility with GLib < 2.58\n" - " * Gamma\n" + " * Gamma\n" " * Delta\n"; static const gchar *expected_xml_releases_data = " \n" @@ -161,13 +162,13 @@ "This release changes the output of appstreamcli\n" "\n" "This release adds the following features:\n" - " - Alpha\n" - " - Beta\n" + " * Alpha\n" + " * Beta\n" "\n" "This release fixes the following bugs:\n" - " - Restore compatibility with GLib < 2.58\n" - " - Gamma\n" - " - Delta\n"; + " * Restore compatibility with GLib < 2.58\n" + " * Gamma\n" + " * Delta\n"; g_autoptr(GPtrArray) releases = NULL; g_autoptr(GError) error = NULL; @@ -182,16 +183,32 @@ tmp = as_releases_to_metainfo_xml_chunk (releases, &error); g_assert_no_error (error); g_assert_nonnull (tmp); - g_assert (as_test_compare_lines (tmp, expected_xml_releases_data)); + g_assert_true (as_test_compare_lines (tmp, expected_xml_releases_data)); g_free (tmp); /* write */ as_releases_to_news_data (releases, AS_NEWS_FORMAT_KIND_TEXT, &tmp, &error); g_assert_no_error (error); - g_assert (as_test_compare_lines (tmp, expected_generated_news_txt)); + g_assert_true (as_test_compare_lines (tmp, expected_generated_news_txt)); g_free (tmp); } +static void +test_locale_strip_encoding () +{ + g_autofree gchar *c = NULL; + g_autofree gchar *cutf8 = NULL; + g_autofree gchar *cutf8valencia = NULL; + + c = as_locale_strip_encoding ("C"); + cutf8 = as_locale_strip_encoding ("C.UTF-8"); + cutf8valencia = as_locale_strip_encoding ("C.UTF-8@valencia"); + + g_assert_cmpstr (c, ==, "C"); + g_assert_cmpstr (cutf8, ==, "C"); + g_assert_cmpstr (cutf8valencia, ==, "C@valencia"); +} + int main (int argc, char **argv) { @@ -202,9 +219,9 @@ return 1; } - g_assert (argv[1] != NULL); + g_assert_nonnull (argv[1]); datadir = g_build_filename (argv[1], "samples", NULL); - g_assert (g_file_test (datadir, G_FILE_TEST_EXISTS) != FALSE); + g_assert_true (g_file_test (datadir, G_FILE_TEST_EXISTS)); g_setenv ("G_MESSAGES_DEBUG", "all", TRUE); g_test_init (&argc, &argv, NULL); @@ -214,6 +231,7 @@ g_test_add_func ("/AppStream/Misc/YAMLNews", test_readwrite_yaml_news); g_test_add_func ("/AppStream/Misc/TextNews", test_readwrite_text_news); + g_test_add_func ("/AppStream/Misc/StripLocaleEncoding", test_locale_strip_encoding); ret = g_test_run (); g_free (datadir); diff -Nru appstream-0.12.10/tests/test-performance.c appstream-0.14.5/tests/test-performance.c --- appstream-0.12.10/tests/test-performance.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/tests/test-performance.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2012-2020 Matthias Klumpp + * Copyright (C) 2012-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -69,7 +69,7 @@ static void test_pool_xml_read_perf (void) { - GError *error = NULL; + g_autoptr(GError) error = NULL; guint i; guint loops = 1000; g_autoptr(GTimer) timer = NULL; @@ -95,7 +95,7 @@ static void test_pool_cache_perf (void) { - GError *error = NULL; + g_autoptr(GError) error = NULL; g_autoptr(GTimer) timer = NULL; g_autoptr(GPtrArray) prep_cpts = NULL; g_autoptr(AsCache) cache = NULL; @@ -202,9 +202,9 @@ } datadir = argv[1]; - g_assert (datadir != NULL); + g_assert_nonnull (datadir); datadir = g_build_filename (datadir, "samples", NULL); - g_assert (g_file_test (datadir, G_FILE_TEST_EXISTS) != FALSE); + g_assert_true (g_file_test (datadir, G_FILE_TEST_EXISTS)); /* only critical and error are fatal */ g_log_set_fatal_mask (NULL, G_LOG_LEVEL_ERROR | G_LOG_LEVEL_CRITICAL); diff -Nru appstream-0.12.10/tests/test-pool.c appstream-0.14.5/tests/test-pool.c --- appstream-0.12.10/tests/test-pool.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/tests/test-pool.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2012-2020 Matthias Klumpp + * Copyright (C) 2012-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -18,6 +18,7 @@ * along with this library. If not, see . */ +#include #include #include @@ -34,15 +35,13 @@ static void print_cptarray (GPtrArray *cpt_array) { - guint i; - g_printf ("----\n"); - for (i = 0; i < cpt_array->len; i++) { - AsComponent *cpt; - cpt = (AsComponent*) g_ptr_array_index (cpt_array, i); + for (guint i = 0; i < cpt_array->len; i++) { + g_autofree gchar *tmp = NULL; + AsComponent *cpt = (AsComponent*) g_ptr_array_index (cpt_array, i); - g_printf (" - %s\n", - as_component_to_string (cpt)); + tmp = as_component_to_string (cpt); + g_printf (" - %s\n", tmp); } g_printf ("----\n"); } @@ -140,7 +139,7 @@ cpts_b_xml = as_metadata_components_to_collection (metad, AS_FORMAT_KIND_XML, &error); g_assert_no_error (error); - g_assert (as_test_compare_lines (cpts_a_xml, cpts_b_xml)); + g_assert_true (as_test_compare_lines (cpts_a_xml, cpts_b_xml)); } /** @@ -169,13 +168,11 @@ as_pool_load (pool, NULL, &error); g_assert_no_error (error); - cpts_prev = as_pool_get_components (pool); - g_assert_cmpint (cpts_prev->len, ==, 19); - /* get XML representation of the data currently in the pool */ mdata = as_metadata_new (); cpts_prev = as_pool_get_components (pool); as_sort_components (cpts_prev); + g_assert_cmpint (cpts_prev->len, ==, 19); for (guint i = 0; i < cpts_prev->len; i++) { AsComponent *cpt = AS_COMPONENT (g_ptr_array_index (cpts_prev, i)); @@ -215,7 +212,7 @@ xmldata_postcache = as_metadata_components_to_collection (mdata, AS_FORMAT_KIND_XML, &error); g_assert_no_error (error); - g_assert (as_test_compare_lines (xmldata_precache, xmldata_postcache)); + g_assert_true (as_test_compare_lines (xmldata_precache, xmldata_postcache)); /* load an "modify" read-only cache */ cache = as_cache_new (); @@ -223,18 +220,18 @@ as_cache_open (cache, cache_testpath, "C", &error); g_assert_no_error (error); - ccpt = as_cache_get_component_by_data_id (cache, "system/os/package/org.inkscape.Inkscape", &error); + ccpt = as_cache_get_component_by_data_id (cache, "system/package/os/org.inkscape.Inkscape/*", &error); g_assert_no_error (error); g_assert_nonnull (ccpt); g_assert_cmpstr (as_component_get_name (ccpt), ==, "Inkscape"); g_object_unref (ccpt); - ret = as_cache_remove_by_data_id (cache, "system/os/package/org.inkscape.Inkscape", &error); + ret = as_cache_remove_by_data_id (cache, "system/package/os/org.inkscape.Inkscape/*", &error); g_assert_no_error (error); - g_assert (ret); + g_assert_true (ret); - ccpt = as_cache_get_component_by_data_id (cache, "system/os/package/org.inkscape.Inkscape", &error); + ccpt = as_cache_get_component_by_data_id (cache, "system/package/os/org.inkscape.Inkscape/*", &error); g_assert_no_error (error); g_assert_null (ccpt); } @@ -251,11 +248,12 @@ g_autoptr(GPtrArray) all_cpts = NULL; g_autoptr(GPtrArray) result = NULL; g_autoptr(GPtrArray) categories = NULL; + g_autoptr(AsComponent) cpt_a = NULL; + AsComponent *cpt_s = NULL; gchar **strv; GPtrArray *rels; AsRelease *rel; GPtrArray *artifacts; - AsComponent *cpt; AsBundle *bundle; g_autoptr(GError) error = NULL; @@ -279,8 +277,8 @@ result = as_pool_search (dpool, "kig"); print_cptarray (result); g_assert_cmpint (result->len, ==, 1); - cpt = AS_COMPONENT (g_ptr_array_index (result, 0)); - g_assert_cmpstr (as_component_get_pkgnames (cpt)[0], ==, "kig"); + cpt_s = AS_COMPONENT (g_ptr_array_index (result, 0)); + g_assert_cmpstr (as_component_get_pkgnames (cpt_s)[0], ==, "kig"); g_clear_pointer (&result, g_ptr_array_unref); result = as_pool_search (dpool, "web"); @@ -302,6 +300,12 @@ /* test searching for multiple words */ result = as_pool_search (dpool, "scalable graphics"); print_cptarray (result); + g_assert_cmpint (result->len, ==, 1); + g_clear_pointer (&result, g_ptr_array_unref); + + /* test searching for multiple words, multiple results */ + result = as_pool_search (dpool, "strategy game"); + print_cptarray (result); g_assert_cmpint (result->len, ==, 2); g_clear_pointer (&result, g_ptr_array_unref); @@ -320,31 +324,31 @@ result = as_pool_get_components_by_provided_item (dpool, AS_PROVIDED_KIND_BINARY, "inkscape"); print_cptarray (result); g_assert_cmpint (result->len, ==, 1); - cpt = AS_COMPONENT (g_ptr_array_index (result, 0)); + cpt_s = AS_COMPONENT (g_ptr_array_index (result, 0)); - g_assert_cmpstr (as_component_get_name (cpt), ==, "Inkscape"); - g_assert_cmpstr (as_component_get_url (cpt, AS_URL_KIND_HOMEPAGE), ==, "https://inkscape.org/"); - g_assert_cmpstr (as_component_get_url (cpt, AS_URL_KIND_FAQ), ==, "https://inkscape.org/learn/faq/"); + g_assert_cmpstr (as_component_get_name (cpt_s), ==, "Inkscape"); + g_assert_cmpstr (as_component_get_url (cpt_s, AS_URL_KIND_HOMEPAGE), ==, "https://inkscape.org/"); + g_assert_cmpstr (as_component_get_url (cpt_s, AS_URL_KIND_FAQ), ==, "https://inkscape.org/learn/faq/"); g_clear_pointer (&result, g_ptr_array_unref); /* test a component in a different file, with no package but a bundle instead */ - cpt = _as_get_single_component_by_cid (dpool, "org.neverball.Neverball"); - g_assert_nonnull (cpt); + cpt_a = _as_get_single_component_by_cid (dpool, "org.neverball.Neverball"); + g_assert_nonnull (cpt_a); - g_assert_cmpstr (as_component_get_name (cpt), ==, "Neverball"); - g_assert_cmpstr (as_component_get_url (cpt, AS_URL_KIND_HOMEPAGE), ==, "http://neverball.org/"); - bundle = as_component_get_bundle (cpt, AS_BUNDLE_KIND_LIMBA); + g_assert_cmpstr (as_component_get_name (cpt_a), ==, "Neverball"); + g_assert_cmpstr (as_component_get_url (cpt_a, AS_URL_KIND_HOMEPAGE), ==, "http://neverball.org/"); + bundle = as_component_get_bundle (cpt_a, AS_BUNDLE_KIND_LIMBA); g_assert_nonnull (bundle); g_assert_cmpstr (as_bundle_get_id (bundle), ==, "neverball-1.6.0"); - rels = as_component_get_releases (cpt); + rels = as_component_get_releases (cpt_a); g_assert_cmpint (rels->len, ==, 2); rel = AS_RELEASE (g_ptr_array_index (rels, 0)); g_assert_cmpstr (as_release_get_version (rel), ==, "1.6.1"); g_assert_cmpuint (as_release_get_timestamp (rel), ==, 123465888); - g_assert (as_release_get_urgency (rel) == AS_URGENCY_KIND_LOW); + g_assert_true (as_release_get_urgency (rel) == AS_URGENCY_KIND_LOW); artifacts = as_release_get_artifacts (rel); g_assert_cmpint (artifacts->len, ==, 2); @@ -397,8 +401,8 @@ } if (g_strcmp0 (cat_id, "graphics") == 0) { - cpt = g_ptr_array_index (as_category_get_components (cat), 0); - g_assert_cmpstr (as_component_get_id (cpt), ==, "org.inkscape.Inkscape"); + AsComponent *tmp_cpt = g_ptr_array_index (as_category_get_components (cat), 0); + g_assert_cmpstr (as_component_get_id (tmp_cpt), ==, "org.inkscape.Inkscape"); } } @@ -409,8 +413,8 @@ result = as_pool_get_components_by_launchable (dpool, AS_LAUNCHABLE_KIND_DESKTOP_ID, "inkscape.desktop"); g_assert_cmpint (result->len, ==, 1); - cpt = AS_COMPONENT (g_ptr_array_index (result, 0)); - g_assert_cmpstr (as_component_get_id (cpt), ==, "org.inkscape.Inkscape"); + cpt_s = AS_COMPONENT (g_ptr_array_index (result, 0)); + g_assert_cmpstr (as_component_get_id (cpt_s), ==, "org.inkscape.Inkscape"); g_clear_pointer (&result, g_ptr_array_unref); } @@ -487,14 +491,12 @@ g_test_log_set_fatal_handler (test_log_allow_warnings, NULL); result = as_pool_search (pool, "web"); - if (result->len != 0 && result->len != 1) - g_assert (0); + g_assert_cmpint (result->len, ==, 0); g_clear_pointer (&result, g_ptr_array_unref); cpts = as_pool_get_components (pool); g_assert_nonnull (cpts); - if (cpts->len != 0 && cpts->len != 19) - g_assert (0); + g_assert_cmpint (cpts->len, ==, 0); g_ptr_array_unref (cpts); /* wait for the callback to be run (unless it already has!) */ @@ -519,7 +521,7 @@ test_merge_components () { g_autoptr(AsPool) dpool = NULL; - AsComponent *cpt; + g_autoptr(AsComponent) cpt = NULL; GPtrArray *suggestions; AsSuggested *suggested; GPtrArray *cpt_ids; @@ -543,6 +545,7 @@ g_assert_cmpint (cpt_ids->len, ==, 2); g_assert_cmpstr ((const gchar*) g_ptr_array_index (cpt_ids, 0), ==, "org.example.test1"); g_assert_cmpstr ((const gchar*) g_ptr_array_index (cpt_ids, 1), ==, "org.example.test2"); + g_clear_pointer (&cpt, g_object_unref); cpt = _as_get_single_component_by_cid (dpool, "literki.desktop"); g_assert_nonnull (cpt); @@ -555,6 +558,7 @@ g_assert_cmpint (cpt_ids->len, ==, 2); g_assert_cmpstr ((const gchar*) g_ptr_array_index (cpt_ids, 0), ==, "org.example.test3"); g_assert_cmpstr ((const gchar*) g_ptr_array_index (cpt_ids, 1), ==, "org.example.test4"); + g_clear_pointer (&cpt, g_object_unref); /* test if names get overridden */ cpt = _as_get_single_component_by_cid (dpool, "kiki.desktop"); @@ -562,6 +566,7 @@ g_assert_cmpstr (as_component_get_name (cpt), ==, "Kiki (name changed by merge)"); } +#ifdef HAVE_STEMMING /** * test_search_stemming: * @@ -582,6 +587,7 @@ g_assert_cmpstr (tmp, ==, "gimp"); g_free (tmp); } +#endif /** * test_pool_empty: @@ -620,7 +626,7 @@ ret = as_pool_add_component (pool, cpt, &error); g_object_unref (cpt); g_assert_no_error (error); - g_assert (ret); + g_assert_true (ret); /* try to retrieve the dummy component */ result = as_pool_search (pool, "foo"); @@ -644,9 +650,9 @@ } datadir = argv[1]; - g_assert (datadir != NULL); + g_assert_nonnull (datadir); datadir = g_build_filename (datadir, "samples", NULL); - g_assert (g_file_test (datadir, G_FILE_TEST_EXISTS) != FALSE); + g_assert_true (g_file_test (datadir, G_FILE_TEST_EXISTS)); g_setenv ("G_MESSAGES_DEBUG", "all", TRUE); g_test_init (&argc, &argv, NULL); diff -Nru appstream-0.12.10/tests/test-validate.c appstream-0.14.5/tests/test-validate.c --- appstream-0.12.10/tests/test-validate.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/tests/test-validate.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2014-2020 Matthias Klumpp + * Copyright (C) 2014-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -26,17 +26,248 @@ static gchar *datadir = NULL; +typedef struct { + const gchar *tag; + const gchar *hint; + glong line; + AsIssueSeverity severity; +} AsVResultCheck; + +/** + * _astest_validate_sample_fname: + * + * Validate file from sample directory with the given validator. + */ +static gboolean +_astest_validate_sample_fname (AsValidator *validator, const gchar *basename) +{ + g_autofree gchar *fname; + g_autoptr(GFile) file = NULL; + + fname = g_build_filename (datadir, basename, NULL); + file = g_file_new_for_path (fname); + g_assert_true (g_file_query_exists (file, NULL)); + + return as_validator_validate_file (validator, file); +} + +/** + * print_single_issue: + **/ +static gchar* +_astest_issue_info_to_string (const gchar *tag, const gchar *hint, glong line, AsIssueSeverity severity) +{ + return g_strdup_printf ("%s:%s:%li:%s", + tag, + hint == NULL? "" : hint, + line, + as_issue_severity_to_string (severity)); +} + +/** + * _astest_validate_check_results: + * + * Ensure the specified checks pass for the given validator results. + */ +static void +_astest_check_validate_issues (GList *issues, AsVResultCheck *checks_all) +{ + g_autoptr(GHashTable) checks = g_hash_table_new_full (g_str_hash, + g_str_equal, + g_free, + NULL); + + for (guint i = 0; checks_all[i].tag != NULL; i++) + g_hash_table_insert (checks, + g_strconcat (checks_all[i].tag, ":", checks_all[i].hint, NULL), + &checks_all[i]); + + for (GList *l = issues; l != NULL; l = l->next) { + g_autofree gchar *issue_idstr = NULL; + g_autofree gchar *expected_idstr = NULL; + g_autofree gchar *check_key = NULL; + AsVResultCheck *check; + AsValidatorIssue *issue = AS_VALIDATOR_ISSUE (l->data); + const gchar *tag = as_validator_issue_get_tag (issue); + const gchar *hint = as_validator_issue_get_hint (issue); + + check_key = g_strconcat (tag, ":", hint == NULL? "" : hint, NULL); + issue_idstr = _astest_issue_info_to_string (tag, + hint, + as_validator_issue_get_line (issue), + as_validator_issue_get_severity (issue)); + check = g_hash_table_lookup (checks, check_key); + if (check == NULL) { + g_error ("Encountered unexpected validation issue: %s", issue_idstr); + g_assert_not_reached (); + } + expected_idstr = _astest_issue_info_to_string (check->tag, + check->hint, + check->line, + check->severity); + + g_assert_cmpstr (expected_idstr, ==, issue_idstr); + g_hash_table_remove (checks, check_key); + } + + if (g_hash_table_size (checks) != 0) { + g_autofree gchar *tmp = NULL; + g_autofree gchar **strv = NULL; + strv = (gchar**) g_hash_table_get_keys_as_array (checks, NULL); + tmp = g_strjoinv ("; ", strv); + g_error ("Expected validation issues were not found: %s", tmp); + g_assert_not_reached (); + } +} + +/** + * test_validator_manyerrors_desktopapp: + * + * Test desktop-application metainfo file with many issues. + */ +static void +test_validator_manyerrors_desktopapp () +{ + gboolean ret; + g_autoptr(GList) issues = NULL; + g_autoptr(AsValidator) validator = as_validator_new (); + + AsVResultCheck expected_results[] = { + { "metadata-license-invalid", + "GPL-2.0+", 8, + AS_ISSUE_SEVERITY_ERROR, + }, + { "spdx-license-unknown", + "weird", 9, + AS_ISSUE_SEVERITY_WARNING, + }, + { "summary-has-dot-suffix", + "Too short, ends with dot.", 12, + AS_ISSUE_SEVERITY_INFO, + }, + { "name-has-dot-suffix", + "A name.", 11, + AS_ISSUE_SEVERITY_PEDANTIC, + }, + { "cid-contains-hyphen", + "7-bad-ID", 7, + AS_ISSUE_SEVERITY_INFO, + }, + { "cid-contains-uppercase-letter", + "7-bad-ID", 7, + AS_ISSUE_SEVERITY_PEDANTIC, + }, + { "cid-has-number-prefix", + "7-bad-ID: 7-bad-ID → _7-bad-ID", 7, + AS_ISSUE_SEVERITY_INFO, + }, + { "cid-desktopapp-is-not-rdns", + "7-bad-ID", 7, + AS_ISSUE_SEVERITY_WARNING, + }, + { "description-first-para-too-short", + "Have some invalid markup as well as some valid one.", 15, + AS_ISSUE_SEVERITY_INFO, + }, + { "description-para-markup-invalid", + "b", 16, + AS_ISSUE_SEVERITY_ERROR, + }, + { "url-not-secure", + "http://www.example.org/insecure-url", 21, + AS_ISSUE_SEVERITY_INFO, + }, + { "web-url-expected", + "not a link", 20, + AS_ISSUE_SEVERITY_ERROR, + }, + { "release-type-invalid", + "unstable", 48, + AS_ISSUE_SEVERITY_WARNING, + }, + { "release-urgency-invalid", + "superduperhigh", 26, + AS_ISSUE_SEVERITY_WARNING, + }, + { "web-url-expected", + "not an URL", 31, + AS_ISSUE_SEVERITY_ERROR, + }, + { "artifact-invalid-platform-triplet", + "OS/Kernel invalid: lunix", 38, + AS_ISSUE_SEVERITY_WARNING, + }, + { "artifact-filename-not-basename", + "/root/file.dat", 44, + AS_ISSUE_SEVERITY_ERROR, + }, + { "release-issue-is-cve-but-no-cve-id", + "hmm...", 33, + AS_ISSUE_SEVERITY_WARNING, + }, + { "content-rating-missing", + "", -1, + AS_ISSUE_SEVERITY_INFO, + }, + + { NULL, NULL, 0, AS_ISSUE_SEVERITY_UNKNOWN } + }; + + ret = _astest_validate_sample_fname (validator, "validate_many-errors-desktopapp.xml"); + + issues = as_validator_get_issues (validator); + _astest_check_validate_issues (issues, + (AsVResultCheck*) &expected_results); + g_assert_false (ret); +} + /** - * test_validator_create: + * test_validator_relationissues: * - * Placeholder test function that just creates a validator and removes it again - * for now. + * Test requires/recommends & Co. */ static void -test_validator_create () +test_validator_relationissues () { - AsValidator *validator = as_validator_new (); - g_object_unref (validator); + gboolean ret; + g_autoptr(GList) issues = NULL; + g_autoptr(AsValidator) validator = as_validator_new (); + + AsVResultCheck expected_results[] = { + { "relation-control-value-invalid", + "telekinesis", 22, + AS_ISSUE_SEVERITY_WARNING, + }, + { "relation-item-has-vercmp", + "gt", 23, + AS_ISSUE_SEVERITY_INFO, + }, + { "relation-item-invalid-vercmp", + "gl", 24, + AS_ISSUE_SEVERITY_ERROR, + }, + { "relation-display-length-side-property-invalid", + "alpha", 27, + AS_ISSUE_SEVERITY_WARNING, + }, + { "relation-display-length-value-invalid", + "bleh", 25, + AS_ISSUE_SEVERITY_WARNING, + }, + { "releases-info-missing", + "", -1, + AS_ISSUE_SEVERITY_PEDANTIC, + }, + + { NULL, NULL, 0, AS_ISSUE_SEVERITY_UNKNOWN } + }; + + ret = _astest_validate_sample_fname (validator, "validate_relationissues.xml"); + + issues = as_validator_get_issues (validator); + _astest_check_validate_issues (issues, + (AsVResultCheck*) &expected_results); + g_assert_false (ret); } int @@ -49,9 +280,9 @@ return 1; } - g_assert (argv[1] != NULL); + g_assert_nonnull (argv[1]); datadir = g_build_filename (argv[1], "samples", NULL); - g_assert (g_file_test (datadir, G_FILE_TEST_EXISTS) != FALSE); + g_assert_true (g_file_test (datadir, G_FILE_TEST_EXISTS)); g_setenv ("G_MESSAGES_DEBUG", "all", TRUE); g_test_init (&argc, &argv, NULL); @@ -59,7 +290,8 @@ /* only critical and error are fatal */ g_log_set_fatal_mask (NULL, G_LOG_LEVEL_ERROR | G_LOG_LEVEL_CRITICAL); - g_test_add_func ("/AppStream/Validate/Create", test_validator_create); + g_test_add_func ("/AppStream/Validate/DesktopAppManyErrors", test_validator_manyerrors_desktopapp); + g_test_add_func ("/AppStream/Validate/RelationIssues", test_validator_relationissues); ret = g_test_run (); g_free (datadir); diff -Nru appstream-0.12.10/tests/test-xmldata.c appstream-0.14.5/tests/test-xmldata.c --- appstream-0.12.10/tests/test-xmldata.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/tests/test-xmldata.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2012-2020 Matthias Klumpp + * Copyright (C) 2012-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -111,7 +111,7 @@ gchar *path; AsComponent *cpt; GPtrArray *screenshots; - GError *error = NULL; + g_autoptr(GError) error = NULL; metad = as_metadata_new (); @@ -123,10 +123,10 @@ cpt = as_metadata_get_component (metad); g_object_unref (file); g_assert_no_error (error); - g_assert (cpt != NULL); + g_assert_true (cpt != NULL); g_assert_cmpstr (as_component_get_summary (cpt), ==, "Application manager for GNOME"); - g_assert (as_component_get_kind (cpt) == AS_COMPONENT_KIND_DESKTOP_APP); + g_assert_true (as_component_get_kind (cpt) == AS_COMPONENT_KIND_DESKTOP_APP); screenshots = as_component_get_screenshots (cpt); g_assert_cmpint (screenshots->len, ==, 5); @@ -144,14 +144,13 @@ { g_autoptr(AsMetadata) metad = NULL; g_autoptr(GFile) file = NULL; + g_autoptr(GError) error = NULL; gchar *path; AsComponent *cpt; GPtrArray *trs; AsTranslation *tr; - GError *error = NULL; - metad = as_metadata_new (); path = g_build_filename (datadir, "appdata.xml", NULL); @@ -163,9 +162,9 @@ as_metadata_parse_file (metad, file, AS_FORMAT_KIND_XML, &error); cpt = as_metadata_get_component (metad); g_assert_no_error (error); - g_assert (cpt != NULL); + g_assert_true (cpt != NULL); - g_assert (as_component_get_kind (cpt) == AS_COMPONENT_KIND_DESKTOP_APP); + g_assert_true (as_component_get_kind (cpt) == AS_COMPONENT_KIND_DESKTOP_APP); g_assert_cmpstr (as_component_get_name (cpt), ==, "Feuerfuchs"); as_component_set_active_locale (cpt, "C"); g_assert_cmpstr (as_component_get_name (cpt), ==, "Firefox"); @@ -186,7 +185,7 @@ g_assert_cmpstr (as_component_get_name (cpt), ==, "Feuerfuchs"); /* no french, so fallback */ as_component_set_active_locale (cpt, "fr_FR"); - g_assert_cmpstr (as_component_get_name (cpt), ==, "Firefoux"); + g_assert_cmpstr (as_component_get_name (cpt), ==, "Renard de feu"); /* check if reading tag succeeded */ trs = as_component_get_translations (cpt); @@ -210,40 +209,40 @@ GFile *file; gchar *tmp; AsComponent *cpt; - GError *error = NULL; + g_autoptr(GError) error = NULL; const gchar *EXPECTED_XML = "\n" - " firefox.desktop\n" + " org.mozilla.firefox\n" " Firefox\n" " Feuerfuchs\n" - " Firefoux\n" + " Renard de feu\n" " Web browser\n" " Navigateur web\n" " firefox-bin\n" + " web-browser\n" + " firefox_web-browser.png\n" + " http://www.mozilla.com\n" " \n" " network\n" " web\n" " \n" + " \n" + " application/vnd.mozilla.xul+xml\n" + " application/x-xpinstall\n" + " application/xhtml+xml\n" + " text/html\n" + " text/mml\n" + " text/xml\n" + " x-scheme-handler/http\n" + " x-scheme-handler/https\n" + " \n" + " firefox\n" " \n" " internet\n" " web\n" " browser\n" " navigateur\n" " \n" - " http://www.mozilla.com\n" - " web-browser\n" - " firefox_web-browser.png\n" - " firefox\n" - " \n" - " application/vnd.mozilla.xul+xml\n" - " application/x-xpinstall\n" - " application/xhtml+xml\n" - " text/html\n" - " text/mml\n" - " text/xml\n" - " x-scheme-handler/http\n" - " x-scheme-handler/https\n" - " \n" "\n"; metad = as_metadata_new (); @@ -256,7 +255,7 @@ as_metadata_parse_file (metad, file, AS_FORMAT_KIND_XML, &error); cpt = as_metadata_get_component (metad); g_assert_no_error (error); - g_assert (cpt != NULL); + g_assert_true (cpt != NULL); g_object_unref (file); as_component_sort_values (cpt); @@ -266,7 +265,7 @@ &error); g_assert_no_error (error); - g_assert (as_xml_test_compare_xml (tmp, EXPECTED_XML)); + g_assert_true (as_xml_test_compare_xml (tmp, EXPECTED_XML)); g_free (tmp); g_object_unref (metad); @@ -283,6 +282,7 @@ guint i; gchar *tmp; AsRelease *rel; + g_autoptr(GError) error = NULL; g_autoptr(AsMetadata) metad = NULL; g_autoptr(AsComponent) cpt = NULL; @@ -347,7 +347,7 @@ " \n" "\n"; - const gchar *EXPECTED_XML_DISTRO = "\n" + const gchar *EXPECTED_XML_DISTRO = "\n" " \n" " org.example.Test\n" " Test\n" @@ -391,6 +391,7 @@ "\n"; metad = as_metadata_new (); + as_metadata_set_locale (metad, "ALL"); cpt = as_component_new (); as_component_set_kind (cpt, AS_COMPONENT_KIND_GENERIC); @@ -428,7 +429,7 @@ as_metadata_add_component (metad, cpt); tmp = as_metadata_component_to_metainfo (metad, AS_FORMAT_KIND_XML, NULL); - g_assert (as_xml_test_compare_xml (tmp, EXPECTED_XML)); + g_assert_true (as_xml_test_compare_xml (tmp, EXPECTED_XML)); g_free (tmp); /* add localization */ @@ -437,16 +438,103 @@ "

                                                                                                                                                                                                                                                                                                                                                                                                                                                Erster paragraph

                                                                                                                                                                                                                                                                                                                                                                                                                                                \n
                                                                                                                                                                                                                                                                                                                                                                                                                                                1. Eins
                                                                                                                                                                                                                                                                                                                                                                                                                                                2. Zwei
                                                                                                                                                                                                                                                                                                                                                                                                                                                3. Drei

                                                                                                                                                                                                                                                                                                                                                                                                                                                Zweiter Paragraph

                                                                                                                                                                                                                                                                                                                                                                                                                                                • Erstens
                                                                                                                                                                                                                                                                                                                                                                                                                                                • Zweitens

                                                                                                                                                                                                                                                                                                                                                                                                                                                Paragraph3

                                                                                                                                                                                                                                                                                                                                                                                                                                                ", "de"); + /* test localization */ + tmp = as_metadata_component_to_metainfo (metad, AS_FORMAT_KIND_XML, NULL); + g_assert_true (as_xml_test_compare_xml (tmp, EXPECTED_XML_LOCALIZED)); + g_free (tmp); + + /* test collection-xml conversion */ + tmp = as_metadata_components_to_collection (metad, AS_FORMAT_KIND_XML, NULL); + g_assert_true (as_xml_test_compare_xml (tmp, EXPECTED_XML_DISTRO)); + g_free (tmp); + + /* test collection XMl -> metainfo XML */ + as_metadata_clear_components (metad); + as_metadata_set_format_style (metad, AS_FORMAT_STYLE_COLLECTION); + as_metadata_parse (metad, EXPECTED_XML_DISTRO, AS_FORMAT_KIND_XML, &error); + g_assert_no_error (error); tmp = as_metadata_component_to_metainfo (metad, AS_FORMAT_KIND_XML, NULL); - g_assert (as_xml_test_compare_xml (tmp, EXPECTED_XML_LOCALIZED)); + g_assert_true (as_xml_test_compare_xml (tmp, EXPECTED_XML_LOCALIZED)); g_free (tmp); + /* test metainfo XMl -> collection XML */ + as_metadata_clear_components (metad); + as_metadata_set_format_style (metad, AS_FORMAT_STYLE_METAINFO); + as_metadata_parse (metad, EXPECTED_XML_LOCALIZED, AS_FORMAT_KIND_XML, &error); + g_assert_no_error (error); tmp = as_metadata_components_to_collection (metad, AS_FORMAT_KIND_XML, NULL); - g_assert (as_xml_test_compare_xml (tmp, EXPECTED_XML_DISTRO)); + g_assert_true (as_xml_test_compare_xml (tmp, EXPECTED_XML_DISTRO)); g_free (tmp); } /** + * test_appstream_description_l10n_cleanup: + */ +static void +test_appstream_description_l10n_cleanup (void) +{ + const gchar *DESC_L10N_XML = "\n" + " org.example.Test\n" + " Test\n" + " Just a unittest.\n" + " \n" + "

                                                                                                                                                                                                                                                                                                                                                                                                                                                First paragraph

                                                                                                                                                                                                                                                                                                                                                                                                                                                \n" + "

                                                                                                                                                                                                                                                                                                                                                                                                                                                Erster Absatz

                                                                                                                                                                                                                                                                                                                                                                                                                                                \n" + "

                                                                                                                                                                                                                                                                                                                                                                                                                                                Second paragraph

                                                                                                                                                                                                                                                                                                                                                                                                                                                \n" + "

                                                                                                                                                                                                                                                                                                                                                                                                                                                Zweiter Absatz

                                                                                                                                                                                                                                                                                                                                                                                                                                                \n" + "

                                                                                                                                                                                                                                                                                                                                                                                                                                                Features:

                                                                                                                                                                                                                                                                                                                                                                                                                                                \n" + "

                                                                                                                                                                                                                                                                                                                                                                                                                                                Característiques:

                                                                                                                                                                                                                                                                                                                                                                                                                                                \n" + "

                                                                                                                                                                                                                                                                                                                                                                                                                                                Vlastnosti:

                                                                                                                                                                                                                                                                                                                                                                                                                                                \n" + "

                                                                                                                                                                                                                                                                                                                                                                                                                                                Funktionen:

                                                                                                                                                                                                                                                                                                                                                                                                                                                \n" + "

                                                                                                                                                                                                                                                                                                                                                                                                                                                Funksjonar:

                                                                                                                                                                                                                                                                                                                                                                                                                                                \n" + "
                                                                                                                                                                                                                                                                                                                                                                                                                                                  \n" + "
                                                                                                                                                                                                                                                                                                                                                                                                                                                • Browse the maps clicking in a map division to see its name, capital and flag
                                                                                                                                                                                                                                                                                                                                                                                                                                                • \n" + "
                                                                                                                                                                                                                                                                                                                                                                                                                                                • Busqueu en els mapes fent clic a sobre d'una zona del mapa per a veure el seu nom, capital i bandera
                                                                                                                                                                                                                                                                                                                                                                                                                                                • \n" + "
                                                                                                                                                                                                                                                                                                                                                                                                                                                • Landkarte erkunden, indem Sie in der Karte auf ein Land klicken und dessen Name, Hauptstadt und Flagge angezeigt wird
                                                                                                                                                                                                                                                                                                                                                                                                                                                • \n" + "
                                                                                                                                                                                                                                                                                                                                                                                                                                                • The game tells you a map division name and you have to click on it
                                                                                                                                                                                                                                                                                                                                                                                                                                                • \n" + "
                                                                                                                                                                                                                                                                                                                                                                                                                                                • El joc mostra el nom d'una zona en el mapa i heu de fer clic sobre el lloc on està
                                                                                                                                                                                                                                                                                                                                                                                                                                                • \n" + "
                                                                                                                                                                                                                                                                                                                                                                                                                                                \n" + "
                                                                                                                                                                                                                                                                                                                                                                                                                                                \n" + "
                                                                                                                                                                                                                                                                                                                                                                                                                                                \n"; + const gchar *ENGLISH_DESC_TEXT = "

                                                                                                                                                                                                                                                                                                                                                                                                                                                First paragraph

                                                                                                                                                                                                                                                                                                                                                                                                                                                \n" + "

                                                                                                                                                                                                                                                                                                                                                                                                                                                Second paragraph

                                                                                                                                                                                                                                                                                                                                                                                                                                                \n" + "

                                                                                                                                                                                                                                                                                                                                                                                                                                                Features:

                                                                                                                                                                                                                                                                                                                                                                                                                                                \n" + "
                                                                                                                                                                                                                                                                                                                                                                                                                                                  \n" + "
                                                                                                                                                                                                                                                                                                                                                                                                                                                • Browse the maps clicking in a map division to see its name, capital and flag
                                                                                                                                                                                                                                                                                                                                                                                                                                                • \n" + "
                                                                                                                                                                                                                                                                                                                                                                                                                                                • The game tells you a map division name and you have to click on it
                                                                                                                                                                                                                                                                                                                                                                                                                                                • \n" + "
                                                                                                                                                                                                                                                                                                                                                                                                                                                \n"; + g_autoptr(AsComponent) cpt = NULL; + + cpt = as_xml_test_read_data (DESC_L10N_XML, AS_FORMAT_STYLE_METAINFO); + g_assert_cmpstr (as_component_get_id (cpt), ==, "org.example.Test"); + + g_assert_cmpstr (as_component_get_name (cpt), ==, "Test"); + g_assert_cmpstr (as_component_get_summary (cpt), ==, "Just a unittest."); + + as_component_set_active_locale (cpt, "C"); + g_assert_cmpstr (as_component_get_description (cpt), ==, ENGLISH_DESC_TEXT); + as_component_set_active_locale (cpt, "de"); + g_assert_cmpstr (as_component_get_description (cpt), ==, "

                                                                                                                                                                                                                                                                                                                                                                                                                                                Erster Absatz

                                                                                                                                                                                                                                                                                                                                                                                                                                                \n" + "

                                                                                                                                                                                                                                                                                                                                                                                                                                                Zweiter Absatz

                                                                                                                                                                                                                                                                                                                                                                                                                                                \n" + "

                                                                                                                                                                                                                                                                                                                                                                                                                                                Funktionen:

                                                                                                                                                                                                                                                                                                                                                                                                                                                \n" + "
                                                                                                                                                                                                                                                                                                                                                                                                                                                  \n" + "
                                                                                                                                                                                                                                                                                                                                                                                                                                                • Landkarte erkunden, indem Sie in der Karte auf ein Land klicken und dessen Name, Hauptstadt und Flagge angezeigt wird
                                                                                                                                                                                                                                                                                                                                                                                                                                                • \n" + "
                                                                                                                                                                                                                                                                                                                                                                                                                                                \n"); + as_component_set_active_locale (cpt, "ca"); + g_assert_cmpstr (as_component_get_description (cpt), ==, "

                                                                                                                                                                                                                                                                                                                                                                                                                                                Característiques:

                                                                                                                                                                                                                                                                                                                                                                                                                                                \n" + "
                                                                                                                                                                                                                                                                                                                                                                                                                                                  \n" + "
                                                                                                                                                                                                                                                                                                                                                                                                                                                • Busqueu en els mapes fent clic a sobre d'una zona del mapa per a veure el seu nom, capital i bandera
                                                                                                                                                                                                                                                                                                                                                                                                                                                • \n" + "
                                                                                                                                                                                                                                                                                                                                                                                                                                                • El joc mostra el nom d'una zona en el mapa i heu de fer clic sobre el lloc on està
                                                                                                                                                                                                                                                                                                                                                                                                                                                • \n" + "
                                                                                                                                                                                                                                                                                                                                                                                                                                                \n"); + + /* not enough translation for these, we should have fallen back to English */ + as_component_set_active_locale (cpt, "cs"); + g_assert_cmpstr (as_component_get_description (cpt), ==, ENGLISH_DESC_TEXT); + as_component_set_active_locale (cpt, "nn"); + g_assert_cmpstr (as_component_get_description (cpt), ==, ENGLISH_DESC_TEXT); +} + +/** * test_appstream_read_description: * * Test reading the description tag. @@ -485,7 +573,7 @@ cpt = as_xml_test_read_data (xmldata_desc_mi1, AS_FORMAT_STYLE_METAINFO); g_assert_cmpstr (as_component_get_id (cpt), ==, "org.example.DescTestMI-1"); - g_assert (as_test_compare_lines (as_component_get_description (cpt), + g_assert_true (as_test_compare_lines (as_component_get_description (cpt), "

                                                                                                                                                                                                                                                                                                                                                                                                                                                Agenda is a simple, slick, speedy and no-nonsense task manager. Use it to keep track of the tasks that matter most.

                                                                                                                                                                                                                                                                                                                                                                                                                                                \n" "

                                                                                                                                                                                                                                                                                                                                                                                                                                                This paragraph makes use of code markup.

                                                                                                                                                                                                                                                                                                                                                                                                                                                \n" "
                                                                                                                                                                                                                                                                                                                                                                                                                                                  \n" @@ -511,8 +599,8 @@ static const gchar *xmldata_simple = "\n" " org.example.SimpleTest\n" " TestComponent\n" - " Just part of an unittest\n" " Generic\n" + " Just part of an unittest\n" "\n"; /** @@ -553,7 +641,7 @@ as_component_set_name_variant_suffix (cpt, "Generic", "C"); res = as_xml_test_serialize (cpt, AS_FORMAT_STYLE_METAINFO); - g_assert (as_xml_test_compare_xml (res, xmldata_simple)); + g_assert_true (as_xml_test_compare_xml (res, xmldata_simple)); } /** @@ -631,7 +719,7 @@ as_component_add_language (cpt, "en_GB", 98); res = as_xml_test_serialize (cpt, AS_FORMAT_STYLE_METAINFO); - g_assert (as_xml_test_compare_xml (res, expected_lang_xml)); + g_assert_true (as_xml_test_compare_xml (res, expected_lang_xml)); } /** @@ -646,18 +734,20 @@ g_autoptr(AsProvided) prov_mime = NULL; g_autoptr(AsProvided) prov_bin = NULL; g_autoptr(AsProvided) prov_dbus = NULL; + g_autoptr(AsProvided) prov_firmware_runtime = NULL; + g_autoptr(AsProvided) prov_firmware_flashed = NULL; g_autofree gchar *res = NULL; const gchar *expected_prov_xml = "\n" " org.example.ProvidesTest\n" - " \n" - " text/plain\n" - " application/xml\n" - " image/png\n" - " \n" " \n" + " text/plain\n" + " application/xml\n" + " image/png\n" " foobar\n" " foobar-viewer\n" " org.example.ProvidesTest.Modify\n" + " ipw2200-bss.fw\n" + " 84f40464-9272-4ef7-9399-cd95f12da696\n" " \n" "\n"; @@ -682,8 +772,18 @@ as_provided_add_item (prov_dbus, "org.example.ProvidesTest.Modify"); as_component_add_provided (cpt, prov_dbus); + prov_firmware_runtime = as_provided_new (); + as_provided_set_kind (prov_firmware_runtime, AS_PROVIDED_KIND_FIRMWARE_RUNTIME); + as_provided_add_item (prov_firmware_runtime, "ipw2200-bss.fw"); + as_component_add_provided (cpt, prov_firmware_runtime); + + prov_firmware_flashed = as_provided_new (); + as_provided_set_kind (prov_firmware_flashed, AS_PROVIDED_KIND_FIRMWARE_FLASHED); + as_provided_add_item (prov_firmware_flashed, "84f40464-9272-4ef7-9399-cd95f12da696"); + as_component_add_provided (cpt, prov_firmware_flashed); + res = as_xml_test_serialize (cpt, AS_FORMAT_STYLE_METAINFO); - g_assert (as_xml_test_compare_xml (res, expected_prov_xml)); + g_assert_true (as_xml_test_compare_xml (res, expected_prov_xml)); } /** @@ -704,7 +804,7 @@ " org.example.Awesome\n" " \n" "\n"; - const gchar *expected_sug_xml_coll = "\n" + const gchar *expected_sug_xml_coll = "\n" " \n" " org.example.SuggestsTest\n" " \n" @@ -733,11 +833,12 @@ /* test metainfo serialization */ res = as_xml_test_serialize (cpt, AS_FORMAT_STYLE_METAINFO); - g_assert (as_xml_test_compare_xml (res, expected_sug_xml_mi)); + g_assert_true (as_xml_test_compare_xml (res, expected_sug_xml_mi)); + g_free (res); /* test collection serialization */ res = as_xml_test_serialize (cpt, AS_FORMAT_STYLE_COLLECTION); - g_assert (as_xml_test_compare_xml (res, expected_sug_xml_coll)); + g_assert_true (as_xml_test_compare_xml (res, expected_sug_xml_coll)); } static const gchar *xmldata_custom = "\n" @@ -784,7 +885,7 @@ as_component_insert_custom_value (cpt, NULL, "dummy"); res = as_xml_test_serialize (cpt, AS_FORMAT_STYLE_METAINFO); - g_assert (as_xml_test_compare_xml (res, xmldata_custom)); + g_assert_true (as_xml_test_compare_xml (res, xmldata_custom)); } static const gchar *xmldata_content_rating = "\n" @@ -841,7 +942,7 @@ as_component_add_content_rating (cpt, rating); res = as_xml_test_serialize (cpt, AS_FORMAT_STYLE_METAINFO); - g_assert (as_xml_test_compare_xml (res, xmldata_content_rating)); + g_assert_true (as_xml_test_compare_xml (res, xmldata_content_rating)); } /* Test that parsing an empty content rating correctly returns `none` as the @@ -926,7 +1027,7 @@ as_component_add_launchable (cpt, launch); res = as_xml_test_serialize (cpt, AS_FORMAT_STYLE_METAINFO); - g_assert (as_xml_test_compare_xml (res, xmldata_launchable)); + g_assert_true (as_xml_test_compare_xml (res, xmldata_launchable)); } /** @@ -981,7 +1082,7 @@ " \n" "\n"; - const gchar *EXPECTED_XML_COLL = "\n" + const gchar *EXPECTED_XML_COLL = "\n" " \n" " org.example.Test\n" " Test\n" @@ -1038,7 +1139,7 @@ as_metadata_set_format_style (metad, AS_FORMAT_STYLE_COLLECTION); tmp = as_metadata_components_to_collection (metad, AS_FORMAT_KIND_XML, NULL); - g_assert (as_xml_test_compare_xml (tmp, EXPECTED_XML_COLL)); + g_assert_true (as_xml_test_compare_xml (tmp, EXPECTED_XML_COLL)); g_free (tmp); } @@ -1122,6 +1223,14 @@ g_assert_cmpint (as_image_get_width (img), ==, 800); g_assert_cmpint (as_image_get_height (img), ==, 600); + /* get closest images */ + img = as_screenshot_get_image (scr1, 120, 120); + g_assert_nonnull (img); + g_assert_cmpstr (as_image_get_url (img), ==, "https://example.org/alpha_small.png"); + img = as_screenshot_get_image (scr1, 1400, 1000); + g_assert_nonnull (img); + g_assert_cmpstr (as_image_get_url (img), ==, "https://example.org/alpha.png"); + /* screenshot 2 */ g_assert_cmpint (as_screenshot_get_kind (scr2), ==, AS_SCREENSHOT_KIND_EXTRA); g_assert_cmpint (as_screenshot_get_media_kind (scr2), ==, AS_SCREENSHOT_MEDIA_KIND_IMAGE); @@ -1286,20 +1395,22 @@ as_component_add_screenshot (cpt, scr3); res = as_xml_test_serialize (cpt, AS_FORMAT_STYLE_METAINFO); - g_assert (as_xml_test_compare_xml (res, xmldata_screenshots)); + g_assert_true (as_xml_test_compare_xml (res, xmldata_screenshots)); } static const gchar *xmldata_recommends_requires = "\n" " org.example.RelationsTest\n" - " \n" - " 2500\n" - " usb:v1130p0202d*\n" - " \n" " \n" " Linux\n" " org.example.TestDependency\n" + " small\n" " \n" + " \n" + " 2500\n" + " usb:v1130p0202d*\n" + " 4200\n" + " \n" "\n"; /** * test_xml_read_recommends_requires: @@ -1320,8 +1431,8 @@ recommends = as_component_get_recommends (cpt); requires = as_component_get_requires (cpt); - g_assert_cmpint (recommends->len, ==, 2); - g_assert_cmpint (requires->len, ==, 2); + g_assert_cmpint (recommends->len, ==, 3); + g_assert_cmpint (requires->len, ==, 3); /* memory relation */ relation = AS_RELATION (g_ptr_array_index (recommends, 0)); @@ -1333,13 +1444,20 @@ relation = AS_RELATION (g_ptr_array_index (recommends, 1)); g_assert_cmpint (as_relation_get_kind (relation), ==, AS_RELATION_KIND_RECOMMENDS); g_assert_cmpint (as_relation_get_item_kind (relation), ==, AS_RELATION_ITEM_KIND_MODALIAS); - g_assert_cmpstr (as_relation_get_value (relation), ==, "usb:v1130p0202d*"); + g_assert_cmpstr (as_relation_get_value_str (relation), ==, "usb:v1130p0202d*"); + + /* display_length relation (REC) */ + relation = AS_RELATION (g_ptr_array_index (recommends, 2)); + g_assert_cmpint (as_relation_get_kind (relation), ==, AS_RELATION_KIND_RECOMMENDS); + g_assert_cmpint (as_relation_get_item_kind (relation), ==, AS_RELATION_ITEM_KIND_DISPLAY_LENGTH); + g_assert_cmpint (as_relation_get_value_px (relation), ==, 4200); + g_assert_cmpint (as_relation_get_compare (relation), ==, AS_RELATION_COMPARE_LE); /* kernel relation */ relation = AS_RELATION (g_ptr_array_index (requires, 0)); g_assert_cmpint (as_relation_get_kind (relation), ==, AS_RELATION_KIND_REQUIRES); g_assert_cmpint (as_relation_get_item_kind (relation), ==, AS_RELATION_ITEM_KIND_KERNEL); - g_assert_cmpstr (as_relation_get_value (relation), ==, "Linux"); + g_assert_cmpstr (as_relation_get_value_str (relation), ==, "Linux"); g_assert_cmpstr (as_relation_get_version (relation), ==, "4.15"); g_assert_cmpint (as_relation_get_compare (relation), ==, AS_RELATION_COMPARE_GE); @@ -1347,9 +1465,16 @@ relation = AS_RELATION (g_ptr_array_index (requires, 1)); g_assert_cmpint (as_relation_get_kind (relation), ==, AS_RELATION_KIND_REQUIRES); g_assert_cmpint (as_relation_get_item_kind (relation), ==, AS_RELATION_ITEM_KIND_ID); - g_assert_cmpstr (as_relation_get_value (relation), ==, "org.example.TestDependency"); + g_assert_cmpstr (as_relation_get_value_str (relation), ==, "org.example.TestDependency"); g_assert_cmpstr (as_relation_get_version (relation), ==, "1.2"); g_assert_cmpint (as_relation_get_compare (relation), ==, AS_RELATION_COMPARE_EQ); + + /* display_length relation (REQ) */ + relation = AS_RELATION (g_ptr_array_index (requires, 2)); + g_assert_cmpint (as_relation_get_kind (relation), ==, AS_RELATION_KIND_REQUIRES); + g_assert_cmpint (as_relation_get_item_kind (relation), ==, AS_RELATION_ITEM_KIND_DISPLAY_LENGTH); + g_assert_cmpint (as_relation_get_value_display_length_kind (relation), ==, AS_DISPLAY_LENGTH_KIND_SMALL); + g_assert_cmpint (as_relation_get_compare (relation), ==, AS_RELATION_COMPARE_GE); } /** @@ -1366,6 +1491,8 @@ g_autoptr(AsRelation) moda_relation = NULL; g_autoptr(AsRelation) kernel_relation = NULL; g_autoptr(AsRelation) id_relation = NULL; + g_autoptr(AsRelation) dl_relation1 = NULL; + g_autoptr(AsRelation) dl_relation2 = NULL; cpt = as_component_new (); as_component_set_id (cpt, "org.example.RelationsTest"); @@ -1374,34 +1501,49 @@ moda_relation = as_relation_new (); kernel_relation = as_relation_new (); id_relation = as_relation_new (); + dl_relation1 = as_relation_new (); + dl_relation2 = as_relation_new (); as_relation_set_kind (mem_relation, AS_RELATION_KIND_RECOMMENDS); as_relation_set_kind (moda_relation, AS_RELATION_KIND_RECOMMENDS); as_relation_set_kind (kernel_relation, AS_RELATION_KIND_REQUIRES); as_relation_set_kind (id_relation, AS_RELATION_KIND_REQUIRES); + as_relation_set_kind (dl_relation1, AS_RELATION_KIND_RECOMMENDS); + as_relation_set_kind (dl_relation2, AS_RELATION_KIND_REQUIRES); as_relation_set_item_kind (mem_relation, AS_RELATION_ITEM_KIND_MEMORY); - as_relation_set_value (mem_relation, "2500"); + as_relation_set_value_int (mem_relation, 2500); as_relation_set_item_kind (moda_relation, AS_RELATION_ITEM_KIND_MODALIAS); - as_relation_set_value (moda_relation, "usb:v1130p0202d*"); + as_relation_set_value_str (moda_relation, "usb:v1130p0202d*"); as_relation_set_item_kind (kernel_relation, AS_RELATION_ITEM_KIND_KERNEL); - as_relation_set_value (kernel_relation, "Linux"); + as_relation_set_value_str (kernel_relation, "Linux"); as_relation_set_version (kernel_relation, "4.15"); as_relation_set_compare (kernel_relation, AS_RELATION_COMPARE_GE); as_relation_set_item_kind (id_relation, AS_RELATION_ITEM_KIND_ID); - as_relation_set_value (id_relation, "org.example.TestDependency"); + as_relation_set_value_str (id_relation, "org.example.TestDependency"); as_relation_set_version (id_relation, "1.2"); as_relation_set_compare (id_relation, AS_RELATION_COMPARE_EQ); + as_relation_set_item_kind (dl_relation1, AS_RELATION_ITEM_KIND_DISPLAY_LENGTH); + as_relation_set_value_px (dl_relation1, 4200); + as_relation_set_display_side_kind (dl_relation1, AS_DISPLAY_SIDE_KIND_LONGEST); + as_relation_set_compare (dl_relation1, AS_RELATION_COMPARE_LE); + + as_relation_set_item_kind (dl_relation2, AS_RELATION_ITEM_KIND_DISPLAY_LENGTH); + as_relation_set_value_display_length_kind (dl_relation2, AS_DISPLAY_LENGTH_KIND_SMALL); + as_relation_set_compare (dl_relation2, AS_RELATION_COMPARE_GE); + as_component_add_relation (cpt, mem_relation); as_component_add_relation (cpt, moda_relation); as_component_add_relation (cpt, kernel_relation); as_component_add_relation (cpt, id_relation); + as_component_add_relation (cpt, dl_relation1); + as_component_add_relation (cpt, dl_relation2); res = as_xml_test_serialize (cpt, AS_FORMAT_STYLE_METAINFO); - g_assert (as_xml_test_compare_xml (res, xmldata_recommends_requires)); + g_assert_true (as_xml_test_compare_xml (res, xmldata_recommends_requires)); } @@ -1482,7 +1624,7 @@ as_component_add_agreement (cpt, agreement); res = as_xml_test_serialize (cpt, AS_FORMAT_STYLE_METAINFO); - g_assert (as_xml_test_compare_xml (res, xmldata_agreements)); + g_assert_true (as_xml_test_compare_xml (res, xmldata_agreements)); } static const gchar *xmldata_releases = "\n" @@ -1501,6 +1643,7 @@ " \n" " \n" " https://example.com/mytarball.bin.tar.xz\n" + " mytarball-1.2.0.bin.tar.xz\n" " f7dd28d23679b5cd6598534a27cd821cf3375c385a10a633f104d9e4841991a8\n" " 112358\n" " 42424242\n" @@ -1556,6 +1699,8 @@ g_assert_cmpint (as_artifact_get_locations (artifact)->len, ==, 1); g_assert_cmpstr (g_ptr_array_index (as_artifact_get_locations (artifact), 0), ==, "https://example.com/mytarball.bin.tar.xz"); + g_assert_cmpstr (as_artifact_get_filename (artifact), ==, "mytarball-1.2.0.bin.tar.xz"); + cs = as_artifact_get_checksum (artifact, AS_CHECKSUM_KIND_SHA256); g_assert_cmpstr (as_checksum_get_value (cs), ==, "f7dd28d23679b5cd6598534a27cd821cf3375c385a10a633f104d9e4841991a8"); @@ -1621,6 +1766,7 @@ as_artifact_set_platform (artifact, "x86_64-linux-gnu"); as_artifact_set_bundle_kind (artifact, AS_BUNDLE_KIND_TARBALL); as_artifact_add_location (artifact, "https://example.com/mytarball.bin.tar.xz"); + as_artifact_set_filename (artifact, "mytarball-1.2.0.bin.tar.xz"); cs = as_checksum_new (); as_checksum_set_kind (cs, AS_CHECKSUM_KIND_SHA256); as_checksum_set_value (cs, "f7dd28d23679b5cd6598534a27cd821cf3375c385a10a633f104d9e4841991a8"); @@ -1658,7 +1804,7 @@ as_component_add_release (cpt, rel); res = as_xml_test_serialize (cpt, AS_FORMAT_STYLE_METAINFO); - g_assert (as_xml_test_compare_xml (res, xmldata_releases)); + g_assert_true (as_xml_test_compare_xml (res, xmldata_releases)); } /** @@ -1715,6 +1861,62 @@ } /** + * test_xml_rw_reviews: + */ +static void +test_xml_rw_reviews (void) +{ + static const gchar *xmldata_reviews = + "\n" + " org.example.ReviewTest\n" + " \n" + " \n" + " 5\n" + " Hello world\n" + " \n" + "

                                                                                                                                                                                                                                                                                                                                                                                                                                                  Mighty Fine

                                                                                                                                                                                                                                                                                                                                                                                                                                                  \n" + "
                                                                                                                                                                                                                                                                                                                                                                                                                                                  \n" + " 1.2.3\n" + " deadbeef\n" + " Richard Hughes\n" + " en_GB\n" + " \n" + " bar\n" + " \n" + "
                                                                                                                                                                                                                                                                                                                                                                                                                                                  \n" + "
                                                                                                                                                                                                                                                                                                                                                                                                                                                  \n" + "
                                                                                                                                                                                                                                                                                                                                                                                                                                                  \n"; + g_autoptr(AsComponent) cpt = NULL; + GPtrArray *reviews; + AsReview *review; + g_autofree gchar *res = NULL; + + /* read */ + cpt = as_xml_test_read_data (xmldata_reviews, AS_FORMAT_STYLE_METAINFO); + g_assert_cmpstr (as_component_get_id (cpt), ==, "org.example.ReviewTest"); + + reviews = as_component_get_reviews (cpt); + g_assert_cmpint (reviews->len, ==, 1); + review = AS_REVIEW (g_ptr_array_index (reviews, 0)); + + /* validate */ + g_assert_cmpint (as_review_get_priority (review), ==, 5); + g_assert_true (as_review_get_date (review) != NULL); + g_assert_cmpstr (as_review_get_id (review), ==, "17"); + g_assert_cmpstr (as_review_get_version (review), ==, "1.2.3"); + g_assert_cmpstr (as_review_get_reviewer_id (review), ==, "deadbeef"); + g_assert_cmpstr (as_review_get_reviewer_name (review), ==, "Richard Hughes"); + g_assert_cmpstr (as_review_get_summary (review), ==, "Hello world"); + g_assert_cmpstr (as_review_get_locale (review), ==, "en_GB"); + g_assert_cmpstr (as_review_get_description (review), ==, "

                                                                                                                                                                                                                                                                                                                                                                                                                                                  Mighty Fine

                                                                                                                                                                                                                                                                                                                                                                                                                                                  "); + g_assert_cmpstr (as_review_get_metadata_item (review, "foo"), ==, "bar"); + + /* write */ + res = as_xml_test_serialize (cpt, AS_FORMAT_STYLE_METAINFO); + g_assert_true (as_xml_test_compare_xml (res, xmldata_reviews)); +} + +/** * main: */ int @@ -1728,9 +1930,9 @@ } datadir = argv[1]; - g_assert (datadir != NULL); + g_assert_nonnull (datadir); datadir = g_build_filename (datadir, "samples", NULL); - g_assert (g_file_test (datadir, G_FILE_TEST_EXISTS) != FALSE); + g_assert_true (g_file_test (datadir, G_FILE_TEST_EXISTS)); g_setenv ("G_MESSAGES_DEBUG", "all", TRUE); g_test_init (&argc, &argv, NULL); @@ -1744,6 +1946,7 @@ g_test_add_func ("/XML/Read/Description", test_appstream_read_description); g_test_add_func ("/XML/Write/Description", test_appstream_write_description); + g_test_add_func ("/XML/DescriptionL10NCleanup", test_appstream_description_l10n_cleanup); g_test_add_func ("/XML/Write/MetainfoToCollection", test_appstream_write_metainfo_to_collection); @@ -1781,6 +1984,8 @@ g_test_add_func ("/XML/Write/Releases", test_xml_write_releases); g_test_add_func ("/XML/Read/ReleasesLegacy", test_xml_read_releases_legacy); + g_test_add_func ("/XML/ReadWrite/Reviews", test_xml_rw_reviews); + ret = g_test_run (); g_free (datadir); return ret; diff -Nru appstream-0.12.10/tests/test-yamldata.c appstream-0.14.5/tests/test-yamldata.c --- appstream-0.12.10/tests/test-yamldata.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/tests/test-yamldata.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2012-2020 Matthias Klumpp + * Copyright (C) 2012-2021 Matthias Klumpp * * Licensed under the GNU Lesser General Public License Version 2.1 * @@ -37,7 +37,7 @@ { gchar *data; g_autoptr(AsMetadata) metad = NULL; - GError *error = NULL; + g_autoptr(GError) error = NULL; metad = as_metadata_new (); as_metadata_set_locale (metad, "ALL"); @@ -64,7 +64,7 @@ data_full = g_strdup_printf ("---\n" "File: DEP-11\n" - "Version: '0.12'\n" + "Version: '0.14'\n" "---\n%s", data); metad = as_metadata_new (); @@ -104,7 +104,7 @@ g_autofree gchar *expected_full = NULL; expected_full = g_strdup_printf ("---\n" "File: DEP-11\n" - "Version: '0.12'\n" + "Version: '0.14'\n" "---\n%s", expected); return as_test_compare_lines (result, expected_full); } @@ -123,7 +123,7 @@ GPtrArray *cpts; guint i; AsComponent *cpt_tomatoes = NULL; - GError *error = NULL; + g_autoptr(GError) error = NULL; mdata = as_metadata_new (); as_metadata_set_locale (mdata, "C"); @@ -142,7 +142,7 @@ for (i = 0; i < cpts->len; i++) { AsComponent *cpt = AS_COMPONENT (g_ptr_array_index (cpts, i)); - g_assert (as_component_is_valid (cpt)); + g_assert_true (as_component_is_valid (cpt)); if (g_strcmp0 (as_component_get_name (cpt), "I Have No Tomatoes") == 0) cpt_tomatoes = cpt; @@ -205,10 +205,11 @@ g_autoptr(AsRelease) rel1 = NULL; g_autoptr(AsRelease) rel2 = NULL; g_autoptr(AsBundle) bdl = NULL; + g_autoptr(GError) error = NULL; AsIssue *issue; g_autofree gchar *resdata = NULL; AsComponent *cpt = NULL; - GError *error = NULL; + gchar *_PKGNAME1[2] = {"fwdummy", NULL}; gchar *_PKGNAME2[2] = {"foobar-pkg", NULL}; @@ -398,7 +399,7 @@ resdata = as_metadata_components_to_collection (metad, AS_FORMAT_KIND_YAML, &error); g_assert_no_error (error); - g_assert (as_yaml_test_compare_yaml (resdata, expected_yaml)); + g_assert_true (as_yaml_test_compare_yaml (resdata, expected_yaml)); } /** @@ -586,7 +587,7 @@ /* test collection serialization */ res = as_yaml_test_serialize (cpt); - g_assert (as_yaml_test_compare_yaml (res, yamldata_simple_fields)); + g_assert_true (as_yaml_test_compare_yaml (res, yamldata_simple_fields)); } /** @@ -608,6 +609,148 @@ } /** + * test_yaml_write_provides: + * + * Test writing the Provides field. + */ +static void +test_yaml_write_provides (void) +{ + g_autoptr(AsComponent) cpt = NULL; + g_autoptr(AsProvided) prov_mime = NULL; + g_autoptr(AsProvided) prov_bin = NULL; + g_autoptr(AsProvided) prov_dbus = NULL; + g_autoptr(AsProvided) prov_firmware_runtime = NULL; + g_autoptr(AsProvided) prov_firmware_flashed = NULL; + g_autofree gchar *res = NULL; + const gchar *expected_prov_yaml = "Type: generic\n" + "ID: org.example.ProvidesTest\n" + "Provides:\n" + " mediatypes:\n" + " - text/plain\n" + " - application/xml\n" + " - image/png\n" + " binaries:\n" + " - foobar\n" + " - foobar-viewer\n" + " dbus:\n" + " - type: system\n" + " service: org.example.ProvidesTest.Modify\n" + " firmware:\n" + " - type: runtime\n" + " file: ipw2200-bss.fw\n" + " - type: flashed\n" + " guid: 84f40464-9272-4ef7-9399-cd95f12da696\n"; + + cpt = as_component_new (); + as_component_set_kind (cpt, AS_COMPONENT_KIND_GENERIC); + as_component_set_id (cpt, "org.example.ProvidesTest"); + + prov_mime = as_provided_new (); + as_provided_set_kind (prov_mime, AS_PROVIDED_KIND_MIMETYPE); + as_provided_add_item (prov_mime, "text/plain"); + as_provided_add_item (prov_mime, "application/xml"); + as_provided_add_item (prov_mime, "image/png"); + as_component_add_provided (cpt, prov_mime); + + prov_bin = as_provided_new (); + as_provided_set_kind (prov_bin, AS_PROVIDED_KIND_BINARY); + as_provided_add_item (prov_bin, "foobar"); + as_provided_add_item (prov_bin, "foobar-viewer"); + as_component_add_provided (cpt, prov_bin); + + prov_dbus = as_provided_new (); + as_provided_set_kind (prov_dbus, AS_PROVIDED_KIND_DBUS_SYSTEM); + as_provided_add_item (prov_dbus, "org.example.ProvidesTest.Modify"); + as_component_add_provided (cpt, prov_dbus); + + prov_firmware_runtime = as_provided_new (); + as_provided_set_kind (prov_firmware_runtime, AS_PROVIDED_KIND_FIRMWARE_RUNTIME); + as_provided_add_item (prov_firmware_runtime, "ipw2200-bss.fw"); + as_component_add_provided (cpt, prov_firmware_runtime); + + prov_firmware_flashed = as_provided_new (); + as_provided_set_kind (prov_firmware_flashed, AS_PROVIDED_KIND_FIRMWARE_FLASHED); + as_provided_add_item (prov_firmware_flashed, "84f40464-9272-4ef7-9399-cd95f12da696"); + as_component_add_provided (cpt, prov_firmware_flashed); + + /* test collection serialization */ + res = as_yaml_test_serialize (cpt); + g_assert_true (as_yaml_test_compare_yaml (res, expected_prov_yaml)); +} + +/** + * test_yaml_read_provides: + * + * Test if reading the Provides field works. + */ +static void +test_yaml_read_provides (void) +{ + g_autoptr(AsComponent) cpt = NULL; + GPtrArray *provides; + GPtrArray *cpt_items; + AsProvided *prov; + const gchar *yamldata_provides = "ID: org.example.ProvidesTest\n" + "Provides:\n" + " mediatypes:\n" + " - text/plain\n" + " - application/xml\n" + " - image/png\n" + " binaries:\n" + " - foobar\n" + " - foobar-viewer\n" + " dbus:\n" + " - type: system\n" + " service: org.example.ProvidesTest.Modify\n" + " firmware:\n" + " - type: runtime\n" + " file: ipw2200-bss.fw\n" + " - type: flashed\n" + " guid: 84f40464-9272-4ef7-9399-cd95f12da696\n"; + + cpt = as_yaml_test_read_data (yamldata_provides, NULL); + g_assert_cmpstr (as_component_get_id (cpt), ==, "org.example.ProvidesTest"); + + provides = as_component_get_provided (cpt); + g_assert_cmpint (provides->len, ==, 5); + + prov = AS_PROVIDED (g_ptr_array_index (provides, 0)); + g_assert_true (as_provided_get_kind (prov) == AS_PROVIDED_KIND_MIMETYPE); + cpt_items = as_provided_get_items (prov); + g_assert_cmpint (cpt_items->len, ==, 3); + + g_assert_cmpstr ((const gchar*) g_ptr_array_index (cpt_items, 0), ==, "text/plain"); + g_assert_cmpstr ((const gchar*) g_ptr_array_index (cpt_items, 1), ==, "application/xml"); + g_assert_cmpstr ((const gchar*) g_ptr_array_index (cpt_items, 2), ==, "image/png"); + + prov = AS_PROVIDED (g_ptr_array_index (provides, 1)); + g_assert_true (as_provided_get_kind (prov) == AS_PROVIDED_KIND_BINARY); + cpt_items = as_provided_get_items (prov); + g_assert_cmpint (cpt_items->len, ==, 2); + g_assert_cmpstr ((const gchar*) g_ptr_array_index (cpt_items, 0), ==, "foobar"); + g_assert_cmpstr ((const gchar*) g_ptr_array_index (cpt_items, 1), ==, "foobar-viewer"); + + prov = AS_PROVIDED (g_ptr_array_index (provides, 2)); + g_assert_true (as_provided_get_kind (prov) == AS_PROVIDED_KIND_DBUS_SYSTEM); + cpt_items = as_provided_get_items (prov); + g_assert_cmpint (cpt_items->len, ==, 1); + g_assert_cmpstr ((const gchar*) g_ptr_array_index (cpt_items, 0), ==, "org.example.ProvidesTest.Modify"); + + prov = AS_PROVIDED (g_ptr_array_index (provides, 3)); + g_assert_true (as_provided_get_kind (prov) == AS_PROVIDED_KIND_FIRMWARE_RUNTIME); + cpt_items = as_provided_get_items (prov); + g_assert_cmpint (cpt_items->len, ==, 1); + g_assert_cmpstr ((const gchar*) g_ptr_array_index (cpt_items, 0), ==, "ipw2200-bss.fw"); + + prov = AS_PROVIDED (g_ptr_array_index (provides, 4)); + g_assert_true (as_provided_get_kind (prov) == AS_PROVIDED_KIND_FIRMWARE_FLASHED); + cpt_items = as_provided_get_items (prov); + g_assert_cmpint (cpt_items->len, ==, 1); + g_assert_cmpstr ((const gchar*) g_ptr_array_index (cpt_items, 0), ==, "84f40464-9272-4ef7-9399-cd95f12da696"); +} + +/** * test_yaml_write_suggests: * * Test writing the Suggests field. @@ -647,7 +790,7 @@ /* test collection serialization */ res = as_yaml_test_serialize (cpt); - g_assert (as_yaml_test_compare_yaml (res, expected_sug_yaml)); + g_assert_true (as_yaml_test_compare_yaml (res, expected_sug_yaml)); } /** @@ -680,7 +823,7 @@ g_assert_cmpint (suggestions->len, ==, 2); sug = AS_SUGGESTED (g_ptr_array_index (suggestions, 0)); - g_assert (as_suggested_get_kind (sug) == AS_SUGGESTED_KIND_UPSTREAM); + g_assert_true (as_suggested_get_kind (sug) == AS_SUGGESTED_KIND_UPSTREAM); cpt_ids = as_suggested_get_ids (sug); g_assert_cmpint (cpt_ids->len, ==, 3); @@ -689,7 +832,7 @@ g_assert_cmpstr ((const gchar*) g_ptr_array_index (cpt_ids, 2), ==, "org.example.test2"); sug = AS_SUGGESTED (g_ptr_array_index (suggestions, 1)); - g_assert (as_suggested_get_kind (sug) == AS_SUGGESTED_KIND_HEURISTIC); + g_assert_true (as_suggested_get_kind (sug) == AS_SUGGESTED_KIND_HEURISTIC); cpt_ids = as_suggested_get_ids (sug); g_assert_cmpint (cpt_ids->len, ==, 1); g_assert_cmpstr ((const gchar*) g_ptr_array_index (cpt_ids, 0), ==, "org.example.test3"); @@ -723,7 +866,7 @@ /* test collection serialization */ res = as_yaml_test_serialize (cpt); - g_assert (as_yaml_test_compare_yaml (res, yamldata_custom_field)); + g_assert_true (as_yaml_test_compare_yaml (res, yamldata_custom_field)); } /** @@ -778,7 +921,7 @@ /* test collection serialization */ res = as_yaml_test_serialize (cpt); - g_assert (as_yaml_test_compare_yaml (res, yamldata_content_rating_field)); + g_assert_true (as_yaml_test_compare_yaml (res, yamldata_content_rating_field)); } /** @@ -836,7 +979,7 @@ /* test collection serialization */ res = as_yaml_test_serialize (cpt); - g_assert (as_yaml_test_compare_yaml (res, yamldata_launchable_field)); + g_assert_true (as_yaml_test_compare_yaml (res, yamldata_launchable_field)); } /** @@ -865,13 +1008,16 @@ "Type: generic\n" "ID: org.example.RelationsTest\n" "Recommends:\n" - "- memory: '2500'\n" + "- memory: 2500\n" "- modalias: usb:v1130p0202d*\n" + "- display_length: <= xlarge\n" + " side: longest\n" "Requires:\n" "- kernel: Linux\n" " version: '>= 4.15'\n" "- id: org.example.TestDependency\n" - " version: == 1.2\n"; + " version: == 1.2\n" + "- display_length: 4200\n"; /** * test_yaml_write_requires_recommends: @@ -887,6 +1033,8 @@ g_autoptr(AsRelation) moda_relation = NULL; g_autoptr(AsRelation) kernel_relation = NULL; g_autoptr(AsRelation) id_relation = NULL; + g_autoptr(AsRelation) dl_relation1 = NULL; + g_autoptr(AsRelation) dl_relation2 = NULL; cpt = as_component_new (); as_component_set_kind (cpt, AS_COMPONENT_KIND_GENERIC); @@ -896,35 +1044,50 @@ moda_relation = as_relation_new (); kernel_relation = as_relation_new (); id_relation = as_relation_new (); + dl_relation1 = as_relation_new (); + dl_relation2 = as_relation_new (); as_relation_set_kind (mem_relation, AS_RELATION_KIND_RECOMMENDS); as_relation_set_kind (moda_relation, AS_RELATION_KIND_RECOMMENDS); as_relation_set_kind (kernel_relation, AS_RELATION_KIND_REQUIRES); as_relation_set_kind (id_relation, AS_RELATION_KIND_REQUIRES); + as_relation_set_kind (dl_relation1, AS_RELATION_KIND_RECOMMENDS); + as_relation_set_kind (dl_relation2, AS_RELATION_KIND_REQUIRES); as_relation_set_item_kind (mem_relation, AS_RELATION_ITEM_KIND_MEMORY); - as_relation_set_value (mem_relation, "2500"); + as_relation_set_value_int (mem_relation, 2500); as_relation_set_item_kind (moda_relation, AS_RELATION_ITEM_KIND_MODALIAS); - as_relation_set_value (moda_relation, "usb:v1130p0202d*"); + as_relation_set_value_str (moda_relation, "usb:v1130p0202d*"); as_relation_set_item_kind (kernel_relation, AS_RELATION_ITEM_KIND_KERNEL); - as_relation_set_value (kernel_relation, "Linux"); + as_relation_set_value_str (kernel_relation, "Linux"); as_relation_set_version (kernel_relation, "4.15"); as_relation_set_compare (kernel_relation, AS_RELATION_COMPARE_GE); as_relation_set_item_kind (id_relation, AS_RELATION_ITEM_KIND_ID); - as_relation_set_value (id_relation, "org.example.TestDependency"); + as_relation_set_value_str (id_relation, "org.example.TestDependency"); as_relation_set_version (id_relation, "1.2"); as_relation_set_compare (id_relation, AS_RELATION_COMPARE_EQ); + as_relation_set_item_kind (dl_relation1, AS_RELATION_ITEM_KIND_DISPLAY_LENGTH); + as_relation_set_value_display_length_kind (dl_relation1, AS_DISPLAY_LENGTH_KIND_XLARGE); + as_relation_set_display_side_kind (dl_relation1, AS_DISPLAY_SIDE_KIND_LONGEST); + as_relation_set_compare (dl_relation1, AS_RELATION_COMPARE_LE); + + as_relation_set_item_kind (dl_relation2, AS_RELATION_ITEM_KIND_DISPLAY_LENGTH); + as_relation_set_value_int (dl_relation2, 4200); + as_relation_set_compare (dl_relation2, AS_RELATION_COMPARE_GE); + as_component_add_relation (cpt, mem_relation); as_component_add_relation (cpt, moda_relation); as_component_add_relation (cpt, kernel_relation); as_component_add_relation (cpt, id_relation); + as_component_add_relation (cpt, dl_relation1); + as_component_add_relation (cpt, dl_relation2); /* test collection serialization */ res = as_yaml_test_serialize (cpt); - g_assert (as_yaml_test_compare_yaml (res, yamldata_requires_recommends_field)); + g_assert_true (as_yaml_test_compare_yaml (res, yamldata_requires_recommends_field)); } /** @@ -946,8 +1109,8 @@ recommends = as_component_get_recommends (cpt); requires = as_component_get_requires (cpt); - g_assert_cmpint (recommends->len, ==, 2); - g_assert_cmpint (requires->len, ==, 2); + g_assert_cmpint (recommends->len, ==, 3); + g_assert_cmpint (requires->len, ==, 3); /* memory relation */ relation = AS_RELATION (g_ptr_array_index (recommends, 0)); @@ -959,13 +1122,20 @@ relation = AS_RELATION (g_ptr_array_index (recommends, 1)); g_assert_cmpint (as_relation_get_kind (relation), ==, AS_RELATION_KIND_RECOMMENDS); g_assert_cmpint (as_relation_get_item_kind (relation), ==, AS_RELATION_ITEM_KIND_MODALIAS); - g_assert_cmpstr (as_relation_get_value (relation), ==, "usb:v1130p0202d*"); + g_assert_cmpstr (as_relation_get_value_str (relation), ==, "usb:v1130p0202d*"); + + /* display_length relation (REC) */ + relation = AS_RELATION (g_ptr_array_index (recommends, 2)); + g_assert_cmpint (as_relation_get_kind (relation), ==, AS_RELATION_KIND_RECOMMENDS); + g_assert_cmpint (as_relation_get_item_kind (relation), ==, AS_RELATION_ITEM_KIND_DISPLAY_LENGTH); + g_assert_cmpint (as_relation_get_value_display_length_kind (relation), ==, AS_DISPLAY_LENGTH_KIND_XLARGE); + g_assert_cmpint (as_relation_get_compare (relation), ==, AS_RELATION_COMPARE_LE); /* kernel relation */ relation = AS_RELATION (g_ptr_array_index (requires, 0)); g_assert_cmpint (as_relation_get_kind (relation), ==, AS_RELATION_KIND_REQUIRES); g_assert_cmpint (as_relation_get_item_kind (relation), ==, AS_RELATION_ITEM_KIND_KERNEL); - g_assert_cmpstr (as_relation_get_value (relation), ==, "Linux"); + g_assert_cmpstr (as_relation_get_value_str (relation), ==, "Linux"); g_assert_cmpstr (as_relation_get_version (relation), ==, "4.15"); g_assert_cmpint (as_relation_get_compare (relation), ==, AS_RELATION_COMPARE_GE); @@ -973,9 +1143,16 @@ relation = AS_RELATION (g_ptr_array_index (requires, 1)); g_assert_cmpint (as_relation_get_kind (relation), ==, AS_RELATION_KIND_REQUIRES); g_assert_cmpint (as_relation_get_item_kind (relation), ==, AS_RELATION_ITEM_KIND_ID); - g_assert_cmpstr (as_relation_get_value (relation), ==, "org.example.TestDependency"); + g_assert_cmpstr (as_relation_get_value_str (relation), ==, "org.example.TestDependency"); g_assert_cmpstr (as_relation_get_version (relation), ==, "1.2"); g_assert_cmpint (as_relation_get_compare (relation), ==, AS_RELATION_COMPARE_EQ); + + /* display_length relation (REQ) */ + relation = AS_RELATION (g_ptr_array_index (requires, 2)); + g_assert_cmpint (as_relation_get_kind (relation), ==, AS_RELATION_KIND_REQUIRES); + g_assert_cmpint (as_relation_get_item_kind (relation), ==, AS_RELATION_ITEM_KIND_DISPLAY_LENGTH); + g_assert_cmpint (as_relation_get_value_px (relation), ==, 4200); + g_assert_cmpint (as_relation_get_compare (relation), ==, AS_RELATION_COMPARE_GE); } @@ -1029,7 +1206,7 @@ /* test collection serialization */ res = as_yaml_test_serialize (cpt); - g_assert (as_yaml_test_compare_yaml (res, yamldata_agreements)); + g_assert_true (as_yaml_test_compare_yaml (res, yamldata_agreements)); } /** @@ -1160,7 +1337,7 @@ /* test collection serialization */ res = as_yaml_test_serialize (cpt); - g_assert (as_yaml_test_compare_yaml (res, yamldata_screenshots)); + g_assert_true (as_yaml_test_compare_yaml (res, yamldata_screenshots)); } /** @@ -1262,6 +1439,25 @@ " url: https://example.com/bugzilla/12345\n" " - type: cve\n" " id: CVE-2019-123456\n" + " artifacts:\n" + " - type: source\n" + " bundle: tarball\n" + " locations:\n" + " - https://example.com/source.tar.xz\n" + " checksum:\n" + " blake2b: 8b28f613fa1ccdb1d303704839a0bb196424f425badfa4e4f43808f6812b6bcc0ae43374383bb6e46294d08155a64acbad92084387c73f696f00368ea106ebb4\n" + " size: {}\n" + " - type: binary\n" + " platform: x86_64-linux-gnu\n" + " bundle: flatpak\n" + " locations:\n" + " - https://example.com/binary_amd64.flatpak\n" + " filename: binary-1.2.0_amd64.flatpak\n" + " checksum:\n" + " blake2b: 04839a\n" + " size:\n" + " download: 24084\n" + " installed: 42052\n" "- version: '1.0'\n" " type: development\n" " unix-timestamp: 1460463132\n" @@ -1288,7 +1484,10 @@ g_autoptr(AsComponent) cpt = NULL; g_autoptr(AsRelease) rel1 = NULL; g_autoptr(AsRelease) rel2 = NULL; + g_autoptr(AsArtifact) af1 = NULL; + g_autoptr(AsArtifact) af2 = NULL; AsIssue *issue = NULL; + AsChecksum *cs = NULL; g_autofree gchar *res = NULL; cpt = as_component_new (); @@ -1324,9 +1523,32 @@ as_release_add_issue (rel2, issue); g_object_unref (issue); + /* artifacts */ + af1 = as_artifact_new (); + as_artifact_set_kind (af1, AS_ARTIFACT_KIND_SOURCE); + as_artifact_add_location (af1, "https://example.com/source.tar.xz"); + as_artifact_set_bundle_kind (af1, AS_BUNDLE_KIND_TARBALL); + cs = as_checksum_new_for_kind_value (AS_CHECKSUM_KIND_BLAKE2B, "8b28f613fa1ccdb1d303704839a0bb196424f425badfa4e4f43808f6812b6bcc0ae43374383bb6e46294d08155a64acbad92084387c73f696f00368ea106ebb4"); + as_artifact_add_checksum (af1, cs); + g_object_unref (cs); + as_release_add_artifact (rel2, af1); + + af2 = as_artifact_new (); + as_artifact_set_kind (af2, AS_ARTIFACT_KIND_BINARY); + as_artifact_add_location (af2, "https://example.com/binary_amd64.flatpak"); + as_artifact_set_filename (af2, "binary-1.2.0_amd64.flatpak"); + as_artifact_set_bundle_kind (af2, AS_BUNDLE_KIND_FLATPAK); + cs = as_checksum_new_for_kind_value (AS_CHECKSUM_KIND_BLAKE2B, "04839a"); + as_artifact_add_checksum (af2, cs); + g_object_unref (cs); + as_artifact_set_size (af2, 42052, AS_SIZE_KIND_INSTALLED); + as_artifact_set_size (af2, 24084, AS_SIZE_KIND_DOWNLOAD); + as_artifact_set_platform (af2, "x86_64-linux-gnu"); + as_release_add_artifact (rel2, af2); + /* test collection serialization */ res = as_yaml_test_serialize (cpt); - g_assert (as_yaml_test_compare_yaml (res, yamldata_releases_field)); + g_assert_true (as_yaml_test_compare_yaml (res, yamldata_releases_field)); } /** @@ -1339,7 +1561,10 @@ { g_autoptr(AsComponent) cpt = NULL; AsRelease *rel; + AsArtifact *af; + AsChecksum *cs; GPtrArray *issues; + GPtrArray *artifacts; cpt = as_yaml_test_read_data (yamldata_releases_field, NULL); g_assert_cmpstr (as_component_get_id (cpt), ==, "org.example.ReleasesTest"); @@ -1367,6 +1592,35 @@ g_assert_not_reached (); } } + + artifacts = as_release_get_artifacts (rel); + g_assert_cmpint (artifacts->len, ==, 2); + + /* artifact 1 */ + af = AS_ARTIFACT (g_ptr_array_index (artifacts, 0)); + g_assert_cmpint (as_artifact_get_kind (af), ==, AS_ARTIFACT_KIND_SOURCE); + g_assert_cmpstr (g_ptr_array_index (as_artifact_get_locations (af), 0), ==, "https://example.com/source.tar.xz"); + g_assert_cmpint (as_artifact_get_bundle_kind (af), ==, AS_BUNDLE_KIND_TARBALL); + + cs = as_artifact_get_checksum (af, AS_CHECKSUM_KIND_BLAKE2B); + g_assert_nonnull (cs); + g_assert_cmpstr (as_checksum_get_value (cs), ==, "8b28f613fa1ccdb1d303704839a0bb196424f425badfa4e4f43808f6812b6bcc0ae43374383bb6e46294d08155a64acbad92084387c73f696f00368ea106ebb4"); + + /* artifact 2 */ + af = AS_ARTIFACT (g_ptr_array_index (artifacts, 1)); + g_assert_cmpint (as_artifact_get_kind (af), ==, AS_ARTIFACT_KIND_BINARY); + g_assert_cmpstr (g_ptr_array_index (as_artifact_get_locations (af), 0), ==, "https://example.com/binary_amd64.flatpak"); + g_assert_cmpstr (as_artifact_get_filename (af), ==, "binary-1.2.0_amd64.flatpak"); + g_assert_cmpint (as_artifact_get_bundle_kind (af), ==, AS_BUNDLE_KIND_FLATPAK); + + cs = as_artifact_get_checksum (af, AS_CHECKSUM_KIND_BLAKE2B); + g_assert_nonnull (cs); + g_assert_cmpstr (as_checksum_get_value (cs), ==, "04839a"); + + g_assert_cmpint (as_artifact_get_size (af, AS_SIZE_KIND_INSTALLED), ==, 42052); + g_assert_cmpint (as_artifact_get_size (af, AS_SIZE_KIND_DOWNLOAD), ==, 24084); + + g_assert_cmpstr (as_artifact_get_platform (af), ==, "x86_64-linux-gnu"); } /** @@ -1383,9 +1637,9 @@ } datadir = argv[1]; - g_assert (datadir != NULL); + g_assert_nonnull (datadir); datadir = g_build_filename (datadir, "samples", NULL); - g_assert (g_file_test (datadir, G_FILE_TEST_EXISTS) != FALSE); + g_assert_true (g_file_test (datadir, G_FILE_TEST_EXISTS)); g_setenv ("G_MESSAGES_DEBUG", "all", TRUE); g_test_init (&argc, &argv, NULL); @@ -1404,6 +1658,9 @@ g_test_add_func ("/YAML/Read/Simple", test_yaml_read_simple); g_test_add_func ("/YAML/Write/Simple", test_yaml_write_simple); + g_test_add_func ("/YAML/Read/Provides", test_yaml_read_provides); + g_test_add_func ("/YAML/Write/Provides", test_yaml_write_provides); + g_test_add_func ("/YAML/Read/Suggests", test_yaml_read_suggests); g_test_add_func ("/YAML/Write/Suggests", test_yaml_write_suggests); diff -Nru appstream-0.12.10/tools/appstream-cli.c appstream-0.14.5/tools/appstream-cli.c --- appstream-0.12.10/tools/appstream-cli.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/tools/appstream-cli.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,1029 +0,0 @@ -/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- - * - * Copyright (C) 2012-2020 Matthias Klumpp - * - * Licensed under the GNU General Public License Version 2 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the license, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include -#include -#include -#include -#include -#include - -#include "ascli-utils.h" -#include "ascli-actions-mdata.h" -#include "ascli-actions-validate.h" -#include "ascli-actions-pkgmgr.h" -#include "ascli-actions-misc.h" - -#define ASCLI_BIN_NAME "appstreamcli" - -/* global options which affect all commands */ -static gboolean optn_show_version = FALSE; -static gboolean optn_verbose_mode = FALSE; -static gboolean optn_no_color = FALSE; - -/*** COMMAND OPTIONS ***/ - -/* for data_collection_options */ -static gchar *optn_cachepath = NULL; -static gchar *optn_datapath = NULL; -static gboolean optn_no_cache = FALSE; - -/** - * General options used for any operations on - * metadata collections and the cache. - */ -const GOptionEntry data_collection_options[] = { - { "cachepath", 0, 0, - G_OPTION_ARG_STRING, - &optn_cachepath, - /* TRANSLATORS: ascli flag description for: --cachepath */ - N_("Manually selected location of AppStream cache."), NULL }, - { "datapath", 0, 0, - G_OPTION_ARG_STRING, - &optn_datapath, - /* TRANSLATORS: ascli flag description for: --datapath */ - N_("Manually selected location of AppStream metadata to scan."), NULL }, - { "no-cache", 0, 0, - G_OPTION_ARG_NONE, - &optn_no_cache, - /* TRANSLATORS: ascli flag description for: --no-cache */ - N_("Make request without any caching."), - NULL }, - { NULL } -}; - -/* used by format_options */ -static gchar *optn_format = NULL; - -/** - * The format option. - */ -const GOptionEntry format_options[] = { - { "format", 0, 0, - G_OPTION_ARG_STRING, - &optn_format, - /* TRANSLATORS: ascli flag description for: --format */ - N_("Default metadata format (valid values are 'xml' and 'yaml')."), NULL }, - { NULL } -}; - -/* used by find_options */ -static gboolean optn_details = FALSE; - -/** - * General options for finding & displaying data. - */ -const GOptionEntry find_options[] = { - { "details", 0, 0, - G_OPTION_ARG_NONE, - &optn_details, - /* TRANSLATORS: ascli flag description for: --details */ - N_("Print detailed output about found components."), - NULL }, - { NULL } -}; - -/* used by validate_options */ -static gboolean optn_pedantic = FALSE; -static gboolean optn_explain = FALSE; -static gboolean optn_nonet = FALSE; - -/** - * General options for validation. - */ -const GOptionEntry validate_options[] = { - { "pedantic", (gchar) 0, 0, - G_OPTION_ARG_NONE, - &optn_pedantic, - /* TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) */ - N_("Also show pedantic hints."), NULL }, - { "explain", (gchar) 0, 0, - G_OPTION_ARG_NONE, - &optn_explain, - /* TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) */ - N_("Print detailed explanation for found issues."), NULL }, - { "no-net", (gchar) 0, 0, - G_OPTION_ARG_NONE, - &optn_nonet, - /* TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) */ - N_("Do not use network access."), NULL }, - { "format", 0, 0, - G_OPTION_ARG_STRING, - &optn_format, - /* TRANSLATORS: ascli flag description for: --format when validating XML files */ - N_("Format of the generated report (valid values are 'text' and 'yaml')."), NULL }, - { "nonet", (gchar) 0, G_OPTION_FLAG_HIDDEN, - G_OPTION_ARG_NONE, - &optn_nonet, - NULL, NULL }, - { NULL } -}; - -/* only used by the "refresh --force" command */ -static gboolean optn_force = FALSE; - -/*** HELPER METHODS ***/ - -/** - * as_client_get_summary_for: - **/ -static gchar* -as_client_get_summary_for (const gchar *command) -{ - GString *string; - string = g_string_new (""); - - /* TRANSLATORS: This is the header to the --help menu for subcommands */ - g_string_append_printf (string, "%s\n", _("AppStream command-line interface")); - - g_string_append (string, " "); - g_string_append_printf (string, _("'%s' command"), command); - - return g_string_free (string, FALSE); -} - -/** - * as_client_new_subcommand_option_context: - * - * Create a new option context for an ascli subcommand. - */ -static GOptionContext* -as_client_new_subcommand_option_context (const gchar *command, const GOptionEntry *entries) -{ - GOptionContext *opt_context = NULL; - g_autofree gchar *summary = NULL; - - opt_context = g_option_context_new ("- AppStream CLI."); - g_option_context_set_help_enabled (opt_context, TRUE); - g_option_context_add_main_entries (opt_context, entries, NULL); - - /* set the summary text */ - summary = as_client_get_summary_for (command); - g_option_context_set_summary (opt_context, summary); - - return opt_context; -} - -/** - * as_client_print_help_hint: - */ -static void -as_client_print_help_hint (const gchar *subcommand, const gchar *unknown_option) -{ - if (unknown_option != NULL) { - /* TRANSLATORS: An unknown option was passed to appstreamcli. */ - ascli_print_stderr (_("Option '%s' is unknown."), unknown_option); - } - - if (subcommand == NULL) - ascli_print_stderr (_("Run '%s --help' to see a full list of available command line options."), ASCLI_BIN_NAME); - else - ascli_print_stderr (_("Run '%s --help' to see a list of available commands and options, and '%s %s --help' to see a list of options specific for this subcommand."), - ASCLI_BIN_NAME, ASCLI_BIN_NAME, subcommand); -} - -/** - * as_client_option_context_parse: - * - * Parse the options, print errors. - */ -static int -as_client_option_context_parse (GOptionContext *opt_context, const gchar *subcommand, int *argc, char ***argv) -{ - g_autoptr(GError) error = NULL; - - g_option_context_parse (opt_context, argc, argv, &error); - if (error != NULL) { - gchar *msg; - msg = g_strconcat (error->message, "\n", NULL); - g_print ("%s", msg); - g_free (msg); - - as_client_print_help_hint (subcommand, NULL); - return 1; - } - - return 0; -} - -/*** SUBCOMMANDS ***/ - -/** - * as_client_run_refresh_cache: - * - * Refresh the AppStream caches. - */ -static int -as_client_run_refresh_cache (char **argv, int argc) -{ - g_autoptr(GOptionContext) opt_context = NULL; - gint ret; - const gchar *command = "refresh"; - - const GOptionEntry refresh_options[] = { - { "force", (gchar) 0, 0, - G_OPTION_ARG_NONE, - &optn_force, - /* TRANSLATORS: ascli flag description for: --force */ - _("Enforce a cache refresh."), - NULL }, - { NULL } - }; - - opt_context = as_client_new_subcommand_option_context (command, refresh_options); - g_option_context_add_main_entries (opt_context, data_collection_options, NULL); - - ret = as_client_option_context_parse (opt_context, - command, &argc, &argv); - if (ret != 0) - return ret; - - return ascli_refresh_cache (optn_cachepath, - optn_datapath, - optn_force); -} - -/** - * as_client_run_search: - * - * Search for AppStream metadata. - */ -static int -as_client_run_search (char **argv, int argc) -{ - g_autoptr(GOptionContext) opt_context = NULL; - gint ret; - const gchar *value = NULL; - const gchar *command = "search"; - - opt_context = as_client_new_subcommand_option_context (command, find_options); - g_option_context_add_main_entries (opt_context, data_collection_options, NULL); - - ret = as_client_option_context_parse (opt_context, command, &argc, &argv); - if (ret != 0) - return ret; - - if (argc > 2) - value = argv[2]; - - return ascli_search_component (optn_cachepath, - value, - optn_details, - optn_no_cache); -} - -/** - * as_client_run_get: - * - * Get components by its ID. - */ -static int -as_client_run_get (char **argv, int argc) -{ - g_autoptr(GOptionContext) opt_context = NULL; - gint ret; - const gchar *value = NULL; - const gchar *command = "get"; - - opt_context = as_client_new_subcommand_option_context (command, find_options); - g_option_context_add_main_entries (opt_context, data_collection_options, NULL); - - ret = as_client_option_context_parse (opt_context, command, &argc, &argv); - if (ret != 0) - return ret; - - if (argc > 2) - value = argv[2]; - - return ascli_get_component (optn_cachepath, - value, - optn_details, - optn_no_cache); -} - -/** - * as_client_run_dump: - * - * Dump the raw component metadata to the console. - */ -static int -as_client_run_dump (char **argv, int argc) -{ - g_autoptr(GOptionContext) opt_context = NULL; - gint ret; - const gchar *value = NULL; - AsFormatKind mformat; - const gchar *command = "dump"; - - opt_context = as_client_new_subcommand_option_context (command, data_collection_options); - g_option_context_add_main_entries (opt_context, format_options, NULL); - - ret = as_client_option_context_parse (opt_context, command, &argc, &argv); - if (ret != 0) - return ret; - - if (argc > 2) - value = argv[2]; - - mformat = as_format_kind_from_string (optn_format); - return ascli_dump_component (optn_cachepath, - value, - mformat, - optn_no_cache); -} - -/** - * as_client_run_what_provides: - * - * Find components that provide a certain item. - */ -static int -as_client_run_what_provides (char **argv, int argc) -{ - g_autoptr(GOptionContext) opt_context = NULL; - gint ret; - const gchar *vtype = NULL; - const gchar *vvalue = NULL; - const gchar *command = "what-provides"; - - opt_context = as_client_new_subcommand_option_context (command, find_options); - g_option_context_add_main_entries (opt_context, data_collection_options, NULL); - - ret = as_client_option_context_parse (opt_context, command, &argc, &argv); - if (ret != 0) - return ret; - - if (argc > 2) - vtype = argv[2]; - if (argc > 3) - vvalue = argv[3]; - - return ascli_what_provides (optn_cachepath, - vtype, - vvalue, - optn_details); -} - -/** - * as_client_run_validate: - * - * Validate single metadata files. - */ -static int -as_client_run_validate (char **argv, int argc) -{ - g_autoptr(GOptionContext) opt_context = NULL; - gint ret; - const gchar *command = "validate"; - - opt_context = as_client_new_subcommand_option_context (command, validate_options); - ret = as_client_option_context_parse (opt_context, command, &argc, &argv); - if (ret != 0) - return ret; - - if (optn_format == NULL) { - return ascli_validate_files (&argv[2], - argc-2, - optn_pedantic, - optn_explain, - !optn_nonet); - } else { - return ascli_validate_files_format (&argv[2], - argc-2, - optn_format, - !optn_nonet); - } -} - -/** - * as_client_run_validate_tree: - * - * Validate an installed filesystem tree for correct AppStream metadata - * and .desktop files. - */ -static int -as_client_run_validate_tree (char **argv, int argc) -{ - g_autoptr(GOptionContext) opt_context = NULL; - gint ret; - const gchar *value = NULL; - const gchar *command = "validate-tree"; - - opt_context = as_client_new_subcommand_option_context (command, validate_options); - ret = as_client_option_context_parse (opt_context, command, &argc, &argv); - if (ret != 0) - return ret; - - if (argc > 2) - value = argv[2]; - - if (optn_format == NULL) { - return ascli_validate_tree (value, - optn_pedantic, - optn_explain, - !optn_nonet); - } else { - return ascli_validate_tree_format (value, - optn_format, - !optn_nonet); - } -} - -/** - * as_client_run_put: - * - * Place a metadata file in the right directory. - */ -static int -as_client_run_put (char **argv, int argc) -{ - const gchar *value = NULL; - const gchar *command = "put"; - - if (argc > 2) - value = argv[2]; - if (argc > 3) { - as_client_print_help_hint (command, argv[3]); - return 1; - } - - return ascli_put_metainfo (value); -} - -/** - * as_client_run_install: - * - * Install a component by its ID. - */ -static int -as_client_run_install (char **argv, int argc) -{ - const gchar *value = NULL; - const gchar *command = "install"; - - if (argc > 2) - value = argv[2]; - if (argc > 3) { - as_client_print_help_hint (command, argv[3]); - return 1; - } - - return ascli_install_component (value); -} - -/** - * as_client_run_remove: - * - * Uninstall a component by its ID. - */ -static int -as_client_run_remove (char **argv, int argc) -{ - const gchar *value = NULL; - const gchar *command = "remove"; - - if (argc > 2) - value = argv[2]; - if (argc > 3) { - as_client_print_help_hint (command, argv[3]); - return 1; - } - - return ascli_remove_component (value); -} - -/** - * as_client_run_status: - * - * Show diagnostic information. - */ -static int -as_client_run_status (char **argv, int argc) -{ - const gchar *command = "status"; - - if (argc > 2) { - as_client_print_help_hint (command, argv[3]); - return 1; - } - - return ascli_show_status (); -} - -/** - * as_client_run_convert: - * - * Convert metadata. - */ -static int -as_client_run_convert (char **argv, int argc) -{ - g_autoptr(GOptionContext) opt_context = NULL; - gint ret; - const gchar *fname1 = NULL; - const gchar *fname2 = NULL; - AsFormatKind mformat; - const gchar *command = "convert"; - - opt_context = as_client_new_subcommand_option_context (command, format_options); - ret = as_client_option_context_parse (opt_context, command, &argc, &argv); - if (ret != 0) - return ret; - - if (argc > 2) - fname1 = argv[2]; - if (argc > 3) - fname2 = argv[3]; - - mformat = as_format_kind_from_string (optn_format); - return ascli_convert_data (fname1, - fname2, - mformat); -} - -/** - * as_client_run_compare_versions: - * - * Compare versions using AppStream's version comparison algorithm. - */ -static int -as_client_run_compare_versions (char **argv, int argc) -{ - g_autoptr(GOptionContext) opt_context = NULL; - gint ret; - const gchar *command = "compare-versions"; - - opt_context = as_client_new_subcommand_option_context (command, format_options); - ret = as_client_option_context_parse (opt_context, command, &argc, &argv); - if (ret != 0) - return ret; - - if (argc < 4) { - ascli_print_stderr (_("You need to provide at least two version numbers to compare as parameters.")); - return 2; - } - - if (argc == 4) { - const gchar *ver1 = argv[2]; - const gchar *ver2 = argv[3]; - gint comp_res = as_utils_compare_versions (ver1, ver2); - - if (comp_res == 0) - g_print ("%s == %s\n", ver1, ver2); - else if (comp_res > 0) - g_print ("%s >> %s\n", ver1, ver2); - else if (comp_res < 0) - g_print ("%s << %s\n", ver1, ver2); - - return 0; - } else if (argc == 5) { - AsRelationCompare compare; - gint rc; - gboolean res; - const gchar *ver1 = argv[2]; - const gchar *comp_str = argv[3]; - const gchar *ver2 = argv[4]; - - compare = as_relation_compare_from_string (comp_str); - if (compare == AS_RELATION_COMPARE_UNKNOWN) { - guint i; - /** TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. */ - ascli_print_stderr (_("Unknown compare relation '%s'. Valid values are:"), comp_str); - for (i = 1; i < AS_RELATION_COMPARE_LAST; i++) - g_printerr (" • %s\n", as_relation_compare_to_string (i)); - return 2; - } - - rc = as_utils_compare_versions (ver1, ver2); - switch (compare) { - case AS_RELATION_COMPARE_EQ: - res = rc == 0; - break; - case AS_RELATION_COMPARE_NE: - res = rc != 0; - break; - case AS_RELATION_COMPARE_LT: - res = rc < 0; - break; - case AS_RELATION_COMPARE_GT: - res = rc > 0; - break; - case AS_RELATION_COMPARE_LE: - res = rc <= 0; - break; - case AS_RELATION_COMPARE_GE: - res = rc >= 0; - break; - default: - res = FALSE; - } - - g_print ("%s: ", res? "true" : "false"); - if (rc == 0) - g_print ("%s == %s\n", ver1, ver2); - else if (rc > 0) - g_print ("%s >> %s\n", ver1, ver2); - else if (rc < 0) - g_print ("%s << %s\n", ver1, ver2); - - return res? 0 : 1; - } else { - ascli_print_stderr (_("Too many parameters: Need two version numbers or version numbers and a comparison operator.")); - return 2; - } -} - -/** - * as_client_run_new_template: - * - * Convert metadata. - */ -static int -as_client_run_new_template (char **argv, int argc) -{ - g_autoptr(GOptionContext) opt_context = NULL; - g_autoptr(GString) desc_str = NULL; - guint i; - gint ret; - const gchar *command = "new-template"; - const gchar *out_fname = NULL; - const gchar *cpt_kind_str = NULL; - const gchar *optn_desktop_file = NULL; - - const GOptionEntry newtemplate_options[] = { - { "from-desktop", 0, 0, - G_OPTION_ARG_STRING, - &optn_desktop_file, - /* TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) */ - N_("Use the given .desktop file to fill in the basic values of the metainfo file."), NULL }, - { NULL } - }; - - /* TRANSLATORS: Additional help text for the 'new-template' ascli subcommand */ - desc_str = g_string_new (_("This command takes optional TYPE and FILE positional arguments, FILE being a file to write to (or \"-\" for standard output).")); - g_string_append (desc_str, "\n"); - /* TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows */ - g_string_append_printf (desc_str, _("The TYPE must be a valid component-type, such as: %s"), "\n"); - for (i = 1; i < AS_COMPONENT_KIND_LAST; i++) - g_string_append_printf (desc_str, " • %s\n", as_component_kind_to_string (i)); - - opt_context = as_client_new_subcommand_option_context (command, newtemplate_options); - g_option_context_set_description (opt_context, desc_str->str); - - ret = as_client_option_context_parse (opt_context, - command, &argc, &argv); - if (ret != 0) - return ret; - - if (argc > 2) - cpt_kind_str = argv[2]; - if (argc > 3) - out_fname = argv[3]; - - return ascli_create_metainfo_template (out_fname, - cpt_kind_str, - optn_desktop_file); -} - -/** - * as_client_run_make_desktop_file: - * - * Create desktop-entry file from metainfo file. - */ -static int -as_client_run_make_desktop_file (char **argv, int argc) -{ - const gchar *command = "make-desktop-file"; - g_autoptr(GOptionContext) opt_context = NULL; - const gchar *optn_exec_command = NULL; - const gchar *mi_fname = NULL; - const gchar *de_fname = NULL; - gint ret; - - const GOptionEntry make_desktop_file_options[] = { - { "exec", 0, 0, - G_OPTION_ARG_STRING, - &optn_exec_command, - /* TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) */ - N_("Use the specified line for the 'Exec=' key of the desktop-entry file."), NULL }, - { NULL } - }; - - opt_context = as_client_new_subcommand_option_context (command, make_desktop_file_options); - ret = as_client_option_context_parse (opt_context, command, &argc, &argv); - if (ret != 0) - return ret; - - if (argc > 2) - mi_fname = argv[2]; - if (argc > 3) - de_fname = argv[3]; - - return ascli_make_desktop_entry_file (mi_fname, - de_fname, - optn_exec_command); -} - -/** - * as_client_run_news_to_metainfo: - * - * Convert NEWS file to metainfo data. - */ -static int -as_client_run_news_to_metainfo (char **argv, int argc) -{ - const gchar *command = "news-to-metainfo"; - g_autoptr(GOptionContext) opt_context = NULL; - const gchar *optn_format_text = NULL; - guint optn_limit = 0; - const gchar *mi_fname = NULL; - const gchar *news_fname = NULL; - const gchar *out_fname = NULL; - gint ret; - - const GOptionEntry news_to_metainfo_options[] = { - { "format", 0, 0, - G_OPTION_ARG_STRING, - &optn_format_text, - /* TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command */ - N_("Assume the input file is in the selected format ('yaml' or 'text')."), NULL }, - { "limit", 0, 0, - G_OPTION_ARG_INT, - &optn_limit, - /* TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command */ - N_("Limit the number of release entries that end up in the metainfo file (0 for unlimited)."), NULL }, - { NULL } - }; - - opt_context = as_client_new_subcommand_option_context (command, news_to_metainfo_options); - ret = as_client_option_context_parse (opt_context, command, &argc, &argv); - if (ret != 0) - return ret; - - if (argc > 2) - news_fname = argv[2]; - if (argc > 3) - mi_fname = argv[3]; - if (argc > 4) - out_fname = argv[4]; - - return ascli_news_to_metainfo (news_fname, - mi_fname, - out_fname, - optn_limit, - optn_format_text); -} - -/** - * as_client_run_metainfo_to_news: - * - * Convert metainfo data to NEWS file. - */ -static int -as_client_run_metainfo_to_news (char **argv, int argc) -{ - const gchar *command = "metainfo-to-news"; - g_autoptr(GOptionContext) opt_context = NULL; - const gchar *optn_format_text = NULL; - const gchar *mi_fname = NULL; - const gchar *news_fname = NULL; - gint ret; - - const GOptionEntry metainfo_to_news_options[] = { - { "format", 0, 0, - G_OPTION_ARG_STRING, - &optn_format_text, - /* TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command */ - N_("Generate the output in the selected format ('yaml' or 'text')."), NULL }, - { NULL } - }; - - opt_context = as_client_new_subcommand_option_context (command, metainfo_to_news_options); - ret = as_client_option_context_parse (opt_context, command, &argc, &argv); - if (ret != 0) - return ret; - - if (argc > 2) - mi_fname = argv[2]; - if (argc > 3) - news_fname = argv[3]; - - return ascli_metainfo_to_news (mi_fname, - news_fname, - optn_format_text); -} - -/** - * as_client_get_summary: - **/ -static gchar* -as_client_get_summary () -{ - GString *string; - string = g_string_new (""); - - /* TRANSLATORS: This is the header to the --help menu */ - g_string_append_printf (string, "%s\n\n%s\n", _("AppStream command-line interface"), - /* these are commands we can use with appstreamcli */ - _("Subcommands:")); - - g_string_append_printf (string, " %s - %s\n", "search TERM ", _("Search the component database.")); - g_string_append_printf (string, " %s - %s\n", "get COMPONENT-ID", _("Get information about a component by its ID.")); - g_string_append_printf (string, " %s - %s\n", "what-provides TYPE VALUE", _("Get components which provide the given item.")); - g_string_append_printf (string, " %s - %s\n", "TYPE ", _("An item type (e.g. lib, bin, python3, …)")); - g_string_append_printf (string, " %s - %s\n", "VALUE", _("Value of the item that should be found.")); - g_string_append (string, "\n"); - g_string_append_printf (string, " %s - %s\n", "dump COMPONENT-ID", _("Dump raw XML metadata for a component matching the ID.")); - g_string_append_printf (string, " %s - %s\n", "refresh-cache ", _("Rebuild the component metadata cache.")); - g_string_append (string, "\n"); - g_string_append_printf (string, " %s - %s\n", "validate FILE ", _("Validate AppStream XML files for issues.")); - g_string_append_printf (string, " %s - %s\n", "validate-tree DIRECTORY", _("Validate an installed file-tree of an application for valid metadata.")); - g_string_append (string, "\n"); - g_string_append_printf (string, " %s - %s\n", "install COMPONENT-ID", _("Install software matching the component-ID.")); - g_string_append_printf (string, " %s - %s\n", "remove COMPONENT-ID", _("Remove software matching the component-ID.")); - g_string_append (string, "\n"); - g_string_append_printf (string, " %s - %s\n", "status ", _("Display status information about available AppStream metadata.")); - g_string_append_printf (string, " %s - %s\n", "put FILE ", _("Install a metadata file into the right location.")); - /* TRANSLATORS: "convert" command in ascli. "Collection XML" is a term describing a specific type of AppStream XML data. */ - g_string_append_printf (string, " %s - %s\n", "convert FILE FILE", _("Convert collection XML to YAML or vice versa.")); - g_string_append_printf (string, " %s - %s\n", "compare-versions VER1 [COMP] VER2", _("Compare two version numbers.")); - g_string_append (string, "\n"); - g_string_append_printf (string, " %s - %s\n", "new-template TYPE FILE", _("Create a template for a metainfo file (to be filled out by the upstream project).")); - g_string_append_printf (string, " %s - %s\n", "make-desktop-file MI_FILE DESKTOP_FILE", _("Create a XDG desktop-entry file from a metainfo file.")); - g_string_append_printf (string, " %s - %s\n", "news-to-metainfo NEWS_FILE MI_FILE [OUT_FILE]", _("Convert a YAML or text NEWS file into metainfo releases.")); - g_string_append_printf (string, " %s - %s\n", "metainfo-to-news MI_FILE NEWS_FILE", _("Write NEWS text or YAML file with information from a metainfo file.")); - - g_string_append (string, "\n"); - g_string_append (string, _("You can find information about subcommand-specific options by passing \"--help\" to the subcommand.")); - - return g_string_free (string, FALSE); -} - -/** - * as_client_run: - */ -static int -as_client_run (char **argv, int argc) -{ - g_autoptr(GOptionContext) opt_context = NULL; - gint ret; - const gchar *command = NULL; - - gchar *summary; - g_autofree gchar *options_help = NULL; - - const GOptionEntry client_options[] = { - { "version", 0, 0, - G_OPTION_ARG_NONE, - &optn_show_version, - /* TRANSLATORS: ascli flag description for: --version */ - _("Show the program version."), - NULL }, - { "verbose", (gchar) 0, 0, - G_OPTION_ARG_NONE, - &optn_verbose_mode, - /* TRANSLATORS: ascli flag description for: --verbose */ - _("Show extra debugging information."), - NULL }, - { "no-color", (gchar) 0, 0, - G_OPTION_ARG_NONE, &optn_no_color, - /* TRANSLATORS: ascli flag description for: --no-color */ - _("Don\'t show colored output."), NULL }, - { NULL } - }; - - opt_context = g_option_context_new ("- AppStream CLI."); - g_option_context_add_main_entries (opt_context, client_options, NULL); - - /* set the summary text */ - summary = as_client_get_summary (); - g_option_context_set_summary (opt_context, summary) ; - g_free (summary); - - /* we handle the unknown options later in the individual subcommands */ - g_option_context_set_ignore_unknown_options (opt_context, TRUE); - - if (argc < 2) { - /* TRANSLATORS: ascli has been run without command. */ - g_printerr ("%s\n", _("You need to specify a command.")); - ascli_print_stderr (_("Run '%s --help' to see a full list of available command line options."), argv[0]); - return 1; - } - command = argv[1]; - - /* only attempt to show global help if we don't have a subcommand as first parameter (subcommands are never prefixed with "-") */ - if (g_str_has_prefix (command, "-")) - g_option_context_set_help_enabled (opt_context, TRUE); - else - g_option_context_set_help_enabled (opt_context, FALSE); - - ret = as_client_option_context_parse (opt_context, NULL, &argc, &argv); - if (ret != 0) - return ret; - - if (optn_show_version) { - if (g_strcmp0 (as_get_appstream_version (), PACKAGE_VERSION) == 0) { - /* TRANSLATORS: Output if appstreamcli --version is executed. */ - ascli_print_stdout (_("AppStream version: %s"), PACKAGE_VERSION); - } else { - /* TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. */ - ascli_print_stdout (_("AppStream CLI tool version: %s\nAppStream library version: %s"), PACKAGE_VERSION, as_get_appstream_version ()); - } - return 0; - } - - /* just a hack, we might need proper message handling later */ - if (optn_verbose_mode) { - g_setenv ("G_MESSAGES_DEBUG", "all", TRUE); - } - - /* allow disabling network access via an environment variable */ - if (g_getenv ("AS_VALIDATE_NONET") != NULL) { - g_debug ("Disabling network usage: Environment variable AS_VALIDATE_NONET is set."); - optn_nonet = TRUE; - } - - ascli_set_output_colored (!optn_no_color); - - /* if out terminal is no tty, disable colors automatically */ - if (!isatty (fileno (stdout))) - ascli_set_output_colored (FALSE); - - /* don't let gvfsd start it's own session bus: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=852696 */ - g_setenv ("GIO_USE_VFS", "local", TRUE); - - /* process subcommands */ - if ((g_strcmp0 (command, "search") == 0) || (g_strcmp0 (command, "s") == 0)) { - return as_client_run_search (argv, argc); - } else if ((g_strcmp0 (command, "refresh-cache") == 0) || (g_strcmp0 (command, "refresh") == 0)) { - return as_client_run_refresh_cache (argv, argc); - } else if (g_strcmp0 (command, "get") == 0) { - return as_client_run_get (argv, argc); - } else if (g_strcmp0 (command, "dump") == 0) { - return as_client_run_dump (argv, argc); - } else if (g_strcmp0 (command, "what-provides") == 0) { - return as_client_run_what_provides (argv, argc); - } else if (g_strcmp0 (command, "validate") == 0) { - return as_client_run_validate (argv, argc); - } else if (g_strcmp0 (command, "validate-tree") == 0) { - return as_client_run_validate_tree (argv, argc); - } else if (g_strcmp0 (command, "put") == 0) { - return as_client_run_put (argv, argc); - } else if (g_strcmp0 (command, "install") == 0) { - return as_client_run_install (argv, argc); - } else if (g_strcmp0 (command, "remove") == 0) { - return as_client_run_remove (argv, argc); - } else if (g_strcmp0 (command, "status") == 0) { - return as_client_run_status (argv, argc); - } else if (g_strcmp0 (command, "convert") == 0) { - return as_client_run_convert (argv, argc); - } else if ((g_strcmp0 (command, "compare-versions") == 0) || (g_strcmp0 (command, "vercmp") == 0)) { - return as_client_run_compare_versions (argv, argc); - } else if (g_strcmp0 (command, "new-template") == 0) { - return as_client_run_new_template (argv, argc); - } else if (g_strcmp0 (command, "make-desktop-file") == 0) { - return as_client_run_make_desktop_file (argv, argc); - } else if (g_strcmp0 (command, "news-to-metainfo") == 0) { - return as_client_run_news_to_metainfo (argv, argc); - } else if (g_strcmp0 (command, "metainfo-to-news") == 0) { - return as_client_run_metainfo_to_news (argv, argc); - } else { - /* TRANSLATORS: ascli has been run with unknown command. */ - ascli_print_stderr (_("Unknown command '%s'."), command); - return 1; - } -} - -int -main (int argc, char ** argv) -{ - gint code = 0; - - /* bind locale */ - setlocale (LC_ALL, ""); - bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR); - bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); - textdomain (GETTEXT_PACKAGE); - - /* run the application */ - code = as_client_run (argv, argc); - - return code; -} diff -Nru appstream-0.12.10/tools/appstreamcli.c appstream-0.14.5/tools/appstreamcli.c --- appstream-0.12.10/tools/appstreamcli.c 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/tools/appstreamcli.c 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,1288 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2012-2021 Matthias Klumpp + * + * Licensed under the GNU General Public License Version 2 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the license, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include +#include +#include +#include +#include +#include + +#include "as-profile.h" + +#include "ascli-utils.h" +#include "ascli-actions-mdata.h" +#include "ascli-actions-validate.h" +#include "ascli-actions-pkgmgr.h" +#include "ascli-actions-misc.h" + +#define ASCLI_BIN_NAME "appstreamcli" + +/* global options which affect all commands */ +static gboolean optn_show_version = FALSE; +static gboolean optn_verbose_mode = FALSE; +static gboolean optn_no_color = FALSE; + +/*** COMMAND OPTIONS ***/ + +/* for data_collection_options */ +static gchar *optn_cachepath = NULL; +static gchar *optn_datapath = NULL; +static gboolean optn_no_cache = FALSE; + +/** + * General options used for any operations on + * metadata collections and the cache. + */ +const GOptionEntry data_collection_options[] = { + { "cachepath", 0, 0, + G_OPTION_ARG_STRING, + &optn_cachepath, + /* TRANSLATORS: ascli flag description for: --cachepath */ + N_("Manually selected location of AppStream cache."), NULL }, + { "datapath", 0, 0, + G_OPTION_ARG_STRING, + &optn_datapath, + /* TRANSLATORS: ascli flag description for: --datapath */ + N_("Manually selected location of AppStream metadata to scan."), NULL }, + { "no-cache", 0, 0, + G_OPTION_ARG_NONE, + &optn_no_cache, + /* TRANSLATORS: ascli flag description for: --no-cache */ + N_("Make request without any caching."), + NULL }, + { NULL } +}; + +/* used by format_options */ +static gchar *optn_format = NULL; + +/** + * The format option. + */ +const GOptionEntry format_options[] = { + { "format", 0, 0, + G_OPTION_ARG_STRING, + &optn_format, + /* TRANSLATORS: ascli flag description for: --format */ + N_("Default metadata format (valid values are 'xml' and 'yaml')."), NULL }, + { NULL } +}; + +/* used by find_options */ +static gboolean optn_details = FALSE; + +/** + * General options for finding & displaying data. + */ +const GOptionEntry find_options[] = { + { "details", 0, 0, + G_OPTION_ARG_NONE, + &optn_details, + /* TRANSLATORS: ascli flag description for: --details */ + N_("Print detailed output about found components."), + NULL }, + { NULL } +}; + +/* used by validate_options */ +static gboolean optn_pedantic = FALSE; +static gboolean optn_explain = FALSE; +static gboolean optn_nonet = FALSE; + +/** + * General options for validation. + */ +const GOptionEntry validate_options[] = { + { "pedantic", (gchar) 0, 0, + G_OPTION_ARG_NONE, + &optn_pedantic, + /* TRANSLATORS: ascli flag description for: --pedantic (used by the "validate" command) */ + N_("Also show pedantic hints."), NULL }, + { "explain", (gchar) 0, 0, + G_OPTION_ARG_NONE, + &optn_explain, + /* TRANSLATORS: ascli flag description for: --explain (used by the "validate" command) */ + N_("Print detailed explanation for found issues."), NULL }, + { "no-net", (gchar) 0, 0, + G_OPTION_ARG_NONE, + &optn_nonet, + /* TRANSLATORS: ascli flag description for: --no-net (used by the "validate" command) */ + N_("Do not use network access."), NULL }, + { "format", 0, 0, + G_OPTION_ARG_STRING, + &optn_format, + /* TRANSLATORS: ascli flag description for: --format when validating XML files */ + N_("Format of the generated report (valid values are 'text' and 'yaml')."), NULL }, + { "nonet", (gchar) 0, G_OPTION_FLAG_HIDDEN, + G_OPTION_ARG_NONE, + &optn_nonet, + NULL, NULL }, + { NULL } +}; + +/*** HELPER METHODS ***/ + +/** + * as_client_get_summary_for: + **/ +static gchar* +as_client_get_summary_for (const gchar *command) +{ + GString *string; + string = g_string_new (""); + + /* TRANSLATORS: This is the header to the --help menu for subcommands */ + g_string_append_printf (string, "%s\n", _("AppStream command-line interface")); + + g_string_append (string, " "); + g_string_append_printf (string, _("'%s' command"), command); + + return g_string_free (string, FALSE); +} + +/** + * as_client_new_subcommand_option_context: + * + * Create a new option context for an ascli subcommand. + */ +static GOptionContext* +as_client_new_subcommand_option_context (const gchar *command, const GOptionEntry *entries) +{ + GOptionContext *opt_context = NULL; + g_autofree gchar *summary = NULL; + + opt_context = g_option_context_new ("- AppStream CLI."); + g_option_context_set_help_enabled (opt_context, TRUE); + g_option_context_add_main_entries (opt_context, entries, NULL); + + /* set the summary text */ + summary = as_client_get_summary_for (command); + g_option_context_set_summary (opt_context, summary); + + return opt_context; +} + +/** + * as_client_print_help_hint: + */ +static void +as_client_print_help_hint (const gchar *subcommand, const gchar *unknown_option) +{ + if (unknown_option != NULL) { + /* TRANSLATORS: An unknown option was passed to appstreamcli. */ + ascli_print_stderr (_("Option '%s' is unknown."), unknown_option); + } + + if (subcommand == NULL) + ascli_print_stderr (_("Run '%s --help' to see a full list of available command line options."), ASCLI_BIN_NAME); + else + ascli_print_stderr (_("Run '%s --help' to see a list of available commands and options, and '%s %s --help' to see a list of options specific for this subcommand."), + ASCLI_BIN_NAME, ASCLI_BIN_NAME, subcommand); +} + +/** + * as_client_option_context_parse: + * + * Parse the options, print errors. + */ +static int +as_client_option_context_parse (GOptionContext *opt_context, const gchar *subcommand, int *argc, char ***argv) +{ + g_autoptr(GError) error = NULL; + + g_option_context_parse (opt_context, argc, argv, &error); + if (error != NULL) { + gchar *msg; + msg = g_strconcat (error->message, "\n", NULL); + g_print ("%s", msg); + g_free (msg); + + as_client_print_help_hint (subcommand, NULL); + return 1; + } + + return 0; +} + +/*** SUBCOMMANDS ***/ + +/** + * as_client_run_refresh_cache: + * + * Refresh the AppStream caches. + */ +static int +as_client_run_refresh_cache (const gchar *command, char **argv, int argc) +{ + g_autoptr(GOptionContext) opt_context = NULL; + gint ret; + gboolean optn_force = FALSE; + gboolean optn_user = FALSE; + + const GOptionEntry refresh_options[] = { + { "force", (gchar) 0, 0, + G_OPTION_ARG_NONE, + &optn_force, + /* TRANSLATORS: ascli flag description for: --force */ + _("Enforce a cache refresh."), + NULL }, + { "user", (gchar) 0, 0, + G_OPTION_ARG_NONE, + &optn_user, + /* TRANSLATORS: ascli flag description for: --user */ + _("Update the user-specific instead of the system-wide cache."), + NULL }, + { NULL } + }; + + opt_context = as_client_new_subcommand_option_context (command, refresh_options); + g_option_context_add_main_entries (opt_context, data_collection_options, NULL); + + ret = as_client_option_context_parse (opt_context, + command, &argc, &argv); + if (ret != 0) + return ret; + + return ascli_refresh_cache (optn_cachepath, + optn_datapath, + optn_user, + optn_force); +} + +/** + * as_client_run_search: + * + * Search for AppStream metadata. + */ +static int +as_client_run_search (const gchar *command, char **argv, int argc) +{ + g_autoptr(GOptionContext) opt_context = NULL; + g_autoptr(GString) search = NULL; + gint ret; + + opt_context = as_client_new_subcommand_option_context (command, find_options); + g_option_context_add_main_entries (opt_context, data_collection_options, NULL); + + ret = as_client_option_context_parse (opt_context, command, &argc, &argv); + if (ret != 0) + return ret; + + search = g_string_new (""); + if (argc > 2) { + for (gint i = 2; i < argc; i++) { + g_string_append (search, argv[i]); + g_string_append_c (search, ' '); + } + /* drop trailing space */ + if (search->len > 0) + g_string_truncate (search, search->len - 1); + } + + return ascli_search_component (optn_cachepath, + (search->len == 0)? NULL : search->str, + optn_details, + optn_no_cache); +} + +/** + * as_client_run_get: + * + * Get components by its ID. + */ +static int +as_client_run_get (const gchar *command, char **argv, int argc) +{ + g_autoptr(GOptionContext) opt_context = NULL; + gint ret; + const gchar *value = NULL; + + opt_context = as_client_new_subcommand_option_context (command, find_options); + g_option_context_add_main_entries (opt_context, data_collection_options, NULL); + + ret = as_client_option_context_parse (opt_context, command, &argc, &argv); + if (ret != 0) + return ret; + + if (argc > 2) + value = argv[2]; + + return ascli_get_component (optn_cachepath, + value, + optn_details, + optn_no_cache); +} + +/** + * as_client_run_dump: + * + * Dump the raw component metadata to the console. + */ +static int +as_client_run_dump (const gchar *command, char **argv, int argc) +{ + g_autoptr(GOptionContext) opt_context = NULL; + gint ret; + const gchar *value = NULL; + AsFormatKind mformat; + + opt_context = as_client_new_subcommand_option_context (command, data_collection_options); + g_option_context_add_main_entries (opt_context, format_options, NULL); + + ret = as_client_option_context_parse (opt_context, command, &argc, &argv); + if (ret != 0) + return ret; + + if (argc > 2) + value = argv[2]; + + mformat = as_format_kind_from_string (optn_format); + return ascli_dump_component (optn_cachepath, + value, + mformat, + optn_no_cache); +} + +/** + * as_client_run_what_provides: + * + * Find components that provide a certain item. + */ +static int +as_client_run_what_provides (const gchar *command, char **argv, int argc) +{ + g_autoptr(GOptionContext) opt_context = NULL; + gint ret; + const gchar *vtype = NULL; + const gchar *vvalue = NULL; + + opt_context = as_client_new_subcommand_option_context (command, find_options); + g_option_context_add_main_entries (opt_context, data_collection_options, NULL); + + ret = as_client_option_context_parse (opt_context, command, &argc, &argv); + if (ret != 0) + return ret; + + if (argc > 2) + vtype = argv[2]; + if (argc > 3) + vvalue = argv[3]; + + return ascli_what_provides (optn_cachepath, + vtype, + vvalue, + optn_details); +} + +/** + * as_client_run_validate: + * + * Validate single metadata files. + */ +static int +as_client_run_validate (const gchar *command, char **argv, int argc) +{ + g_autoptr(GOptionContext) opt_context = NULL; + gint ret; + + opt_context = as_client_new_subcommand_option_context (command, validate_options); + ret = as_client_option_context_parse (opt_context, command, &argc, &argv); + if (ret != 0) + return ret; + + if (optn_format == NULL) { + return ascli_validate_files (&argv[2], + argc-2, + optn_pedantic, + optn_explain, + !optn_nonet); + } else { + return ascli_validate_files_format (&argv[2], + argc-2, + optn_format, + !optn_nonet); + } +} + +/** + * as_client_run_validate_tree: + * + * Validate an installed filesystem tree for correct AppStream metadata + * and .desktop files. + */ +static int +as_client_run_validate_tree (const gchar *command, char **argv, int argc) +{ + g_autoptr(GOptionContext) opt_context = NULL; + gint ret; + const gchar *value = NULL; + + opt_context = as_client_new_subcommand_option_context (command, validate_options); + ret = as_client_option_context_parse (opt_context, command, &argc, &argv); + if (ret != 0) + return ret; + + if (argc > 2) + value = argv[2]; + + if (optn_format == NULL) { + return ascli_validate_tree (value, + optn_pedantic, + optn_explain, + !optn_nonet); + } else { + return ascli_validate_tree_format (value, + optn_format, + !optn_nonet); + } +} + +/** + * as_client_run_put: + * + * Place a metadata file in the right directory. + */ +static int +as_client_run_put (const gchar *command, char **argv, int argc) +{ + g_autoptr(GOptionContext) opt_context = NULL; + const gchar *fname = NULL; + const gchar *optn_origin = NULL; + gboolean optn_usermode = FALSE; + gint ret; + + const GOptionEntry put_file_options[] = { + { "origin", 0, 0, + G_OPTION_ARG_STRING, + &optn_origin, + /* TRANSLATORS: ascli flag description for: --origin (part of the "put" subcommand) */ + N_("Set the data origin for the installed metadata collection file."), NULL }, + { "user", 0, 0, + G_OPTION_ARG_NONE, + &optn_usermode, + /* TRANSLATORS: ascli flag description for: --user (part of the "put" subcommand) */ + N_("Install the file for the current user, instead of globally."), + NULL }, + { NULL } + }; + + opt_context = as_client_new_subcommand_option_context (command, put_file_options); + ret = as_client_option_context_parse (opt_context, command, &argc, &argv); + if (ret != 0) + return ret; + + if (argc > 2) + fname = argv[2]; + if (argc > 3) { + as_client_print_help_hint (command, argv[3]); + return 1; + } + + return ascli_put_metainfo (fname, optn_origin, optn_usermode); +} + +/** + * as_client_run_install: + * + * Install a component by its ID. + */ +static int +as_client_run_install (const gchar *command, char **argv, int argc) +{ + const gchar *value = NULL; + + if (argc > 2) + value = argv[2]; + if (argc > 3) { + as_client_print_help_hint (command, argv[3]); + return 1; + } + + return ascli_install_component (value); +} + +/** + * as_client_run_remove: + * + * Uninstall a component by its ID. + */ +static int +as_client_run_remove (const gchar *command, char **argv, int argc) +{ + const gchar *value = NULL; + + if (argc > 2) + value = argv[2]; + if (argc > 3) { + as_client_print_help_hint (command, argv[3]); + return 1; + } + + return ascli_remove_component (value); +} + +/** + * as_client_run_status: + * + * Show diagnostic information. + */ +static int +as_client_run_status (const gchar *command, char **argv, int argc) +{ + if (argc > 2) { + as_client_print_help_hint (command, argv[3]); + return 1; + } + + return ascli_show_status (); +} + +/** + * as_client_run_os_info: + * + * Show information about the current operating system. + */ +static int +as_client_run_os_info (const gchar *command, char **argv, int argc) +{ + g_autoptr(GOptionContext) opt_context = NULL; + gint ret; + + opt_context = as_client_new_subcommand_option_context (command, find_options); + g_option_context_add_main_entries (opt_context, data_collection_options, NULL); + + ret = as_client_option_context_parse (opt_context, command, &argc, &argv); + if (ret != 0) + return ret; + + if (argc > 2) { + as_client_print_help_hint (command, argv[3]); + return 1; + } + + return ascli_show_os_info (optn_cachepath, optn_no_cache); +} + +/** + * as_client_run_convert: + * + * Convert metadata. + */ +static int +as_client_run_convert (const gchar *command, char **argv, int argc) +{ + g_autoptr(GOptionContext) opt_context = NULL; + gint ret; + const gchar *fname1 = NULL; + const gchar *fname2 = NULL; + AsFormatKind mformat; + + opt_context = as_client_new_subcommand_option_context (command, format_options); + ret = as_client_option_context_parse (opt_context, command, &argc, &argv); + if (ret != 0) + return ret; + + if (argc > 2) + fname1 = argv[2]; + if (argc > 3) + fname2 = argv[3]; + + mformat = as_format_kind_from_string (optn_format); + return ascli_convert_data (fname1, + fname2, + mformat); +} + +/** + * as_client_run_compare_versions: + * + * Compare versions using AppStream's version comparison algorithm. + */ +static int +as_client_run_compare_versions (const gchar *command, char **argv, int argc) +{ + g_autoptr(GOptionContext) opt_context = NULL; + gint ret; + + opt_context = as_client_new_subcommand_option_context (command, format_options); + ret = as_client_option_context_parse (opt_context, command, &argc, &argv); + if (ret != 0) + return ret; + + if (argc < 4) { + ascli_print_stderr (_("You need to provide at least two version numbers to compare as parameters.")); + return 2; + } + + if (argc == 4) { + const gchar *ver1 = argv[2]; + const gchar *ver2 = argv[3]; + gint comp_res = as_vercmp_simple (ver1, ver2); + + if (comp_res == 0) + g_print ("%s == %s\n", ver1, ver2); + else if (comp_res > 0) + g_print ("%s >> %s\n", ver1, ver2); + else if (comp_res < 0) + g_print ("%s << %s\n", ver1, ver2); + + return 0; + } else if (argc == 5) { + AsRelationCompare compare; + gint rc; + gboolean res; + const gchar *ver1 = argv[2]; + const gchar *comp_str = argv[3]; + const gchar *ver2 = argv[4]; + + compare = as_relation_compare_from_string (comp_str); + if (compare == AS_RELATION_COMPARE_UNKNOWN) { + guint i; + /** TRANSLATORS: The user tried to compare version numbers, but the comparison operator (greater-then, equal, etc.) was invalid. */ + ascli_print_stderr (_("Unknown compare relation '%s'. Valid values are:"), comp_str); + for (i = 1; i < AS_RELATION_COMPARE_LAST; i++) + g_printerr (" • %s\n", as_relation_compare_to_string (i)); + return 2; + } + + rc = as_vercmp_simple (ver1, ver2); + switch (compare) { + case AS_RELATION_COMPARE_EQ: + res = rc == 0; + break; + case AS_RELATION_COMPARE_NE: + res = rc != 0; + break; + case AS_RELATION_COMPARE_LT: + res = rc < 0; + break; + case AS_RELATION_COMPARE_GT: + res = rc > 0; + break; + case AS_RELATION_COMPARE_LE: + res = rc <= 0; + break; + case AS_RELATION_COMPARE_GE: + res = rc >= 0; + break; + default: + res = FALSE; + } + + g_print ("%s: ", res? "true" : "false"); + if (rc == 0) + g_print ("%s == %s\n", ver1, ver2); + else if (rc > 0) + g_print ("%s >> %s\n", ver1, ver2); + else if (rc < 0) + g_print ("%s << %s\n", ver1, ver2); + + return res? 0 : 1; + } else { + ascli_print_stderr (_("Too many parameters: Need two version numbers or version numbers and a comparison operator.")); + return 2; + } +} + +/** + * as_client_run_new_template: + * + * Convert metadata. + */ +static int +as_client_run_new_template (const gchar *command, char **argv, int argc) +{ + g_autoptr(GOptionContext) opt_context = NULL; + g_autoptr(GString) desc_str = NULL; + guint i; + gint ret; + const gchar *out_fname = NULL; + const gchar *cpt_kind_str = NULL; + const gchar *optn_desktop_file = NULL; + + const GOptionEntry newtemplate_options[] = { + { "from-desktop", 0, 0, + G_OPTION_ARG_STRING, + &optn_desktop_file, + /* TRANSLATORS: ascli flag description for: --from-desktop (part of the new-template subcommand) */ + N_("Use the given .desktop file to fill in the basic values of the metainfo file."), NULL }, + { NULL } + }; + + /* TRANSLATORS: Additional help text for the 'new-template' ascli subcommand */ + desc_str = g_string_new (_("This command takes optional TYPE and FILE positional arguments, FILE being a file to write to (or \"-\" for standard output).")); + g_string_append (desc_str, "\n"); + /* TRANSLATORS: Additional help text for the 'new-template' ascli subcommand, a bullet-pointed list of types follows */ + g_string_append_printf (desc_str, _("The TYPE must be a valid component-type, such as: %s"), "\n"); + for (i = 1; i < AS_COMPONENT_KIND_LAST; i++) + g_string_append_printf (desc_str, " • %s\n", as_component_kind_to_string (i)); + + opt_context = as_client_new_subcommand_option_context (command, newtemplate_options); + g_option_context_set_description (opt_context, desc_str->str); + + ret = as_client_option_context_parse (opt_context, + command, &argc, &argv); + if (ret != 0) + return ret; + + if (argc > 2) + cpt_kind_str = argv[2]; + if (argc > 3) + out_fname = argv[3]; + + return ascli_create_metainfo_template (out_fname, + cpt_kind_str, + optn_desktop_file); +} + +/** + * as_client_run_make_desktop_file: + * + * Create desktop-entry file from metainfo file. + */ +static int +as_client_run_make_desktop_file (const gchar *command, char **argv, int argc) +{ + g_autoptr(GOptionContext) opt_context = NULL; + const gchar *optn_exec_command = NULL; + const gchar *mi_fname = NULL; + const gchar *de_fname = NULL; + gint ret; + + const GOptionEntry make_desktop_file_options[] = { + { "exec", 0, 0, + G_OPTION_ARG_STRING, + &optn_exec_command, + /* TRANSLATORS: ascli flag description for: --exec (part of the make-desktop-file subcommand) */ + N_("Use the specified line for the 'Exec=' key of the desktop-entry file."), NULL }, + { NULL } + }; + + opt_context = as_client_new_subcommand_option_context (command, make_desktop_file_options); + ret = as_client_option_context_parse (opt_context, command, &argc, &argv); + if (ret != 0) + return ret; + + if (argc > 2) + mi_fname = argv[2]; + if (argc > 3) + de_fname = argv[3]; + + return ascli_make_desktop_entry_file (mi_fname, + de_fname, + optn_exec_command); +} + +/** + * as_client_run_news_to_metainfo: + * + * Convert NEWS file to metainfo data. + */ +static int +as_client_run_news_to_metainfo (const gchar *command, char **argv, int argc) +{ + g_autoptr(GOptionContext) opt_context = NULL; + const gchar *optn_format_text = NULL; + guint optn_limit = 0; + const gchar *mi_fname = NULL; + const gchar *news_fname = NULL; + const gchar *out_fname = NULL; + gint ret; + + const GOptionEntry news_to_metainfo_options[] = { + { "format", 0, 0, + G_OPTION_ARG_STRING, + &optn_format_text, + /* TRANSLATORS: ascli flag description for: --format as part of the news-to-metainfo command */ + N_("Assume the input file is in the selected format ('yaml' or 'text')."), NULL }, + { "limit", 0, 0, + G_OPTION_ARG_INT, + &optn_limit, + /* TRANSLATORS: ascli flag description for: --limit as part of the news-to-metainfo command */ + N_("Limit the number of release entries that end up in the metainfo file (0 for unlimited)."), NULL }, + { NULL } + }; + + opt_context = as_client_new_subcommand_option_context (command, news_to_metainfo_options); + ret = as_client_option_context_parse (opt_context, command, &argc, &argv); + if (ret != 0) + return ret; + + if (argc > 2) + news_fname = argv[2]; + if (argc > 3) + mi_fname = argv[3]; + if (argc > 4) + out_fname = argv[4]; + + return ascli_news_to_metainfo (news_fname, + mi_fname, + out_fname, + optn_limit, + optn_format_text); +} + +/** + * as_client_run_metainfo_to_news: + * + * Convert metainfo data to NEWS file. + */ +static int +as_client_run_metainfo_to_news (const gchar *command, char **argv, int argc) +{ + g_autoptr(GOptionContext) opt_context = NULL; + const gchar *optn_format_text = NULL; + const gchar *mi_fname = NULL; + const gchar *news_fname = NULL; + gint ret; + + const GOptionEntry metainfo_to_news_options[] = { + { "format", 0, 0, + G_OPTION_ARG_STRING, + &optn_format_text, + /* TRANSLATORS: ascli flag description for: --format as part of the metainfo-to-news command */ + N_("Generate the output in the selected format ('yaml' or 'text')."), NULL }, + { NULL } + }; + + opt_context = as_client_new_subcommand_option_context (command, metainfo_to_news_options); + ret = as_client_option_context_parse (opt_context, command, &argc, &argv); + if (ret != 0) + return ret; + + if (argc > 2) + mi_fname = argv[2]; + if (argc > 3) + news_fname = argv[3]; + + return ascli_metainfo_to_news (mi_fname, + news_fname, + optn_format_text); +} + +/** + * as_client_run_compose: + * + * Delegate the "compose" command to the appstream-compose binary, + * if it is available. + */ +static int +as_client_run_compose (const gchar *command, char **argv, int argc) +{ + const gchar *ascompose_exe = LIBEXECDIR "/appstreamcli-compose"; + g_autofree const gchar **asc_argv = NULL; + + if (!g_file_test (ascompose_exe, G_FILE_TEST_EXISTS)) { + ascli_print_stderr (_("Compose binary '%s' was not found! Can not continue."), ascompose_exe); + return 4; + } + + asc_argv = g_new0 (const gchar*, argc + 2); + asc_argv[0] = ascompose_exe; + for (gint i = 0; i < argc; i++) + asc_argv[i+1] = argv[i]; + + return execv(ascompose_exe, (gchar * const*) asc_argv); +} + +typedef gboolean (*AsCliCommandCb) (const gchar *command, + gchar **argv, + gint argc); + +typedef struct { + gchar *name; + gchar *alias; + gchar *arguments; + gchar *summary; + guint block_id; + AsCliCommandCb callback; +} AsCliCommandItem; + +/** + * ascli_command_item_free: + */ +static void +ascli_command_item_free (AsCliCommandItem *item) +{ + g_free (item->name); + g_free (item->alias); + g_free (item->arguments); + g_free (item->summary); + g_free (item); +} + +/** + * ascli_add_cmd: + */ +static void +ascli_add_cmd (GPtrArray *commands, + guint block_id, + const gchar *name, + const gchar *alias, + const gchar *arguments, + const gchar *summary, + AsCliCommandCb callback) +{ + AsCliCommandItem *item; + + g_return_if_fail (name != NULL); + g_return_if_fail (summary != NULL); + g_return_if_fail (callback != NULL); + + item = g_new0 (AsCliCommandItem, 1); + item->block_id = block_id; + item->name = g_strdup (name); + if (alias != NULL) { + g_autofree gchar *tmp = NULL; + /* TRANSLATORS: this is a (usually shorter) command alias, shown after the command summary text */ + tmp = g_strdup_printf (_("(Alias: '%s')"), alias); + item->summary = g_strconcat (summary, " ", tmp, NULL); + item->alias = g_strdup (alias); + } else { + item->summary = g_strdup (summary); + } + if (arguments == NULL) + item->arguments = g_strdup (""); + else + item->arguments = g_strdup (arguments); + item->callback = callback; + g_ptr_array_add (commands, item); +} + +/** + * as_client_get_help_summary: + **/ +static gchar* +as_client_get_help_summary (GPtrArray *commands) +{ + guint current_block_id = 0; + g_autoptr(GArray) blocks_maxlen = NULL; + GString *string = g_string_new (""); + + /* TRANSLATORS: This is the header to the --help menu */ + g_string_append_printf (string, "%s\n\n%s\n", _("AppStream command-line interface"), + /* these are commands we can use with appstreamcli */ + _("Subcommands:")); + + blocks_maxlen = g_array_new (FALSE, FALSE, sizeof (guint)); + for (guint i = 0; i < commands->len; i++) { + guint nlen; + guint *elen_p; + AsCliCommandItem *item = (AsCliCommandItem *) g_ptr_array_index (commands, i); + + while (blocks_maxlen->len < (item->block_id + 1)) { + guint min_len = 26; + g_array_append_val (blocks_maxlen, min_len); + } + nlen = strlen (item->name) + strlen (item->arguments); + elen_p = &g_array_index (blocks_maxlen, guint, item->block_id); + if (nlen > *elen_p) + *elen_p = nlen; + } + + for (guint i = 0; i < commands->len; i++) { + guint term_len; + guint block_maxlen; + guint synopsis_len; + g_autofree gchar *summary_wrap = NULL; + AsCliCommandItem *item = (AsCliCommandItem *) g_ptr_array_index (commands, i); + + if (item->block_id != current_block_id) { + current_block_id = item->block_id; + g_string_append (string, "\n"); + } + + block_maxlen = g_array_index (blocks_maxlen, guint, item->block_id); + term_len = strlen (item->name) + strlen (item->arguments); + + g_string_append_printf (string, " %s %s%*s", + item->name, + item->arguments, + (block_maxlen - term_len) + 1, ""); + synopsis_len = block_maxlen + 3 + 1 ; + summary_wrap = ascli_format_long_output (item->summary, + synopsis_len + 72, + synopsis_len + 2); + g_strstrip (summary_wrap); + g_string_append_printf (string, "- %s\n", summary_wrap); + } + + g_string_append (string, "\n"); + g_string_append (string, _("You can find information about subcommand-specific options by passing \"--help\" to the subcommand.")); + + return g_string_free (string, FALSE); +} + +/** + * ascli_run_command: + * + * Run a subcommand with the given parameters. + */ +static gint +ascli_run_command (GPtrArray *commands, const gchar *command, char **argv, int argc) +{ + for (guint i = 0; i < commands->len; i++) { + AsCliCommandItem *item = (AsCliCommandItem *) g_ptr_array_index (commands, i); + + if (g_strcmp0 (command, item->name) == 0) + return item->callback (item->name, argv, argc); + if ((item->alias != NULL) && (g_strcmp0 (command, item->alias) == 0)) + return item->callback (item->name, argv, argc); + } + + /* TRANSLATORS: ascli has been run with unknown command. '%s --help' is the command to receive help and should not be translated. */ + ascli_print_stderr (_("Command '%s' is unknown. Run '%s --help' for a list of available commands."), command, argv[0]); + return 1; +} + +/** + * as_client_run: + */ +static int +as_client_run (char **argv, int argc) +{ + g_autoptr(GOptionContext) opt_context = NULL; + g_autoptr(GPtrArray) commands = NULL; + g_autoptr(AsProfile) profile = NULL; + AsProfileTask *ptask; + gboolean enable_profiling = FALSE; + gint retval = 0; + const gchar *command = NULL; + + + const GOptionEntry client_options[] = { + { "version", 0, 0, + G_OPTION_ARG_NONE, + &optn_show_version, + /* TRANSLATORS: ascli flag description for: --version */ + _("Show the program version."), + NULL }, + { "verbose", (gchar) 0, 0, + G_OPTION_ARG_NONE, + &optn_verbose_mode, + /* TRANSLATORS: ascli flag description for: --verbose */ + _("Show extra debugging information."), + NULL }, + { "no-color", (gchar) 0, 0, + G_OPTION_ARG_NONE, &optn_no_color, + /* TRANSLATORS: ascli flag description for: --no-color */ + _("Don\'t show colored output."), NULL }, + { "profile", '\0', 0, G_OPTION_ARG_NONE, &enable_profiling, + /* TRANSLATORS: ascli flag description for: --profile */ + _("Enable profiling"), NULL }, + { NULL } + }; + + opt_context = g_option_context_new ("- AppStream CLI."); + g_option_context_add_main_entries (opt_context, client_options, NULL); + + /* register all available subcommands */ + commands = g_ptr_array_new_with_free_func ((GDestroyNotify) ascli_command_item_free); + ascli_add_cmd (commands, + 0, "search", "s", "TERM", + /* TRANSLATORS: `appstreamcli search` command description. */ + _("Search the component database."), + as_client_run_search); + ascli_add_cmd (commands, + 0, "get", NULL, "COMPONENT-ID", + /* TRANSLATORS: `appstreamcli get` command description. */ + _("Get information about a component by its ID."), + as_client_run_get); + ascli_add_cmd (commands, + 0, "what-provides", NULL, "TYPE VALUE", + /* TRANSLATORS: `appstreamcli what-provides` command description. */ + _("Get components which provide the given item. Needs an item type (e.g. lib, bin, python3, …) and item value as parameter."), + as_client_run_what_provides); + + ascli_add_cmd (commands, + 1, "dump", NULL, "COMPONENT-ID", + /* TRANSLATORS: `appstreamcli dump` command description. */ + _("Dump raw XML metadata for a component matching the ID."), + as_client_run_dump); + ascli_add_cmd (commands, + 1, "refresh-cache", "refresh", NULL, + /* TRANSLATORS: `appstreamcli refresh-cache` command description. */ + _("Rebuild the component metadata cache."), + as_client_run_refresh_cache); + + ascli_add_cmd (commands, + 2, "validate", NULL, "FILE", + /* TRANSLATORS: `appstreamcli validate` command description. */ + _("Validate AppStream XML files for issues."), + as_client_run_validate); + ascli_add_cmd (commands, + 2, "validate-tree", NULL, "DIRECTORY", + /* TRANSLATORS: `appstreamcli validate-tree` command description. */ + _("Validate an installed file-tree of an application for valid metadata."), + as_client_run_validate_tree); + + ascli_add_cmd (commands, + 3, "install", NULL, "COMPONENT-ID", + /* TRANSLATORS: `appstreamcli install` command description. */ + _("Install software matching the component-ID."), + as_client_run_install); + ascli_add_cmd (commands, + 3, "remove", NULL, "COMPONENT-ID", + /* TRANSLATORS: `appstreamcli remove` command description. */ + _("Remove software matching the component-ID."), + as_client_run_remove); + + ascli_add_cmd (commands, + 4, "status", NULL, NULL, + /* TRANSLATORS: `appstreamcli status` command description. */ + _("Display status information about available AppStream metadata."), + as_client_run_status); + ascli_add_cmd (commands, + 4, "os-info", NULL, NULL, + /* TRANSLATORS: `appstreamcli os-info` command description. */ + _("Show information about the current operating system from the metadata index."), + as_client_run_os_info); + ascli_add_cmd (commands, + 4, "put", NULL, "FILE", + /* TRANSLATORS: `appstreamcli put` command description. */ + _("Install a metadata file into the right location."), + as_client_run_put); + ascli_add_cmd (commands, + 4, "convert", NULL, "FILE FILE", + /* TRANSLATORS: `appstreamcli convert` command description. "Collection XML" is a term describing a specific type of AppStream XML data. */ + _("Convert collection XML to YAML or vice versa."), + as_client_run_convert); + ascli_add_cmd (commands, + 4, "compare-versions", "vercmp", "VER1 [COMP] VER2", + /* TRANSLATORS: `appstreamcli vercmp` command description. */ + _("Compare two version numbers."), + as_client_run_compare_versions); + + ascli_add_cmd (commands, + 5, "new-template", NULL, "TYPE FILE", + /* TRANSLATORS: `appstreamcli new-template` command description. */ + _("Create a template for a metainfo file (to be filled out by the upstream project)."), + as_client_run_new_template); + ascli_add_cmd (commands, + 5, "make-desktop-file", NULL, "MI_FILE DESKTOP_FILE", + /* TRANSLATORS: `appstreamcli make-desktop-file` command description. */ + _("Create a desktop-entry file from a metainfo file."), + as_client_run_make_desktop_file); + ascli_add_cmd (commands, + 5, "news-to-metainfo", NULL, "NEWS_FILE MI_FILE [OUT_FILE]", + /* TRANSLATORS: `appstreamcli news-to-metainfo` command description. */ + _("Convert a YAML or text NEWS file into metainfo releases."), + as_client_run_news_to_metainfo); + ascli_add_cmd (commands, + 5, "metainfo-to-news", NULL, "MI_FILE NEWS_FILE", + /* TRANSLATORS: `appstreamcli metainfo-to-news` command description. */ + _("Write NEWS text or YAML file with information from a metainfo file."), + as_client_run_metainfo_to_news); + if (g_file_test (LIBEXECDIR "/appstreamcli-compose", G_FILE_TEST_EXISTS)) + ascli_add_cmd (commands, + 5, "compose", NULL, NULL, + /* TRANSLATORS: `appstreamcli compose` command description. */ + _("Compose AppStream collection metadata from directory trees."), + as_client_run_compose); + + /* we handle the unknown options later in the individual subcommands */ + g_option_context_set_ignore_unknown_options (opt_context, TRUE); + + if (argc < 2) { + /* TRANSLATORS: ascli has been run without command. */ + g_printerr ("%s\n", _("You need to specify a command.")); + ascli_print_stderr (_("Run '%s --help' to see a full list of available command line options."), argv[0]); + return 1; + } + command = argv[1]; + + /* only attempt to show global help if we don't have a subcommand as first parameter (subcommands are never prefixed with "-") */ + if (g_str_has_prefix (command, "-")) { + /* set the summary text */ + g_autofree gchar *summary = NULL; + summary = as_client_get_help_summary (commands); + g_option_context_set_summary (opt_context, summary) ; + g_option_context_set_help_enabled (opt_context, TRUE); + } else { + g_option_context_set_help_enabled (opt_context, FALSE); + } + + retval = as_client_option_context_parse (opt_context, NULL, &argc, &argv); + if (retval != 0) + return retval; + + if (optn_show_version) { + if (g_strcmp0 (as_version_string (), PACKAGE_VERSION) == 0) { + /* TRANSLATORS: Output if appstreamcli --version is executed. */ + ascli_print_stdout (_("AppStream version: %s"), PACKAGE_VERSION); + } else { + /* TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. */ + ascli_print_stdout (_("AppStream CLI tool version: %s\nAppStream library version: %s"), PACKAGE_VERSION, as_version_string ()); + } + return 0; + } + + /* just a hack, we might need proper message handling later */ + if (optn_verbose_mode) { + g_setenv ("G_MESSAGES_DEBUG", "all", TRUE); + } + + /* allow disabling network access via an environment variable */ + if (g_getenv ("AS_VALIDATE_NONET") != NULL) { + g_debug ("Disabling network usage: Environment variable AS_VALIDATE_NONET is set."); + optn_nonet = TRUE; + } + + ascli_set_output_colored (!optn_no_color); + + /* if out terminal is no tty, disable colors automatically */ + if (!isatty (fileno (stdout))) + ascli_set_output_colored (FALSE); + + /* don't let gvfsd start it's own session bus: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=852696 */ + g_setenv ("GIO_USE_VFS", "local", TRUE); + + /* prepare profiler */ + profile = as_profile_new (); + + /* run subcommand */ + ptask = as_profile_start (profile, "%s: %s", argv[0], command); + retval = ascli_run_command (commands, command, argv, argc); + as_profile_task_free (ptask); + + /* profile */ + if (enable_profiling) + as_profile_dump (profile); + + return retval; +} + +int +main (int argc, char ** argv) +{ + gint code = 0; + + /* bind locale */ + setlocale (LC_ALL, ""); + bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR); + bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); + textdomain (GETTEXT_PACKAGE); + + /* run the application */ + code = as_client_run (argv, argc); + + return code; +} diff -Nru appstream-0.12.10/tools/appstream-compose.c appstream-0.14.5/tools/appstream-compose.c --- appstream-0.12.10/tools/appstream-compose.c 1970-01-01 00:00:00.000000000 +0000 +++ appstream-0.14.5/tools/appstream-compose.c 2021-08-28 20:15:28.000000000 +0000 @@ -0,0 +1,392 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2019-2021 Matthias Klumpp + * + * Licensed under the GNU General Public License Version 2 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the license, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "config.h" + +#include +#include +#include + +#include "ascli-utils.h" + +typedef enum { + ASC_REPORT_MODE_UNKNOWN, + ASC_REPORT_MODE_NONE, + ASC_REPORT_MODE_ERROR_SUMMARY, + ASC_REPORT_MODE_SHORT, + ASC_REPORT_MODE_FULL +} AscReportMode; + +void +composecli_add_report_hint (GString *report, AscHint *hint) +{ + const gchar *tag = asc_hint_get_tag (hint); + switch (asc_hint_get_severity (hint)) { + case AS_ISSUE_SEVERITY_ERROR: + g_string_append (report, "E: "); + break; + case AS_ISSUE_SEVERITY_WARNING: + g_string_append (report, "W: "); + break; + case AS_ISSUE_SEVERITY_INFO: + g_string_append (report, "I: "); + break; + case AS_ISSUE_SEVERITY_PEDANTIC: + g_string_append (report, "P: "); + break; + default: + g_string_append (report, "U: "); + } + if (ascli_get_output_colored ()) { + switch (asc_hint_get_severity (hint)) { + case AS_ISSUE_SEVERITY_ERROR: + g_string_append_printf (report, "%c[%dm%s%c[%dm", 0x1B, 31, tag, 0x1B, 0); + break; + case AS_ISSUE_SEVERITY_WARNING: + g_string_append_printf (report, "%c[%dm%s%c[%dm", 0x1B, 33, tag, 0x1B, 0); + break; + case AS_ISSUE_SEVERITY_INFO: + g_string_append_printf (report, "%c[%dm%s%c[%dm", 0x1B, 32, tag, 0x1B, 0); + break; + case AS_ISSUE_SEVERITY_PEDANTIC: + g_string_append_printf (report, "%c[%dm%s%c[%dm", 0x1B, 37, tag, 0x1B, 0); + break; + default: + g_string_append_printf (report, "%c[%dm%s%c[%dm", 0x1B, 35, tag, 0x1B, 0); + } + } else { + g_string_append (report, tag); + } +} + +void +composecli_print_hints_report (GPtrArray *results, const gchar *title, AscReportMode mode) +{ + g_autoptr(GString) report = NULL; + g_return_if_fail (results != NULL); + + if (mode == ASC_REPORT_MODE_NONE) + return; + + report = g_string_new (""); + for (guint i = 0; i < results->len; i++) { + g_autofree const gchar **issue_cids; + AscResult *result = ASC_RESULT (g_ptr_array_index (results, i)); + + issue_cids = asc_result_get_component_ids_with_hints (result); + for (guint j = 0; issue_cids[j] != NULL; j++) { + gboolean entry_added = FALSE; + gsize start_len = 0; + GPtrArray *hints = asc_result_get_hints (result, issue_cids[j]); + + start_len = report->len; + if (ascli_get_output_colored ()) + g_string_append_printf (report, "\n%c[%dm%s%c[%dm\n", 0x1B, 1, issue_cids[j], 0x1B, 0); + else + g_string_append_printf (report, "\n%s\n", issue_cids[j]); + + for (guint k = 0; k < hints->len; k++) { + AscHint *hint = ASC_HINT (g_ptr_array_index (hints, k)); + if (mode == ASC_REPORT_MODE_ERROR_SUMMARY && !asc_hint_is_error (hint)) + continue; + /* pedantic hints are usually not important enough to be displayed here */ + if (asc_hint_get_severity (hint) == AS_ISSUE_SEVERITY_PEDANTIC) + continue; + g_string_append (report, " "); + composecli_add_report_hint (report, hint); + g_string_append_c (report, '\n'); + entry_added = TRUE; + + if (mode == ASC_REPORT_MODE_FULL) { + g_autofree gchar *text = NULL; + g_autofree gchar *text_md_wrap = NULL; + g_autoptr(GString) text_md = NULL; + + text = asc_hint_format_explanation (hint); + text_md = g_string_new (text); + as_gstring_replace (text_md, "", "`"); + as_gstring_replace (text_md, "", "`"); + as_gstring_replace (text_md, "
                                                                                                                                                                                                                                                                                                                                                                                                                                                  ", "\n"); + as_gstring_replace (text_md, "", ""); + as_gstring_replace (text_md, "", ""); + as_gstring_replace (text_md, "<", "<"); + as_gstring_replace (text_md, ">", ">"); + + text_md_wrap = ascli_format_long_output (text_md->str, 100, 4); + g_string_append (report, text_md_wrap); + g_string_append_c (report, '\n'); + } + } + if (!entry_added) + g_string_truncate (report, start_len); + } + } + + /* don't print anything if we have no report */ + if (report->len < 2) + return; + + /* trim trailing newline */ + g_string_erase (report, 0, 1); + if (title != NULL) { + g_string_prepend_c (report, '\n'); + g_string_prepend (report, title); + } + g_print ("%s", report->str); +} + +int +main (int argc, char **argv) +{ + g_autoptr(GOptionContext) option_context = NULL; + gboolean ret; + gboolean verbose = FALSE; + gboolean no_color = FALSE; + gboolean show_version = FALSE; + g_autoptr(GError) error = NULL; + AscReportMode report_mode; + g_autofree gchar *report_mode_str = NULL; + g_autofree gchar *origin = NULL; + g_autofree gchar *res_root_dir = NULL; + g_autofree gchar *mdata_dir = NULL; + g_autofree gchar *icons_dir = NULL; + g_autofree gchar *media_dir = NULL; + g_autofree gchar *hints_dir = NULL; + g_autofree gchar *media_baseurl = NULL; + g_autofree gchar *prefix = NULL; + g_autofree gchar *components_str = NULL; + g_autoptr(AscCompose) compose = NULL; + GPtrArray *results; + + const GOptionEntry options[] = { + { "verbose", 'v', 0, G_OPTION_ARG_NONE, &verbose, + /* TRANSLATORS: ascompose flag description for: --verbose */ + _("Show extra debugging information"), NULL }, + { "no-color", '\0', 0, G_OPTION_ARG_NONE, &no_color, + /* TRANSLATORS: ascompose flag description for: --no-color */ + _("Don\'t show colored output."), NULL }, + { "version", '\0', 0, G_OPTION_ARG_NONE, &show_version, + /* TRANSLATORS: ascompose flag description for: --version */ + _("Show the program version."), NULL }, + { "print-report", '\0', 0, G_OPTION_ARG_STRING, &report_mode_str, + /* TRANSLATORS: ascompose flag description for: --full-report */ + _("Set mode of the issue report that is printed to the console"), "MODE" }, + { "prefix", '\0', 0, G_OPTION_ARG_FILENAME, &prefix, + /* TRANSLATORS: ascompose flag description for: --prefix */ + _("Override the default prefix (`/usr` by default)"), "DIR" }, + { "result-root", '\0', 0, G_OPTION_ARG_FILENAME, &res_root_dir, + /* TRANSLATORS: ascompose flag description for: --result-root */ + _("Set the result output directory"), "DIR" }, + { "data-dir", '\0', 0, G_OPTION_ARG_FILENAME, &mdata_dir, + /* TRANSLATORS: ascompose flag description for: --data-dir, `collection metadata` is an AppStream term */ + _("Override the collection metadata output directory"), "DIR" }, + { "icons-dir", '\0', 0, G_OPTION_ARG_FILENAME, &icons_dir, + /* TRANSLATORS: ascompose flag description for: --icons-dir */ + _("Override the icon output directory"), "DIR" }, + { "media-dir", '\0', 0, G_OPTION_ARG_FILENAME, &media_dir, + /* TRANSLATORS: ascompose flag description for: --media-dir */ + _("Set the media output directory (for media data to be served by a webserver)"), "DIR" }, + { "hints-dir", '\0', 0, G_OPTION_ARG_FILENAME, &hints_dir, + /* TRANSLATORS: ascompose flag description for: --hints-dir */ + _("Set a directory where HTML and text issue reports will be stored"), "DIR" }, + { "origin", '\0', 0, G_OPTION_ARG_STRING, &origin, + /* TRANSLATORS: ascompose flag description for: --origin */ + _("Set the origin name"), "NAME" }, + { "media-baseurl", '\0', 0, G_OPTION_ARG_STRING, &media_baseurl, + /* TRANSLATORS: ascompose flag description for: --media-baseurl */ + _("Set the origin name"), "NAME" }, + { "components", '\0', 0, G_OPTION_ARG_STRING, &components_str, + /* TRANSLATORS: ascompose flag description for: --components */ + _("A comma-separated list of component-IDs to accept"), "COMPONENT-IDs" }, + { NULL} + }; + + setlocale (LC_ALL, ""); + bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR); + bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); + textdomain (GETTEXT_PACKAGE); + option_context = g_option_context_new (" - SOURCE-DIRECTORIES"); + + g_option_context_add_main_entries (option_context, options, NULL); + ret = g_option_context_parse (option_context, &argc, &argv, &error); + if (!ret) { + /* TRANSLATORS: error message */ + g_print ("%s: %s\n", _("Failed to parse arguments"), error->message); + return EXIT_FAILURE; + } + + if (verbose) + g_setenv ("G_MESSAGES_DEBUG", "all", TRUE); + ascli_set_output_colored (!no_color); + + if (show_version) { + if (g_strcmp0 (as_version_string (), PACKAGE_VERSION) == 0) { + /* TRANSLATORS: Output if appstreamcli --version is executed. */ + ascli_print_stdout (_("AppStream version: %s"), PACKAGE_VERSION); + } else { + /* TRANSLATORS: Output if appstreamcli --version is run and the CLI and libappstream versions differ. */ + ascli_print_stdout (_("AppStream CLI tool version: %s\nAppStream library version: %s"), PACKAGE_VERSION, as_version_string ()); + } + return EXIT_SUCCESS; + } + + /* determine report mode */ + report_mode = ASC_REPORT_MODE_UNKNOWN; + if (report_mode_str == NULL) + report_mode = ASC_REPORT_MODE_ERROR_SUMMARY; + else if (g_strcmp0 (report_mode_str, "full") == 0) + report_mode = ASC_REPORT_MODE_FULL; + else if (g_strcmp0 (report_mode_str, "short") == 0) + report_mode = ASC_REPORT_MODE_SHORT; + else if (g_strcmp0 (report_mode_str, "on-error") == 0) + report_mode = ASC_REPORT_MODE_ERROR_SUMMARY; + else if (g_strcmp0 (report_mode_str, "none") == 0) + report_mode = ASC_REPORT_MODE_NONE; + if (report_mode == ASC_REPORT_MODE_UNKNOWN) { + /* TRANSLATORS: invalid value for the --print-report CLI option */ + ascli_print_stderr (_("Invalid value for `--print-report` option: %s\n" + "Possible values are:\n" + "`on-error` - only prints a short report if the run failed (default)\n" + "`short` - generates an abridged report\n" + "`full` - a detailed report will be printed"), + report_mode_str); + return EXIT_FAILURE; + } + + /* create compose engine */ + compose = asc_compose_new (); + + /* sanity checks & defaults */ + if (prefix == NULL) + prefix = g_strdup ("/usr"); + asc_compose_set_prefix (compose, prefix); + + if (res_root_dir == NULL && (mdata_dir == NULL || icons_dir == NULL)) { + if (argc == 2) { + /* we have only one unit as parameter, assume it as target path for convenience & compatibility */ + res_root_dir = g_strdup (argv[1]); + ascli_print_stdout (_("Automatically selected '%s' as data output location."), res_root_dir); + } else { + /* TRANSLATORS: we don't have a destination directory for compose */ + g_printerr ("%s\n", _("No destination directory set, please provide a data output location!")); + return EXIT_FAILURE; + } + } + if (origin == NULL) { + g_autofree gchar *tmp = NULL; + origin = g_strdup ("example"); + /* TRANSLATORS: information message of appstream-compose */ + tmp = g_strdup_printf ("Metadata origin not set, using '%s'", origin); + if (ascli_get_output_colored ()) + ascli_print_stderr ("%c[%dm%s%c[%dm: %s", 0x1B, 33, _("WARNING"), 0x1B, 0, tmp); + else + ascli_print_stderr ("%s: %s", _("WARNING"), tmp); + } + asc_compose_set_origin (compose, origin); + + if (mdata_dir == NULL) + mdata_dir = g_build_filename (res_root_dir, prefix, "share/app-info/xmls", NULL); + asc_compose_set_data_result_dir (compose, mdata_dir); + if (icons_dir == NULL) + icons_dir = g_build_filename (res_root_dir, prefix, "share/app-info/icons", origin, NULL); + asc_compose_set_icons_result_dir (compose, icons_dir); + + /* optional */ + asc_compose_set_hints_result_dir (compose, hints_dir); + asc_compose_set_media_result_dir (compose, media_dir); + asc_compose_set_media_baseurl (compose, media_baseurl); + + /* we need at least one unit to process */ + if (argc == 1) { + g_autofree gchar *tmp = NULL; + tmp = g_option_context_get_help (option_context, TRUE, NULL); + g_print ("%s", tmp); + return EXIT_FAILURE; + } + + /* add allowlist for components */ + if (components_str != NULL) { + g_auto(GStrv) cid_allowlist = NULL; + g_autofree gchar *cid_list = NULL; + guint i; + + cid_allowlist = g_strsplit (components_str, ",", -1); + for (i = 0; cid_allowlist[i] != NULL; i++) + asc_compose_add_allowed_cid (compose, cid_allowlist[i]); + + cid_list = g_strjoinv (", ", cid_allowlist); + if (i > 1) + /* TRANSLATORS: information about as-compose allowlist */ + ascli_print_stdout (_("Only accepting components: %s"), cid_list); + else + /* TRANSLATORS: information about as-compose allowlist */ + ascli_print_stdout (_("Only accepting component: %s"), cid_list); + } + + if (argc > 2) + /* TRANSLATORS: information about as-compose units to be processed */ + g_print ("%s\n", _("Processing directories:")); + else + /* TRANSLATORS: information about as-compose units to be processed */ + g_print ("%s ", _("Processing directory:")); + + /* add locations for data processing */ + for (guint i = 1; i < (guint) argc; i++) { + g_autoptr(AscDirectoryUnit) dirunit = NULL; + const gchar *dir_path = argv[i]; + + if (!g_file_test (dir_path, G_FILE_TEST_IS_DIR)) { + /* TRANSLATORS: error message */ + g_print ("%s: %s\n", _("Can not process invalid directory"), dir_path); + return EXIT_FAILURE; + } + dirunit = asc_directory_unit_new (dir_path); + asc_compose_add_unit (compose, ASC_UNIT (dirunit)); + if (argc > 2) + g_print (" • %s\n", dir_path); + else + g_print ("%s\n", dir_path); + } + + /* TRANSLATORS: information message */ + g_print ("%s\n", _("Composing metadata...")); + + results = asc_compose_run (compose, NULL, &error); + if (results == NULL) { + /* TRANSLATORS: error message */ + g_print ("%s: %s\n", _("Failed to compose AppStream metadata"), error->message); + return EXIT_FAILURE; + } + + if (asc_compose_has_errors (compose)) { + /* TRANSLATORS: appstream-compose failed to include all data */ + g_print ("%s\n", _("Run failed, some data was ignored.")); + /* TRANSLATORS: information message of appstream-compose */ + composecli_print_hints_report (results, _("Errors were raised during this compose run:"), report_mode); + g_print ("%s\n", _("Refer to the generated issue report data for details on the individual problems.")); + return EXIT_FAILURE; + } else { + composecli_print_hints_report (results, _("Overview of generated hints:"), report_mode); + /* TRANSLATORS: information message */ + g_print ("%s\n", _("Success!")); + + return EXIT_SUCCESS; + } +} diff -Nru appstream-0.12.10/tools/ascli-actions-mdata.c appstream-0.14.5/tools/ascli-actions-mdata.c --- appstream-0.12.10/tools/ascli-actions-mdata.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/tools/ascli-actions-mdata.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2012-2020 Matthias Klumpp + * Copyright (C) 2012-2021 Matthias Klumpp * * Licensed under the GNU General Public License Version 2 * @@ -33,7 +33,7 @@ * ascli_refresh_cache: */ int -ascli_refresh_cache (const gchar *cachepath, const gchar *datapath, gboolean forced) +ascli_refresh_cache (const gchar *cachepath, const gchar *datapath, gboolean user, gboolean forced) { g_autoptr(AsPool) dpool = NULL; g_autoptr(GError) error = NULL; @@ -58,7 +58,7 @@ } if (cachepath == NULL) { - ret = as_pool_refresh_system_cache (dpool, forced, &error); + ret = as_pool_refresh_system_cache (dpool, user, forced, &error); } else { as_pool_set_cache_location (dpool, cachepath); as_pool_load (dpool, NULL, &error); @@ -209,9 +209,8 @@ kind = as_provided_kind_from_string (kind_str); if (kind == AS_PROVIDED_KIND_UNKNOWN) { - uint i; g_printerr ("%s\n", _("Invalid type for provided item selected. Valid values are:")); - for (i = 1; i < AS_PROVIDED_KIND_LAST; i++) + for (guint i = 1; i < AS_PROVIDED_KIND_LAST; i++) g_printerr (" • %s\n", as_provided_kind_to_string (i)); return 3; } @@ -297,13 +296,11 @@ * Install a metainfo file. */ int -ascli_put_metainfo (const gchar *fname) +ascli_put_metainfo (const gchar *fname, const gchar *origin, gboolean for_user) { - g_autofree gchar *tmp = NULL; - g_autofree gchar *dest = NULL; + AsMetadataLocation location; + const gchar *dest_dir; g_autoptr(GError) error = NULL; - g_autofree gchar *metainfo_target = NULL; - const gchar *root_dir; if (fname == NULL) { ascli_print_stderr (_("You need to specify a metadata file.")); @@ -311,32 +308,18 @@ } /* determine our root directory */ - root_dir = g_getenv ("DESTDIR"); - if (root_dir == NULL) - metainfo_target = g_strdup ("/usr/share/metainfo"); - else - metainfo_target = g_build_filename (root_dir, "share", "metainfo", NULL); - - g_mkdir_with_parents (metainfo_target, 0755); - if (!as_utils_is_writable (metainfo_target)) { - ascli_print_stderr (_("Unable to write to '%s', can not install metainfo file."), metainfo_target); - return 1; - } - - if ((!g_str_has_suffix (fname, ".metainfo.xml")) && (!g_str_has_suffix (fname, ".appdata.xml"))) { - ascli_print_stderr (_("Can not copy '%s': File does not have a '.metainfo.xml' or '.appdata.xml' suffix.")); - return 2; - } + dest_dir = g_getenv ("DESTDIR"); - tmp = g_path_get_basename (fname); - dest = g_build_filename (metainfo_target, tmp, NULL); + location = AS_METADATA_LOCATION_CACHE; + if (g_str_has_suffix (fname, ".metainfo.xml") || g_str_has_suffix (fname, ".appdata.xml")) + location = AS_METADATA_LOCATION_SHARED; + if (for_user) + location = AS_METADATA_LOCATION_USER; - as_copy_file (fname, dest, &error); - if (error != NULL) { - g_printerr ("%s\n", error->message); + if (!as_utils_install_metadata_file (location, fname, origin, dest_dir, &error)) { + ascli_print_stderr (_("Unable to install metadata file: %s"), error->message); return 3; } - g_chmod (dest, 0755); return 0; } @@ -374,6 +357,10 @@ (g_str_has_suffix (in_fname, ".yaml"))) { /* if we have YAML, we also automatically assume a collection style */ as_metadata_set_format_style (metad, AS_FORMAT_STYLE_COLLECTION); + } else if (g_str_has_suffix (in_fname, ".metainfo.xml") || g_str_has_suffix (in_fname, ".appdata.xml")) { + as_metadata_set_format_style (metad, AS_FORMAT_STYLE_METAINFO); + } else { + as_metadata_set_format_style (metad, AS_FORMAT_STYLE_COLLECTION); } as_metadata_parse_file (metad, @@ -424,6 +411,39 @@ return 0; } + +/** + * ascli_show_os_info: + * + * Display information about the current operating system from the AppStream + * metadata cache. + */ +int +ascli_show_os_info (const gchar *cachepath, gboolean no_cache) +{ + g_autoptr(AsPool) pool = NULL; + g_autoptr(GPtrArray) result = NULL; + g_autoptr(AsDistroDetails) distro = NULL; + g_autoptr(GError) error = NULL; + + distro = as_distro_details_new (); + pool = ascli_data_pool_new_and_open (cachepath, no_cache, &error); + if (error != NULL) { + g_printerr ("%s\n", error->message); + return 1; + } + + result = as_pool_get_components_by_id (pool, as_distro_details_get_cid (distro)); + if (result->len == 0) { + ascli_print_stderr (_("Unable to find operating system component '%s'!"), as_distro_details_get_cid (distro)); + return 4; + } + + ascli_print_components (result, TRUE); + ascli_print_key_value (_("Version"), as_distro_details_get_version (distro), FALSE); + + return 0; +} /** * ascli_create_metainfo_template: diff -Nru appstream-0.12.10/tools/ascli-actions-mdata.h appstream-0.14.5/tools/ascli-actions-mdata.h --- appstream-0.12.10/tools/ascli-actions-mdata.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/tools/ascli-actions-mdata.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2012-2020 Matthias Klumpp + * Copyright (C) 2012-2021 Matthias Klumpp * * Licensed under the GNU General Public License Version 2 * @@ -43,6 +43,7 @@ int ascli_refresh_cache (const gchar *cachepath, const gchar *datapath, + gboolean user, gboolean forced); int ascli_dump_component (const gchar *cachepath, @@ -50,12 +51,17 @@ AsFormatKind mformat, gboolean no_cache); -int ascli_put_metainfo (const gchar *fname); +int ascli_put_metainfo (const gchar *fname, + const gchar *origin, + gboolean for_user); int ascli_convert_data (const gchar *in_fname, const gchar *out_fname, AsFormatKind mformat); +int ascli_show_os_info (const gchar *cachepath, + gboolean no_cache); + int ascli_create_metainfo_template (const gchar *out_fname, const gchar *cpt_kind_str, const gchar *desktop_file); diff -Nru appstream-0.12.10/tools/ascli-actions-misc.c appstream-0.14.5/tools/ascli-actions-misc.c --- appstream-0.12.10/tools/ascli-actions-misc.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/tools/ascli-actions-misc.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2016-2020 Matthias Klumpp + * Copyright (C) 2016-2021 Matthias Klumpp * * Licensed under the GNU General Public License Version 2 * diff -Nru appstream-0.12.10/tools/ascli-actions-misc.h appstream-0.14.5/tools/ascli-actions-misc.h --- appstream-0.12.10/tools/ascli-actions-misc.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/tools/ascli-actions-misc.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2016-2020 Matthias Klumpp + * Copyright (C) 2016-2021 Matthias Klumpp * * Licensed under the GNU General Public License Version 2 * diff -Nru appstream-0.12.10/tools/ascli-actions-pkgmgr.c appstream-0.14.5/tools/ascli-actions-pkgmgr.c --- appstream-0.12.10/tools/ascli-actions-pkgmgr.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/tools/ascli-actions-pkgmgr.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2015-2020 Matthias Klumpp + * Copyright (C) 2015-2021 Matthias Klumpp * * Licensed under the GNU General Public License Version 2 * diff -Nru appstream-0.12.10/tools/ascli-actions-pkgmgr.h appstream-0.14.5/tools/ascli-actions-pkgmgr.h --- appstream-0.12.10/tools/ascli-actions-pkgmgr.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/tools/ascli-actions-pkgmgr.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2015-2020 Matthias Klumpp + * Copyright (C) 2015-2021 Matthias Klumpp * * Licensed under the GNU General Public License Version 2 * diff -Nru appstream-0.12.10/tools/ascli-actions-validate.c appstream-0.14.5/tools/ascli-actions-validate.c --- appstream-0.12.10/tools/ascli-actions-validate.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/tools/ascli-actions-validate.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2012-2020 Matthias Klumpp + * Copyright (C) 2012-2021 Matthias Klumpp * * Licensed under the GNU General Public License Version 2 * @@ -31,7 +31,7 @@ * create_issue_info_print_string: **/ static gchar* -create_issue_info_print_string (AsValidatorIssue *issue) +create_issue_info_print_string (AsValidatorIssue *issue, guint indent) { GString *str; g_autofree gchar *location = NULL; @@ -54,6 +54,7 @@ } str = g_string_new (""); + g_string_append_printf (str, "%*s", indent, ""); switch (severity) { case AS_ISSUE_SEVERITY_ERROR: g_string_append_printf (str, "E: %s: ", location); @@ -92,8 +93,17 @@ g_string_append (str, tag); } - if (hint != NULL) - g_string_append_printf (str, " %s", hint); + if (hint != NULL) { + if ((str->len + strlen (hint)) > 100) { + g_autofree gchar *wrap = NULL; + /* the hint string is too long, move it to the next line and indent it, + * to visually separate it from a possible explanation text */ + wrap = ascli_format_long_output (hint, 100 - (indent + 3 + 2), indent + 3 + 2); + g_string_append_printf (str, "\n%s", wrap); + } else { + g_string_append_printf (str, " %s", hint); + } + } return g_string_free (str, FALSE); } @@ -102,7 +112,8 @@ * print_single_issue: **/ static gboolean -print_single_issue (AsValidatorIssue *issue, gboolean pedantic, gboolean explained, gint indent, gulong *error_count, gulong *warning_count, gulong *info_count, gulong *pedantic_count) +print_single_issue (AsValidatorIssue *issue, gboolean pedantic, gboolean explained, gint indent, + gulong *error_count, gulong *warning_count, gulong *info_count, gulong *pedantic_count) { AsIssueSeverity severity; gboolean no_errors = TRUE; @@ -132,21 +143,15 @@ if ((!pedantic) && (severity == AS_ISSUE_SEVERITY_PEDANTIC)) return no_errors; - title = create_issue_info_print_string (issue); + title = create_issue_info_print_string (issue, indent); if (explained) { - g_autofree gchar *explanation = ascli_format_long_output (as_validator_issue_get_explanation (issue), indent + 4); - g_print ("%*s%s\n%*s%s\n\n", - indent, - "", + g_autofree gchar *explanation = ascli_format_long_output (as_validator_issue_get_explanation (issue), + 100, indent + 3); + g_print ("%s\n%s\n\n", title, - indent + 4, - "", explanation); } else { - g_print ("%*s%s\n", - indent, - "", - title); + g_print ("%s\n", title); } @@ -219,28 +224,28 @@ gboolean add_spacer = FALSE; if (error_count > 0) { - /* TRANSLATORS: Used for small issue-statistics in appstreamcli-validate */ + /* TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "error"-type hints */ g_print (_("errors: %lu"), error_count); add_spacer = TRUE; } if (warning_count > 0) { if (add_spacer) g_print (", "); - /* TRANSLATORS: Used for small issue-statistics in appstreamcli-validate */ + /* TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "warning"-type hints */ g_print (_("warnings: %lu"), warning_count); add_spacer = TRUE; } if (info_count > 0) { if (add_spacer) g_print (", "); - /* TRANSLATORS: Used for small issue-statistics in appstreamcli-validate */ + /* TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "info"-type hints */ g_print (_("infos: %lu"), info_count); add_spacer = TRUE; } if (pedantic_count > 0) { if (add_spacer) g_print (", "); - /* TRANSLATORS: Used for small issue-statistics in appstreamcli-validate */ + /* TRANSLATORS: Used for small issue-statistics in appstreamcli-validate, shows amount of "pedantic"-type hints */ g_print (_("pedantic: %lu"), pedantic_count); add_spacer = TRUE; } diff -Nru appstream-0.12.10/tools/ascli-actions-validate.h appstream-0.14.5/tools/ascli-actions-validate.h --- appstream-0.12.10/tools/ascli-actions-validate.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/tools/ascli-actions-validate.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2012-2020 Matthias Klumpp + * Copyright (C) 2012-2021 Matthias Klumpp * * Licensed under the GNU General Public License Version 2 * diff -Nru appstream-0.12.10/tools/ascli-utils.c appstream-0.14.5/tools/ascli-utils.c --- appstream-0.12.10/tools/ascli-utils.c 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/tools/ascli-utils.c 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2012-2020 Matthias Klumpp + * Copyright (C) 2012-2021 Matthias Klumpp * * Licensed under the GNU General Public License Version 2 * @@ -32,57 +32,32 @@ * ascli_format_long_output: */ gchar* -ascli_format_long_output (const gchar *str, guint indent_level) +ascli_format_long_output (const gchar *str, guint line_length, guint indent_level) { GString *res = NULL; - guint count = 0; - gssize last_space = 0; - const gchar *char_ptr = str; - - g_autofree gchar *spacing = NULL; - g_autofree gchar *break_indent = NULL; + g_auto(GStrv) spl = NULL; if (str == NULL) return NULL; - - spacing = g_strnfill (indent_level, ' '); - break_indent = g_strdup_printf ("\n%s", spacing); + if (indent_level >= line_length) + indent_level = line_length - 4; res = g_string_sized_new (strlen (str)); - while (*char_ptr != '\0') { - gunichar uchar = g_utf8_get_char_validated (char_ptr, -1); - - if (uchar == '\n') { - g_string_append (res, break_indent); - count = 0; - last_space = 0; - goto next; - } - - g_string_append_unichar (res, uchar); - count++; - - if (g_unichar_isspace (uchar)) { - last_space = res->len; - if (count > 80) { - g_string_append (res, break_indent); - count = 0; - last_space = 0; - goto next; - } - } else if (count > 80) { - /* insert a linebreak at previous position */ - if (last_space > 0) { - g_string_erase (res, last_space, 0); - g_string_insert (res, last_space, break_indent); - count = 0; - last_space = 0; - } - } - - next: - char_ptr = g_utf8_next_char (char_ptr); + spl = as_markup_strsplit_words (str, line_length - indent_level); + for (guint i = 0; spl[i] != NULL; i++) + g_string_append (res, spl[i]); + + /* drop trailing newline */ + if (res->len > 0) + g_string_truncate (res, res->len - 1); + + /* indent the block, if requested */ + if (indent_level > 0) { + g_autofree gchar *spacing = g_strnfill (indent_level, ' '); + g_autofree gchar *spacing_nl = g_strconcat ("\n", spacing, NULL); + as_gstring_replace2 (res, "\n", spacing_nl, 0); + g_string_prepend (res, spacing); } return g_string_free (res, FALSE); @@ -92,7 +67,7 @@ * ascli_print_key_value: */ void -ascli_print_key_value (const gchar* key, const gchar* val, gboolean highlight) +ascli_print_key_value (const gchar* key, const gchar* val, gboolean line_wrap) { gchar *str; gchar *fmtval; @@ -101,17 +76,14 @@ if ((val == NULL) || (g_strcmp0 (val, "") == 0)) return; - if (strlen (val) > 120) { - /* only produces slightly better output (indented). - * we need word-wrapping in future - */ - fmtval = ascli_format_long_output (val, 2); + if (line_wrap && (strlen (val) > 100)) { + g_autofree gchar *tmp = ascli_format_long_output (val, 100, 2); + fmtval = g_strconcat ("\n", tmp, NULL); } else { fmtval = g_strdup (val); } str = g_strdup_printf ("%s: ", key); - if (_colored_output) { g_print ("%c[%dm%s%c[%dm%s\n", 0x1B, 1, str, 0x1B, 0, fmtval); } else { @@ -239,19 +211,18 @@ * Pretty-print a GPtrArray. */ static gchar* -ascli_ptrarray_to_pretty (GPtrArray *array) +ascli_ptrarray_to_pretty (GPtrArray *array, guint indent) { GString *rstr = NULL; guint i; - if (array->len == 1) { + if (array->len == 1) return g_strdup (g_ptr_array_index (array, 0)); - } rstr = g_string_new ("\n"); for (i = 0; i < array->len; i++) { const gchar *astr = (const gchar*) g_ptr_array_index (array, i); - g_string_append_printf (rstr, " - %s\n", astr); + g_string_append_printf (rstr, "%*s- %s\n", indent, "", astr); } if (rstr->len > 0) g_string_truncate (rstr, rstr->len - 1); @@ -293,8 +264,10 @@ } ascli_print_key_value (_("Identifier"), short_idline, FALSE); + if (show_detailed && as_component_get_kind (cpt) != AS_COMPONENT_KIND_OPERATING_SYSTEM) + ascli_print_key_value (_("Internal ID"), as_component_get_data_id (cpt), FALSE); ascli_print_key_value (_("Name"), as_component_get_name (cpt), FALSE); - ascli_print_key_value (_("Summary"), as_component_get_summary (cpt), FALSE); + ascli_print_key_value (_("Summary"), as_component_get_summary (cpt), TRUE); ascli_print_key_value (_("Package"), pkgs_str, FALSE); ascli_print_key_value (_("Bundle"), bundles_str, FALSE); ascli_print_key_value (_("Homepage"), as_component_get_url (cpt, AS_URL_KIND_HOMEPAGE), FALSE); @@ -318,19 +291,19 @@ gchar *str; /* developer name */ - ascli_print_key_value (_("Developer"), as_component_get_developer_name (cpt), FALSE); + ascli_print_key_value (_("Developer"), as_component_get_developer_name (cpt), TRUE); /* extends data (e.g. for addons) */ extends = as_component_get_extends (cpt); if (extends->len > 0) { - str = ascli_ptrarray_to_pretty (extends); + str = ascli_ptrarray_to_pretty (extends, 2); ascli_print_key_value (_("Extends"), str, FALSE); g_free (str); } /* long description */ str = as_markup_convert_simple (as_component_get_description (cpt), NULL); - ascli_print_key_value (_("Description"), str, FALSE); + ascli_print_key_value (_("Description"), str, TRUE); g_free (str); /* some simple screenshot information */ @@ -350,22 +323,22 @@ for (j = 0; j < imgs->len; j++) { img = AS_IMAGE (g_ptr_array_index (imgs, j)); if (as_image_get_kind (img) == AS_IMAGE_KIND_SOURCE) { - ascli_print_key_value (_("Default Screenshot URL"), as_image_get_url (img), FALSE); + ascli_print_key_value (_("Default Screenshot URL"), as_image_get_url (img), TRUE); break; } } } /* project group */ - ascli_print_key_value (_("Project Group"), as_component_get_project_group (cpt), FALSE); + ascli_print_key_value (_("Project Group"), as_component_get_project_group (cpt), TRUE); /* license */ - ascli_print_key_value (_("License"), as_component_get_project_license (cpt), FALSE); + ascli_print_key_value (_("License"), as_component_get_project_license (cpt), TRUE); /* Categories */ categories = as_component_get_categories (cpt); if (categories->len > 0) { - str = ascli_ptrarray_to_pretty (categories); + str = ascli_ptrarray_to_pretty (categories, 2); ascli_print_key_value (_("Categories"), str, FALSE); g_free (str); } @@ -373,7 +346,7 @@ /* Desktop-compulsority */ compulsory_desktops = as_component_get_compulsory_for_desktops (cpt); if (compulsory_desktops->len > 0) { - str = ascli_ptrarray_to_pretty (compulsory_desktops); + str = ascli_ptrarray_to_pretty (compulsory_desktops, 2); ascli_print_key_value (_("Compulsory for"), str, FALSE); g_free (str); } @@ -393,7 +366,7 @@ as_component_get_name (cpt))); } } - str = ascli_ptrarray_to_pretty (addons_str); + str = ascli_ptrarray_to_pretty (addons_str, 2); /* TRANSLATORS: Addons are extensions for existing software components, e.g. support for more visual effects for a video editor */ ascli_print_key_value (_("Add-ons"), str, FALSE); g_free (str); @@ -411,8 +384,8 @@ if (items->len > 0) { g_autofree gchar *keyname = NULL; - str = ascli_ptrarray_to_pretty (items); - keyname = g_strdup_printf (" %s", as_provided_kind_to_l10n_string (as_provided_get_kind (prov))); + str = ascli_ptrarray_to_pretty (items, 4); + keyname = g_strdup_printf (" %s", as_provided_kind_to_l10n_string (as_provided_get_kind (prov))); ascli_print_key_value (keyname, str, FALSE); g_free (str); } diff -Nru appstream-0.12.10/tools/ascli-utils.h appstream-0.14.5/tools/ascli-utils.h --- appstream-0.12.10/tools/ascli-utils.h 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/tools/ascli-utils.h 2021-08-28 20:15:28.000000000 +0000 @@ -1,6 +1,6 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * - * Copyright (C) 2012-2020 Matthias Klumpp + * Copyright (C) 2012-2021 Matthias Klumpp * * Licensed under the GNU General Public License Version 2 * @@ -27,10 +27,11 @@ G_BEGIN_DECLS gchar *ascli_format_long_output (const gchar *str, + guint line_length, guint indent_level); void ascli_print_key_value (const gchar *key, const gchar *val, - gboolean highlight); + gboolean line_wrap); void ascli_print_separator (void); void ascli_print_stdout (const gchar *format, ...); diff -Nru appstream-0.12.10/tools/meson.build appstream-0.14.5/tools/meson.build --- appstream-0.12.10/tools/meson.build 2020-01-18 18:13:05.000000000 +0000 +++ appstream-0.14.5/tools/meson.build 2021-08-28 20:15:28.000000000 +0000 @@ -1,21 +1,36 @@ # Meson definition for appstreamcli ascli_src = [ - 'appstream-cli.c', + 'appstreamcli.c', 'ascli-utils.c', 'ascli-actions-pkgmgr.c', 'ascli-actions-validate.c', 'ascli-actions-mdata.c', - 'ascli-actions-misc.c' + 'ascli-actions-misc.c', ] ascli_exe = executable('appstreamcli', [ascli_src], - dependencies: [glib_dep, - gobject_dep, + dependencies: [appstream_dep, gio_dep], - link_with: [appstream_lib], - include_directories: [appstream_lib_inc, - include_directories ('..')], + include_directories: [root_inc_dir], install: true ) + +if get_option('compose') + ascompose_src = [ + 'appstream-compose.c', + 'ascli-utils.c', + ] + + ascompose_exe = executable('appstreamcli-compose', + [ascompose_src], + dependencies: [appstream_dep, + appstream_compose_dep, + gio_dep], + include_directories: [root_inc_dir], + c_args: ['-DI_KNOW_THE_APPSTREAM_COMPOSE_API_IS_SUBJECT_TO_CHANGE'], + install_dir: get_option('libexecdir'), + install: true + ) +endif